Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • B Biblioteca
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Biblioteca
  • Biblioteca
  • Wiki
  • arquitetura

Last edited by Mathias Gatti Elbern Oct 02, 2017
Page history

arquitetura

Home Sprints Requisitos Gerais Prototipação Configuração ambiente Escopo Glossário Equipe Arquitetura [Problemas] (Problemas)

AGES 2017/2

Menu💻

  1. Arquitetura do projeto📏
  2. Diagrama de busca da bibliografia📚
  3. Diagrama de busca de livros📗
  4. Diagrama de busca de livros favoritos📖
  5. Diagrama de login do usuário👤
  6. Diagrama de banco de dados

Arquitetura do projeto 📏

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

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

image

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…


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

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

  3. CSS - Cascading Style Sheets É uma especificação que define como os elementos que integram uma página ou documento serão exibidos.

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

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

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

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

  8. Design Pattern Command Tem como principal objetivo criar objetos que encapsulam uma solicitação para executar um outro objeto inerente.

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

  10. 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 📚

image


Diagrama de busca de livros 📗

image


Diagrama de busca de livros favoritos 📖

image


Diagrama de login do usuário 👤

image

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:

image

  • Arquivo PDF: model.pdf

  • Arquivo para importação Workbench: modelo.mwb

Procedimento realizado por Emiliano, Murilo e Rodrigo Mello.

Voltar ao topo🔝

Clone repository
  • Requisitos Gerais
  • arquitetura
  • configuracao de ambiente
  • diagrama er do banco de dados (ate 06
    • 09
      • 2017)
  • equipe
  • escopo
  • glossário
  • Home
  • problemas com acentos
  • problemas para configurar o computador pessoal
  • problemas
  • prototipacao
  • sprints