Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 5

18
Introdução a Engenharia de Software CJR – Empresa Júnior de Computação

Transcript of Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 5

Page 1: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 5

Introdução a Engenharia de

SoftwareCJR – Empresa Júnior de Computação

Page 2: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 5

UML 24

Page 3: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 5

“Família de notações gráficas, apoiada por um metamodelo

único, que ajuda na descrição e no projeto de sistemas de

software, particularmente aqueles construídos utilizando o

estilo orientado a objetos”.

Martin Fowler

Page 4: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 5

Diagrama de classes

Page 5: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 5

1 Classe

Classe

Atributos

Métodos

Nome da Classe

Nome : tipo = valor_inicial

Nome (lista de parâmetros) : tipo do retorno

Page 6: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 5

1 Visibilidade

- Private

~ Default

# Protected

+ Public

Page 7: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 5

1 Classe (exemplo)

Empresario_Junior

+ id: int+ Nome: string+ Tempo_empresa: int- Cargo: string = “trainee”

+ elegivel() : bool+ atualiza_cargo(cargo: string) : void

“verifica se tem tempo de empresa para ser elegível”

“atualiza o cargo com o valor recebido”

Page 8: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 5

1 Associações

Associação

X

Agregação

X

Composição

Page 9: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 5

1 Associações

Associação

Aluno

- Matricula: int- Nome: string

Turma

- Nome: int- Semestre: int

Page 10: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 5

1 Associações

Agregação

Perfil

- Nome: string

Usuário

- Nome: int- Login: string- Senha: string- Perfil: Perfil

Uma classe faz parte de outra classe mas não de forma exclusiva

Page 11: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 5

1 Associações

ComposiçãoUma classe faz parte de outra classe de forma exclusiva

DetalheUsuario

- Enedereco: string- Telefone: string

Usuário

- Nome: int- Login: string- Senha: string- Perfil: Perfil

Page 12: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 5

1 Associações

Agregação

X

Composição

Você ainda vai confundir um dia...

http://imasters.com.br/artigo/18901/uml/uml-composicao-x-agregacao/

Page 13: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 5

1 Auto-Relacionamento

Pasta

- Nome: int

Page 14: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 5

1 Herança

Pessoa

id: intNome: string

Empresario_Jr

cargo: string

Cliente

Telefone: string

Page 15: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 5

0..1 Zero or one

1 One only

0..* Zero or more

* Zero or more

1..* One or more

3 Three only

0..5 Zero to Five

5..15 Five to Fifteen

1 Multiplicidade

Page 16: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 5

http://www.ibm.com/developerworks/rational/library/content/RationalEdge/sep04/bell/

Page 17: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 5

Bibliografia do Curso (Sites)

IBM: http://www.ibm.com/developerworks/rational/library/769.html

Outros tópicos a estudar:• Classes e métodos abstratos• Interface• Dependência• Outros

http://www.slideshare.net/rodrigocasca/uml-criando-diagramas-eficientes

Page 18: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 5

Renato Leal

[email protected]

[email protected]

CJREmpresa Júnior de Computação da UnB

[email protected]

[email protected]