Desenvolvimento Baseado em Componentes e o Processo UML Components



Documentos relacionados
Engenharia de Requisitos Estudo de Caso

O Processo Unificado: Captura de requisitos

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Modelagem de Casos de Uso (Parte 1)

UML - Unified Modeling Language

Análise e Projeto Orientado a Objetos. Modelagem de Domínio

Arquitetura de Software

Modelagem de Software Prof. Flávio de Oliveira Silva, Ph.D.

2 Diagrama de Caso de Uso

**Docentes do Centro Universitário Filadélfia- Unifil.

Modelagem OO com UML. Vítor E. Silva Souza ~ vitorsouza

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Fábrica de Software 29/04/2015

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Engenharia de Software na Prática Hélio Engholm Jr.

Engenharia de Software III

Especificação de Requisitos

Sistemas Distribuídos

Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

Análise e Projeto Orientados por Objetos

Ricardo Roberto de Lima UNIPÊ APS-I. Históricos e Modelagem Orientada a Objetos

Engenharia de Software I: Análise e Projeto de Software Usando UML

ENGENHARIA DE SOFTWARE I

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS

Modelagem de Casos de Uso (Parte 2)

Modelos de Sistema by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

Padrões de projeto 1

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância

Simulador de Pagamento

Análise e Projeto de Software

UNIVERSIDADE DE MOGI DAS CRUZES Centro de Ciências Exatas e Tecnológicas

Análise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN

INF 2125 PROJETO DE SISTEMAS DE SOFTWARE Prof. Carlos J. P. de Lucena

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA

Engenharia de Sistemas Computacionais

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Diagrama de Caso de Uso e Diagrama de Sequência

UML & Padrões Aula 7. UML & Padrões - Profª Kelly C C Silva

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

Modelagem de Casos de Uso (Parte 2)

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet)

Fase 1: Engenharia de Produto

Concepção e Elaboração

Processo de Desenvolvimento Unificado

Unified Modeling Language UML - Notações

Diagramas de Sequência e Contrato das Operações

Análise de Requisitos

Fundamentos em Teste de Software. Vinicius V. Pessoni

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

SISTEMAS DISTRIBUÍDOS

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010.

Requisitos de Software

Projeto de Sistemas I

Documento de Requisitos

Uma visão mais clara da UML Sumário

Guia de utilização da notação BPMN

Processos de Desenvolvimento de Software. Prof. Hélio Engholm Jr

Persistência e Banco de Dados em Jogos Digitais

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

BPMN - Business Process Modeling and Notation

ViajarFácil Sistema de Reserva de Viagens

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

Web Services. (Introdução)

Wilson Moraes Góes. Novatec

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

Guia de Especificação de Caso de Uso Metodologia CELEPAR

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Pós Graduação Engenharia de Software

Eduardo Bezerra. Editora Campus/Elsevier

O modelo unificado de processo. O Rational Unified Process, RUP.

Engenharia de Software

MODELAGEM DE PROCESSOS

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Engenharia de Software I

ATIVIDADES PRÁTICAS SUPERVISIONADAS

SSB Sistema de simulação bancária. Versão: 1.0 Data: 26/05/2014 Identificador do documento: 001

Manual Geral do OASIS

APOO Análise e Projeto Orientado a Objetos. Requisitos

VisTrails. Fernando Seabra Chirigati Aluno de Engenharia de Computação e Informação COPPE/UFRJ fernando_seabra@cos.ufrj.br

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

A Disciplina Gerência de Projetos

5 Mecanismo de seleção de componentes

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Tarciane Andrade.

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES. Trabalho de Graduação

Transcrição:

Desenvolvimento Baseado em Componentes e o Processo UML Components Cecília Mary Fischer Rubira Patrick Henrique da Silva Brito Instituto de Computação (IC) Universidade Estadual de Campinas (Unicamp) INF064 2008 Slide 1 (1 o semestre de 2008)

Roteiro (1) Desenvolvimento Baseado em Componentes; (2) O Processo UML Components. Slide 2 (1 o semestre de 2008)

DBC e o Processo UML Components Slide 3 (1 o semestre de 2008)

Motivação Os sistemas de software estão cada vez mais complexos e urgentes ; Novos Requisitos: Controle da complexidade do software; Alta velocidade de desenvolvimento; Atendimento: Elementos abstratos (granularidade alta); Maior reutilização de código; Slide 4 (1 o semestre de 2008)

O Conceito de Componentes Slide 5 (1 o semestre de 2008)

Conceito Um componente de software é um conceito independente de tecnologia; Representa uma unidade de computação; Suas principais características são: Define seus serviços oferecidos e as suas dependências interfaces providas e requeridas; A comunicação entre componentes se baseia unicamente nas suas interfaces baixo acoplamento; Slide 6 (1 o semestre de 2008)

Representação de um Componente IntProvA1 << component >> Componente A IntProvA2 IntB1 Slide 7 (1 o semestre de 2008)

Desenvolvimento Baseado em Componentes (DBC) No DBC, a aplicação é construída a partir da composição de componentes de software; Ganho de produtividade: Reutilização de componentes existentes na construção de novos sistemas; Possibilidade de utilizar componentes de prateleira; Ganho de qualidade: Uso de componentes já empegados e testados em outros contextos; Importante: Re-aplicar os testes no novo contexto de uso. Slide 8 (1 o semestre de 2008)

Um Sistema Baseado em Componentes (I) IntProvA1 IntProvA2 << component >> Componente A IntB1 << component >> Componente B Componente A oferece duas interfaces: IntProvA1 e IntProvA2; requer as operações da interface IntB1. Componente B oferece a interface IntB1 e não requer nenhum serviço externo. Slide 9 (1 o semestre de 2008)

Um Sistema Baseado em Componentes (II) << connector >> ConnAB IntProvA1 << component >> Componente A IntReqA1 IntProvB1. << component >> Componente B IntProvA2 Componente A oferece duas interfaces: IntProvA1 e IntProvA2; requer as operações da interface IntReqA1. Componente B oferece a interface IntProvB1 e não requer nenhum serviço externo. ConnAB intermedia a comunicação entre o Componente A e o Componente B. Slide 10 (1 o semestre de 2008)

Contextualização OO surgiu em 1967 (simula e smalltalk); A idéia de DBC para software surgiu em 1976, mas o marco inicial foi o WCOP 96 (COM e DCOM); Slide 11 (1 o semestre de 2008)

Componentes e Classes Ambos necessitam se conectar ao ambiente; Ambos são unidades de desenvolvimento e evolução (cada um no seu paradigma); Granularidades diferentes. Slide 12 (1 o semestre de 2008)

Classe: Comparação da Granularidade Contrato de uso; Lista de operações; Define como as operações afetam o modelo da interface; Efeito local. Componente: Contratos de uso e de realização; Lista de interfaces; Define o relacionamento entre os vários modelos de interfaces; Implementação em termos do uso de outras interfaces. Slide 13 (1 o semestre de 2008)

Ambientes e Modelos de Componentes Oferece um conjunto de serviços: Normalmente configuráveis, não programáveis; Ex.: acesso remoto, transação, persistência, etc. Define um conjunto de restrições: Ex.: número máximo de interfaces. Alguns modelos existentes: EJB (Enterprise JavaBeans) - Sun Microsystems; CCM (Corba Component Model) - OMG; COM/COM+ (Component Object Model+) - Microsoft. Slide 14 (1 o semestre de 2008)

Os Cinco Princípios Básicos Slide 15 (1 o semestre de 2008)

Papéis Envolvidos no DBC Slide 16 (1 o semestre de 2008)

O Processo UML Components Slide 17 (1 o semestre de 2008)

Visão Geral (I) Processo de DBC; Iterativo (mudança tardia nos requisitos) Slide 18 (1 o semestre de 2008)

Visão Geral (II) Voltado para sistemas de informação; Adota uma arquitetura específica; Estrutura o sistema em cinco camadas. De fácil entendimento e utilização; Foco na Especificação dos Componentes; (falta implementação, montagem e testes). Foco no detalhamento dos componentes internos. Slide 19 (1 o semestre de 2008)

Arquitetura Adotada Slide 20 (1 o semestre de 2008)

Workflow Geral do Processo Slide 21 (1 o semestre de 2008)

Fases do UML Components Será explicado o papel de cada fase do processo; A ênfase maior é na fase de especificação do sistema (análise e projeto); Serão utilizados exemplos de um sistema de gerenciamento de hotéis. Slide 22 (1 o semestre de 2008)

Especificação de Requisitos O processo UML Components lista os artefatos envolvidos nesta etapa, mas não detalha a forma de produzí-los. Slide 23 (1 o semestre de 2008)

Workflow de Especificação de Requisitos Slide 24 (1 o semestre de 2008)

Processo do Negócio (Business Process) (I) Artefato interno (não é uma saída da fase de requisitos); Representação gráfica (diagrama de atividades UML) das atividades que representam o funcionamento do negócio em si, não apenas as atividades automatizadas; Envolve várias funcionalidades do sistema e mostra a relação (ordem de precedência) entre elas; Distinção clara entre as atividades manuais e automáticas do processo; Util para compreender o domínio. Slide 25 (1 o semestre de 2008)

Processo do Negócio (Business Process) (II) Slide 26 (1 o semestre de 2008)

Modelo Conceitual do Negócio (Business Concept Model) (I) Representa as entidades do negócio como um todo; Util para compreender o papel do sistema; Contextualiza os desenvolvedores. Modelado a partir de entidades e os relacionamentos entre elas; Semelhante a um MER de banco de dados. Slide 27 (1 o semestre de 2008)

Modelo Conceitual do Negócio (Business Concept Model) (II) Slide 28 (1 o semestre de 2008)

Modelo de Casos de Uso Representação de requisitos funcionais adotada em UML; Detalhamento das funcionalidades do sistema e do seu relacionamento com os interessados externos (atores); Representa graficamente as principais funcionalidades do sistema e o relacionamento entre elas; Diagrama de casos de uso. Representa textualmente o detalhamento das funcionalidades; Especificação dos casos de uso. Slide 29 (1 o semestre de 2008)

Diagrama de Casos de Uso Slide 30 (1 o semestre de 2008)

Especificação dos Casos de Uso (I) Baseado no Business Process ; Nome: Make a reservation; Iniciador: Reservation Maker; Objetivo: Reserve room(s) at a hotel; Atores envolvidos: ReservationMaker; Pré-condições: O hóspede deve estar previamente cadastrado no sistema; Pós-condições: Existe uma reserva a mais no sistema; Slide 31 (1 o semestre de 2008)

Especificação dos Casos de Uso (II) Fluxo principal: 1. Reservation Maker asks to make a reservation; 2. Reservation Maker selects in any order hotel, dates and room type; 3. System provides price to Reservation Maker; 4. Reservation Maker asks for reservation; 5. Reservation Maker provides name and postcode (zip code); 6. Reservation Maker provides contact email address; 7. System makes reservation and allocates tag to reservation; 8. System reveals tag to Reservation Maker; 9. System creates and sends confirmation by email. Slide 32 (1 o semestre de 2008)

Especificação dos Casos de Uso (III) Fluxo Alternativo 1: Se no passo 3 do fluxo básico não houver nenhum quarto disponível, o sistema deve oferecer alternativas em hotéis próximos da mesma rede. O cliente pode selecionar uma das alternativas ou desistir. Fluxo Alternativo 2: No passo 4 do fluxo básico, o autor da reserva pode cancelar o procedimento de reserva. Fluxo Alternativo 3: No passo 6 do fluxo básico, o sistema pode detectar que o autor da reserva digitou um e-mail diferente do cadastrado e sugere a atualização do cadastro. Slide 33 (1 o semestre de 2008)

Especificação dos Componentes Além de apresentar os artefatos de entrada e saída dessa fase, o processo UML Components detalha a seqüência de atividades para produzí-los. Slide 34 (1 o semestre de 2008)

Workflow da Especificação dos Componentes Três etapas: identificação dos componentes, interação entre os componentes e especificação final. Slide 35 (1 o semestre de 2008)

Identificação dos Componentes Identificação de componentes a partir das interfaces do sistema (procedimento intuitivo); (i) identificação das interfaces; e (ii) agrupamento das interfaces em componentes. Slide 36 (1 o semestre de 2008)

Workflow de Identificação dos Componentes Slide 37 (1 o semestre de 2008)

Interfaces e Operações de Sistema (I) A partir dos casos de uso especificados; Caso de uso interface + operação; Passos do fluxo podem ser agrupados em operações. Slide 38 (1 o semestre de 2008)

Interfaces e Operações de Sistema (II) Slide 39 (1 o semestre de 2008)

Modelo de Tipos do Negócio (Business Type Model) (I) Derivado do modelo conceitual (Business Concept Model); Restringe as entidades relevantes para o domínio da solução; Pode ser visto como um sub-modelo conceitual do negócio que se refere aos casos de uso (responsabilidade do sistema) e não às responsabilidades exclusivas dos atores. Slide 40 (1 o semestre de 2008)

Modelo de Tipos do Negócio (Business Type Model) (II) Necessita classificar as entidades principais (core types) das entidades secundárias (types) do modelo. Slide 41 (1 o semestre de 2008)

Modelo de Tipos do Negócio (Business Type Model) (III) Pode ser feita a seguinte analogia com o Modelo Entidade Relacionamento (MER) de banco de dados: Entidade forte core type; Entidade fraca type. Core types normalmente se referem a entidades utilizadas pelos casos de uso (fluxos). Slide 42 (1 o semestre de 2008)

Slide 43 (1 o semestre de 2008)

Alocação de Responsabilidades e Identificação das Interfaces de Negócio A alocação de responsabilidade é necessária quando um type está associado a mais de um core type; Nesse ponto, as interfaces de negócio não possuem operações. Slide 44 (1 o semestre de 2008)

Slide 45 (1 o semestre de 2008)

Arquitetura Inicial de Sistema Slide 46 (1 o semestre de 2008)

Interação Entre os Componentes Slide 47 (1 o semestre de 2008)

Workflow de Interação Entre os Componentes Slide 48 (1 o semestre de 2008)

Descobrir Operações de Negócio Baseado na interação entre os componentes de sistema e de negócio; Construir diagramas dinâmicos (de colaboração, de seqüência ou de atividades) a partir dos fluxos especificados nos casos de uso; Descobrir operações das interfaces de negócio; Detalhar as assinaturas das operações das interfaces de sistema; Identificar os tipos de dados compostos que são utilizados ( entity beans ). Slide 49 (1 o semestre de 2008)

Diagrama de Colaboração de Make Reservation Slide 50 (1 o semestre de 2008)

Especificação Final dos Componentes Slide 51 (1 o semestre de 2008)

Workflow de Especificação Final dos Componentes Slide 52 (1 o semestre de 2008)

Modelo de Informação das Interfaces (Interface Information Model) Relação entre cada interface (de sistema e de negócio) e as entidades do modelo de tipos do negócio; Ajuda a entender o contexto de cada interface e auxilia na troca de conhecimento entre a equipe de desenvolvimento. Slide 53 (1 o semestre de 2008)

Modelo de Informação da Interface IMakeReservation Slide 54 (1 o semestre de 2008)

Slide 55 (1 o semestre de 2008)

Modelo de Informação da Interface IHotelMgt Slide 56 (1 o semestre de 2008)

Slide 57 (1 o semestre de 2008)

Provisionamento dos Componentes (I) O processo UML Components lista as possíveis maneiras de se prover componentes de software, mas não detalha cada uma delas. Slide 58 (1 o semestre de 2008)

Provisionamento dos Componentes (II) Aquisição dos componentes especificados: Reutilização de componentes prontos; Implementação de novos componentes Para localização de componentes prontos: Deve-se ter heurísticas de busca por serviço; Pode-se levar em consideração a semelhança entre os core types. Slide 59 (1 o semestre de 2008)

Provisionamento dos Componentes (III) Para reutilizar os componentes: Pode ser necessário adaptar os componentes reutilizados ou até mesmo as funcionalidades do sistema (re-negociação dos requisitos). Para a implementação: Deve-se utilizar um modelo de componentes: EJB, CCM, COM+, COSMOS Slide 60 (1 o semestre de 2008)

Montagem do Sisitema (I) O processo UML Components destaca a importância e o papel desta fase, mas não detalha como as suas atividades podem ser executadas. Slide 61 (1 o semestre de 2008)

Montagem do Sisitema (II) Implementação dos conectores arquiteturais; Componente responsável pela cola entre os componentes; Preocupação com a adaptação do comportamento excepcional (architectural mismatches); Implementação dos requisitos de qualidade: Distribuição, disponibilidade, confiabilidade, escalabilidade, etc. Implementar a rotina de inicialização do sistema. Programa principal; Liga os componentes aos conectores. Slide 62 (1 o semestre de 2008)

Resumo (UML Components) Especificação dos requisitos (independente de tecnologia); Modelagem da lógica do negócio. Especificação dos componentes (independente de tecnologia); Descoberta das Interfaces de sistema (providas e requeridas); Descoberta das Interfaces de negócio (providas). Provisionamento dos componentes (dependente de tecnologia); Aquisição dos componentes (reutilização ou implementação). Montagem do sistema (dependente de tecnologia); Implementação dos conectores; Ligação entre os componentes e os conectores do sistema. Slide 63 (1 o semestre de 2008)

Resumo (DBC) OO e DBC são complementares; Um componente pode ser desenvolvido usando OO. Componentes declaram explicitamente os seus serviços e as suas dependências: Interfaces providas e requeridas. Os principais benefícios do conceito de DBC são a abstração da complexidade e o baixo acoplamento entre os módulos do sistema: Outros benefícios são conseqüências desses. Slide 64 (1 o semestre de 2008)