modelagem de software - facomronaldooliveira/mds-2019-2/aula7-mds...considere os substantivos e...
TRANSCRIPT
![Page 1: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/1.jpg)
Faculdade de Computação
Modelagem de Software
Prof. Dr. Ronaldo C. de [email protected]
www.facom.ufu.br/~ronaldooliveiraFACOM - 2019
![Page 2: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/2.jpg)
Faculdade de Computação
Modelagem de Objetos Conceitos Básicos
![Page 3: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/3.jpg)
Faculdade de Computação
3
Modelagem de Objetos Conceitos Básicos
◼ Objeto
◼ É uma entidade real ou abstrata, com características específicas de interesse para o ambiente e que está associado a processos que modificam seu estado e a um certo conjunto de atividades do ambiente de negócios;
![Page 4: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/4.jpg)
Faculdade de Computação
4
Modelagem de Objetos Conceitos Básicos
◼ Exemplos de objetos◼ Cliente (ambiente qualquer);
◼ Nota fiscal (ambiente de vendas);
◼ Aula, Mapa de notas (escola, faculdade);
◼ Produto (ambiente de vendas ou serviços);
◼ Médico, medicamento, receita, prontuário, paciente, internação (hospital).
Obs.: O nível de detalhe que se deseja ter sobre um mesmo objeto varia de ambiente para ambiente.
![Page 5: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/5.jpg)
Faculdade de Computação
5
Modelagem de Objetos Conceitos Básicos
◼ Classe◼ É uma forma de categorizar um conjunto de objetos
que compartilham características e comportamentos;
◼ Exemplo: você e seu colega são, obviamente, pessoas (objetos) diferentes, mas que no contexto deste instante ambos pertencem à uma mesma classe de pessoas: Alunos.
◼ Uma classe é representada por um nome, um conjunto de propriedades (atributos) que caracterizam esta classe e um conjunto de serviços (métodos) que manipulam os objetos desta classe.
![Page 6: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/6.jpg)
Faculdade de Computação
6
Modelagem de Objetos Conceitos Básicos
◼ Representação gráfica de uma Classe:
Aluno
Nome
Data de nascimento
Matrícula
CancelarMatricula
Matricular(Disciplina)
ObterHistorico
Representação
UML
para a classe
Nome da classe
Propriedades
Serviços
![Page 7: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/7.jpg)
Faculdade de Computação
7
Modelagem de Objetos Conceitos Básicos
◼ Estado de um objeto◼ É a situação em que se encontra um determinado
objeto, sob a ótica daquilo que se deseja controlar.
◼ Dentro e um sistema um mesmo objeto pode
possuir diversos estados.
Estado = situação do objeto
Um semáforo pode conter o seguintes estados:
Verde Amarelo Vermelho
![Page 8: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/8.jpg)
Faculdade de Computação
8
Modelagem de Objetos Conceitos Básicos
◼ Pacotes:◼ É um mecanismo de
propósito geral para organizar elementos semanticamente relacionados em grupos.
Interface do
Usuário
Objetos do
Sistema
Banco de
Dados
Utilidades
![Page 9: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/9.jpg)
Faculdade de Computação
9
Modelagem de Objetos Conceitos Básicos
◼ Componentes
◼ Um componente pode ser tanto um código em linguagem de programação como um código executável já compilado
Cliente.java Gráficos.dll
![Page 10: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/10.jpg)
Faculdade de Computação
10
Modelagem de Objetos Conceitos Básicos
◼ Encapsulamento
◼ É o resultado (ou ato) de ocultar do usuário os detalhes da implementação de um objeto, protegendo-o de adulteração. O usuário deve conhecer a classe juntamente com as suas propriedades e saber quais os métodos para manipular os objetos desta classe, mas não precisa saber como estes métodos foram implementados.
![Page 11: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/11.jpg)
Faculdade de Computação
11
Modelagem de Objetos Conceitos Básicos
◼Encapsulamento
3,14
abc
A B
C
D
CLASSES
Estrutura
encapsulada de
dados
Operações permissíveis
- a única maneira de
manipular a estrutura
de dados. O método da
operação está oculto do
usuário.
![Page 12: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/12.jpg)
Faculdade de Computação
12
Modelagem de Objetos Conceitos Básicos
◼ Mensagem◼ É uma solicitação enviada para um, ou mais
objetos, obtendo como resposta a execução de algum serviço.
◼ Ex.: Um objeto da classe A (emissor) envia uma mensagem para um objeto da classe B (receptor), este objeto recebe a mensagem, executa algum serviço, e retorna a resposta ao emissor da mensagem.
![Page 13: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/13.jpg)
Faculdade de Computação
13
Modelagem de Objetos Conceitos Básicos
◼ Polimorfismo◼ É uma das mais importantes características
da orientação a objetos. O polimorfismo acontece quando uma mesma mensagem pode ser interpretada em diferentes caminhos por diferentes objetos.
Ex.: Objeto: circulo quadrado
Propriedades: raio, centro lado, altura
Serviços: área, desenhar área, desenhar
![Page 14: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/14.jpg)
Faculdade de Computação
14
Modelagem de Objetos Conceitos Básicos
◼ Herança
◼ É um mecanismo específico pelo qual os objetos de uma sub-classe herdam toda a representação e comportamento das suas super-classes. Programação por herança é muito importante, devido ao reaproveitamento das definições semelhantes das super-classes.
![Page 15: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/15.jpg)
Faculdade de Computação
15
Modelagem de Objetos Conceitos Básicos
◼ Herança
Poligonos
Triângulo Quadrilátero
Quadrado Retângulo
Sere Vivos
Vegetais Animais
Mamífero Aves
![Page 16: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/16.jpg)
Faculdade de Computação
16
Modelagem de Objetos Conceitos Básicos
◼ Aspectos Estruturais: Associação simples
◼ É um relacionamento estrutural que especifica objetos de um item conectado a objetos de outro item. A partir de uma associação conectamos duas classes, você é capaz de navegar de um objeto de uma classe até o objeto de outra classe e vice-versa.
![Page 17: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/17.jpg)
Faculdade de Computação
17
Modelagem de Objetos Conceitos Básicos
◼ Aspectos Estruturais: Associação simples
Reserva
Quarto
Hóspedeé feita por 1 *
*
*
![Page 18: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/18.jpg)
Faculdade de Computação
18
Modelagem de Objetos Conceitos Básicos
◼ Aspectos Estruturais: Associação recursiva
◼ Representação de de uma associação de objetos de uma mesma classe.
Pessoa
Marido
Esposa
é casado com
![Page 19: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/19.jpg)
Faculdade de Computação
19
Modelagem de Objetos Conceitos Básicos
◼ Aspectos Estruturais: Relação todo-parte
◼ Definição de um relacionamento onde uma classe representa um item maior (o “todo”), formado por itens menores (as “partes”), ou seja, um objeto do todo contém os objetos das partes. A relação todo-parte, na verdade, é apenas um tipo especial de associação, que é representada pela colocação de um diamante no objeto todo que compõe a relação. Temos dois tipos de relação todo-parte: Agregação e Composição.
![Page 20: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/20.jpg)
Faculdade de Computação
20
Modelagem de Objetos Conceitos Básicos
◼ Aspectos Estruturais: Relação todo-parte
AGREGAÇÃO - a existência do Objeto-Parte faz
sentido, mesmo não existindo o Objeto-Todo
Um time é formado por atletas, ou seja, os atletas são parte integrante de um time, mas os atletas existem independentemente de um time existir. Nesse caso, chamamos esse relacionamento de AGREGAÇÃO.
![Page 21: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/21.jpg)
Faculdade de Computação
21
Modelagem de Objetos Conceitos Básicos
◼ Aspectos Estruturais: Relação todo-parte
COMPOSIÇÃO - é uma agregação mais forte; nela, a
existência do Objeto-Parte NÃO faz sentido se o Objeto-Todo não existir
Nesse caso, um pedido é composto por um ou vários itens, mas um produto NÃO é item de um pedido se não existe pedido. Assim, chamamos esse relacionamento de COMPOSIÇÃO.
![Page 22: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/22.jpg)
Faculdade de Computação
22
Modelagem de Objetos Conceitos Básicos
◼ Multiplicidade◼ Nos relacionamentos de associação simples e
agregação, pode-se acrescentar a multiplicidade (similar a cardinalidade na modelagem estruturada), que especifica o número de instâncias de uma classe em relação a outra em um relacionamento:◼ 0..1 zero ou uma instância
◼ 1 exatamente uma instância
◼ 0..* zero ou mais instâncias
◼ * ilimitado (valor padrão)
◼ 1..* uma ou mais instâncias
◼ <literal>..* número exato ou mais instâncias
![Page 23: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/23.jpg)
Faculdade de Computação
23
Modelagem de Objetos Conceitos Básicos
◼ Observação:
◼ Todas as associações simples, e relações todo-parte (agregação e composição) devem ser nomeadas conforme o ambiente de negócios e também devem ser relacionadas as multiplicidades envolvidas. Estas características fornecem um melhor entendimento da relação entre os objetos.
![Page 24: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/24.jpg)
Faculdade de Computação
24
Modelagem de Objetos Conceitos Básicos
◼ Aspectos Estruturais: Relação de generalização
/especialização (gen-espec ou herança)
◼ É um relacionamento entre itens gerais (chamado superclasses ou classe-mãe) e tipos específicos desses itens (chamada de subclasse ou classe-filha). A generalização significa que os objetos da classe-filha herdam as propriedades (atributos e operações) da classe-mãe. Freqüentemente, mas não sempre, as classes-filhas tem atributos e operações próprias, além daquelas encontradas nas classes-mãe.
![Page 25: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/25.jpg)
Faculdade de Computação
25
Modelagem de Objetos Conceitos Básicos
◼ Aspectos Estruturais: Relação de generalização
/especialização (gen-espec ou herança)
Pessoa
Funcionário
Interpreta-se da
seguinte forma:
- Um funcionário é um
tipo de pessoa;
ou
- Uma certa pessoa
pode ser um
funcionário;
![Page 26: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/26.jpg)
Faculdade de Computação
26
Modelagem de Objetos Conceitos Básicos
◼ Aspectos Estruturais: Relação de generalização
(herança múltipla)
Carro
Anfíbio
Barco
![Page 27: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/27.jpg)
Faculdade de Computação
Modelo Conceitual do Sistema (Diagrama de Classe
Simplificado)
![Page 28: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/28.jpg)
Faculdade de Computação
28
UML - Modelo Conceitual◼ Um diagrama de classe ilustra as especificações de software para as
classes e interfaces do sistema
◼ Inclui:
◼ Classes, associações e atributos;
◼ Interfaces (com operações e constantes);
◼ Métodos que manipulam os objetos;
◼ Informação sobre o tipo dos atributos;
◼ Visibilidade;
◼ Navegabilidade;
◼ Dependências;
◼ UML não diferencia modelo conceitual de diagrama de classe (o termo “classe de implementação” é usado para distinguir o segundo do primeiro)
![Page 29: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/29.jpg)
Faculdade de Computação
29
UML - Modelo Conceitual
◼ Modelo Conceitual (diagrama de Classe Inicial)
◼ Artefato mais importante da AOO
◼ Representa conceitos relevantes (do ponto de vista do modelador) do domínio do problema
◼ Na UML, ilustrado com diagramas de estruturas estáticas contendo:
◼ Conceitos
◼ Associações entre conceitos
◼ Atributos de conceitos
![Page 30: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/30.jpg)
Faculdade de Computação
30
UML - Modelo Conceitual◼ Conceitos
◼ Idéias, coisas, ou objetos do mundo real
◼ Não representam componentes de software
Loja Cliente Venda
data
hora
VendasDatabase artefato do software, não
faz parte do modelo conceitual
classe do software; não
faz parte do modelo conceitual
Venda
datahora
imprima()
![Page 31: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/31.jpg)
Faculdade de Computação
31
UML - Modelo Conceitual
◼ Identificando Conceitos
◼ Regras úteis:
◼ É melhor especificar demais do que especificar de menos;
◼ Não exclua conceitos simplesmente porque os requisitos não indicam a necessidade de guardar informações sobre eles
◼ Comece fazendo uma lista de conceitos candidatos a partir de uma lista de conceitos comuns;
◼ Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos a conceitos ou atributos.
![Page 32: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/32.jpg)
Faculdade de Computação
32
UML - Modelo Conceitual
⚫ Identificando os Conceitos
− Analise a descrição dos casos de uso.
− Identifique os substantivos ou cláusulas substantivas.
− Classifique os substantivos para um melhor entendimento.
![Page 33: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/33.jpg)
Faculdade de Computação
33
UML - Modelo Conceitual
Manual do empregado; Manual de reparosManuais, livros
Linha de crédito; AçõesServiços financeiros
Recibo, Contrato de trabalho; Registro de manutençãoRegistros contratuais
Catálogo de produtos; Catálogo de peçasCatálogos
Política de devolução; Política de cancelamentoEventos
Departamento de vendas; Companhia aéreaOrganizações
Fome; AracnofobiaNomes abstratos
Serviço de crédito; Controle de tráfego aéreoSistemas externos
Item; PassageiroCoisas em um container
Loja; AviãoContainer de coisas
Operador; PilotoPapéis de pessoas
Itens de venda; Parcelas de pagamentoItens de transação
Venda, Pagamento; ReservaTransações
Loja; AeroportoLugares
Terminal de ponto-de-venda; AviãoObjeto físico ou tangível
ExemplosCategoria
![Page 34: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/34.jpg)
Faculdade de Computação
34
UML - Modelo Conceitual
⚫ Critérios para definição de conceitos
− Possui atributos?
− Guarda informação?
− Há atributos comuns a outros conceitos?
− O conceito é essencial ao sistema?
![Page 35: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/35.jpg)
Faculdade de Computação
35
UML - Modelo Conceitual
◼ Criando um Modelo Conceitual
◼ Passos sugeridos:
1. Liste os conceitos candidatos para os casos de usos em questão usando a lista de categorias comuns e identificação textual de nomes;
2. Desenhe-os em um modelo conceitual;
3. Adicione as associações necessárias para registrar os relacionamentos para os quais é preciso preservar alguma memória;
4. Adicione os atributos necessários para cumprir os requisitos de informação.
![Page 36: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/36.jpg)
Faculdade de Computação
36
UML - Diagrama de ClasseModelo Conceitual
◼ Identificando Associações
◼ Regras úteis:
◼ Focar nas associações cujo conhecimento deve ser preservado;
◼ Usar nomes baseados em expressões verbais que façam sentido quando lidas no contexto do modelo;
◼ Evitar mostrar associações deriváveis ou redundantes;
◼ É mais importante identificar conceitos do que associações;
◼ Associações demais tendem a confundir um modelo conceitual ao invés de iluminá-lo .
![Page 37: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/37.jpg)
Faculdade de Computação
37
UML - Diagrama de ClasseModelo Conceitual
◼ Atributo◼ Um atributo é um dado lógico de um objeto do
domínio
◼ Definidos para conceitos cujos requisitos (casos de uso) sugerem a necessidade de preservar algum tipo de informação
◼ Ex.: atributos data e hora para o conceito Venda
◼ Notação na UML
Venda
data
horainicial : Time
atributos
![Page 38: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/38.jpg)
Faculdade de Computação
38
UML - Diagrama de ClasseModelo Conceitual
◼ Identificando Atributos◼ Atributos devem preferencialmente
representar tipos primitivos de dados ou de valores simples◼ Ex.: Data, Número, Texto, Hora, Endereço, etc.
◼ Atributos não devem ser usados para:◼ Representar um conceito complexo
◼ Relacionar conceitos (atributo “chave-estrangeira”)
![Page 39: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/39.jpg)
Faculdade de Computação
39
UML - Diagrama de ClasseModelo Conceitual
◼ Um atributo deve ser de tipo não-primitivo quando:◼ É composto de seções separadas
◼ Ex.: endereço, data
◼ Precisa ser analisado ou validado◼ Ex.: CPF, número de matrícula
◼ Possui outros atributos◼ Ex.: Um preço promocional com prazo de validade
◼ É uma quantidade com uma unidade◼ Ex.: valores monetários, medidas
![Page 40: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/40.jpg)
Faculdade de Computação
Engenharia de Software Ronaldo C. Oliveira
40
UML - Diagrama de ClasseExemplo de Modelo Conceitual
![Page 41: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/41.jpg)
Faculdade de Computação
41
UML - Diagrama de ClasseExemplo de Modelo Conceitual
◼ Exercícios:
◼ Construir o Modelo Conceitual do Sistema de Livraria
![Page 42: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/42.jpg)
Faculdade de Computação
Caso de Uso – Efetuar vendaUse Case: UC2 - Solicitar Venda
Atores: Cliente, Vendedor
Pré-condições: Livro cadastrado, o cliente Cadastrado, e o Vendedor cadastrado
Cenário Principal:
1 - O cliente solicita um pedido de venda de livro
2 - O Vendedor inicia uma nova venda no sistema
3 - Identificar o cliente cadastrado na venda
4 - Identificar o vendedor responsável pela venda
6 - Repetir os seguintes passos enquanto existirem livros a serem vendidos
6.1 - Inserir o livro desejado como item de venda
6.2 - Inserir a quantidade de venda do item especificado
6.2 - Definir o valor de venda a ser aplicado no livro inserido
7 - Definir a forma de pagamento da venda(a vista ou boleto)
8 - Definir a remessa do pedido venda(retirado na loja ou remessa)
9 - Finalizar pedido de venda de livros
10 - Baixar o estoque para cada item de livro vendido com a quantidade inserida
11 - Gerar cupom de venda de livro
Cenários Alternativos:
3.1 - Se cliente não cadastrado -- Cadastrar Cliente
6.1.1 - Se não existir estoque disponível para o livro que esta sendo vendido informar o vendedor e retirar o livro dos itens de venda
42
![Page 43: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/43.jpg)
Faculdade de Computação
43
Cliente
+cpf+profissao
Funcionario
+cpf+cargo+salario+hoarioTrabalho
Venda
+numero+data+valorTotal+tipoPagamento+tipoRemessa
Livro
+nome+autor+editora+precoVenda+ISBN
ItemVenda
+quantidade+valorVenda
Pessoa
+nome+rua+numero+bairro+complemento+cidade+estado+cep+telefone+celular+email
efetua0..*
1
solicita
0..*
1
contem
1 1..*
possui0..*
1
Modelo Conceitual do Sistema de Livraria
![Page 44: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/44.jpg)
Faculdade de Computação
44
UML - Diagrama de ClasseExemplo de Modelo Conceitual
◼ Exercícios:
◼ Construir o Modelo Conceitual do Sistema de Locadora de Games
![Page 45: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/45.jpg)
Faculdade de Computação
Engenharia de Software Ronaldo C. Oliveira45
Sistema de Locadora de Games
◼ Você foi contratado para desenvolver um sistema para GG Locadora de Games. Nessa locadora, os títulos são classificados em vários gêneros de game. Os títulos estão gravados apenas em DVD e alguns títulos são constituídos por mais de um disco. Um título pode possuir várias cópias. O preço de aluguel de um título varia conforme sua classificação: lançamento, catálogo, clássico e museu. O sistema deve guardar um histórico de títulos por cliente e vice-versa. Um cliente possui um cadastro com seus dados (nome, endereço, ...) e o nome de seus dependentes. Os clientes podem fazer reserva de títulos. Um cliente não tem limite para empréstimo de filmes, mas ele só pode pegar novos filmes após a devolução de 50% dos títulos correspondente à locação anterior. Dependendo da classificação do título, o mesmo possui um prazo para locação (os lançamentos devem ser devolvidos em 24 horas. O sistema deve oferecer informação sobre o aluguel de títulos por gênero, quantas vezes um título foi alugado por cópia. O sistema deve informar também se um título já se pagou. A locação de um filme deve informar quem foi o atendente que a fez. Os títulos em uma locação podem ter diferentes datas de devolução. O sistema deve ser capaz de informar os títulos que estão com atraso de devolução. O sistema deve informar também qual a arrecadação diária da locadora. O sistema deve também controlar a venda de produtos da loja, tais como: balas, chicletes, ...
![Page 46: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/46.jpg)
Faculdade de Computação
Engenharia de Software Ronaldo C. Oliveira46
Sistema de Vídeo LocadoraUC01 Gerenciar Títulos (RF01) DescriçãoRealiza a gerência do acervo da locadora quanto a
inserção, remoção de títulos e modificação dados referentes aos mesmos.
Pré-condições: ---Atores: GerenteCenário Principal(Inserção)1. O gerente solicita a inserção de um novo título2. O sistema lista todos os títulos cadastrados3. Informar dados de um novo título4. Validar dados do título 5. Confirmar inserção do título no sistema(Modificação)1. O gerente solicita a alteração dos dados de um
título 2. O sistema lista todos os títulos cadastrados3. Informar o código do título a ser modificado4. Busca o título no sistema e apresenta na tela 5. Modificar os dados necessários para o título 6. Confirma a modificação do título
(Remoção)1. O gerente solicita a exclusão de um título 2. O sistema lista todos os títulos cadastrados3. Informar o código do título a ser excluído4. Busca o título no sistema e apresenta na tela
os dados 5. Solicita a confirmação de exclusão do título 6. Confirma a exclusão do título7. Exclui o título e todas os registros de outras
tabelas relacionados a ele
Cenário Alternativo: modificação de um título2 Se o código do título não corresponder a um título
cadastrado, dar oportunidade para o usuário apresentar novo título ou desistir do caso.
![Page 47: Modelagem de Software - FACOMronaldooliveira/MDS-2019-2/Aula7-MDS...Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos](https://reader030.vdocuments.site/reader030/viewer/2022040513/5e6444d98cffb10a7d1294cf/html5/thumbnails/47.jpg)
Faculdade de Computação
Engenharia de Software Ronaldo C. Oliveira47
Sistema de Vídeo LocadoraUC08 Realizar Locação (RF08)DescriçãoRealiza a locação de um ou mais títulos a um cliente.Pré-condiçõesCliente deve estar cadastrado (UC05).Título deve estar cadastrado (UC01).Atores: Cliente, AtendenteCenário Principal
1. O cliente apresenta as cópias dos títulos a serem locados.
2. O atendente verifica as pendências do cliente.3. O atendente cria uma locação para o cliente.4. O atendente insere cada cópia de cada título
como item de locação a essa locação.5. O sistema estabelece a data de devolução de
cada título, conforme classificação e o respectivo tempo de locação.
6. O sistema coloca as cópias locadas como indisponíveis para outras locações
7. O sistema emite comprovante de locação.
Cenário Alternativo: cliente com pendências
2.1 Se o cliente tiver multa por atraso, o atendente deve solicitar o pagamento da mesma, antes de realizar a locação. Se o cliente não pagá-la, cancelar a locação.
2.2 Se o cliente não tiver devolvido 50% dos títulos da última locação, cancelar a nova locação.
Cenário Alternativo: Cópia com reserva4.1 Se a título que esta sendo inserida na
locação tiver uma reserva associada a ele, para a data específica, o sistema informa o atendente e a cópia é retirada da locação.