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

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

Aula 9 Fases do desenvolvimento de software UML Diagramas de classes

Apresentações semelhantes


Apresentação em tema: "Aula 9 Fases do desenvolvimento de software UML Diagramas de classes"— Transcrição da apresentação:

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

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

3 Resultado da falta de planeamento
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 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 2002/2003 Programação Orientada para Objectos

6 Diagramas em UML Estáticos: Casos de Utilização Sequência Colaboração
De classes De objectos Casos de Utilização Sequência Colaboração Estado Actividade Implementação 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 2002/2003 Programação Orientada para Objectos

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

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

10 Operações Programação Orientada para Objectos 2002/2003 Empregado
+ nome(): string {query} + salário(): double {query} + nome(): string {query, isPolymorphic = false} + salário(): double {query} Forma Racional - posição_: Posição - numerador_: int - denominador_: int «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* + Racional(in numerador: int, in denominador: int) «precondition» {denominador_  0} 2002/2003 Programação Orientada para Objectos

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

12 Relação de generalização
Forma Círculo Rectângulo FormaComposta 2002/2003 Programação Orientada para Objectos

13 ListaDeInt::Iterador
Relação de amizade ListaDeInt::Iterador ListaDeInt «friend» 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 2002/2003 Programação Orientada para Objectos

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

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

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

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


Carregar ppt "Aula 9 Fases do desenvolvimento de software UML Diagramas de classes"

Apresentações semelhantes


Anúncios Google