• Nenhum resultado encontrado

UnidadeIII-ProjetodeSistemas(ParteIII)

N/A
N/A
Protected

Academic year: 2021

Share "UnidadeIII-ProjetodeSistemas(ParteIII)"

Copied!
24
0
0

Texto

(1)

Engenharia de Software

Engenharia de Software

Alinne Corrêa

(2)

Aula 03 – Parte II

• Projeto de Sistemas

• Projeto de Sistemas

▫ Projeto de Arquitetura

▫ Projeto Orientado a Objetos

▫ Introdução à UML: Diagrama de classes, seqüência e colaboração

(3)

Diagrama de Classes

• Metodologia usada para descrever:

▫ Os tipos de objetos no sistema ▫ Os tipos de objetos no sistema

▫ Os vários tipos de relacionamento estático existente entre eles ▫ Os atributos de uma classe

▫ Operações de uma classe ▫ Operações de uma classe ▫ As restrições.

(4)

Diagrama de Classes

• Conceitos:

▫ Classe: ▫ Classe:

 Uma descrição de um conjunto de objectos que têm os mesmos atributos, operações, relacionamentos e semântica.

▫ Atributos:

 Descrevem as características dos objetos daquela classe.

 Somente os atributos que interessam ao sistema devem ser representados.  Somente os atributos que interessam ao sistema devem ser representados.  Todos os objetos de uma classe são caracterizados pelos mesmos atributos.  Um atributo tem um tipo e pode ser primitivo (inteiro, real, boolean etc.) ou

construído (arrays, registros). Ex:

(5)

Diagrama de Classes

Employee name: string name: string address: string dateOfBirth: Date employeeNo: integer socialSecurityNo: string department: Dept ma nager: Employee salary: integer

status: {current, left, retired} taxCode: integer . . . taxCode: integer . . . join () leave () retire () changeDetails ()

(6)

Diagrama de Classes

• Relações entre Classes

▫ Generalização e Herança ▫ Generalização e Herança ▫ Dependência

▫ Associação ▫ Agregação

(7)

Diagrama de Classes

• Relações entre Classes: Generalização e Herança

▫ Classes podem ser organizadas em uma hierarquia onde uma ▫ Classes podem ser organizadas em uma hierarquia onde uma classe (superclasse) é uma generalização de uma ou mais classes (subclasses)

▫ Uma subclasse herda os atributos e operações da superclasse e pode adicionar novos métodos

(8)

Diagrama de Classes

• Relações entre Classes: Generalização e Herança

▫ Vantagens da Herança: ▫ Vantagens da Herança:

 É um mecanismo de abstração p/ classificar entidades  É um mecanismo de reutilização

▫ Problemas com a Herança: ▫ Problemas com a Herança:

 Classes só são compreendidas completamente com as superclasses

 Engenheiros tem a tendência de reutilizar o grafo de herança criado na análise. Isto pode levar à ineficiência

(9)

Diagrama de Classes

• Relações entre Classes: Generalização e Herança

▫ Herança Múltipla: ▫ Herança Múltipla:

 Uma classe pode herdar atributos e operações de várias superclasses

 Pode levar a conflitos quando atributos e operações de superclasses diferentes tem o mesmo nome e semânticas diferentes

Author Edition Publication date ISBN Book Speaker Duration Recording date Voice recording # Tapes Talking book ISBN

(10)

Diagrama de Classes

• Relações entre Classes: Dependência

▫ É um relacionamento que determina que uma mudança na ▫ É um relacionamento que determina que uma mudança na especificação de uma classe pode afetar uma outra classe, mas não necessariamente o contrário

Tem peratureSensor Tem perature

+defineAlarm (in t : Tem perature)

(11)

Diagrama de Classes

• Relações entre Classes: Associação

▫ Em UML uma associação é definida como relacionamento que ▫ Em UML uma associação é definida como relacionamento que descreve um conjunto de ligações, sendo uma conexão definida como uma conexão semântica entre uma tupla de objetos.

▫ Uma associação normalmente é bidirecional, ou seja, se um objeto está associado a outro objeto, ambos sabem que isto está acontecendo.

(12)

Diagrama de Classes

• Relações entre Classes: Associação

▫ A Associação é desenhada através de uma linha sólida entre duas ▫ A Associação é desenhada através de uma linha sólida entre duas

classes.

▫ Deve possuir um nome (geralmente um verbo) pertencente ao domínio do problema.

▫ Uma seta no final da linha indica que a associação somente pode ▫ Uma seta no final da linha indica que a associação somente pode

ser utilizada em uma única direção.

(13)

Diagrama de Classes

• Relações entre Classes: Associação

▫ A Associação é desenhada através de uma linha sólida entre duas ▫ A Associação é desenhada através de uma linha sólida entre duas

classes.

▫ Deve possuir um nome (geralmente um verbo) pertencente ao domínio do problema.

▫ Uma seta no final da linha indica que a associação somente pode ▫ Uma seta no final da linha indica que a associação somente pode

ser utilizada em uma única direção.

▫ Associações podem ter dois nomes (um para cada direção). Um triângulo sólido junto ao nome indica a direção que se deve ler a associação.

(14)

Diagrama de Classes

• Relações entre Classes: Associação

▫ Objectos de uma classe estão conectados a objectos de outras ▫ Objectos de uma classe estão conectados a objectos de outras

classes

▫ Pode ter um nome que tem uma direcção

▫ Multiplicidade: especificação do nº de elementos que que um conjunto pode assumir.

 Ex.: 1..*, *, 0..1, 3..9, 3..*, etc.

▫ Navegação: mostra como a partir de uma instância de uma classe se pode aceder a uma ou mais instâncias de outra classe

(15)

Diagrama de Classes

(16)

Diagrama de Classes

• Relações entre Classes: Associação

▫ Multiplicidade: ▫ Multiplicidade:

 Especifica quantos objetos participam da ligação.

 Desenhada no final da associação, perto da classe onde ela se aplica  Se não especificada, assume-se exatamente um (1)

 Outros exemplos de multiplicidade podem ser:  Outros exemplos de multiplicidade podem ser:

 zero a um (0..1)

 zero a muitos (0..*) ou (*)  um a muitos (1..*)

(17)

Diagrama de Classes

• Relações entre Classes: Associação

▫ Multiplicidade: ▫ Multiplicidade:

(18)

Diagrama de Classes

(19)

Diagrama de Classes

(20)

Diagrama de Classes

• Relações entre Classes: Classes associativas

▫ Estão ligadas a associações ao invés de estarem ligadas a outras ▫ Estão ligadas a associações ao invés de estarem ligadas a outras

classes.

▫ Normalmente aparece quando duas ou mais classes estão associadas, e é necessário manter informações sobre a associação.

▫ Uma classe associativa é representada pela notação de uma classe. A diferença é que essa classe é ligada por uma linha tracejada a uma associação.

(21)

Diagrama de Classes

• Relações entre Classes: Classes associativas

Person 1..* Com pany

+em ployer * +em ployee salary dateHired Job

(22)

Diagrama de Classes

• Relações entre Classes: Agregação

▫ Uma agregação é um tipo especial de associação ▫ Uma agregação é um tipo especial de associação

▫ Indica um relacionamento “parte-todo” entre as classes

▫ Sua presença pode ser percebida a partir da existência de relacionamentos cujas denominações incluam expressões como “consiste de”, “contém” ou “é parte de”.

(23)

Diagrama de Classes

(24)

Diagrama de Classes

• Relações entre Classes: Composição

▫ É uma forma de agregação onde há: ▫ É uma forma de agregação onde há:

 Forte pertença do todo com relação a parte  As partes não podem existir sem o todo

Com pany Departm ent

Referências

Documentos relacionados

Tendo-se em vista que a comparação dos resultados das crianças em função do tipo de escola indicou que havia diferenças estatisticamente significantes entre as médias das

Antes de mostrarmos a rela¸ c˜ ao entre regularidade de uma curva e existˆ encia de reparametriza¸c˜ oes por comprimento de arco dessa curva, notemos uma propriedade sim- ples

Evaporação: mais moléculas deixa a superfície água do que aderem Condensação: mais moléculas aderem a superfície água do que deixam Pressão de vapor (e): pressão exercida

Princípio de Pascal: Uma variação da pressão aplicada a um fluido incompressível contido em um recipiente é transmitida integralmente a todas as partes do fluido e às paredes

Ora, se a vida animal deve ser atri- buída à mesma causa que o fogo de eletricidade, não será difícil compreender o motivo do perigo que existe em velhos dormirem junto com

Exercício: Represente relacionamento de uma classe com uma associação , utilizando UML, considerando um sistema de gestão acadêmica. Introdução

É o nome usado para descrever empresas que prestam serviços financeiros, tendo na tecnologia seu grande diferencial — muitas delas, inclusive, não têm agências para atender

No terceiro passo, o trabalho em conjunto entre a produção e a manutenção desenvolveu os padrões de limpeza, lubrificação e inspeção. Estes padrões possuem a meta de