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

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

UML – Modelação da arquitectura

Apresentações semelhantes


Apresentação em tema: "UML – Modelação da arquitectura"— Transcrição da apresentação:

1 UML – Modelação da arquitectura

2 Índice Noção de arquitectura de software Níveis da arquitectura
Arquitectura lógica Arquitectura física Arquitectura e casos de utilização Arquitectura e reutilização

3 Noção de arquitectura de software
A arquitectura de software compreende o conjunto de decisões significativas acerca da organização de um sistema de software Definição dos elementos estruturais e interfaces que compõem o sistema (blocos básicos de construção) Especificação de comportamentos envolvendo colaborações entre esses elementos (mecanismos importantes) Definição de um estilo arquitectónico que guia a organização do sistema Definição da arquitectura é uma parte integrante (de alto nível) da concepção (design) do sistema Concluído a concepção de alto nível, deve ser possível entregar a concepção detalhada e implementação de cada módulo a um implementador diferente

4 Níveis da arquitectura: do lógico ao físico
Responsabilidades Classes Componentes Processos Nós de hardware r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 classe 1 classe 2 classe 3 classe 4 classe 5 classe 6 classe 7 componente 1 componente 2 componente 3 componente 4 processo 1 processo 2 processo 3 nó 1 nó 2 caso de utilização 1 ... caso de utilização n

5 Arquitectura lógica Estrutura lógica do software Comportamento
Refere-se à decomposição hierárquica do sistema em módulos lógicos (pacotes de classes com responsabilidades afins) e à especificação dos interfaces e dependências entre módulos Especificada em UML por diagramas de pacotes lógicos, com relações de composição e dependência entre pacotes, e classes exportadas por cada pacote Comportamento Refere-se sobretudo à descrição de mecanismos importantes 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

6 Graphical User Interface
Arquitectura lógica 2 camadas 3 camadas mais camadas Relational Database Graphical User Interface Relational Database Graphical User Interface Business Object Model Graphical User Interface Business Object Model Relational Database Graphical User Interface Relational Database Diagrama UML: Neste caso segue-se uma divisão horizontal, em camadas! Também é possível uma divisão vertical, em subsistemas!

7 Arquitectura física Estrutura física do software Ambiente de hardware
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 (realizadas) e importadas (usadas) 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 (deployment)

8 Business Object Server
Arquitectura física Thinner client, thicker server Client B Application Business Object Services Engine Business Object Server DCOM ADO/R CORBA Beans COM MTS ETS Application Business Object Services Client A Engine Client C WWW Browser Web Server HTML CGI ASP Java Business Object Services Engine Relational Database Server(s)

9 Arquitectura e casos de utilização
Modelos de arquitectura são construídos depois dos modelos de casos de utilização Casos de utilização 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 Casos de utilização e arquitectura têm de ser balanceados Casos de utilização Arquitectura

10 Arquitectura e reutilização (1)
Para responder com rapidez e qualidade a necessidades de software cada vez mais complexo, é necessário reutilizar, em vez de estar sempre a “reinventar a roda” Arquitectura é definida sempre que possível em termos de elementos reutilizáveis, de preferência pré-existentes Elementos reutilizáveis, com ganhos de produtividade crescentes: Código-fonte Copy-paste-modify de código existente (tipicamente exemplos) Código criado desta forma dá tanto trabalho a alterar com a fazer da 1ª vez! Bibliotecas Reutilização de código em bibliotecas de classes ou de procedimentos/funções Componentes Pequenos componentes de software auto-suficientes, que encapsulam de forma bem definida conceitos específicos Exemplos: JavaBeans e ActiveX

11 Arquitectura e reutilização (2)
Elementos reutilizáveis, com ganhos de produtividade crescentes (cont.): Modelos e Documentos Reutilização de modelos e documentos previamente definidos para serem utilizados em diversas actividades de desenvolvimento: programação, análise e projecto, documentação, processos, etc. Frameworks Colecções de classes que conjuntamente constituem aplicações semi-prontas ( 80%) para um determinado domínio de problema Exemplos: JFC, SanFrancisco, (MFC), MacApp, ET++, Qt / Kde... É modelizado como um pacote extensível em UML Padrões Fornecem soluções genéricas para problemas recorrentes típicos Permitem reutilizar não o código, mas o pensamento e raciocínio que está na base da escrita do código (isto é, o design) Constituem uma forma de reutilização a muito alto-nível, capaz de veicular o conhecimento de especialistas a principiantes Solução pode ser modelizada por colaboração parametrizada em UML Componentes de Domínio Componentes de grande dimensão que englobam a funcionalidade típica duma determinada área de domínio


Carregar ppt "UML – Modelação da arquitectura"

Apresentações semelhantes


Anúncios Google