Uma das tarefas mais difíceis da engenharia de software é entender o que o cliente deseja. Com isso, é importante que a engenharia de requisitos seja uma base para o projeto e para a construção do produto pois, sem isso, existe uma grande probabilidade de o software não atender às necessidades do cliente. A engenharia de requisitos é composta por sete tarefas distintas nas quais algumas podem ocorrer em paralelo, e todas são adaptáveis à necessidade do projeto. Essas tarefas são: concepção, levantamento, elaboração, negociação, especificação, validação e gestão.
Durante o desenvolvimento, é muito comum que apareçam novos requisitos ou que ocorra mudança nos que já existem. Para que o impacto seja menor no projeto, é necessário que ocorra a gerência dos requisitos, ou seja, é necessário que exista um processo que compreenda e controle todas as mudanças nos requisitos do sistema.
Para gerenciar os requisitos de um sistema durante o ciclo de vida, é necessário que alguns atributos sejam definidos para que as informações sejam documentadas de forma eficiente. Alguns exemplos desses atributos seriam: nome, descrição, criticidade, prioridade e outros. A visualização dos requisitos também é importante para que os participantes do projeto possam filtrá-los e selecioná-los conforme a necessidade para que, com isso, possa ser feita a priorização dos requisitos. A rastreabilidade dos requisitos é extremamente importante para a verificação dos mesmos, identificação de atributos desnecessários, identificar reusabilidade de requisitos, identificar e analisar impactos de mudanças, entre outros. Na gerência de requisitos também é importante versionar e gerenciar as mudanças para assegurar o desenvolvimento correto do mesmo.
Com isso, para evitar problemas no desenvolvimento de software, é necessário que os requisitos sejam bem completos, compreendidos e que atendam à necessidade do cliente. As mudanças constantes em requisitos já acordados e a falta de entendimento entre desenvolvedores e usuários geram retrabalho, atrasos de cronograma, elevação dos custos e insatisfação do cliente. Esses problemas poderiam ser evitados se as empresas utilizassem uma forma automatizada de gerenciar as atividades da engenharia de requisitos, isso se deve ao fato de não existirem ferramentas acessíveis no mercado ou por não atenderem muito bem todos os conceitos da engenharia de requisitos. O apoio ferramental também pode ser útil para a implementação de níveis de qualidade de software como o MPS.Br e o CMMI.
O objetivo deste artigo é mostrar na prática as principais funcionalidades da ferramenta livre OSRMT e sua aderência segundo os processos de gerência de requisitos do MPS.Br. Uma descrição da ferramenta será apresentada e também uma descrição e exemplificação das principais funcionalidades permitindo observar na prática como a ferramenta pode auxiliar nas atividades da engenharia de requisitos.
Conhecendo a ferramenta OSRMT
A ferramenta Open Source Requirements Management Tool (OSRMT) foi desenvolvida utilizando a linguagem de programação Java e é possível ser integrada com os bancos de dados Microsoft Access, MySQL, Oracle, SQL Server e PostgreSQL.
Essa ferramenta foi projetada para apoiar os processos de gerência de requisitos e possui diversas funcionalidades
como registrar requisitos, funcionalidades, design, implementação e casos de teste, assim como a
rastreabilidade entre esses artefatos. É possível criar também campos e formulários personalizados pa ...