UNIVERSIDADE FEDERAL DE PERNAMBUCO
CENTRO DE INFORMÁTICA (CIN) Grupo:
Monitor:
Adriana Libório (alfl) Arthur Alem (aca3) Matheus Arrais (mbas) Rafael Brandão (rbl) Vinícius Miranda (vmc) Luiz Felipe Libório
Análise e Projeto
1
Sumário
1. Introdução ...3
2. Análise de casos de uso...4
2.1. Cadastrar funcionário (RF-01) ... 4 2.1.1. Descrição ... 4 2.1.2. Diagrama de sequência ... 4 2.1.3. Diagrama de classes ... 5 2.2. Cadastrar fornecedor (RF-02) ... 6 2.2.1. Descrição ... 6 2.2.2. Diagrama de sequência ... 6 2.2.3. Diagrama de classes ... 7 2.3. Cadastrar cliente (RF-03) ... 8 2.3.1. Descrição ... 8 2.3.2. Diagrama de sequência ... 8 2.3.3. Diagrama de classes ... 9
2.4. Cadastrar matéria prima (RF-04) ... 10
2.4.1. Descrição ... 10 2.4.2. Diagrama de sequência ... 10 2.4.3. Diagrama de classes ... 11 2.5. Cadastrar produto (RF-05) ... 12 2.5.1. Descrição ... 12 2.5.2. Diagrama de sequência ... 12 2.5.3. Diagrama de classes ... 13
2.6. Comprar matéria prima (RF-06) ... 14
2.6.1. Descrição ... 14 2.6.2. Diagrama de sequência ... 14 2.6.3. Diagrama de classes ... 15 2.7. Vender produto (RF-07) ... 16 2.7.1. Descrição ... 16 2.7.2. Diagrama de sequência ... 16 2.7.3. Diagrama de classes ... 17 2.8. Buscar funcionário (RF-08) ... 18 2.8.1. Descrição ... 18 2.8.2. Diagrama de sequência ... 18 2.8.3. Diagrama de classes ... 19 2.9. Buscar cliente (RF-10) ... 20 2.9.1. Descrição ... 20 2.9.2. Diagrama de sequência ... 20 2.9.3. Diagrama de classes ... 21 2.10. Buscar produto (RF-12) ... 22 2.10.1. Descrição ... 22 2.10.2. Diagrama de sequência ... 22 2.10.3. Diagrama de classes ... 23 2.11. Gerar Relatório (RF-18) ... 24 2.11.1. Descrição ... 24
2
2.11.2. Diagrama de sequência ... 24 2.11.3. Diagrama de classes ... 25 2.12. Editar Produto (RF-17) ... 26 2.12.1. Descrição ... 26 2.12.2. Diagrama de sequência ... 26 2.12.3. Diagrama de classes ... 273. Projeto de Casos de Uso... 28
3
1.
Introdução
Este documento está dividido em duas partes: Análise de casos de uso e Projeto de arquitetura. O primeiro descreve um modelo do sistema a partir dos casos de uso através de diagrama de sequências e diagramas de classes. Já o segundo refina a análise de casos de uso entrando em detalhes para assim criar a arquitetura do sistema com suas classes e pacotes.
Os casos de uso escolhido para serem analisados são os mais críticos ao sistema, ou seja, os casos de uso que permitem cadastrar e buscar entidades no sistema (RF-01, RF-02, RF-03, RF-04, RF-05, RF-08, RF-09, RF-10, RF-11 e RF-12), comprar matéria prima (RF-06), vender de produtos (RF-07) e gerar relatório (RF-18). A arquitetura foi projetada para permitir que o sistema execute estes os casos de usos citados.
4
2.
Análise de casos de uso
2.1.
Cadastrar funcionário (RF-01)
2.1.1.
DescriçãoPermite que o usuário cadastre um novo funcionário da fábrica. Os funcionários terão acesso ao sistema da fábrica com login e senha, mas dependendo da hierarquia da empresa, um funcionário pode ter grau de permissão maior do que outros e, consequentemente, poderá executar um maior número de operações.
5
6
2.2.
Cadastrar fornecedor (RF-02)
2.2.1.
DescriçãoPermite que o usuário cadastre novos fornecedores ao sistema para que se possa registrar as empresas as quais se compram matérias primas necessárias à fabricação.
7
8
2.3.
Cadastrar cliente (RF-03)
2.3.1.
DescriçãoPermite que o usuário cadastre novos clientes da fábrica, com o objetivo de poder vender para esses clientes e gerenciar as informações referentes a eles.
9
10
2.4.
Cadastrar matéria prima (RF-04)
2.4.1.
DescriçãoPermite que o usuário cadastre novas matérias primas necessárias para fabricação, com suas informações relevantes para a produção, como uma breve descrição da matéria prima e o preço por unidade.
11
12
2.5.
Cadastrar produto (RF-05)
2.5.1.
DescriçãoPermite que o usuário cadastre um novo produto da fábrica, com informações relevantes para a venda. O usuário especifica uma breve descrição do produto, que poderá ser usada para fazer busca, e o preço de cada unidade.
13
14
2.6.
Comprar matéria prima (RF-06)
2.6.1.
DescriçãoPermite que o usuário compre matéria prima necessária para a produção da fábrica. Para isso é necessário especificar qual é o fornecedor que vai vender a matéria prima e em seguida escolher a matéria prima. Dessa forma, a compra será registrada.
15
16
2.7.
Vender produto (RF-07)
2.7.1.
DescriçãoPermite que o usuário venda um produto a um cliente da fábrica. Para isso, ele deve selecionar o cliente para qual ele vai vender e, em seguida, especificar qual é o produto e qual é a quantidade. Dessa forma, uma venda será registrada.
17
18
2.8.
Buscar funcionário (RF-08)
2.8.1.
DescriçãoPermite que o usuário verifique se um determinado funcionário está cadastrado na fábrica e acesse suas informações. Para isso, ele deve inserir no campo de busca o que ele está procurando e o sistema buscará as informações referentes ao que se está sendo procurado.
19
20
2.9.
Buscar cliente (RF-10)
2.9.1.
DescriçãoPermite que o usuário verifique se um determinado cliente está cadastrado na fábrica e acesse suas informações. Para isso, ele deve inserir no campo de busca o que ele está procurando e o sistema buscará as informações referentes ao que se está sendo procurado.
21
22
2.10.
Buscar produto (RF-12)
2.10.1.
DescriçãoPermite que o usuário verifique se um determinado produto está cadastrado na fábrica e acesse suas informações. Para isso, ele deve inserir no campo de busca o que ele está procurando e o sistema buscará as informações referentes ao que se está sendo procurado.
23
24
2.11.
Gerar Relatório (RF-18)
2.11.1.
DescriçãoPermite que o usuário gere um relatório de vendas por cliente. Para isso, ele deverá escolher o tipo de relatório. O sistema buscará as informações relacionados ao relatório selecionado e apresentará na tela para o usuário.
25
26
2.12.
Editar Produto (RF-17)
2.12.1.
DescriçãoPermite que o usuário altere dados de um produto selecionado na tela de busca. Quando selecionado o produto desejado, a tela exibirá as informações atuais daquele produto, o usuário pode alterar os campos e apertar salvar para que o sistema modifique os dados no repositório.
27
28
3.
Projeto de Casos de Uso
Nesta parte pretende-se descrever a organização das classes do sistema como um todo. Para isso, as classes serão divididas em pacotes.
Descrição dos pacotes
O modelo de arquitetura usado no projeto é o modelo em camadas onde cada camada é uma parte do sistema composta por componentes com o mesmo nível de abstração. Cada camada oferece serviços à camada imediatamente superior ou imediatamente anterior.
O sistema será composto por quatro camadas: GUI (graphics user interface)
Contém os componentes relacionados com a inteface gráfica e estabece a comunicação entre o usuário e o software. Ela se comunica apenas com a fachada, a qual lhe oferece os serviços que precisa. Fachada
Esta camada destina-se a fazer a comunicação entre a interface gráfica e camada de negócios. Ela possui métodos e classes, que centralizam as funcionalidades presentes nas demais classes da aplicação (presentes na camada negócio), oferecidos à camada GUI afim que esta se abstraia da parte lógica do sistema.
Negócio
Esta camada é responsável por implementar a lógica de negócio da aplicação. Nela estão todas as classes inerentes ao domínio da aplicação, como as classes de entidade e fachadas. É esta camada que irá gerenciar e controlar a comunicação com o banco de dados através da comunicação com a camada imediatamente abaixo – a camada repositório.
Repositório
É a parte relacionada com a persistência do sistema. Nela será feita a comunicação com o servidor de banco de dados.
Link para a imagem do diagrama de classes da arquitetura do sistema.
29
Camada Pacote Classe
GUI
GUI
TelaLogin TelaCadastrarCliente TelaCadastrarProduto TelaCadastrarFornecedor TelaCadastrarMatPrim TelaCadastrarFuncionario TelaBuscarCliente TelaBuscarProduto TelaBuscarFornecedor TelaBuscarMatPrim TelaBuscarFuncionario TelaVenda TelaCompra TelaRelatorioFachada
Fachada
FachadaNegócio
Controladores
ControladorLogin ControladorCadastrarCliente ControladorCadastrarProduto ControladorCadastrarFornecedor ControladorCadastrarMatPrim ControladorCadastrarFuncionario ControladorBuscarCliente ControladorBuscarProduto ControladorBuscarFornecedor ControladorBuscarMatPrim ControladorBuscarFuncionario ControladorVenda ControladorCompra ControladorRelatorioDados
Cliente Compra Fornecedor Funcionario MateriaPrima Produto VendaRepositório
Repositorios
CadastroCliente CadastroFornecedro CadastroFuncinario CadastroMatPrim RepositorioCompra RepositorioVenda30
4.
Referências
http://www.cin.ufpe.br/~micrecife/SiteProNet/guias/analiseProjeto/GuiaArquiteturaCamadas.d oc
Sommerville, Ian. Software Engineering, Addison-Wesley