diovanemonteiro / resumos

Esse repositório tem a intenção de ser uma coleção de resumos sobre meus estudos para concursos públicos da área de Tecnologia da Informação
http://diovanemonteiro.github.io/resumos
0 stars 0 forks source link

Engenharia de Requisitos #10

Open diovanemonteiro opened 5 years ago

diovanemonteiro commented 5 years ago

Requisitos não funcionais

diovanemonteiro commented 5 years ago

Na atividade de levantamento de requisitos, as características de qualidade que o sistema deve possuir e que estão relacionadas às suas funcionalidades são denominadas requisitos funcionais.

Comentário

Segundo (SOMMERVILLE, p. 80), os requisitos funcionais são as declarações de serviços que o sistema deve fornecer, como o sistema deve reagir a entradas específicas e como o sistema deve se comportar em determinadas situações, podendo também especificar o que o sistema não deve fazer.

Quanto aos requisitos não funcionais, (SOMMERVILLE, p.82) afirma que não estão apenas relacionados com o sistema de software desenvolvido e que um exemplo é a especificação de padrões de qualidade a serem usados no processo, necessidade de determinada ferramenta CASE ou processo a ser seguido.

Referência

SOMMERVILLE. Engenharia de Software. 8° Edição. Pearson. São Paulo, 2007.

diovanemonteiro commented 5 years ago

O objetivo da tarefa de validação, realizada na etapa de análise de requisitos, consiste em assegurar que o software atenderá às necessidades levantadas pelo cliente.

Comentário

(SOMMERVILLE, p. 105) afirma que a validação de requisitos dedica-se a mostrar que os requisitos realmente definem o sistema que o usuário deseja.

Essa definição basicamente coincide com o que a questão afirma.

Gabarito CERTO.

Referência

SOMMERVILLE. Engenharia de Software. 8° Edição. Pearson. São Paulo, 2007.

diovanemonteiro commented 5 years ago

Validação - assegurar que os requisitos atendem às necessidades do cliente.

Verificação - verificar se os requisitos elencados pelo usuário são atendidos pelo sistema.

diovanemonteiro commented 5 years ago

Requisitos funcionais são declarações de funcionalidades ou serviços que o sistema deve prover para atingir seus objetivos. Esses requisitos indicam como o sistema deve reagir a entradas específicas e como deve ser o comportamento do sistema em determinadas situações. Requisitos funcionais também podem estabelecer explicitamente o que o sistema não deve fazer.

Já os requisitos não funcionais (RNFs) expressam restrições e/ou condições que ditam como o sistema deve funcionar ou características específicas que o software deve possuir. Entre estas características temos confiabilidade, segurança, usabilidade, desempenho, robustez, manutenibilidade, portabilidade, escalabilidade, etc.

diovanemonteiro commented 5 years ago

Para melhor compreensão e controle das mudanças dos requisitos de um sistema, o documento de requisitos explicita os requisitos de usuário de um sistema e fornece uma especificação detalhada dos requisitos de sistema a serem utilizados pelos diagramas de caso de uso explicitando como é a interação entre atores e como o sistema funcionará.

Comentário

Para analisarmos esta questão é necessário conhecermos dois artefatos:

Documento de requisitos: também chamado de Especificação de Requisitos de Software, segundo Sommerville, é uma declaração oficial de o que os desenvolvedores do sistema devem implementar, incluindo tanto os requisitos de usuário para um sistema quanto uma especificação detalhada dos requisitos de sistema.

Diagrama de casos de uso: é um diagrama comportamental usado para descrever um conjunto de ações (casos de uso) que um sistema pode executar em colaboração com um ou mais usuários externos ao sistema (atores), ou seja, modela interações entre atores e o sistema e interações internas do próprio sistema. Esse diagrama é utilizado para descrever um conjunto de cenários, capturar requisitos do usuário e delimitar o escopo do sistema.

Cabe destacar que, no gabarito preliminar, a questão estava correta. Após recursos, foi alterado para errada com a justificativa de que os diagramas de caso de uso refletem interação de atores com o sistema e não atores entre si.

Gabarito: ERRADO.

diovanemonteiro commented 5 years ago

No gerenciamento do ciclo de vida de um software, o processo de desenvolvimento (processo básico) objetiva estabelecer os requisitos dos componentes e suas interfaces em um sistema.

Comentário

Primeiramente, vejamos como Sommerville define processo (de desenvolvimento) de software:

Um processo de software é um conjunto de atividades relacionadas que levam à produção de um produto de software. Existem muitos processos de software diferentes, mas todos devem incluir quatro atividades fundamentais para a engenharia de software: especificação de software, projeto e implementação de software, validação de software e evolução de software."

Adicionalmente podemos considerar que o gerenciamento do ciclo de vida pode ser definido como um processo ou conjunto de processos que lidam com a criação/aquisição do software (produto) até a sua obsolescência. Portanto, é incorreto limitar a gestão do ciclo de vida a apenas o objetivo de estabelecer os requisitos. Esse objetivo pertence à engenharia de requisitos.

Gabarito: ERRADO.

diovanemonteiro commented 5 years ago

A modelagem de requisitos em engenharia de software é essencialmente o estágio de planejamento de um aplicativo ou sistema de software. Geralmente, o processo começará quando uma empresa ou uma entidade, por exemplo, uma instituição de ensino, se aproxima de uma equipe de desenvolvimento de software para criar um aplicativo ou sistema a partir do zero ou atualizar um já existente. A modelagem de requisitos compreende vários estágios ou 'padrões': modelagem baseada em cenário, modelagem de dados, modelagem orientada a fluxo, modelagem baseada em classe e modelagem comportamental. Cada um desses estágios/padrões examina o mesmo problema de uma perspectiva diferente.

diovanemonteiro commented 5 years ago

A engenharia de requisitos se concentra em dois estágios: desenvolvimento e gerência.

Primeiro define-se e aplica-se e, então, quando os requisitos estão “prontos”, se faz necessário gerenciá-los.

diovanemonteiro commented 5 years ago

O QFD(Quality Function Deployment) é um método que ajuda a transformar requisitos em funcionalidades que agregam valor ao produto final. Tudo aquilo que excede as expectativas do cliente é considerado requisito fascinante.