Buscar

Engenharia de Software: Requisitos e Desenvolvimento

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

EA976/2007 - Primeira prova
Duração: 100 minutos
Sem Consulta
Utilize uma única folha de papel almaço
Questões de igual valor
1. Qual a informação contida em um documento de requisitos?
Descrição geral do produto, requisitos funcionais e não funcionais, interfaces, restrições de projeto,
arquitetura e modelo de sistema, evolução do sistema.
2. No que consiste o “teste de aceitação” para o sistema de solicitação de declarações que você está
desenvolvendo?
No teste de aceitação o sistema deve ser submetido a situação de uso real. Neste caso, alunos e
funcionários da coordenação devem operar e opinar sobre o sistema.
3. Cite duas vantagens e duas desvantagens da prototipação de software.
Auxilia no levantamento de requisitos - V
Comprometimento do usuário final do sistema - V
Protótipo pode ser empregado para treinamento do usuário e teste do sistema final - V
Na prototipação evolucionária:
- a implementação está sempre a frente da documentação - D
- a arquitetura do sistema evolui de forma descontrolada - D
- os requisitos não funcionais e os padrões organizacionais podem não ser atendidos - D
Na prototipação descartável corre-se o risco do protótipo não ser descartado - D
4. Em que situações a especificação formal de sistemas de software é viável?
Em situações que as funções do sistema podem ser descritas por meio de linguagens formais (exemplo:
protocolos e compiladores) e/ou quando os requisitos do sistema têm que ser garantidos (exemplo:
sistemas de tempo real).
5. Qual o modelo de processo de desenvolvimento de software você adotaria para uma sistema de
acesso ao banco via internet (home/internet banking)? Justifique.
Resposta 1: o modelo de processo “em cascata” pois o sistema deve entrar em operação com todos o
requisitos implementados e validados.
Resposta 2: o modelo de processo incremental pois o sistema pode entrar em operação com um
conjunto inicial de requisitos atendidos e novos requisitos sendo incorporados de forma incremental.
6. Enumere requisitos funcionais e não funcionais para o sistema de software da questão anterior.
Funcionais: uso a partir de navegadores comerciais, uso mediante cadastramento, opções de extratos,
transferências e pagamentos.
Não funcionais: segurança, privacidade, disponibilidade, desempenho, facilidade de uso.
7. Cite duas técnicas de validação de requisitos.
Revisão de requisitos: análise sistemática por uma equipe de revisores.
Prototipação: construção de um protótipo para validar os requisitos.
Geração de casos de teste: determinar como cada requisito pode ser validado.
Análise automatizada de consistência (usualmente a partir de especificação formal).
8. Em que situações o desenvolvimento incremental de software é atrativo? Exemplifique para um
sistema de software.
Em situações onde o sistema pode operar com requisitos parciais e o cliente aceita entregas
intermediárias, cada entrega incorporando novos requisitos. Exemplo de tais sistemas: informatização
de procedimentos manuais (exemplo: procedimentos comerciais e administrativos), consultas e
serviços on-line (exemplo: governo eletrônico), sistemas extensíveis por meio de “plugins” (exemplo:
Eclipse e MATLAB).
9. Por que a engenharia de software está voltando sua atenção para a análise de requisitos?
Pela constatação que a maioria dos fracassos no desenvolvimento de sistemas se deve ao não
atendimento dos reais requisitos do usuário, pela dificuldade de se estabelecer requisitos para
sistemas complexos.
10. Descreva brevemente as atividades que compõem o gerenciamento de projetos.
Planejamento: estabelecimento de planos para o desenvolvimento do software, bem como para a
formação e qualificação da equipe.
Programação: identificação de atividades, duração e seqüenciamento de atividades, e alocação de
recursos humanos e materiais para as atividades.
Geenciamento de riscos: identificação e classificação de riscos, estabelecimento de estratégias de
gerenciamento de riscos e monitoramento de riscos.

Continue navegando