Skip to content

2 Projeto Detalhado

Tiago Assunção Silva edited this page Oct 10, 2016 · 18 revisions

DIAGRAMAS PARA EXEMPLIFICAR A SOLUÇÃO

Diagrama de Classes UML

Diagrama de Implantação

DEFINIÇÃO DA ARQUITETURA DE SOFTWARE

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.

Arquitetura de Software

DESCRIÇÃO DA TECNOLOGIA UTILIZADA

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:

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

JAVA

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.

PostgreSQL

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

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

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

Hibernate é um framework de mapeamento objeto/relacional que implementa as funcionalidades da JPA. Usaremos esse framework para simplificar o desenvolvimento.

Driver

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.

Java Swing

O Swing é um framework que disponibiliza um conjunto de elementos gráficos para ser utilizado na plataforma Java.

TELAS DO SISTEMA

Tela Inicial

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 Principal

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 Lista de Unidades

Tela onde é listada todas as Unidade, ao clicar em uma das unidades você é redirecionado para a tela de Cadastrar/Alterar/Excluir Unidades.

Tela Cadastrar/Alterar/Excluir Unidade

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.

Tela Cadastro Viatura

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.

Tela Editar Viaturas

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.

Tela Cadastro Equipamento

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 Editar Equipamento

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.

Tela Cadastro SCO

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”.

Tela Cadastro Equipe

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 Editar Equipe

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 Alocação de Recursos (Equipamento e Viatura)

Tela onde é feita a alocação das viaturas, partindo da lista de viaturas, e os equipamentos disponíveis para determinada viatura.

Clone this wiki locally