ENGENHARIA DE SOFTWARE PARTE 2 LINGUAGEM DE MODELAÇÃO UML CAP. 8 UML MODELAÇÃO DA ARQUITETURA Tópicos Conceito de Diagramas Físicos Fundamentos dos Diagramas de Componentes componentes interface quando utilizar diagramas de componentes Fundamentos dos Diagramas de Instalação nós comunicação exemplo quando utilizar diagramas de instalação 2 Objectivos 3 Diagramas de Físicos: Conceito e Aplicação 4 Compreender os conceitos essenciais sobre os Diagramas Físicos, na forma de Diagramas de Componentes e Diagramas de Instalação: Familiarizar-se com a forma de obter uma perspetiva do sistema adequada à programação e instalação da aplicação que resultou da fase de análise Conhecer a forma de concretizar as diversas perspetivas obtidas com os diagramas de casos de uso, classes, atividades, estados, interação em pedaços de código ou componentes, que juntos constituirão a aplicação Compreender que a correta estruturação e o desenvolvimento de interfaces bem definidas permitirá efetuar uma manutenção mais eficiente e reduzir ou eliminar o impacto da substituição de componentes. Os diagramas físicos permitem obter uma perspetiva do sistema adequada à programação e instalação da aplicação que resultou da fase de análise. Vamos criar pedaços de código ou componentes que irão materializar as diferentes perspetivas obtidas com os diagramas de casos de uso, classes, atividades, estados, sequência e colaboração. A correta estruturação dos componentes e a existência de interfaces bem definidas permitirá uma manutenção mais eficiente e, em último caso, reduzir ou eliminar o impacto da substituição de componentes, desde que mantenham as interfaces.
Diagramas de Físicos: Conceito e Aplicação 5 Diagramas de Físicos: Conceito e Aplicação 6 A nível de componentes, o processo de materialização é relativamente simples, já que as linguagens de programação orientadas por objetos incluem a noção de componente como parte integrante do seu ambiente de desenvolvimento. A UML permite a representação dos componentes e uma integração com as ferramentas de programação (ex. a geração da estrutura de classes e componentes numa determinada linguagem) Os componentes necessitam de ser executados em algum recurso computacional que contenha memória e processador. Temos de definir a instalação - o objetivo é definir a arquitetura do sistema em termos de hardware e sua relação com os diferentes componentes (software). O diagrama de instalação define em que recursos os diferentes componentes serão instalados. Diagrama de Componentes 7 Diagrama de Componentes: Interface de Componente 8 Descreve os componentes de software e as suas relações dentro do ambiente de implementação. Mostram as escolhas feitas na implementação. Um componente representa um módulo físico de código. O desenvolvimento por componentes permite reforçar a reutilização como forma de diminuição de custos e possíveis erros, dado que podem ser componentes já anteriormente testados. Normalmente os componentes encontram-se interligados por uma relação de dependência, que mostra o impacto que as alterações efetuadas num componente terá nos outros componentes. Os componentes podem disponibilizar diversas interfaces conforme a necessidade dos subsistemas aos quais prestam serviços. Exemplo: pode dispor de uma interface Internet, representando o conjunto de serviços disponibilizados pelo componente, adaptados à necessidades e formato particular da Internet e outra (por ex., adaptada a um cliente PC normal) a interface pode representar-se de forma abstrata ou pode representar-se sob a forma de uma classe «interface» Internet Internet verifica_user() get_user_html() get_permissoes()
Diagrama de Componentes: Dependências entre Componentes 9 Diagrama de Componentes: Exemplo 0 Relacionamentos de dependência são utilizados entre componentes para indicar que um componente refere-se a serviços oferecidos por outros componentes. Este tipo de dependência reflecte escolhas a nível de implementação. A relação de dependência é representada através de uma seta tracejada desenhada no sentido componente cliente para o componente fornecedor. Determina Componente tipo A Determina Componente tipo B GestãoEncomendas.Exe responsável por todas as operações relacionadas com encomendas. Depende do componente para verificar se o utilizador possui permissões para executar as operações. Depende dos outros módulos pois necessita de informações sobre produtos e clientes e guardar os dados numa base de dados. GestãoProdutos.Exe responsável por todas as operações relativas à gestão de produtos. Depende do componente para verificar se o utilizador possui permissões para executar as operações. Depende também do módulo BaseDados.dll para guardar os dados numa base de dados. GestaoEncomendas.Exe GestãoProdutos.dll Determina BaseDados.dll tipo GestãoClientes.dll Diagrama de Componentes: Exemplo Diagrama de Componentes: Exemplo 2 2 GestãoClientes.Exe responsável por todas as operações relacionadas com a gestão de clientes. À semelhança dos anteriores, depende do componente e BaseDados.dll. responsável por conter as regras e política de acesso às operações e objetos do sistema. Só depende do componente BaseDados.dll para guardar os seus dados. GestaoEncomendas.Exe GestãoClientes.dll BaseDados.dll responsável por conter as operações de acesso e manutenção da informação nas bases de dados, separando assim os outros componentes dos diferentes tipos de bases de dados e protocolos de casso. GestãoProdutos.dll Determina BaseDados.dll tipo
Diagrama de Componentes: Exemplo 2 3 Diagrama de Componentes: Exemplo 3 4 Diagrama de Componentes: Exemplo 3 5 Diagrama de Instalação 6 Mostra os relacionamentos físicos entre os componentes de software e hardware no sistema instalado. Na prática um diagrama de instalação permite demonstrar como os hardware está organizado e como os componentes (software) estarão distribuídos, estabelecendo assim a sua relação física. Um diagrama de instalação ilustra a arquitetura do sistema em termos dos nós (nodes) que efetuam o processamento dos componentes. Um nó será algum tipo de unidade computacional - normalmente um pedaço de hardware (desde um dispositivo simples ou sensor até um mainframe) A ligar os nós temos conexões que mostram os caminhos comunicacionais através dos quais o sistema interatua.
Diagrama de Instalação: Nós 7 Diagrama de Instalação: Comunicação 8 Cada recurso hardware é representado como um cubo, evocando a presença física do equipamento. A natureza do equipamento pode ser especificada utilizando um estereótipo. Normalmente os nós terão que comunicar entre si. Os vários nós que surgem no diagrama de instalação estão ligados por linhas que representam uma infraestrutura de comunicações num determinado protocolo, que é considerada a priori bidirecional. A natureza da infraestrutura pode ser especificada através da utilização de um estereótipo como, por exemplo, Internet, para ilustrar uma ligação através da Internet. Modem PC Disco «device» «processador» «memória» Diagrama de Instalação: Exemplo 9 Diagrama de Instalação: Exemplo 2 20 Exemplo relativo ao diagrama de instalação de um sistema de gestão de acessos a um edifício, neste caso incluindo classes de nós (e multiplicidades respetivas). O diagrama mostra um sistema de um servidor e vários PCs que controlam a abertura e fecho das portas. O número de PCs não foi ainda estabelecido. Inversamente, parece que cada PC pode controlar no máximo 0 portas. Três terminais X desempenham o papel de consola para acesso ao sistema. Tx Servidor X 3 PC 3 Consola «TCP/IP» * «IPX» Servidor DBMS O servidor está a executar um sistema de gestão de base de dados Printer O diagrama descreve a natureza das ligações para comunicações entre os vários nós. O servidor e PCs através de IPX. Entre o servidor e terminal X a comunicação é através de TCP/IP. Piloto Master Os PC executar o software que controla as portas..0 Gate * «Assembly»
Diagrama de Instalação: Exemplo 3 2 Diagrama de Instalação: Quando Utilizar 22 Muitas vezes desenham-se os diagramas com o tipo de informação deste tipo de diagramas, mas de forma bastante informal. Mas, como os sistemas distribuídos estão a tornar-se cada vez mais vulgares, torna-se necessária uma cada vez maior formalidade. É aqui onde entram este tipo de diagramas. Permitem mostrar as questões que devem ser salientadas e utilizando uma sintaxe perfeitamente definida.