Prévia do material em texto
Compilado Engenharia de Software I – UNIP 2018 / Elaborado por Bortolotti 1) Dentro do método Scrum existem três papéis desempenhados pelos envolvidos no projeto. O papel que é responsável por definir e priorizar as funcionalidades da aplicação em desenvolvimento é: Resposta: c) Procut owner 2) Em relação a UML – Unified Modeling Language – na modelagem de um sistema, é correto afirmar: Resposta: e) É uma representação gráfica da modelagem orientada a objetos. 3) A modelagem ágil busca identificar um meio-termo entre a total falta de documentação proposta pelo XP e a documentação formal dos métodos tradicionais, baseada no fato de que os extremos não são bons. Fundamentado nas afirmações a seguir, marque a opção mais correta em relação a esse conceito: I. Simplicidade é um valor considerado II. II. Suficientemente preciso, consistente e detalhado. III. III. Os princípios do XP não são considerados. Resposta: d) I e II estão corretadas 4) Definir processo, papeis e trazer o comprometimento da equipe para os objetivos do projeto são metas do processo. Resposta: a) TSP 5) O processo unificado divide o processo de desenvolvimento de software em quatro fases. Qual opção apresenta essas fases corretamente? Resposta: d) Concepção, Elaboração, construção e transição. 6) Em relação ao modelo de ciclo de vida incremental, identifique qual das alternativas a seguir está correta: I. O cliente vê o resultado somente ao final do projeto II. As entregas parciais permitem monitorar a evolução do desenvolvimento III. Necessidades não especificadas no início do projeto podem ser feitas no incremento Resposta: e. II e III estão corretas 7) A Engenharia de Software foi criada para resolver a questão da crise de software das décadas de 1960 e 1970 e trouxe vários ganhos para o desenvolvimento de software. Com base nessa afirmativa, qual a opção mais correta? Resposta: a) A Engenharia de Software inclui métodos e processos para melhoria da qualidade do software Compilado Engenharia de Software I – UNIP 2018 / Elaborado por Bortolotti 8) Quanto ao método ágil DSDM (Dynamic Systems Development Method), marque a alternativa correta em relação as afirmativas a seguir: i. Adaptação ao negocio ii. Utiliza tempo fixo para os incrementos iii. Trabalha com equipes pequenas Resposta: e) Todas estão corretadas 9) A fase do ciclo de vida que corresponde as atividades de testes de homologação do cliente é chamada de: Resposta: e) Transição. 10) São atividades que ocorrem em ordem cronológica no método Scrum: Resposta: e) Planejamento do Sprint, execução do Sprint, reunião de revisão e retrospectiva. 11) A comunicação é parte integrante da Engenharia de Software desde a fase de levantamento de requisitos. A pratica de boa comunicação tem princípios básicos que precisam ser exercidos para reduzir os conflitos em um projeto. Qual das opções a seguir é um princípio dessa boa comunicação. Resposta: c) Gastar mais tempo para entender o problema 12) A prototipação é uma ferramenta que pode ser usada em qualquer modelo de software e tem por finalidade principal: Resposta: d) Permitir o entendimento e a validação dos requisitos 13) São características do modelo Cleanroom para desenvolvimento de software. Resposta: b) Especificações formais e testes estatísticos são utilizados 14) O modelo baseado em componentes tem ênfase em criar software que envolva a composição de componentes, permitindo que sejam incluídos, alterados e substituídos com baixo impacto na aplicação. É uma vantagem do modelo de desenvolvimento baseado em componentes: Resposta: c) Reduzir os custos de manutenção do software 15) A técnica de reunião JAD – Joing Application Development – é uma das principais utilizadas no mercado corportavio. Analise as afirmativas a seguir sobre as práticas de JAD e marque a opção correta: I. Reuniões devem ser agendadas com antecedências e todos os envolvidos comunicados II. As reuniões JAD podem durar o dia todo, com intervalos programados. III. As reuniões devem durar até 120 minutos. Resposta: d) I e II estão corretas. Compilado Engenharia de Software I – UNIP 2018 / Elaborado por Bortolotti 16) O processo ágil que preconiza: “Os testes devem ser escritos antes da codificação”, é chamado de: Resposta: d) TDD – Test Driven Development 17) Em relação ao BPM – Bussiness Process Modeling, é correto afirmar: Resposta: a) É compreensível a todos os usuários do negócio. 18) O planejamento é uma pratica de Engenharia de Software coberta pelo gerenciamento de projetos, que é organizado conforme as boas práticas do PMBOK. Em relação ao gerenciamento de projetos, quais são as fases de um projeto? Resposta: a) Iniciação – Planejamento – Execução – Controle – Encerramento 19) O Extremme Programming (XP) é um método ágil de desenvolvimento e estabelece 12 praticas para o desenvolvimento de sistemas. De acordo com as afirmativas a seguir, assinale a alternativa I. O planejamento é feito como nos processos tradicionais. II. Os testes devem ser contínuos e evoluir junto com o código III. O código é de propriedade individual Resposta: a) Somente a II está correta 20) O Manifesto Ágil, que reúne os valores básicos dos métodos ágeis são quatro: foco nos indivíduos e suas interações, entrega de software funcionando, colaboração do cliente e... Resposta: b) Respostas às mudanças 21) O modelo codifica-remenda surgiu com a necessidade de construção de software na década de 1950. Não é um processo propriamente dito, pois os desenvolvedores começam a codificar logo no início do projeto e vão corrigindo os erros à medida que os encontra. Isso trona o processo de construção caótico. Entre as opções a seguir, qual afirmativa mais correta? Resposta: c) Torna o trabalho impossível de ser gerenciado 22) O modelo de ciclo de vida criado na década de 1960 para organizar e melhorar o trabalho de desenvolvimento de software é o: Resposta: c) Cascata 23) A Engenharia de Software é dividida em quatro camadas, cada uma com seu objetivo especifico. A camada cujo objetivo é fornecer as informações técnicas para o desenvolvimento do software é a de: Resposta: d) Método Compilado Engenharia de Software I – UNIP 2018 / Elaborado por Bortolotti 24) O FDD (Feature Driven Development) é um método ágil de desenvolvimento que preconiza algumas melhores práticas no desenvolvimento de software. De acordo com as afirmativas a seguir, assinale a alternativa correta. I. Inspeções são realizadas para garantir a qualidade. II. O código é de propriedade coletiva. III. Desenvolvimento por funcionalidade. Resposta: d) I e III estão corretas 25) O ciclo de Especular-Colaborar-Aprender e a utilização da técnica de reunião JAD são características de qual método ágil? Resposta: b) ASD 26) Entre as afirmativas a seguir, qual é a única que pode ser considerada especifica do modelo de ciclo de v ida espiral? Resposta: b) Analisar o risco 27) Sistemas de processamento de transações são aqueles que coletam, guardam, modificam e recuperam informações de negócios de uma organização por meio de transações. Sobre esse conceito, assinale a alternativa que é um tipo de sistema transacional: Resposta: b) Site bancário para acesso a sua conta-corrente Discursivas 1) O processo de desenvolvimento é um conjunto de atividades coerentes e consistentes para especificar, projetar, implementar e testar um software. Apresente duasjustificativas para que uma empresa adote a utilização de um processo de software no desenvolvimento de software. Resposta: Com um processo de desenvolvimento conseguimos aumentar as chances de desenvolver um software de qualidade e melhorar o processo de entrega, cumprindo com os contratos do desenvolvimento. 2) Existem vários processos de desenvolvimento de software que foram criados a partir da década de 1960 para adaptar e melhorar o processo de construção de uma aplicação, como o modelo cascata, que definiu a estrutura básica composta das fases de analise, projeto, implementação e testes. Essas fases são base para todos os demais processos desenvolvidos até hoje. Dentre esses modelos, temos o modelo incremental e o modelo RAD – Rapid Application Development. Descreva como as duas abordagens são diferentes na construção de um software. Resposta: O modelo incremental aborda a utilização de entregas parciais de N incrementos até a finalização do software, o modelo RAD busca um ciclo de desenvolvimento mais rápido, sequencial linear com ciclos curtos e a utilização de prototipação interativa. Compilado Engenharia de Software I – UNIP 2018 / Elaborado por Bortolotti 3) A modelagem do software é a parte integrante de um processo de desenvolvimento de software. Entre elas, a modelagem orientada a objetos é a mais empregada no mercado, utilizando a UML como notação padrão. Quais são as três categorias de diagrama da UML? Cite um exemplo para cada uma. Resposta: Estático, dinâmico e arquitetural. Diagrama de Caso de Uso, diagrama de atividades e diagrama de componentes. 4) Existem diversos métodos ágeis no mercado: XP, Crustal, FDD, DSDM, Scrum, entre outros, que podem ser utilizados de forma isolada ou conjunta entre si. Porém o Manifesto Ágil determina algumas práticas essenciais para que um método seja realmente ágil. Cite as duas características fundamentais do processos ágeis e explique-as. Resposta: Mais do que documentação abrangente, ter o software funcionando. Mais do que seguir um plano, responder a mudanças. 5) A UML foi criada para ser independente do processo de software. Os desenvolvedores podem adotar da UML algo que seja apropriado ao seu projeto e ao seu processo, usando-a para registrar os resultados de suas decisões de análise e design. Para a definição de requisitos e detalhamento das funcionalidades do sistema, quais diagramas são utilizados? Resposta: Diagramas de Caso de Uso. 6) O foco da modelagem orientada a objetos está em ver o mundo como um conjunto de objetos que integram entre si para produzir um resultado comum. Descreva duas características básicas da modelagem orientada a objetos. Resposta: Proporcionar segurança ao cliente de que o projeto foi bem entendido e proporcionar um modelo para a equipe de implementação. 7) A comunicação é uma das principais disciplinas do gerenciamento de projetos. Trata-se de uma ferramenta muito importante do gerente de projetos e a principal do engenheiro de software para o levantamento de requisitos. No estudo de comunicação, são apresentados dez princípios básicos para a excelência na comunicação. Apresente três desses princípios e faça um breve comentário sobre cada um. Resposta: Escutar: Para melhorar entender o problema. Prepara-se: Buscar entender o problema antes de se comunicar. Comunicação face a face – Considerada a melhor forma de comunicação Compilado Engenharia de Software I – UNIP 2018 / Elaborado por Bortolotti 8) A engenharia de Software está dividida em quatro camadas que suportam seus conceitos conforme ilustrado na figura a seguir. Para cada camada, defina qual é o seu objetivo. Resposta: Qualidade – Aperfeiçoamento continuo de processos. Processo – Possibilita o desenvolvimento do software de forma racional e dentro do prazo. Metodos – Fornece informações técnicas para o desenvolvedor. Ferramentas – Fornece suporte automatizado ou semi para o processo e métodos. 9) O modelo de desenvolvimento mais antigo, mas ainda muito utilizado hoje em dia, é o modelo sequencial linear, ou cascata. Porém, esse modelo é muito deficiente em alguns aspectos no que tange ao ambiente de desenvolvimento e necessidades dos clientes. Nesse cenário, descreva duas situações em que o modelo cascata pode ser utilizado. Resposta: Quando precisamos fazer adaptações em um sistema já existente ou uma nova funcionalidade quando os requisitos estão bem definidos. 10) Descreva o modelo codifica-remenda e explique quais os problemas desse modelo. Resposta: Os desenvolvedores começam a codificação, remendando à medida que os erros aparecem, sem nenhum processo definido. Sendo um modelo de alto risco, impossível de ser gerenciado e não permitindo assumir compromissos confiáveis.