A maior rede de estudos do Brasil

Grátis
7 pág.
UNIP   Universidade Paulista   DisciplinaOnline   Sistemas de conteúdo online para Alunos M4

Pré-visualização | Página 1 de 2

26/09/2018 UNIP - Universidade Paulista : DisciplinaOnline - Sistemas de conteúdo online para Alunos.
https://online.unip.br/imprimir/imprimirconteudo 1/7
 
Diagrama de Classes de Análise
O diagrama de classes é o segundo diagrama obrigatório de qualquer projeto de sistema orientado a objetos. O
outro diagrama é o diagrama de casos de uso. Ele também é o diagrama que mais se aproxima da solução final do
sistema, quando ele for codificado em alguma linguagem de programação orientada a objetos.
Classes e Interfaces
A representação de classes e interfaces no diagrama é feita com um retângulo com o nome da classe ou interface
em seu interior. Para se diferenciar uma interface de uma classe utiliza-se o estereótipo <<interface>>. Classes
abstratas têm seu nome escrito em itálico. As classes também podem exibir seus atributos e métodos. Quando
isso ocorre, o retângulo é dividido em três partes, a primeira exibe o nome da classe, a segunda seus atributos e a
terceira seus métodos.
Relacionamentos
As classes e interfaces podem se relacionar de diversas maneiras. Elas são:
Dependência
Quando uma classe simplesmente utiliza outra classe, identifica-se a dependência da primeira pela segunda. A
dependência é representada por uma seta de corpo tracejado e ponta aberta que parte da classe que depende e
aponta para a classe que é usada.
Associação
Este relacionamento ocorre quando identificamos um significado semântico no relacionamento entre duas classes.
Em outras palavras, quando podemos dar um nome ao relacionamento, este relacionamento é uma associação.
Além disso, quando há uma associação, ao menos uma das classes apresenta um atributo cujo tipo é a outra
classe.
Agregação
Quando identificamos em uma associação o significado de "todo e parte", podemos promover a associação a uma
agregação. Isso é representado decorando-se a extremidade da associação que se conecta à classe que
representa o todo com um losango não preenchido.
26/09/2018 UNIP - Universidade Paulista : DisciplinaOnline - Sistemas de conteúdo online para Alunos.
https://online.unip.br/imprimir/imprimirconteudo 2/7
Composição
Quando em uma agregação, além do significado de "todo e parte" também verificamos que:
A parte não pode existir se não pertencer a um todo;
A parte só pode pertencer a um único todo;
Se o todo for destruído, a parte também deve ser.
Podemos promover a agregação a uma composição (ou agregação forte). Isso é representado por um losango
preenchido do lado do todo a associação.
Generalização
Usamos a generalização para fazer com que uma classe especialize uma classe geral, herdando seus atributos e
métodos. A generalização é representada por uma seta de corpo contínuo e ponta fechada não preenchida que
aponta para a classe geral.
Realização
Quando uma classe implementa os métodos de uma interface, a classe realiza a interface. A realização é
representada por uma seta de corpo tracejado e ponta fechada não preenchida que aponta para a interface.
26/09/2018 UNIP - Universidade Paulista : DisciplinaOnline - Sistemas de conteúdo online para Alunos.
https://online.unip.br/imprimir/imprimirconteudo 3/7
Realizando Casos de Uso em Classes
Já conseguimos formalizar os requisitos funcionais em diagramas de casos de uso e já sambemos como modelar
classes em diagramas de classes. Para se construir o segundo diagrama a partir do primeiro podemos prosseguir
da seguinte forma:
1. Identifique as responsabilidades de cada caso de uso. Uma responsabilidade costuma ser um passo, uma
ação individual na descrição textual do caso de uso;
2. Reconheça responsabilidades semelhantes e dê o mesmo nome a elas;
3. Identifique em qual classe cada responsabilidade deve ser criada
4. Elabore o diagrama de classes de análise.
Vamos retomar o exemplo da impressora multifuncional:
Para cada caso de uso, vamos listar suas responsabilidades:
Imprimir documento
1. Receber o documento do computador
2. Imprimir o documento na impressora
Digitalizar documento
1. Digitalizar o documento na digitalizadora
2. Enviar o documento para o computador
Copiar documento
1. Digitalizar o documento na digitalizadora
2. Imprimir o documento na impressora
Enviar fax
1. Digitalizar o documento na digitalizadora
2. Enviar o documento pelo modem
26/09/2018 UNIP - Universidade Paulista : DisciplinaOnline - Sistemas de conteúdo online para Alunos.
https://online.unip.br/imprimir/imprimirconteudo 4/7
Receber fax
1. Receber o documento pelo modem
2. Imprimir o documento na impressora
Agora, vamos dar nomes às responsabilidades já respeitando algum padrão de estilo. Neste exemplo, vamos usar
o camel case e o estilo de métodos em Java. Além disso, para responsabilidades semelhantes, como "Receber
documento do computador" e "Receber documento do modem", vamos dar o mesmo nome
"receberDocumento()":
Imprimir documento
1. recebeDocumento()
2. imprimeDocumento()
Digitalizar documento
1. digitalizaDocumento()
2. enviaDocumento()
Copiar documento
1. digitalizaDocumento()
2. imprimeDocumento()
Enviar fax
1. digitalizaDocumento()
2. enviaDocumento()
Receber fax
1. recebeDocumento()
2. imprimeDocumento()
Agora, vamos atribuir cada método à classe que for mais adequada para realiza-lo, lembrando de que as classes
devem ser encapsulamentos de um único conceito.
Imprimir documento
1. Computador.recebeDocumento()
2. Impressora.imprimeDocumento()
Digitalizar documento
1. Digitalizadora.digitalizaDocumento()
2. Computador.enviaDocumento()
Copiar documento
1. Digitalizadora.digitalizaDocumento()
2. Impressora.imprimeDocumento()
Enviar fax
1. Digitalizadora.digitalizaDocumento()
2. Modem.enviaDocumento()
Receber fax
1. Modem.recebeDocumento()
2. Impressora.imprimeDocumento()
Agora só precisamos formalizar estas informações em um diagrama de classes de análise:
26/09/2018 UNIP - Universidade Paulista : DisciplinaOnline - Sistemas de conteúdo online para Alunos.
https://online.unip.br/imprimir/imprimirconteudo 5/7
 
 
Exercício 1:
Quantas afirmações abaixo estão incorretas?
1. A etapa de projeto, embora na primeira vez seja feita após a etapa de análise, pode ser desenvolvida
paralelamente a esta em fases posteriores. 
2. A etapa de projeto verifica se as funcionalidades do sistema atendem aos requisitos desejados pelo usuário. 
3. Na etapa de análise nos preocupamos com persistência e segurança de sistemas, por exemplo. 
4. As classes de análise devem ser feitas de maneira a poder atender as funcionalidades necessárias ao sistema. 
5. Classes de análise contém atributos e métodos.
 
A)
Somente a afirmativa 1, 3 e 5.
 
B)
Somente a afirmativa 2.
 
C)
As afirmativas 1, 2 e 3 
 
D)
As afirmativas 2 e 3 
 
E)
As afirmativas 3, 4 e 5.
 
Comentários:
Essa disciplina não é ED ou você não o fez comentários 
Exercício 2:
MVC é um padrão de arquitetura de software.
Nele separamos as camadas de Visualização, Modelo e Controle.
Analise as declarações abaixo sobre o MVC:
I. O MVC procura fazer a separação das tarefas que envolvem lógica de negócio e persistência de dados.
26/09/2018 UNIP - Universidade Paulista : DisciplinaOnline - Sistemas de conteúdo online para Alunos.
https://online.unip.br/imprimir/imprimirconteudo 6/7
II. O MVC procura fazer a separação das tarefas que envolvem direcionamento dos fluxos e lógica de negócio.
III. O MVC procura fazer a separação das tarefas que envolvem persistência de dados e direcionamento dos
fluxos.
IV. Nenuma camada pode gerar alterações nas demais camadas.
V. As camadas não devem se comunicar para evitar invasão de responsabilidades entre camadas.
 
A)
Apenas as afirmativas I, III e V.
 
B)
Apenas as afirmativas III, IV e V.
 
C)
Apenas as afirmativas I, II e III.
 
D)
Apenas as afirmativas I,

Crie agora seu perfil grátis para visualizar sem restrições.