Home | Sprints | Requisitos Gerais | Prototipação | Configuração ambiente | Escopo | Glossário | Equipe | Arquitetura | [Problemas] (Problemas) |
---|
💻
Menu
-
Arquitetura do projeto
📏
-
Diagrama de busca da bibliografia
📚
-
Diagrama de busca de livros
📗
-
Diagrama de busca de livros favoritos
📖
-
Diagrama de login do usuário
👤
- Diagrama de banco de dados
📏
Arquitetura do projeto
AGES 2017/2
Este projeto está sendo desenvolvido em um modelo MVC (Model / View / Controller) sendo:
- View em Java ServicePages (JSP), HTML, CSS, JavaScript, JQuery e Bootstrap.js
- Controler em Java EE (com Servlets), com Design Pattern Command e BO (Business Object)
- Model usando Java EE com Design Pattern Data Access(DAO) (Data Acesses Object)
Definições
- MVC - ( Model / View / Controller ) É um padrão de arquitetura de software que separa a aplicação em 3 camada importantes, a camada model que é reponsavel pela manipulação de dados, a View que é a camada de interação com o usuário e a camada controller que é responsável pelo controle de toda nossa aplicação.
Model: É a camada da aplicação responsável pela escrita e leitura de dados e de suas validações.
View: É a camada que realiza a interação com o usuário, apresentando somente os dados a ele.
Controller Essa camada é responsável por receber as informações do usuário. Essa camada possui métodos chamados de "actions" que são encarregados de uma página, controlando qual model usar e qual view será mostrado ao usuário final.
Pequeno exemplo:
-
View: Fala Controller ! O usuário acabou de pedir para acessar o Facebook, pega os dados de login dele ai.
-
Controller: Blz, já te mando a resposta. Ai model, meu parceiro, toma esses dados de login e verifica se ele loga.
-
Model: Os dados são válidos. Mandando a resposta de login.
-
Controller: Blz. View, o usuário informou os dados corretos. Vou mandar pra vc os dados dele e tu carrega a página de perfil.
-
View: Vlw. Mostrando ao usuário…
-
JSP - Java ServicesPages É uma tecnologia orientada a criar páginas web com programação em Java. Com o JSP é possível criar aplicações web que pode ser executado em múltiplos servidores web, sendo eles de múltiplas plataformas diferentes.
-
HTML - Hypertext Markup Language É uma linguagem web de marcação, na qual marcamos tags de diversas formas, com intuito de mostrar ao navegador o que é cada informação que está sendo passada a ele. Também serve como informante para os sistemas de buscas, como o Google. O Google neste caso, consegue distinguir oque é um titulo de um paragrafo.
-
CSS - Cascading Style Sheets É uma especificação que define como os elementos que integram uma página ou documento serão exibidos.
-
JS - JavaScript Ao contrario de Java, JavaScript é uma linguagem de programação client-side, utilizada para controlar o HTML e o CSS tendo em vista manipular o comportamento de uma página.
-
JQuery É um Framework JavaScript com um lema "Write less, do more". Como o lema já diz, é uma ferramenta que permite ao desenvolvedor uma maior produtividade no ambiente de programação. Com essa ferramenta é possível fazer diversas coisas com poucas linhas e, que em JavaScript puro custariam dezenas de linhas.
-
Bootstrap.js É um Framework front-end que facilita nossa vida ao criar web sites com tecnologia mobile, sem ter que desenvolver códigos em CSS. Além disso, o desenvolvedor que está utilizando bootstrap pode usar vários plugins diferentes baseados em JavaScript(JQuery), para auxiliar na implementações de tooltip, menu-dropdown, modal, entre outros.
-
Servlets É a primeira forma que veremos de criar páginas dinâmicas com java. Uma primeira ideia da servlet seria que cada uma delas é responsável por uma página, sendo que ela lê dados da requisição do cliente e responde com outros dados (uma página HTML, uma imagem GIF etc). Como no Java tentamos sempre que possível trabalhar orientado a objetos, nada mais natural que uma servlet seja representada como um objeto a partir de uma classe Java. Cada servlet é, portanto, um objeto Java que recebe tais requisições (request) e produz algo (response), como uma página HTML dinamicamente gerada.
-
Design Pattern Command Tem como principal objetivo criar objetos que encapsulam uma solicitação para executar um outro objeto inerente.
-
BO - Bussines Object É um objeto que representa a entidade na camada de negócios, que geralmente é implementada no model. Ele possui os getters, setters, regras de negócios e relações entre objetos. O BO faz uso da OO para realmente representar as relações entre as entidades do sistema.
-
DAO - Design Pattern Data Access É um padrão de projetos onde um objeto prevê uma interface que abstrai acesso de dados, ele lê e grava a partir da origem de dados (BD, arquivo, memória..) e encapsula o acesso de dados, de forma que as demais não precisam saber sobre isso. Sendo assim, cada método do DAO deve fazer uma única leitura ou gravação no banco de dados e não deve controlar transações ou realizar operações adicionais, tal como realizar alterações nos dados recebidos do serviço.
📚
Diagrama de busca da Bibliografia
📗
Diagrama de busca de livros
📖
Diagrama de busca de livros favoritos
👤
Diagrama de login do usuário
Diagrama de banco de dados
Para auxiliar nas discussões do rumo que a estrutura que a base de dados assumirá a partir da sprint 1 (2017/2), acessamos o MySQL Workbench e geramos o diagrama de entidade - relacionamento (ER) que atualmente está rodando.
Segue abaixo o diagrama de como nossa estrutura até então está definida:
-
Arquivo PDF: model.pdf
-
Arquivo para importação Workbench: modelo.mwb
Procedimento realizado por Emiliano, Murilo e Rodrigo Mello.