Requisitos de Software

Antes de mais nada, o que é “Requisito de Software”?

Os requisitos de software expressam as necessidades e restrições impostas a um produto de software que contribuir para a solução de alguns problemas do mundo real problema.

A área de conhecimento de Requisitos de Software preocupa-se com a elicitação, análise, identificação e validação de requisitos de software bem como o gerenciamento de requisitos durante todo o ciclo de vida do produto de software.

Seja em qualquer projeto bons requisitos proporcionam o desenvolvimento de um sistema mais claro, coeso e mais próximo de alcançar a satisfação do cliente dentro do orçamento e prazo acordados.

O responsável para a gerencimaneto dos requisitos normalmente é analista de requisitos ou o engenherio de requisitos, podendo ser outro profissional que entenda o processo de requisito.

Primeiramente precisamos entender que dentro do processo de desenvolvimento de software temos 3 papéis envolvidos: o cliente, o analista de requisitos e o desenvolvedor.

gras

O cliente passa as suas necessidades.

O analista de requisitos converter as necessidades em requisitos de softwares.

O desenvolvedor converter isso em um código, usando linguagem de programação.

O conjunto de requisitos e o código geram um softwares que atende as necessidades que foram identificados pelo analista de requisitos.

Qual cuidado que indentificamos aqui neste processo?

É definir quais as melhores práticas (técnica, ferramentas, métodos e procedimentos) utilizados pelo analista de requisitos para traduzir as necessidades do negócio (cliente) em requisitos de software que seja claro para os desenvolvedores codificarem.

Mas então como escrever requisitos de software de forma simples e garantir o mínimo de erros no sistema ?

Inicialmente identificamos o(s) problema(s)(uma breve descrição)a resolver e os envolvidos no sistema, também conhecidos como stakeholders.

Aprofundando o conhecimento:

Para sabermos sobre engenharia de requisitos precisamos entender o que é enegenharia de requisitos, quais são a divisões(atividades) da engenharia de requisitos e os desafios de cada atividade de quem está trabalhando nesta área.

O que é Engenharia de Requisitos?

A Engenharia de Requisitos é uma subárea da engenharia de software que vai cuidar de todo o ciclo de vida do requisitos, desde do nascimento até o momento que é desenvolvido, é verificado e está no produto.

O levantamento de requisitos tem características diferentes, desafios diferentes para cada tipo de produto. Um produto feito por encomenda se torna mais fácil o levantamento das necessidades do cliente, usuários, regras de negócios, processos. Contudo um produto focado no mercado não tem exatamente quem demandou o serviço, exigi uma maior dificuldade em obter as regras bem definidas, necessitando um estudo aprofundado do mercado. A forma de abordagem neste dois casos são diferentes. Veremos que existe um desafio diferente para cada tipo de produto e para cada tipo de projeto(web, desktop...).

Qual o processo de Engenharia de Requisitos? gras

https://medium.com/lfdev-blog/como-escrever-requisitos-de-software-de-forma-simples-e-garantir-o-m%C3%ADnimo-de-erros-no-sistema-app-74df2ee241cc

https://www.ateomomento.com.br/requisitos-de-software/

Idenpendente do tipo de produto ou de projeto, podemos dividir as atividades em: viabilidade Elicitação (levantamento de requisitos ou descoberta) análise especificação validação.

Elicitação de Requisitos

O processo é iniciado com a elicitação dos dados, efetua a captura, descoberta e aquisição dos requisitos de software pelo engenheiro de software ou analista. Identifica as fontes dos requisitos e define as técnicas para extraí-los. Iremos aqui enetender o problema, propor soluções que são coletados mediante entrevistas, documentos, reuniões, workshops, prototipagem e etc.. Num projeto encomendado direcionamos as entrevista, questionários para pessoas chave, já num projeto de mercado precisamos fazer workshop com clientes, ouvir o setor de suporte e comercial para levantar as necessidades do cliente. É o primeiro estágio para o entendimento do problema disposto.

Análise de Requisitos

É o momento de verificar quais requisitos fazem ou não sentidos, quais são os prioritários, eliminar requisitos conflitantes e duplicados, classificá-los (definir quais são requisitos funcionais ou não funcionais), descobrir as fronteiras do software.

Especificação de Requisitos

A principal atividade desta fase é escrever, documentar, registrar, confeccionar a documentação de requisitos que descobrimos e analisamos. Diante deste documento podemos sistematicamente revisa-lo, valida-lo e aprova-lo, especificando os componentes de software. Esse documento poderá ser em história de usuários, casos de uso... São descritos o passo a passo de cada funcionalidade bem como suas devidas restrições.

#UC Nome UC Descrição
UC-01 Efetuar login

Está é dividida em três subáreas:

 Documentação de definição do sistema: também conhecido como documento de requisitos do usuário, sendo descrito a definição dos requisitos do sistema de alto nível a partir da perspectiva de domínio. Seus leitores incluem os representantes dos usuários do sistema (clientes). O documento lista os requisitos de sistema, juntamente com informações básicas sobre os objetivos gerais para o sistema, seu ambiente de destino e um mapa de restrições, premissas e requisitos não-funcionais.  Especificação dos requisitos do sistema: Neste tópico os requisitos do sistema são especificados, O detalhamento deste tópico está fora do escopo do guia, sendo descrito como uma atividade da engenharia de sistemas.  Especificação dos requisitos do software: estabelece as bases para um acordo entre os clientes e fornecedores para o produto de software em desenvolvimento, bem como o que não faz parte do seu escopo. Para o documento de especificação de requisitos de software é recomendado um documento de definição de requisitos de software, fornecendo uma base realista para estimar os custos dos produtos, riscos e cronogramas.

Para a Engenharia de Requisitos, área de conhecimento que estuda os processos de Produção e Gerencia dos requisitos, existem vários tipos de requisitos, porém, vou me ater aos 3 tipos que considero os mais importantes para a construção de um software:

a) Requisitos do Negócio,

b) Requisitos do Usuário e

c) Requisitos de Software.

Vamos descrever o conceito de cada um deles:

1-Requisitos do Negócio: descrevem as necessidades do negocio que o software precisa atender, como por exemplo, prazo, custo, regras, alinhamento com os objetivos estratégicos, etc.

2-Requisitos do Usuário: descrevem as necessidades do usuário do ponto de vista das tarefas a serem realizadas no software, definindo os objetivos geral e específicos, bem como as suas funcionalidades (visão macro dos requisitos).

3-Requisitos de Software: são as ações que o software deve executar, possuindo características e condições próprias, de forma a automatizar uma tarefa de um processo de negócio. Aqui definimos os requisitos funcionais e não funcionais, e, conforme o método IRON, Requisitos de Dados e Regras de Execução.

Os requisitos expressam as necessidades e restrições colocadas sobre o produto de software que contribuem para a solução de algum problema do mundo real. Esta área envolve elicitação, análise, especificação e validação dos requisitos de software[Swebok, 2004].

As principais falhas verificadas em projetos de software são relativas aos requisitos, devidas as dificuldades no entendimento das necessidades do usuário. Portanto, realizar corretamente o levantamento e administração de requisitos é essencial para a qualidade de software [Koscianski e Soares, 2007].

Validação de Requisitos A documentação de requisitos pode ser objeto de validação. Tal atividade busca a conformidade do documento com os padrões da organização. Sendo o seu objetivo o de enumerar todos os problemas antes de alocar recursos para resolver os requisitos. Esta subárea possui as etapas de:

Revisão dos requisitos: é o meio mais comum de validação. Nesta atividade um grupo de revisores efetua uma avaliação preliminar de erros, com o desenvolvimento de checklists 3 de revisão. Prototipação: prototipagem é normalmente um meio para validar a interpretação do desenvolvedor sobre os requisitos de software. Neste tópico é realizado o levantamento da técnica de prototipagem e dos pontos no processo onde a validação do protótipo pode ser apropriada. Validação de modelos: este tópico é necessário para validar a qualidade dos modelos desenvolvidos durante a análise. Testes de aceitação: é realizado o projeto para os testes dos requisitos de software para aceitação. Informações adicionais são comentadas na área de conhecimento Teste de Software.

Desenvolvedor de Software

os Leonardo Rodrigues Solar Engenheiro de Software

results matching ""

    No results matching ""