-
Notifications
You must be signed in to change notification settings - Fork 0
2 Projeto Detalhado
A arquitetura de software do sistema baseia-se em uma combinação dos estilos de Modelo de domínio e Padrão Camada de Serviço com a intenção de tornar a aplicação mais organizada e fácil manutenção. Inicialmente, três partições principais foram definidas para o sistema, procurando-se preservar a divisão em camadas do padrão MVC. Cada uma dessas camadas, por sua vez, está disposta da seguinte forma: Camada de Interface com Usuário (View), Camada de Lógica de Negócio (Control) e Camada de Persistência (Model). A Figura 3 mostra a arquitetura proposta.
O projeto deve ser fortemente orientado a baixo acoplamento e alta coesão, primando pela melhor separação de responsabilidades. Todo o projeto deverá ser feito utilizando uma arquitetura separada em camadas conforme apresentado como requisito não funcional, onde cada camada conterá apenas os algoritmos relacionados à sua responsabilidade.
A camada de View (Interface) deve conter apenas as lógicas de telas, validações de campos, acionamentos de comandos, códigos para design de interface etc. A camada de Controle deve conter as lógicas de autenticação, auditoria, manutenção de usuários, lógicas não relacionadas a interfaces gráficas, regras de negócio, dados (comandos SQL ou para utilização de mecanismos de persistência ORM) e segurança. A camada de modelo conterá os objetos mapeados para a implementação contendo seus atributos e métodos para interação dos objetos.
Nesta seção descrevemos objetivamente as tecnologias utilizadas na primeira parte do desenvolvimento do projeto.
O sistema em questão trata-se de um Sistema de Informação e levando em consideração suas características, optamos por escolher as seguintes tecnologias:
| Ferramenta | Tipo |
|---|---|
| Java | Linguagem,de Programação |
| PostgreSQL | Banco,de Dados Relacional |
| JPA | API,de Persistência |
| JDBC | API,de Persistência |
| Hibernate | Frameworks de Mapeamento objeto/relacional |
| Driver | Driver API-Nativo |
| Java,Swing | API,de Interface Gráfica |
Como o sistema não será nosso, mas sim do Corpo de Bombeiros Militar do Espírito Santo - CBMES, optamos por utilizar uma linguagem já utilizada dentro da corporação, para assim facilitar manutenção que será aplicada pelos mesmos.
Optamos pelo PostgreSQL pelo mesmo motivo que optamos pelo JAVA, facilitar a manutenção por parte da CBMES. Além de ser um banco bem robusto e ser open source.
JPA é uma especificação de Persistência da plataforma Java, para persistir as classes java em bancos de dados relacionais. Java Persistence API. Usaremos ela para facilitar a utilização do banco em Java.
JDBC é um conjunto de classes e interfaces (API) escritas em Java que fazem o envio de instruções SQL para qualquer banco de dados relacional. O JDBC será usado por nós por ser uma API de baixo nível e servir de base para a API JPA de mais alto nível.
Hibernate é um framework de mapeamento objeto/relacional que implementa as funcionalidades da JPA. Usaremos esse framework para simplificar o desenvolvimento.
O driver API-Nativo traduz as chamadas JDBC para as chamadas da API cliente do banco de dados usado. Como a Ponte JDBC-ODBC. Será usado por nós para para conectar e interagir com a base de dados (sdro) desenvolvida por nós.
O Swing é um framework que disponibiliza um conjunto de elementos gráficos para ser utilizado na plataforma Java.
O acesso ao sistema será liberado somente para pessoas autorizadas, nesta tela o usuário poderá entrar com seu login e senha para ter acesso ao sistema.
Tela que é mostrada logo após fazer um login, a partir dela é possível acessar todas a outras funções acessado a barra de menus na parte superior da tela.
Tela onde é listada todas as Unidade, ao clicar em uma das unidades você é redirecionado para a tela de Cadastrar/Alterar/Excluir Unidades.
Nessa tela será realizado o cadastro de uma unidade, o usuário entrará com os dados da unidade e em seguida terá que adicionar um Comandante e Subcomandante, que serão os responsáveis pela Unidade. Nesta tela também é feita a alteração dos dados da Unidades.
Nessa tela será realizado o cadastro das viaturas de uma Unidade, o usuário entrará com os dados do veículo e ao clicar em salvar o veículo será cadastrado.
Nesta tela será possível visualizar uma listagem de Viaturas, e ao clicar em uma das Viaturas os dados aparecerão abaixo, e assim sendo possível editar esses dados e salvá-los.
Nessa tela será possível cadastrar os materiais de uma Unidade, o usuário entrará com os dados do equipamento e ao clicar em salvar ele será cadastrado no sistema.
Tela onde será feita a edição de equipamentos. Na barra “Pesquisar” será digitado o nome do equipamento, na listagem abaixo ele será selecionado e assim podendo editá-lo ou excluí-lo.
Nessa tela será realizada a criação de um SCO, o usuário entrará com os dados do SCO e logo em seguida deverá adicionar os recursos na área “Adicionar recursos”.
Nessa tela será realizado o cadastro das Equipes, o usuário entrará com os dados e ao clicar em salvar a Equipa será cadastrada.
Tela onde será feita a edição de Equipe. Na barra “Pesquisar” será digitado o nome da Equipe, na listagem abaixo ele será selecionado e assim podendo editá-lo ou excluí-lo.
Tela onde é feita a alocação das viaturas, partindo da lista de viaturas, e os equipamentos disponíveis para determinada viatura.


