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

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

2002/2003 Programação Orientada para Objectos 1 Aula 9 Fases do desenvolvimento de software UML Diagramas de classes Classes Relações Diagramas de objectos.

Apresentações semelhantes


Apresentação em tema: "2002/2003 Programação Orientada para Objectos 1 Aula 9 Fases do desenvolvimento de software UML Diagramas de classes Classes Relações Diagramas de objectos."— Transcrição da apresentação:

1 2002/2003 Programação Orientada para Objectos 1 Aula 9 Fases do desenvolvimento de software UML Diagramas de classes Classes Relações Diagramas de objectos Objectos ou instâncias Ligações

2 2002/2003 Programação Orientada para Objectos 2 Ideia do cliente

3 2002/2003 Programação Orientada para Objectos 3 Resultado da falta de planeamento

4 2002/2003 Programação Orientada para Objectos 4 Fases do desenvolvimento de software Análise: identificação dos conceitos importantes e suas relações modelo de análise ou modelo conceptual Desenho: decisão dos conceitos identificados que serão modelados através de classes e suas relações modelo de desenho Implementação: implementação do modelo de desenho numa linguagem de programação

5 2002/2003 Programação Orientada para Objectos 5 UML: Unified Modelling Language Grady Booch, Ivar Jacobson e James Rumbaugh Ferramenta importante de comunicação Um programa é um modelo simplificado Diagramas representam modelo simplificado

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

7 2002/2003 Programação Orientada para Objectos 7 Diagramas de classes Representam as classes e as relações que existem entre elas Vários diagramas é melhor que apenas um: ênfase numa parte do modelo Domínio do problema: conceitos - modelo de análise Domínio da solução: classes - modelo de desenho Estáticos: as relações entre as classes não se alteram ao longo da execução do programa

8 2002/2003 Programação Orientada para Objectos 8 Classes Empregado Empregado {abstract} Empregado - nome_: string - sexo_: Sexo Atributos Empregado + nome(): string + salário(): double Operações Empregado - nome_: string - sexo_: Sexo Atributos + nome(): string + salário(): double Operações Forma... + desenha(): string + nova(inout entrada: istream&): Forma*... Característica com âmbito de classe

9 2002/2003 Programação Orientada para Objectos 9 Notas, comentários e restrições Isto é uma nota. Empregado Classe representando empregados… {Isto é uma restrição.} Racional - numerador_: int - denominador_: int «invariant» { denominador_ 0 mdc( numerador_, denominador_ ) = 1} Notas Restrições

10 2002/2003 Programação Orientada para Objectos 10 Operações Empregado + nome(): string {query} + salário(): double {query} Empregado + nome(): string {query, isPolymorphic = false} + salário(): double {query} Forma «constructor» + Forma(in posição: Posição) «destructor» + ~Forma() «query» + posição() {isPolymorphic = false} + desenha(): string «update» + movePara(in posição: Posição) {isPolymorphic = false} + nova(inout entrada: istream&): Forma* - posição_: Posição Racional - numerador_: int - denominador_: int «precondition» { denominador_ 0} + Racional(in numerador: int, in denominador: int) …

11 2002/2003 Programação Orientada para Objectos 11 Atributos PilhaFixaDe100Int - número_de_itens: int = 0 - número_máximo_de_itens: int = 100 {frozen} - itens [número_de_itens]: int … PilhaFixaDe100Int - número_de_itens: int = 0 - número_máximo_de_itens: int = 100 {frozen} - itens: int[número_máximo_de_itens] … FormaComposta - formas [*]: Forma … … FormaComposta - formas: vector … …

12 2002/2003 Programação Orientada para Objectos 12 Relação de generalização Forma RectânguloCírculoFormaComposta

13 2002/2003 Programação Orientada para Objectos 13 Relação de amizade ListaDeInt ListaDeInt::Iterador «friend»

14 2002/2003 Programação Orientada para Objectos 14 Relações de associação Composição Relação é composto por um Os tempos de vida dos objectos envolvidos estão relacionados Agregação Relação parte/todo ou possui um Pode implicar o controlo do tempo de vida de um objecto por outro Associação simples Não há conceito de posse Os tempos de vida dos objectos ligados entre si são independentes

15 2002/2003 Programação Orientada para Objectos 15 Associação simples EmpregadoChefe EmpregadoChefe Chefia * 0..1 empregados chefe EmpregadoChefe Chefia * empregados- chefe EmpregadoChefe Chefia * empregados- chefe Empregado Chefe Chefia * - empregados chefe

16 2002/2003 Programação Orientada para Objectos 16 Agregação EmpresaVeículo * - frota 0..1

17 2002/2003 Programação Orientada para Objectos 17 Composição Forma FormaComposta {incomplete} * - formas 0..1

18 2002/2003 Programação Orientada para Objectos 18 Diagramas de objectos Ligações Objectos ou instâncias zé zé: Humano zé: Humano {frozen} : Humano : Racional numerador_ = 3 denominador_ = 2 : FormaComposta : Círculo : Rectângulo : Círculo


Carregar ppt "2002/2003 Programação Orientada para Objectos 1 Aula 9 Fases do desenvolvimento de software UML Diagramas de classes Classes Relações Diagramas de objectos."

Apresentações semelhantes


Anúncios Google