Vous êtes sur la page 1sur 9

Tribunal de Justia da Paraba e-Jus Mdulo de Execues Penais (VEP) Documento de Arquitetura de Software Verso 1.

e-Jus Mdulo de Execues Penais (VEP) Documento de Arquitetura de Software

Version: 1.0 Data: 10/11/2009

Histrico da Reviso
Data 05/10/09 10/11/09 13/11/09 Verso V1.0 V1.0 V1.0 Descrio Criao do artefato. Definio de contedo das sees de viso. Definio de contedo das sees: Viso da Implementao, Pacotes Significativos e Qualidade e Padres. Autor Jos T. C. Neto Jos T. C. Neto Marcelo Perin Borba

Tribunal de Justia da Paraba, 2013

Pgina 2 de 9

e-Jus Mdulo de Execues Penais (VEP) Documento de Arquitetura de Software

Version: 1.0 Data: 10/11/2009

ndice Analtico
1. Introduo 4 1.1 Finalidade ................................................................................................................................................................ 4 1.2 Escopo ..................................................................................................................................................................... 4 1.3 Definies, Acrnimos e Abreviaes .................................................................................................................... 4 1.4 Referncias .............................................................................................................................................................. 4 1.5 Viso Geral ............................................................................................................................................................. 4 2. Representao Arquitetural 3. Metas e Restries da Arquitetura 4. Viso Lgica 5 5 5

4.1 Viso Geral ............................................................................................................................................................. 5 4.2 Definio de Camadas............................................................................................................................................. 5 4.3 Pacotes Significativos ............................................................................................................................................. 6 5. Viso de Processos 6. Viso da Implementao 6 6

6.1 Viso Geral ............................................................................................................................................................. 7 6.2 Estrutura da Diviso em Camadas .......................................................................................................................... 7 6.3 Componentes Acessrios ........................................................................................................................................ 9 6.4 Padres de Projeto e Frameworks ........................................................................................................................... 9 7. Qualidade e Padres 9

Tribunal de Justia da Paraba, 2013

Pgina 3 de 9

Documento de Arquitetura de Software


1. Introduo
1.1 Finalidade

Este documento oferece uma viso geral arquitetural abrangente (as camadas e interfaces, frameworks e padres de projeto adotados) do mdulo de Execues Penais (VEP), do sistema web E-Jus, usando outras vises arquiteturais para representar diferentes aspectos do sistema. O objetivo deste documento capturar e comunicar as decises arquiteturais significativas, tomadas em relao ao sistema, alm de alguns padres que devem ser seguidos durante a implementao da soluo e seus requisitos no-funcionais e casos de uso.
1.2 Escopo

O Documento de Arquitetura de Software influencia diretamente a implementao dos requisitos no-funcionais, e especialmente dos casos de uso do mdulo de Execues Penais (VEP), do E-Jus. A estrutura bsica e utilitria dos casos de uso implementados ou manutenidos devem ter conformidade com a arquitetura aqui documentada. As definies contidas nesse documento, por sua vez, no influenciam o modelo arquitetural lgico ou fsico das bases de dados relacionadas ao sistemas, tais quais: definies de entidades e tabelas, atributos, restries, procedures, triggers ou vises.
1.3 Definies, Acrnimos e Abreviaes

N/A
1.4 Referncias 1.5

Padres de Projeto [Gamma, Helm, Johnson e Vlissides]


Core J2EE Patterns [http://www.corej2eepatterns.com/] Java Servlet [http://java.sun.com/products/servlet/] JavaServer Pages [http://java.sun.com/products/jsp/] JDBC Database Access [http://java.sun.com/docs/books/tutorial/jdbc/index.html] Plano de Implantao Documento de Dados

Viso Geral

As sees e sub-sees do Documento de Arquitetura de Software apresentam diferentes vises da arquitetura, com suas camadas e componentes, seus objetivos e restries, organizao das classes em pacotes e outros padres de implementao.

2. Representao Arquitetural A documentao e modelagem da arquitetura do sistemas seguem o estilo um design em mltiplas camadas, que so representadas neste documento atravs de vises lgicas e de implementao, em UML. Os padres de projeto e frameworks utilizados na composio da arquitetura estaro tambm descritos. 3. Metas e Restries da Arquitetura A arquitetura de software do mdulo de Execues Penais (VEP), do E-Jus, prev a utilizao do sistema em mltiplas varas, vinculadas ao Tribunal de Justia, sendo o mesmo acessvel atravs da web, em navegadores Internet Explorer 7 ou superior ou Firefox 2.5 ou superior. Para implementao do software, a verso mnima do Java SE a ser utilizada a verso 5, do Java Servlet na sua especificao 2.4 e do JavaServer Pages (JSP) na sua especificao 2.0. Neste mdulo, so previstos requisitos no-funcionais essenciais ao sistema. So eles: Autenticao criptografada; Controle de acesso baseado em papis; Escalabilidade; Disponibilidade 24 x 7; Portabilidade entre diferentes sistemas operacionais; Distribuio para outros Tribunais de Justia; Logging de erros e excees; Diferentes vises por perfis de usurios; Manuteno de documentos no sistema (anexando-os); Envio de emails; Suporte certificao padro A1. 4. Viso Lgica
4.1 Viso Geral

A arquitetura distribuda em pacotes, um utilitrio, que subdivide-se por finalidade de utilizao das classes, e outro estrutural por caso de uso - que subdivide-se em relao as camadas que compe o mesmo.
4.2 Definio de Camadas

Visando atender uma necessidade de fcil criao, manuteno e a separao das camada s do aplicativo. Adotou-se como base o padro de projeto Model - View - Controller (MVC), para a plataforma Java.

4.3

Pacotes Significativos

A estrutura est divida em dois pacotes significativos, api e vep, que comportam as classes utilitrias para aplicao e as classes de negcio dos casos de uso, respectivamente. No pacote api esto contidas as classes para as funcionalidades de requisitos no-funcionais como: Segurana, Auditoria, Certificado Digital, Ajax, entre outras classes utilitrias. No pacote vep esto contidas as classes para as funcionalidades de requisitos funcionais do sistema, armazenadas em pacotes divididos de acordo com o domnio da funcionalidade. Exemplificando, todas as classes responsveis as aes executadas ao domnio de 'Guia de Execuo', esto armazenadas no pacote guiaexecucao. 5. Viso de Processos No ciclo de vida de execuo do sistema, com base na arquitetura proposta, tanto os processamentos leves, quanto os processamentos pesados so acionados por threads controladas pelo prprio container de aplicaes (Apache Tomcat 6) de aplicaes. 6. Viso da Implementao A implementao da arquitetura segue o padro de projeto MVC, divido em trs camadas, Viso, Controle e Persistncia. Viso Camada responsvel pela apresentao da interface da aplicao ao usurio. As pginas implementadas utilizam Java Server Pages (JSP), JSTL, JavaScript, CSS e Tiles. Controle Camada responsvel pela comunicao entre as camadas de Viso e Persistncia. Implementa tambm as regras de negcio pertinentes a requisitos funcionais. So utilizados Servlets para implementao das classes. Persistncia Camada responsvel pelo acesso a base de dados. utilizado o padro de projeto DAO (Data Access Object) para implementao das classes.
6.1 Viso Geral

6.2

Estrutura da Diviso em Camadas

As camadas esto divididas em uma estrutura para manter a organizao dos arquivos e classes, bem como auxiliar na agilidade do desenvolvimento. Camada de Viso Os diretrios so divididos de acordo com o domnio de negcio que cada um representa. As pginas armazenadas no diretrio devem seguir um padro de nomenclatura, composto do nome do domnio mais a funcionalidade que a pgina representa. A tabela abaixo exemplifica a estrutura:
DiretrioPgina /guiaexecucaoGuiaExecucaoListar.jsp GuiaExecucaoCadastro.jsp /processoProcessoEditar.jsp ProcessoPreAnalisar.jsp ...

Os demais recursos utilizados na camada de viso so armazenados em diretrios de acordo com o tipo recurso, como imagens, folhas de estilo, scripts.

DiretrioRecurso /cssFolhas de estilo para as pginas. (Cascading Style Sheets) /imagesImagens em geral. (.gif, .jsp) /jsScripts em geral. (JavaScript)

Camada de Controle Os pacotes esto divididos de acordo com um domnio, estes podem ser representados por um requisito funcional ou no. Dentro do pacote do domnio criado um segundo pacote representado como controlador. Neste, as classes devem seguir um padro de nomenclatura, composto do nome do domnio mais o nome da funcionalidade que a classe representa. Conforme segue:
Pacote areacompetencia.controlador Classe AreaCompetenciaIncluir.java AreaCompetenciaListar.java ... GuiaExecucaoListar.java GuiaExecucaoGravarGuiaApensa.j ava

guiaexecucao. controlador

Camada de Persistncia Os pacotes esto divididos de acordo com um domnio, estes podem ser representados por um requisito funcional ou no. No pacote do domnio so armazenadas as classes de controle de acesso a dados (DAO) e a classe que representa a entidade da base de dados. As classes de acesso a dados recebem o nome do domnio mais o sufixo DAO, enquanto as entidades recebem apenas o nome do domnio, como padro de nomenclatura. Conforme segue:
Pacote areacompetencia guiaexecucao Classe AreaCompetencia.java AreaCompetenciaDAO.java GuiaExecucao.java GuiaExecucaoDAO.java

6.3

Componentes Acessrios

Na arquitetura esto disponveis componentes reutilizveis para dar suporte aos requisitos no-funcionais do sistema, como:
6.4

Controle de Autenticao e Acesso baseado em papis x recursos. Classes utilitrias para gerao de relatrios, clculos e converses de valores, consulta fontica, anexo de documentos, envio de e-mails, entre outras. Auditoria. Certificado Digital. Ajax.
Padres de Projeto e Frameworks

Ao desenvolvimento do sistema, so aplicadas ferramentas e padres para auxiliar na implementao dos casos de uso. Frameworks: Tiles Define os modelos das pginas exibidas na camada de viso. JSTL Biblioteca de componentes utilizados na implementao das pginas JSP. JasperReports Implementao e impresso de relatrios em formato PDF. Padres: DAO Padro utilizado para prover uma interface de acesso simplificado a base de dados. Singleton Para garantir a unicidade dos objetos persistentes com o banco de dados, o padro singleton utilizado. 7. Qualidade e Padres A arquitetura adotada, com separao em camadas, busca dar mais produtividade s implementaes e otimizar a manutenibilidade do sistema. Alm disso, garante a confiabilidade, a integridade e a disponibilidade das informaes, atravs da segurana de controle de acesso.

Vous aimerez peut-être aussi