SIGERAR - Sistema de Gerenciamento de Requisitos

O SIGERAR é uma ferramenta open source idealizada por José Inácio de Grande. O objetivo dela é fornecer ferramentas e suporte para todo o ciclo de levantamento de requisitos de um projeto. Este artigo, que faz parte de uma série sobre o SIGERAR, mostrará um pouco da ferramenta, além de falar da gestão de requisitos em um projeto.

[ Hits: 49.107 ]

Por: Jeffeson Luiz Oliveira de Campos em 28/01/2009 | Blog: http://jeffersoncampos.eti.br


Teoria da Engenharia de Requisitos



Aqui mostro um pouco da teoria da Engenharia de Requisitos para que o leitor possa compreender a importância desta fase em um projeto.

A importância da Engenharia de Requisitos

O processo de Engenharia de Requisitos tem como principal objetivo a aquisição de conhecimentos das regras de negócios e verificação das necessidades do cliente, de forma a obter uma especificação não ambígua e completa dos requisitos de software, com o intuito de minimizar os erros, inadequações e falhas no produto final a ser entregue ao cliente. Uma análise e especificação de requisitos com baixa qualidade podem levar a danos e prejuízos, que inviabilizam o projeto e que podem até mesmo colocar em risco vidas humanas, como por exemplo, em sistemas hospitalares, de tráfego aéreo, de controle de trânsito etc.

O Gerenciamento de Requisitos é o processo de compreender e controlar as mudanças que ocorrem nos requisitos, por força da evolução dos mesmos, refletindo as alterações que ocorrem ao longo do tempo, no ambiente do sistema e nos objetivos da organização. Além da Análise e Especificação, o Gerenciamento de Requisitos é de fundamental importância no processo da Engenharia de Requisitos, pois organiza o controle das mudanças, permitindo subsídios para a análise de impacto e custos em tempo e dinheiro, que estas mudanças trarão para a organização.

Definição de requisito

Um requisito pode ser definido como uma restrição ou uma funcionalidade que um sistema deve prover.

Classificação de um requisito

Um requisito pode ser classificado em:
  • Requisito funcional: quando o requisito declara explicitamente O QUÊ o sistema deve fazer, que funções (ou mesmo restrições) o sistema deve ter. São exemplos (Sistema de gestão de colaboradores): o sistema deve ser capaz de, através das notas armazenadas, gerar o resultado da avaliação; O sistema deve receber notas de 1 à 10, sendo o intervalo entre as notas de 0,5;
  • Requisito não-funcional: Definem qualidades globais de um software como desempenho, segurança, confiabilidade etc. Por exemplo: O usuário deve ser capaz de acessar a página de cadastro de colaboradores em no máximo 3 cliques;
  • O usuário deverá acessar o sistema através de um login e senha próprios;
  • Requisito de Designer: Requisito que identifica restrições tecnológicas. Por exemplo: o sistema deve ser construído utilizando o SGBD MySQL. O sistema deve ser construído utilizando a linguagem PHP.

Processos de Engenharia de Requisitos

Não existe um único processo de engenharia de requisitos que atenda perfeitamente à todas as organizações. Entretanto a figura abaixo dá uma visão ampla dos principais processos existentes.
Linux: SIGERAR - SIstema de GERenciamento de Requisitos

Fases da Engenharia de Requisitos

Basicamente a engenharia de requisitos pode ser dividida em:
  • Elicitação dos requisitos: nesta fase é determinado o que o sistema deve fazer, definido o escopo do sistema. É o "descobrimento" do requisito. Envolve 4 aspectos: domínio da aplicação, problema a ser solucionado, contexto de negócios e necessidades e restrições dos stakeholders;
  • Análise dos requisitos: nesta fase os requisitos são "traduzidos" para os da engenharia de requisitos. Eles são entendidos e começam a ser transformados em especificações técnicas. É aqui que realmente começam a surgir as dúvidas ;)
  • Especificação dos requisitos: nesta fase os requisitos são detalhados ainda mais e as eventuais dúvidas são sanadas (ou deveriam ser ao menos... ^^'');
  • Validação dos requisitos: nesta fase os requisitos são finalmente aprovados pelos clientes e eventuais "recusas" fazem com que o requisito retorne ao estágio de elicitação/análise do requisitos.

Gerenciamento de requisitos

Os requisitos são mutáveis durante todo o projeto. Portanto é necessário gerenciá-lo para que os desenvolvedores realmente entreguem um sistema que foi pedido pelo cliente.

Gerenciamento de Mudanças:
Linux: SIGERAR - SIstema de GERenciamento de Requisitos
O gerenciamento de mudanças, segundo Kotonya e Sommerville, está relacionado à política de uso de procedimentos, processos e padrões que serão utilizados para gerenciar as mudanças nos requisitos do sistema.

Rastreabilidade:

Rastreabilidade de requisitos é a habilidade de descrever e acompanhar a vida de um requisito em ambas as direções do processo de software (do planejamento do negócio à especificação do projeto), idealmente durante todo o seu ciclo de vida.

    Próxima página

Páginas do artigo
   1. Teoria da Engenharia de Requisitos
   2. SIGERAR - Sistema de Gerenciamento de Requisitos
   3. SIGERAR - Projeto da Ferramenta
Outros artigos deste autor

E se o Linux finalmente depuser o Windows?

Driver SiS 771/671 no Ubuntu - Configuração

Compartilhando a internet do seu celular (3G Claro) com o seu PC através do Blueman (Bluetooth)

ROI em TI

Leitura recomendada

Deixando o Debian redondo após instalação

Aprendendo a linguagem Python - parte II

Programação (II) - Modularização

Calculadoras maravilhosas - HP 42S

Gcombust, um frontend para cdrecord

  
Comentários
[1] Comentário enviado por cesarfontenele em 29/01/2009 - 10:19h

Ótima idéia de desenvolvimento. Pelas telas parece ser bem funcional e útil. Uma sugestão, disponbilize os arquivos no formato .tar.gz ou .zip se puder.
Abraços
César Fontenele

[2] Comentário enviado por gustavoh84 em 29/01/2009 - 11:06h

Eu também estava com a idéia de desenvolver um software com funcionalidades semelhantes para o meu próprio uso.
Gostaria de ajudar no desenvolvimento caso tenha interesse. Seria interessante se tivesse um site sobre o projeto com um forum para discutirmos as ideias. Os codigos poderiam ser armazenados no www.github.com.

[3] Comentário enviado por foguinho.peruca em 29/01/2009 - 17:04h

Ola!

Obrigado pelos comentarios!

Em relacao a disponibilizar os arquivos, uma versao mais antiga se encontra no site do grupo. Estou trabalhando no site dentro do sourceforge e em um empacotamento melhor dos arquivos.

Gustavo84,

Fico feliz pelo interesse! Realmente este e o objetivo do artigo: conseguir uma base de usuarios para o sistema e alguns desenvolvedores para ajudar com o projeto.

Logo estarei enviando o material que tenho comigo para que possamos trabalhar.

Jeff

[4] Comentário enviado por foguinho.peruca em 15/11/2009 - 03:03h

A página do projeto foi atualizada para:

http://sourceforge.net/projects/sigerar

ou

http://sigerar.org | http://www.sigerar.org

Jeff

[5] Comentário enviado por rogerio_gentil em 06/07/2011 - 11:43h

Uma bela iniciativa! Mas pelo jeito o projeto está parado. Uma pena!

[6] Comentário enviado por foguinho.peruca em 06/07/2011 - 13:10h

Olá!

Este semestre eu acabei deixando um pouco de lado o semestre por causa da minha graduação. Mas na FATEC Sorocaba ainda tem um professor estudando o projeto.

Jeff


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor HostGator.
Linux banner
Linux banner
Linux banner

Artigos

Dicas

Viva o Android

Tópicos

Top 10 do mês

Scripts