A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 Aula 10 UML (cont.). 2003/2004 Programação Orientada para Objectos 2 UML: Unified Modelling Language Linguagem gráfica de modelação Grady Booch Ivar.

Apresentações semelhantes


Apresentação em tema: "1 Aula 10 UML (cont.). 2003/2004 Programação Orientada para Objectos 2 UML: Unified Modelling Language Linguagem gráfica de modelação Grady Booch Ivar."— Transcrição da apresentação:

1 1 Aula 10 UML (cont.)

2 2003/2004 Programação Orientada para Objectos 2 UML: Unified Modelling Language Linguagem gráfica de modelação Grady Booch Ivar Jacobson James Rumbaugh Diagramas representam modelo simplificado Ferramenta importante de comunicação

3 2003/2004 Programação Orientada para Objectos 3 Diagramas em UML Estáticos: De classes De objectos Casos de Utilização Sequência Colaboração Estado Actividade Implementação

4 2003/2004 Programação Orientada para Objectos 4 Diagramas de sequência Diagramas onde se anotam as interacções entre objectos dispostas como uma sequência temporal Mostram um conjunto de objectos e mensagens trocadas por esses objectos num dado contexto Mensagem = transferência de informação Ênfase na cronologia das mensagens

5 2003/2004 Programação Orientada para Objectos 5 Tipos de mensagens Simples Síncrona Assíncrona Retorno

6 2003/2004 Programação Orientada para Objectos 6 Acções Associadas às mensagens trocadas entre objectos Call Invoca operação do objecto receptor Pode ser enviada ao próprio objecto Return Retorna ao objecto emissor Send Envia sinal ao objecto Create Cria um objecto Destroy Destrói um objecto Mensagens síncronas. Mensagens de retorno. Mensagens assíncronas. Explicitamente ilustradas nos diagramas.

7 2003/2004 Programação Orientada para Objectos 7 Diagramas de sequência Dimensão vertical denota o tempo Tempo avança no sentido descendente Objecto que envia mensagem tem de estar activo (possuir o controlo) Linhas de controlo ou activação podem ser duplicadas

8 2003/2004 Programação Orientada para Objectos 8 Notação Objecto1Objecto2 mensagem() resposta Linha de vida. Controlo ou activação.

9 2003/2004 Programação Orientada para Objectos 9 Notação Objecto1 Objecto2 mensagem() «create» resposta «destroy»

10 Editor void edita() Documento «query» + void desenha(Ecrã ecrã) - boolean podeRemoverGlifo() «update» + void faz(Acção acção) - void removeGlifo() - Glifo glifoRemovido() - void guardaAcçãoFeita(Acção acção) Acção boolean está_feita «query» boolean estáFeita() «update» void faz() void desfaz() boolean éFazível() «friend» DeslocaInsereGlifoRemoveGlifo documento acções Parágrafo Glifo 0..1 * * parágrafos glifos glifo_removido { um glifo ou está num parágrafo, ou numa acção, nunca nos dois. } documento * última_acção_desfeita cursor CaractereSorrisoMoldura

11 : Editor: Documento : Acção nova_acção = new Remove(documento) faz(nova_acção) é_fazível = éFazível() podeRemoverGlifo() [é_fazível] faz() removeGlifo() glifo_removido = glifoRemovido() guardaAcçãoFeita(nova_acção) actualiza() Indica a alguém que o documento foi alterado, pelo que precisa de ser visualizado de novo.

12 2003/2004 Programação Orientada para Objectos 12 Diagramas de actividade Diagramas que descrevem sequências de processamento do sistema Nível conceptual Casos de utilização Nível de implementação Classes Operações Mostram evolução temporal Melhoria sobre o fluxograma tradicional

13 2003/2004 Programação Orientada para Objectos 13 Usos comuns Nível conceptual Detalhe de casos de utilização Descrição de fluxos envolvendo vários casos de utilização Descrição de desenvolvimentos paralelos, com participação de vários actores Nível de implementação Descrição rigorosa de processamento paralelo Estabelecimento de responsabilidades sobre classes e actividades

14 2003/2004 Programação Orientada para Objectos 14 Usos indevidos Representar colaboração entre objectos Solução: diagramas de sequência ou colaboração Comportamento de objecto no tempo Solução: diagramas de estado

15 2003/2004 Programação Orientada para Objectos 15 Elementos Linhas verticais de responsabilidade Actividades de início e de fim Actividade operacional Transição de actividade Comportamento condicional Barras de processamento paralelo Fluxo de objectos

16 2003/2004 Programação Orientada para Objectos 16 Actividade Passo numa sequência de processamento Estado contendo uma acção e, pelo menos, uma transição de saída Actividade pode possuir várias transições de saída desde que identificadas por condições É possível identificar objecto responsável por cada actividade

17 2003/2004 Programação Orientada para Objectos 17 Domínios de responsabilidade Diagramas de actividade divisíveis em domínios de responsabilidade (swimlanes) Para cada domínio de responsabilidade pode-se indicar pertença Classe Componente Estrutura organizacional …

18 2003/2004 Programação Orientada para Objectos 18 Notação: transição Início da actividade Fim da actividade Transição

19 2003/2004 Programação Orientada para Objectos 19 Notação: actividade passo Início da actividade Fim da actividade Actividade Transição

20 2003/2004 Programação Orientada para Objectos 20 Notação:divisórias de domínio de responsabilidade passo Início da actividade Fim da actividade Actividade Transição Divisória de domínio de responsabilidade. Divisórias de domínio de responsabilidade.

21 2003/2004 Programação Orientada para Objectos 21 Notação: controlo passo [G][G] [¬G][¬G] Início da actividade Fim da actividade Actividade Transição Entroncamento Condição( guarda) Condição (guarda) Divisória de domínio de responsabilidade. Ramificação

22 2003/2004 Programação Orientada para Objectos 22 Exemplo ++i; [ i n ] [ i = n ] int i = 0; double potência = 1.0; potência *= x; {PC: 0 n } {0 n i = 0 potência = 1} {0 n 0 i < n potência = x i } {0 n 0 < i n potência = x i } {0 n i = n potência = x n }

23 2003/2004 Programação Orientada para Objectos 23 Notação: actividade composta [G][G] Actividade A Actividade B [¬ G] Nome da actividade

24 2003/2004 Programação Orientada para Objectos 24 Exemplo: actividade composta [Entrega Urgente] Entrega 24 horas Entrega Normal [¬ Entrega Urgente] Entrega Encomenda Diagrama de actividades parcial da actividade composta Entrega Encomenda.

25 2003/2004 Programação Orientada para Objectos 25 Notação: paralelismo Actividade A Actividade B1Actividade B2 Actividade C Subdivisão ou ponto de divergência (fork). Junção ou ponto de convergência (join).

26 2003/2004 Programação Orientada para Objectos 26 Exemplo: paralelismo Receber Encomenda Preencher Encomenda Envio Factura Fecho Encomenda Recepção Pagamento Entrega Encomenda Diagrama de actividade contendo actividade composta Entrega Encomenda.

27 Receber Encomenda Preencher Encomenda Envio Factura Fecho Encomenda Recepção Pagamento Entrega Encomenda Serviços FornecimentoServiço ClientesServiço Financeiro

28 2003/2004 Programação Orientada para Objectos 28 Desenvolvimento de um modelo Capacidade de abstracção Resistir à tentação de introduzir no modelo pormenores que são irrelevantes para o problema em causa Modelo de análise vs. modelo de desenho Casos de uso

29 2003/2004 Programação Orientada para Objectos 29 Identificação de classes Substantivos ou frases substantivas Nomes comuns podem ser "papeis" que um objecto tem relativamente a outro: correspondem a atributos ou relações (frota, dono) Frases substantivas: muitas vezes correspondem a atributos de classes Nomes próprios: instâncias

30 2003/2004 Programação Orientada para Objectos 30 Identificação de relações Verificar frases com que unimos os conceitos Procurar "ser", "ter", "ser constituído por", etc. Verbos que não denotam acção Por vezes, verbos que denotam estados Relação "é parecido com" e "é como" leva a identificar classes que são, provavelmente, "irmãs", ou seja, especializações de uma generalização comum, provavelmente abstracta

31 2003/2004 Programação Orientada para Objectos 31 Identificação de operações Verbos Modificadores: verbos que denotam acções Predicados: verbos que denotam estados (temporários ou permanentes)

32 2003/2004 Programação Orientada para Objectos 32 Identificação de propriedades Inspectores Não correspondem forçosamente a atributos Exemplo: Cor de um veículo (valor guardado por um atributo) Preço de uma reserva (calculado a partir do número de dias da reserva e do valor diário da reserva)

33 2003/2004 Programação Orientada para Objectos 33 Identificação de atributos Adjectivos Reflectem o estado do conceito Valor de uma dada propriedade Propriedade permanente: atributo constante Propriedade transitória: atributo variável, ou propriedade calculável

34 2003/2004 Programação Orientada para Objectos 34 Aula 10: Sumário UML (continuação da aula 9) Diagramas de sequência Diagramas de actividade Desenvolvimento de um modelo Identificação de classes ou conceitos Identificação de relações Identificação de operações Identificação de propriedades Identificação de atributos


Carregar ppt "1 Aula 10 UML (cont.). 2003/2004 Programação Orientada para Objectos 2 UML: Unified Modelling Language Linguagem gráfica de modelação Grady Booch Ivar."

Apresentações semelhantes


Anúncios Google