A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Componentes: A Abordagem Catalysis Schubert Carvalho Thaise Yano Universidade Estadual de Campinas - UNICAMP.

Apresentações semelhantes


Apresentação em tema: "Componentes: A Abordagem Catalysis Schubert Carvalho Thaise Yano Universidade Estadual de Campinas - UNICAMP."— Transcrição da apresentação:

1 Componentes: A Abordagem Catalysis Schubert Carvalho Thaise Yano Universidade Estadual de Campinas - UNICAMP Instituto de Computação - IC Disciplina de Engenharia de Software - MO409 Novembro/2004

2 Tópicos Introdução e Motivação Características do Sistema Baseado em Componentes Formas de Visualização dos Componentes Componentes: Vantagens e Desvantagens Processo de desenvolvimento com Catalysis Modelos usados pela metodologia Ferramentas de Apoio Catalysis: Vantagens e Desvantagens Referências

3 Introdução e Motivação Requisitos de Qualidade: manutenabilidade, portabilidade, confiabilidade, usabilidade, interoperabilidade e reusabilidade. Definição Um componente de software é uma unidade de composição com interfaces especificadas e com dependências de contexto explícitas. Um componente de software pode ser desenvolvido independentemente e está sujeito a composição de terceiros [4]. INTERFACE get_Qualquer_Coisa() INTERFACE set_Qualquer_Coisa()

4 Características dos Sistemas Baseados em Componentes O desenvolvimento do software é baseado em componentes que já existem. Fornecimento de interfaces bem definidas. Completa separação entre interfaces e implementação. Reutilização de especificação e projeto do componente. O projeto baseado em Componentes é diferente do projeto OO.

5 Formas de Visualização dos Componentes Componentes como implementação. Comercial Off-The-Shelf(COTS) Componentes como abstrações arquiteturais. Catalysis: é uma metodologia para o desenvolvimento sistemático de objetos e de sistemas baseados em componentes.

6 Componentes: Vantagens Redução dos custos iniciais do sistema. Aumento na confiança do sistema e na qualidade do software, com a reutilização de componentes que já foram bem testados e utilizados anteriormente. O risco total no processo de desenvolvimento é reduzido se os componentes já existem. O tempo no desenvolvimento do software pode ser reduzido.

7 Componentes: Desvantagens É difícil de quantificar a redução dos custos através da reutilização de componentes. Alguns desenvolvedores preferem reescrever o código do componente aos invés de reutilizá-lo.

8 Processo de Desenvolvimento Não propõe um único processo de desenvolvimento Propõe padrões de processo O processo de desenvolvimento pode ser adaptado de acordo com suas características através dos padrões de processo

9 Três Níveis de Modelagem Domínio do problema Lado de fora: descreve o ambiente no qual o sistema está inserido Especificação do componente Fronteira: descreve os comportamentos externos desejados Projeto do componente Lado de dentro: descreve o projeto interno

10 Processo de desenvolvimento Requisitos Especificação do Sistema Projeto da Arquitetura Proj. Interno do Comp. lado de fora fronteira lado de dentro Entendimento do problema, contexto do sistema, arquitetura e dos requisitos funcionais e não funcionais Descrição do comportamento externo do sistema alvo usando o modelo do domínio do problema Arquitetura dos componentes e as conexões para alcançar os objetivos do projeto Projeto das interfaces e das classes para cada componente; construção e teste

11 Processo de desenvolvimento Requisitos Especificação do Sistema Projeto da Arquitetura Proj. Interno do Comp. lado de fora fronteira lado de dentro

12 Requisitos Entendimento do problema, requisitos funcionais e não funcionais, restrições arquiteturais e de planejamento Modelos Concept Map Diagrama de contexto Cenários

13 Concept Map Representação informal da estrutura dos principais termos e conceitos que são relacionados. Ajuda a obter uma visão geral do comportamento do sistema e suas funcionalidades.

14 Diagrama de Contexto Identifica os atores no domínio e suas interações

15 Cenários Ilustra uma seqüência na qual as ações acontecem

16 Processo de desenvolvimento Requisitos Especificação do Sistema Projeto da Arquitetura Proj. Interno do Comp. lado de fora fronteira lado de dentro

17 Especificação do Sistema Descreve o comportamento externo do sistema Modelos Especificação das operações Snapshots Modelo de tipos

18 Especificação das Operações Definição de pré e pós condições em termos de entrada e atributos do objeto Operação AlteraReserva (nomeCliente, numReserva) Pré: Existe uma reserva em nome do cliente para um determinado tipo de quarto (x) e existe a disponibilidade de outros quartos (y). Pós: A reserva passa a ser para o tipo de quarto y. Quartos do tipo y passa a ter um quarto a menos disponível e quartos do tipo x passa ter uma quarto a mais disponível.

19 Snapshots Mostram o subconjunto de valores de atributos que existem antes e depois da execução de uma operação

20 Modelos de Tipo Sistema representado como um tipo Consiste de um modelo e um conjunto de operações sobre esse modelo

21 Processo de desenvolvimento Requisitos Especificação do Sistema Projeto da Arquitetura Proj. Interno do Comp. lado de fora fronteira lado de dentro

22 Projeto Arquitetural Implementação interna do sistema Modelos Arquitetura da aplicação Arquitetura técnica

23 Arquitetura Técnica Mostra a colaboração entre componentes de tecnologia e as dependências estáticas

24 Arquitetura da Aplicação Implementa a lógica do negócio como uma coleção de componentes que se colaboram

25 Processo de desenvolvimento Requisitos Especificação do Sistema Projeto da Arquitetura Proj. Interno do Comp. lado de fora fronteira lado de dentro

26 Implementação do Componente Estrutura interna e interações do componente Modelos Diagrama de interação Diagrama de classes Diagrama de estados

27 Diagrama de Interação Especifica como os objetos interagem com outros para atingir o resultado de uma operação

28 Diagrama de Classe Classes que compõe o sistema, seus atributos, operações e associações

29 Diagrama de Estados Representa os estados de uma classe

30 Ferramentas de Apoio Ferramentas de apoio à modelagem UML Rational Rose ArgoUML Visual Paradigm

31 Desvantagens Não provê um modo pré-definido do processo de desenvolvimento Não há recurso para teste

32 Vantagens Desenvolvimento flexível Centrada em UML Mapeamento para implementação Coerência

33 Referências [1] Pressman, R.S. Software Engineering – A practitioner´s approach. McGraw-Hill, 5ª edition, [2] Brown A.W., The Current State of CBSE. IEEE, [3] Sommerville I. Software Engineering. Addison Wesley. 5ª edition, [4] Szypersky, C. Component Software: Beyond Object-Oriented Programming. Addison-Wesley Publishing Company, ACM Press, New York [5] Booch G., Rumbaugh J. & Jacobson I.. The Unified Modeling Language User Guide. Addsion- Wesley, [6]Flanagan D. Java in a Nutshell. A Desktop Quick Reference. O´REILLY., 3ª edition, [7] Boertien N., Steen M.W.A., Jonkers H.. Evaluation of Component-Based Development Methods [8] D´Souza D.F., Wills A.C. Objects, Components, and Frameworks with UML. The Catalysis Approach. Addsion-Wesley


Carregar ppt "Componentes: A Abordagem Catalysis Schubert Carvalho Thaise Yano Universidade Estadual de Campinas - UNICAMP."

Apresentações semelhantes


Anúncios Google