Engenharia De Software III - Aula 03
Entendendo novos conceitos
- 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:
Cliente | código, nome, endereço, bairro, cidade e fone | |
---|---|---|
incluir, alterar, excluir e consultar | ||
Fornecedor | CNPJ, nome, endereço, bairro, cidade e fone | |
incluir, alterar, excluir e consultar | ||
Produto | código de barras, descrição, valor unitário e qtd | |
incluir, alterar, excluir e consultar | ||
Vendas | NF, data, nome do cliente, total da nota | |
incluir, alterar, excluir , consultar e gerar nota | ||
Item da venda | nome do produto, quantidade e subtotal | |
incluir, alterar e excluir | ||
Usuário | código, nome completo, usuário, senha e nível | |
de acesso | ||
incluir, alterar, excluir, consultar, login e logoff | ||
Comissão | Nú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: |
- Generalizar os atributos comuns entre cliente e fornecedor;
- A venda deve ser composta pelos itens da venda e cada venda poderá ter muitos itens;
- Na venda deve aparecer o usuário logado e gerar comissão para o mesmo;
- Cada item refere-se a um produto diferente na venda;
- Ao finalizar a venda os produtos devem ser retirados do estoque alterando o atributo qtd do produto;
- O atributo subtotal do item é o valor unitário do produto vezes a quantidade do item vendido;
- Cada venda deve ser feita para um cliente;
- Criar uma classe com todos os métodos;
- 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.
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.
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.
Engenharia de Software III - Aula 02 Engenharia de Software III - Aula 01