Escolar Documentos
Profissional Documentos
Cultura Documentos
• Referências Bibliográficas
Introdução
• Um pouco de história....
• Tese de mestrado do profº José Inácio de Grande –
jigrande@sigerar.org
• Desenvolvida em 2006 na UNIMEP
• Desde então foi formado um grupo de estudo na
FATEC-SO
• Tragédia de 2008:
• Perca dos fontes (2 anos de trabalho)
• Saída dos membros do grupo
• Novos colaboradores:
• Eu (ex-aluno), profº Sérgio Bernardo e Marcos
(ex-estagiário), Anderson (estagiário atual) e
profº Levi Munhoz
Introdução
• Um pouco de história....
• Re-implementação de melhorias e atualizações
tecnológicas
• v1.6 :
• mysql e melhora no código porém tecnologia
ainda defasada
• Bugs (versão de requisito)
• Relatórios
• v2:
• Novas tecnologias (Vraptor, hibernate, etc)
• Ainda implementando correção dos bugs,
versão do requisito e relatórios
Introdução
Objetivo da Pesquisa
Especificar e implementar uma ferramenta
automatizada para documentação e Gerenciamento
de Requisitos (GR), durante todo o ciclo de vida do
software.
Importância
GR é fundamental no processo da ER, para
organizar o controle das mudanças, permitindo
subsídios para a análise de impacto e custos em
tempo e dinheiro, que estas trarão para a
organização.
Introdução
Justificativa
Resultados Esperados
• Espera-se os seguintes benefícios às organizações que
venham adotá-la:
Definição de Requisitos
Engenharia
de Sistemas Engenharia
de Requisitos
Análise
Projeto
Implementação
Teste
Manutenção
A Engenharia de Requisitos
Fases da Engenharia de Requisitos
• Kotonya e Sommerville [KOT98] apresentam o
processo de ER, ocorrendo de forma iterativa em quatro
atividades ou fases: Elicitação, Análise, Especificação e
Validação de Requisitos:
Especificação
de requisitos
e relatório de
Elicitação Análise Requisitos
validação
acordados
Validação Especificação
Ponto de decisão:
documento de
especificação
aceito ou espiral
executada
novamente Esboço da Especificação de requisitos
A Engenharia de Requisitos
Gerenciamento de Requisitos
• É o processo de compreender e controlar as
mudanças nos requisitos de sistemas, e ocorre em
conjunto com outros processos da ER [SOM03];
• RequisitePro (Rational)
• Doors (Telelogic)
• CaliberRM (Borland)
Ferramenta
Ferramenta Automatizada
Automatizada para
para GR
GR
Contexto da Ferramenta
• Desenvolvimento de uma ferramenta para
Gerenciamento de Requisitos, que envolve:
• Coletar, armazenar e manter os requisitos
acordados entre os desenvolvedores e usuários;
• Gerenciar as mudanças nos requisitos registrados
(controle de versões de requisitos);
• Criar mecanismos de rastreabilidade, que
garantam:
• Relacionamentos entre requisitos;
• Gerenciamento da dependência entre os
requisitos e outros documentos produzidos no
processo de engenharia de sistemas.
Ferramenta
Ferramenta Automatizada
Automatizada para
para GR
GR
Contexto da Ferramenta
• Ambiente
• SGBD:
• Mysql (Stable)
2ª Camada 3ª Camada
1ª Camada
Servidor de regras de negócio Servidor de dados
Servidor Web
Projeto da Ferramenta
• Os projetos (lógico e físico) foram desenvolvidos
utilizando técnicas de orientação a objeto:
• Elicitação de Requisitos
• Lista dos Requisitos Funcionais e Não Funcionais
• sigerar/trunk/docs/requirements/requirements.ods
Ferramenta Automatizada para GR
INT_idREQUI CD_COMPLE Name
SITO, TO,
COD_COMP ID COD_COMPLETO
ID LETO
2 Funcional1.1 1 Funcional1
3 Funcional1.2 1 Funcional1
5 Funcional2.1 4 Funcional2
7 Funcional3.1 6 Funcional3
9 Funcional4.1 8 Funcional4
11 Funcional5.1 10 Funcional5
12 Funcional5.2 10 Funcional6
14 Funcional6.1 13 Funcional7
16 Funcional7.1 15 Funcional1
Ferramenta Automatizada para GR
Projeto da Ferramenta
• Casos de Uso
• Módulo Administração
• Módulo Requisitos
Projeto da Ferramenta
• Atividades
• Proposta de alteração de requisitos
Inclusão de proposta de
alteração de requisito
Identifica requisitos
dependentes
Gerência verifica
viabilidade inicial
[ Alteração viável ]
Atualiza situação
para em análise
Rejeita alteração
do requisito
Ferramenta Automatizada para GR
Análise de alteração de
requisito
Identifica requisitos
dependentes
Encontra requisito
dependente
Define alterações no
requisito dependente
[ Falta tratar requisito ] [ Não necessita alteração ]
[ Alteração aprovada ]
Atualiza situação
para aprovada
[ Alteração reprovada ]
Rejeita alteração
do requisito
Ferramenta Automatizada para GR
Projeto da Ferramenta
• Diagrama de Classes
UsuarioProje
Diagrama de Classes Alcada
to
Gerenciamento de Requisitos id
idUsuario
nome
idProjeto 1 1 interno
idalcada
Usuario
id Projeto
idDepartamento Termo
Departamento id Glossario
nome id
idGerente
id cargo id idGlossario
nome
nome pertence f one gerencia nome nome
descricao
observ acao email descricao descricao
1 1..n login 1 1..n 1 1..n
cadastrar() 1..n 1..n
cadastrar() senha cadastrar() cadastrar()
alterar()
alterar() conhecimento alterar() alterar()
excluir()
excluir() excluir() excluir()
alocar Glossario()
cadastrar()
alocar gerente()
alterar() 1
exclui() 1
1 responsável
solicita 1..n
1..n
TipoRequisito
Motiv o Requisito
VersaoRequisito id
id id
id nome
descricao 1 idTipo
idRequisito descricao
padrao idVolatilidade
idUsuarioSolicitante 1
padraoOriginal nome
IdUsuarioResponsav el 1..n cadastrar()
inclusao idUsuario
descricao alterar()
alteracao idProjeto
1 IdMotiv o excluir()
ordem
idRisco 0..n
cadastrar() codigoCompleto
1..n idImpacto
alterar() idRequisitoPai
IdPrioridade decompõe-se
excluir() sub
idImportancia
0..n
custo
cadastrar()
situacao
Risco alterar()
id excluir() 1..n
cadastrar()
descricao def inir tipo()
1..n alterar() 1
peso 1 atribuir v olatilidade() Volatilidade
excluir()
1 atribuir usuario responsav el()
atribuir m otiv o() id
cadastrar() atribuir risco() 0..n 0..n descricao
alterar() atribuir impacto() quantidadeMinima
excluir() atribuir prioridade() quantidadeMaxima
atribuir importancia() mesesAConsiderar
1..n
atribuir documentos() 1..n RequisitoDependente peso
Impacto
atribuir custo() idRequisito
id 1 1..n
atribuir situacao() cadastrar()
idRequisitoSuperior
descricao alterar()
peso excluir()
1..n 1..n
calcularVolatilidade()
cadastrar()
alterar() 1..n
excluir()
1 Documentos AlteracaoVersao
id id
1 TipoDoc
idRequisito idRequisito
Prioridade Importancia idVersãoRequisito id idVersao
id id nomeDoc nomeTipo idVersaoAnterior
descricao descricao localização idAlteracaoPai
peso peso cdTipoDoc cadastrar()
1 1
alterar() cadastrar()
cadastrar() cadast rar() cadastrar() excluir() alterar()
alterar() alterar() alterar() excluir()
excluir() excluir() excluir()
Ferramenta Automatizada para GR
Validação da Ferramenta
• Escolha do Estudo de caso (Home Care,
PCMSO, Farmácias) – original do Mestrado;
Validação da Ferramenta
• Teste e validação do Módulo Administração
• Login do Administrador
• Cadastrando Usuários
• Demais Cadastros
Ferramenta Automatizada para GR
Ferramenta Automatizada para GR
Ferramenta Automatizada para GR
Ferramenta Automatizada para GR
Ferramenta Automatizada para GR
Ferramenta Automatizada para GR
Validação da Ferramenta
• Teste e validação do Módulo Principal
• Correio interno
Ferramenta Automatizada para GR
Ferramenta Automatizada para GR
Ferramenta Automatizada para GR
Validação da Ferramenta
• Os dados obtidos durante o desenvolvimento
do Sistema de Gestão de Farmácias foram
incluídos na ferramenta.
• Cadastrando Requisitos do Projeto
Validação da Ferramenta
• Os dados das alterações dos requisitos,
alimentaram a ferramenta, buscando testar sua
potencialidade e corretitude.
Ferramenta Automatizada para GR
Ferramenta Automatizada para GR
Validação da Ferramenta
• Conclusões dos Testes e validações da
ferramenta
• Módulo Administração
• Há necessidade de desenvolvimento de
relatórios específicos.
Ferramenta Automatizada para GR
Validação da Ferramenta
• Conclusões dos Testes e validações da
ferramenta
• Módulo Principal
• Houve sucesso na alocação dos usuários ao
projeto;
• Módulo Principal
• Foi necessário alterar o sistema para permitir
edição de datas;
Infra:
• Acesso ao DB/ scripts do DB
• Ajax/YUI/javascript
• Internacionalização
Funcionalidades:
• Cadastros de Apoio (Motivo, Risco, Impacto,
Prioridade, Importancia, etc)
• Versão Requisito
• Usuários/Departamento
• Glossário/Termo
• Refatoração
• Tradução/internacionalização
• Documentação
• Requisito e versão
Desenvolvimento v2
O que precisa ser trabalhado ainda:
• Implementação de funcionalidades:
• Fórum/Ajuda
• Implementação interfaces/exceptions
• Interoperabilidade
• Sub-requisito/rastreabilidade
• Divulgação/feedback
Getting Started:
• Subversion:
http://sigerar.svn.sourceforge.net/viewvc/sigerar/
• branches/v2
• Documentação atual
• trunk/docs
• Wiki
Contribuições
Conhecimentos:
• JavaEE: Java, junit, servlets;
• Apostilas da Caelum:
• Vraptor;
• Hibernate;
• Web: html/css/javascript
• http://www.caelum.com.br/apostilas/
• Enga Requisitos
Conclusão
• Trabalhos Futuros
• Desenvolver relatórios específicos tanto no módulo
administração quanto no módulo principal;
• Trabalhos Futuros
• Manutenção de caso de uso (v2.1);