Buscar

Questões Discursivas 2014.1 - Muito bom!!!

Prévia do material em texto

O que é desenvolver Adhoc? Resposta: Desenvolvimento sob demanda
O ciclo de vida tradicional de desenvolvimento de software compreende em geral as seguintes fases: especificação de requisitos, análise, projeto, implementação e testes. Descreva o objetivo de cada uma destas fases.
Gabarito: A fase de especificação de requisitos é responsável por identificar o que o sistema deve contemplar. Muitas atividades são desenvolvidas nesta fase a exemplo de: identificação e priorização de requisitos, estudo de viabilidade e definição do escopo do sistema. Na fase de análise também estamos interessados em entender os requisitos. É preciso conhecer profundamente o negócio do cliente. Após as fases de entendimento do negócio, temos que mapear uma solução computacional para o sistema, definir como será construído o sistema. Esta é a fase de projeto, onde pensamos na arquitetura, interface gráfica, persistência dos dados, entre outros aspectos. A fase de implementação consiste em codificar o sistema de acordo com a especificação construída nas fases anteriores. A fase de testes é responsável por validar se o sistema atende à especificação. Atualmente esta fase está integrada às demais fases, pois devemos pensar em teste de software desde as fases iniciais de especificação do sistema.
O ciclo de vida de um sistema contempla diversas fases. Descreva as atividades principais que devem ser desenvolvidas na fase de projeto de um sistema. A fase de projeto é responsável pela solução computacional que daremos ao problema (sistema) definido nas fases de análise e projeto, ou seja, como o sistema será construído. Compreende atividades tais como, definição da arquitetura do sistema (ex. arquitetura baseada em componentes, organização em camadas, etc.); definição do modelo físico do banco de dados; definição da interface gráfica do sistema (construção de telas, etc.); especificação de planos de teste, entre outras atividades.
Desenvolver software com qualidade é? Utilizar um processo para construção de um produto de software primando por todas as fases que envolvem essa atividade.
Quais são as etapas do modelo em cascata do ciclo de vida de desenvolvimento de software? Concepção (Requisitos) - Análise - Projeto(Desenho) - Implementação - Testes - Implantação -Manutenção
Um modelo de processo de software ou ciclo de vida pode ser visto como uma representação ou abstração dos objetos e atividades envolvidas no processo de software. Explique com suas palavras porque é necessário um processo de desenvolvimento de software nas organizações? Aumentar a produtividade do pessoal envolvido na produção de software, visando também: diminuir erros, custos e prazos aumentar a qualidade do software aumentar o controle sobre a produção de software Permite desenvolver técnicas que melhorem a qualidade do software, levem à rápida entrega e a custos menores, além de poder ser confiado pelos seus usuários.
Os métodos ágeis trazem uma nova abordagem para o desenvolvimento de software diferente das abordagens até então utilizadas. Explique quais as principais diferenças existentes entre a abordagem tradicional e a abordagem de métodos ágeis. A principal diferença entre a abordagem tradicional de desenvolvimento de sistemas e a abordagem ágil está na especificação do software. Enquanto a abordagem tradicional valoriza as fases especificação, análise e projeto do sistema considerando-as fundamental para a produção de artefatos bem definidos que possam nortear a programação, a abordagem ágil faz uma especificação simples e sucinta do sistema e tem como principal foco a codificação do software. A abordagem ágil também implementa algumas práticas e princípios que possibilitam construir softwares de qualidade dentro deste contexto de pouca especificação, tais como: programação em par, orientação a testes, refatoramento, entre outros.
Construa um texto com no máximo 15 linhas apresentando uma comparação entre os ciclos de vida em cascata e Iterativo e Incremental apresentando vantagens e desvantagens. O ciclo de vida em cascata é de uso tradicional e foi apresentado desde a definição da Engenharia de software já o Iterativo incremental veio com a OO. O Ciclo de vida em cascata desenvolve o software como um todo o que dificulta amudança de requisitos e demora gerar resultados ao usuário, o que gera uma certa ansiedade. Já o Iterativo e incremental propóe o desenvolvimento em partes facilitando a mudança de requisitos e aumentando a análise de riscos e, a entrega é gradativa diminuindo a ansiedade do usuário, o que é uma vantagem, mas com relação a facilidade de gerenciar o ciclo de vida em cascata possui a vantagem.
Nas atividades de levantamento de requisitos, precisamos identificar os serviços esperados do sistema e restrições sobre as quais ele deve operar. Desta forma, precisamos utilizar técnicas de elicitação. Comente três técnicas utilizadas. Diga, também, qual é a finalidade de cada uma dessas técnicas. 1. Entrevista - Utilização na análise de problema e na engenharia de requisitos com o objetivo de entender as perspectivas do cliente/usuário. Entender quem são os agentes e quais as necessidades, o problema e a solução. 2. Questionários - Forma de utilização que faz perguntas referentes ao sistema. Utilização de hipóteses para as relevâncias. Podem ser utilizados após a entrevista. 3. Casos de uso - Identificação dos agentes que agem no sistema, das interfaces que o sistema/produto possuirá. Validação de pré-requisitos. Representação visual ao invés de textual. 4. Brainstorm - Ou tempestade de ideias, faz o levantamento de ideias, em que cada uma sugerida pode combinar na propositura de uma nova. Atividade de livre imaginação que deve ser tratada sem críticas ou debates.
Teste de software é fundamental para a qualidade de um sistema. Explique com suas palavras qual o objetivo do teste de integração e do teste de aceitação, e quando eles devem ser aplicados? O objetivo do teste de integração é validar a integração entre os diversos componentes do sistema. Ele é aplicado durante a fase de implementação do sistema sempre que um novo componente fica pronto, ou seja, não demanda que todo o sistema estaja pronto para ser aplicado. Desta forma, temos uma integração contínua, sempre que um componente está pronto ele é testado e integrado aos demais componentes do sistema. O teste de aceitação é aquele realizado pelo usuário quando o sistema já está totalmente pronto. Nele o usuário valida se o sistema atende aos critérios de aceitação estabelecidos para o sistema.

Continue navegando