UML – Visões Parte 1 Modelando um sistema Fases do desenvolvimento de Software Análise de requisitos Análise Projeto Programação Notação UML Visões: Mostram os diferentes aspectos do sistema, dando enfoque a ângulos e níveis de abstrações diferentes Modelos de Elementos: São os conceitos utilizados nos diagramas Mecanismos Gerais: Provém comentários, informações ou semântica sobre os elementos dos modelos. Diagramas: São gráficos que descrevem o conteúdo em uma visão Visões Cada visão é descrita por um número de diagramas que contém informações que dão ênfase aos aspectos particulares do sistema Tipos: – – – – – Visão de Componentes Visão de Casos de Uso Visão Lógica Visão de Organização Visão de Concorrência Visão de Componentes Descreve a implementação dos módulos e suas dependências Consiste nos componentes (elementos) dos diagramas Não confundir com elemento “componente” Visão de caso de Uso Descreve as funcionalidades do sistema desempenhada pelos atores externos É a visão central, base para as outras visões do sistema Descrita pelos diagramas: – – de Casos de Uso de Atividades Diagrama de caso de uso Elementos Caso de Uso Nome do Caso ASSOCIAÇÂO ATOR REFINAMENTO Diagrama de caso de uso Exemplo: Sistema Escola Cadastrar aluno Cadastrar professor Listar alunos Gerente da escola Listar professores Calcular média Cadastrar Notas Diagrama de Atividades O Diagrama de Atividades mostra o fluxo de controle Eles capturam ações e seus resultados Eles focam o trabalho executado na implementação de uma operação (método) Tipicamente as atividades são estados de ação – estados que transitam para outro estado Diagrama de Atividades Elementos INICIO Nome do Estado ESTADO FIM TRANSIÇÂO FLUXO PARALELO TOMADA de DECIÇÂO Diagrama de Atividades Exemplo Visão Lógica Descreve como as funcionalidades do sistema serão implementadas Especifica a estrutura estática e dinâmica Representada pelos diagramas: – – – – – – de Classe de Objetos de Estado Seqüência Colaboração Atividades Diagrama de Classes É a descrição de conjunto de objetos que compartilham os mesmos atributos e relacionamentos (estado), operações e semântica (comportamento) O Diagrama de Classes mostra a estrutura estática do modelo da aplicação Este diagrama exibe as classes do sistema e o grau do relacionamentos entre elas Diagrama de Classes Elementos ASSOCIAÇÂO Cliente Nome : String Idade : Num Nome da Classe Criar() Destruir() Operações Atributos COMPOSIÇÃO DEPENDENCIA GENERALIZAÇÃO REFINAMENTO AGREGAÇÃO Diagrama de Classes Diagrama de classe (simples) Escola Aluno Professor Diagrama de Classes Exemplo: Sistema escola Escola alunos: Alunos[ ] professores: Professores[ ] adicionarAlunos(Aluno a) : void adicionarProfessor (Professor p) : void listarAlunos( ): void 1 * Aluno nome: String matricula: int nota1: int nota2: int construtor( ): executar( ) : void 1 * Professor nome: String matricula: int turmas: int construtor( ): Diagrama de Classes Exemplo Diagrama de Objetos O Diagrama de Objetos é muito similar ao Diagrama de Classes e utiliza quase a mesma notação Este diagrama mostra uma “fotografia” dos objetos existentes em um determinado momento na execução do sistema São muito úteis para exemplificar relacionamentos complexos entre objetos em determinado momento Diagrama de Objetos Exemplo Diagrama de Estados O Diagrama de Estados serve para mostrar todos os estados possíveis dos objetos de uma classe do modelo Mostra que eventos do sistema causam essas mudanças de estado Não há a necessidade de representar os estados dos objetos de todas as classes. Diagrama de Estados Exemplo JUDE Criando Diagramas JUDE Atividade – – Fazer o diagrama de atividades do Sistema Escola Fazer o diagrama de estados do Sistema Escola