Prévia do material em texto
Modelagem de Sistemas Marcelo Vasques de Oliveira Aula 9 Aula 9 – Diagramas de Implementação • Discriminar o diagrama de Componentes e seus elementos • Discriminar o diagrama de implantação e seus elementos • Relacionar os 2 diagramas • Aplicar, através de exemplos, a construção dos 2 diagramas 2 Diagrama de Componentes • Útil para modelagem da arquitetura física de um software, • Apresenta os componentes físicos, suas interfaces e dependências. • Permite o desenvolvimento baseado em componentes, onde um software é dividido em componentes e interfaces que são reutilizáveis e substituíveis. • Especifica a arquitetura do software 3 Analogia • Sistema de home theater –componentes podem ser facilmente conectados e substituídos a qualquer momento: projetor, receiver, caixas de som (frontal, lateral, subwoofer). –Se componente queimar, é substituído por um igual ou equivalente (mesma interface). • Análogo ao conceito de componentes de software 4 Componente • A UML define componente como: –Um componente representa uma parte modular de um sistema que encapsula seu conteúdo e cuja manifestação é substituível dentro de um ambiente. –Define seu comportamento em termos de interfaces fornecidas e requeridas (conexão com demais componentes). 5 Componente • Caixa preta, onde são especificadas as interfaces para que outros componentes possam usar seus serviços sem conhecer detalhes de como os serviços implementados. • O componente encapsula (protege) o seu conteúdo –e seu comportamento é definido em função de prover e requerer serviços, através de suas interfaces. 6 Componente • O desejo é que o componente possa ser independente e intercambiável. • Em um sistema baseado em componentes, cada componente tem uma finalidade, ou seja, presta um serviço e para tal demanda o uso de outros componentes. 7 Sistema com um conjunto de componentes • A ideia é construir sistemas, como um conjunto de componentes, que são partes substituíveis. • E que esses componentes possam ser reutilizados em muitos sistemas. • Os componentes devem ter interfaces que propiciem grande flexibilidade e adaptação a muitos sistemas. • Componentes podem ser criados de outros componentes. 8 O Que pode ser um componente • Página HTML • Código fonte em linguagem • Código executável • DLL • Servlet • Máquina JAVA 9 Interface de um componente • Elementos que definem um conjuntos de operações que outros elementos, como classes ou componentes, devem implementar. • Existem dois tipos de interfaces –Interfaces fornecidas: descrevem os serviços oferecidos a outros componentes. Um componente pode declarar quantas interfaces fornecidas forem necessárias. 10 Interface de um componente –Interfaces requeridas: são as interfaces usadas pelo componente, quando solicita serviços de outros componentes. Um componente pode ter várias interfaces requeridas. 11 Interface de um componente • Um mesmo componente pode tanto fornecer como requerer interfaces. • O relacionamento entre os componentes e as interfaces é a essência dos sistemas 12 Componentes e Interface • O usuário do serviço de um componente deve conhecer bem a sintaxe de suas interfaces • Pelo nosso exemplo, as interface são as conexões possíveis entre o receiver do home Theather e dispositivos (projetor, DVD e etc_ –Para usarmos um DVD precisamos saber as possíveis conexões: HDMI, DVI e etc. –Para usar um componente precisamos saber as possíveis interfaces. 13 Componentes e Interface • 2 maneiras de representar o relacionamento entre componentes e interface. • Opção 1: o componente que usa a interface se conecta ao outro componente por meio do relacionamento de dependência 14 Componentes e Interface • Opção 2: O componente que fornece a interface é conectado a ela pelo relacionamento de Realização (entre o componente Fornecedor e a Interface). 15 Conector de montagens • Estabelece uma ligação entre componentes em que uma interface requerida por um é fornecida por outro 16 Conector de montagens • ImageObserver é uma interface • Componente.py Implementa (fornece essa interface) • Imagem.py depende da interface 17 Exemplo de um componente com • 2 interfaces providas : Validar Usuário e Validar Senha • 1 interface requerida: Conexão 18 Dependência • Um componente pode utilizar serviços ou depender de alguma outra forma de outros componentes do sistema • Componente 1 depende de componente 2 19 Componentes x classes • Pode ser utilizado para demonstrar as classes que estão sendo implementadas ou manipuladas por um componente. 20 21 Flexibilidade da solução. • A solução permite flexibilidade em mudanças. –Se for alterar a técnica de criptografia ou ampliar as possiblidades com novas técnicas, basta substituir ou adicionar novos componentes. –Se quisermos trocar o firewall, basta substituir o respectivo componente. –Se mudarmos o SGBD , basta substituir o respectivo componente 22 Diagrama de Implantação • Mostra o layout físico de um sistema, revelando quais partes do software são executadas em quais partes do hardware (FOWLER). • Enfoca a estrutura física sobre a qual o software vai executar. • Define como as máquinas estarão conectadas e através de quais protocolos se comunicarão. –Elementos: os nós e as conexões entre eles. 23 Elementos do Diagrama de Implantação • Nó: recurso computacional de um sistema, como servidores, impressoras, terminais remotos, computadores pessoais, software, banco de dados dentre outros. • Em geral o nó é identificado por um nome, 24 Elementos do Diagrama de Implantação • Em diagramas de implantação, a existência de componentes dentro de um nó, pode ocorrer. • Possibilita definir a configuração do nó: capacidade de processamento, memórias principal e (discos). 25 Nó – componentes e relações 26 Esteriótipos de um nó. 27 Caminhos de comunicação - conexões • Os nós são conectados por conexões, que é um relacionamento de associação, –Nesse caso a associação representa uma conexão física entre os nós. –Multiplicidade (1..*), papel e nome do relacionamento (TCP/IP) 28 Exemplo de Diagrama de Implantação 29 30 31 32 Modelagem de Sistemas Marcelo Vasques de Oliveira Atividades Sobre o diagrama de componentes, analise: I. Ele apresenta os componentes que irão compor o software bem com a dependência entre eles II. A dependência entre os componentes denota que um componente precisa do outro para executar as suas funcionalidades III. A reutilização de componentes entre vários sistemas é um desejo da equipe de desenvolvimento IV. Um componente pode ter apenas interfaces requeridas Assinale a única alternativa correta. 34 a. ( ) estão corretas apenas I, II e III b. ( ) estão corretas apenas I, II e IV c. ( ) Estão corretas I, II, III e IV d. ( ) Estão corretas apenas I e II e. ( ) está correta apenas I 35 Com base nos diagramas de componentes e implantação, analise. I. O diagrama de implantação modela os aspectos físicos, mostrando a organização do hardware. II. Um componente deve ser adaptável a um sistema através de sua interface. III. O diagrama de componentes mostra as dependências entre os elementos do hardware que sustentará o software. IV – O diagrama de implantação pode conter componentes em seus nós. Assinale a ÚNICA opção correta, 36 a. ( ) estão corretas apenas I, II e IV b. ( ) estão corretas apenas I, II e II c. ( ) Estão corretas I, II, III e IV d. ( ) Estão corretas apenas I e II e. ( ) está correta apenas I 37 Sobre o diagrama de implantação, é INCORRETO afirmar: a) ( ) É direcionado para a distribuição, entrega e instalação das partes que formam o sistema físico. b) ( ) É um conjunto de nós conectados, onde um nó é única e exclusivamente uma estação ou servidor. c) ( ) Os elementos são os nós e as conexões. d) ( ) Envolvem a topologia dosistema, descrevendo a estrutura do hardware. e) ( ) Pode ser integrado ao diagrama de componentes, mostrando que componentes executam em que nó. 38