Prévia do material em texto
ULTIPLA ESCOLHA 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 é: Scrum Layer Product scrum Procut owner Scrum máster Time scrum Em relação a UML – Unified Modeling Language – na modelagem de um sistema, é correto afirmar: É uma técnica de modelagem de sistemas É uma técnica de construção de software Só pode ser utilizada com RUP Não é uma ferramenta de comunicação entre os desenvolvedores. É uma representação gráfica da modelagem orientada a objetos. 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: Simplicidade é um valor considerado Suficientemente preciso, consistente e detalhado. Os princípios do XP não são considerados. Somente a II está correta II e III estão corretas Somente a III está correta I e II estão corretadas Somente a I está correta Definir processo, papeis e trazer o comprometimento da equipe para os objetivos do projeto são metas do processo. TSP ESP CMMI PSP RSP O processo unificado divide o processo de desenvolvimento de software em quatro fases. Qual opção apresenta essas fases corretamente? Concepção, elaboração, codificação e testes Concepção, construção, transição e elaboração Analise, projeto, implementação e testes Concepção, Elaboração, construção e transição Concepção, elaboração, construção e testes Em relação ao modelo de ciclo de vida incremental, identifique qual das alternativas a seguir está correta: O cliente vê o resultado somente ao final do projeto As entregas parciais permitem monitorar a evolução do desenvolvimento Necessidades não especificadas no início do projeto podem ser feitas no incremento Somente a I está correta I e II estão corretadas Somente a III está correta Somente a II está correta II e III estão corretas 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? A Engenharia de Software inclui métodos e processos para melhoria da qualidade do software A Engenharia de Software burocratiza o desenvolvimento do software Usado a Engenharia de Software, a qualidade de um software é garantida. A Engenharia de Software não suporta o desenvolvimento de softwares complexos. Não está previsto processo de gestão de projetos em Engenharia de Software. Quanto ao método ágil DSDM (Dynamic Systems Development Method), marque a alternativa correta em relação as afirmativas a seguir: Adaptação ao negocio Utiliza tempo fixo para os incrementos Trabalha com equipes pequenas Somente a II está correta II e III estão corretas Somente a III está correta I e III estão corretas Todas estão corretadas A fase do ciclo de vida que corresponde as atividades de testes de homologação do cliente é chamada de: Elaboração Manutenção Operação Concepção Transição. São atividades que ocorrem em ordem cronológica no método Scrum: Planejamento do Sprint, execução do Sprint, retrospectiva a e reunião de revisão. Sprint, planejamento, reunião de revisão e retrospectiva. Planejamento do Sprint, execução do Sprint, Planejamento do Sprint e retrospectiva. Planejamento do Sprint, analise do Sprint, reunião de revisão e retrospectiva. Planejamento do Sprint, execução do Sprint, reunião de revisão e retrospectiva. 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. Preocupar-se com suas perguntas Não precisa de facilitador Gastar mais tempo para entender o problema Fazer a comunicação por e-mail é o suficiente Negociar sempre para obter ganhos. A prototipação é uma ferramenta que pode ser usada em qualquer modelo de software e tem por finalidade principal: Listar os requisitos. Obter novos requisitos. Obter melhor identificação dos requisitos junto a equipe do projeto Permitir o entendimento e a validação dos requisitos Somente entender os requisitos. São características do modelo Cleanroom para desenvolvimento de software. Usa-se muito teste unitário durante a codificação Especificações formais e testes estatísticos são utilizados As técnicas de Cleanrom substituem as demais técnicas da Engenharia de Software Foca nas ações corretivas dos defeitos Usa uma linguagem de programação especifica. 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: Tornar o processo de desenvolvimento engessado. Precisa fazer testes complexos no sistema quando um componente é alterado Reduzir os custos de manutenção do software Os componentes são reusados somente na aplicação que foram criados. Não permite uso de componentes de terceiros. 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: Reuniões devem ser agendadas com antecedências e todos os envolvidos comunicados As reuniões JAD podem durar o dia todo, com intervalos programados. As reuniões devem durar até 120 minutos. Somente a I está correta. I e III estão corretas. Somente III está correta. I e II estão corretas. Somente a II está correta. O processo ágil que preconiza: “Os testes devem ser escritos antes da codificação”, é chamado de: DSDM = Dynamic Systems Development Method BDD – Behavior Driven Development FDD – Feature Driven Development TDD – Test Driven Development ASD = Adptative System Development. Em relação ao BPM – Bussiness Process Modeling, é correto afirmar: É compreensível a todos os usuários do negócio. É de difícil compreensão para leigos em informática Substitui a UML. É construído apenas pelo usuário de negócio. Representa o fluxo de atividades de um programa. 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? Iniciação – Planejamento – Execução – Controle – Encerramento Iniciação – Planejamento – Controle – Execução – Encerramento Iniciação – Planejamento – Execução – Encerramento Iniciação – Planejamento – Monitoração – Controle – Encerramento Iniciação – Planejamento – Controle – Encerramento 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 correta: O planejamento é feito como nos processos tradicionais. Os testes devem ser contínuos e evoluir junto com o código O código é de propriedade individual Somente a II está correta II e III estão corretas Somente a III está correta I e III estão corretas Somente a I está correta 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... Desenvolvimento interativo Respostas às mudanças Uso de ferramentas Definição do processo Negociação de contratos 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? O planejamento básico é feito Envolve testes planejados Torna o trabalho impossível de ser gerenciado Existem revisões por pares na codificação A arquitetura é validada O modelo de ciclo de vida criado na década de 1960 para organizar e melhorar o trabalho de desenvolvimento de software é o: Espiral Codifica-remenda Cascata Incremental RAD 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: Processo Engenharia Ferramentas Método Qualidade 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. Inspeções são realizadas para garantir a qualidade. O código é de propriedade coletiva. Desenvolvimento por funcionalidade. Somente a II está correta II e III estão corretas Somente a III está correta I e III estão corretas Somente a I esta correta 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? XP ASD DSDM Scrum Crystal Entre as afirmativas a seguir, qual é a única que pode ser considerada especifica do modelo de ciclo de vida espiral? Realizar planejamento Analisar o risco Desenvolver o Software Avaliar o software Codificar o sistema 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: Aplicações de acesso à internet, como browsers. Site bancário para acesso a sua conta-corrente Site da internet de uma organização Site banário com informações institucionais. Aplicação local para edição de texto. DISCURSIVAS. O processo de desenvolvimento é um conjunto de atividades coerentes e consistentes para especificar, projetar, implementar e testar um software. Apresente duas justificativas para que uma empresa adote a utilização de um processo de software no desenvolvimento de software. 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. 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. 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. 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. Estático, dinâmico e arquitetural. Diagrama de Caso de Uso, diagrama de atividades e diagrama de componentes. 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. Mais do que documentação abrangente, ter o software funcionando. Mais do que seguir um plano, responder a mudanças. 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? Diagramas de Caso de Uso. 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. Proporcionar segurança ao cliente de que o projeto foi bem entendido e proporcionar um modelo para a equipe de implementação. 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. 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 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. 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. 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. Quando precisamos fazer adaptações em um sistema já existente ou uma nova funcionalidade quando os requisitos estão bem definidos. Descreva o modelo codifica-remenda e explique quais os problemas desse modelo. 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.