Objetivo
A empresa já utiliza um sistema para
gerenciamento de seus projetos de
desenvolvimento – o redmine. O
sistema no entanto apresenta
problemas de desempenho.
O objetivo desse projeto foi iniciar o
desenvolvimento de um sistema
semelhante, utilizando uma
arquitetura desenvolvida para
conseguir um bom desempenho.
Escopo do Projeto
Arquitetura
Casos de Uso
Protótipos
Requisitos
O projeto implementa um
subconjunto do sistema que é hoje
utilizado, com algumas
modificações que melhor se
adéquam ao cliente.
Os requisitos dessa primeira versão
irão permitir avaliar as
funcionalidades mínimas para que os
sistema seja operacional na nova
plataforma.
Issue
Workflow
Tracker
IssueStatus
ProjectRole
Priority
Project
Módulos
Para conseguir esse mínimo de
funcionalidades, foi implementado o
controle de tarefas.
Uma tarefa é controlada com um
fluxo de trabalho configurável pela
aplicação, e os usuários só podem
alterar os status das tarefas para
outros status que seu perfil no
projeto permita.
Os casos de uso foram escolhidos
para permitir que esse mecanismo
pudesse ser implementado.
Administração
Manter Usuários
Projeto
Relatórios
Gerenciar Projeto
Gerar Relatório
de Tarefas por
Projeto, Situação
e Responsável
Manter Papéis
Manter Tipos de
Tarefas
Manter Status
Tarefas
Manter Fluxo de
Trabalho
Listar Tarefas por
Projeto, Situação
e Responsável
Criar Tarefa
Atualizar Tarefa
Manter
Prioridades
Manter
Permissões
Gerar Relatório
de Projetos
Associar Membro
Gerar Relatório
de Tarefa
Linguagem e Bibliotecas
O projeto foi desenvolvido em Java,
utilizando a tecnologia de servlets e
JSP.
O sistema utiliza o framework
Spring para controle de transações,
injeção de dependência, abstração
JDBC via JPA, geração de código
com Spring Roo, construção de
páginas com Apache Tiles e
segurança da aplicação.
Os relatórios foram feitos com
JasperReports.
Spring
Core
Jasper
Reports
Spring
Security
Java /
AspectJ
Spring
Roo
Tiles
JPA /
Hibernate
Servidor
O sistema apresenta uma interface
web fornecida por um servidor de
aplicação Tomcat. O banco de dados
utilizado é o mesmo da aplicação
que está sendo substituída, MySQL.
Ubuntu
Uma apliance Ubuntu funcionando
em uma máquina virtual hospeda o
servidor de aplicação, o servidor de
banco e o servidor web Apache.
Tomcat
MySQL
Apache
Ambiente de Desenvolvimento
A IDE utilizada foi eclipse, versão
SpringSource Tool Suite 2.8.
O projeto está disponível no Google
Code e utiliza o subversion como
controlador de versão.
Eclipse
Hudson
GoogleCode
A construção e gerenciamento de
dependências foi feito com o Maven.
O Hudson foi utilizado como
servidor de integração contínua.
Junit
Subversion
Diagrama de Classes
Ator: Administrador do Sistema
O administrador do sistema irá
manter as configurações básicas e o
cadastro de usuários e permissões.
Ele também será responsável por
configurar o fluxo de trabalho dos
tipos de tarefas cadastrados no
sistema.
Atores : Gerente e Membro do Projeto
O Gerente de Projeto será
responsável por cadastrar membros
no projeto, o que irá configurar o
que eles podem fazer nos projetos.
Ele também poderá criar e alterar
tarefas, e gerar relatórios.
Os membros do projeto criam e
atualizam as tarefas.
Os status das tarefas são
controlados pelos papéis atribuídos
pelo gerente a esses membros, e
pelo fluxo de trabalho configurado
para aquele tipo de tarefa.
Criação de Projetos
Listagem de Tarefas
Download

Escopo do projeto - tccunivercidade2011