Baixe o app para aproveitar ainda mais
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.
Compartilhar