Anda di halaman 1dari 11

PCS3213 – Engenharia de Software - 2019

Exercício 2 - Modelo de Classes

Atenção! A solução apresentada não é gabarito, pois para modelagem não existe uma
única solução.
Aplicar o procedimento para a construção do Modelo de Classes.
1. Revisão do Modelo de Casos de Uso: Procure entender diferença entre a solução
apresentada nesse documento e o modelo desenvolvido pelo grupo. Cada membro do
grupo deve responder individualmente as seguintes questões: Qual foi o caso de uso
que você descreveu? Que nota de 0 a 10 daria, se comparar a sua descrição com a
dessa solução? Por quê?
2. Identificação das Classes: preencher as tabelas de Casos de Uso e Descrição de
Classes (responsabilidade e atributos), no final do exercício, considerando a descrição
dos 4 casos de uso apresentados.
3. Construção de Diagrama de Classes: com base na tabela de descrição de classes,
construir o Diagrama de Classes.
4. Revisão do Modelo de Classes: analisar a descrição dos casos de uso e as classes
para identificar as possíveis operações das classes e preencher a coluna Operações
da Descrição de Classes. Ver procedimento no documento Construção de Modelo de
Classes.
Maiores detalhes devem ser consultados no documento Construção de Modelo de Classes.
Observa-se que a aplicação do procedimento passo a passo nesse exercício é para melhor
compreensão do raciocínio. Posteriormente não é necessário registrar todos os passos.

2. Características Funcionais do Sistema


A Tabela 1 é a mesma tabela apresentada no enunciado do exercício 2 (casos de uso).

Tabela 1 – Características Funcionais da Versão Básica


B –Descrição da C – Casos de Uso D - Atores
Id A - Características
característica
Operações Principais
Cadastrar cliente
Alterar cliente
1 Cadastrar cliente Manipula os clientes Excluir cliente
Buscar cliente
Listar clientes
Lista os produtos da
3 Listar produtos
drogaria
Mantém a lista de
Montar pedido de
4 produtos a serem
compras
comprados
Busca os dados de um
5 Buscar produto
determinado produto
Cancela o pedido
7 Cancelar pedido
especificado
Altera o pedido de
8 Alterar pedido
compras especificado
Lista os pedidos de
9 Listar pedido
acordo com seu estado
Apresenta os dados de
10 Buscar pedido
um pedido
Apresenta o estado de
11 Rastrear pedido
um pedido
Calcula os valores
parciais e totais; verifica
se tem medicamento
controlado no pedido;
(se sim, solicita CRM do
12 Finalizar compras
médico e o arquivo com
receita, verifica CRM;
encaminhar para
farmacêutica); (se não,
cobra cliente)
Solicita opção de
pagamento; (cartão de
13 Cobrar cliente crédito: consulta banco);
(boleto: envia boleto
para cliente)
Registra pagamento;
14 Confirmar pagamento envia pedido para o
sistema de entrega.
Operação dos Funcionários
Listar pedidos com
Lista os pedidos de
medicamentos
15 compras para serem
controlados
analisados
(farmacêutica)
Buscar pedido com Apresenta os dados de
medicamento um pedido e a receita
16
controlado dos medicamentos
(farmacêutica) controlados
Registrar resultados Registra o resultado da
17 de análise da receita consistência do pedido
(farmacêutica) com a receita
Cadastrar
funcionário
Cadastrar funcionário Alterar funcionário
18 Manipula funcionário
(RH) Excluir funcionário
Buscar funcionário
Listar funcionários
Cadastrar produto
Alterar produto
Cadastrar produto
19 Manipula produto Excluir produto
(almoxarifado)
Buscar produto
Listar produtos

Analisando-se a Tabela 1, foram feitas algumas alterações:


1. A característica 3 foi eliminada, pois é caso de uso de Cadastrar produto.
2. A característica 5 foi eliminada, pois é caso de uso de Cadastrar produto.
3. O caso de uso Listar clientes é usado por funcionários da drogaria que necessite da
lista de clientes. O Cliente tem acesso apenas aos seus dados.
O resultado das alterações se encontra na Tabela 2. A coluna C foi preenchida com nomes de
caso de uso correspondentes às características. A coluna D foi preenchida com os atores dos
caos de uso, identificados com base na Descrição de Sistema do enunciado do exercício 1.
A coluna de identificação das características foi atualizada.
Tabela 2– Tabela 1 com preenchimento das colunas C e D
B –Descrição de C – Casos de Uso D - Atores
A – Características
Id característica/caso de
Funcionais
uso
Operações Principais
Cadastrar cliente Cliente
Alterar cliente Cliente
Manipula os dados de
1 Cadastrar cliente Excluir cliente Cliente
cliente
Buscar cliente Cliente
Listar clientes Farmacêutica
Mantém a lista de
Montar pedido de Montar pedido de
2 produtos a serem Cliente
compras compras
comprados
Cancela o pedido
3 Cancelar pedido Cancela pedido Cliente
especificado
Altera o pedido de
4 Alterar pedido Altera pedido Cliente
compras especificado
Lista os pedidos de
5 Listar pedidos Lista pedidos Cliente
acordo com seu estado
Apresenta os dados de
6 Buscar pedido Buscar pedido Cliente
um pedido
Apresenta o estado de
7 Rastrear pedido Rastrear pedido Cliente
um pedido
Calcula os valores
parciais e totais; verifica
se tem medicamento
controlado no pedido;
Cliente
(se sim, solicita CRM do
8 Finalizar compras Finalizar compras Sistema CRM
médico e o arquivo com
Farmacêutica
receita, verifica CRM;
encaminhar para
farmacêutica); (se não,
cobra cliente)
(Acionado pelo
caso de uso
Finalizar
Solicita opção de
compra e
pagamento; (cartão de
Registrar
9 Cobrar cliente crédito: consulta banco); Cobrar cliente
resultados de
(boleto: envia boleto
análise da
para cliente)
receita)
Banco
Cliente
Registra pagamento; Banco
Confirmar
10 Confirmar pagamento envia pedido para o Sistema de
pagamento
sistema de entrega. Entrega
Operação dos Funcionários
Listar pedidos com Lista os pedidos de Listar pedidos com
11 medicamentos compras para serem medicamentos Farmacêutica
controlados analisados controlados
Apresenta os dados de
Buscar pedido com Buscar pedido
um pedido e a receita
12 medicamento com medicamento Farmacêutica
dos medicamentos
controlado controlado
controlados
13 Registrar resultados Registra o resultado da Registrar Farmacêutica
de análise da receita consistência do pedido resultados de Cliente
com a receita análise da receita
(se não tiver erros,
cobra cliente)
(se tiver erros, notifica o
cliente)
RH
Cadastrar
RH
funcionário
Manipula os dados de Alterar funcionário
14 Cadastrar funcionário RH
funcionário Excluir funcionário
Buscar funcionário
RH
Listar funcionários
RH
Cadastrar produto Almoxarifado
Alterar produto Almoxarifado
Excluir produto Almoxarifado
Buscar produto Almoxarifado
Manipula os dados de
15 Cadastrar produto Cliente
produto
Farmacêutica
Listar produtos Almoxarifado
Cliente
Farmacêutica

3. Atores do Sistema
Para a definição dos atores do sistema, são consideradas as pessoas e sistemas que
interagem com o sistema.
Da coluna D da Tabela 2, têm-se os seguintes atores:
1. Cliente: faz compras na drogaria.
2. Farmacêutica: analisa os pedidos com medicamentos controlados.
3. Sistema CRM: recebe o CRM e devolve os dados correspondentes do médico.
4. Banco: autoriza a compra do cliente através do cartão de crédito.
5. Sistema de Entrega: dá suporte à entrega do pedido para o cliente.
6. RH: setor da drogaria responsável pelos dados dos funcionários no sistema.
7. Almoxarifado: setor da drogaria responsável pelo estoque da drogaria.
Esses atores foram associados aos casos de uso, usando a Descrição do Sistema do exercício
1 e fazendo inferências quanto às responsabilidades dos atores, quando não estavam
explicitadas no texto. No caso real, a definição dos atores deve ser feita em conjunto com o
cliente do sistema.

4. Casos de Uso do Sistema


Os casos de uso das características funcionais estão apresentados na coluna C da Tabela 2. É
importante observar que:
1. Os casos de uso relativo ao cadastro de elementos (cadastrar, alterar, excluir, buscar,
listar) estão agrupados em um pacote que recebeu o nome de cadastrar.
2. É importante sempre explicitar os casos de uso de um pacote, para dar uma visão
integral do sistema.
3. Observe-se que os casos de uso de um pacote podem ser acionados por atores
diferentes, dependendo da respectiva responsabilidade.
4. Os nomes dos casos de uso devem ser escolhidos para que o modelo seja mais
compreensível para a maioria dos envolvidos (ver nomes da Tabela 2). Ex.:
a. Montar pedido de compras e não cadastrar pedido de compras;
b. Finalizar compras;
c. Listar pedidos com medicamentos controlados.
A descrição sucinta dos casos de uso pode ser encontrada na coluna B da Tabela 2.
Os casos de uso 8 (Finalizar compras do Cliente) e 13 (Registrar resultados de análise da
receita da Farmacêutica) mencionam a cobrança do cliente. Por esse motivo foi definido o caso
de uso Cobrar cliente que será incluído nos dois casos de uso.
O caso de uso Finalizar compra poderia ter sido descrito dentro do caso de uso Montar pedido
de compra.

5. Detalhamento de Casos de Uso Selecionados


A rigor, devem-se detalhar todos os casos de uso. No entanto, para a identificação das classes
do exercício, foram selecionados e detalhados quatro casos de uso:
1. Montar pedido de compras
2. Finalizar pedido de compras
3. Cobrar cliente
4. Confirmar pagamento
Em alguns deles, estão explicitados os dados que precisam ser detalhados. Em geral, esses
dados são definidos com o auxílio dos especialistas de domínio.

5.1 Montar pedido de compras


Caso de uso 1: Montar pedido de compras
Descrição: Esse caso de uso
Obtém um pedido de compra a partir da inserção, exclusão ou alteração da quantidade do
produto no pedido.
Evento iniciador: solicitação da montagem de pedido de compras.
Ator: Cliente
Pré-condição: sem pré-condição
Sequência de eventos:
1. Cliente solicita montagem de pedido de compras.
2. Sistema solicita seleção de produtos.
3. Cliente seleciona os produtos através da inserção, exclusão e alteração da quantidade
dos produtos.
4. Cliente finaliza compra (inclusão do caso de uso 5.2).
Pós-condição: pedido de compras com produtos selecionados compra finalizada.
Extensões:
1. Quantidade de produto inválido (passo 3)
a. Sistema apresenta mensagem e permanece no passo 3.
Inclusão:
2. Finalizar compras (passo 4)

5.2 Finalizar compras


Caso de uso 2: Finalizar compras
Descrição: Esse caso de uso descreve a finalização da compra pelo cliente.
Evento iniciador: solicitação de finalização da compra.
Ator: Cliente, Sistema CRM, Farmacêutica
Pré-condição: opção de Finalizar compras na tela
Sequência de eventos:
1. Cliente solicita finalização da compra
2. Sistema solicita CPF ao cliente.
3. Cliente fornece CPF.
4. Sistema verifica se o cliente tem cadastro.
5. Sistema verifica se tem os produtos no estoque.
6. Sistema verifica se tem medicamento controlado.
7. Sistema solicita CRM do médico e receita ao cliente.
8. Cliente fornece CRM e receita.
9. Sistema consulta o Sistema CRM.
10. Sistema CRM fornece dados do médico.
11. Sistema empacota os dados do médio, o pedido e a receita e envia para Farmacêutica.
Pós-condição: dados do médico, pedido de compra e receita enviado para Farmacêutica.
Extensões:
1. Cliente não tem cadastro (passo 4):
a. Sistema desvia para Cadastrar cliente.
b. Volta para o passo 5.
2. Falta algum produto no estoque (passo 5)
a. Sistema apresenta mensagem ao Cliente.
b. Sistema finaliza caso de uso (versão simplificada).
3. Pedido não tem medicamento controlado (passo 6)
a. Sistema desvia para Cobrar cliente (inclusão do caso de uso 5.3).
4. CRM inválido (passo 9)
a. Sistema apresenta mensagem ao cliente.
b. Sistema encerra o caso de uso (versão simplificada).
Inclusões:
1. Cadastrar cliente (passo a da extensão 1)
2. Cobrar cliente (passo a da extensão 2)

5.3 Cobrar cliente


Caso de uso 3: Cobrar cliente
Descrição: Esse caso de uso descreve a cobrança de um cliente em relação ao pedido
analisado.
Evento iniciador: Acionamento pelo caso de uso Finalizar compras ou Registrar resultados de
análise da receita
Ator: Banco, Sistema de Entrega
Pré-condição: sem pré-condição
Sequência de eventos:
1. Sistema solicita forma de pagamento
2. Cliente seleciona pagamento por cartão de crédito.
3. Sistema envia consulta ao Banco.
4. Banco autoriza pagamento.
5. Sistema armazena o pedido de compra e envia ao Sistema de Entrega.
Pós-condição: pagamento autorizado, pedido de compras armazenado e enviado para
Sistema de Entrega
Extensões:
1. Cliente seleciona pagamento por boleto (passo 2):
a. Sistema monta boleto e envia ao cliente.
b. Sistema encerra o caso de uso.
2. Banco não autoriza o pagamento (passo 4).
a. Sistema apresenta mensagem ao cliente
b. Sistema encerra o caso de uso

5.4 Confirmar pagamento


Caso de uso 4: Confirmar pagamento
Descrição: Esse caso de uso descreve o registro da confirmação de pagamento feito pelo
cliente.
Evento iniciador: solicitação da confirmação de pagamento
Ator: Banco, Sistema de Entrega
Pré-condição: sem pré-condição
Sequência de eventos:
1. Banco envia a confirmação de pagamento do boleto do cliente.
2. Sistema busca o pedido com pagamento pendente.
3. Sistema marca o pedido como pago e envia para o Sistema de Entrega.
Pós-condição: pedido marcado como pago, pedido enviado ao Sistema de Entrega.
Extensões:
1. Não existe pagamento pendente (passo 2):
a. Sistema envia mensagem
b. Sistema encerra o caso de uso.
Inclusões:
1. Buscar pagamento pendente (passo 2)
Exercício 3 – Modelo de Classes

GRUPO

No. USP Nome

Tabela de Casos de Uso e Classes

No. Nome do Caso de uso Classes candidatas Classes finais


Descrição de Classes

Nome e Atributos Principais Operações Principais


Responsabilidade

Nome e Atributos Principais Operações Principais


Responsabilidade
Nome e Atributos Principais Operações Principais
Responsabilidade

Anda mungkin juga menyukai