Baixe o app para aproveitar ainda mais
Prévia do material em texto
2 Compilado de Engenharia de Software – 29-05-2018 1– A técnica de reunião JAD – joint application Developmente, é uma das principais utilizadas no mercado corporativo. 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ência e todos envolvidos comunicados. II- As reuniões JAD podem durar o dia todo, com intervalos programados. III- As reuniões devem durar até 120 minutos. D) I e II estão corretas 2- A Eng. de Software é dividida em quatro camadas, cada uma com seu objetivo específico. A camada cujo objetivo é fornecer as informações técnicas para o desenvolvimento do software é a de: D) Método 3– Definir processos, papéis é trazer o comportamento da equipe para os objetivos do projeto, são metas do processo: A) TSP 4 – A prototipação é uma ferramenta que pode ser usada em qualquer modelo de desenvolvimento de software e tem por finalidade principal: C) Obter melhor definição dos requisitos junto a equipe do projeto 5– São características do modelo Cleanroom para desenvolvimento de software: B) Especificações formais e testes estatísticos são utilizados. 6– O modelo baseado em componentes tem ênfase em criar softwares 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 desenvolv. baseado em componentes: C) Reduzir os custos de manutenção do software 7– O Extremme Programming (XP) é um método ágil de desenvolvimento e estabelece 12 práticas para o desenvolvimento de sistemas. De acordo com as afirmativas a seguir, assinale a alternativa correta: I- O planeamento é feito como nos processos tradicionais. III- O código é de propriedade individual. D) I e III estão corretas. 8- Sistemas de processamento de transações são aqueles que coletam, guardam, modificam e recuperam informações de negócio de uma organização por meio de transações. Sobre esse conceito, assinale a alternativa que é um tipo de sistema transacional: B) Site bancário para acesso a sua conta - corrente. 9- 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 é o: C) Product Owner 10- Em relação ao modelo de ciclo de vida incremental, identifique qual das alternativas a seguir está correta: ll. As entregas parciais permitem monitorar a evolução do desenvolvimento. lll. Necessidades não especificadas no início do projeto podem ser feitas no incremento. E) ll e lll estão corretas. 11- A fase do ciclo de vida que compreende as atividades de testes de homologação do cliente é chamada de: E) Transição. 12- O manifesto ágil, que reúne os valores básicos dos métodos ágeis são quatro: focos nos indivíduos e suas interações, entrega de software funcionando, colaboração do cliente e... B) Resposta a mudanças 13- 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) A engenharia de software inclui métodos e processos para a melhoria da qualidade do software. 14 – 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 a medida que os encontra. Isso torna o processo de construção caótico. Entre as opções a seguir, qual a afirmativa mais correta? C) Torna o trabalho impossível de ser gerenciado 15- São características do modelo RUP para desenvolvimento de software: A) Modelagem visual e verificação constante da qualidade 16- São atividades que ocorrem em ordem cronológica no método Scrum: B) Sprint, planejamento, reunião de revisão e retrospectiva 17) A comunicação é a parte integrante de Engenharia de Software desde a fase de levantamento de requisitos. A prática da 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: a) Preocupar-se com suas perguntas. b) Não precisa de facilidade. c) Gastar mais tempo para entender o problema. 18- 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 no 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. R.:Escute: escute as informações passadas, e tire as dúvidas quando for possível; Preparo antes de se comunicar: pesquise e estude para entender o propósito do negócio; Faça anotações: sempre fazer anotações de tudo o que está sendo abordado. 19– 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 afirmativas a seguir, marque a opção mais correta em relação a esse conceito: I – A simplicidade é um valor considerado E) Somente a I está correta 20– O processo ágil que preconiza: “Os testes devem ser escritos antes da codificação” é chamado de: D) TDD teste Driven Devopment 21- Em relação ao BPM - Business Process Modeling é correto afirmar que: A) É compreensível a todos os usuários de negócio. 22- O planejamento é uma prática 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? A) Iniciação – Planejamento – Execução – Controle – Encerramento 23- Em relação a UML (unified modeling language) na modelagem de um sistema é correto afirmar que: A) É uma técnica de modelagem do sistema 24- A modelagem orientada a objetos considera quais dos elementos a seguir no contexto de um sistema: a) Processos de Dados b) Atributos e operações. c) Dados e programas. 25- Entre as afirmativas a seguir, qual a única que pode ser especificada do modelo de ciclo de vida espiral? B) Analisar o risco 26- 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. III - Desenvolvimento por funcionalidade. D) I e III estão corretas. 27- O processo PSP sugere um conjunto de prática e métodos individuais para que uma pessoa possa identificar e fazer melhorias no seu desempenho. Entre as opções a seguir, qual é um objetivo do PSP? b) Fazer revisões em códigos e no projeto 28- O processo unificado divide o processo de desenvolv. de software em quatro fases. Qual opção apresenta essas fases corretamente? D) Concepção, Elaboração, Construção e Transição 29– 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: B) ASD O método ágil ASD, em português, “desenvolvimento adaptável de software”, 30- Quanto ao método ágil DSDM, marque a alternativa correta a seguir: I- Adaptado ao negócio. II- Utiliza tempo fixado para os incrementos. III- Trabalha com equipes pequenas. C) Todas estão corretas. Questões Discursivas 1– A engenharia de software está dividida em 4 camadas que suportam seus conceitos, conforme a ilustrado na figura a seguir. Para cada camada, defina qual seu objetivo: Ferramenta: são responsáveis por fornecer suporte automatizado ou semi-automatizado para o processo e os métodos; Métodos: é responsável por fornecer informações técnicas para desenvolver produtos de software; Qualidade: a camada Foco na qualidade dá sustentação a todas as outras camadas; Processo: é a responsávelpor manter as camadas de tecnologia coesas e possibilita o desenvolvimento de software de forma racional e dentro do prazo; 2- O foco da modelagem orientada a objetos está em ver o mundo como um conjunto de objetos que interagem entre si para produzir um resultado comum. Descreva duas características básicas da modelagem orientada a objetos. R.: Atributos (dados) e operações (processo). 3- Os métodos ágeis tem sido apontado como uma alternativa aos modelos tradicionais de desenvolvimento de software, principalmente em relação a cumprimento de prazos, melhoria de comunicação e qualidade de aplicação. Apresente três critérios de diferença de ambiente entre o método ágil e o processo tradicional. R.: Método Ágil- Desenvolvedores seniores, Mudanças frequentes de requisitos, Pequeno número de desenvolvedores; Processo Tradicional: Desenvolvedores juniores, Baixa mudança nos requisitos, Grande número de desenvolvedores. 4- Apresente uma vantagem e uma desvantagem para cada um dos modelos de desenvolvimento, Cascata, Prototipação, Espiral e Processo Unificado: Cascata: Os projetos nem sempre são sequenciais e as mudanças sempre trazem problemas. O produto somente é visível no final de todo o ciclo. Prototipação: Reduz o número de mudanças, aumenta a qualidade, pode reduzir o tempo de desenvolvimento, desvantagem é que o cliente acha que o produto está pronto, o projetista pode ter soluções inadequadas. Espiral: primeiro modelo a incluir a análise de riscos, e as desvantagens são: Difícil convencer o cliente que uma abordagem “evolutiva” é melhor, Processo unificado: Tolerância às mudanças de requisitos, elementos de um software são integrados progressivamente. Desvantagens: Cliente não aceita o processo interativo. 5- A UML foi criada para ser independente de 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 designer. Para a definição de requisitos e detalhamento das funcionalidades do sistema, quais diagramas são utilizados? R.:O diagrama de atividades pode ser utilizado para detalhar uma funcionalidade, como mostrar um determinado fluxo do problema que está sendo estudado. Estão divididos em 3 categorias: ESTÁTICO, DINÂMICO e ARQUITETURAL. 6- Existem diversos métodos ágeis no mercado: XP, Crystal, 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 dos processos ágeis e explique-as. R.: Garantir a satisfação do cliente\usuário, entregando rapidamente, continuamente e adiantadamente softwares com valor agregado e funcionando; Rápida adaptação as mudanças. 7- O modelo de desenvolvimento de software mais antigo, mais ainda muito utilizado hoje em dia é, o modelo sequencial linear, ou cascata... Nesse cenário descreva duas situações em que o modelo cascata pode ser utilizado. R.: Projetos com requisitos bem definidos Projetos pequenos, com duração de até 2 meses. 8- Dados os modelos de desenvolvimento a seguir, apresente um cenário de aplicação para cada um deles: Prototipação; Processo Unificado; Incremental. R.: Prototipação: Quando os requisitos estão mal definidos ou difíceis de serem compreendidos. Processo unificado: Por ser um processo configurável, pode ser utilizado para qualquer tipo de projeto. Incremental: Para sistemas que podem ser divididos em módulos. 9- Além do conjunto de processos de desenvolvimento de software que suportam a construção da aplicação, existe os processos pessoais (PSP) e os processos de equipes (TSP), que apoiam a evolução e o crescimento das equipes de desenvolvimento de software dentro do ciclo de vida. Qual a diferença do processo PSP e TSP? PSP é voltado para a capacitação de indivíduos. TSP é voltado para a capacitação de equipes. 10- O desenvolvimento de software utilizando o modelo cascata, original de Royce, compreende quais fases para o desenvolv. de um software? Represente graficamente (desenhe) essas fases e suas dependências. R.: Eng. de Sistemas – Análise – Design – Codificação – Testes – Manutenção R. Para seguir um modelo em cascata, o progresso de uma fase para a próxima se dá de uma forma puramente sequencial. Por exemplo, inicialmente completa-se a especificação de requisitos — elaborando um conjunto rígido de requisitos do software 11– O modelo espiral proposto por Barry Boehm, em 1986, é uma evolução dos modelos clássicos e da prototipagem........ Descreva os objetivos/atividades de cada uma das quatro fases do modelo espiral. R. Definir objetivos (planejamento); - Avaliar e planejar; - Desenvolvimento (engenharia); Analisar riscos. 12- 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 análise, 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. R.: O modelo incremental seria a aplicação de modelo cascata por diversas vezes em um mesmo projeto. A metodologia RAD propõe um conjunto de elementos que cria um novo paradigma incluindo a prototipação interativa, o desenvolvimento espiral e o uso intensivo de ferramentas de automação do desenvolvimento (CASE). 13- Descreva o modelo codifica-remenda e explique quais os problemas desse modelo. R.: O modelo codifica-remenda significa um processo de ciclo de vida de software mais caótico. Partindo apenas de uma reunião de trabalho, os desenvolvedores começam imediatamente a codificar, remendando, à medida que os erros vão sendo descobertos. 14- O TDD- Test Driven Development – baseia-se em ciclos curtos e é caracterizado pela criação de caso de testes, feitos pelo desenvolvedor... Porém, ela apresenta duas deficiências que podem comprometer a sua utilização. Quais são esses problemas? R: - Sem especificações não se constrói - A criação de testes automatizados pode gerar atrasos no tempo de construção. 15- Para atender as necessidades das empresas, diversos tipos de aplicação surgiram ao longo do tempo para responder às constantes demandas comerciais, industrias e pessoas da sociedade atual. Descreva, sucintamente, uma diferença entre Sistemas de Processamento de Transações (SPT) e Sistemas de Informações Gerenciais (SIG). R.: SPT: tem que ser mais rápido e seguro. SIG: apoio de informações à gerencia 16- A atividade de planejamento é um esforço sistemático e formal que visa estabelecer direção e aumentar a probabilidade da ocorrência.......processo de comunicação. Apresente três técnicas de planejamento sugeridas pelo PMBKO. • estratégia: que problema deve ser solucionado; • pessoas: a quem o projeto se destina; • processos: como o projeto deve ser elaborado para atingir seus objetivos. 17- Os métodos ágeis têm sido apontados como uma alternativa aos modelos tradicionais de desenvolvimento de software, principalmente em relação a cumprimento de prazo, melhoria de comunicação e qualidade da aplicação. Apresente uma diferença (característica que o diferencia dos outros dois métodos) para cada um dos métodos ágeis apresentados na tabela a seguir: Método Diferença XP Simplicidade ICONIX Prototipação FDD Funcionalidade XP – Simplicidade ICONIX – Prototipação FDD - Funcionalidade 18- Segundo o processo PSP, a qualidade do software é governada pelo indivíduo que a desenvolveu: conhecimento, disciplina e comprometimento com as tarefas. Esse processo define que, para a melhoria dos eu desempenho individual, o profissional deve se preocupar com alguns aspectos importantes visando ao seu desenvolvimento. Cite dois desses aspectos relacionadosao PSP. R.: Individuo consegue identificar e melhorar seu desempenho. Fazer revisão em código e no projeto. 19- Entre as práticas de engenharia de software, a atividade de planeamento é essencial para aumentar a probabilidade de sucesso de um projeto de software. Para isso, deve ser criado um plano de projeto, que reúne a documentação necessária para conduzir um projeto. Apresente três itens que devem ser abordados pelo plano do projeto. R.: Objetivos do projeto, responsabilidades e escopo do projeto. 20- O Scrum é um método ágil bastante utilizado no mercado. Define um conjunto de atividades que devem ser seguidas durante a execução do projeto. Quais objetivos de cada uma das atividades a seguir: 1- Planning Meeting: O planeamento do Sprint deve estar pronto em 30 dias; 2- Sprint: É o ciclo de desenvolvimento de tarefas planejadas; 3- Daily Meeting: São reuniões diárias em que cada membro do time coloca em um quadro o que fez; 4- Review Meeting: Deve ser feito no final de cada Sprint e mostra o que foi alcançado durante o Sprint; 5- Retrospective: É uma reunião de lições aprendidas que ocorre após a entrega de um Sprint. 21- O desenvolvimento ágil é uma alternativa real às constantes mudanças e a rapidez na evolução... O manifesto ágil elaborado por Kent Beck... Apresente quatro desses princípios ágeis. P1- o processo de planejamento. P2- projeto em pequenas versões. P4- design simples. P5- testes.
Compartilhar