Skip to main content dev:Coelho

Engenharia De Software III - Aula 03

Entendendo novos conceitos

No início da aula...
O professor realizou um exercício com os alunos para rever alguns conceitos e partir para conceitos novos. Irei transcrever o exercício abaixo, junto da solução.
  1. Crie um diagrama de classes para o seguinte cenário:

O analista visitou uma loja de sapatos que necessita informatizar seus processos contendo os dados da tabela abaixo:

Clientecódigo, nome, endereço, bairro, cidade e fone
incluir, alterar, excluir e consultar
FornecedorCNPJ, nome, endereço, bairro, cidade e fone
incluir, alterar, excluir e consultar
Produtocódigo de barras, descrição, valor unitário e qtd
incluir, alterar, excluir e consultar
VendasNF, data, nome do cliente, total da nota
incluir, alterar, excluir , consultar e gerar nota
Item da vendanome do produto, quantidade e subtotal
incluir, alterar e excluir
Usuáriocódigo, nome completo, usuário, senha e nível
de acesso
incluir, alterar, excluir, consultar, login e logoff
ComissãoNúmero da NF, Data da venda, valor da venda,
usuário que vendeu, porcentagem e valor da comissão
incluir, alterar, excluir, consultar
Observações:
  1. Generalizar os atributos comuns entre cliente e fornecedor;
  2. A venda deve ser composta pelos itens da venda e cada venda poderá ter muitos itens;
  3. Na venda deve aparecer o usuário logado e gerar comissão para o mesmo;
  4. Cada item refere-se a um produto diferente na venda;
  5. Ao finalizar a venda os produtos devem ser retirados do estoque alterando o atributo qtd do produto;
  6. O atributo subtotal do item é o valor unitário do produto vezes a quantidade do item vendido;
  7. Cada venda deve ser feita para um cliente;
  8. Criar uma classe com todos os métodos;

Imagem do Diagrama de Classes

  • Você pode clicar com botão direito para abrir a imagem em outra aba e ver todas as nuances referentes ao diagrama.

Esteriótipo

Extensão da UML para facilitar a vida do desenvolvedor. É uma maneira de destacar determinados elementos do diagrama, explicitando quais elementos executam alguma função um pouco distinta dos demais.

Dentre os Esteriótipos temos:

  • Entity
  • Boundary
  • Control

Entity

Armazena informações referentes ao problema no qual o sistema pretende solucionar, e torna explícito que a classe contém informações recebidas e armazenada pelo sistema (ou geradas por ele).

Normalmente possuem um tipo de persistência, isto é, vida longa e podem ser utilizados em mais do que uma aplicação.

Representação da Entity

Boundary

Identifica uma classe que serve como comunicação entre os atores externos e o sistema em si, normalmente utilizada quando é preciso definir uma interface para o sistema.

Representação da Boundary

Control

Identifica classes que servem de intermédio entre as marcadas como <<boundary>> e as demais classes do sistema. Usualmente responsáveis por interpretar os eventos ocorridos sobre os objetos, como os movimentos do mouse, clique do botão e afins.

Representação do Control


Engenharia de Software III - Aula 02 Engenharia de Software III - Aula 01