Análise e Projeto de Sistemas -...

118
Análise e Projeto de Sistemas Análise e Projeto de Sistemas i

Transcript of Análise e Projeto de Sistemas -...

Page 1: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Análise e Projeto de Sistemas

i

Page 2: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Sumário

I Revisão e Introdução a Modelagem 1

1 Conceitos de Orientação a Objetos 2

1.1 Paradigmas de Programação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.1.1 Paradigma Funcional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.1.2 Paradigma Orientado a Objeto . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.1.3 Atividade: reconhecendo os paradigmas . . . . . . . . . . . . . . . . . . . . 3

1.2 O que são objetos, classes e interfaces? . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2.1 Objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2.2 Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2.3 Instanciação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.2.4 Atividade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.3 Entender o que são atributos e métodos . . . . . . . . . . . . . . . . . . . . . . . . 9

1.3.1 Atributos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.3.2 Métodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.3.3 Atividade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.4 O que é encapsulamento? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.4.1 Encapsulamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.4.2 Atividade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.5 O que é Herança? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.5.1 Herança . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.5.2 Formas de Herança . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.5.2.1 Herança Simples . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.5.2.2 Herança Múltipla . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.5.3 Generalização – Especialização . . . . . . . . . . . . . . . . . . . . . . . . 15

1.5.4 Atividade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

ii

Page 3: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

2 Unidade B: Introdução à modelagem de sistemas usando UML 182.1 Modelo e Modelagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.1.1 Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.1.1.1 Atividade: Reconhecendo Modelos . . . . . . . . . . . . . . . . . 19

2.1.1.2 Atividade: Exemplificando Modelos . . . . . . . . . . . . . . . . 21

2.1.2 Modelagem de Sistemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.1.2.1 Atividade: Exemplificando Processo de Modelagem . . . . . . . . 23

2.2 Qual o propósito do UML? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.2.1 Propósito da linguagem UML . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.2.1.1 Atividade: Reconhecendo o Propósito da Linguagem UML . . . . 25

2.3 Diagramas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.3.1 Atividade: Reconhecendo Diagramas . . . . . . . . . . . . . . . . . . . . . 26

2.4 Versões do UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.4.1 Atividade: Julgando afirmações sobre o versionamento de UML . . . . . . . 27

2.5 Diferentes Visões de um Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.5.1 Visões do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.5.1.1 Atividade: Identificando as características das visões . . . . . . . . 29

2.6 Escolha e Instalação de uma Ferramenta UML . . . . . . . . . . . . . . . . . . . . . 31

2.6.1 Recomendações de ferramentas UML . . . . . . . . . . . . . . . . . . . . . 31

2.6.2 Atividade: Instalando e executando uma Ferramenta . . . . . . . . . . . . . 32

II Visão Estrutural 33

3 Diagrama de Classes 343.1 Diagrama de Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.1.1 Atividade: Explicando o Diagrama de Classe . . . . . . . . . . . . . . . . . 35

3.2 Relacionamento entre Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.2.1 Atividade: Reconhecendo as Associações entre Classes . . . . . . . . . . . . 36

3.2.2 Atividade: Exemplificando as Associações . . . . . . . . . . . . . . . . . . 38

3.3 O que é Multiplicidade? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.3.1 Atividade: Inferindo a Multiplicidade das Associações . . . . . . . . . . . . 39

3.4 Agregação, Composição e Herança . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.4.1 Atividade: Classificando em Agregação, Composição ou Herança . . . . . . 41

3.4.2 Atividade: Exemplificando Agregação, Composição e Herança . . . . . . . . 43

3.5 Interfaces em UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.5.1 Atividade: reconhecendo o relacionamento de Realização . . . . . . . . . . 44

3.6 Dependência, Coesão e Acoplamento . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.6.1 Atividade: Reproduzindo Conceitos . . . . . . . . . . . . . . . . . . . . . . 45

iii

Page 4: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

4 Diagrama de Objetos 47

4.1 O que é um diagrama de objetos? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.1.1 Atividade: interpretando um diagrama de objetos . . . . . . . . . . . . . . . 47

4.1.2 Atividade: explicando o propósito do diagrama de objetos . . . . . . . . . . 49

III Visão Funcional 51

5 Diagrama de Caso de Uso 52

5.1 Atores e Casos de uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5.1.1 Atividade: explicando o que são Atores e Casos de Uso . . . . . . . . . . . . 53

5.2 Identificando Atores e Casos de Uso . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5.2.1 Atividade: técnicas para identificação de Atores e Casos de Uso . . . . . . . 54

5.3 Descrição textual de Casos de Uso . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

5.3.1 Atividade: Descrição Textual do Caso de Uso . . . . . . . . . . . . . . . . . 56

5.4 Descrição textual de Casos de Uso . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.4.1 Atividade: Reconhecendo Atores e Casos de Uso . . . . . . . . . . . . . . . 59

5.5 Relacionamento entre Atores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

5.5.1 Atividade: identificando as relações entre Atores . . . . . . . . . . . . . . . 60

5.6 Relacionamento entre Casos de Uso . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.6.1 Atividade: reconhecendo os relacionamentos . . . . . . . . . . . . . . . . . 62

IV Visão Comportamental 65

6 Diagramas Comportamentais ou de Interação 67

6.1 Visão Comportamental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

6.1.1 Atividade: reconhecendo o conceito de visão comportamental e seus princi-pais diagramas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

6.2 Diagrama de Sequência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

6.2.1 Atividade: exemplificando os principais elementos do diagrama de sequência 70

6.3 Mensagens Síncronas e Assíncronas . . . . . . . . . . . . . . . . . . . . . . . . . . 71

6.3.1 Atividade: reconhecendo mensagens síncronas e assíncronas no diagrama desequência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

6.4 Mensagens Especiais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

6.4.1 Atividade: Mensagens Especiais . . . . . . . . . . . . . . . . . . . . . . . . 73

6.5 Mensagens Condicionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

6.5.1 Atividade: reconhecendo as representações gráficas das mensagens condicio-nais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

iv

Page 5: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

6.6 Recursos da UML 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

6.6.1 Atividade: exemplificando os novos operadores de UML 2 . . . . . . . . . . 76

6.7 Diagrama de Comunicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

6.7.1 Atividade: Diagrama de Comunicação . . . . . . . . . . . . . . . . . . . . . 78

7 Diagrama de Atividade 80

7.1 O que é um Diagrama de Atividade? . . . . . . . . . . . . . . . . . . . . . . . . . . 80

7.1.1 Atividade: reconhecendo o propósito do Diagrama de Atividades . . . . . . 81

7.2 Elementos Básicos de um Diagrama de Atividade . . . . . . . . . . . . . . . . . . . 82

7.2.1 Atividade: reconhecendo os elementos básicos de um Diagrama de Atividades 82

7.3 Elementos Avançados de um Diagrama de Atividades . . . . . . . . . . . . . . . . . 84

7.3.1 Atividade: reconhecendo os elementos avançados de um Diagrama de Ativi-dades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

7.3.2 Aplicando diagrama de atividades, implementando um diagrama de ativida-des em uma ferramenta UML . . . . . . . . . . . . . . . . . . . . . . . . . 86

8 Diagrama de Estado 87

8.1 O que é um Diagrama de Estado? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

8.1.1 Atividade: explicando a diferença entre diagrama de atividade e diagrama deestado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

8.2 Elementos Básicos de um Diagrama de Estados . . . . . . . . . . . . . . . . . . . . 89

8.2.1 Atividade: Reconhecendo os Elementos Básicos . . . . . . . . . . . . . . . 89

8.3 Elementos Avançados de um Diagrama de Estado . . . . . . . . . . . . . . . . . . . 91

8.3.1 Atividade: reconhecendo os elementos avançados . . . . . . . . . . . . . . . 91

8.4 Novos Diagramas Comportamentais da UML2 . . . . . . . . . . . . . . . . . . . . . 92

8.4.1 Atividade: Identificando os novos Diagramas comportamentais da UML2 . . 92

V Visão Física 96

9 Diagrama de Componentes 98

9.1 Propósito do Diagrama de Componentes . . . . . . . . . . . . . . . . . . . . . . . . 99

9.1.1 Atividade: entendendo o Diagrama de Componentes . . . . . . . . . . . . . 99

9.2 Diagrama de Componentes em UML . . . . . . . . . . . . . . . . . . . . . . . . . . 100

9.2.1 Atividade: Identificando o Diagrama de Componentes . . . . . . . . . . . . 100

9.3 Entendendo os Componentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

9.3.1 Atividade: explicando o que é um componente . . . . . . . . . . . . . . . . 101

v

Page 6: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

10 Diagrama de Implantação 103

10.1 Propósito do Diagrama de Implantação . . . . . . . . . . . . . . . . . . . . . . . . . 103

10.1.1 Atividade: explicando o propósito do Diagrama de Implantação . . . . . . . 103

10.2 Propósito do Diagrama de Implantação . . . . . . . . . . . . . . . . . . . . . . . . . 104

10.2.1 Atividade: reconhecendo seus principais elementos do Diagrama de Implan-tação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

10.3 Manifestação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

10.3.1 Atividade: exemplificando uma Manifestação . . . . . . . . . . . . . . . . . 105

11 Diagrama de Pacote 107

11.1 Propósito do Diagrama de Pacote . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

11.1.1 Atividade: Explicando o Propósito do Diagrama de Pacote . . . . . . . . . . 107

11.2 Pacote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

11.2.1 Atividade: reconhecendo definição de pacote . . . . . . . . . . . . . . . . . 108

11.3 Diagrama de Pacote em UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

11.3.1 Atividade: Reconhecendo um Diagrama de Pacote . . . . . . . . . . . . . . 109

12 Índice Remissivo 111

vi

Page 7: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Parte I

Revisão e Introdução a Modelagem

1 / 112

Page 8: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Capítulo 1

Conceitos de Orientação a Objetos

OBJETIVOS

Ao final deste capítulo você deverá ser capaz de:

1. Lembrar a diferença entre paradigmas, reconhecendo um código funcional e umorientado a objetos.

2. Entender o que é um objeto, classes e interface, exemplificando e classificandoexemplos de objetos, classes e interface.

3. Entender o que é atributos e métodos, exemplificando atributos, declarações eimplementações de métodos.

4. Entender o que é encapsulamento, resumindo os três tipos de limitadores deacesso.

5. Entender o que é Herança, exemplificando generalização e especialização.

6. Lembrar o que é polimorfismo, reproduzindo com suas palavras o conceito depolimorfismo.

7. Entender o que é Sobrecarga e Sobrescrita de métodos, comparando os mesmos.

8. Entender o que são classes e interface, exemplificando os diferentes tipos de clas-ses e explicando o que é interface.

1.1 Paradigmas de Programação

Um paradigma é o que determina o ponto de vista da realidade e como se atua sobre ela, os quais sãoclassificados quanto ao seu conceito de base, podendo ser: Imperativo, lógico, orientado a objetos efuncional. Cada qual determina uma forma particular de abordar os problemas e de formular respec-tivas soluções. Além disso, uma linguagem de programação pode combinar dois ou mais paradigmaspara potencializar as análises e soluções. Deste modo, cabe ao programador escolher o paradigmamais adequado para analisar e resolver cada problema.

1.1.1 Paradigma Funcional

Este paradigma preconiza que todos os programas possíveis podem ser reduzidos a apenas três estru-turas: sequência, decisão e iteração. Tendo, na prática, sido transformada na Programação Modular.

2 / 112

Page 9: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

A Programação Estruturada orienta os programadores a criação de estruturas simples em seus pro-gramas, usando as sub-rotinas e as funções. Foi a forma dominante na criação de software entre aprogramação linear e a programação orientada por objetos.

1.1.2 Paradigma Orientado a Objeto

LeituraO conteúdo referente a este tópico se encontra no livro texto, na Unidade A, Pág. 1 e 2, notópico: “Conceitos Básicos”. Se você ainda não leu, faça isso antes de prosseguir.

1.1.3 Atividade: reconhecendo os paradigmas

Dados os exemplos de códigos fontes abaixo, Reconheça quais são códigos procedurais e quais sãoorientados a objeto.

Exemplo1

function fatorial (n: integer):integer;var fat: integer;beginfat := 1;while (n>1) do

beginfat := fat * n;n := n - 1;

end;fatorial := fat;

end;

Exemplo2

open file;while (reading not finished) {read some data;if (error){

stop the subprogramand inform rest of the program about the error;

}}process read data;finish the subprogram;

Exemplo3

public class Conta {String nrDaCOnta;String descricao;double saldo;double limite;

3 / 112

Eduardo: acho que não devemos confundir o aluno com a possibilidade de confundir paradigma com linguaguem de programação. Do jeito que estes exemplos foram escrito parece que código escritos em Pascal e C são sempre procedurais e os escritos em Java são sempre OO. Recomendo utilizar apenas java para explicar os paradigmas.
Page 10: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Cliente cliente = new Cliente();

public boolean saque (double valor){if (valor<=(saldo+limite)){

saldo-=valor;return true;

} else {return false;

}}public boolean deposita (double valor){

if (valor<=(saldo+limite)){saldo+=valor;return true;

} elsereturn false;

}public boolean transfere (Conta c, double valor){

if (valor<=(saldo+limite)){c.saldo+=valor;saldo-=valor;return true;

} elsereturn false;

}}

1.2 O que são objetos, classes e interfaces?

LeituraO conteúdo referente a este tópico se encontra no livro texto, na Unidade A, Pág. 1 e 2, notópico: “Conceitos Básicos”. Se você ainda não leu, faça isso antes de prosseguir.

1.2.1 Objetos

Usamos o termo objeto para representar um determinado elemento do mundo real. Mas somenteanalisaremos os objetos que tem relevância para a solução de um determinado problema. Portanto, oobjeto é uma entidade do mundo real que merece representação para o ambiente estudado.

Objetos são instâncias de classes, que determinam qual informação um objeto contém e como elepode manipulá-la. É uma entidade capaz de reter um estado (informação) e que oferece uma série deoperações (comportamento) ou para examinar ou para afetar este estado. É através deles que prati-camente todo o processamento ocorre em sistemas implementados com linguagens de programaçãoorientadas a objetos.

Como exemplos de objetos, podemos citar os objetos físicos (um livro, uma mercadoria), funçõesde pessoas para os sistemas (cliente, vendedor), eventos (uma compra, um telefonema), interações

4 / 112

Page 11: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

entre outros objetos (um item de uma nota fiscal é uma interação entre uma compra e um produto doestoque) e lugares (loja matriz, revenda norte).

Por exemplo, vamos considerar um cachorro como nosso “objeto” de estudo:

Figura 1.1: Cachorro

Analisando este objeto, o cachorro, podemos deduzir que o mesmo possui algumas característicasque pertencem apenas a ele próprio. Por exemplo, um cachorro possui:

• Um nome,

• Uma idade,

• Um comprimento de pêlos,

• Uma cor dos pêlos,

• Um peso, etc. . .

Nota“As características que descrevem um objeto são chamadas de atributos”

Além do conjunto de características que descrevem o cachorro, podemos também identificar um con-junto de ações que ele é capaz de executar:

• Latir,

• Pegar a bola,

• Sentar,

• Comer,

• Dormir, etc. . .

Nota“As ações que um objeto pode executar são chamadas de métodos”

5 / 112

Page 12: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

A única maneira de interagir com os objetos é através dos métodos que ele disponibiliza. Para inte-ragir com o cachorro, utilizamos os métodos que relacionamos acima: para alimentá-lo, utilizamos ométodo “comer”, para brincar com ele, utilizamos o método “pegar a bola”, etc.

Nota“Chamamos de interface ao conjunto de métodos disponíveis em um objeto”

1.2.2 Classes

Uma classe representa um conjunto de objetos que possuem características e comportamentos comunse de agora em diante, diremos que um objeto é uma instância de uma determinada classe, ou seja,criaremos nossos objetos baseados nas características definidas nas classes. A ênfase da metodologiaorientada a objetos é dada na criação das classes, e não dos objetos, como se poderia pensar pelonome.

Olhando os dois cães do exemplo anterior, vemos que possuem exatamente o mesmo conjunto deatributos. Isso acontece porque se trata de dois objetos da mesma classe, ou categoria. Isso significaque os dois possuem exatamente o mesmo conjunto de atributos e métodos, embora cada objeto possater valores diferentes para os seus atributos.

Figura 1.2: Classe Cães

Objetos de mesma classe possuem a mesma definição tanto para métodos quanto para atributos.

Tomemos uma classe gatos formada de objetos “gato”. Estes objetos possuem as seguintes caracte-rísticas: nome, idade, peso, cor de pêlos, cor de olhos e comprimento de pêlos. Além disso, o objetopossui as seguintes ações: miar, comer, dormir, subir na árvore.

Figura 1.3: Classe Gatos

6 / 112

Page 13: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Muitos objetos do mundo real possuem características comuns e podem ser agrupados de acordo comelas. Uma classe representa um gabarito para muitos objetos e descreve como estes objetos estãoestruturados internamente.

As classes Cães e Gatos possuem características e métodos comuns, por exemplo: Característicascomuns (nome, idade, peso, cor de pêlos, cor de olhos e comprimento de pêlos), Métodos comuns(pegar a bola, comer, dormir). Surge então o conceito de subclasse e superclasse. Podemos ter umasuperclasse de Mamíferos.

Figura 1.4: Super Classe Mamíferos

Dentro da Super Classe Mamíferos temos pelo menos 4 Subclasses. Podemos dizer que elas apresen-tam as seguintes características em comum: nome, idade, peso, cor dos olhos e cor dos pêlos. Alémdisso, estas subclasses possuem os seguintes métodos em comum: comer, sentar e dormir.

Observando a Figura 1.4 [7], podemos distinguir quatro categorias diferentes de animais: “cães”,“gatos”, “equinos” e “roedores”. Verificamos que existem seis objetos na superclasse mamíferos,sendo distribuídos em quatro subclasses (cães, gatos, roedores e equinos). Essa é a diferença entreclasse e objeto: a classe é um modelo e todos os objetos daquela classe possuem atributos comuns,mas esses atributos possuem valores distintos, e os métodos também são comuns.

Utilizando a hierarquia de classe, podemos omitir da declaração de um objeto ou de uma classeinferior tudo aquilo que já foi definido na(s) classe(s) superiores.

Só serão definidos no objeto os atributos e métodos particulares desse objeto que não são atribuí-dos aos outros objetos da mesma classe. Chamamos de “ancestrais” às classes das quais as outrasdependem e de “descendentes” as classes originadas a partir de outra. No exemplo acima, a classe“mamíferos” tem um ancestral (animais) e dois descendentes (cães e gatos). Em cada descendentesó é preciso descrever os atributos e métodos que apresentam alteração em relação à descrição doancestral, conforme a Figura 1.5 [8].

7 / 112

Page 14: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Figura 1.5: Hierarquia de Classes

As classes são definições de como os objetos devem ser e não existem na realidade. Somente osobjetos têm existência. Usando o exemplo dos animais, quando vamos mostrar nosso cachorro aalguém, não dizemos “esse é um cão”, e sim “esse é o pluto”, ou “snoopy”. O que se pode ver não éuma classe de seres, mas um cachorro específico, um objeto.

Figura 1.6: Exemplos de Objetos

1.2.3 Instanciação

A instanciação é quando a classe produz um objeto, como se ela fosse uma espécie de modelo ougabarito para a criação de objetos. Conforme a teoria da orientação a objetos, dizemos que um objetoé, nada mais nada menos, que a instância de uma classe.

8 / 112

Page 15: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Pelo exemplo que estamos estudando, cada cachorro que for armazenado é um novo objeto, uma novainstância da classe “Cães”. A classe serve de modelo para a criação de novos objetos.

Figura 1.7: Instanciação

1.2.4 Atividade

Utilizando a Figura 1.4 [7] e Figura 1.5 [8] como referências, cite mais 2 exemplos de hierarquiaclasses. Identificando atributos, métodos, superclasses e subclasses.

images/caixa9cm.svg

1.3 Entender o que são atributos e métodos

NotaVimos então que os objetos são compostos de atributos e métodos, mas afinal, o que sãoatributos e o que são métodos?

1.3.1 Atributos

Os objetos do mundo real possuem propriedades que possuem valores. Estes valores definem o estadodo objeto. As propriedades recebem o nome de atributos em OO.

Podemos dizer que os atributos dos objetos são “variáveis” ou “campos” que armazenam os diferentesvalores que as características dos objetos podem conter.

O estado de um objeto é o conjunto de valores de seus atributos em um determinado instante. Ocomportamento de um objeto é como ele age e reage em termos de suas mudanças de estado e trocade mensagens com outros objetos.

O cachorro do nosso exemplo poderia ser representado pelos seguintes atributos:

9 / 112

Page 16: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Figura 1.8: Exemplo de Objeto

Um outro objeto “cachorro” apresentaria valores diferentes para os mesmos atributos, por exemplo:

Figura 1.9: Exemplo de outro Objeto

Os atributos de um objeto somente mudam de valor através de estímulos externos ou internos. Aúnica forma de modificar os atributos dos objetos é disparando eventos que provocam a transiçãodesses estados no objeto.

1.3.2 Métodos

Os métodos são procedimentos ou funções que realizam as ações próprias do objeto. Assim, osmétodos são as ações que o objeto pode realizar. Tudo que o objeto faz é realizado através de seusmétodos, pois é através dos seus métodos que um objeto se manifesta, e através deles que o objetointerage com os outros objetos.

Um objeto exibe algum comportamento (executa uma operação) quando recebe um estímulo de outroobjeto. Um objeto requisita a ação de algum outro objeto, enviando uma mensagem para ele. Estamensagem é uma solicitação a um objeto para que sejam executadas as rotinas que chamamos deMétodo da classe.

Os métodos são responsáveis por acessar ou alterar os atributos de um objeto. Imaginando os métodosdo nosso objeto de estudo, o cachorro, enumeramos métodos (ações) como Latir, babar, comer sentar,etc.

1.3.3 Atividade

1. Explique com suas palavras o que são Atributos e Métodos exemplificando cada um.

2. Implemente o exemplo utilizado na questão acima.

10 / 112

Page 17: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

1.4 O que é encapsulamento?

LeituraO conteúdo referente a este tópico se encontra no livro texto, na Unidade A, Pág. 2 e 3,no tópico: “Encapsulamento e Visibilidade”. Se você ainda não leu, faça isso antes deprosseguir.

1.4.1 Encapsulamento

Encapsulamento é o princípio de projeto pelo qual cada componente de um programa deve agregartoda a informação relevante para sua manipulação como uma unidade (uma cápsula). Aliado ao con-ceito de ocultamento de informação, é um poderoso mecanismo da programação orientada a objetos.Com este mecanismo podemos ocultar detalhes de uma estrutura complexa, que poderiam interferirdurante o processo de análise.

O modo de utilização dos atributos e métodos (dados e operações realizadas com esses dados) édiferente do modo como a programação tradicional utiliza. Na orientação a objetos os dados e osprocessos que tratam esses dados estão “encapsulados” numa única entidade. A única maneira deconhecer ou alterar os atributos de um objeto é através de seus métodos.

O encapsulamento é um dos grandes trunfos da programação orientada a objetos em relação à pro-gramação tradicional (estruturada). A vantagem é que o encapsulamento disponibiliza o objeto comtoda a sua funcionalidade sem que você precise saber como ele funciona internamente, nem comoarmazena internamente os dados que você recupera. Podemos exemplificar da seguinte forma, paratelefonar para alguém você simplesmente pega um telefone e disca o número destino. Isto acontecesem que você saiba quais foram os procedimentos que ocorreram na empresa telefônica que conectouvocê ao destino que você informou.

Outro ponto importante é permitir que você faça modificações internas em um objeto, acrescentandométodos sem afetar os outros componentes do sistema que utilizam esse mesmo objeto. Para exempli-ficar esta vantagem, podemos retornar ao nosso exemplo do telefone, onde sabemos que a companhiatelefônica pode efetuar diversas alterações no tratamento telefônico, como é o caso de converter aslinhas analógicas para digitais, ou aumentar a quantidade de serviços oferecidos, e isso tudo sem mo-dificar o método que você utiliza para telefonar. Isto pode ser realizado porque a companhia telefônicaencapsulou a maneira de realizar uma chamada telefônica. Assim, a empresa está livre para efetuartodas as alterações que desejar, sem afetar a maneira como você acessa os serviços dessa companhia.

O que importa para poder haver interação entre dois objetos é que um conheça o conjunto de opera-ções disponíveis do outro (interface) para que então envie e receba informação, ou mesmo ordene arealização de procedimentos.

1.4.2 Atividade

Para você verificar que compreendeu estes conteúdos, preparamos as seguintes atividades.

1. Explique com suas palavras o que é encapsulamento em programação orientada a objeto.

2. Tipicamente os limitadores de acesso são:

• público (public)

11 / 112

Page 18: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

• protegido (protected)

• privado (private)

Explique o que significa cada um.

1.5 O que é Herança?

LeituraO conteúdo referente a este tópico se encontra no livro texto, na Unidade A, Pág. 3 e 4, notópico: “Herança (Generalização/Especialização)”. Se você ainda não leu, faça isso antesde prosseguir.

1.5.1 Herança

A palavra herança, conforme um dicionário da língua portuguesa, significa:

1. Aquilo que se herda;

2. Aquilo que se transmite por hereditariedade.

Um exemplo simples de explicar a herança é a própria genética. Ou seja, um filho herda característicasgenéticas dos pais, e por sua vez, repassa essas características aos seus filhos.

Na programação Orientada a Objetos, Herança é o mecanismo pelo qual uma classe obtém as carac-terísticas e métodos de outra para expandi-la ou especializá-la de alguma forma, ou seja, uma classepode “herdar” características, métodos e atributos de outras classes. Da mesma maneira uma classetransmite suas características para outras classes, tornando aquelas que recebem suas característicassuas herdeiras.

Sob o ponto de vista prático da orientação a objetos, a herança constitui um mecanismo muito in-teligente de aproveitar código. É através da herança que os objetos podem compartilhar métodos eatributos. Assim, podemos criar uma nova classe fazendo com que esta herde os métodos e atributosde uma outra classe, tornando-a uma classe “filho” da classe que a gerou. A grande vantagem nestecaso é que reutilizaremos todo o código já implementado na classe pai, restando apenas implementaros métodos e atributos que a diferenciem da classe pai.

12 / 112

Page 19: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Figura 1.10: Figura 10 – Exemplo de Herança

De acordo com o exemplo da figura acima, podemos dizer que a classe “Primata” é subclasse (des-cendente ou filha) da classe “Mamífero” e superclasse (ancestral) da classe “Ser Humano”.

Nota“Herança significa que todos os atributos e métodos programados no ancestral já estarãoautomaticamente presentes em seus descendentes sem necessidade de reescrevê-los”

A respeito dos métodos relacionados no exemplo acima possui podemos dizer que: os métodos Andarereto e Filosofar são pertencem exclusivamente a classe “Ser humano”, Possui Mãos e Pés e Serinteligente pertencem a classe “Primata” e são herdados pela classe “Ser Humano”, e os métodosMamar e Possui pêlos pertencem a classe “Mamífero” e são herdados pelas classes “Primata” e “SerHumano”. O mesmo acontecerá com os atributos que forem definidos para essas classes.

Mais do que mera economia de código, a herança significa maior integridade, pois quando se alteraum comportamento em uma classe, todos as classes descendentes desta também utilizarão o métodoatualizado sem necessidade de reprogramação.

1.5.2 Formas de Herança

1.5.2.1 Herança Simples

A herança é denominada simples quando uma classe herda características de apenas uma superclasse.Por exemplo, podemos ter como superclasse uma classe chamada Pessoa, e dela derivar uma subclassechamada Funcionário. Esta nova classe, Funcionário, herda todas as características da sua superclassePessoa, e de mais nenhuma outra. Como diferencial esta nova classe Funcionário possui atributose métodos que a classe Pessoa não possui, uma vez que 19 atributos como Salário e Função nãopertencem ao contexto da classe Pessoa, mas sim ao contexto da classe Funcionário.

13 / 112

Page 20: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Figura 1.11: Figura 11 – Herança Simples

Nada impede, entretanto, que a mesma superclasse gere mais de uma subclasse. Uma superclassePessoa pode gerar uma subclasse Cliente da mesma forma como pode gerar uma subclasse Funcioná-rio.

Figura 1.12: Figura 12 – Herança simples com dois descendentes

1.5.2.2 Herança Múltipla

A herança é denominada múltipla quando uma classe herda características de duas ou mais superclas-ses. Por exemplo, usando o exemplo do Funcionário e do Cliente, devemos estar atentos ao fato deque um funcionário pode vir a ser um cliente também. Assim, além de possuir atributos e métodosque o qualificam como funcionário, deve também possuir possui atributos e métodos que o qualificamcomo cliente.

Para tanto, o que pode ser feito é criar uma nova subclasse, chamada Funcionário-Cliente, que temcomo superclasse as classes Funcionário e Cliente. Esta nova classe, Funcionário-Cliente, herda todasas características da superclasse Pessoa, Funcionário e Cliente. O seu diferencial pode ser exatamenteo fato de possuir os atributos e métodos da classe Funcionário e da classe Cliente juntas. Porém nada

14 / 112

Page 21: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

impede que tenha atributos próprios como, por exemplo, um desconto especial para clientes de umaempresa que são também funcionários.

Figura 1.13: Figura 13 – Herança Múltipla

1.5.3 Generalização – Especialização

Para mostrar um exemplo da aplicação dessa estrutura, utilizaremos o mesmo exemplo apresentadono item Herança simples, aquele que trata da classe Pessoa, Funcionário e Cliente. Neste caso, temosa classe Pessoa como a mais alta classe generalizada, sendo então a superclasse da estrutura. Abaixodela, encontramos as suas duas subclasses, Funcionário e Cliente, que nada mais são que especializa-ções da classe Pessoa. Ou, simplesmente, podemos ver a classe Pessoa como uma generalização daclasse Funcionário e da classe Cliente.

Esta estrutura é formada por uma classe genérica no topo da estrutura e suas classes descendentesespecializadas dispostas abaixo. O uso do semicírculo, conforme mostra a ilustração da Figura 15,identifica a classe genérica e as especializações. A linha saindo do ponto central do semicírculoaponta para a generalização.

15 / 112

Page 22: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Figura 1.14: Figura 14 – Exemplo de uma estrutura de Generalização/ Especialização

Esta estrutura é, basicamente, uma estrutura hierárquica onde temos superclasses e suas respectivassubclasses. A estrutura Generalização– Especialização é, de fato, o processo de herança discutido naseção anterior. Assim, desejando-se realizar uma herança deve-se utilizar esta estrutura.

1.5.4 Atividade

Para você verificar que compreendeu estes conteúdos, preparamos as seguintes atividades.

1. Defina o que é Generalização e Especialização, mostrando um exemplo para cada:

2. Observe o diagrama abaixo:

16 / 112

Page 23: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Segundo o diagrama marque verdadeiro (V) ou falso (F) para as afirmações abaixo.

( ) O digrama acima ilustra cinco classes e três objetos.( ) A classe Funcionário apresenta três descendentes e um ancestral.( ) Podemos dizer que José é um objeto instanciado da classe gerente.( ) A classe Técnico herda todos os atributos de Funcionário, Pessoa e Cliente.( ) A classe Funcionário é subclasse de Pessoa e superclasse de Gerente e Técnico.( ) O objeto Pedro poderia herdar os métodos de Pessoa caso existissem.( ) Os atributos “Locação” e “Matrícula” pertencem exclusivamente a classe Funcionário.( ) Se for incluído um novo atributo na classe Pessoa todas as outras classes descendentes passarama ter este atributo também.( ) O tipo de herança existente entre Cliente e Pessoa é herança simples, já entre Funcionário,Técnico e Gerente é do tipo herança múltipla.

17 / 112

Page 24: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Capítulo 2

Unidade B: Introdução à modelagem de siste-mas usando UML

OBJETIVOS

Ao final desta unidade (B), você deverá se capaz de:

1. Entender o que é um modelo e modelagem de sistemas, exemplificando modelosdo seu cotidiano e o processo de modelagem.

2. Lembrar o que é UML, reconhecendo o propósito de UML.

3. Entender o que é um diagrama, classificando de um conjunto de representaçõesquais são diagramas.

4. Entender o versionamento da linguagem UML, julgando afirmações sobre o ver-sionamento de UML.

5. Lembrar das visões de sistemas, identificando as características das visões.

6. Utilizar uma ferramenta de UML, instalando e executando uma ferramenta UML.

Elementos de organização prévia

• Para realizar os estudos deste capítulo você precisará do livro Análise e Projeto de Sistemas deInformação Orientados a Objetos.

• Para realizar as atividades desta capítulo no computador baixe o aquivo cap2-atividades.docxacessando http://goo.gl/A2A7hG.

• Na última seção do capítulo será solicitado que você baixe e instale uma ferramenta UML.Caso você tenha uma conexão lenta com a internet, recomendamos que comece pela Seção 2.6:“Escolha e Instalação de uma Ferramenta UML” (p. 31). Escolha uma ferramenta e deixefazendo o download enquanto estuda as demais seções.

18 / 112

Page 25: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

2.1 Modelo e Modelagem

Questões desta seção

• O que é um modelo?

• O que é um processo de modelagem?

2.1.1 Modelo

Termo Técnico: ArtefatoO termo artefato é bastante utilizado na literatura de análise de sistemas. Um artefato podeser um documento, um diagrama, ou qualquer outro produto que seja produzido durante oprocesso de produção. Ele não está limitado ao produto final, mas qualquer produto que foiproduzido por quaisquer etapas intermediárias do processo.

LeituraO conteúdo referente a este tópico se encontra no livro texto, na Unidade B, Pág. 1, notópico: “Introdução à Modelagem de Sistemas”. Se você ainda não leu, faça isso antes deprosseguir.

Alguns exemplos de Modelos vem ser vistos a seguir:

Planta baixa de uma casa Diagrama de Caso de Uso Receita de Bolo

Para você verificar que compreendeu este conteúdo, preparamos as seguintes atividades.

2.1.1.1 Atividade: Reconhecendo Modelos

Um modelo pode ser visto como uma simplificação do sistema real e pode ter representações gráficase textuais, como apresentado nos exemplos anteriores. Classifique os exemplos baixo marcando comum “X” o que é um modelo ou concreto.

19 / 112

Page 26: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Objeto Modelo ConcretoMaquete X

MapaCarro

Casa construídaDiagrama

NotaTodas as nossas atividades possuem respostas na página seguinte, mas é importante quevocê tente realizar a atividade antes de verificar a resposta.

20 / 112

Page 27: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta da Atividade:

Objeto Modelo ConcretoMaquete X

Mapa XCarro X

Casa construída XDiagrama X

FeedbackNós esperamos que você não tenha tido dificuldades em identificar corretamente os modelose os objetos concretos.O último objeto é um exemplo de diagrama UML, que será abordado mais adiante em nossadisciplina, por enquanto é esperado apenas que você identifique-o como um modelo ou umaabstração do concreto.

2.1.1.2 Atividade: Exemplificando Modelos

Outra habilidade muito importante para um projetista de sistemas é criar abstrações para o concretoao seu redor. Observe os exemplos a seguir.

Situação do meudia a dia Concreto Abstrato

Indo às compras Lista de compras

Minha lista de compras poderia ser representada porum conjunto de linhas, onde cada linha possui umtexto (o item que desejo comprar) e um número querepresenta a quantidade daquele item que desejocomprar.

Agenda decompromissos

Os compromissosde trabalho

No meu trabalho há um quadro onde anotamos asdatas e os compromissos do curso, como viagens erealização das avaliações. As anotações do quadrorepresentam os compromissos concretos.

Registrando asnotas dos alunos

Os alunos

A universidade possui um sistema onde eu registro asnotas do aluno, eu reconheço aluno por seu nome oupor sua matrícula (especialmente útil quando acaligrafia do aluno não está legível).

Agora é sua vez, pense em três situações que você desempenha no seu dia a dia e relacione o objetoconcreto com o abstrato, e preencha na tabela a seguir como na tabela anterior.

Situação do meudia a dia

Concreto Abstrato

21 / 112

Page 28: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

DicaSe você trabalha com algum sistema informatizado você provavelmente encontrar uma pri-meira abstração rápida. Busque por situações e abstrações diferentes, não há ganho empraticar o que já se sabe. Procure se desafiar com situações diferentes!

22 / 112

Page 29: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta da Atividade:

Esta atividade não possui uma resposta única, pois é diferente para cada aprendente.

FeedbackVocê demorou para realizar esta atividade?Confesso que eu demorei um pouco para encontrar as situações que descrevi no exemplo.Continue persistindo nos estudos mesmo que encontre alguma dificuldade.Esta atividade é importante porque para projetar sistemas precisamos da habilidade de mo-delar o concreto ao nosso redor.

2.1.2 Modelagem de Sistemas

A modelagem não é o modelo, mas o processo de construção do modelo.

LeituraO conteúdo referente a este tópico se encontra no livro texto, na Unidade B, Pág. 1, notópico: “Introdução à Modelagem de Sistemas”. Se você ainda não leu, faça isso antes deprosseguir. (você já o leu devido a seção anterior).

2.1.2.1 Atividade: Exemplificando Processo de Modelagem

Embora modelo e modelagem estejam relacionados, eles possuem significados diferentes. Enquantoo modelo pode ser pensado como um artefato, a modelagem é o processo de produção dos modelos(ver Tabela 2.1 [23]).

Tabela 2.1: Processo, Modelo e Modelagem

Processo Modelo Modelagem Etapas após a modelagemConstrução de umacasa

Planta da casa Arquitetodesenhando aplanta

Cavar a terra; construir asparedes; pintar; instalaçãoelétrica; etc.

Confecção deroupa

Desenho da roupa Estilistadesenhando aroupa

Cortando o tecido;alinhavando o tecido;costurando a roupa.

Construção de umcarro

Desenho 3D docarro

Engenheirosprojetando o carro

Produção das peças; pintura;montagem.

Agora é sua oportunidade de demonstrar que entendeu, preencha dois processos informando o modelo,a modelagem e algumas etapas após a modelagem na próxima tabela da mesma forma.

23 / 112

Page 30: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Processo Modelo Modelagem Etapas após a modelagem

24 / 112

Page 31: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta da Atividade:

Esta atividade não possui uma resposta única, pois é diferente para cada aprendente.

FeedbackPela análise dos exemplos apresentados na questão, se percebe que os conceitos de modeloe modelagem são distintos um do outro, enquanto o modelo é uma abstração do que vai serfeito, a modelagem é a produção desses modelos.

2.2 Qual o propósito do UML?

Questões desta seção

• Qual o propósito da linguagem UML?

2.2.1 Propósito da linguagem UML

LeituraO conteúdo referente a este tópico se encontra no livro texto, na Unidade B, Pág. 1 e 2,no tópico: “A Linguagem UML: Histórico”. Se você ainda não leu, faça isso antes deprosseguir.

2.2.1.1 Atividade: Reconhecendo o Propósito da Linguagem UML

A Linguagem UML é bastante utilizada em projetos de sistemas de informação. Explique, com suaspalavras, a importância da utilização da Linguagem UML.

images/caixa6cm.svg

25 / 112

Page 32: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta da Atividade:

A linguagem UML é importante porque auxilia os projetistas a expressar suas decisões no projeto,facilitando a comunicação entre todos os membros da equipe, além de prover artefatos para o projeto.

2.3 Diagramas

Questões desta seção

• O que são diagramas?

Definição: Diagrama

1. Um Diagrama é uma representação visual estruturada e simplificada de um determi-nado conceito ou ideia.

2. Representação gráfica das relações entre as partes de um todo.

LeituraO conteúdo referente a este tópico se encontra no livro texto, na Unidade B, Pág. 2, notópico: “A Linguagem UML e seus Diagramas”. Se você ainda não leu, faça isso antes deprosseguir.

2.3.1 Atividade: Reconhecendo Diagramas

Neste momento não é necessário lembrar dos diagramas UML, eles serão estudamos mais adiante.Por enquanto é necessário apenas entender o que é um Diagrama.

Para você verificar se entendeu o que é um Diagrama, reconheça nas figuras a seguir quais sãodiagramas, marcando com um X as figuras que representam um diagrama.

( X ) Representa um diagrama.images/modelagem/diagrama_de_classe.gif

( ) Representa um diagrama.

( ) Representa um diagrama.images/modelagem/diagrama_de_contexto.gif

( ) Representa um diagrama.

26 / 112

Page 33: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta da Atividade:

( X ) Representa um diagrama.images/modelagem/diagrama_de_classe.gif

( ) Representa um diagrama.

( X ) Representa um diagrama.images/modelagem/diagrama_de_contexto.gif

( X ) Representa um diagrama.

FeedbackO desenho de uma casa é uma representação visual de um conceito: casa. Porém para secaracterizar como diagrama, essa representação visual deve ser estruturada, simplificada edeve representar as relações entre as partes do conceito como um todo.

2.4 Versões do UML

Questões desta seção

• Quais as versões do UML?

• Quais versões posso utilizar?

A UML é uma linguagem dinâmica, está em constante evolução. As modificações da linguagem sãoincorporadas através do lançamento de uma nova versão da linguagem.

A UML passou por diversas versões, as modificação mais importantes ocorreram entre as versões1

1.X para 2.0. Atualmente ela está na versão 2.4.1 (de 2011), evoluindo para 2.5.

Embora a versão 2.X possua mais diagramas, talvez os diagramas disponíveis na versão 1.X sejamsuficientes para os propósitos que você necessita.

LeituraO conteúdo referente a este tópico continua no livro texto, na Unidade B, Pág. 2 e 3, notópico: “A Linguagem UML e seus Diagramas”. Se você ainda não leu, faça isso antes deprosseguir.

2.4.1 Atividade: Julgando afirmações sobre o versionamento de UML

Para escolher as ferramentas que você irá utilizar em seus projetos, talvez seja necessário conhecer asversões da linguagem que ela suporta. Por esta razão é importante que você entenda o versionamentode UML.

1Quando especificamos uma versão com um X (ex: 1.X) estamos incluindo todas as versões representadas pelasubstituição do X por um número, exemplo: 1.0, 1.1, 1.2, 1.3 etc.

27 / 112

Page 34: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Julgue as seguinte sentenças marcando V se ela for verdadeira e F se for falsa:

[ V ] A linguagem UML aumentou o número de diagramas entre as versões 1.X e a 2.0.[ ] UML possui duas versões, a 1.3 e 2.0.[ ] A versão 2.0 é melhor que a 1.3 (pois possui mais diagramas).

28 / 112

Page 35: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

[ V ] A linguagem UML aumentou o número de diagramas entre as versões 1.X e a 2.0.[ F ] UML possui duas versões, a 1.3 e 2.0.[ F ] A versão 2.0 é melhor que a 1.3.

A UML possui diversas versões, as 1.3 e 2.0 foram marcos na linguagem, mas não são as únicasversões. A versão 2.0 não é melhor que a anterior, ela apenas atende outras necessidades.

FeedbackSe você achava que UML possuía apenas duas versões talvez tenha sido induzido(a) pelolivro texto, que apresenta apenas duas versões da linguagem.Não é esperado que você saiba precisamente quais as versões do UML, ou quais diagramasestão disponíveis em cada versão. Basta entender que existem as versões 1.X e 2.X, e quetalvez qualquer uma das versões atendam às suas necessidades.

2.5 Diferentes Visões de um Sistema

Questões desta seção

• O que são visões de um sistema?

• O que é a visão funcional do sistema?

• O que é a visão estrutural de um sistema?

• O que é a visão comportamental de um sistema?

• O que é a visão física de um sistema?

2.5.1 Visões do Sistema

LeituraO conteúdo referente a este tópico se encontra no livro texto, na Unidade B, Pág. 3 e 4, notópico: “A Linguagem UML e suas Visões”. Se você ainda não leu, faça isso antes deprosseguir.

2.5.1.1 Atividade: Identificando as características das visões

Cada visão do sistema representa diferentes aspectos sobre ele. Identifique as características de cadavisão relacionando-as na tabela a seguir.

Visões: Funcional, Estrutural, Comportamental e Física.

29 / 112

Page 36: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Visões do Sistema Definição Exemplo(s) deDiagrama(s)

Comportamental Representa o comportamento do sistema, ouseja, informa as sequências da comunicação,ou estágios de atividades, etc.

Diagrama deAtividades

Representa a interação com o mundo externoe as funcionalidades desse sistema

Caso de Uso

Representa a implantação da arquitetura dosistema em tempo de execução

Diagrama deComponente

Representa a estrutura estática do sistema, ouseja, as classes e objetos que fazem parte dosistema

Diagrama de Classe

30 / 112

Page 37: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

Visões do Sistema Definição Exemplo(s) deDiagrama(s)

Comportamental Representa o comportamento do sistema, ouseja, informa as sequências da comunicação,ou estágios de atividades, etc.

Diagrama deAtividades

Funcional Representa a interação com o mundo externoe as funcionalidades desse sistema

Caso de Uso

Física Representa a implantação da arquitetura dosistema em tempo de execução

Diagrama deComponente

Estrutural Representa a estrutura estática do sistema, ouseja, as classes e objetos que fazem parte dosistema

Diagrama de Classe

FeedbackNo primeiro momento, sem ter tido contato com UML, essas visões e diagramas podemnão ter significado para você. Mas por esta nomenclatura ser bastante utilizada em textostécnicos, é importante que você seja capaz de reconhecer o significado delas.Esperamos que, ao decorrer do curso, estas visões sejam mais significativas para você.

2.6 Escolha e Instalação de uma Ferramenta UML

Questões desta seção

• Quais ferramentas de UML gratuitas estão disponíveis?

• Qual a ferramenta de UML recomendada para mim?

• Onde baixar as ferramentas?

• Como instalar?

LeituraO conteúdo referente a este tópico se encontra no livro texto, na Unidade B, Pág. 4, notópico: “Ferramentas para construção de modelos UML”. Se você ainda não leu, faça issoantes de prosseguir.

2.6.1 Recomendações de ferramentas UML

Nós recomendamos as seguintes ferramentas UML:

StarUMLÉ uma ferramenta gratuita, que não está na tabela do livro texto, porém recomendada.Pode ser utilizada no Windows, Linux e Mac OS X.Disponível em http://staruml.io/download.

31 / 112

Page 38: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

UmbrelloOutra ferramenta gratuita, porém mais facilmente encontrada para plataforma Linux.Para mais informações acesse: https://umbrello.kde.org/installation.php.

Magic drawÉ uma ferramenta comercial bastante utilizada.Feita em java, pode ser utilizada no Windows, Linux e Mac OS X.Disponível em http://www.nomagic.com/products/magicdraw.html

DiaÉ uma ferramenta de diagramas genérica (bastante comum no Linux) gratuita, não é específicapara UML mas pode ser utilizada caso não haja outra ferramenta mais especializada. Pode serutilizada no Windows, Linux e Mac OS X.Disponível em http://dia-installer.de

2.6.2 Atividade: Instalando e executando uma Ferramenta

Durante o curso será necessário que você utilize uma ferramenta UML para desenhar os diagramasque iremos estudar. É importante que você a tenha disponível durante todo o curso.

• Escolha uma ferramenta UML, baixe e instale;

• Execute-a para verificar que ela está funcionando perfeitamente.

WikiNós preparamos um Wiki para auxiliá-lo(a) a escolher uma ferramenta. Nele você poderácontribuir com sugestões de outras ferramentas e vídeos demonstrando instalação ou exe-cução.

Acesso ao wikihttps://github.com/edusantana/analise-e-projeto-sistemas-livro/wiki/Ferramentas-UML

32 / 112

Page 39: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Parte II

Visão Estrutural

33 / 112

Page 40: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Capítulo 3

Diagrama de Classes

OBJETIVOS

Ao final deste capítulo você deverá se capaz de:

1. Entender o que é um diagrama de classe, explicando o seu propósito.

2. Entender as associações entre Classes, reconhecendo e exemplificando os 3 tiposmais comuns de associações: bidirecionais, unidirecionais e recursiva.

3. Entender o que é multiplicidade, inferindo a multiplicidade das associações apre-sentadas.

4. Entender os conceitos de agregação, composição e herança; classificando casosapresentados e exemplificando suas representações gráficas.

5. Entender como representar interfaces em UML, reconhecendo o relacionamentode realização.

6. Lembrar o que é dependência, coesão e acoplamento, reproduzindo os seus con-ceitos.

Alice está trabalhando no desenvolvimento de um novo ambiente virtual de EAD, numa equipe multi-disciplinar (pedagogos, especialistas em educação a distância, designers e analistas). Ela não entendede educação a distância, porém precisará conversar com os especialistas para projetar o sistema.

A partir dessa conversa ele pôde extrair algumas informações necessárias para o projeto estrutural dosistema que será desenvolvido.

Ao conversar com os especialistas, que não entendem de programação, ela sentiu a necessidade deexpressar graficamente o que pensou sobre a estrutura do sistema, que é formado pelas classes, objetose a relação entre essas entidades.

O modelo ideal para expressar graficamente suas ideias sobre a estrutura dos sistemas é o Digramade Classes.

3.1 Diagrama de Classes

Questões desta seção

• Qual o propósito do diagrama de classes?

34 / 112

Page 41: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

LeituraO conteúdo referente a este tópico se encontra no livro texto, na Unidade C, Pág. 1, notópico: “Diagrama de Classes”. Se você ainda não leu, faça isso antes de prosseguir.

3.1.1 Atividade: Explicando o Diagrama de Classe

O Diagrama de Classes é utilizado para descrever graficamente a estrutura de um sistema ou software.Descreva com suas palavras, utilizando um exemplo prático, o porque de se utilizar diagrama declasses.

DicaO texto no início do capítulo, sobre Alice e o sistema de EAD que ela pretende desenvolver,poderá servir de inspiração para sua resposta.

images/caixa9cm.svg

35 / 112

Page 42: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

O diagrama de classes serve para descrever os diversos tipos de objetos no sistema e o relaciona-mento que existe entre eles, sendo assim uma ótima forma de apresentação da estrutura de classes,objetos e métodos no sistema. Um possível exemplo é a distribuição de algumas classes de um sim-ples sistema de locação de livro, onde a classe Usuário terá acesso à classe Acervo que é compostada classe Livro.

3.2 Relacionamento entre Classes

Questões desta seção

• Quais são as possíveis associações entre classes?

• Como posso representá-las em UML?

LeituraO conteúdo referente a este tópico se encontra no livro texto, na Unidade C, Pág. 1, no tópico:“Relacionamento entre Classes”. Se você ainda não leu, faça isso antes de prosseguir.

Termo Técnico: AssociaçãoA associação é o termo comumente utilizado para descrever a relação entre classes. Aassociação permite que objetos de classes diferentes possam trocar mensagens e interagirpara a realização de alguma tarefa..

3.2.1 Atividade: Reconhecendo as Associações entre Classes

Quais tipos de associação estão representados nas figuras a seguir?

images/diagrama_classes/reconhecendo_associacoes_entre_classes.svg

JustificativaA primeira associação é recursiva porque a classe está se relacionando com ela própria. Umobjeto da classe Pessoa poderá ter uma associação, chamada de conjugue, com outroobjeto da mesma classe.

36 / 112

Page 43: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

images/diagrama_classes/reconhecendo_associacoes_entre_classes_resposta.svg

JustificativaA primeira associação é recursiva porque a classe está se relacionando com ela própria. Umobjeto da classe Pessoa poderá ter uma associação, chamada de conjugue, com outroobjeto da mesma classe.A classe aula pode enviar mensagens para a classe tarefa, mas o contrário não ocorre (nãoexiste tarefa sem uma aula, mas pode existir aula sem tarefas).A terceira associação é bidirecional pois tanto os funcionários são acessíveis a partir dosobjetos da classe Projeto, como os projetos são acessíveis a partir dos objetos da classeFuncionario.

37 / 112

Page 44: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

O primeiro exemplo mostra uma associação bidirecional, onde vários funcionários podem ter váriosprojetos e vice-versa. No segundo exemplo mostra uma associação recursiva, onde o marido é casadocom uma esposa e a esposa é casada com um marido.

3.2.2 Atividade: Exemplificando as Associações

Tenho certeza de que agora você é capaz de mostrar outros exemplos de associações Unidirecionais,Bidirecionais e Recursiva. Utilize os espaços seguintes para desenhar um exemplo de cada associação.

Associação Unidirecional:

images/caixa6cm.svg

Associação Bidirecional:

images/caixa6cm.svg

Associação Recursiva:

images/caixa6cm.svg

DicaMesmo que você esteja no computador, tente desenhar utilizando uma caneta, lembre-seque este será o único recurso disponível durante a avaliação presencial.

38 / 112

Page 45: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta

Esta atividade não possui uma resposta única, pois é diferente para cada aprendente e através daatividade “Reconhecendo as Associações entre Classes” você é capaz de respondê-la.

3.3 O que é Multiplicidade?

Questões desta seção

• O que é multiplicidade?

• Como posso representá-las em UML?

• Como inferir a multiplicidade nos diferentes casos?

LeituraO conteúdo referente a este tópico se encontra no livro texto, na Unidade C, Pág. 2, no tópico:“Relacionamento entre Classes”. Se você ainda não leu, faça isso antes de prosseguir.

Termo Técnico: IntervalosO intervalo que representa a multiplicidade pode ser de zero para um (0..1), zero paravários (0..*) ou apenas (*) que representa muitos, um para vários (1..*), 5 para 11(5..11) e assim por diante. Se não for descrito nenhuma multiplicidade, então é conside-rado o padrão de um para um (1..1 ou apenas 1).

3.3.1 Atividade: Inferindo a Multiplicidade das Associações

Observe os exemplos de diagrama e complete as associações de multiplicidades que estão em branco.

39 / 112

Page 46: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

40 / 112

Page 47: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

No primeiro diagrama o dono pode ter vários cachorros ou nenhum, já o cachorro só pode ter umdono. No segundo diagrama uma casa pode ter, pelo menos, uma porta e a porta só tem uma casa. Oterceiro diagrama o apartamento pode ter uma ou várias salas, pode ter várias ou nenhuma varanda, asala só tem uma varanda, a varanda só tem uma sala e um apartamento.

3.4 Agregação, Composição e Herança

Questões desta seção

O que é Agregação, Composição e Herança? Como representar Agregação, Composição e He-rança?

LeituraO conteúdo referente a este tópico se encontra no livro texto, na Unidade C, Pág. 4 e 5, notópico: “Agregação”, “Composição” e “Generalização/Especialização”. Se você ainda nãoleu, faça isso antes de prosseguir.

3.4.1 Atividade: Classificando em Agregação, Composição ou Herança

Observe os exemplos de Agregação, Composição e Herança e nos exemplos em branco identifiqueque tipo de relação o diagrama apresentará.

Agregação: A classe Tijolo “é parte” da classe Casa. Uma Casa é composta de Tijolos, porém outrosobjetos são formados por Tijolos, como um muro por exemplo.

Composição: O Funcionário faz parte da Empresa, se não existir Empresa não existe Funcionário.Sem Funcionário não funciona uma Empresa, pois a Empresa é composta de Funcionários.

41 / 112

Page 48: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Herança: A classe Funcionário herda implicitamente todos os métodos e atributos da classe Pessoae ainda tem seus atributos específicos.

( ) Agregação ( ) Composição ( ) Herança

( ) Agregação ( ) Composição ( ) Herança

42 / 112

Page 49: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

O primeiro exemplo em branco de diagrama, a classe ItemPedido é composta da classe Pedido.No segundo, a classe Carrinho é uma agregação da classe Produto.

3.4.2 Atividade: Exemplificando Agregação, Composição e Herança

Tenho certeza de que agora você é capaz mostrar outros exemplos de Agregação, Composição eHerança, então chegou a sua vez! Utilize os espaços seguintes para desenhar um exemplo de cadacaso.

DicaTer bastante atenção na notação gráfica. Por exemplo: Em UML a agregação é representadapor uma linha com um diamante vazado do lado da classe que contém.

Agregação:

images/caixa6cm.svg

Composição:

images/caixa6cm.svg

Herança:

images/caixa6cm.svg

43 / 112

Page 50: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta

FeedbackEsta atividade não possui uma resposta única, pois é diferente para cada aprendente eatravés da Seção 3.4.1 [41] você é capaz de respondê-la.

3.5 Interfaces em UML

Questões desta seção

• Como representar interfaces e suas relações em UML?

LeituraO conteúdo referente a este tópico se encontra no livro texto, na Unidade C, Pág. 6, no tópico:“Relacionamento de Realização”. Se você ainda não leu, faça isso antes de prosseguir.

3.5.1 Atividade: reconhecendo o relacionamento de Realização

A primeira unidade do livro texto já apresentou os conceitos desse objetivo, com isso, você é capazde classificar e explicar os exemplos a seguir em Herança ou Realização.

images/caixa3cm.svg

images/caixa3cm.svg

44 / 112

Page 51: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

O primeiro exemplo é uma relação de Realização porque as classes concretas TelefoneFixo,TelefoneCelular e VideoFone estão implementando da interface, ou seja, essas classes con-cretas têm que implementar os métodos da interface.

O segundo exemplo apresenta uma interface, pois não tem nenhuma classe concreta se comunicandocom ela.

3.6 Dependência, Coesão e Acoplamento

Questões desta seção

• Reconhecer a Dependência, Coesão e Acoplamento

LeituraO conteúdo referente a este tópico se encontra no livro texto, na Unidade C, Pág. 6 à 8, notópico: “Relacionamento de Dependência” e “Coesão e Acoplamento”. Se você ainda nãoleu, faça isso antes de prosseguir.

NotaÉ importante que o projetista busque sempre por soluções com alta coesão e baixo acopla-mento (dependência entre classes).

3.6.1 Atividade: Reproduzindo Conceitos

Explique, com suas palavras, qual a importância da coesão e do acoplamento dentro de um sistema.

images/caixa6cm.svg

45 / 112

Page 52: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

Coesãoé importante por que deixa as classes com suas responsabilidades mais reservada a elas mesmas,podendo ser reutilizada posteriormente sempre que necessário.

Acoplamentoé a comunicação de uma classe com outras, ou seja, quanto mais relacionamento entre duas oumais classes, mais alto é o acoplamento.

46 / 112

Page 53: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Capítulo 4

Diagrama de Objetos

OBJETIVOS

Ao final deste capítulo você deverá se capaz de:

1. Entender o que é um diagrama de objetos, explicando o seu propósito e interpre-tando um diagrama apresentado.

4.1 O que é um diagrama de objetos?

LeituraO conteúdo referente a este tópico se encontra no livro texto, na Unidade C, Pág. 8 à 9, notópico: “Diagrama de Objetos”. Se você ainda não leu, faça isso antes de prosseguir.

4.1.1 Atividade: interpretando um diagrama de objetos

A equipe de Alice esteve trabalhando na diagramação de um sistema para EAD. Um dos analistas daequipe desenhou o seguinte diagrama de classes (Figura 4.1 [47]):

images/diagrama_objetos/atividades_detalhes.svg

Figura 4.1: Diagrama de classes evidenciando as classes reclacionadas com Atividade

Ao observar este diagrama de classes Alice entendeu que a super classe DetalhesDeAtividade,tem o propósito de adicionar novas informações aos objetos da classe Atividade. Por exemplo, emvez de adicionar um atributo PrazoFinal na classe Atividade, o projetista optou por estenderas funcionalidades através da composição de objetos do tipo DetalhesDeAtividade.

47 / 112

Page 54: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

NotaNão é esperado que você chegue a esta mesma conclusão de Alice ao interpretar este di-agrama. Por enquanto é suficiente compreender apenas o significado de sua conclusão:estender as funcionalidades através da composição. Uma analogia seria pensar em um ob-jeto do tipo Carro, e uma classe abstrata do tipo Acessório. Sempre que adicionamos umAcessório ao carro, estamos estendendo a sua funcionalidade. Neste analogia a Atividaderepresentaria o Carro, e as novas funcionalidades adicionadas serão do tipo DetalhesDeA-tividade.

Além disso, pelo diagrama de classe pode-se concluir que:

• Uma Atividade pode possuir zero ou muitos objetos de Anexo.

• Uma Atividade pode possuir zero ou muitos objetos de DetalhesDeAtividade.

• Uma Atividade pode ser do tipo AtividadePresencial, SubmissaoDeArquivo ouQuestionario. (O itálico nos nomes das classes Atividade e AtividadeOnLine indicamque são classes abstratas).

Mas Alice ficou com algumas dúvidas, será que uma Atividade pode possuir mais um objeto dos tiposPrazoFinal ou HorarioDeRealizacao?

Para compreender melhor ela se reuniu com os especialistas em EAD e produziu diagramas de objetos,que ilustram duas situações. O seu trabalho será interpretar o último diagrama elaborado pela Alice:

1. Diagrama contendo um possível exemplo de atividade presencial:

images/diagrama_objetos/atividade_pratica_laboratorio.svg

Registre sua interpretação deste diagrama:

images/diagrama_objetos/resposta_atividade_pratica_laboratorio.svg

2. Diagrama contendo um possível exemplo de atividade de submissão de arquivo:

images/diagrama_objetos/atividades_submissao_arquivo.svg

Agora é a sua vez, registre sua interpretação deste diagrama:

images/caixa12cm.svg

48 / 112

Page 55: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

Interpretação do segundo diagramaO segundo diagrama apresenta um exemplo de uma atividade SubmissaoDeArquivo. Nelepercebemos que o professor iria anexar um arquivo modelo para os alunos utilizarem na suaprodução textual. A atividade possui um PrazoFinal único, que também é utilizado pelo crité-rio de avaliação, da classe NotaDiminuiComPrazo, em que a pontuação sofre uma quedaproporcional ao prazo final da atividade (segundo as notas no diagrama). Além disso, os alu-nos poderão avaliar as atividades que os outros realizaram, utilizando os critérios de avaliaçãoespecificados (isto é bastante comum em MOOCs).

Com estes diagramas é inconclusivo se uma atividade possuir mais de um PrazoFinal é umasituação indesejada, apesar de ser uma configuração possível.

FeedbackAo ler este diagrama de objetos, é essencial que você compreenda que existe um ob-jeto chamado ModeloDoTrabalho, que é do tipo Anexo e que está associado aoobjeto ProducaoTextual do tipo SubmissaoDeArquivo (que é uma subclasse deAtividadeOnLine).A notação ModeloDoTrabalho:Anexo informa que existe um objeto nomeado deModeloDoTrabalho e que é da classe Anexo. O traço entre este objeto e oProducaoTextual representa uma associação existente entre estes dois objetos.Neste diagrama não há a informação de que SubmissaoDeArquivo é subclasse deAtividadeOnLine, para reconhecer isto é preciso consultar o diagrama de classes (Fi-gura 4.1 [47]) e perceber a notação de especialização (o triangulo) no final da seta entre asduas classes.Muitos comentários foram colocados no diagrama através de Notas, que estão ligadas aosobjetos. Este comentários auxiliam informar o significado dos objetos e o relacionamentoentre eles. Ao elaborar seus diagramas é sempre bom adicionar notas explicativas.

4.1.2 Atividade: explicando o propósito do diagrama de objetos

O diagrama de objetos é um recurso que a linguagem UML oferece para representar determinadasinformações sobre o sistema. Interpretá-lo é uma habilidade necessária para alguém envolvido nodesenvolvimento de sistemas, principalmente para ter acesso às informações registradas pelos demaismembros da equipe.

Responda: para você, qual o propósito do diagrama de objetos?

images/caixa6cm.svg

49 / 112

Page 56: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

O diagrama de objetos tem o propósito de comunicar as relações entre objetos, contextualizando quaisos valores e relações que os objetos deveriam possuir para atender à uma situação que se desejarrepresentar pelo diagrama.

FeedbackSe você informou que o diagrama de objetos representa as informações dos objetos em umdado instante, também está correto. O propósito deste diagrama é mostrar como as instân-cias da classe poderiam estarem associadas na execução do sistema, em um determinadoinstante.Você pode desenhar um diagrama para cada instante que considere pertinente representar.Na atividade anterior, os diagramas foram elaborados para registrar as respostas às dúvidasque Alice possuía.

50 / 112

Page 57: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Parte III

Visão Funcional

51 / 112

Page 58: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Capítulo 5

Diagrama de Caso de Uso

OBJETIVOS

Ao final deste capítulo você deverá se capaz de:

1. Entender o que são atores e casos de usos, explicando os seus conceitos.2. Lembrar como identificar atores e casos de uso, reproduzindo as perguntas e téc-

nicas mais comuns para essa identificação.3. Entender como funciona a descrição textual de um caso de uso, exemplificando

um cenário principal de sucesso e suas extensões.4. Entender o diagrama de caso de uso, reconhecendo suas notações gráficas em

UML.5. Entender o relacionamento entre atores, exemplificando uma relação de herança.6. Entender os relacionamento entre casos de uso, reconhecendo uma Inclusão, Ex-

tensão ou Herança.

Alice ainda está trabalhando no desenvolvimento de um novo ambiente virtual de EAD, numa equipemultidisciplinar. Na primeira semana, após várias reuniões com membros da equipe, ela conseguimodelar o projeto estrutural do sistema.

Alice utilizou uma ferramenta de UML conhecida como Digrama de Classes para expressar grafica-mente a estrutura do sistema. Porém, o desenvolvimento do sistema continua e surgiu a necessidadede expressar suas funcionalidades e a forma como as pessoas envolvidas poderão utilizá-lo. Essaparte do sistema, conhecida como visão funcional, também precisava ser expressada graficamente,para que os outros membros da equipe pudessem entender.

Após algumas pesquisas ela chegou a conclusão que a ferramenta ideal para expressar graficamente avisão funcional do sistema seria um Diagrama de Casos de Uso.

Para elaborar esse diagrama, Alice terá que identificar quem são as pessoas, sistemas, ou entidadesexternas que interagem com o sistema que está sendo modelado e também suas funcionalidades.

Elementos de organização prévia

• Para realizar os estudos deste capítulo você precisará do livro Análise e Projeto de Sistemas deInformação Orientados a Objetos.

• Para realizar as atividades desta capítulo no computador baixe o aquivo /atividades/cap5-atividades.docx[cap5-atividades.docx] acessando http://goo.gl/vUjuiW.

52 / 112

Page 59: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

5.1 Atores e Casos de uso

Questões desta seção

• O que são Atores?

• O que são Casos de Uso?

LeituraO conteúdo referente a este tópico se encontra no livro texto, na Unidade D, Pág. 1, no tópico:“Introdução aos Casos de Uso”. Se você ainda não leu, faça isso antes de prosseguir.

5.1.1 Atividade: explicando o que são Atores e Casos de Uso

O Diagrama de Caso de Uso é o mais flexível e informal da UML, sendo utilizado normalmentepara identificar os tipos de usuários que interagem com o sistema permitindo que qualquer pessoacompreenda o comportamento externo do sistema.

Explique, com suas palavras:

O que são Atores em UML?

images/caixa6cm.svg

O que são Casos de Uso em UML?

images/caixa6cm.svg

53 / 112

Page 60: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

Os elementos básicos do Diagrama de Casos de Uso são os atores, caso de uso, associações e osistema.

Os atores representam os papéis desempenhados pelos diversos usuários que poderão utilizar ouinteragir com os serviços e funções do sistema. Pode ser qualquer elemento externo que interaja como sistema, inclusive um software ou hardware. Exemplos típicos: cliente, aluno, supervisor, professor,impressora fiscal, dispositivo de conexão de rede etc.

O caso de uso referem-se aos serviços, tarefas ou funções que podem ser utilizados pelos usuáriosdo sistema; São usados para expressar e documentar os comportamentos das funções do sistema; Emgeral, podemos associar um caso de uso a uma tela (ou página) de um sistema, apesar de isto não seruma regra; Contém um texto descrevendo o serviço (iniciando-se com um verbo).

FeedbackVocê pode perceber que no Diagrama de Casos de Uso os atores e os casos de usosão fundamental para o entendimento das relações do sistema, principalmente para umaapresentação formal do sistema para pessoas que não então envolvidas diretamente com odesenvolvimento do sistema. Pois ele possibilita um entendimento generalizado das funcio-nalidades.

5.2 Identificando Atores e Casos de Uso

Questões desta seção

• Como identificar os atores de um sistema?

• Como identificar os casos de uso de um sistema?

• Quais as técnicas e perguntas mais comuns para essas identificações?

LeituraO conteúdo referente a este tópico se encontra no livro texto, na Unidade D, Pág. 1, no tópico:“Introdução aos Casos de Uso”. Se você ainda não leu, faça isso antes de prosseguir.(Já foi solicitada esta leitura na seção anterior.)

NotaA identificação dos casos de uso não é trivial. Lembre-se que um caso de uso deve represen-tar uma macroatividade que gere um valor observável para o ator ou satisfaça um objetivoparticular de um ator que o sistema deve prover.

5.2.1 Atividade: técnicas para identificação de Atores e Casos de Uso

Para identificar atores deve-se perguntar: quem usa o sistema? Quem inicializa o sistema? Dentreoutras perguntas, já para a identificação do caso de uso deve-se satisfazer um objetivo particular de

54 / 112

Page 61: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

um ator no sistema ou representar uma macroatividade. Com isso, observe os exemplos e identifiqueos atores e os casos de uso de cada exemplo.

Exemplos Atores Casos de UsoLoja de CDsUma loja de CDs possui discos para venda. Umcliente pode comprar uma quantidade ilimitada dediscos para isto ele deve se dirigir à loja. A loja possuium atendente cuja função é atender os clientes durantea venda dos discos. A loja também possui um gerentecuja função é administrar o estoque para que nãofaltem discos. Além disso é ele quem dá folga aoatendente, ou seja, ele também atende os clientesdurante a venda dos discos.

Gerente,Atendente

Vender Cds,Administrarestoque

Compra OnlineO cliente folheia o catálogo e seleciona itens paraadicionar na cesta de compras. Quando o clientedeseja fechar a compra, deve informar os dados docartão de crédito e confirmar a compra. O sistemaautoriza a venda junto à operadora do cartão e notificao cliente, tanto de forma síncrona (na tela), quanto deforma assíncrona (via e-mail).

(identifique aqui) (identifique aqui)

55 / 112

Page 62: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

Exemplos Atores Casos de UsoCompra OnlineO cliente folheia o catálogo e seleciona itens paraadicionar na cesta de compras. Quando o clientedeseja fechar a compra, deve informar os dados docartão de crédito e confirmar a compra. O sistemaautoriza a venda junto à operadora do cartão e notificao cliente, tanto de forma síncrona (na tela), quanto deforma assíncrona (via e-mail).

Cliente; Sistemade autorização decartão

Comprarprodutos

FeedbackIdentificar Atores e Casos de uso nem sempre é uma tarefa fácil, porém basta buscar, quandotiver lendo a descrição em linguagem natural do sistema, os candidatos a caso de uso queutilizam verbos e para os candidatos a atores os substantivos, como por exemplo: O clienteentra na loja para comprar produtos. . . O porteiro registra [a chegada de] encomen-das. . .

5.3 Descrição textual de Casos de Uso

Questões desta seção

• O que é uma descrição textual de um caso de uso?

• Como posso representá-las em UML?

Termo Técnico: Cenário principal de sucessoDamos o nome de cenário principal de sucesso, àquela sequência de passos que descrevea situação mais comum do sistema modelado. Naturalmente, a situação mais comum é amais fácil de ser levantada.

LeituraO conteúdo referente a este tópico se encontra no livro texto, na Unidade D, Pág. 2, notópico: “Descrição Textual de um Caso de Uso”. Se você ainda não leu, faça isso antes deprosseguir.

5.3.1 Atividade: Descrição Textual do Caso de Uso

Um caso de uso representa uma sequência de ações e sua descrição textual serve como documentonarrativo para descrever essa sequência de eventos ou ações. Através dos textos a seguir, identifiqueos que formam casos de uso ou não, como mostra o primeiro exemplo.

56 / 112

Page 63: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Exemplos Caso deUso

Justificativa

Cadastramento ClienteO cliente inicia o cadastro preenchendo aficha cadastral e enviando a documentaçãonecessária para o dep. de cadastro. Oassistente de cadastro examina adocumentação enviada. Estando adocumentação em ordem, o gerente decadastro valida os dados da ficha cadastral emarca o cliente como aprovado.Se houverem problemas com os documentosenviados, o assistente de cadastro informa adocumentação irregular. O cliente envia adocumentação regularizada para o assistentede cadastro.

(X) Sim( ) Não

Esse exemplo descreve odetalhamento do caso de uso, ouseja, as etapas que sãonecessárias para a realização docadastramento de um cliente.

Serviço de EntregaEstamos criando um serviço de entregas.Nossos clientes podem nos requisitar aentrega de volumes. Alguns volumes sãoconsiderados de maior valor por nossosclientes, e, portanto, eles querem ter taisvolumes segurados durante o transporte.Contratamos uma companhia de seguro parasegurar volumes de valor.

( ) Sim( ) Não

57 / 112

Page 64: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

Exemplos Caso deUso

Justificativa

Cadastramento ClienteO cliente inicia o cadastro preenchendo aficha cadastral e enviando a documentaçãonecessária para o dep. de cadastro. Oassistente de cadastro examina adocumentação enviada. Estando adocumentação em ordem, o gerente decadastro valida os dados da ficha cadastral emarca o cliente como aprovado.Se houverem problemas com os documentosenviados, o assistente de cadastro informa adocumentação irregular. O cliente envia adocumentação regularizada para o assistentede cadastro.

(X) Sim( ) Não

Esse exemplo descreve odetalhamento do caso de uso, ouseja, as etapas que sãonecessárias para a realização docadastramento de um cliente.

Serviço de EntregaEstamos criando um serviço de entregas.Nossos clientes podem nos requisitar aentrega de volumes. Alguns volumes sãoconsiderados de maior valor por nossosclientes, e, portanto, eles querem ter taisvolumes segurados durante o transporte.Contratamos uma companhia de seguro parasegurar volumes de valor.

( ) Sim(X) Não

Esse exemplo não descreve asetapas de um determinado casode uso, ele descreve todo umcenário para a identificação decasos de usos e atores.

FeedbackNa contextualização de um caso de uso a descrição textual do caso de uso vai conter ahistória do caso de uso, fale sobre ele, ofereça detalhes ao leitor sem oferecer minuciastécnicas, mas contando a visão do negócio, lembrando que este documento é a transiçãoentre o negócio e o design, este documento deve ser capaz de alimentar diagrama de clas-ses, diagrama de sequência, determinar regras, validações, mensagens a serem exibidas aousuário.

5.4 Descrição textual de Casos de Uso

Questões desta seção

• Como é um Ator?

• Como é um Diagrama de caso de uso?

• Como posso representá-los em UML?

58 / 112

Page 65: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

LeituraO conteúdo referente a este tópico se encontra no livro texto, na Unidade D, Pág. 2 e 3,no tópico: “Diagrama de Casos de Uso”. Se você ainda não leu, faça isso antes deprosseguir.

5.4.1 Atividade: Reconhecendo Atores e Casos de Uso

Alice conseguiu modelar o projeto estrutural do sistema em que está trabalhando (como apresentadono texto do início deste guia), esse modelo está representado no Diagrama de Caso de Uso (Figura 5.1[59]) apresentado a seguir com alguns elementos do sistema.

images/casos_de_uso/fig1.svg

Figura 5.1: Diagrama de Caso de Uso elaborado por Alice

Identifique marcando com um X quem são os atores e os casos de uso do sistema:

images/casos_de_uso/ator_ou_caso_de_uso.svg

59 / 112

Page 66: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

images/casos_de_uso/ator_ou_caso_de_uso_resposta.svg

FeedbackO reconhecimento dos atores e dos casos de uso graficamente se dá respectivamente, pelosímbolo de um “boneco” e de uma elipse.

5.5 Relacionamento entre Atores

Questões desta seção

• Quais Relacionamentos Existentes entre Atores?

• Diferença entre esses Relacionamentos?

Relações entre AtoresAs duas relações mais comuns entre atores são a comunicação (ou associação) e a espe-cialização (ou generalização).

ComunicaçãoUm relacionamento de comunicação indica que os dois atores, de forma uni ou bidire-cional, realizam uma troca de informação ou de mensagem, que possui um significadoformal para o sistema modelado.

GeneralizaçãoUm relacionamento de generalização, por outro lado, representa uma relação concei-tual entre atores indicando que um ator é um caso especial de outro ator mais genérico.Esta relação indica que o ator especializado inclui (herda) todos os atributos do atorgenérico e inclui ainda atributos adicionais, ou seja, o ator especializado estende o atorgenérico.

LeituraO conteúdo referente a este tópico se encontra no livro texto, na Unidade D, Pág. 4 a 6, notópico: “Relacionamentos entre Atores e Casos de Uso”. Se você ainda não leu, faça issoantes de prosseguir.

5.5.1 Atividade: identificando as relações entre Atores

Dados os exemplos identifique os tipos de relações entre Atores justificando sua resposta.

60 / 112

Page 67: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Exemplos Generalizaçãoou Associação? Justificativa

images/casos_de_uso/aluno_solicita_histotico_secretaria.svgAssociação

A relação do Aluno com aSecretaria é de associação porquetransmiti uma Solicitação deHistórico Escolar, ou seja, o alunoapenas se comunica com asecretaria solicitando o histórico.

Um Atendente tem a função deajudar o cliente na venda doproduto; O Gerente organiza asfolgas do atendente, ajudando aocliente na venda do produto quandoo atendente esta de folga.

61 / 112

Page 68: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

Exemplos Generalizaçãoou Associação? Justificativa

images/casos_de_uso/aluno_solicita_histotico_secretaria.svgAssociação

A relação do Aluno com aSecretaria é de associação porquetransmiti uma Solicitação deHistórico Escolar, ou seja, o alunoapenas se comunica com asecretaria solicitando o histórico.

Um Atendente tem a função deajudar o cliente na venda doproduto; O Gerente organiza asfolgas do atendente, ajudando aocliente na venda do produto quandoo atendente esta de folga.

Generalização

A relação do Atendente com oGerente é de Generalização porqueo gerente organiza as folgas doAtendente ele faz também o papeldo Atendente quando esta de folga,ou seja, herda essa função.

5.6 Relacionamento entre Casos de Uso

Questões desta seção

• Quais Relacionamentos Existentes entre Atores?

• Diferença entre esses Relacionamentos?

LeituraO conteúdo referente a este tópico se encontra no livro texto, na Unidade D, Pág. 4 a 6, notópico: “Relacionamentos entre Atores e Casos de Uso”. Se você ainda não leu, faça issoantes de prosseguir.

5.6.1 Atividade: reconhecendo os relacionamentos

Preencha a tabela com os tipos de relações entre Casos de Uso justificando sua resposta de acordocom o exemplo de diagrama.

images/casos_de_uso/reconhecendo_relacionamentos.svg

Relação Resposta JustificativaDa classeCadastrar com aclasse AcessarSistema

( ) Inclusão(X) Extensão( ) Herança ouGeneralização ouEspecialização

A relação é de extensão porque o cadastro decliente, fornecedor ou produto pode serrealizado em qualquer momento no sistema enão toda vez que entrar no sistema.

62 / 112

Page 69: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Relação Resposta JustificativaDa classe FornecerIdentificaçãocom a classeAcessarSistema.

( ) Inclusão( ) Extensão( ) Herança ouGeneralização ouEspecialização

Da classe AgendarHorário com aclasse AcessarSistema

( ) Inclusão( ) Extensão( ) Herança ouGeneralização ouEspecialização

Da classeCadastrarProduto com aclasse Cadastrar

( ) Inclusão( ) Extensão( ) Herança ouGeneralização ouEspecialização

63 / 112

Page 70: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

Relação Resposta JustificativaDa classeCadastrar com aclasse AcessarSistema

( ) Inclusão(X) Extensão( ) Herança ouGeneralização ouEspecialização

A relação é de extensão porque o cadastro decliente, fornecedor ou produto pode serrealizado em qualquer momento no sistema enão toda vez que entrar no sistema.

Da classe FornecerIdentificaçãocom a classeAcessarSistema.

(X) Inclusão( ) Extensão( ) Herança ouGeneralização ouEspecialização

A relação é de inclusão da classe FornecerIdentificação com a classe Acessar Sistema,pois precisa se identificar para acessar osistema.

Da classe AgendarHorário com aclasse AcessarSistema

( ) Inclusão(x) Extensão( ) Herança ouGeneralização ouEspecialização

A relação é de extensão porque oagendamento de horário pode ser realizadoem qualquer momento no sistema.

Da classeCadastrarProduto com aclasse Cadastrar

( ) Inclusão( ) Extensão(X) Herança ouGeneralização ouEspecialização

A relação é de generalização porque a classede cadastro do produto herda as principaiscaracterísticas da classe Cadastrar.

64 / 112

Page 71: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Parte IV

Visão Comportamental

65 / 112

Page 72: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Nos capítulos seguintes nós daresmos início ao estudo de modelagem da visão comportamental dosistema.

66 / 112

Page 73: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Capítulo 6

Diagramas Comportamentais ou de Interação

OBJETIVOS

Ao final deste capítulo você deverá se capaz de:

1. Lembrar o que é visão comportamental, reconhecendo o conceito de visão com-portamental e seus principais diagramas.

2. Entender o que é um diagrama de sequência, exemplificando os principais ele-mentos do diagrama de sequência.

3. Entender quais são os tipos de mensagens, reconhecendo quais são as mensagenssíncronas e assíncronas no diagrama de sequência.

4. Entender Mensagens especiais, comparando a mensagem create e a destroy.

5. Lembrar o que são mensagens condicionais, reconhecendo as representações grá-ficas das mensagens condicionais.

6. Entender os novos recursos da UML2 para diagramas de interação, exemplifi-cando os novos operadores de UML 2.

7. Entender o Diagrama de Comunicação, exemplificando seus principais elementosobjetos, associações (ou links) e mensagens.

Alice ainda está trabalhando no desenvolvimento de um novo ambiente virtual de EAD, numa equipemultidisciplinar. Na primeira semana, após várias reuniões com membros da equipe, ela conseguimodelar o projeto estrutural do sistema. Na segunda semana ela utilizou o diagrama de casos de usopara expressar graficamente a visão funcional do sistema.

Até então Alice conseguiu modelar a parte estática do sistema, ou seja, como o sistema é formado.Nessa etapa Alice enfrenta a dificuldade de modelar a parte dinâmica do sistema, também conhecidacomo visão comportamental.

A visão comportamental tenta descrever o comportamento do sistema ou de partes dele em um de-terminada intervalo de tempo de acordo com uma ocasião. O aspecto temporal agora se torna algoimportante da modelagem.

Para modelar o aspecto comportamental do sistema, Alice decidiu utilizar UML, que suporta váriosdiagramas comportamentais. Os diagramas de sequência, de comunicação, de estados e de atividades,são os principais diagramas utilizados para essa tarefa.

67 / 112

Page 74: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

6.1 Visão Comportamental

OBJETIVO DA SEÇÃO

Lembrar o que é visão comportamental, reconhecendo o conceito de visão comporta-mental e seus principais diagramas.

Questões a serem avaliadas

• O que é Visão comportamental do sistema;

• Quais são os diagramas utilizados para descrever a visão comportamental.

LeituraNo livro texto este conteúdo é abordado na Unidade B, Pág. 3, no tópico: “A linguagem UMLe suas Visões” e na Unidade E Pág. 42, no tópico: “Introdução aos Diagramas de Interação”.Se você ainda não leu, faça isso antes de prosseguir.

6.1.1 Atividade: reconhecendo o conceito de visão comportamental e seusprincipais diagramas

Indique, marcando um X, qual das seguintes sentenças representa a visão comportamental:

( ) Visão que representa a interação com o mundo externo e as funcionalidades desse sistema.( ) Visão que representa os comportamentos e procedimentos necessários para implantar os siste-mas.( ) Visão que representa o comportamento do sistema, ou seja, informa as sequências da comunica-ção, ou estágios de atividades, etc.( ) Visão que representa a estrutura estática do sistema, ou seja, as classes e objetos que fazem partedo sistema.

Quais os principais diagramas que compõem a visão comportamental em UML?

[X] Diagrama de atividade[ ] Diagrama de caso de uso[ ] Diagrama de classes[ ] Diagrama de comunicação (ou colaboração)[ ] Diagrama de componentes[ ] Diagrama de interação[ ] Diagrama de objetos[ ] Diagrama de pacotes[ ] Diagrama de sequência[ ] Diagrama de transição de estados ou de estados

68 / 112

Page 75: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

(X) Visão que representa o comportamento do sistema, ou seja, informa as sequências da comunica-ção, ou estágios de atividades, etc.

Os principais diagramas que compõem a visão é comportamental do sistema são:

[X] Diagrama de atividade[ ] Diagrama de caso de uso[ ] Diagrama de classes[X] Diagrama de comunicação (ou colaboração)[ ] Diagrama de componentes[X] Diagrama de interação[ ] Diagrama de objetos[ ] Diagrama de pacotes[X] Diagrama de sequência[X] Diagrama de transição de estados ou de estados

FeedbackCaso você tenha dificuldades em lembrar o que é visão comportamental do sistema reco-mendo ler a unidade B novamente.

6.2 Diagrama de Sequência

OBJETIVO DA SEÇÃO

Entender o que é um diagrama de sequência, exemplificando os principais elementosdo diagrama de sequência.

Questões a serem avaliadas

• O que é e para que serve um diagrama de sequência;

• Quais são seus principais elementos.

LeituraNo livro texto este conteúdo é abordado na Unidade E, Pág. 42, no tópico: “Diagrama deSequência”. Se você ainda não leu, faça isso antes de prosseguir.

Termo técnico: fluxos de controleRefere-se à ordem em que as instruções, expressões e chamadas de funções são executa-das. Ou seja, é a ordem das mensagens entre os objetos no diagrama de sequência.

69 / 112

Este não é um feedback apropriado. Solicitar releitura não é solução, podemos indicar outras mídias. Recomendo a utilização do wiki do livro para compartilhar mídias sobre o assunto.
Page 76: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

6.2.1 Atividade: exemplificando os principais elementos do diagrama desequência

Um diagrama de sequência descreve a maneira como os grupos de objetos colaboram em algumcomportamento ao longo do tempo. No diagrama de sequência apresentado identifique os principaiselementos explicando, com suas palavras, o que cada elemento representa como mostra o exemplo.

images/diagrama_sequencia/fig1ABCD.svg

( ) Linhas de vida

(1) Objeto Os objetos representam as instâncias das classes representadas noprocesso.

( ) Barra de ativação

( ) Mensagem

70 / 112

Page 77: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

(4) Linhas de vida As linhas de vida compõem a dimensão vertical indicando quandoo objeto está ativo.

(1) Objeto Os objetos representam as instâncias das classes representadas noprocesso.

(3) Barra de ativação A barra de ativação indica o período de tempo no qual um objetoestá executando uma ação.

(2) Mensagem As mensagens saem do objeto emissor para o objeto receptor,indicando a operação de chamada.

Em síntese: o Diagrama de Sequência é uma das ferramentas UML usadas para representar interaçõesentre objetos de um cenário, realizadas através de operações ou métodos (procedimentos ou funções).Este diagrama é construído a partir do Diagrama de Casos de Usos. Primeiro, define-se qual o papel dosistema (Use Cases), depois, é definido como o software realizará seu papel (Sequência de operações).

O diagrama de sequência dá ênfase a ordenação temporal em que as mensagens são trocadas entre osobjetos de um sistema. Entende-se por mensagens os serviços solicitados de um objeto a outro, e asrespostas desenvolvidas para as solicitações.

6.3 Mensagens Síncronas e Assíncronas

OBJETIVO DA SEÇÃO

Entender quais são os tipos de mensagens, reconhecendo quais são as mensagens sín-cronas e assíncronas no diagrama de sequência.

Questões a serem avaliadas

• O que é uma troca de mensagem síncrona e assíncrona;

• Qual a diferença entre elas.

LeituraNo livro texto este conteúdo é abordado na Unidade E, Pág. 43, no tópico: “Tipos de Men-sagens”. Se você ainda não leu, faça isso antes de prosseguir.

Nota Notação gráfica da mensagem Assíncrona mudou na versão 1.4 em relação a versõesanteriores.

images/diagrama_sequencia/notacao-msg-assincrona.svg

71 / 112

TODO: faltando feedback.
Acredito que este objetivo é insuficiente, reconhecer as representação em UML das mensagens não é uma indicação de que o conteúdo foi entendido.
Esta informação não é significante, pode ser removida para um wiki.
Page 78: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

6.3.1 Atividade: reconhecendo mensagens síncronas e assíncronas no dia-grama de sequência

Uma mensagem síncrona fica aguardando o retorno do objeto receptor para continuar o fluxo, en-quanto uma mensagem assíncrona continua seu fluxo independente do retorno da mensagem, po-dendo até emitir outras mensagens antes do retorno da primeira. Com isso, observe os exemplos eclassifiquem quem é mensagem síncrona e quem é assíncrona.

images/diagrama_sequencia/fig6.svg

images/diagrama_sequencia/msg-xsincrona-ou-assinrona.svg

images/diagrama_sequencia/fig7.svg

images/diagrama_sequencia/msg-sincrona-ou-assinrona.svg

images/diagrama_sequencia/fig8.svg

images/diagrama_sequencia/msg-sincrona-ou-assinrona.svg

images/diagrama_sequencia/fig9.svg

images/diagrama_sequencia/msg-sincrona-ou-assinrona.svg

72 / 112

Page 79: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

Mensagem Tipo da mensagemsolicitarFilme() SíncronapreencherCPF() Assíncrona

alugar() AssíncronacriarLocacao() Síncrona

Para um melhor entendimento vamos supor que um emissor está a enviar uma mensagem de textoatravés de um tubo e que a mensagem é enviada por bolas, onde cada bola contém uma letra. Quandoas bolas chegam ao receptor, a mensagem tem que ser remontada, ou seja, têm que se colocar as bolaspela ordem correta, para se voltar a ter a mensagem.

Em comunicação assíncrona, cada bola tem um número de sequência, que permite que seja colocadana sua posição. Isto permite que as bolas sejam enviadas e recebidas por qualquer ordem, uma vezque esse número de sequência identifica a posição de cada bola (letra) na mensagem.

Em comunicação síncrona, as bolas têm que ser enviadas e recebidas de forma sincronizada, ou seja,mantendo uma ordem bem definida: a primeira bola (letra) a ser enviada, tem que ser a primeira a serrecebida e assim sucessivamente.

6.4 Mensagens Especiais

OBJETIVO DA SEÇÃO

Entender Mensagens especiais, comparando a mensagem create e a destroy.

Questões a serem avaliadas

• Quais são as mensagens especiais;

• Entender a diferença entre elas.

LeituraNo livro texto este conteúdo é abordado na Unidade E, Pág. 45, no tópico: “MensagensEspeciais”. Se você ainda não leu, faça isso antes de prosseguir.

6.4.1 Atividade: Mensagens Especiais

Vimos até agora que uma mensagem representa um ato de comunicação entre dois objetos ativandouma ação. Com isso, as mensagens de create e destroy são respectivamente uma criação de umnovo objeto e a destruição de um objeto, podendo destruir ele mesmo. Observe o exemplo e preenchaa tabela indicando as mensagens de create e destroy.

Observe que neste diagrama o comportamento do sistema quando o objeto Bibliotecario invocao método reconheDados() irá (criar/destruir) o objeto Requisição.

images/diagrama_sequencia/fig10.svg

73 / 112

Wikipedia: A analogia que se segue foi possivelmente copiada da wikipedia. Não há necessidade de analogias, podemos utilizar exemplos reais. Além disso, o conteúdo a seguir é o comentário da resposta, ainda faltará elaborar o feedback.
Este objetivo não....
Esta atividade não contempla o objetivo proposto. Além disso, está mal estruturada não ficou claro o que está sendo solicitado. E se o solicitado for apenas identificar aonde está escrito create ou destroy então a atividade possui um propósito pequeno.
Page 80: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Create DestroyfrmRequisição

74 / 112

Page 81: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

Create DestroyfrmRequisição frmRequisiçãoDbConnection RequisiçãoRequisição Publicação

DbConnection

Em alguns momentos é necessário indicar a criação e a destruição de um objeto, na UML a repre-sentação gráfica dessas mensagens são: create se dá por uma seta pontilhada até a representaçãodo objeto que será criado usando o estereótipo <<create>>, ou seja, dirigi-se ao retângulo querepresenta o objeto. Enquanto a notação da mensagem destroy se dá por uma seta similar a seta deassociação usando o estereótipo <<destroy>> e ao término da linha de vida terá um X marcandoque ao final da comunicação aquele objeto será destruído.

6.5 Mensagens Condicionais

OBJETIVO DA SEÇÃO

Lembrar o que são mensagens condicionais, reconhecendo as representações gráficasdas mensagens condicionais.

Questões a serem avaliadas

• O que são Mensagens Condicionais;

• Como é sua notação gráfica.

LeituraNo livro texto este conteúdo é abordado na Unidade E, Pág. 46, no tópico: “MensagensCondicionais”. Se você ainda não leu, faça isso antes de prosseguir.

6.5.1 Atividade: reconhecendo as representações gráficas das mensagenscondicionais.

Na UML as expressões condicionais são colocadas entre colchetes antes do nome da mensagem indi-cando que a mensagem é enviada somente se essa condição for verdadeira. Nesse contexto, crie umexemplo, em diagrama, que contenha uma mensagem condicional entre dois objetos.

images/caixa12cm.svg

75 / 112

Esta resposta que se segue faz mais sentido no contexto da atividade do que comentário ou feedback.
Lembrar o que são mensagens condicionais, reconhecendo as representações gráficas das mensagens condicionais.
Page 82: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

images/diagrama_sequencia/fig11.svg

É interessante utilizar mensagens condicionais para indicar expressões simples de algum tipo de con-dição para a realização de uma mensagem por vez. No próximo objetivo mostraremos que o UML 2suporta outros tipos de expressões mais completas.

6.6 Recursos da UML 2

OBJETIVO DA SEÇÃO

Entender os novos recursos da UML2 para diagramas de interação, exemplificando osnovos operadores de UML 2.

Questões a serem avaliadas

• Entender os novos recursos da UML 2.

LeituraNo livro texto este conteúdo é abordado na Unidade E, Pág. 47, no tópico: “UML2 e seusNovos Operadores”. Se você ainda não leu, faça isso antes de prosseguir.

6.6.1 Atividade: exemplificando os novos operadores de UML 2

A UML2 permite representar laços condicionais (if , if-else e switch-case), além de indicarque um bloco de mensagens são enviadas em paralelo e para isso são usados os operadores loop,opt, alt e par, respectivamente. Em diagrama crie um exemplo utilizando dois operadores (loop,opt, alt ou parv) de sua preferência.

images/caixa15cm.svg

76 / 112

Melhorar a legibilidade da ilustração da fig11, adotando os padrões de nomenclatura de nomes em códigos fontes. Nesta figura, qual o significado de e? A utilização dos nomes em variáveis, mensagens ou gráficos devem ser auto-explicativas.
O parágrafo que se segue não é um feedback, é um comentário que poderia fazer parte do contexto da atividade.
O objetivo desta unidade não seria Lembrar? Nós poderíamos mostrar mais diagramas e pedir apenas para ele reconhecer.
Page 83: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

images/diagrama_sequencia/fig12.svg

É interessante utilizar mensagens condicionais para indicar expressões simples de algum tipo de con-dição para a realização de uma mensagem por vez. No próximo objetivo mostraremos que o UML 2suporta outros tipos de expressões mais completas.

Os novos operadores da UML 2 são:

altMúltiplos fragmentos alternativos; somente aquele cuja condição for verdadeira será executado;

optOpcional; o fragmento é executado somente se a condição fornecida for verdadeira. Equivalentea um alt, com apenas um caminho.

parParalelo; cada fragmento é executado em paralelo.

loopLaço; o fragmento pode ser executado várias vezes e a sentinela indica a base da iteração.

sdDiagrama de sequência; usado para circundar um diagrama de sequência inteiro caso queira.

refReferência; refere-se a uma interação definida em outro diagrama. O quadro é desenhado deforma a abordar as linhas de vida envolvidas na interação. Você pode definir parâmetros e umvalor de retorno.

6.7 Diagrama de Comunicação

OBJETIVO DA SEÇÃO

Entender o Diagrama de Comunicação, exemplificando seus principais elementos obje-tos, associações (ou links) e mensagens.

Questões a serem avaliadas

• O que é e para que serve um diagrama de comunicação;

• Quais são seus principais elementos.

LeituraNo livro texto este conteúdo é abordado na Unidade E, Pág. 50, no tópico: “Diagrama deComunicação”. Se você ainda não leu, faça isso antes de prosseguir.

77 / 112

O parágrafo que se segue não é um feedback, é um comentário que poderia fazer parte do contexto da atividade.
O objetivo desta unidade não seria Lembrar? Nós poderíamos mostrar mais diagramas e pedir apenas para ele reconhecer.
Page 84: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

6.7.1 Atividade: Diagrama de Comunicação

Um diagrama de comunicação é muito similar ao diagrama de sequência. Os dois são utilizados pararepresentar as interações que ocorrem entre objetos para a realização de um determinado caso de uso,porém o diagrama de comunicação se preocupa com o contexto do sistema. Com isso, observe oexemplo e complete a tabela identificando seus elementos.

images/diagrama_comunicacao/fig13.svg

Relação dos Elementos DescriçãoVideoLocadora Objeto

1: fita := get(codFita)Cliente com Emprestimo

2.1.2: associacao(item)

78 / 112

Page 85: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

Relação dos Elementos DescriçãoVideoLocadora Objeto

1: fita := get(codFita) MensagemCliente com Emprestimo Associação

2.1.2: associacao(item) Auto-chamada

O Diagrama de Comunicação define a estrutura de como os objetos estão vinculados, como o Dia-grama de Classes, também indica quais mensagens são trocadas entre objetos como o Diagrama deSequência, porém não se preocupa com a temporalidade.

79 / 112

Page 86: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Capítulo 7

Diagrama de Atividade

OBJETIVOS

Ao final deste capítulo você deverá se capaz de:

1. Lembrar o que é Diagrama de Atividade, reconhecendo o propósito de um dia-grama de atividade.

2. Entender os elementos básicos de um diagrama de atividades, exemplificando suasnotações gráficas.

3. Entender os elementos avançados Diagrama de atividades, exemplificando nodosde decisão, nodos de fusão, junção e união.

Alice ainda está trabalhando no desenvolvimento de um novo ambiente virtual de EAD, numa equipemultidisciplinar. Na primeira semana, após várias reuniões com membros da equipe, ela conseguimodelar o projeto estrutural do sistema. Na segunda semana ela utilizou o diagrama de casos de usopara expressar graficamente a visão funcional do sistema.

Até então Alice conseguiu modelar a parte estática do sistema, ou seja, como o sistema é formado.Nessa etapa Alice enfrenta a dificuldade de modelar a parte dinâmica do sistema, também conhecidacomo visão comportamental.

A visão comportamental tenta descrever o comportamento do sistema ou de partes dele em um de-terminada intervalo de tempo de acordo com uma ocasião. O aspecto temporal agora se torna algoimportante da modelagem.

Para modelar o aspecto comportamental do sistema, Alice decidiu utilizar UML, que suporta váriosdiagramas comportamentais. Os diagramas de sequência, de comunicação, de estados e de atividades,são os principais diagramas utilizados para essa tarefa.

7.1 O que é um Diagrama de Atividade?

Questões a serem avaliadas

• O que é Diagrama de Atividade?

• Para que serve esse diagrama?

80 / 112

Page 87: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

LeituraNo livro texto este conteúdo é abordado na Unidade F, Pág. 1, no tópico: “Diagrama deAtividade”. Se você ainda não leu, faça isso antes de prosseguir.

7.1.1 Atividade: reconhecendo o propósito do Diagrama de Atividades

O Diagrama de Atividade faz parte dos diagramas que modelam a visão do comportamental de umsistema, são eles: diagrama de sequência, de comunicação, de estados e de atividade. Qual o propósitoespecífico do diagrama de Atividades?

images/caixa6cm.svg

81 / 112

Page 88: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

O Diagrama de Atividade tem maior ênfase ao nível de algoritmo da UML e provavelmente umdos mais detalhistas. Tem como objetivo mostrar o fluxo de atividades em um único processo, sepreocupando em descrever os passos a serem percorridos para a conclusão de um método ou algoritmoespecífico e não um processo completo como é o diagrama de sequência.

NotaO processo de negócio também é um processo de entendimento dentro de um sistema,com isso, podemos utilizar o Diagrama de Atividade para modelar uma regra de negócio.Às vezes os modelos são construídos para melhorar o entendimento de um determinadoproblema, por isso, quando uma operação de uma classe de controle implementa uma regrade negócio, pode haver a necessidade de descrever a lógica dessa operação ou da própriaregra de negócio.

7.2 Elementos Básicos de um Diagrama de Atividade

Questões a serem avaliadas

• Quais são os elementos básicos de um diagrama de atividades em UML?

• Quais são suas notações gráficas?

LeituraNo livro texto este conteúdo é abordado na Unidade F, Pág. 1, no tópico: “Diagrama deAtividade”. Se você ainda não leu, faça isso antes de prosseguir.

7.2.1 Atividade: reconhecendo os elementos básicos de um Diagrama de Ati-vidades

Um diagrama de sequência descreve a maneira como os grupos de objetos colaboram em algumcomportamento ao longo do tempo. No diagrama de sequência apresentado identifique os principaiselementos explicando, com suas palavras, o que cada elemento representa como mostra o exemplo.

Elementos Nome Descriçãoimages/diagrama_atividade/fig1.svgEstado inicial Indica o início da execução da atividade.

images/diagrama_atividade/fig2.svg

images/diagrama_atividade/fig3.svg

images/diagrama_atividade/fig4.svg

82 / 112

Page 89: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Elementos Nome Descrição

images/diagrama_atividade/fig5.svg

83 / 112

Page 90: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

Elementos Nome Descriçãoimages/diagrama_atividade/fig1.svgEstado inicial Indica o início da execução da atividade.

images/diagrama_atividade/fig2.svgFluxo de controleIndica as sequências de execução das açõesda atividade.

images/diagrama_atividade/fig3.svgAçãoIndica a modelagem do comportamento doelemento, sendo um elemento atômico.

images/diagrama_atividade/fig4.svgEstado final Indica o final da execução de uma atividade.

images/diagrama_atividade/fig5.svgAtividade

Indica a modelagem do comportamento doelemento, sendo um elemento não-atômico epode ser composta por ações ou poratividades.

7.3 Elementos Avançados de um Diagrama de Atividades

Questões a serem avaliadas

• Quais são os elementos avançados de um diagrama de atividades em UML?

• Quais são suas notações gráficas?

LeituraNo livro texto este conteúdo é abordado na Unidade F, Pág. 2, no tópico: “Elementos Avan-çados”. Se você ainda não leu, faça isso antes de prosseguir.

7.3.1 Atividade: reconhecendo os elementos avançados de um Diagrama deAtividades

Um Diagrama de Atividades pode ser confundido com um fluxograma, porém o Diagrama de Ativi-dade contém recursos que permitem uma modelagem mais rica do que simplesmente um fluxograma,onde permite representar fluxos condicionais e concorrentes. Identifique os recursos (elementos)avançados do Diagrama de Atividade na tabela, a seguir, e explique com suas palavras pra que servecada elemento.

Elementos Nome e Descriçãoimages/diagrama_atividade/fig6.svgNome: Nodo de bifurcação

Descrição: Também conhecido como Fork, representa fluxosde controle concorrentes, onde contém uma entrada e duas oumais saídas.

images/diagrama_atividade/fig7.svg

84 / 112

Page 91: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Elementos Nome e Descriçãoimages/diagrama_atividade/fig8.svg

images/diagrama_atividade/fig9.svg

85 / 112

Page 92: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

Elementos Nome e Descriçãoimages/diagrama_atividade/fig6.svgNome: Nodo de bifurcação

Também conhecido como Fork, representa fluxos de controleconcorrentes, onde contém uma entrada e duas ou maissaídas.

images/diagrama_atividade/fig7.svgNome: Nodos de fusãoTambém conhecido como Merge, recebe na entrada váriosfluxos e libera apenas um fluxo na saída.

images/diagrama_atividade/fig8.svgNome: Nodos de junçãoTambém conhecido como Join, representa a sincronização dedois ou mais fluxos de controle concorrentes.

images/diagrama_atividade/fig9.svgNome: Nodos de decisãoIndica fluxos de controle alternativo, condicionados porexpressões booleana, onde contém uma entrada e “n” saídas.

NotaUm Diagrama de Atividade é essencialmente um gráfico de fluxo que mostra o fluxo decontrole de uma atividade para outra, ou seja, a interação dão ênfase ao fluxo de controle deuma atividade para outra. Uma atividade é uma execução não atômica em andamento emuma máquina de estados e acabam resultando em alguma ação, formada pelas computaçõesatômicas executáveis que resultam em uma mudança de estado do sistema ou o retorno deum valor.

7.3.2 Aplicando diagrama de atividades, implementando um diagrama de ati-vidades em uma ferramenta UML

LeituraNo livro texto este conteúdo é abordado na Unidade F, Pág. 3, no tópico: “Exemplos”. Sevocê ainda não leu, faça isso antes de prosseguir.

Após ter analisado os exemplos no Livro texto, tente construir um Diagrama de Atividades para oseguinte processo de negócio, utilizando alguma ferramenta própria para UML.

• A autorização do pagamento tem início após um pedido ter sido realizado pelo cliente.

• Ao mesmo tempo, a disponibilidade para cada um dos itens do pedido é verificada pelo depósito.

• Se a quantidade requisitada de um determinado item existe em estoque, tal quantidade é associadaao pedido, caso contrário, a quantidade do item será alterada (se houver em quantidade menor), sea quantidade em estoque for igual a zero, o item será excluído.

• O pedido é enviado pelo depósito ao cliente quando todos os itens estiverem associados e o paga-mento estiver autorizado.

• O pedido será cancelado se a ordem de pagamento não tiver sido autorizada.

86 / 112

Page 93: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Capítulo 8

Diagrama de Estado

OBJETIVOS

Ao final deste capítulo você deverá se capaz de:

1. Entender o que é Diagrama de Estado, explicando a diferença entre diagrama deatividade e diagrama de estados.

2. Entender os elementos básicos de um diagrama de estados, exemplificando oselementos estado e transição.

3. Entender os elementos avançados do Diagrama de atividades, exemplificando oselementos de entrada (entry), saída (exit) e a permanência (do).

4. Lembrar dos novos diagramas comportamentais da UML2, reconhecendo o dia-grama de visão geral de interações e o diagrama de temporização.

8.1 O que é um Diagrama de Estado?

Questões a serem avaliadas

• O que é um Diagrama de Estado?

• Qual a diferença entre Diagrama de Estado e de Atividade?

LeituraNo livro texto este conteúdo é abordado na Unidade F, Pág. 4, no tópico: “Introdução eElementos Básicos”. Se você ainda não leu, faça isso antes de prosseguir.

8.1.1 Atividade: explicando a diferença entre diagrama de atividade e dia-grama de estado

Explique com suas palavras, qual é a finalidade de um Diagrama de Estado e a diferença entre oDiagrama de Atividade.

Finalidade:

87 / 112

Page 94: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

images/caixa3cm.svg

Diferença:

images/caixa3cm.svg

88 / 112

Page 95: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

FinalidadeOs diagramas de Estados são usados para descrever o comportamento dos objetos. Um Estadorepresenta uma situação estável de um objeto que se prolonga durante um intervalo de tempo,durante o qual um objeto não sofre estímulos nem os atributos sofrem alteração de valor. Devecriar-se um diagrama de estados somente para cada classe de objeto que tenha um comporta-mento dinâmico, ou comportamento dinâmico relevante.

DiferençaA principal diferença entre o diagrama de Atividade e do Diagrama de Estado, consiste no fatodo diagrama de atividades se centrar nos processos enquanto o de Estado centra nos processosdos objetos.

NotaDiagramas de Estado mostram o ciclo de vida de um objeto e os eventos pelos quais elepassa, as suas transições e os estados em que ele está entre estes eventos. Um estadode um objeto é um conjunto de circunstancias ou atributos que caracterizam o objeto emdeterminado momento.

8.2 Elementos Básicos de um Diagrama de Estados

Conteúdo

• Quais são os elementos básicos de um diagrama de estados?

• Quais são suas notações gráficas em UML?

LeituraNo livro texto este conteúdo é abordado na Unidade F, Pág. 4, no tópico: “Introdução eElementos Básicos”. Se você ainda não leu, faça isso antes de prosseguir.

8.2.1 Atividade: Reconhecendo os Elementos Básicos

Basicamente são quatro elementos principais que são utilizados para modelar os Diagramas de Esta-dos. De acordo com a tabela a seguir, identifique cada elemento e explique com suas palavras pra queserve cada um.

Elementos Nome Descrição

images/diagrama_estado/fig10.svgPseudo-estado inicialIndica o ponto de partida de uma evoluçãode estados, pois indica apenas o início doprocessamento modelado.

images/diagrama_estado/fig11.svg

89 / 112

Page 96: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Elementos Nome Descrição

images/diagrama_estado/fig12.svg

images/diagrama_estado/fig13.svg

90 / 112

Page 97: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

Elementos Nome Descrição

images/diagrama_estado/fig10.svgPseudo-estado inicialIndica o ponto de partida de uma evoluçãode estados, pois indica apenas o início doprocessamento modelado.

images/diagrama_estado/fig11.svgTransiçãoÉ o elemento que produz a passagem de umestado para outro estado disparando umevento.

images/diagrama_estado/fig12.svgEstadoIndica uma situação em que um objeto podese encontrar ao longo de sua existência.

images/diagrama_estado/fig13.svgEstado finalIndica uma situação da qual não é possívelsair.

NotaUm Diagrama de Estado representa o comportamento de um único objeto de um Diagramade Classe, uma variante desse tipo de diagrama é o Diagrama de Estados de um sistema,onde ilustra todas as transições envolvidas em todos os casos de uso do sistema envolvido.Pode ser considerado uma união de todos os Diagramas de Estado de Casos de Uso.

8.3 Elementos Avançados de um Diagrama de Estado

Conteúdo

• Quais são os elementos avançados de um diagrama de estado?

• Quais são suas notações gráficas em UML?

LeituraNo livro texto este conteúdo é abordado na Unidade F, Pág. 5, no tópico: “Notações Avança-das”. Se você ainda não leu, faça isso antes de prosseguir.

8.3.1 Atividade: reconhecendo os elementos avançados

As notações avançadas do Diagrama de Estado servem para detalhar ainda mais o comportamento doobjeto. Com isso, observe a imagem a seguir e associe a segunda coluna de acordo com a primeira,onde indica o funcionamento de cada notação gráfica.

images/diagrama_estado/fig14.svg

1. Permanência (Do) 2. Entrada (Entry) 3. Saída (Exit)( 2 ) Indicam que as operações serão executadas só quando o objeto entrar no estadoindicado.( ) Indicam que as operações serão executadas só quando o objeto sair do estado indicado.( ) Indicam que as operações serão executadas enquanto o objeto estiver dentro do estadoindicado.

91 / 112

Acho que esta nota complicou mais do que explicou. Se você não for apresentar um Diagrama de Estados de um sistema, então não precisa falar dele.
Page 98: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

1. Permanência (Do) 2. Entrada (Entry) 3. Saída (Exit)( 2 ) Indicam que as operações serão executadas só quando o objeto entrar no estadoindicado.( 3 ) Indicam que as operações serão executadas só quando o objeto sair do estado indicado.( 1 ) Indicam que as operações serão executadas enquanto o objeto estiver dentro do estadoindicado.

NotaO Diagrama de Estado pode restringir ainda mais uma transição de um evento, ou seja,quando existe uma condição (expressada em valor booleano) para a ocorrer uma transição.Esta condição se chama Guarda e sua notação gráfica é representada a expressão entrecolchetes.

8.4 Novos Diagramas Comportamentais da UML2

Questões a serem avaliadas

• Quais são os novos diagramas comportamentais da UML2?

LeituraNo livro texto este conteúdo é abordado na Unidade F, Pág. 7, no tópico: “Novos DiagramasComportamentais da UML2”. Se você ainda não leu, faça isso antes de prosseguir.

8.4.1 Atividade: Identificando os novos Diagramas comportamentais da UML2

Diagrama de visão geral de interaçõesO diagrama de visão geral de interações baseia-se no Diagrama de Atividade herdando todosseus elementos, porém nesse diagrama seus nodos não serão atividades ou ações, serão intera-ções que agora poderão ser representadas diretamente no diagrama.

Diagrama de temporizaçãoO diagrama de temporização baseia-se no Diagrama de Estado quando representando apenaspor um objeto em um certo período de tempo, porém esse diagrama indica o tempo de duraçãodesse objeto em um certo período de tempo. Preocupa-se com a representação dos aspectos erestrições temporais do objeto.

Das figuras abaixo identifique quais representam os diagramas de Visão Geral de Interações e osDiagramas de temporização.

92 / 112

Esta explicação não ficou boa. Não precisa adicionar informações que não serão abordadas. A diferença de uma material didático, para um livro, é exatamente esta, o material didático se preocupa em ensinar o que é necessário, enquanto um livro apresentar conteúdos.
Page 99: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

( ) Visão Geral de Interações (X) Diagramas de temporização

( ) Visão Geral de Interações ( ) Diagramas de temporização

93 / 112

Page 100: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

( ) Visão Geral de Interações ( ) Diagramas de temporização

94 / 112

Page 101: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

Podemos perceber que as duas primeiras figuras representam Diagrama de temporização. A terceirarepresenta um diagrama de visão geral de interações.

NotaO Diagrama de Visão Geral de Interação representa de uma forma geral o fluxo de controledentro de um sistema ou processo de negócios. Cada nó ou atividade dentro do diagramapode representar outro diagrama de interação.O Diagrama de Temporização, também conhecido como diagrama de tempo, é tipicamenteutilizado para demonstrar a mudança no estado de um objeto no tempo em resposta a even-tos externos.

95 / 112

Page 102: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Parte V

Visão Física

96 / 112

Page 103: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Nos capítulos seguintes nós daremos início ao estudo de modelagem da visão física do sistema.

97 / 112

Page 104: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Capítulo 9

Diagrama de Componentes

OBJETIVOS

Ao final deste capítulo você deverá se capaz de:

1. Entender o que é diagrama de componentes, explicando o propósito do diagramade componentes.

2. Lembrar o que é um diagrama de componentes, reconhecendo um diagrama decomponentes.

3. Entender o que é um componente, explicando o que é um componente e identifi-cando como são suas representações gráficas.

Alice ainda está trabalhando no desenvolvimento de um novo ambiente virtual de EAD, numa equipemultidisciplinar. Na primeira semana, após várias reuniões com membros da equipe, ela conseguimodelar o projeto estrutural do sistema.

Alice utilizou uma ferramenta de UML conhecida como Digrama de Classes Para expressar grafica-mente a estrutura do sistema. Porém, desenvolvimento do sistema continua e surgiu a necessidadeexpressar suas funcionalidades e a forma como as pessoas envolvidas poderão utilizá-lo. Essa partedo sistema, conhecida como visão funcional, também precisava ser expressada graficamente, para queos outros membros da equipe pudessem entender.

Alice também já modelou a parte dinâmica do sistema, também conhecida como visão comportamen-tal, para isso ela utilizou os diagramas de sequência, de comunicação, de estados e de atividades.

Agora Alice está na última fase de Análise e projeto do sistema. Ela precisa modelar a parte física dosoftware em desenvolvimento, ou seja, uma visão da implantação do sistema, na qual você pode indi-car os recursos que deverão ser usados e como os elementos que compõem o sistema serão alocadosà estes recursos.

Nessa etapa ela precisará desenvolver os Diagramas de Componentes, Diagrama de Implantação e oDiagrama de Pacote, que mostra a organização lógica dos elementos do software.

98 / 112

Page 105: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

9.1 Propósito do Diagrama de Componentes

Conteúdo

• O que é um Diagrama de Componentes?

• Para que serve o Diagrama de Componentes?

LeituraNo livro texto este conteúdo é abordado na Unidade G, Pág. 1, no tópico: “Diagrama deComponentes”. Se você ainda não leu, faça isso antes de prosseguir.

9.1.1 Atividade: entendendo o Diagrama de Componentes

Para construir uma Visão Física de um sistema podemos utilizar os diagramas de Componentes e deImplantação. Com isso, descreva qual o propósito do Diagrama de Componentes.

images/caixa6cm.svg

99 / 112

Page 106: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta: O propósito do Diagrama de Componentes é capturar a estrutura física da implementaçãoconstruído como parte da especificação da arquitetura, tendo como objetivos a organização do có-digo fonte (ambiente de desenvolvimento); construir uma release executável (ambiente de produção)e especificar uma base de dados física. Geralmente é desenvolvido por arquitetos e programadores.

NotaO Diagrama de Componentes apresenta uma visão estática de como o sistema está imple-mentado e quais os seus módulos de software (componentes); É muito associado a lingua-gem de programação e procura associar módulos, bibliotecas, formulários arquivos, tabelas,etc. Tem como objetivos modelar os componentes do código-fonte e executável, como tam-bém banco de dados físicos.O Diagrama de Componentes pode ser utilizado no processo de engenharia reversa por meioda organização dos módulos do sistema e seus relacionamentos.

9.2 Diagrama de Componentes em UML

Conteúdo

• Como identificar um diagrama de componentes?

LeituraNo livro texto este conteúdo é abordado na Unidade G, Pág. 1, no tópico: “Diagrama deComponentes”. Se você ainda não leu, faça isso antes de prosseguir.

9.2.1 Atividade: Identificando o Diagrama de Componentes

Observe os diagramas a seguir e identifique quais são os Diagramas de Componentes.

images/diagrama_componentes/fig1.svgDiagrama de: Caso de Uso

images/diagrama_componentes/fig2.svgDiagrama de ________________

images/diagrama_componentes/fig3.svgDiagrama de ________________

images/diagrama_componentes/fig4.svgDiagrama de ________________

images/diagrama_componentes/fig5.svgDiagrama de ________________

images/diagrama_componentes/fig6.svgDiagrama de ________________

100 / 112

Page 107: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

images/diagrama_componentes/fig1.svgDiagrama de Caso de Uso

images/diagrama_componentes/fig2.svgDiagrama de Sequencia

images/diagrama_componentes/fig3.svgDiagrama de Comunicação

images/diagrama_componentes/fig4.svgDiagrama de Componentes

images/diagrama_componentes/fig5.svgDiagrama de Atividade

images/diagrama_componentes/fig6.svgDiagrama de Classes

9.3 Entendendo os Componentes

Conteúdo

• O que é um Componente?

• Como posso representá-las em UML?

LeituraNo livro texto este conteúdo é abordado na Unidade G, Pág. 1, no tópico: “Diagrama deComponentes”. Se você ainda não leu, faça isso antes de prosseguir.

9.3.1 Atividade: explicando o que é um componente

Descreva com suas palavras o que é um Componente e qual notação gráfica utilizada na UML2.

images/caixa6cm.svg

101 / 112

Page 108: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta: Um componente é uma parte física e substituível de um sistema que proporciona a re-alização de um conjunto de interfaces, ou seja, representa um empacotamento físico de elementosrelacionados logicamente (normalmente classes). Por exemplo: executáveis, bibliotecas, tabelas,ficheiros, documentos.

Notação de visual de componenteO Componente teve sua notação gráfica modificada na transição do UML1 para o UML2,como podemos observar na imagem a seguir.

images/diagrama_componentes/fig7.svg

102 / 112

Page 109: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Capítulo 10

Diagrama de Implantação

OBJETIVOS

Ao final deste capítulo você deverá se capaz de:

1. Entender o que é o Diagrama de Implantação, explicando o propósito do Diagramade Implantação.

2. Lembrar o que é um Diagrama de Implantação, reconhecendo seus principais ele-mentos.

3. Entender o que é uma manifestação, exemplificando como podemos representar orelacionamento entre componentes e artefatos.

10.1 Propósito do Diagrama de Implantação

Conteúdo

• O que é um Diagrama de Implantação?

• Para que serve o Diagrama de Implantação?

LeituraNo livro texto este conteúdo é abordado na Unidade G, Pág. 2, no tópico: “Diagrama deImplantação”. Se você ainda não leu, faça isso antes de prosseguir.

10.1.1 Atividade: explicando o propósito do Diagrama de Implantação

Para construir uma Visão Física de um sistema podemos utilizar os diagramas de Componentes e deImplantação. Com isso, descreva qual o propósito do Diagrama de Implantação.

images/caixa6cm.svg

103 / 112

Page 110: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta: O propósito do Diagrama de Implantação é modelar a distribuição do sistema através denós de hardware, componentes e dependências de software e suas devidas relações de comunicaçãoem tempo de execução.

Diagrama de ImplantaçãoO Diagrama de Implantação foca na questão da organização da arquitetura física sobe aqual o software irá ser implantado e executado em termos de hardware, ou seja, as má-quinas (computadores pessoais, servidores etc.) que suportam o sistema, além de definircomo estas máquinas serão conectadas e por meio de quais protocolos se comunicarão etransmitirão as informações. Seus elementos básicos são os Nós (que representam os com-ponentes), Associações entre Nós (que são as ligações entre os Nós do diagrama), e osArtefatos (que são representações de entidades físicas do mundo real).

10.2 Propósito do Diagrama de Implantação

Conteúdo

• Como representar um diagrama de implantação em UML?

• Quais seus principais elementos?

LeituraNo livro texto este conteúdo é abordado na Unidade G, Pág. 2, no tópico: “Diagrama deImplantação”. Se você ainda não leu, faça isso antes de prosseguir.

10.2.1 Atividade: reconhecendo seus principais elementos do Diagrama deImplantação

Observe os elementos gráficos a seguir, de diversos diagramas estudados nesta disciplina, e reconheçaquais são os elementos do Diagrama de Implantação.

Elementos Descrição Diagramaimages/diagrama_implantacao/fig8.svgAção Diagrama de Atividadeimages/diagrama_implantacao/fig9.svgimages/diagrama_implantacao/fig10.svgimages/diagrama_implantacao/fig11.svgimages/diagrama_implantacao/fig12.svg

104 / 112

Page 111: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

Elementos Descrição Diagramaimages/diagrama_implantacao/fig8.svgAção Diagrama de Atividadeimages/diagrama_implantacao/fig9.svgClasse Diagrama de Classeimages/diagrama_implantacao/fig10.svgNó Diagrama de Implantaçãoimages/diagrama_implantacao/fig11.svgObjeto Diagrama de Sequênciaimages/diagrama_implantacao/fig12.svgArtefato Diagrama de Implantação

NotaOs Diagramas de Implementação são distintos dos Diagramas de Componentes, porque umDiagrama de Implementação mostra os componentes e artefatos em relação ao local emque eles são utilizados no sistema implementado, enquanto um Diagrama de Componentesdefine a composição dos componentes e artefatos no sistema.

10.3 Manifestação

Conteúdo

• O que é uma manifestação?

• Como representar o relacionamento entre os principais elementos de um Diagrama de Implan-tação?

LeituraNo livro texto este conteúdo é abordado na Unidade G, Pág. 2, no tópico: “Diagrama deImplantação”. Se você ainda não leu, faça isso antes de prosseguir.

10.3.1 Atividade: exemplificando uma Manifestação

Observe o exemplo da imagem a seguir e crie um novo exemplo de Manifestação entre um artefato eum componente.

images/diagrama_implantacao/fig13.svg

105 / 112

Page 112: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

images/diagrama_implantacao/fig14.svg

NotaUm relacionamento de Manifestação mostra quais elementos de modelo são manifestadosem um artefato. O artefato manifesta, ou inclui, uma execução específica dos recursos de umou vários componentes de software físicos. Normalmente, os relacionamentos de manifesta-ção não possuem nomes. Como a figura a seguir ilustra, um relacionamento de manifestaçãoé exibido como uma linha tracejada com uma seta aberta em uma extremidade. A palavra-chave <<manifest>> aparece ao lado da linha tracejada.

images/diagrama_implantacao/fig15.svg

106 / 112

Page 113: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Capítulo 11

Diagrama de Pacote

OBJETIVOS

Ao final desta sessão você deverá se capaz de:

1. Entender o que é o Diagrama de Pacote, explicando o propósito do Diagrama dePacote.

2. Lembrar o que é um Pacote, reconhecendo sua definição.

3. Lembrar o que é um Diagrama de Pacote, reconhecendo um Diagrama de Pacote.

11.1 Propósito do Diagrama de Pacote

Conteúdo

• O que é um Diagrama de Pacote?

• Para que serve o Diagrama de Pacote?

LeituraNo livro texto este conteúdo é abordado na Unidade G, Pág. 4, no tópico: “Diagrama dePacotes”. Se você ainda não leu, faça isso antes de prosseguir.

11.1.1 Atividade: Explicando o Propósito do Diagrama de Pacote

A organização de sistemas de grande porte é extremamente útil. Com isso, descreva com suas palavraspra que serve um Diagrama de Pacote.

images/caixa6cm.svg

107 / 112

Page 114: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

Um diagrama de Pacote serve para agrupar conjuntos de elementos que é usado para representar umaorganização lógica desses elementos do projeto.

NotaA imagem a seguir demostra um exemplo de Diagrama de Pacote.

images/diagrama_pacote/fig16.svg

11.2 Pacote

Conteúdo

• O que é um pacote?

LeituraNo livro texto este conteúdo é abordado na Unidade G, Pág. 4, no tópico: “Diagrama dePacotes”. Se você ainda não leu, faça isso antes de prosseguir.

11.2.1 Atividade: reconhecendo definição de pacote

Observe as definições de alguns elementos estudados até aqui e identifique qual definição representaa definição de pacote.

Definição 1: Atores Definição 2:Definição 3: Definição 4:

Definição 1Entidade externa (fora do sistema) que interage com o sistema participando (e frequentementeiniciando) um Caso de Uso.

Definição 2Descreve objetos que possuem comportamentos e características comuns.

Definição 3Conjunto de elementos agrupados, que podem ser: classes, diagramas, ou pacotes.

Definição 4É composta de duas partes, a cabeça e a cauda. A cabeça é representada por um retângulocom dois compartimentos, no compartimento superior a identificação do objeto é exibida e nocompartimento inferior, aparecem valores para os atributos definidos na classe do objeto. Acauda corresponde a uma linha vertical tracejada.

108 / 112

Page 115: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

Definição 1: Atores Definição 2: Definição de ClasseDefinição 3: Definição de Pacote Definição 4: Definição de Linha de vida

11.3 Diagrama de Pacote em UML

Conteúdo

• Como reconhecer um Diagrama de Pacotes em UML?

LeituraNo livro texto este conteúdo é abordado na Unidade G, Pág. 4, no tópico: “Diagrama dePacotes”. Se você ainda não leu, faça isso antes de prosseguir.

11.3.1 Atividade: Reconhecendo um Diagrama de Pacote

Observe os diagramas a seguir e classifique cada um deles, reconhecendo o Diagrama de Pacotes.

images/diagrama_pacote/fig3.svgDiagrama de Comunicação

images/diagrama_pacote/fig5.svgDiagrama de

________________

images/diagrama_pacote/fig2.svgDiagrama de

________________images/diagrama_pacote/fig6.svg

Diagrama de________________

images/diagrama_pacote/fig17.svgDiagrama de

________________

images/diagrama_pacote/fig4.svgDiagrama de

________________

109 / 112

Page 116: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Resposta:

images/diagrama_pacote/fig3.svgDiagrama de Comunicação

images/diagrama_pacote/fig5.svgDiagrama de Atividade

images/diagrama_pacote/fig2.svgDiagrama de Sequencia

images/diagrama_pacote/fig6.svgDiagrama de Classes

images/diagrama_pacote/fig17.svgDiagrama de Caso de Pacotes

images/diagrama_pacote/fig4.svgDiagrama de Componentes

110 / 112

Page 117: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

Capítulo 12

Índice Remissivo

AAcoplamento, 45Agregação, 41Artefato, 19Assíncrona, 71Associação, 36Atores, 54

Relacionamento, 60, 62

CCasos de Uso, 54

Descrição textual, 56, 58Casos de uso, 53Coesão, 45Comportamental, 29Composição, 41

DDependência, 45Descrição textual, 56, 58Diagrama, 26Diagrama de Atividade, 80

Elementos avançados, 84Elementos básicos, 82

Diagrama de Componentes, 99–101Diagrama de Estado, 87Diagrama de Estados

Elementos Básicos, 89Diagrama de Implantação, 103–105Diagrama de Objetos, 47Diagrama de Pacote, 107–109Diagrama de Sequência, 69

EElementos avançados, 84Elementos Básicos, 89Elementos básicos, 82especialização, 49Estrutural, 29

FFísica, 29Ferramentas, 31Funcional, 29

HHerança, 41

IInterfaces, 44

MMensagem

Assíncrona, 71Síncrona, 71

Mensagens Condicionais, 75Modelagem, 23Modelo, 19Multiplicidade, 39

PPropósito, 25

RRelacionamento, 60, 62Relacionamento bidirecional, 36Relacionamento recursivo, 36Relacionamento unidirecional, 36Relacionamentos, 36

SSíncrona, 71

UUML

Ferramentas, 31Propósito, 25Versões, 27Visões, 29

111 / 112

Page 118: Análise e Projeto de Sistemas - producao.virtual.ufpb.brproducao.virtual.ufpb.br/books/...e-projeto-sistemas-livro/livro/livro.pdf · Análise e Projeto de Sistemas Sumário I Revisão

Análise e Projeto de Sistemas

VVersões, 27Visão

Comportamental, 29Estrutural, 29Física, 29Funcional, 29

Visão Comportamental, 68Visões, 29

112 / 112