Diagramas da UML
Diagrama de Estrutura Composta
Diagrama de Casos de Uso Indicação: Análise de Requisitos Permite descobrir os requisitos funcionais do sistema Fornece uma descrição clara e consistente do que o sistema deve fazer Apresenta uma visão externa do sistema: mostra as funcionalidades do sistema e quem as usa
Diagrama de Classes Indicação: Análise do Sistema Modelo Estático Mostra as Classes (atributos + métodos) e os relacionamentos entre elas
Diagrama de Seqüência Indicação: Análise do Sistema Mostra a interação entre os objetos Destaca as mensagens e métodos disparados Ênfase na ordem das operações Um para cada caso de uso
Diagrama de Colaboração Indicação: Análise do Sistema Mostra a interação entre os objetos Destaca as mensagens que disparam métodos Um para cada caso de uso
Diagrama de Estado Indicação: Análise do Sistema Acompanha as mudanças de estado de um objeto/classe envolvidos em um determinado processo Um para cada caso de uso, subsistema ou sistema
Diagrama de Atividades Indicação: Análise do Sistema Maior ênfase em algoritmo Mais detalhado Semelhante ao fluxograma Preocupa-se em descrever os passos de um MÉTODO (não de um processo)
Diagrama de Componentes Mostra como o sistema será implantado e quais são os seus módulos Está associado à LP a ser utilizada Determina como os componentes irão interagir Destaca a função de cada módulo para facilitar a reutilização
Diagrama de Componentes com Interfaces
Diagrama de Implantação Enfoca a estrutura física sobre o qual o software será implantado e executado Destaca o hardware que suportará o sistema Mostra como as máquinas estarão conectadas e quais protocolos de comunicação serão usados
Diagrama de Implantação
Diagrama de Componentes + Implantação
Exemplo de diagrama de implantação
Modelagem de um sistema embutido Um sistema embutido é uma coleção complexa de software para o hardware que interage com o mundo físico. Os sistemas embutidos envolvem o software que controla dispositivos e que, por sua vez, é controlado por estímulos externos.
É preciso gerenciar o mundo físico onde se encontram as partes móveis em que ele se divide, os sinais têm ruídos e o comportamento não é linear. Os diagramas de implantação podem fazer a modelagem dos dispositivos e processadores que formam um sistema embutido.
Como fazer a modelagem de um sistema embutido? Identifique os dispositivos e os nós que são únicos para o sistema. Forneça indicações de visuais, especialmente para dispositivos pouco usuais, utilizando os mecanismos de extensibilidade da UML. Faça a modelagem dos relacionamentos entre esses processadores e dispositivos. Procure expandir quaisquer dispositivos inteligentes pela modelagem de sua estrutura como um diagrama de implantação mais detalhado.
Exemplo de modelagem de sistema embutido
Modelagem de um sistema cliente/servidor O sistema cliente/servidor é uma arquitetura comum, cujo foco é a criação de uma clara separação de questões entre a interface para o usuário (que vive no cliente) e os dados persistentes do sistema (que vive no servidor).
Existe uma clara separação de questões entre a interface para o usuário (tipicamente gerenciada pelo cliente) e seus dados (tipicamente gerenciados pelo servidor). A modelagem da topologia desses sistemas pode ser feita com a utilização de diagramas de implantação.
Como fazer a modelagem de um sistema cliente/servidor? Identifique os nós que representam os processadores do cliente e do servidor do sistema. Destaque os dispositivos que são relevantes para o comportamento do sistema Forneça indicações visuais para esses processadores e dispositivos por meio de estereótipos Faça modelagem da topologia desses nós em um diagrama de implantação
Exemplo de modelagem de um sistema cliente/servidor
Modelagem de sistemas totalmente distribuídos Costumam ser hosts para várias versões de componentes de software, alguns dos quais poderão até migrar de um nó para outro. Os nós são adicionados e removidos, à medida que o tráfego da rede se modifica e os processadores falham; novos e mais rápidos caminhos de comunicação podem ser estabelecidos em paralelo com os canais anteriores e mais lentos, que eventualmente são desativados.
Modelagem de sistemas totalmente distribuídos (cont.) Visualizar a topologia atual do sistema e a distribuição de componentes para analisar o impacto das modificações sobre essa topologia.
Como fazer a modelagem de um sistema totalmente distribuído? Identifique os dispositivos e processadores para sistemas cliente/servidor mais simples. Detalhe o suficiente para analisar o desempenho da rede do sistema ou o impacto de alterações da rede. Dedique maior atenção aos agrupamentos lógicos de nós que você pode especificar utilizando pacotes.
Faça a modelagem desses dispositivos e processadores utilizando ferramentas para descobrir a topologia de seu sistema, percorrendo a rede do sistema. Se for necessário focalizar a dinâmica do sistema, introduza diagramas de caso de uso e expanda esses casos com diagramas de interação.
Exemplo de modelagem de um sistema totalmente distribuído
Novos Diagramas da UML 2.0
Diagrama de Pacotes Descreve os pacotes ou pedaços do sistema, como o sistema é dividido em agrupamentos lógicos e mostrado as dependências entre estes. Um pacote nada mas é do que um agrupamento de classes. Diagramas de pacotes (lógicos) são utilizadas para modelar a arquitetura lógica de um sistema de software (organização em módulos lógicos e especificação de interfaces e dependências entre módulos)
Exemplo (biblioteca): divisão em áreas funcionais <<subsystem>> Relação com Clientes (Leitores e Sócios) <<subsystem>> Relação com Fornecedores <<subsystem>> Gestão de Recursos (Publicações)
Exemplo (biblioteca): divisão em camadas técnicas <<layer>> Interface com o Usuário Ut ilizador <<layer>> Lógica de Negócio <<layer>> Base de Dados
Timing Diagram Mostra a interação entre os objetos em determinado ponto do tempo É utilizado pelos Engenheiros Elétricos Mostra o comportamento dos objetos em um dado período de tempo, destacando as suas alterações de estado.
Timing Diagram Forma mais simples
Diagrama de Interação Visão Geral Pode englobar vários diagramas: seqüência, comunicação, timing. Utilizado em demonstrações de situações complexas: resume a visão geral, mostra a seqüência entre os diagramas Usa notações do Diagrama de Atividades
Diagrama de Interação Visão Geral
Composite Structure Diagram Mostra uma colaboração que existe entre instâncias de classes, objetos ou interfaces. São usadas notações disponíveis para as classes, objetos ou interfaces. É um diagrama opcional, sendo usado apenas em situações muito complicadas (não em todas as colaborações) COLABORAÇÃO: É O LOCAL ONDE SE TROCAM MENSAGENS