Diagramas UML - Classe, Seqüência e...

55
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades Diagramas UML Classe, Seqüência e Atividades Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 15 de maio de 2008

Transcript of Diagramas UML - Classe, Seqüência e...

Page 1: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 2: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 3: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 4: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 5: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 6: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 7: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 8: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 9: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 10: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 11: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 12: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 13: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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.

Page 14: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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?

Page 15: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 16: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 17: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 18: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 19: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 20: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 21: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 22: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 23: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 24: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 25: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 26: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 27: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 28: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 29: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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.

Page 30: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 31: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 32: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 33: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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.

Page 34: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 35: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 36: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 37: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 38: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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?

Page 39: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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?

Page 40: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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.

Page 41: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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.

Page 42: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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.

Page 43: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 44: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 45: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades

Conceitos Iniciais

Diagrama Seqüência - Exemplo

Page 46: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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.

Page 47: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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.

Page 48: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 49: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 50: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 51: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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

Page 52: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

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)

Page 53: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades

Conceitos Iniciais

Diagrama de Atividades - Cont.

Page 54: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades

Conceitos Iniciais

Diagrama de Atividades - Cont.

Page 55: Diagramas UML - Classe, Seqüência e Atividadesdisciplinas.lia.ufc.br/engsof081/arquivos/ApresentacaoDiagramas.pdf · Introdução Diagrama de Classes Diagrama de Seqüência Diagrama

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades

Conceitos Iniciais

[email protected]