Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Diagramas UMLClasse, Seqüência e Atividades
Marcio E. F. Maia
Disciplina: Engenharia de SoftwareProfessora: Rossana M. C. Andrade
Curso: Ciências da ComputaçãoUniversidade Federal do Ceará
15 de maio de 2008
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Agenda
1 IntroduçãoAula anteriorFases no desenvolvimento de softwareElementos e relacionamentos
2 Diagrama de ClassesConceitos iniciais
3 Diagrama de SeqüênciaConceitos Iniciais
4 Diagrama de AtividadesConceitos Iniciais
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Agenda
1 IntroduçãoAula anteriorFases no desenvolvimento de softwareElementos e relacionamentos
2 Diagrama de ClassesConceitos iniciais
3 Diagrama de SeqüênciaConceitos Iniciais
4 Diagrama de AtividadesConceitos Iniciais
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Aula anterior
Modelagem, UML e Diagramas de Caso de Uso
Melhorar a comunicação, diminuir inconsistência e tempototal de desenvolvimento, aumentar legibilidade, melhorardocumentação e facilitar manutençãoUML - linguagem completa e amplamente aceita paramodelagem de softwareDiagramas de Caso de Uso - utilizado na fase de análisede requisitos para modelar requisitos funcionais
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Fases no desenvolvimento de software
Fases no desenvolvimento de software
Levantamento e análise de requisitosNecessidades dos usuáriosAnálise
Primeiras abstrações e mecanismos presentes no domíniodo sistemaClasses que pertencem apenas ao domínio principal(Diagrama de Classes)
DesignDetalhamento das especificaçõesSoluções técnicas são apresentadas: concorrência,persistência, interfaces
ImplementaçãoVerificação e validação
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Fases no desenvolvimento de software
Visões
Diferentes aspectos do sistemaFuncional - estrutura estática e interações dinâmicasNão-funcional - responsividade, confiabilidade,replicação, etc.Organizacionais
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Fases no desenvolvimento de software
Visões
Diferentes aspectos do sistemaFuncional - estrutura estática e interações dinâmicasNão-funcional - responsividade, confiabilidade,replicação, etc.Organizacionais
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Fases no desenvolvimento de software
Visão Use-Case
Funcionalidades realizadas pelos atores externosCentral, já que conteúdo será utilizado como base paraconstrução de outras visõesMontada sobre os diagramas de caso de uso e atividade
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Fases no desenvolvimento de software
Visão Lógica
Descreve como a funcionalidade do sistema seráimplementadaEstrutura estática (classes, objetos e relacionamentos) edinâmica (troca de mensagens)Persistência, concorrência, interfaces e estruturas declasses
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Fases no desenvolvimento de software
Visão Componentes
Descrição da implementação dos módulos e dependênciasExecutado por desenvolvedoresDiagrama de componentes
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Fases no desenvolvimento de software
Visão Concorrência
Divisão em processos e processadoresMelhor utilização do ambienteMostra como acontece o controle de concorrência ecomunicação entre processosDiagramas dinâmicos: estado, seqüência, colaboração eatividadeDigramas de implementação: componentes e execução
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Fases no desenvolvimento de software
Visão Organização
Organização física do sistemaConexão entre computadores e periféricosExecutada por desenvolvedores, integradores e testadoresDiagramas de execução e implementação
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Elementos e relacionamentos
Classes
DefiniçãoUma classe representa a descrição de um objeto do mundoreal. Elas devem ser retiradas do domínio do problema enomeadas de acordo com o que representam no sistema.
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Elementos e relacionamentos
Classes
DefiniçãoUma classe representa a descrição de um objeto do mundoreal. Elas devem ser retiradas do domínio do problema enomeadas de acordo com o que representam no sistema.
O que deve ser modelado?
Informações devem seranalisadas ou armazenadas?
Existem sistemas externos?
Classes, bibliotecas,componentes ou modelos?
Papel dos atores dentro dosistema?
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Elementos e relacionamentos
Relacionamentos
AssociaçõesNormais, recursiva, qualificada, ordenada, ternáriaAgregação
Compartilhada, composição
GeneralizaçãoNormalRestrita
Sobreposição e disjuntiva, completa e incompleta,
Dependência e refinamentos
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Elementos e relacionamentos
Associações
NormalRelação comum entre as classesLinha sólida entre duas classesNome que representa a associação
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Elementos e relacionamentos
Associações - Cont.
RecursivaRepresenta a ligação entre dois objetos da mesma classe
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Elementos e relacionamentos
Associações - Cont.
QualificadaUm para vários ou vários para um
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Elementos e relacionamentos
Associações - Cont.
ExclusivaOnde nem todas as associações são válidasEspecifica que um objeto pode participar apenas de umaassociação por ver
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Elementos e relacionamentos
Associações - Cont.
TernáriaMais de duas classes associadas entre si
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Elementos e relacionamentos
Agregação
Caso particular de uma associaçãoIndica que uma classe é parte, ou está contida em outraclasse
Compartilhada: pode estar contida várias vezes ou emdiferentes momentosComposição: Classe vive e constitui a outra. A maior dita otempo de vida das menores
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Elementos e relacionamentos
Generalizações
Também conhecida como herançaElemento mais específico possui todas as característicasdo mais geral, além de responsabilidades extras
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Elementos e relacionamentos
Generalizações Restritas
Sobreposição edisjuntivaSubclasses podemherdar de mais de umasuperclasse
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Elementos e relacionamentos
Generalizações Restritas
Sobreposição edisjuntivaSubclasses podemherdar de mais de umasuperclasse
Completa e incompletaTodas as subclasses jáforam especificadas
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Elementos e relacionamentos
Dependência
Uma alteração na classe independente gera umamudança de comportamento na classe dependenteEx. Um objeto recebido como parâmetro ou uma variávelglobal
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Elementos e relacionamentos
Refinamento
Utilizados para modelar diferentes implementações de ummesmo comportamento
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Agenda
1 IntroduçãoAula anteriorFases no desenvolvimento de softwareElementos e relacionamentos
2 Diagrama de ClassesConceitos iniciais
3 Diagrama de SeqüênciaConceitos Iniciais
4 Diagrama de AtividadesConceitos Iniciais
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Conceitos iniciais
Diagrama de classes
Características
Identifica as entidades e as características de cada umadelasMostra como cada uma dessas entidades se relacionamAgrupa características semelhantes e especializacomportamentos
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Conceitos iniciais
Diagrama de classes
Características
Identifica as entidades e as características de cada umadelasMostra como cada uma dessas entidades se relacionamAgrupa características semelhantes e especializacomportamentos
Definição
O diagrama de classes é uma coleção de classes e interfaces,além das colaborações e relações existentes entre elas.
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Conceitos iniciais
Diagrama de Classes - Cont.
É uma representação em alto nível do sistemaArquitetos experientes modelam as classes do sistemaVisão estática do sistema
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Conceitos iniciais
Diagrama de Classes - Cont.
É uma representação em alto nível do sistemaArquitetos experientes modelam as classes do sistemaVisão estática do sistema
Qual a relação entre os diagramas de Caso de Uso e deClasses???
Cada requisito é agora convertido de "O quê"para "Como"O caso de uso é analisado e desmembrado em váriasentidades atômicasAlém dos casos de uso, outros artefatos como documentode requisitos, especificações funcionais e glossário podemser utilizados para criar um diagrama de classes
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Conceitos iniciais
Elementos de um diagrama de classes
Classes: é uma entidade do sistema que encapsula umdeterminado comportamento. Esses comportamento éacessado por outras classes através de métodos.Adicionalmente, cada classe possui característicaspróprias denominadas atributosInterface: fornece apenas uma definição dafuncionalidade. A implementação propriamente dita deveser realizada por uma outra classePacote: agrupa classes e interfaces com comportamentossemelhantes
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Conceitos iniciais
Tipos de classes
Também conhecidos como classes de análise ou esteriótiposFronteira: modela comunicação entre vizinhança dosistema e estrutura interna. Ex. Interface, protocolo decomunicação, Interface de impressão.Entidade: modela objetos e comportamento persistentes.Ex. Lista de alunos, catálogo, matrícula.Controle: modela comportamento funcional do use-case.
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Conceitos iniciais
Como mapear diagramas de Caso de Uso paradiagramas de classe?
1 Identificar elementos ativos: classes e interfacesrepresentam elementos importantes do domínio denegócio
2 Identificar elementos passivos: refletem o domínio denegócio (classes de negócio)
3 Categorizar e mapear funcionalidades: casos de usodevem ser mapeados para um dos dois elementos citadosanteriormente
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Conceitos iniciais
Mapeando diagramas de Caso de Uso paradiagramas de classe - Cont.
Cursos e tópicos que formam uma disciplinaProfessores que ministram uma disciplinaAdministradores que gerenciam a atribuição de umadisciplina para um professorCatálogo é geradoEstudantes consultam o catálogosEstudantes requisitam matrícula em algumas disciplinas
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Conceitos iniciais
Mapeando diagramas de Caso de Uso paradiagramas de classe - Cont.
Entidades ativasProfessoresAdministradoresEstudantes
Entidades PassivasCursosTópicosCatálogo
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Conceitos iniciais
Mapeando diagramas de Caso de Uso paradiagramas de classe - Cont.
Funcionalidades identificadas
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Conceitos iniciais
Exemplo 1
Uma empresa consiste de departamentos. Departamentosestão situados em um ou mais escritórios. Um escritóriofunciona como gerencia. Cada departamento possui umgerente que é recrutado de um conjunto de empregados.Como modelar esse sistema em um diagrama de classes?
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Conceitos iniciais
Exemplo 1
Uma empresa consiste de departamentos. Departamentosestão situados em um ou mais escritórios. Um escritóriofunciona como gerencia. Cada departamento possui umgerente que é recrutado de um conjunto de empregados.Como modelar esse sistema em um diagrama de classes?
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Conceitos iniciais
Exemplo 2Uma rede local baseada no algoritmo token-ring é uma rede formada por nós que enviam pacotes pela rede. Cadanó possui um nome único na rede, e se comunica com o próximo nó. Diferentes tipos de nós existem: workstationse originadores de mensagens; servidores e impressoras são nós que podem receber mensagens. Pacotes contêmuma origem, um destinatário, um conteúdo, e são enviados pela rede. A rede é formada de forma circular pelosdispositivos.
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Conceitos iniciais
Exemplo 2Uma rede local baseada no algoritmo token-ring é uma rede formada por nós que enviam pacotes pela rede. Cadanó possui um nome único na rede, e se comunica com o próximo nó. Diferentes tipos de nós existem: workstationse originadores de mensagens; servidores e impressoras são nós que podem receber mensagens. Pacotes contêmuma origem, um destinatário, um conteúdo, e são enviados pela rede. A rede é formada de forma circular pelosdispositivos.
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Conceitos iniciais
Diagrama de Classes - O que fazer e o que não fazer
As classes devem ser descritivas e nomeadas de acordocom as entidades de negócio. Isso melhora a legibilidadedo diagramaAs relações podem não ser aparentes nas primeirasinterações. Revise e refine o seu diagrama a cada iteraçãoNão tente capturar todos os detalhes do diagrama declasses na primeira iteração.
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Agenda
1 IntroduçãoAula anteriorFases no desenvolvimento de softwareElementos e relacionamentos
2 Diagrama de ClassesConceitos iniciais
3 Diagrama de SeqüênciaConceitos Iniciais
4 Diagrama de AtividadesConceitos Iniciais
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Conceitos Iniciais
Diagrama de Seqüência
Definição
Diagramas de Seqüência são utilizados para representar emodelar o fluxo de mensagens, eventos e ações entre objetose componentes de um sistema.
Descreve a seqüência de mensagens que devem sertrocadas para realizar um determinado cenário.São também utilizados para modelar a arquitetura dossistemas
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Conceitos Iniciais
Diagrama Seqüência - Exemplo
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Conceitos Iniciais
Diagrama Seqüência - Cont.
Diagramas de Seqüência são úteis para modelar os seguintescenários:
Complexas interações entre os sistemas: bastante útilquando componentes estão sendo desenvolvidas emparaleloElaboração dos casos de uso: auxílio visual que permiteuma maior clareza do que está escritoModelar sistemas distribuídos: troca de mensagensentre os diferentes sistemasFerramenta de colaboração: permite que aespecificação possa ser discutida em termos concretosDocumentação: permite documentar a dinamicidade dosistema, o que é particularmente difícil em diagramasestáticos como o de classe.
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Conceitos Iniciais
Conceitos Básicos
Linha do tempoRepresentam papeis e instancias de objetos queparticipam da interação sendo modelada.
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Conceitos Iniciais
Conceitos Básicos - Cont.
Mensagens
Modela a comunicação entre os diferentes processosSíncrona: seta cheiaAssíncrona: seta tracejada
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Conceitos Iniciais
Conceitos Básicos - Cont.
GuardasCondições que devem ser atendidas para que umamensagem possa ser enviada
Síncrona: seta cheiaAssíncrona: seta tracejada
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Agenda
1 IntroduçãoAula anteriorFases no desenvolvimento de softwareElementos e relacionamentos
2 Diagrama de ClassesConceitos iniciais
3 Diagrama de SeqüênciaConceitos Iniciais
4 Diagrama de AtividadesConceitos Iniciais
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Conceitos Iniciais
Diagrama de Atividades
Definição
Diagrama de atividades representam os fluxos de negócios eoperacionais do sistema
Podemos definí-lo como um fluxo do códigoLógica de negócio e eventos que geram decisões e açõesno código
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Conceitos Iniciais
Diagrama de Atividades - Cont.
Descrevem comportamentos acontecendo em paralelo......ou como vários comportamentos presentes nos casosde uso interagem
Desvantagens
Não definem quais objetos executam as funcionalidades(Diagrama de Estado e Seqüencia)Nem o fluxo de mensagens (Diagrama de Seqüência)
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Conceitos Iniciais
Diagrama de Atividades - Cont.
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Conceitos Iniciais
Diagrama de Atividades - Cont.
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades
Conceitos Iniciais