Baixe o app para aproveitar ainda mais
Prévia do material em texto
(X) Prova ( ) Prova Semestral ( ) Exercícios ( ) Segunda Chamada ( ) Prova Modular ( ) Prova de Recuperação ( ) Prática de Laboratório ( ) Exame Final/Exame de Certificação ( ) Aproveitamento Extraordinário de Estudos Nota: Disciplina: Engenharia de Software II Turma: Professor: Jucilane Rosa Citadin Data: 15/04/16 Aluno (a): RQ 0501 Rev. 14 Página 1 de 4 1. (1,0 Ponto) Em 2001, alguns especialistas que vinham discutindo formas modernas de desenvolver software, estabeleceram a Aliança Ágil, e publicaram um Manifesto Ágil. O que diz este Manifesto? Indivíduos e interação mais que processos e ferramentas Software em funcionamento mais que documentação abrangente Colaboração com o cliente mais que negociação de contratos Responder a mudanças mais que seguir um plano 2. (3,0 Pontos) Por trás do Manifesto Ágil temos ainda 12 Princípios. Descreva com suas palavras: 1) O primeiro diz respeito à prioridade. Qual é ela? é satisfazer o cliente, através da entrega adiantada e contínua de software de valor 2) O segundo diz respeito às mudanças. O que fazer com elas? Processos ágeis se adequam a mudanças, para que o cliente possa tirar vantagens competitivas. 3) O terceiro diz respeito às entregas. Com que frequência deve ocorrer? Entregar software funcionando com freqüencia, na escala de semanas até meses, com preferência aos períodos mais curtos 4) O quarto diz respeito à integração negócios x desenvolvedores. O que se recomenda? devem trabalhar em conjunto e diariamente, durante todo o curso do projeto 5) O quinto diz respeito à equipe. Como deve ser a equipe? De indivíduos motivados. Dando a eles o ambiente e suporte necessário, e confiar que farão seu trabalho 6) O sexto diz respeito à comunicação da equipe. Como ela deve ser? através de uma conversa face a face 7) O sétimo diz respeito à medida do progresso. Que medida é essa? Software funcional é a medida primária de progresso 8) O oitavo diz respeito ao desenvolvimento sustentável. O que isso significa? Os patrocinadores, desenvolvedores e usuários, devem ser capazes de manter um ritmo constante indefinidamente RQ 0501 Rev. 14 Página 2 de 4 9) O nono diz respeito ao aumento da agilidade. O que se recomenda para isso? Contínua atenção à excelência técnica e bom design 10) O décimo diz respeito à simplicidade. O que se recomenda quanto a isso? Simplicidade é essencial (keep it simple) 11) O décimo-primeiro diz respeito também às equipes. O que se recomenda quanto ao líder? times auto-organizáveis e um líder facilitador 12) O décimo-segundo diz respeito também às equipes. O que deve fazer a equipe periodicamente? Em intervalos regulares, o time reflete sobre como se tornar mais eficaz (reunião de retrospectiva Scrum) 3. (1,0 Ponto) Os relatórios CHAOS (Standish Group) são publicados a cada ano desde 1994 e são uma “fotografia” da indústria de desenvolvimento de software em todo o mundo. O CHAOS Report 2015, incluiu uma definição melhorada do sucesso considerando a Resolução Moderna (Modern Resolution) de sucesso como estar no prazo, no orçamento e alcançar um resultado satisfatório. As tabelas a seguir resumem alguns resultados: Resolução Moderna para Todos os projetos 2011 2012 2013 2014 2015 Sucesso 29% 27% 31% 28% 29% Desafiado 49% 56% 50% 55% 52% Falhou 22% 17% 19% 17% 19% Resultados por tamanho do projeto (2011-2015) Muito Grande Grande Médio Moderado Pequeno Sucesso 2% 6% 9% 21% 62% Desafiado 7% 17% 26% 32% 16% Falhou 17% 24% 31% 17% 11% Comparação Ágil x Cascata (2011-2015) Método Todos os projetos (tamanhos) Grande Médio Pequeno Sucesso Ágil 39% 18% 27% 58% Cascata 11% 3% 7% 44% Desafiado Ágil 52% 59% 62% 38% Cascata 60% 55% 68% 45% Falhou Ágil 9% 23% 11% 4% Cascata 29% 42% 25% 11% RQ 0501 Rev. 14 Página 3 de 4 Os resultados indicam que ainda há muito trabalho a ser feito em torno de alcançar resultados bem sucedidos em projetos de desenvolvimento de software. Com base nos resultados podemos afirmar que: I. A maioria dos projetos enfrenta algum tipo de desafio. II. À medida que aumenta o tamanho do projeto, maiores as chances de falhar. III. Utilizar métodos ágeis aumenta a chance de sucesso do projeto, independente de seu tamanho. (a) Todas as afirmações são verdadeiras. (b) Somente I e II são verdadeiras. (c) Somente I e III são verdadeiras. (d) Somente II e III são verdadeiras. (e) Todas as afirmações são falsas. 4. (1,0 Ponto) Em relação ao SCRUM, colocamos em prática no miniprojeto o ciclo do processo deste framework. Descreva com suas palavras quais os papéis (e responsabilidades), eventos (cerimônias) e artefatos são gerados no processo. Papéis PO (Product Owner) – é quemm gerencia os stakeholders, a visão do produto e dá o aceite final da sprint Scrum Master – é quem promove a cultura scrum na equipe, realiza a daily scrum e facilita os trabalhos da equipe Time Desenv. – responsável pelo desenvolvimento e entrega de software de valor Eventos Sprint Planning – Definição de escopo e estimativas Daily Scrum – reunião diária de trabalho Revisão Sprint – entrega da Sprint, aceite do PO Retrospectiva Sprint – revisão do trabalho da equipe para melhorar sempre Artefatos Product Backlog – lista de requisitos para melhorar o produto Sprint Backlog – lista de resquisitos para a sprint em questão Entrega – incremento de software 5. (1,0 Ponto) Em relação ao reuso de software, devemos fazer uso de todos os recursos existentes que forem possíveis (Sommerville, 2011). Existem várias técnicas de reuso, entre elas o uso de frameworks e uso de produtos COTS. Defina e dê um exemplo de cada um deles (framework e COTS). Framework é um conjunto integrado de artefatos de software (como classes, objetos e componentes) que colaboram para fornecer uma arquitetura reusável para uma família de aplicações relacionadas. Exemplo: .Net, Java Bens, Eclipse COTS – Commercial Off-The-Shelf systems (prateleira) - é um sistema de software que pode ser adaptado as necessidades de diferentes clientes sem alterar o código-fonte do sistema. Exemplo: Servidor de email, servidor web, SGBD, APIs de aplicações... 6. (1,0 Ponto) Em relação à Engenharia de Software baseada em Componentes (CBSE- Component-Based Software Engineering) temos o desenvolvimento de componentes para reuso e o desenvolvimento com reuso de componentes. O que é um componente? Quais suas características? RQ 0501 Rev. 14 Página 4 de 4 Um componente é uma entidade executável independente que pode ser constituída por um ou mais objetos executáveis, passível de composição. As características são a padronização, independência, ser passível de composição, implantável e documentado. 7. (1,0 Ponto) No processo CBSE de desenvolvimento com reuso, uma importante atividade é a identificação de componentes. Esta atividade se desdobra em outras três atividades, quais são elas? A busca de componentes (fornecedores confiáveis), a seleção de componentes (achar componentes que atendam os requisitos) e a validação dos componentes (funcionalidades). 8. (1,0 Ponto) Em relação ao tipo de composição de componentes, temos três tipos: Sequencial, Hierárquica e Aditiva. Em alguns casos é necessário termos um códigoespecialmente escrito para “colar” os componentes (glue code). Em que caso não se usa o glue code e por quê? Na hierárquica, porque neste caso um componente chama o outro diretamente, sem a necessidade de códigos adicionais.
Compartilhar