SóProvas


ID
1822651
Banca
FGV
Órgão
TJ-PI
Ano
2015
Provas
Disciplina
Engenharia de Software
Assuntos

O analista de requisitos Pedro foi designado para realizar o levantamento de requisitos de um sistema de vendas que irá substituir um sistema legado ainda em utilização, desenvolvido na linguagem de programação clipper. Pedro decide iniciar o levantamento de requisitos por meio de um conjunto de entrevistas individuais com os diversos usuários. Durante as entrevistas, Pedro percebeu um ponto comum entre os usuários: muitos acreditam que o sistema atual apresenta diversas funcionalidades que já os atendem satisfatoriamente. Nesse caso, a técnica de levantamento de requisitos mais adequada para complementar o levantamento de Pedro é:

Alternativas
Comentários
  • Como assim engenharia reversa? Seria melhor recuperar o código, entender o mesmo pra depois programá-lo de novo em uma outra linuagem? Muito estranho isso. Por que não usar questionários? 

  • Engenharia Reversa é uma técnica em que se extraem requisitos implementados a partir de um código do software já existente. Conforme [15], permite entender e manter funcionalidades já existentes, fornecendo informação detalhada e atual, mas é um processo demorado, caro (especialista), com limitações de ferramentas e até legais. - See more at: https://www.scrumalliance.org/community/articles/2015/june/elicitacao-de-requisitos-com-scrum-aplicada-no-ini#sthash.RHHBvf5l.dpuf

  • Questão com gabarito errado, com certeza.

  • Vamos focar neste trecho:

    . "Durante as entrevistas, Pedro percebeu um ponto comum entre os usuários: muitos acreditam que o sistema atual apresenta diversas funcionalidades que já os atendem satisfatoriamente"

    Ou seja, há requisitos que estão de acordo com o desejo do cliente,portanto não existe motivo para reinventar a roda, mas devemos documentar estes requisitos!

    Observem que o examinador se precaveu dos recursos ao colocar o trecho:

    " Nesse caso, a técnica de levantamento de requisitos mais adequada para complementar "

    Pois todas técnicas são válidas, porém vamos encontrar a mais adequada:

    a) JAD - Incorreta, não é a mais adequada, pois JAD menciona ponto de vista, realizar encontros dinâmicos, esta técnica (metodologia) não nos serve!

    b) Questionário - Incorreta, já estamos usando a técnica da entrevista, não faria sentido usar a técnica de questionário, pois esta é 'fria' 'sem sentido' 'sem contato entre as partes'

    c) Brainstorming - Incorreta, uma chuva de ideias, várias pessoas pensando juntos! Mas para quê? Já sabemos o que queremos, já sabemos a ideia que temos que desenvolver.

    d) Prototipação - Incorreta, esta técnica é muito útil quando queremos desenvolver algo de 'grão em grão', ou seja, quando iremos implementar um pequeno subconjunto de funcionalidades do produto.

    e) Engenharia Reversa - Correta, confesso que encontrei esta alternativa por eliminação, porém vejamos o que diz Pressman:

    "Na maioria dos casos, no entanto, o programa a passar por uma engenharia reversa não é o de um concorrente.

    Pelo contrário, é de trabalho da própria empresa (muitas vezes feito anos antes). Os segredos para serem compreendidos são obscuras porque nenhuma especificação já foi desenvolvida. Portanto, a engenharia reversa para o software é o processo de análise de um programa, em um esforço para criar uma representação do programa em um nível maior de abstração do que o código-fonte". 

    Ou seja, o código-fonte já possuímos, pois o requisito está em uso e funcionando adequadamente, o que falta é a documentação ' num nível maior de abstração'.

  • entao Engenharia Reversa é a melhor opcao quando a empresa ja possui o codigo fonte? interessante

  • pensei em brainstorming justamente para encontrar NOVAS funcionalidades que eles não sabem que precisam kkkk

  • uma vez que todos estão satisfeitos não há necessidade de criar um protótipo, e sim refazer o que está bom. Nesse sentido, engenharia reversa.