Dashboard de Visão Gerencial de Projetos Pág 1 de 14
Documento de Requisitos
Dashboard de Visão Gerencial de Projetos Cliente:
Responsável: Isaac Bezerra
Histórico de Alterações
Data Versão Descrição Autor
03.10.11 0.01 Criação do Documento Isaac Bezerra
05.10.11 0.02 Escrita da Introdução e Descrição Geral do Sistema
Isaac Bezerra
08.10.11 0.03 Escrita inicial dos Requisitos Funcionais Isaac Bezerra 10.10.11 0.04 Continuação da escrita de Requisitos Funcionais Isaac Bezerra 15.10.11 1.00 Fechamento da Primeira Versão Isaac Bezerra 05.11.11 1.01 Criação da Sessão Matriz de Rastreabilidade para
Requisitos x Casos de Uso; Mapeamento preliminar dos requisitos RF003, RF004 e RF006;
Atualização do Sumário.
Carlos Barreto
10.11.11 1.02 Levantamento de novos requisitos, descrição e detalhamento de casos de uso.
Isaac Bezerra
Lista de Aprovadores
Nome Cargo
Índice Analítico
1. Introdução __________________________________________________ 4
1.1. Objetivo ______________________________________________________________ 4 1.2. Visão Geral do Documento __________________________________________ 4 1.3. Origem dos Dados para Elaboração dos Requisitos________________ 4
2. Descrição Geral do Sistema ____________________________________ 5
2.1. Abrangência e Sistemas Relacionados _____________________________ 5
3. Requisitos ___________________________________________________ 6
3.1. Requisitos Funcionais _______________________________________________ 6 3.1.1. [RF001] – Painel de Apresentação ________________________________________ 6 3.1.2. [RF002] – Cadastrar Métricas ___________________________________________ 6 3.1.3. [RF003] – Pesquisa, Exclusão e Alteração de Métricas. _______________________ 6 3.1.4. [RF004] – Apresentar Métricas e Medidas __________________________________ 6 3.1.5. [RF005] – Cadastrar Nível de Criticidade __________________________________ 6 3.1.6. [RF006] – Alterar, Excluir e Pesquisar Níveis de Criticidade ___________________ 7 3.1.7. [RF007] – Importar Dados do AgiliZen ____________________________________ 7 3.1.8. [RF008] – Personalizar Gráfico __________________________________________ 7 3.1.9. [RF009] – Formas Gráficas de Apresentação das Medidas e Métricas ____________ 7 3.1.10. [RF010] – Atualização das Informações Gráficas ____________________________ 7 3.1.11. [RF011] – Apresentação dos Gráficos _____________________________________ 7 3.2. Requisitos Não Funcionais __________________________________________ 8 3.2.1. [RNF001] – Licença de software _________________________________________ 8 3.2.2. [RNF002] – Framework para Programação ________________________________ 8 3.2.3. [RNF003] – Framework para Criação de Gráficos ___________________________ 8 3.2.4. [RNF004] – Documentação de Código Fonte _______________________________ 8 3.2.5. [RNF005] – Ambiente de Programação ____________________________________ 8 3.2.6. [RNF006] – Análise de Código Fonte ______________________________________ 8 3.2.7. [RNF007] – Integração Contínua _________________________________________ 8 3.2.8. [RFN008] – Controle de Versões e Repositório de Arquivos ____________________ 9 3.2.9. [RFN009] – Metodologia de Desenvolvimento _______________________________ 9 4. Diagrama de Caso de Uso
_________________________________________ 9 5. Caso de Uso ________________________________________________ 10
5.1. [UC001] – Importar Dados ________________________________________________ 10
5.2. [UC002] – Manter Métricas _______________________________________________ 11
6. Matriz de Rastreabilidade ____________________________________ 13
6.1. Requisitos x Casos de Uso __________________________________________________ 13
7. User Storie _________________________________________________ 14
Documento de Requisitos
1. Introdução
1.1. Objetivo
Este documento tem por objetivo especificar os requisitos, apresentar os casos de uso e o diagrama de caso de uso para o projeto denominado Dashboard de Visão Gerencial de Projetos.
1.2. Visão Geral do Documento
Este documento esta dividido em seções que apresenta separadamente a relação de requisitos funcionais e não-funcionais, assim como os detalhamentos dos casos de uso e o diagrama de caso de uso do projeto denominado Dashboard de Visão Gerencial de Projetos.
Estes seções em conjunto formam a base para a comunicação entre os Stakeholders e a equipe de desenvolvimento a respeito do que o sistema deve fazer para satisfazer as necessidades dos Stakeholders. A meta é o entendimento dos requisitos em um alto nível de forma que o escopo inicial do trabalho possa ser determinado e descrever um ou mais requisitos com detalhe suficiente para validar a compreensão do requisito, assegurando concorrência com as expectativas dos Stakeholders e permitir o início do desenvolvimento do software.
1.3. Origem dos Dados para Elaboração dos Requisitos
Este documento foi elaborado com base em informações contidas e disponibilizadas na RFP (Request For Proposal), no Documento de Visão e através de Reuniões contínuas com a equipe e o cliente após a avaliação do escopo do projeto.
2. Descrição Geral do Sistema
2.1. Abrangência e Sistemas Relacionados
O sistema Dashboard de Visão Gerencial de Projetos é uma ferramenta de auxilio e suporte ao gerenciamento de projetos de desenvolvimento de software. Fornece ao usuário uma maneira intuitiva e eficiente de visualizar as métricas de gerenciamento de um determinado projeto de desenvolvimento de software através de apresentações gráficas destas informações.
Utilizando a ferramenta, o usuário – em geral um gerente de projeto – pode visualizar de forma gráfica as métricas e medidas que deseje acompanhar referente a um determinado projeto de desenvolvimento de software, tendo como base uma fonte de dados pré-definida e externa ao sistema Dashboard de Visão Gerencial. O sistema visa então facilitar a visualização e possibilitar um melhor acompanhamento destas métricas e de seus respectivos indicadores através de informações em modo gráfico. Além disso, o sistema disponibilizará as funções de criação de novas métricas a partir das medidas importadas da fonte de dados, podendo ainda alterar, remover e até personalizar a formas gráficas das métricas e medidas que desejar acompanhar. A ferramenta conterá um conector para importação de dados direto para a ferramenta AgiliZen que fornecerá os dados base para elaboração dos gráficos a serem apresentados. O AgileZen é um aplicativo web, flexível e de baixo custo para gerir projetos de software inspirando em ideias de manufatura enxuta, hoje utilizado pela empresa RiSE – nossa cliente no projeto Dashboard de Visão Gerencial de Projetos - para auxiliar no gerenciamento de projetos de desenvolvimento de software.
O Sistema Dashboard de Visão Gerencial de Projetos conterá e disponibilizará uma API (Application Programming Interface) para realização de conexão de importações de dados com outras ferramentas que não a AgiliZen.
3. Requisitos
3.1. Requisitos Funcionais
3.1.1. [RF001] – Painel de Apresentação
O sistema deverá disponibilizar ao usuário um ambiente gráfico onde sejam possível a inserção e a apresentação de forma personalizada, dos gráficos das métricas e medias que lhe seja conveniente acompanhar referente a um determinado projeto de desenvolvimento de software;
3.1.2. [RF002] – Cadastrar Métricas
O sistema deve disponibilizar ao usuário a capacidade de cadastrar as métricas que lhe seja conveniente acompanhar mediante a junção de duas medidas oriundas da importação dos dados da ferramenta externa.
3.1.3. [RF003] – Pesquisa, Exclusão e Alteração de Métricas.
O sistema deve disponibilizar ao usuário a capacidade de alterar, excluir e pesquisar as métricas cadastradas referentes a um determinado projeto.
3.1.4. [RF004] – Apresentar Métricas e Medidas
O sistema deve disponibilizar ao usuário a capacidade de selecionar uma métrica ou media que lhe seja conveniente acompanhar para apresentação da mesma em forma gráfica em um painel na aplicação.
3.1.5. [RF005] – Cadastrar Nível de Criticidade
O sistema deve prover ao usuário a capacidade de cadastrar os níveis de criticidade dos indicadores que lhe seja conveniente acompanhar, referente à métrica ou medida específica.
3.1.6. [RF006] – Alterar, Excluir e Pesquisar Níveis de Criticidade
O sistema deve prover ao usuário a capacidade de alterar, excluir e pesquisar os níveis de criticidade dos indicadores referentes às métricas ou medidas de um determinado projeto.
3.1.7. [RF007] – Importar Dados do AgiliZen
O sistema deverá possibilitar ao usuário a importação dos projetos e suas respectivas medidas oriundas da ferramenta AgiliZen mediante acesso ao cadastro na ferramenta externa.
3.1.8. [RF008] – Personalizar Gráfico
O sistema deve dispor ao usuário a capacidade de selecionar qual a forma gráfica que deseja apresentar as medidas e/ou métricas juntamente com os seus respectivos indicadores.
3.1.9. [RF009] – Formas Gráficas de Apresentação das Medidas e Métricas
O sistema deverá disponibilizar as seguintes formas gráficas para apresentação das medidas e métricas: Coluna, Pizza, Linha, Barras, Área, Dispersão, Ações, Superfície, Rosca, Bolhas e Roda.
3.1.10.[RF010] – Atualização das Informações Gráficas
O sistema deverá disponibilizar ao usuário uma forma de atualiza os dados apresentados nos gráficos quando solicitado;
3.1.11.[RF011] – Apresentação dos Gráficos
O sistema deverá disponibilizar ao usuário uma forma de ampliar e minimizar o tamanho da apresentação gráfica com o fim de facilitar a sua visualização pelo usuário;
3.2. Requisitos Não Funcionais
3.2.1. [RNF001] – Licença de software
Os direitos associados ao sistema devem atender os termos de distribuição aos usuários aplicando a Apache Licence V2.0.
3.2.2. [RNF002] – Framework para Programação
O sistema deverá ser desenvolvido utilizando a plataforma JAVA juntamente com o framework GRAILS.
3.2.3. [RNF003] – Framework para Criação de Gráficos
Os gráficos a serem apresentados no sistema devem ser gerados através do framework Google Chart.
3.2.4. [RNF004] – Documentação de Código Fonte
A documentação do código fonte deve ser gerada utilizando a ferramenta Javadoc.
3.2.5. [RNF005] – Ambiente de Programação
O sistema deverá ser desenvolvido fazendo uso da IDE Eclipse em computadores ou notebooks com sistemas operacionais Windows ou Linux.
3.2.6. [RNF006] – Análise de Código Fonte
Todo código fonte antes de ser direcionado ao repositório deverá antes passar pela análise da ferramenta de gerenciamento de qualidade de código denominada Sonar.
3.2.7. [RNF007] – Integração Contínua
A integração das partes desenvolvidas deverá ser realizada através do uso da ferramenta denominada Jenkins.
3.2.8. [RFN008] – Controle de Versões e Repositório de Arquivos
O sistema deverá utilizar a ferramenta Google Code como repositório de código e de arquivos, além do uso desta para realizar o controle de versões das entregas.
3.2.9. [RFN009] – Metodologia de Desenvolvimento
O sistema deverá ser desenvolvido fazendo uso de metodologias ágeis de desenvolvimento.
4. Diagrama de Caso de Uso
Diagrama UML – Casos de Usos.
5. Caso de Uso
5.1. [UC001] – Importar Dados Atores:
• Usuário, Ferramentas Externas, AgileZen;
Pré-condições:
• Possuir uma conta e os dados de acesso na ferramenta ao qual se deseja conectar para importar os dados.
Fluxo Principal de Eventos 1. O usuário inicia o caso de uso;
Fluxo alternativo – Atualização de Dados
1.1. O Fluxo salta para a linha 10 do fluxo principal de eventos e segue ate o último passo do fluxo.
2. O sistema apresenta uma lista de ferramentas com o qual é possível conectar-se para importação dos dados;
3. O usuário deverá selecionar uma entre as ferramentas da lista;
4. O sistema solicita as demais informações para realização da conexão de importação (dependendo da ferramenta poderá solicitar informações como: e-mail, senha, code e/ou token);
5. O usuário deverá informar as demais informações necessárias para a importação dos dados;
6. O sistema inicia a comunicação com a ferramenta e solicita os dados do ator Ferramentas Externas/AgileZen;
7. Os dados são importados e uma mensagem é apresentada sobre o sucesso da importação;
8. O sistema deverá informar o nome da ferramenta ao qual se conectou e uma lista com os projetos existentes nesta importação;
9. O usuário deverá selecionar um entre os projetos listados;
10.O sistema importa os dados atualizados do projeto selecionado e persiste estas informações em um arquivo XML dentro da aplicação Dashboard;
11.O caso de uso é finalizado.
5.2. [UC002] – Manter Métricas Atores:
Usuário;
Pré-condições:
• Ter realizado o caso de uso Importar Dados;
• Ter os dados das medidas de um determinado projeto persistidas em um arquivo XML interno ao Dashbord de Visão Gerencial.
Fluxo Principal de Eventos:
1. O usuário inicia o caso de uso quando solicita uma das opções de Cadastrar uma nova métrica, Alterar, Excluir ou Pesquisar uma métrica existente;
Subfluxo para Cadastrar Métrica;
1. É iniciado quando o usuário opta por cadastrar uma nova métrica;
2. O sistema solicita o nome para a nova métrica;
3. O usuário informa o nome para a métrica;
4. O sistema disponibiliza uma lista com as medidas existentes daquele projeto para a confecção de uma nova métrica.
5. O usuário deve selecionar duas medias dentre as apresentadas;
6. O sistema gera a nova métrica e persiste a mesma em um arquivo XML interno ao Dashboard;
7. O sistema apresenta uma mensagem informando que o cadastro fora realizado com sucesso e finaliza o subfluxo cadastro de métricas.
Subfluxo - Alterar Métrica;
1. É iniciado quando o usuário opta pela opção Alterar uma Métrica Existente;
2. O sistema apresenta uma lista com as métricas cadastradas referentes a um determinado projeto;
2.1. O usuário opta por solicitar a pesquisa da métrica;
2.2. O sistema inicia o subfluxo pesquisar métrica;
2.3. O sistema retorna a métrica desejada e o caso de uso continua a partir da linha 4 do subfluxo – alterar métricas;
3. O usuário deve escolher uma dentre as que foram listadas para realizar as alterações;
4. O sistema disponibiliza ao usuário a edição das medidas com a apresentação de uma lista com as medidas cadastrada no sistema para um determinado projeto, assim com a possibilidade de alteração do nome da métrica;
5. O usuário realiza as devidas alterações e informara a confirmação das alterações;
6. O sistema atualizará o arquivo XML referente com os dados alterados e finaliza o subfluxo alterar métricas.
Subfluxo - Pesquisar Métrica;
1. É iniciado quando o usuário opta por pesquisar uma métrica existente;
2. O sistema solicita o nome da métrica que deseja ser localizada;
3. O usuário informa o nome da métrica desejada;
4. O sistema realiza a busca no arquivo XML referente ao projeto e apresenta uma lista com as métricas com nomes similares ao informado;
5. O usuário deve escolher entre uma destas métricas ou redigitar o nome da métrica para
realização de uma nova busca no XML;
6. O sistema retorna a métrica selecionada;
Subfluxo - Excluir Métrica;
1. É iniciado quando o usuário opta por Excluir uma Métrica Existente;
2. O sistema apresenta uma lista com as métricas cadastradas referentes a um determinado projeto;
2.1. O usuário opta por solicitar a pesquisa da métrica;
2.2. O sistema inicia o subfluxo pesquisar métrica;
2.3. O sistema retorna a métrica desejada e o caso de uso continua a partir da linha 4 do subfluxo – excluir métricas;
3. O usuário deve escolher uma dentre as que foram listadas para realizar a exclusão;
4. O usuário confirma a exclusão da métrica;
4.1. O usuário opta por não excluir a métrica;
4.2. O sistema finaliza o subfluxo excluir métrica;
5. O sistema exclui o registro da métrica no arquivo XML de um determinado projeto e finaliza o subfluxo excluir métricas.
6. Matriz de Rastreabilidade 6.1. Requisitos x Casos de Uso
Requisitos
Casos de Uso RF01 RF02 RF03 RF04 RF05 RF06 RF07 RF08 RF09 RF10 RF11
UC001 X
UC002 X X X X X X
UC003 X X
UC004 X X
7. User Storie
Nome Tipo Descrição Criador
Implementar a API de conexão com o AgileZen.
User Story
Com um usuário padrão eu quero realizar o cadastro de uma conta do AgileZen e
visualizar os projetos que são
disponibilizados referente a conta cadastrada.
Eduardo Cruz
Permitir que um usuário cadastre o seu projeto do AgileZen para extração
de dados.
User
Story Com um usuário padrão eu quero realizar o cadastro de um projeto do AgileZen e
visualizar as informações que são disponibilizadas referente ao projeto
cadastrada.
Eduardo Cruz
Listar um grafico de barra com a quantidade de tarefas de um projeto
User Story
Com um usuário padrão eu quero listar um gráfico de barras representando a métrica referente a medida de quantidade de tarefas
de um projeto.
Eduardo Cruz
Gráfico de Tarefas por
status User
Story Com um usuário padrão eu quero listar um gráfico de linhas representando a métrica referente as medidas de tarefas por status de
um projeto.
Eduardo Cruz
Apresentar métricas de performance do AgileZen
User Story
? Eduardo
Cruz Criar a Interface Gráfica
do Dashboard User
Story Com um usuário padrão eu quero poder navegar, ativar, desativar e escolher as funcionalidades do sistema Dashboard de
forma gráfica e interativa com o mouse.
Eduardo Cruz
Quantificar esforço de todas as histórias
User Story
? Eduardo
Cruz Nível de criticidade User
Story
Quero que o sistema apresente um alerta quando uma métrica ultrapassar um valor pré- definido de nível de criticidade e que o usuário
padrão possa determinar este nível para cada métrica existente.
Eduardo Cruz