Baixe o app para aproveitar ainda mais
Prévia do material em texto
Unified Modeling Language Diagramas de Implementação José Correia, Junho 2006 (http://paginas.ispgaya.pt/~jcorreia/) José Correia UML – Diagramas de Implementação 2 Diagramas de implementação Diagramas de Componentes José Correia UML – Diagramas de Implementação 4 Componentes ? Um componente (de software) pode ser: • código fonte • um executável • uma biblioteca • uma tabela de uma base de dados • um ficheiro contendo código fonte ou dados • um documento genérico ? Notação: Um componente (genérico) é representado por um rectângulo com tabs kernel32.dll José Correia UML – Diagramas de Implementação 5 Exemplos de componentes José Correia UML – Diagramas de Implementação 6 Tipos de componentes ? Componentes de produto do trabalho • exemplos: ficheiros com código fonte, ficheiros de dados, etc. ? Componentes de distribuição (deployment) • necessários e suficientes para executar um sistema • exemplos: executáveis, bibliotecas, ficheiros de configuração, etc. ? Componentes resultantes da execução • criados em consequência da execução de um sistema José Correia UML – Diagramas de Implementação 7 Tipos de componentes: ícones e estereótipos <<executable>> : componente que pode ser executado num nó <<library>> : biblioteca estática ou dinâmica <<database>> : base de dados <<table>> : tabela de uma base de dados <<file>> : ficheiro contendo código fonte ou dados <<document>> : documento genérico 2 rodas dentadas José Correia UML – Diagramas de Implementação 8 Exemplo de um diagrama de componentes José Correia UML – Diagramas de Implementação 9 Tipos de dependências entre componentes ? Dependências normais • entre ficheiros com código fonte - para controlo de alterações • entre executáveis e/ou bibliotecas - para gestão de configurações e dependências ? Dependências com estereótipos • estereótipo «hyperlink» - entre páginas HTML ou páginas HTML e executáveis • estereótipo «trace» - entre versões consecutivas do mesmo tipo de componente José Correia UML – Diagramas de Implementação 10 O que é um diagrama de componentes? ? Um diagrama de componentes... • ilustra a organização e dependências entre componentes de software - mostra as dependências entre os componentes de software, incluindo o source code e os componentes executáveis • contém componentes, interfaces e relações entre componentes • é usado para mostrar as divisões físicas usadas nas implementações - os diagramas de pacotes mostram as divisões lógicas ou conceptuais • é construído como parte da especificação da arquitectura do sistema José Correia UML – Diagramas de Implementação 11 Composição e agrupamento de componentes ? Conforme o nome indica, os componentes são para compor (montar), criando componentes maiores ou sistemas inteiros ? Exemplos: • Base de dados composta por tabelas • Biblioteca dinâmica (DLL) composta por componentes COM+ ? No caso de agrupamentos de componentes que não criam componentes (físicos) maiores, usar pacotes de componentes Base de dados de biblioteca Tabela de reservas Tabela de sócios Tabela de publicações Web site Web page nWeb page 1 «hyperlink» Diagramas de Distribuição José Correia UML – Diagramas de Implementação 13 Exemplo de um diagrama de distribuição José Correia UML – Diagramas de Implementação 14 O que é um diagrama de distribuição? ? Um diagrama de distribuição (deployment)... • contém nós e conexões entre nós - os nós podem ser instâncias (têm o nome sublinhado) ou classes - normalmente, os nós representam plataformas de hardware - é possível agrupar nós em pacotes • ilustra a distribuição física do sistema, num ambiente de produção (ou teste) - captura a topologia do hardware do sistema • mostra a distribuição dos componentes ao longo da organização - cada componente pertence a um nó - os componentes que não existem como entidades de run-time não aparecem nestes diagramas - devem surgir em diagramas de componentes José Correia UML – Diagramas de Implementação 15 Tipos de Nós ? Exemplos de tipos de nós (abstractos) que podem ser implementados em runtime José Correia UML – Diagramas de Implementação 16 Instâncias de Tipos de Nós ? Criação e ligação entre instâncias de tipos de Nós ? São usadas mensagens para ilustrar o fluxo de informação entre Nós • Billing file • Order information José Correia UML – Diagramas de Implementação 17 Componentes e Nós ? um diagrama de distribuição mostra a localização dos componentes, em termos de servidores, PCs, etc. • pode, também, ilustrar ligações de rede, largura de banda de LANs, etc. José Correia UML – Diagramas de Implementação 18 Dependências ? As dependências são usadas em diagramas de distribuição para ilustrar relações e podem ser estereotipadas • por exemplo, o estereótipo «DCOM» pode ser usado na dependência (protocolo de ligação) entre um objecto cliente e servidor José Correia UML – Diagramas de Implementação 19 Exemplo ? O exemplo seguinte mostra as relações entre componentes de software e de hardware, envolvidos em transacções de bens imobiliários (real estate) José Correia UML – Diagramas de Implementação 20 José Correia UML – Diagramas de Implementação 21 ? O modelo físico descreve os componentes, de hardware e software • plataformas de hardware (em UML chamadas “Nós”), ligações de rede, componentes de software, sistemas operativos, etc. ? Os diagramas de distribuição são o complemento dos diagramas de componentes José Correia UML – Diagramas de Implementação 22 Diagramas de implementação ? Diagramas de componentes • organizar o código fonte (ambiente de desenvolvimento) • construir uma release executável (ambiente de instalação) ? Diagramas de distribuição • especificar a distribuição de componentes (pelos Nós) • identificar estrangulamentos de desempenho ? Os analistas usam os diagramas de distribuição para indicar quais são os módulos de código (componentes de software) que irão estar nas plataformas de hardware (Nós) José Correia UML – Diagramas de Implementação 23 Arquitectura ? A arquitectura da casota de um cão • pode ser feita por uma única pessoa • requer apenas - modelização mínima (ou nenhuma) - processos simples - ferramentas simples ? A arquitectura de um arranha céus • exige uma equipa especializada • requer - modelização extensiva - processos bem definidos - ferramentas poderosas José Correia UML – Diagramas de Implementação 24 Arquitectura de software ? A arquitectura de software compreende um conjunto de decisões • a definição dos elementos estruturais que compõem o sistema - blocos básicos de construção • a especificação de comportamentos envolvendo colaborações entre esses elementos • a composição dos elementos estruturais e comportamentais em subsistemas cada vez maiores • a explicitação do estilo arquitectónico que guia a organização do sistema ? A definição da arquitectura é parte integrante (de alto nível) do projecto (design) do sistema José Correia UML – Diagramas de Implementação 25 Arquitectura lógica ? Estrutura lógica • Refere-se à decomposição hierárquica do sistema em módulos lógicos e à especificação dos interfaces e dependências entre módulos • Especificada em UML por diagramas de pacotes lógicos - relações de composição e dependência entre pacotes, e classes exportadas por cada pacote ? Comportamento • especificada em UML por colaborações parametrizadas - combinam estrutura (diagrama de classes) e - comportamento (diagramas de interacção), no âmbito de um caso de uso ou mecanismo José Correia UML – Diagramas de Implementação 26 Arquitectura lógica por camadas Relational Database Graphical User InterfaceRelational Database Graphical User Interface Business Object Model Graphical User Interface Business Object Model Relational Database 2 camadas 3 camadas mais camadas Graphical User Interface Relational Database Diagrama UML Divisão horizontal, em camadas! Também é possível uma divisão vertical, em subsistemas! José Correia UML – Diagramas de Implementação 27 Arquitectura física ? Estrutura física do software • Refere-se à decomposição do sistema em módulos físicos... - tipicamente ficheiros (chamados componentes em UML) ... e à especificação de interfaces e dependências entre módulos • Especificada em UML por diagramas de componentes - com interfaces exportados (realizados) e importados (usados) por cada componente ? Ambiente de hardware • Refere-se à especificação da topologia de hardware (equipamentos e conexões) em que correm os componentes de software • Especificada em UML por diagramas de distribuição José Correia UML – Diagramas de Implementação 28 Arquitectura e Casos de uso ? Modelos de arquitectura são construídos depois dos modelos de casos de uso ? Casos de uso especificam função ? Arquitectura especifica forma / organização ? Arquitectura do software procura satisfazer/é condicionada pelos requisitos funcionais (definidos implicitamente pelos casos de uso) e não funcionais do software José Correia UML – Diagramas de Implementação 29 Referências ? Estes apontamentos foram baseados em: ? “UML – Unified Modeling Language”, Curso em Tecnologia de Objectos, FEUP, Novembro 2000 Ademar Aguiar, Gabriel David, João Pascoal Faria ? “Software Architecture and the UML”, Grady Booch, Rational Software ? “Practical UML: A Hands-On Introduction for Developers”, TogetherSoft Corporation ? Introduction to UML: Structural Modeling and Use Cases, Cris Kobryn, UML Revision Task Force, November 2000
Compartilhar