Você está na página 1de 21

Projeto de Software

Projeto EngeSoft

Projetista Responsvel: Paulo Srgio dos Santos Jnior

Sumrio
HISTRICO DO DOCUMENTO........................................................................................2 INTRODUO...................................................................................................................3 DESCRIO DO ESCOPO DO PROJETO......................................................................4 PROJETO DE ARQUITETURAL .....................................................................................6 1.1 PROJETO DE ARQUITETURAL DE HARDWARE..................................................6 1.2 PROJETO DE ARQUITETURAL DE SOFWARE....................................................7 PROJETO DE INTERFACE..............................................................................................9 1.3 Subsistema Seleo de Artigos ...............................................................................9 1.4 Subsistema Controle de Assinaturas ....................................................................11 PROJETO DE BANCO DE DADOS................................................................................13 1.5 PACOTE ARTIGO..................................................................................................13 1.6 PACOTE ASSINATURAS.......................................................................................14 ANEXO A.........................................................................................................................16 1.7 Detalhamento do projeto de interface....................................................................16 1.7.1 Subsistema Seleo de Artigos .......................................................................16 ANEXO B.........................................................................................................................19 1.8 Detalhamento do projeto banco de dados.............................................................19 1.8.1 PACOTE ARTIGO............................................................................................19 1.8.2 PACOTE ASSINATURAS.................................................................................20

HISTRICO DO DOCUMENTO
Verso 1.0 Responsvel Paulo Srgio dos Santos Jnior Paulo Srgio dos Santos Modificao Criao do Documento Adio dos Projetos de Interface e de Banco de dados Data da Modificao 02/08/2009

2.0

31/03/2010

INTRODUO
Este documento contm o projeto de software para o projeto de desenvolvimento de um sistema de informao para controle de submisses e assinaturas da Revista EngeSoft.

DESCRIO DO ESCOPO DO PROJETO


Uma revista de informtica, a EngeSoft, deseja um novo sistema para gerenciar suas atividades. EngeSoft publicada mensalmente, sendo que uma edio tem diversos artigos, todos versando sobre um mesmo tema. Por exemplo, a edio deste ms sobre o tema Qualidade de Software, tendo oito artigos. De uma edio deseja-se saber o volume, nmero, ms, ano, tema e artigos submetidos e selecionados. Autores submetem artigos para uma edio especfica. De um artigo deseja-se saber os autores, o ttulo e o arquivo contendo o artigo. Um nmero de identificao criado para cada artigo. Os autores devem informar, alm de seus nomes, e-mails e as instituies a que pertencem com endereo. Para artigos com mais de um autor, deve ser indicado um autor como contato. Para avaliar os artigos submetidos publicao, a EngeSoft possui um conjunto de colaboradores que avaliam artigos. De um avaliador deseja-se saber o nome, e-mail, instituio e temas para os quais est habilitado a avaliar artigos. Essas informaes so usadas para distribuir os artigos para os colaboradores. Cada artigo obrigatoriamente avaliado por trs colaboradores, todos habilitados ao tema da edio correspondente, que atribuem notas de 0 a 10 a trs itens: originalidade, contedo e apresentao. Com base nessas avaliaes que se decide se um artigo ser publicado ou no. Para essa deciso, uma seleo deve ser efetuada. Artigos que j foram avaliados pelos seus trs avaliadores esto prontos para a seleo, caso contrrio encontram-se ainda em avaliao. Apenas quando todos os artigos submetidos para uma edio tiverem sido avaliados que a seleo pode ser efetuada. Esta seleo feita pelos editores-chefe da edio, escolhidos previamente no conjunto de colaboradores. Finda a seleo, sabem-se quais artigos foram selecionados para publicao e quais foram rejeitados. EngeSoft comercializada apenas na forma de assinatura por perodos de um ano (12 edies). Atualmente h cerca de mil assinantes, sendo a maioria assinantes 4

corporativos, apesar de haver tambm assinantes pessoa fsica. Em ambos os casos, deseja-se saber e-mail e endereo para envio das revistas. De assinantes pessoa fsica, deseja-se saber nome, sexo, data de nascimento, identidade e CPF. No caso de assinantes corporativos, designa-se um responsvel para contato e deseja-se saber razo social e CNPJ. O preo da assinatura padro, ou seja, igual para assinantes corporativos e pessoa fsica. Um grande nmero de assinantes renova suas assinaturas a cada ano. Renovaes tm um desconto progressivo de 5% sobre o preo padro vigente a cada ano, at um limite de 40% de desconto, desde que a renovao se d em perodos consecutivos. Para avisar o assinante, notas de renovao so enviadas por e-mail, nos trs meses que antecedem o trmino da assinatura. Os pedidos de assinatura so feitos via Internet e tm de ser pagos com carto de crdito. Sobre o pagamento, deve-se registrar o valor, a administradora de carto e o cdigo da autorizao da administradora.

PROJETO DE ARQUITETURAL
O sistema proposto ser implementado usando a linguagem de programao Java, que possui mecanismo de herana simples apenas. Alm disso, a persistncia dos objetos ser feita em um banco de dados relacional. O gerenciado de banco de dados relacional utilizado nesse projeto ser o PostGresSQL, devido a sua velocidade de processamento, e a sua facilidade de realizar cpias de segurana. A seo 1.1 apresenta o projeto arquitetural de hardware e a seo 1.2 apresenta a arquitetura de software do sistema.

1.1 PROJETO DE ARQUITETURAL DE HARDWARE


A arquitetura de hardware utilizada no sistema a arquitetura cliente-servidor em duas camadas (two-tier). A Figura 1 apresenta a arquitetura de hardware utilizada no sistema.

Figura 1 Arquitetura utilizada no projeto

A primeira camada referente ao cliente (navegador web), responsvel pela interface entre usurio e sistema. Ser utilizado o navegador web por facilitar o acesso

aplicao. Afinal, de qualquer dispositivo eletrnico que tenho um navegador o usurio poder acessar a aplicao. A segunda camada ser um servidor de aplicao responsvel pelo processamento da lgica do negcio e persistncia dos dados manipulados. Este servidor ir rodar em um ambiente LINUX com as seguintes configuraes: 10 GB de RAM de memria secundria; 1 TB de HardDisk; Processador Intel Core i 7;

A grande capacidade de disco necessria, pois esta mquina ir armazenar o banco de dados, os arquivos enviados pelos autores (mesmo os no aceitos) e as publicaes de cada revista. A grande capacidade de processamento necessria, pois o servidor ir suportar todo o sistema EngeSoft. Em outras palavras, como o sistema web, logo ter suportar as requisies dos clientes, funcionrios EngeSoft e autores de artigos.

1.2 PROJETO DE ARQUITETURAL DE SOFWARE


Esta seo apresenta uma viso mais abstrata da arquitetura de software do sistema EngeSoft. De uma maneira mais simplista, a arquitetura de software formada pelas seguintes camadas: (i) Camada de apresentao (interface), (ii) Camada de controle da interface, (iii) Camada de Regras de Negcio e (iv) Camada de Gerncia de dados. A Figura 2 apresenta a arquitetura de software.

Figura 2 - Camadas de Software.

A Camada de apresentao a responsvel por toda a iterao entre os usurios e o sistema EngeSot. Essa camada ser desenvolvida utilizando a tecnologia GWT (Google Web Toolkit). A escolha por essa tecnologia pela facilidade de desenvolvimento de sistemas web utilizando AJAX. A utilizao do AJAX trs benefcios de desempenho a aplicao, pois ele realiza pesquisa sobre demanda e, assim, no necessrio carregar toda a pgina para conseguir uma informao. A Camada de controle da interface responsvel por controlar a camada de apresentao. Essa camada a responsvel por: (i) validar as informaes contidas na camada de apresentao; (ii) solicitar servios a camada de regras de negcio. A Camada de controle da interface responsvel por todas as regras de negcio da aplicao, ou seja, essa camada contm o cdigo que executa e impe a poltica do negcio (regras, regulamentos e clculos). Por fim, a Camada de Gerncia de dados a responsvel por gerenciar todas as operaes relativas ao banco de dados, ou seja, essa camada que responsvel por: criar, pesquisar, excluir e atualizar as informaes do sistema.

PROJETO DE INTERFACE
Para cada subsistema de caso de uso foi criado um diagrama de navegao. As sees 1.3 e 1.4 apresentam, respectivamente, o diagrama de navegao do subsistema Seleo de Artigos e o Controle de Assinaturas. O ANEXO A apresenta o detalhamento de cada tela presente no diagrama de navegao.

1.3 SUBSISTEMA SELEO DE ARTIGOS


Devido a grande quantidade de casos de uso presente no subsistema Seleo de Artigos foram desenvolvidos dois diagramas de navegao: (i) contendo as telas do visitante e do autor e (ii) contendo as telas do funcionrio da EngeSoft. A Figura 3 apresenta o diagrama de navegao contendo as telas do visitante e do autor.

Figura 3 Diagrama de Navegao: Seleo de Artigos Viso Autor.

O diagrama apresentado na Figura 3 composta das seguintes telas: Home: pgina contendo os links para o cadastro de novos visitantes e autores. CadastroVisitanteAutor: pgina responsvel por colher as informaes necessrias para o cadastro dos novos visitantes e autores. Login: pgina responsvel por efetuar a validao do usurio e encaminh-lo pgina PrincipalAutor. PrincipalAutor: pgina contendo link para a submisso, seleo e avaliao de artigos. Essa tambm contem um link para o logout do usurio. 9

SubmeterArtigo: pgina na qual o autor cadastra o artigo e envia para avaliao.

SelecionarArtigo: pgina na qual o autor seleciona os artigos para avaliao. AvaliarArtigo: pgina na qual o autor avalia os artigos selecionados conforme os critrios de avaliao. Nessa pgina o autor tambm pode indica que desistiu da avaliao.

A Figura 4 apresenta o diagrama de navegao contendo as telas do funcionrio EngeSoft..

Figura 4 Diagrama de Navegao: Seleo de Artigos Viso funcionrio EngeSoft.

O diagrama apresentado na Figura 4 composta das seguintes telas: Home: pgina contendo os links para o login dos usurio EngeSoft. Login: pgina responsvel por efetuar a validao do funcionrio EngeSoft e encaminh-lo pgina PrincipalSistemaCadastro. PrincipalSistemaCadastro: pgina contendo link para o cadastro de

Avaliadores, seleo do Editor-Chefe e Cadastro de Tema. Essa tambm contem um link para o logout do usurio. CadastrarAvaliador: pgina contendo todas as operaes que envolve o cadastro de avaliadores.

10

SelecionarEditorChefe: pgina contendo todas as operaes que envolve a seleo do Editor-Chefe.

CadastrarTema: pgina contendo todas as operaes que envolve o cadastro de Tema para uma revista.

1.4 SUBSISTEMA CONTROLE DE ASSINATURAS


A Figura 5 apresenta o diagrama de navegao contendo as telas do assinante.

Figura 5 - Diagrama de Navegao: Controle de Assinaturas.

O diagrama apresentado na Figura 3 composta das seguintes telas: Home: pgina contendo os links para o cadastro de novos visitantes e autores. CadastroAssinante: pgina responsvel por colher as informaes necessrias para o cadastro dos novos de novos assinantes. Login: pgina responsvel por efetuar a validao do usurio e encaminh-lo pgina PrincipalSistemaAssinatura. PrincipalSistemaAssinatura: pgina contendo link para a rea do assinante AreaAssinante: pgina contendo link para as telas de assinatura, cancelamento e renovao da assinatura. 11

AssinarRevista: pgina responsvel por todas as operaes sobre a assinatura da revista.

CancelarAssinatura: pgina responsvel por todas as operaes sobre o cancelamento da assinatura da revista.

RenovarAssinatura: pgina responsvel por todas as operaes sobre a renovao da assinatura da revista..

12

PROJETO DE BANCO DE DADOS


Para cada pacote do diagrama de classes foi desenvolvido um Modelo de Entidaderelacionamento (MER). As sees 1.5 e 1.6 apresentam o MER do pacote Artigo e o MER do pacote Assinatura, respectivamente. O ANEXO B apresenta o detalhamento de cada entidade presente nos diagramas do projeto de banco de dados.

1.5 PACOTE ARTIGO


Este pacote rene as entidades relacionadas com a submisso, avaliao e aprovao de artigos para comporem edies da revista. A Figura 6 apresenta o MER do pacote artigo.

Figura 6 - Modelo Relacional do Pacote Artigo.

13

Cada edio (mensal) da revista representada no sistema por uma instncia da relao Edicao. Uma edio tem um Tema e um conjunto de editores-chefe, representados pela relao Avaliador. Artigos podem ser submetidos e selecionados para uma edio, os artigos selecionados so os que sero publicados naquela edio da revista. Trs tipos de usurio interagem com o sistema e possuem relaes que o representam: Funcionario, Autor e Avaliador. Os dois ltimos possuem caractersticas comuns, pois so pessoas envolvidas com a atividade de pesquisa, portanto tais caractersticas foram generalizadas na relao Academico. Um Autor escreve Artigos. Estas relaes possuem duas associaes entre si, pois a segunda denota quem a pessoa de contato dentre os autores. Um autor associa-se com a relao Tema para indicar os temas que est apto a avaliar. Um Avaliador tambm possui uma associao com Artigo, pois ele quem o avalia. As notas dadas pelo avaliador so armazenadas nesta ligao, na relao associativa Avaliacao, que tambm denota se o avaliador desistiu de avaliar o artigo. Por fim, o Funcionario est isolado de outras relaes, pois s precisamos armazenar informaes de login e senha para que os funcionrios da EngeSoft possam entrar no sistema para tarefas de rotina (finalizar uma edio, escolher editores-chefe, etc.).

1.6 PACOTE ASSINATURAS


Este pacote contm as entidades relacionadas com o processo de assinaturas da revista. Um Assinante pode ser pessoa fsica (AssinantePF) ou pessoa jurdica (AssinantePJ). Ambas compartilham caractersticas comuns mas possuem tambm diversas diferenas. Um assinante pode ter vrias assinaturas, porm somente uma do perodo atual. As demais so assinaturas j vencidas que so armazenadas para fins de histrico e para clculo de descontos progressivos (ver requisitos).

14

A entidade Pagamento registra o pagamento de uma assinatura, feito via carto de crdito. A entidade AdministradoraCartoCredito representa as administradoras de carto de credito. A Figura 7 apresenta o MER do pacote artigo.

Figura 7 - Modelo Relacional do Pacote Assinatura.

15

ANEXO A
1.7 DETALHAMENTO DO PROJETO DE INTERFACE
Nesta seo apresentado as interfaces e o detalhamento das mesmas de cada tela presente no diagramas de navegao das sees 1.3 e 1.4.

1.7.1 Subsistema Seleo de Artigos 1.7.1.1Tela Cadastrar Autor


Casos de Uso Envolvidos: o Cadastrar-se; Classes envolvidas: o Artigo::Autor;

16

Descrio da tela:

17

18

ANEXO B
1.8 DETALHAMENTO DO PROJETO BANCO DE DADOS
Nesta seo apresentado o detalhamento de cada relao presente nos modelos entidades-relacionamentos apresentados no Projeto de Banco de Dados (seo 1.4). As sees 1.8.1 e 1.8.2 apresentam, respectivamente, o detalhamento das entidades presentes nos pacotes Artigo e Assinaturas.

1.8.1 PACOTE ARTIGO 1.8.1.1Entidade: Edicao


Campo Tipo Chave Primaria Chave Estrangeira Tabela Chave Estrangeira

IDEdicao Volume Numero Ano IDTema

Integer Integer Integer Integer Integer

(x) () () () ()

() () () () (x)

Tema

1.8.1.2Entidade: Artigo
Campo Tipo Chave Primaria Chave Estrangeira Tabela Chave Estrangeira

IDArtigo Titulo Arquivo IDEdicao IDEdicao IDAutor

Integer VarChar (225) Blob (80) Integer Integer Integer

(x) ( ) () () () ()

() () () (x) (x) (x)

Edicao Edicao Autor

19

1.8.2 PACOTE ASSINATURAS 1.8.2.1Entidade: Artigo


Campo Tipo Chave Primaria Chave Estrangeira Tabela Chave Estrangeira

IDArtigo Titulo Arquivo IDEdicao IDEdicao IDAutor

Integer VarChar (225) Blob (80) Integer Integer Integer

(x) ( ) () () () ()

() () () (x) (x) (x)

Edicao Edicao Autor

20