UML no CICLO de DESENVOLVIMENTO Visão Em Cascata para Desenvolvimento de Software Capturar Requisitos Análise Design Implementação/ Teste Deployment Visão Iterativa e Incremental Apesar da visão em cascata estar caindo em descrédito, mesmo os processos iterativos e incrementais continuam fundamentados em seus conceitos. Vale lembrar que em geral o processo de desenvolvimento iterativo é composto de uma sequência de mini-projetos do tipo cascata. Portanto, estudar o uso de UML considerando a abordagem cascata é útil para a compreensão dos processos iterativos como o RUP. Capturando Requisitos Alguns diagramas UML podem ajudar a mapear os desejos dos clientes preservando a visão de negócio: •Diagramas de atividades podem ser usados para entender o processo de negócio. •Um Diagrama de Classes pode ser usado para mapear os nomes que indicam entidades. Os verbos podem indicar operações. •Um Diagrama de Deployment pode indicar dependências. •Um Diagrama de Casos de Uso podem resumir as características do sistema. Análise •Detalhar as características do sistema finalizando o modelo de Casos de Uso com as respectivas especificações. •Refinar o Diagrama de Classes inicial. •Diagramas de Estado podem mostrar os estados dos objetos. •Diagramas de Seqüência mostram o comportamento dinâmico. •O Diagrama de Deployment pode ser detalhado. •Criar o modelo de dados inicial. Design Todos os diagramas criados na análise, bem como qualquer outro diagrama UML, podem ser usados para representar os detalhes da solução devidamente associados aos componentes que deverão gerar na implementação. Os Casos de Uso poderão ser rastreados através do mecanismo de realização que mostram como o design define a solução de implementação. Implementação e Teste Os diagramas que representam o design da solução podem ser detalhados o suficiente para que o código dos componentes seja produzido. Nesta fase são definidos os testes para validação da solução. Deployment Os Diagramas de Deployment juntamente com as respectivas especificações devem ser suficiente para a instalação e execução do sistema desenvolvido. Uso de Diagramas UML Não existe uma regra fixa para o uso de diagramas UML associados às fases de desenvolvimento. Teoricamente, cada fase pode se valer de todos os diagramas. Classe Associação Cardinalidade •um pra um 1 - 1 •um para muitos 1 – n •um para um ou mais 1 – 1..n •um para zero ou mais 1 – 0..n •um para intervalo 1 – n..m •um para constante 1 – m •um para um conjunto de opções 1 – [1..m] ou p UML usa * para representar muitos (n) Auto-Relacionamento Herança/Especialização Agregação Interface Visibilidade •Privado (-) •Público (+) •Protegido (#) Diagrama de Classes Caso de Uso •Atores •Caso de Uso •Include •Extend •Especificação Diagrama de Estados Diagrama de Atividade •Início •Swinlanes (raias) •Atividades •Estados •Branchs •Merge •Fork •Join •Fim Diagrama de Seqüência Mensagens: •Simples •Síncronas •Assíncronas Diagrama de Colaboração Diagrama de Componentes •Componentes •Interfaces •Relacionamentos Diagrama de Deployment