UML exemplificada em Java

50 Pages • 4,610 Words • PDF • 1.7 MB
Uploaded at 2021-09-24 12:31

This document was submitted by our user and they confirm that they have the consent to share it. Assuming that you are writer or own the copyright of this document, report to us by using this DMCA report button.


UML exemplificada em Java Agencia - numero : String - cliente : Cliente - conta : Conta + cadastrarAgencia() : void

.. 13:15

80%

UMLcode QRCODE

Ver Código public class Agencia { private String numero; private Cliente cliente; private Conta conta; public void cadastrarAgencia(){ } }

AUTORES Jaidson Brandão da Costa Thaís Pinheiro de Souza

1 Baixe nosso app:

UMLcode

Prefácio Você já viu algum livro da área de Engenharia de Software onde te forneça um aplicativo para gerar os códigos fontes da obra? Melhor, você já viu algum livro que ensine a criar diagramas de classes e mostrar como ficaria em código fonte Java os diagramas? E ainda disponibilizar de forma digital por leitura de QR CODE os fontes em “.java” direto no seu celular? Pois é! Se a resposta for NÃO. Então examine este livro que vai contribuir para a compreensão sobre passar um diagrama de classe para código Java. Além de fornecer alguns conceitos e outros modelos de diagramas da UML, mas nosso foco é no diagrama de classes. Bons estudos! E baixe nosso APP

2

Organização Diagramação, Projeto Gráfico e Capa Jaidson Brandão da Costa Revisão de Texto Thaís Pinheiro de Souza

3

Sobre os autores

E

ste livro foi escrito por Jaidson Brandão da Costa Mestre em Engenharia de Processos, Especialista em Engenharia de Software e Graduado em Sistemas de Informação e por Thais Pinheiro de Souza aluna, pesquisadora da área de Informática e Desenvolvedora de Aplicativos para dispositivos móveis – Android

4

Sumário Prefácio ................................................................................................................. 2 Organização .......................................................................................................... 3 Sobre os autores ................................................................................................... 4 Capítulo 1 – Orientação a Objetos ...................................................................... 7 1.1 Orientação a Objetos ................................................................................. 7 1.2 Classes, Objetos, Atributos e Métodos ..................................................... 8 Capítulo 2 – UML .................................................................................................. 9 2.1 Princípios da Modelagem ........................................................................ 10 2.2 Vantagens de utilizar UML ...................................................................... 11 Capítulo 3 – Estrutura dos diagramas da UML ................................................ 12 3.1 Diagramas estáticos ................................................................................. 12 3.1.1 Diagrama de Classes ............................................................................. 12 3.1.2 Diagrama de Objetos ............................................................................ 14 3.1.3 Diagrama de Componentes .................................................................. 14 3.1.3 Diagrama de Distribuição ..................................................................... 15 3.1.4 Diagrama de Casos de Uso ................................................................... 16 3.2 Diagramas dinâmicos ............................................................................... 16 3.2.1 Diagrama de Sequência ........................................................................ 17 3.2.2 Diagrama de Colaboração .................................................................... 18 3.2.3 Diagrama de Estado .............................................................................. 19 3.2.4 Diagrama de Atividade ......................................................................... 19 Capítulo 4 – App UMLcode e Diagramas de Classes com fontes Java .......... 21 4.1 App UMLcode ........................................................................................... 21 4.1.1 Funcionalidade do APP ......................................................................... 22 5

4.2 Diagramas de Classes exemplificados em Java ..................................... 25 4.2.1 Diagramas de Classes sem relacionamento ........................................ 26 4.2.2 Diagramas de Classes com relacionamento de Classe Associativa ... 27 4.2.3 Diagrama de Classe com relacionamento de agregação ................... 29 4.2.4 Diagrama de Classe com relacionamento de composição ................ 30 4.2.5 Diagrama de Classe com relacionamento de dependência ............... 31 4.2.6 Diagrama de Classe com relacionamento de generalização ............. 33 4.2.7 Diagrama de Classe com relacionamento de realização .................... 34 4.2.8 Diagrama de Classe com todos os relacionamentos ........................ 36 Atividades do Capítulo 1 ................................................................................... 40 Atividades do Capítulo 2 ................................................................................... 42 Atividades do Capítulo 3 ................................................................................... 44 Atividades do Capítulo 4 ................................................................................... 46 Tecnologias utilizadas ........................................................................................ 48 Notas dos autores .............................................................................................. 49 Gabarito das Atividades .................................................................................... 50

6

Capítulo 1 – Orientação a Objetos A orientação a objetos é um paradigma de programação que acopla Abstração, Encapsulamento, Modularidade e Herança nos seus princípios focando na composição e interação de objetos.

1.1 Orientação a Objetos O que é abstração? É considerar apenas aspectos que achamos relevantes.

O que é Encapsulamento?

Esconder implementações de clientes.

O que é Modularidade? Decomposição de problemas em partes menores, para gerir complexidades.

O que é Herança? É um relacionamento entre classes, onde todas as características e comportamentos são compartilhados de classes bases para suas derivadas. 7

1.2 Classes, Objetos, Atributos e Métodos O que é uma Classe? É o conjunto homogeneo de objetos que reúnem caracteristicas e comportamentos semelhantes

O que é um objeto? É uma abstração que reúnem caracteristicas (atributos) e comportamentos (métodos).

O que é um atributo? É uma caracteristica do objeto que são atribuidos valores.

O que é um método? É um comportamento ou ação que o objeto realiza.

8

Capítulo 2 – UML A Unified Modeling Language (UML) é uma linguagem de modelagem que serve para visualizar, especificar, construir e documentar a produção de um software. Ela abrange todos os aspectos de desenvolvimento de software:

Arquitetura de sistemas

Requerimentos

Testes

Plano de projeto

Concluindo UML: É uma linguagem de modelagem, cujo objetivo é facilitar a compreensão para elaboração de requisitos e comportamentos de softwares, bem como identificação de elementos físicos referente ao equipamento sobre o qual o sistema deverá ser instalado.

9

2.1 Princípios da Modelagem O que é um modelo?

É uma simplificação da realidade.

Princípios da Modelagem são:

Visualiza como sistema será

Especifica estrutura/comportamento do sistema

Orienta a partir de modelos

Funções da Modelagem:

.

• Melhorar a comunicação e a compreensão entre os *stakeholders

.

• Documentar o comportamento e estrutura do sistema antes da codificação * Envolvidos no processo de desenvolvimento

10

Vemos que o processo de modelagem poderá fornecer flexibilidade na produção de software, sendo notável a importância da utilização de uma linguagem de modelagem, em especial, a UML da qual tratamos nesta obra.

2.2 Vantagens de utilizar UML As vantagens são inúmeras para os profissionais que aderirem o uso da UML, destacamos algumas: Não precisamos pagar nada

Gera benefícios com integração de praticas de modelagem

Não está ligada ao processo que o engenheiro de software usar

Podemos usar em qualquer etapa do desenvolvimento

Podemos extender essa linguagem

11

Capítulo 3 – Estrutura dos diagramas da UML Neste capítulo abordaremos os diagramas da UML no ponto de vista estático e dinâmico, porém todos os exemplos criados neste livro foram confeccionados em uma ferramenta chamada astah community , se trata de um software para modelagem UML criada pela Change Vision, Inc, tal ferramenta disponibiliza gratuitamente para criação de diagramas estáticos e dinâmicos que veremos a seguir.

3.1 Diagramas estáticos Esses tipos de diagramas modelam a estrutura do sistema e são os seguintes: Diagrama de Classes Diagrama de Objetos Diagrama de Componentes Diagrama de Distribuição

3.1.1 Diagrama de Classes Este diagrama contribui para modelagem estática de um sistema identificando as classes e seus relacionamentos. As classes são representadas no diagrama da UML através de um retângulo dividido em três linhas onde a primeira definimos o nome da classe a segunda linha os atributos e a última linha os métodos. 12

É importante sabermos como representar os Modificadores de Acesso no diagrama. Sendo assim destacamos como eles são referenciados no diagrama de classes. Vejamos logo abaixo: • public

referenciado por ‘+’

• protected referenciado por ‘#’ • private

referenciado por ‘-’

• package

referenciado por ‘~’

Exemplo de uma classe "Livro" representado no diagrama de classe: Classe

Livro Modificador de Acesso package

~ autor: String

Atributo

~ exibirInformacao():void Método

Veremos como uma classe abstrata (abstract) "Animal" e o método abstrato (abstract) comer são representados no diagrama de classe:

Animal

Classe abstract fica em itálico

# nome: String

Método abstract fica em itálico

+ comer():void

Para membros de uma classe ou até mesmo para a classe propriamente dita quando definimos como "final" não há nenhuma mudança gráfica no diagrama apenas coloca-se o valor para o atributo. Porém para membros definidos como "static" os membros ficam sublinhados conforme o exemplo a seguir: Carro - capacidade: int Membros static

~ acelerar(km : int): void

13

Para representarmos uma interface nesse diagrama precisamos colocar o estereótipo: destacado acima do nome da interface, conforme o exemplo abaixo: Atributo static final por isso o sublinhado e o valor inicial

ControleGame

Estereótipo de interface Nome da interface

tecla:String= Enter

+ pular():void Como é abstract implicitamente, logo fica em itálico e por padrão é public

3.1.2 Diagrama de Objetos

Este diagrama contribui para modelagem dos objetos instanciados de um determinado diagrama de classes. A mesma notação adotada do diagrama de classes é usada no diagrama de objetos. No diagrama de objetos os objetos são escritos com seus nomes sublinhados e todos que fazem parte de relacionamento são mostrados. Objeto carro:Carro

Classe

capacidade: int =10

Atributo

Valor

3.1.3 Diagrama de Componentes Este diagrama contribui para modelagem de organização de códigos de linguagem de programação, executáveis, bibliotecas, frameworks, container, servidores e sistemas externos tudo isso sendo visto como componente ao software que se deseja desenvolver. Todo componente pode ser substituído. Definimos ele com retângulo conforme abaixo: 14

Notação para componente Controle.jar Nome do node (nó) representa o computador do cliente

3.1.3 Diagrama de Distribuição Nesse diagrama é possível ver módulos de hardware e do software no sistema, O diagrama de distribuição é composto por componentes e node (nó) no formato de caixa: que são objetos físicos, por exemplo: computador cliente em uma Rede. Também fazem partes desse diagrama as conexões entre estes nodes e componentes que juntos compõem toda a arquitetura física do sistema. Exemplo: Nome do node (nó) representa o computador do cliente

Máquina Cliente

Browser

O Componente do nó ele é opcional

Relação de dependência do cliente com o servidor, ou seja, conexão entre os nodes(nós) Máquina Servidor Nome do node (nó) representa o computador do servidor

Web Service

O Componente que do nó ele é opcional

15

3.1.4 Diagrama de Casos de Uso Nesse diagrama é possível obter uma visão externa de como um software poderá ser usado, identificando quem interage com o software no caso os Atores e o que o software deve fazer que são os Casos de uso. Esse tipo de diagrama não pode identificar como o sistema irá realizar suas operações. Relacionamento de ação opcional no Exemplo: sistema. Ao logar é opcional recuperar senha

Relacionamento de generalização -herança

Casos de usos

Ator

Relacionamento de ação obrigatória no sistema. Ao realizar matricula é obrigatório gerar boleto

3.2 Diagramas dinâmicos Esses tipos de diagramas modelam o comportamento do sistema e são os seguintes:

Diagrama de Sequência

Diagrama de Colaboração

Diagrama de Estado

Diagrama de Atividade 16

3.2.1 Diagrama de Sequência Esses tipos de diagramas representam a sequências de mensagens entre instâncias de classes, atores, componentes ou subsistemas, dando-lhes ênfase ao tempo de sequência da interação, mostrando objetos relacionados conforme mensagens trocadas na linha de vida. Passos para criar o diagrama de sequência: 1. Criar o diagrama de casos de uso; 2. Criar o diagrama de classes; 3. Separar os atores e objetos; 4. Fazer as chamadas (envio/recebimento de mensagens) dos métodos; 5. Fazer as chamadas dos retornos; Como os objetos no diagrama interagem através da troca de mensagens, precisamos saber quais são os tipos delas: 1. Mensagens de Chamada; 2. Mensagens de Retorno; 3. Mensagens de Envio; 4. Mensagens de Criação; 5. Mensagens de Destruição; Quanto aos símbolos:

1. Ator

2. Objeto 17

3. Linha do tempo

4. Mensagem de Chamada (chama o método enviar())

5. Mensagem de Retorno

6. Mensagem de Criação

7. Mensagem de Destruição

3.2.2 Diagrama de Colaboração Esse tipo de diagrama mostra a colaboração dinâmica entre os objetos, igualmente como ocorre no diagrama de sequência, mas ele o diagrama de colaboração tem mecanismos a mais, visto que pode exibir troca de mensagens entre os objetos e com os seus relacionamentos. Exemplo do diagrama e alguns elementos: 18

Elementos já identificados no diagrama de sequência

3.2.3 Diagrama de Estado Esses tipos de diagramas contém um ponto de início e inúmeros marcos de finalização. Quanto ao ponto de início chamado de estado inicial é denotado como um círculo todo preenchido, e o ponto de finalização chamado de estado final é exibido como uma borda externa branca do círculo e por dentro preenchido. Representação de um estado é através de um retângulo, onde entre eles estão as transições, representados através de uma linha com uma seta no final. Exemplo de alguns elementos:

Estado

Transição

Inicio

Fim

3.2.4 Diagrama de Atividade Esses tipos de diagramas modelam as atividades que estão contempladas no processo do sistema e no fluxo de controle, modelando as execuções de atividades sequencias ou concorrentes. 19

Elementos do diagrama: 1. Estados iniciais e finais 2. Atividades e Transições 3. Decisões 4. Bifurcações e União 5. Raias No diagrama de atividade deve possuir no mínimo um estado inicial e um final. Os retângulos representam as atividades e as setas contínuas representam as transições do fluxo de uma atividade para outra, e os losangos representam as decisões para controlar o desvio do fluxo. A bifurcação e união é uma barra solidada usado para atividades paralelas. Quanto a raia são meios para separar e organizar a lógica das atividades. Exemplo do diagrama de atividades com os elementos: Raias

Atividades

Estado inicial

Decisão

Estado Final

Bifurcações e União

20

Capítulo 4 – App UMLcode e Diagramas de Classes com fontes Java Neste capítulo são mostrados os diagramas de classes com diversos exemplos refletidos em código Java, a fim de que aumente a compreensão do leitor, sobre como representar diagramas de classes em códigos fontes em linguagem Java e vice-versa. Os diagramas dos exemplos são todos elaborados na ferramenta astah community. E para contribuir ainda mais com seu aprendizado este livro tem como ferramenta de apoio um aplicativo desenvolvido para plataforma Android chamado de UMLcode que poderá gerar os arquivos fontes em Java a partir dos exemplos de diagramas de classes deste livro, e isso tudo porque há um QR Code para cada diagrama, logo basta utilizar o aplicativo para fazer a leitura do QR Code e assim será gerado um arquivo com o código em Java referente ao diagrama. Ressaltamos que a cada exemplo de diagramas de classes, apresentamos, no livro, como ele seria em código Java. O aplicativo serve para que o leitor adquira os códigos fontes de cada diagrama de uma forma mais rápida e fácil, evitando dessa forma que digite todos os códigos apresentados nesta obra. Lembre-se de fazer os imports de packages nativos tais como java.util em algumas classes dos exemplos deste livro.

4.1 App UMLcode O App UMLcode foi desenvolvido para plataforma Android e serve como uma ferramenta de apoio ao leitor, contribuindo com a geração dos códigos Java a partir dos exemplos de diagramas de classe existente neste livro. Os códigos gerados estão com a extensão “.java” e são salvos diretamente na raiz do seu dispositivo móvel, tablete ou smartphone. O App já está disponível gratuitamente na loja Google Play.

Baixe nosso app:

UMLcode

21

4.1.1 Funcionalidade do APP O aplicativo UMLcode é especifico para leitura de QR CODE desta obra, nele o você consegue ver os códigos Java dos diagramas de classes na tela do seu celular e ainda conta com a geração automática, após a leitura do código, dos arquivos “.java” direto na pasta raiz do seu smartphone. Mostraremos as telas do app a seguir. Tela inicial do App

Tela inicial do App, bastando clicar no botão “Começar” para ser direcionado para a tela onde há opção para ler QR CODE.

22

Tela do sobre os autores

No canto superior a direita há um botão que ao clicar exibirá a tela com informações dos autores do aplicativo e com informações gerais.

23

Telas do processo de leitura do QR CODE

A tela à esquerda apresenta o botão para acionar a leitura do QR CODE dos códigos do livro e a tela a direita apresenta a ação de ler efetivamente o código.

24

Telas depois da leitura do QR CODE

A tela à esquerda apresenta o resultado da leitura do QR CODE, isto é, mostra os códigos em Java referente ao diagrama e isso na própria tela do celular, podendo o leitor copiar, recortar e deletar o código na tela, embora haja inúmeras classes, automaticamente será exibido uma barra de rolagem vertical, uma vez que será necessário para visualização total dos códigos. Se tratando da tela a direita, demonstra como os arquivos são salvos e onde, no caso no formato .java e no diretório de armazenamento principal do dispositivo móvel, ou seja na pasta raiz.

4.2 Diagramas de Classes exemplificados em Java Nesta seção apresentaremos exemplos de diagramas de classes com atributos, métodos relacionamentos e exemplificaremos com código em Java, bem 25

como disponibilizaremos o QR Code de cada diagrama para leitura do App UMLCode desenvolvido para esta obra, a fim de gerar os arquivos dos códigos no dispositivo Android para posteriormente ser utilizado em um IDE.

4.2.1 Diagramas de Classes sem relacionamento Apresentaremos um diagrama de classes com dois atributos e um método, exemplificaremos como este diagrama seria desenvolvido no código em Java. Classe Professor na UML

.. Leia pelo App

Classe Professor do Diagrama exemplificado no código Java

public class Professor { String nome; private float salario; public void lancarFrequencia(int faltas){ } } 26

4.2.2 Diagramas de Classes com relacionamento de Classe Associativa As Classes podem construir relacionamentos entre si para realizarem comunicação, compartilhamento de dados umas com as outras. Podemos definir a quantidade de objetos associados no relacionamento entre as classes, isso se chama

multiplicidade.

Demostraremos

o

exemplo

dos

indicadores

de

multiplicidade mais comuns: 1

Exatamente um

1..*

Um ou mais

0..*

Zero ou muitos

*

Muitos

0..1 Zero ou um m..n Faixa de valores, por exemplo ( 2..6 ) As Classes associativas ocorrem quando a associação, ou seja, o relacionamento entre duas classes contenha multiplicidade muitos (*) em ambas as extremidades como destacamos abaixo e com código fonte: Diagrama de classes com multiplicidade

.. Leia pelo App

27

Diagrama exemplificado no código Java

public class Candidato { private String nome; private List inscricoes; public void informarDados(){ } } public class Concurso { private String area; private String nivel; private List inscricoes; public void exibirVagas(){ } } public class Inscricao { private int codigo; private int tipo; private Candidato candidato; private Concurso concurso; } 28

4.2.3 Diagrama de Classe com relacionamento de agregação Apresentaremos um diagrama de classes com duas classes usando a agregação, exemplificaremos este diagrama em código Java. Na agregação uma classe declara um atributo do tipo de da classe agregada. Diagrama de classes com agregação

.. Leia pelo App

Diagrama exemplificado no código Java

public class Mouse { private int marca; private String tipo; public void mover(){ } }

29

public class Computador { private String marca; private float processador; private int memoria; private int HD; private Mouse mouse; public void ligar(){ } public void desligar(){ } }

4.2.4 Diagrama composição

de

Classe

com

relacionamento

de

Apresentaremos um diagrama de classes com duas classes usando a composição, exemplificaremos este diagrama em código Java. Na composição há uma instancia de uma classe dentro da outra, relacionamento de vida ou morte. Diagrama de classes com composição

.. Leia pelo App

30

Diagrama exemplificado no código Java

public class Capitulo { private String titulo; public void exibirSubTitulos(){ } } public class Livro { private String titulo; public void exibirTexto(){ } public void exibirTextos(){ Capitulo capitulo = new Capitulo(); } }

4.2.5 Diagrama dependência

de

Classe

com

relacionamento

de

Apresentaremos um diagrama de classes com duas classes usando dependências, exemplificaremos este diagrama em código Java. Ressaltamos que a dependência pode ocorrer com o objeto da classe dependente no parâmetro do método como exemplo abaixo ou esse objeto pode estar como tipo de retorno do método. Diagrama de classes com dependências

.. Leia pelo App

31

Diagrama exemplificado no código Java

public class Cliente { protected String nome; public void cadastrarDados(){ } } public class Produto { public String nome; private float valor; public void cadastrarDados(){ } } public class Loja { public String nome; public void venderProdutos(Cliente cliente, Produto produto){ } }

32

4.2.6 Diagrama generalização Apresentaremos

de

Classe

diagrama

de

com classes

relacionamento com

duas

classes

de

usando

generalização, exemplificaremos este diagrama em código Java. Essa é a herança simples, onde uma classe só pode ser estendida por uma única classe. Diagrama de classes com generalização

.. Leia pelo App

Diagrama exemplificado no código Java

public class Funcionario { protected String nome; protected int matricula; public void executarAtividade(){ } }

33

public class Professor extends Funcionario { private float salario; public float getSalario() { return salario; } public void setSalario(float salario) { this.salario = salario; } }

4.2.7 Diagrama de Classe com relacionamento de realização Apresentaremos diagrama de classes com relacionamentos de realização, exemplificaremos este diagrama em código Java. A realização ocorre entre classes e interfaces, onde uma classe pode implementar inúmeras interfaces. Diagrama de classes com realização

.. Leia pelo App

34

Diagrama exemplificado no código Java

public interface Professor { public void lancarNotas(); public void lancarFrequencias(); public void elaboraraAulas(); } public interface TecnicoAdministrativo { public void baterPonto(); public void atenderPublico(); } public interface Coordenador { public void despacharProcessos(); }

35

public class Funcionario implements TecnicoAdministrativo, Professor, Coordenador { protected String nome; protected int matricula; public void executarAtividade(){ } @Override public void despacharProcessos() { } @Override public void lancarNotas() { } @Override public void lancarFrequencias() { } @Override public void elaboraraAulas() { } @Override public void baterPonto() { } @Override public void atenderPublico() { } }

4.2.8 Diagrama de Classe com todos os relacionamentos Apresentaremos um diagrama de classes com todos os relacionamentos descritos nesta obra, exemplificaremos como este diagrama seria desenvolvido no código em Java. Observe que há classe abstrata, membro static, interface, multiplicidade, dependência, generalização, realização, agregação, composição, classe associativa e em uma delas o método main. 36

Diagrama de classes com todos os relacionamentos

.. Leia pelo App

Diagrama exemplificado no código Java

public abstract class Usuario { private String nome; private String senha; public void logar(Usuario usuario){ } }

37

public class Disciplina { private String nome; public void receberEmenta(){ } } public class Professor extends Usuario { private Disciplina disciplina; private List contratos; public void lancarNota(float nota){ } } public class Curso { private String nome; public void cadastrarCurso(Professor professor, Disciplina disciplina){ } } public interface InstituicaoPublica { public void contratar(); } public class Instituicao implements InstituicaoPublica { private String nome; private List contratos; public void contratar() { } public static void main(String[] args) { Curso curso = new Curso(); } }

38

public class Contrato { private int numero; private int prazo; private float salario; private Professor professor; private Instituicao instituicao; }

39

Atividades do Capítulo 1 1) Quais das opções abaixo não faz parte dos princípios da orientação a objetos? a) Herança b) Abstração c) Encapsulamento d) Refatoração e) Modularidade

2) Dadas as afirmativas abaixo selecione as que são verdadeiras: I - Objeto é uma abstração do mundo real que reúne características e comportamentos semelhantes. II – Classe é um conjunto homogêneo de objetos que tem atributos e métodos semelhantes. III – A orientação a objeto é um modelo de programação. a) I e II são verdadeiras b) I e III são verdadeiras c) Apenas a II é verdadeira d) II e III são verdadeiras e) Todas são verdadeiras

3) Quais dos itens abaixo melhor representa um atributo de um objeto? a) cor b) 1,70 c) vermelho 40

d) grande e) bonito

4) Escolha nas opções abaixo, aquela que os objetos não são da mesma classe: a) Jerry, Mickey e Pinky b) Tom, Frajola e Garfield c) Violão, Violoncelo e Flauta d) Mozart, Beethoven e Bach e) Todos são da mesma classe

41

Atividades do Capítulo 2 1) A UML é uma linguagem gráfica para: a) visualizar, especificar, construir e gerenciar b) visualizar, testar, construir e documentar c) visualizar, especificar, gerenciar e documentar d) visualizar, especificar, construir e testar e) visualizar, especificar, construir e documentar

2) Sobre a UML informe a alternativa correta sobre as afirmativas abaixo: I - É uma linguagem de modelagem, cujo objetivo é facilitar a compreensão para elaboração de requisitos e comportamentos de softwares; II - Identifica elementos físicos referente ao equipamento sobre o qual o sistema deverá ser instalado; III – Uma das funções da modelagem é melhorar a comunicação e a compreensão entre os stakeholders; a) Apenas I está correta b) I e II estão corretas c) I e III estão corretas d) II e III estão corretas e) Todas estão corretas

42

3) Selecione apenas a resposta incorreta sobre os princípios da modelagem: a) Exibe a programação de código b) Visualiza como sistema será c) Especifica estrutura do sistema d) Especifica comportamento do sistema e) Orienta a partir de modelos

4) O que é um modelo? a) Objeto de uma classe b) Simplificação da realidade c) São os stakeholders d) É um conjunto homogêneo de objetos e) É o atributo, característica de uma classe

43

Atividades do Capítulo 3 1) Os diagramas estruturais em UML não incluem o diagrama de: a) classes b) colaboração c) casos de uso d) objetos e) componentes

2) Qual a alternativa correta onde seleciona apenas os diagramas estáticos da UML? I – Classes II – Colaboração III – Objetos IV – Sequência V – Componentes VI – Atividades VII – Distribuição VIII – Estado IX –Casos de Uso a) I, II, III e IV b) I, III, IV e IX c) I, III, V, VII e IX d) II, IV, VI, VIII e IX e) II, IV, VI, VII e IX

44

3) Qual a alternativa correta onde seleciona apenas os diagramas dinâmicos da UML? I – Classes II – Colaboração III – Objetos IV – Sequência V – Componentes VI – Atividades VII – Distribuição VIII – Estado IX –Casos de Uso a) I, II, III, IV, V e IX b) I, III, IV, V, VI e IX c) I, III, V, VII e IX d) II, IV, VI e VIII e) II, IV, VII e IX

4) No diagrama de classe há modificadores de acesso e usamos símbolos para representá-los. Das definições abaixo sobre estes símbolos qual a alternativa está incorreta? a) # → protected b) ~ → package c) - → private d) + → public e) ~ → private

45

Atividades do Capítulo 4 1) No diagrama de classe com todos os relacionamentos quais foram as classes que precisaram do importe do pacote java.util no código gerado pelo app UMLcode? a) Professor e InstituicaoPublica b) Instituicao e InstituicaoPublica c) Curso e Professor d) Professor e Instituicao e) Professor e Contrato

2) Qual o diagrama não modela corretamente as estruturas das classes em seu relacionamento?

a)

b)

c)

d)

e)

46

3) Qual código Java que melhor representa a classe do diagrama de classes abaixo?

public class Arvore { Fruta fruta = new Fruta();

a)

} public class Arvore {

b)

} public class Arvore extends Fruta {

c)

} public class Arvore { Fruta fruta;

d)

} public class Arvore implements Fruta {

e)

}

4) Baseando-se no código Java abaixo. Qual o tipo de relacionamento que ocorre entre as classes? public class Programador {

public class Java {

public Java criarSoftware(){ return null; } }

}

a) Agregação b) Composição c) Generalização d) Dependência e) Realização

47

Tecnologias utilizadas Para que o leitor possa replicar quaisquer exemplos deste livro, vamos citar as tecnologias utilizadas para elaboração dos diagramas, código Java e QR CODES.

A ferramenta para criação dos modelos da UML

A ferramenta para criação dos códigos

A ferramenta para criação dos QR CODES https://br.qr-codegenerator.com/

48

Notas dos autores

Esta obra foi idealizada sem fins lucrativos e com intuito de contribuir para o ensino-aprendizado na área de modelagem de software em Java, usando a UML para a simplificação. Foi desenvolvido um aplicativo que é vinculado a este livro e ambos são resultados de um projeto de pesquisa no Instituto Federal de Educação, Ciência e Tecnologia do Amazonas campus Avançado Manacapuru com o apoio do CNPq.

É proibido o uso deste material para fins comerciais.

49

Gabarito das Atividades

Atividades do Capítulo 1 1 D 2 D 3 A 4 C Atividades do Capítulo 2 1 E 2 E 3 A 4 B Atividades do Capítulo 3 1 B 2 C 3 D 4 E Atividades do Capítulo 4 1 D 2 C 3 A 4 D

50
UML exemplificada em Java

Related documents

50 Pages • 4,610 Words • PDF • 1.7 MB

2 Pages • 168 Words • PDF • 63.9 KB

13 Pages • 341 Words • PDF • 592 KB

2,629 Pages • 369,264 Words • PDF • 91.4 MB

392 Pages • 61,918 Words • PDF • 17.9 MB

1,143 Pages • PDF • 105.7 MB

896 Pages • 226,319 Words • PDF • 14.1 MB

200 Pages • 58,122 Words • PDF • 2.3 MB

14 Pages • 5,465 Words • PDF • 180.3 KB

327 Pages • 34,295 Words • PDF • 1.2 MB

2 Pages • 273 Words • PDF • 337.4 KB

209 Pages • 61,031 Words • PDF • 11.7 MB