Em um software em desenvolvimento para um Tribunal, foram le...

Próximas questões
Com base no mesmo assunto
Q526154 Engenharia de Software
Em um software em desenvolvimento para um Tribunal, foram levantados os seguintes requisitos:


1. A arquitetura do sistema deverá ser modularizada de modo a facilitar sua manutenção e adição de novas funcionalidades.


2. Ao registrar um processo, a descrição e todos os demais dados devem aparecer em, no máximo,2 segundos.


3. Cada processo deve ser associado a um identificador único (ID), que será utilizado para identificá-lo.


4. O sistema deverá suportar uma carga máxima de até 100000 usuários simultâneos.


5. Apenas usuários com privilégios de acesso de Juiz poderão visualizar históricos de andamento de processos.


6. O sistema deve permitir a inclusão, alteração e remoção de processos com os seguintes atributos: ID, número, origem, tribunal etc.


7. O sistema deve fazer log das transações autorizadas com processos em 24 horas, mesmo com falhas de energia ou de dispositivos.


8. O sistema deverá ser acessado completamente via browser HTTP/HTML, inclusive para suporte.


9. Deve ser possível capturar a informação do processo através de um leitor de código de barra, ou manualmente usando um código disponível e impresso no processo.


10. O sistema será desenvolvido para ambientes Windows e para máquinas com pelo menos 2 GB de memória.


11. O sistema será disponibilizado em português, mas de forma a permitir que versões em outros idiomas possam ser produzidas sem necessidade de ter acesso ao código fonte.


12. O usuário deve ser capaz de buscar todo o conjunto inicial dos bancos de dados ou selecionar um subconjunto a partir dele.


13. O sistema deverá usar componentes corporativos existentes sob forma de Enterprise JavaBeans.


14. Testes de Unidade e de Aceitação no sistema deverão ser completamente automatizados.


São requisitos funcionais os apresentados APENAS em 

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a D, que identifica corretamente os requisitos funcionais como sendo os itens 3, 6, 9 e 12. Vamos entender o motivo:

Requisitos funcionais são aqueles que se referem às funções específicas, comportamentos ou características que o sistema deve ter, ou seja, o que o sistema deve fazer em resposta a entradas específicas ou em situações particulares. Eles são frequentemente considerados em termos de "o sistema deve..." fazer alguma coisa para o usuário.

  • O item 3. "Cada processo deve ser associado a um identificador único (ID), que será utilizado para identificá-lo." é um requisito funcional pois descreve uma função específica que o sistema deve executar: a associação de um ID único a cada processo.
  • O item 6. "O sistema deve permitir a inclusão, alteração e remoção de processos com os seguintes atributos: ID, número, origem, tribunal etc." é um requisito funcional, pois descreve as operações de CRUD (Create, Read, Update, Delete) que o sistema deve suportar para os processos.
  • O item 9. "Deve ser possível capturar a informação do processo através de um leitor de código de barra, ou manualmente usando um código disponível e impresso no processo." é um requisito funcional, pois especifica um comportamento do sistema: a captura de informações de um processo por meio de um leitor de código de barra ou entrada manual.
  • O item 12. "O usuário deve ser capaz de buscar todo o conjunto inicial dos bancos de dados ou selecionar um subconjunto a partir dele." é um requisito funcional, pois detalha uma funcionalidade de busca que o sistema deve fornecer ao usuário.

É importante notar que os outros itens não listados como requisitos funcionais descrevem características não funcionais do sistema, como performance, restrições de desenho ou implementação, e qualidades do sistema, que são aspectos importantes para o desenvolvimento e a operação, mas não se referem diretamente às funcionalidades específicas que o sistema irá executar.

Por exemplo, o item 1 fala sobre a arquitetura modular do sistema, que é um requisito não funcional. O item 14 menciona os testes automatizados, que também são requisitos não funcionais, pois descrevem como o sistema deve ser testado, não como deve operar em produção.

Espero que esta explicação tenha ajudado a esclarecer os conceitos e a identificar corretamente os requisitos funcionais apresentados na questão.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Fácil Resolução:

De antemão elimina o item 2, flagrante requisito não funcional (por consequência elimina as alternativas "A" e "C" )

Também evidente requisito não funcional item 10 eliminado (por consequência elimina as alternativas "B" e "E")


Resta a CORRETA, Letra "D"

Resposta D.

Requisitos funcionais expressam o que o sistema tem de fazer/executar para atingir seu propósito.

A banca se aproveitou do uso de linguagem natural na descrição dos requisitos para inserir "dúvidas perversas" na cabeça dos candidatos. Mas os que realmente determinam funções do sistema são:

3 – O sistema deve atribuir ID a processos

5 – Requisitos que determinam formas de proteger o acesso a informação são considerados funcionais, isso inclui níveis de acesso.

6 – Em informática, chamamos isso de CRUD (acrônimo em inglês para Create, Read, Update and Delete). É funcional.

9 – O sistema deve receber o informações do processo via leitura óptica do código de barras ou digitação. É funcional.

12 – O sistema deve disponibilizar todo o conjunto inicial dos bancos de dados ou permitir que o usuário selecione um subconjunto a partir dele. É funcional.

Agora temos que saber também o que realmente é não funcional.

Requisitos não funcionais determinam como o sistema deve/não deve ser. Ditam os atributos de qualidade.

A literatura de engenharia de software diz:

 + Requisitos não funcionais podem afetar a arquitetura geral de um sistema ao invés de apenas componentes individuais (vide requisito 1).

 + Requisitos não funcionais surgem da necessidade de interoperabilidade com outros sistemas, software e hardware (vide requisitos 8 e 10).

 + Requisitos de produto são não funcionais. Ex: rapidez do sistema, tolerância a falhas, quanto pode consumir de memória, usabilidade etc. (vide requisitos 2, 4, 7 e 10)

Respondi baseado em Sommerville 9 ed. Cap. 4

O item "5 – Requisitos que determinam formas de proteger o acesso a informação são considerados funcionais, isso inclui níveis de acesso" não consta na alternativa D. Why?

Caro Marcondes Melo,

A questão não diz que todos os funcionais estão representados na alternativa gabarito. Ela afirma que a alternativa possui somente funcionais, mas não necessariamente todos aqueles representados no enunciado.

Espero ter ajudado.

Bons estudos!

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo