Explorando os Fundamentos da Engenharia de Requisitos: Conceitos, Finalidades e Classificações

Avatar do usuário
bernardino
Site Admin
Mensagens: 584
Registrado em: 28 Ago 2020, 15:11

Explorando os Fundamentos da Engenharia de Requisitos: Conceitos, Finalidades e Classificações

Mensagem por bernardino »

TLP.CLEAR.png
TLP.CLEAR.png (1.71 KiB) Exibido 162 vezes
Explorando os Fundamentos da Engenharia de Requisitos: Conceitos, Finalidades e Classificações

1) Os Conceitos de Engenharia de Requisitos.

Requisitos: São as capacidades, características ou restrições que um sistema deve satisfazer para resolver um problema específico ou atender a uma necessidade do usuário. Podem ser funcionais (descrevem o que o sistema deve fazer) ou não funcionais (descrevem características do sistema, como desempenho, segurança, usabilidade, etc.).

Engenharia de Requisitos: É o processo sistemático para identificar, analisar, documentar, validar e gerenciar os requisitos de um sistema ao longo do ciclo de vida do desenvolvimento de software.

Stakeholders: São as partes interessadas no sistema, como clientes, usuários finais, gerentes de projeto, desenvolvedores, entre outros. Identificar e envolver os stakeholders é fundamental para entender suas necessidades e expectativas em relação ao sistema.

Elicitação de Requisitos: É o processo de coletar informações sobre os requisitos do sistema. Isso pode ser feito por meio de entrevistas, workshops, questionários, observação, entre outras técnicas.

Análise de Requisitos: É o processo de analisar e organizar os requisitos coletados para garantir que sejam claros, completos, consistentes e não ambíguos. Nesta fase, os requisitos são refinados e priorizados.

Documentação de Requisitos: Consiste em registrar os requisitos de forma clara e compreensível para todas as partes interessadas. Isso pode incluir documentos como especificações de requisitos, casos de uso, diagramas de fluxo, entre outros artefatos.

Validação de Requisitos: É o processo de garantir que os requisitos documentados representem de forma precisa as necessidades dos stakeholders e que o sistema resultante os atenda de maneira adequada. Isso pode envolver revisões formais, prototipagem, simulações, entre outras técnicas.

Gerenciamento de Requisitos: É o processo de rastrear e controlar os requisitos ao longo do ciclo de vida do projeto. Isso inclui o gerenciamento de mudanças nos requisitos, a comunicação com os stakeholders e a garantia de que os requisitos sejam atendidos durante o desenvolvimento do sistema.

==========

2) Finalidades do Requisito do Usuário e Requisitos do Sistema

Requisitos do Usuário:

Entendimento das necessidades dos stakeholders: Os requisitos do usuário são essenciais para compreender as necessidades, expectativas e objetivos dos usuários finais, clientes e outras partes interessadas no sistema.

Fornecer uma visão de alto nível do sistema: Eles descrevem as funcionalidades e características do sistema de uma perspectiva orientada para o usuário, geralmente em termos não técnicos e de alto nível.

Orientação para o desenvolvimento centrado no usuário: Os requisitos do usuário ajudam a garantir que o sistema seja projetado e desenvolvido com foco nas necessidades reais dos usuários, melhorando a usabilidade e a satisfação do cliente.

Base para a definição de requisitos mais detalhados: Servem como base para a elaboração de requisitos mais detalhados, como os requisitos do sistema, ajudando a guiar o processo de desenvolvimento de software.

Requisitos do Sistema:

Tradução dos requisitos do usuário para uma linguagem técnica: Os requisitos do sistema transformam as necessidades dos usuários em requisitos mais detalhados e técnicos, compreensíveis para os desenvolvedores.

Especificação de funcionalidades e restrições técnicas: Eles descrevem as funcionalidades específicas que o sistema deve ter, bem como as restrições técnicas e não funcionais que devem ser atendidas, como desempenho, segurança e interoperabilidade.

Guia para o projeto e implementação do sistema: Os requisitos do sistema orientam os arquitetos e desenvolvedores na criação da estrutura e componentes do sistema, garantindo que ele atenda aos requisitos funcionais e não funcionais estabelecidos.

Base para testes e validação: Servem como base para a elaboração de planos de teste e para a validação do sistema, garantindo que todas as funcionalidades e requisitos técnicos tenham sido implementados corretamente.

==========

3) O que são considerados Requisitos Funcionais e Não Funcionais?

Requisitos Funcionais:

Descrevem o que o sistema deve fazer: Os requisitos funcionais especificam as funções, serviços ou operações que o sistema deve realizar em resposta a entradas específicas.
Centrados nas funcionalidades do sistema: Eles se concentram nas capacidades e comportamentos do sistema que serão visíveis para os usuários ou outros sistemas.
Podem ser descritos em termos de casos de uso, fluxos de trabalho ou operações específicas: Por exemplo, um requisito funcional para um sistema de e-commerce pode ser "O sistema deve permitir que os usuários adicionem produtos ao carrinho de compras".
São passíveis de verificação: Os requisitos funcionais podem ser testados para verificar se o sistema os implementou corretamente.

Requisitos Não Funcionais:

Descrevem as qualidades do sistema: Os requisitos não funcionais especificam atributos ou características do sistema, como desempenho, segurança, usabilidade e confiabilidade.
Centrados nas características do sistema: Eles definem as propriedades que afetam a maneira como o sistema realiza suas funções, mas não são funcionalidades em si.
Podem abranger várias áreas: Por exemplo, requisitos de desempenho podem incluir tempo de resposta máximo aceitável ou capacidade de processamento mínima necessária.
São mais difíceis de quantificar e verificar: Os requisitos não funcionais muitas vezes requerem critérios de aceitação mais subjetivos e podem exigir técnicas de teste específicas.

==========

4) Explique o que são Requisitos do Produto. Demonstre três exemplos

Requisito do Produto para um Aplicativo de Mídia Social

Funcionalidade: O aplicativo deve permitir que os usuários publiquem fotos e vídeos, adicionem legendas e filtros, e compartilhem seu conteúdo com amigos e seguidores.
Especificação Técnica: As fotos devem ser armazenadas em alta resolução em servidores seguros e acessíveis com rapidez para garantir uma experiência de upload e visualização fluida.
Restrição: O aplicativo deve ser compatível com as versões mais recentes dos sistemas operacionais iOS e Android, garantindo que a maioria dos usuários possa acessá-lo.

Requisito do Produto para um Sistema de Gerenciamento de Estoque

Funcionalidade: O sistema deve permitir que os usuários cadastrem novos produtos, atualizem informações de estoque, registrem entradas e saídas de produtos e gerem relatórios de inventário.
Especificação Técnica: O sistema deve ser capaz de lidar com grandes volumes de dados de forma eficiente, garantindo tempos de resposta rápidos, especialmente durante operações de consulta e atualização de estoque.
Restrição: O sistema deve ser hospedado em servidores seguros e confiáveis, com backups regulares e medidas de segurança para proteger os dados sensíveis dos clientes.

Requisito do Produto para um Veículo Autônomo

Funcionalidade: O veículo deve ser capaz de navegar de forma autônoma em diferentes tipos de estradas, seguir as regras de trânsito, evitar obstáculos e responder a condições climáticas adversas.
Especificação Técnica: O veículo deve ser equipado com sensores, câmeras e sistemas de processamento de dados avançados para detectar e interpretar o ambiente ao seu redor com precisão.
Restrição: O veículo deve atender aos padrões de segurança estabelecidos pelas autoridades regulatórias, incluindo requisitos de redundância de sistemas críticos e procedimentos de emergência em caso de falhas.

==========

5) O que são e como são classificados os Requisitos Organizacionais

Requisitos de Conformidade: Esses requisitos estão relacionados ao cumprimento de regulamentos, normas e padrões específicos relevantes para a indústria em que a organização atua. Por exemplo, requisitos de conformidade com regulamentos de privacidade de dados ou padrões de segurança cibernética.

Requisitos de Segurança: Esses requisitos especificam as políticas, práticas e controles de segurança que o sistema de software deve seguir para proteger informações confidenciais e garantir a integridade, confidencialidade e disponibilidade dos dados.

Requisitos de Qualidade: Esses requisitos definem os critérios de qualidade que o sistema de software deve atender, incluindo requisitos de desempenho, confiabilidade, usabilidade, manutenibilidade e escalabilidade.

Requisitos de Processos: Esses requisitos estão relacionados aos processos de desenvolvimento de software e às práticas de gestão de projetos que devem ser seguidas pela equipe de desenvolvimento. Isso pode incluir requisitos relacionados à metodologia de desenvolvimento, documentação, revisões de código, testes e implantação.

Requisitos de Integração: Esses requisitos especificam como o sistema de software deve se integrar com outros sistemas ou componentes existentes dentro da organização, garantindo a interoperabilidade e a troca eficiente de dados entre sistemas.

==========

6) Apresente um Caso de Uso com Requisitos Externo.

Ator Principal: Cliente

Pré-condições: O cliente está autenticado no sistema.

Fluxo Principal:
O cliente acessa a página de reservas de voos.
O sistema exibe uma lista de voos disponíveis com informações como origem, destino, horário de partida, horário de chegada e preço.
O cliente seleciona um voo da lista.
O sistema exibe os detalhes do voo selecionado, incluindo o preço total da reserva.
O cliente confirma a reserva.
O sistema solicita os dados do passageiro, incluindo nome, sobrenome, número do documento de identificação e informações de contato.
O cliente fornece os dados do passageiro.
O sistema confirma a reserva e gera um número de reserva único.
O sistema envia um e-mail de confirmação para o cliente, contendo o número de reserva e os detalhes do voo.

Pós-condições: A reserva é registrada no sistema e o cliente recebe uma confirmação por e-mail.

Requisitos Externos:

Requisitos de Integração com Pagamento: Após a confirmação da reserva, o sistema deve se integrar com um serviço de pagamento online para processar o pagamento da reserva.
Requisitos de Notificação: O sistema deve ser capaz de enviar notificações por e-mail para o cliente, incluindo confirmações de reserva, atualizações de status de voo e lembretes de check-in.
Requisitos de Segurança: O sistema deve garantir a segurança dos dados do cliente e do pagamento durante todo o processo de reserva, seguindo padrões de segurança e regulamentações de proteção de dados.

Referências

Sommerville, I. (2016). "Engenharia de Software" (10ª ed.). Pearson.
Pressman, R. S., & Maxim, B. R. (2015). "Engenharia de Software: Uma Abordagem Profissional" (8ª ed.). McGraw-Hill Education.
IEEE Computer Society. (1998). "IEEE Recommended Practice for Software Requirements Specifications" (IEEE Std 830-1998).
TLP.CLEAR.png
TLP.CLEAR.png (1.71 KiB) Exibido 162 vezes
Algumas pessoas acham que foco significa dizer sim para a coisa em que você vai se focar.
Mas não é nada disso.
Significa dizer não às centenas de outras boas ideias que existem.
Você precisa selecionar cuidadosamente.”

Steve Jobs
Responder