Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Modelos de ciclo de vida de software
Você vai compreender o que é produto software, os métodos ágeis no desenvolvimento, princípios do
manifesto ágil, conceitos de Engenharia de Software, modelos de qualidade e como métricas contribuem
para melhorar processos e resultados.
Prof. Carlos Alberto de Farias
1. Itens iniciais
Propósito
O conhecimento sobre métodos ágeis, medição e qualidade de software é fundamental para profissionais da
área de TI, pois permite gerenciar projetos com mais eficiência, controlar custos e prazos, além de
implementar melhorias contínuas nos processos de desenvolvimento.
Objetivos
Propor melhorias no gerenciamento de projetos de software, utilizando técnicas de qualidade para
rastreamento, monitoramento e controle eficazes.
 
Classificar os diferentes modelos de ciclo de vida de software, analisando suas características,
aplicações e adequação a distintos contextos de desenvolvimento.
Introdução
Neste conteúdo, você vai explorar os principais conceitos relacionados ao desenvolvimento de software,
entendendo desde o que é um produto software até como ele é planejado, construído e gerenciado dentro de
projetos. Serão apresentados os fundamentos do Manifesto Ágil para Desenvolvimento de Software, seus 12
princípios norteadores e a importância de sua aplicação no contexto de projetos modernos. Você também terá
contato com conceitos essenciais da Engenharia de Software e com as principais atividades envolvidas no
processo de desenvolvimento.
 
Além disso, será possível conhecer a Declaração de Interdependência no gerenciamento de projetos ágeis e
alguns dos métodos mais utilizados nesse modelo, como o Feature Driven Development (FDD), o Dynamic
Systems Development Method (DSDM) e o Crystal. Esses métodos oferecem abordagens diferentes, mas
complementares, para a condução eficiente de projetos, promovendo entregas incrementais e foco nas
necessidades do cliente.
 
Outro ponto central é a medição e os modelos de qualidade de software. Entender como implantar programas
de medição nas organizações permite controlar melhor os processos e melhorar continuamente a qualidade
dos produtos desenvolvidos. Essa prática é essencial para garantir desempenho, produtividade e
confiabilidade em soluções tecnológicas.
 
A adoção de métricas eficazes está diretamente ligada ao sucesso dos projetos, já que muitas iniciativas
fracassam ou enfrentam atrasos e custos excessivos justamente pela falta de controle adequado. Assim, este
conteúdo oferece uma base sólida para profissionais que desejam atuar com eficiência na área de
desenvolvimento de software, com foco em qualidade, agilidade e resultados sustentáveis.
• 
• 
1. O que é engenharia de software
Contextualização
O mundo moderno exige cada vez mais tecnologia e novas plataformas de gestão da informação e
comunicação.
 
O software hoje está voltado não só para a web, mas também para diversos segmentos como indústria,
comércio, saúde, segurança e muito mais. Além disso, atua na inteligência artificial, estando presente nos
eletrodomésticos como TV, geladeiras, lavadoras, micro-ondas, sistema elétrico residencial e muitos outros.
O que é projeto?
Projeto é um esforço temporário empreendido para criar um produto, serviço ou resultado exclusivo.
Também pode ser descrito como: “uma original organização de pessoas e recursos para atingir um
propósito específico, num período de tempo finito”.
Esmiuçando um pouco essa definição, temos:
Original
Cada projeto é diferente de todos os outros.
Organização de pessoas e recursos
Uma mistura de talentos e conhecimentos humanos, com recursos técnicos e físicos.
Para atingir um propósito específico
Enfatiza a necessidade de os projetos terem sempre um objetivo tangível e realizável.
Num período de tempo finito
Diferencia um projeto de um processo.
O que é software?
Software é “uma sequência de instruções a serem executadas, com o objetivo de gerar informações
a partir de uma série de dados coletados ou armazenados”. Também podemos definir como sendo
“os programas que comandam o funcionamento de um computador”.
Podemos classificar o software como a parte lógica cuja função é fornecer instruções para o hardware.
 Composição e classificação do software
Composição do software
Um software é composto por módulos, instruções, bibliotecas, que gera um programa executável que
lê dados denominados “entradas” ou inputs ao final do processo de desenvolvimento, e este, quando
executado, recebe algum tipo de “entrada” de dados (input), processa as informações e libera uma
“saída” (output) como resultado deste processamento.
Classificação do software
Podem os softwares podem ser classificados em três tipos:
Software de sistema: é o conjunto de informações que gerenciam o hardware, que permitindoe
a interação entre o usuário e os periféricos do computador. Exemplos: Windows e Linux.
Software de orogramação: é o conjunto de ferramentas que permitem ao programador
desenvolver sistemas informáticos. Exemplos: exemplo, C++, C#, VB, ASP, Delphi, GO.
Software de aplicação: são programas de computadores que permitem ao usuário executar
uma série de tarefas específicas em diversas áreas de atividade. Exemplos: planilha eletrônica,
editores de texto e editores de apresentações (como PowerPoint).
Manifesto
Diferentes tipos de projetos necessitam de diferentes métodos de gerenciamento. A abordagem ágil é muito
utilizada em projetos orientados a valor.
 
Existem diversos tipos de abordagens ágeis, e estas buscam estar alinhadas com diversos princípios definidos
no documento Manifesto for Agile Software Development, criado em fevereiro de 2001 por diversos
especialistas em projetos de software.
 
Tipos de programação ágil:
• 
• 
• 
Manifesto para desenvolvimento ágil de software
Estamos descobrindo maneiras melhores de desenvolver softwares, fazendo-os nós mesmos e ajudando
outros a fazerem o mesmo. Através deste trabalho, passamos a valorizar (valores declarados do Manifesto):
 
Indivíduos e interações 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.
 
Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda. A seguir, vamos
verificar cada um desses itens.
Programação extrema – XP (eXtreme
Programming) 
Muito
utilizado
para equipes
pequenas e
médias que
desenvolvem
softwares
com
requisitos
vagos e em
constantes
mudanças.
 A estratégia
adotada é de
constante
acompanhamento
e realização de
vários pequenos
ajustes durante o
desenvolvimento
de software. Tem
valores
fundamentais
como:
comunicação,
simplicidade,
feedback,
coragem e
respeito.
 Em um projeto,
existem
variáveis de
controle do tipo
custo, tempo,
qualidade e
escopo. O XP
tem um foco
explícito em
escopo. Assim,
recomenda-se
a priorização de
funcionalidades
que
representem o
maior valor
possível para o
negócio.
 Um fator
importante no
XP é que ele
incentiva o
controle da
qualidade
como variável
do projeto,
pois o
pequeno
ganho de
curto prazo na
produtividade,
ao diminuir a
qualidade,
não é
compensado
por perdas
em médio e
longo prazo.
Método Scrum 
Scrum não é
um processo
prescribente,
ou seja, não
descreve o
que fazer
em cada
situação. Ele
é usado para
trabalhos
complexos
nos quais é
impossível
predizer
tudo o que
irá ocorrer.
 É um processo
de
desenvolvimento
iterativo e
incremental
(criado em
resposta às
fraquezas do
modelo em
cascata) para
gerenciamento
de projetos e
desenvolvimento
ágil de software.
 Muito usado
em trabalhos
complexos,
nos quais não
há previsão
exata do que
se pretende
desenvolver.
No caso do
Scrum, o
projeto é
dividido em
ciclos
(chamados de
sprints), que
correspondem
à iteração.
 Projetos
orientados a
valor
geralmente
são realizados
por
profissionais
do
conhecimento
e têm elevado
grau de
incerteza, por
terem grande
indefinição do
escopo e
elevado
número de
mudanças.
• 
• 
• 
• 
Indivíduose interações
Observe que o primeiro valor do manifesto deixa claro uma importante mensagem. Processos e as
ferramentas serão necessários no projeto; porém, devemos tentar concentrar a atenção da equipe
sobre os indivíduos e interações envolvidos no projeto.
Lembre-se que projetos são realizados por pessoas, e não por ferramentas, assim como os problemas
são resolvidos por pessoas, e não por processos.
Focando primariamente no desenvolvimento dos indivíduos envolvidos no projeto e enfatizando as
interações produtivas e eficazes, melhoramos as chances de sucesso do projeto.
Isso, no entanto, não quer dizer que processos e ferramentas não podem ajudar na conclusão de um
projeto com êxito. Processos e ferramentas bem desenhados e adequados são ativos de grande
importância.
São as denominadas ferramentas CASE (Computer-Aided Software Engineering), que correspondem a
todas as ferramentas que auxiliam os projetos de software, indo da análise de requisitos, modelagem
até a implementação e os testes.
Seu objetivo é auxiliar o desenvolvedor em todo o ciclo de desenvolvimento de software.
Software em funcionamento
O segundo valor do manifesto destaca a necessidade de entregar o software. Projetos de software
são iniciados com o objetivo de criar valor para a empresa por meio de um produto de software de
alta qualidade, mas muitas vezes entregar em partes intermediárias (incrementos).
Raramente a documentação é atualizada de forma completa e reflete a realidade do software, porém
é essencial documentar o que é preciso em um software, sem exagero.
Lembre-se sempre que software sem documentação é certamente problemático e dificulta o suporte
e a manutenção. Contudo, uma documentação completa sem software não agrega absolutamente
nada.
Colaboração com o cliente
O terceiro valor reforça a necessidade de ser flexível e eficiente, em vez de rígidos e não
cooperativos. É semelhante à diferença entre “estar certo” e “fazer a coisa certa”.
Poderíamos construir o produto exatamente como originalmente especificado, mas se o cliente mudar
de ideia ou de prioridade, você não concorda que devemos ser flexíveis e trabalhar para a nova meta?
É claro que sim. As mudanças e ajustes deverão ser refletidos em aditivos contratuais ou ajustes, mas
não deve ser um impeditivo para a continuidade do desenvolvimento e entrega do software.
Atualmente existem diversas novas formas de contratos para acolher projetos com características
ágeis, como pagamento de preço fixo por interação (ou sprint), pagamento por pontos, histórias ou
outras que permitem a flexibilidade necessária para projetos orientados a valor.
Responder a mudanças 
Em projetos com grande número de incertezas, é quase certo que os planos iniciais serão alterados.
Em vez de investir esforços na tentativa de trazer o projeto de volta aos planos originais, nós
deveríamos gastar esforço e energia para responder às inevitáveis mudanças no projeto.
Observe que esse valor não está sugerindo abandonar o planejamento e apenas reagir às mudanças.
Nós ainda precisamos planejar, mas temos de reconhecer que os planos iniciais foram criados quando
conhecíamos menos sobre o projeto (no início), e com o desenvolvimento do trabalho, vamos precisar
atualizar o plano.
Muitos dos métodos ágeis focam em macroplanos superficiais (criação de histórias, product release,
casos de uso etc.) e em um planejamento específico para iterações (ou sprints).
Saiba mais
Conheça os 12 princípios por trás do Manifesto. 
Declaração de Interdependência
Em 2005, a Agile Leadership Network - ALN criou a Declaração de Interdependência para Gerenciamento de
Projetos Ágeis.
 
Esse documento promove abordagens ágeis e adaptáveis para unir as pessoas, projetos e valor. Para alcançar
esses resultados:
 
Aumentamos o retorno sobre o investimento, fazendo fluxo contínuo de valor, o nosso foco;
 
Entregamos resultados confiáveis por envolver os clientes em interações frequentes e compartilhamos
a propriedade;
 
Esperamos a incerteza e a gerenciamos através de iterações, antecipações e adaptações;
• 
• 
• 
 
Liberamos a criatividade e a inovação, reconhecendo que os indivíduos são a melhor fonte de valor, e
criando um ambiente onde eles podem fazer a diferença;
 
Melhoramos o desempenho através de prestação de contas do grupo para resultados e
responsabilidade compartilhada para a eficácia do time;
 
Melhoramos a eficácia e confiabilidade por meio de estratégias específicas, processos e práticas.
Outras metodologias e frameworks ágeis
Feature Driven Development - FDD (Desenvolvimento Dirigido a
Funcionalidades)
Foi concebido originalmente por Jeff de Luca. O FDD surgiu em Singapura, entre os anos de 1997 e 1999 com
base no método Coad (Criado por Peter Coad – 1980/1990) e nos processos interativos e lean já utilizados por
de Luca.
 
É uma abordagem poderosa para o desenvolvimento de produtos. Busca o desenvolvimento por
funcionalidade através de um requisito funcional do sistema. Uma equipe de projeto seguindo o método FDD
primeiro desenvolve um modelo global para o produto, constrói uma lista de recursos e planeja o trabalho.
 
A equipe então se move através da concepção e construção de iterações para desenvolver cada recurso. O
FDD busca apresentar resultados frequentes, tangíveis e funcionais.
Atenção
O FDD pode atuar em conjunto com outras metodologias, principalmente com o Scrum, encaixando-se
perfeitamente como metodologia de engenharia ágil de software com projeto ágil. 
Desenvolva um modelo global para o produto.
 
Crie uma lista de funcionalidades.
 
Planeje por funcionalidade.
 
Projete por funcionalidade.
 
Construa por funcionalidade.
• 
• 
• 
• 
• 
• 
• 
• 
 
O FDD recomenda uma série de boas práticas oriundas da Engenharia de Software, como:
 
Modelagem de domínio do objeto: as equipes de explorar e explicar o domínio (ou ambiente de
negócios) do problema a ser resolvido;
 
Desenvolvimento por funcionalidade: esta prática envolve decompor as necessidades em
funcionalidades e definir períodos de desenvolvimento de uma ou mais funcionalidades em intervalos
de duas semanas ou mais curtos;
 
Propriedade individual (código): as áreas de código devem ter um único proprietário para garantir
consistência, desempenho e integridade conceitual. (Nota-se que é bem diferente da ideia de
propriedade código coletiva do XP, que visa difundir o conhecimento para outros membros da equipe);
 
Times dinâmicos: devem-se formar pequenas equipes, de forma dinâmica, de acordo com
características de cada projeto. Os times ajudam a mitigar o risco associado à propriedade individual;
 
Inspeções: são revisões que ajudam a garantir boa qualidade e design de código;
 
Gerenciamento de configuração: essa prática envolve rotulagem de código, controle de alterações e
gerenciamento do código-fonte;
 
Construções regulares: através de entregas pequenas e constantes, o time incrementa o produto de
software com a nova funcionalidade desenvolvida. Esta prática também permite criar facilmente uma
versão demo;
 
Visibilidade: controle e acompanhamento do progresso dos resultados, baseados em funcionalidades
desenvolvidas.
 
Para comparação, é importante mostrar o percentual de tempo gasto em cada etapa:
 
Levantamento do domínio da aplicação = 1%;
 
Projeto = 40%;
 
Inspeção do projeto = 3%;
• 
• 
• 
• 
• 
• 
• 
• 
• 
• 
• 
 
Desenvolvimento = 45%;
 
Inspeção do código = 10%;
 
Integração = 1%.
Você poderá aprofundar seus conhecimentos sobre o FDD, acessando o Feature Driven Development, website
oficial da metodologia. 
Feature Driven Development
Consultado na internet em 16 maio 2019.
Dynamic Systems Development Method - DSDM (Metodologia de Desenvolvimento de Sistemas Dinâmicos),
foi um dos pioneiros dos métodos ágeis. É uma metodologia de desenvolvimento bastante prescritiva,
baseada em Rapid Application Development - RAD (Desenvolvimento Rápido de Aplicações), que enfatiza o
envolvimento constante do usuário durante todoo projeto.
 
Oferece uma metodologia para construir e manter sistemas que atendem restrições de prazo apertado,
através do uso da prototipagem incremental. Cria três ciclos iterativos, abrangendo aspectos de um projeto
ágil, analisando sempre a viabilidade e necessidade do negócio para a implementação.
Ciclo de vida do DSDM
O ciclo de vida do DSDM é iterativo e incremental. Portanto, a solução não pode ser entregue à empresa de
uma só vez, mas de uma série de incrementos que facilitam a solução com cada entrega.
 
Dessa forma, as necessidades de negócios urgentes podem ser priorizadas e abordadas cedo, enquanto
características menos importantes são implementadas e entregues mais tarde.
 
A natureza iterativa permite que os representantes de negócios vejam e se envolvam no trabalho em
construção, analisando e já sugerindo os ajustes e alterações necessárias durante o desenvolvimento de um
incremento da solução.
 
O DSDM pode ser utilizado sozinho como metodologia ágil, porém o seu uso com outros métodos e boas
práticas de gerenciamento de projetos ou técnicas de desenvolvimento detalhados podem contribuir para a
melhora nos processos e resultados.
 
Os ciclos são:
 
1. A iteração de modelos funcionais: neste ciclo, é produzido um conjunto de protótipos incrementais que
demonstram a funcionalidade para o cliente;
 
• 
• 
• 
2. A iteração de projeto e desenvolvimento: neste ciclo, revisitamos os protótipos desenvolvidos durante a
iteração de modelos funcionais para assegurar que cada um tenha passado por um processo de engenharia
para capacitá-los a oferecer aos usuários finais valor de negócio em termos operacionais;
 
3.Implementação: no qual colocamos a última versão do incremento de software (um protótipo
operacionalizado) no ambiente operacional.
Atenção
 Em qualquer dos casos, o trabalho do desenvolvimento do DSDM continua, retornando à atividade de
iteração do modelo funcional. 
Conteúdo interativo
Acesse a versão digital para ver mais detalhes da imagem
abaixo.
 Ciclo de vida DSDM.
Você poderá aprofundar seus conhecimentos sobre o DSDM, acessando o site oficial da metodologia,
Crystal
Crystal é uma família de metodologias (Família Crystal de Metodologia) desenvolvidas por Alistair Cockburn,
em meados da década de 1990.
 
Ela inclui um grande número de métodos diferentes, que são selecionados de acordo com as características
do projeto a ser desenvolvido, destinadas para projetos que vão desde aqueles executados por pequenas
equipes de desenvolvimento com baixa criticidade e provê abordagens até com grandes equipes que
implementam sistemas de alta criticidade.
 
Características comuns à família Crystal:
 
Desenvolvimento incremental com ciclos de no máximo quatro meses;
 
Ênfase maior na comunicação e cooperação das pessoas;
 
Não limitação de quaisquer práticas de desenvolvimento, ferramentas ou produtos de trabalho;
 
Incorporação de objetivos para reduzir produtos de trabalho intermediários e desenvolvê-los como
projetos evoluídos;
 
Utilização de cores diferentes para indicar o "peso" do projeto e qual metodologia aplicar.
Conteúdo interativo
Acesse a versão digital para ver mais detalhes da imagem
abaixo.
 Método Crystal. 
Princípios ágeis da família Crystal:
 
Entregas frequentes.
• 
• 
• 
• 
• 
• 
 
Melhoria reflexiva: verificação constante e busca contínua de promoção de melhoria e implementação
de novos métodos;
 
Comunicação osmótica: membros são alocados próximos uns dos outros para melhorar a comunicação,
conceito também conhecido como War Room (Sala de Guerra);
 
Segurança pessoal: o Crystal defende um ambiente seguro para que todos possam apresentar suas
dúvidas e questionamentos;
 
Foco: cada membro do time deve saber o que precisa fazer e ter liberdade suficiente para trabalhar no
que é necessário;
 
Fácil acesso ao usuário: fácil acesso aos usuários chaves e rápido feedback;
 
Ambiente automatizado: testes automatizados, controle de configurações, integração contínua etc.
 
Você poderá aprofundar seus conhecimentos sobre o Crystal, acessando o: Alistair Cockburn, web site do
criador destas metodologias. 
Verificando o aprendizado
Questão 1
Analisando o conteúdo da aula, faça uma reflexão sobre as características dos princípios ágeis e das
metodologias apresentadas e verifique se você utiliza (ou poderia utilizar) alguma destas características em
seu dia a dia nos projetos de software.
 
I) Processos e ferramentas não são importantes segundo o Manifesto Ágil, já que priorizam indivíduos e
interações.
II) Colaboração com o cliente mais que negociação de contratos significa que não vamos ignorar os contratos,
mas a prioridade é atender o cliente e não parar o projeto para discutir contratos. Os contratos podem/devem
ser negociados sem prejudicar o trabalho em andamento.
III) Nos métodos ágeis não planejamos (executamos direto para ganhar tempo).
 
Assinale a alternativa correta:
A Apenas a alternativa II está correta.
• 
• 
• 
• 
• 
• 
B Apenas as alternativas I e II estão corretas.
C Apenas as alternativas II e III estão corretas.
D Apenas a alternativa III está correta.
E Todas as alternativas estão corretas.
A alternativa A está correta.
Indivíduos e interações mais que processos e ferramentas:
Observe que o primeiro valor do manifesto deixa claro uma importante mensagem, processo, e as
ferramentas provavelmente serão necessárias no projeto, porém devemos tentar concentrar a atenção da
equipe sobre os indivíduos e interações envolvidos no projeto.
Lembre que projetos são realizados por pessoas, e não por ferramentas, assim como os problemas são
resolvidos por pessoas, e não processos.
Focando primariamente no desenvolvimento dos indivíduos envolvidos no projeto e enfatizando as
interações produtivas e eficazes, melhoramos as chances de sucesso do projeto.
Lembre que isso não é dizer que processos e ferramentas não podem ajudar na conclusão de um projeto
com êxito. Processos e ferramentas bem desenhados e adequados são ativos de grande importância.
Responder a mudanças mais que seguir um plano:
Em projetos com grande número de incertezas, é quase certo que os planos iniciais serão alterados. Em
vez de investir esforços na tentativa de trazer o projeto de volta aos planos originais, nós deveríamos
gastar esforço e energia responder às inevitáveis mudanças no projeto.
Observe que este valor não está sugerindo abandonar o planejamento e apenas reagir às mudanças. Nós
ainda precisamos planejar, mas temos de reconhecer que os planos iniciais foram criados quando
conhecíamos menos sobre o projeto, e com o desenvolvimento do trabalho, vamos precisar atualizar o
plano.
Muitos dos métodos ágeis focam em macroplanos superficiais (criação de histórias, product release, casos
de uso etc.) e um planejamento mais específico para iterações (ou sprints).
Questão 2
Indique a alternativa que NÃO é um dos 12 princípios ágeis:
A Pessoas de negócio e desenvolvedores devem trabalhar diariamente em conjunto por todo o projeto.
B Simplicidade - a arte de maximizar a quantidade de trabalho não realizado é essencial.
C Entregar frequentemente software funcionando, de poucas semanas a poucos meses, com preferência
à menor escala de tempo.
D Construa projetos em torno de indivíduos motivados. Dê a eles o ambiente e o suporte necessário e
confie neles para fazer o trabalho.
E Mudanças nos requisitos não são bem-vindas, quando tardiamente no desenvolvimento aumentam as
despesas e desanimam a equipe.
A alternativa E está correta.
Mudanças nos requisitos são bem-vindas, mesmo tardiamente no desenvolvimento. Processos ágeis tiram
vantagem das mudanças visando vantagem competitiva para o cliente.
Questão 3
É uma abordagem simples de entender e poderosa para o desenvolvimento de produtos. Uma equipe de
projeto seguindo este método irá primeiro desenvolver um modelo global para o produto, construir uma lista
de recursos e planejar o trabalho. A equipe então se move através da concepção e construçãode iterações
para desenvolver cada recurso. Este método busca apresentar resultados frequentes, tangíveis e funcionais.
 
A descrição acima refere-se a que método?
A Feature Driven Development - FDD (Desenvolvimento dirigido a funacionalidades).
B Crystal Red.
C Dynamic Systems Development Method - DSDM (Metodologia de Desenvolvimento de Sistemas
Dinâmicos).
D Crystal Yellow.
E Crystal Clear.
A alternativa A está correta.
O FDD - Feature Driven Development significa “desenvolvimento dirigido a funcionalidades” e busca o
desenvolvimento por funcionalidade através de um requisito funcional do sistema.
Uma equipe de projeto seguindo o método FDD irá primeiro desenvolver um modelo global para o produto,
construir uma lista de recursos e planejar o trabalho.
Questão 4
Este método foi um dos pioneiros dos métodos ágeis. É uma metodologia de desenvolvimento bastante
prescritiva, baseada em Rapid Application Development - RAD (Desenvolvimento Rápido de Aplicações), que
enfatiza o envolvimento constante do usuário durante todo o projeto.
 
Cria um amplo ciclo de vida de projeto, abrangendo aspectos de um projeto ágil analisando sempre a
viabilidade e necessidade do negócio para a implementação.
 
O ciclo de vida deste método é iterativo e incremental. Portanto, a solução não pode ser entregue à empresa
de uma só vez, mas de uma série de incrementos que melhoram a solução com cada entrega.
 
Dessa forma, as necessidades de negócios urgentes podem ser priorizadas e abordadas cedo, enquanto
características menos importantes são implementadas e entregues mais tarde.
 
A descrição acima refere-se a que método?
A Feature Driven Development - FDD (Desenvolvimento Dirigido a Funcionalidades).
B Crystal Red.
C Dynamic Systems Development Method - DSDM (Metodologia de Desenvolvimento de Sistemas
Dinâmicos).
D Crystal Yellow.
E Crystal Clear.
A alternativa C está correta.
O DSDM é o método que cria um amplo ciclo de vida de projeto, abrangendo aspectos de um projeto ágil,
analisando sempre a viabilidade e a necessidade do negócio para a implementação, podendo ser iterativo e
incremental.
2. Modelos de ciclo de vida de software
Contextualização e modelos
O mundo moderno exige cada vez mais tecnologia e novas plataformas de gestão da informação e
comunicação.
 
O software hoje está voltado não só para a web, mas também para diversos segmentos como indústria,
comércio, saúde, segurança e muito mais. Além disso, atua na inteligência artificial, estando presente nos
eletrodomésticos como TV, geladeiras, lavadoras, micro-ondas, sistema elétrico residencial e muitos outros.
Estudado dentro da área de Engenharia de Software, é considerado um fator fundamental para a obtenção de
softwares de qualidade.
Por que é importante utilizar um modelo de ciclo de vida para desenvolver softwares?
A resposta é simples: o modelo de ciclo de vida é a primeira escolha a ser feita no processo de software, que
abrange a vida do sistema, desde a definição de requisitos até a conclusão do projeto e entrega do produto.
Comentário
Esse ciclo de vida está agrupado em fases, como: definição de requisitos, análise, projeto,
desenvolvimento, teste e implantação. Em cada fase são definidas, além das atividades, as funções e
responsabilidades de cada membro da equipe do projeto. 
É necessário conhecer as características do projeto a ser desenvolvido para escolhermos o melhor ciclo de
vida e os recursos humanos empregados no projeto.
 
Esses devem ser reconhecidamente capazes de enfrentar os desafios que se apresentam diante das
dificuldades inerentes de todo e qualquer projeto de software.
 
Principais modelos de ciclo de vida de software:
 
Cascata;
 
Modelo em V;
 
Modelo incremental;
 
Evolutivo;
 
Iterativo e incremental;
 
RAD;
 
Prototipagem;
 
Espiral;
 
Modelo de ciclo de vida associado ao RUP.
 
Assista ao vídeo e veja esses modelos mais detalhadamente.
Conteúdo interativo
Acesse a versão digital para assistir ao vídeo.
Cascata
O modelo cascata, ou sequencial linear, é considerado o mais antigo e o mais usado na engenharia de
software em todo o mundo. Este é o grande mérito deste modelo.
Seu nome foi atribuído devido à sequência com que cada fase do desenvolvimento dependia do
término da fase anterior, ou seja, o resultado de uma fase era utilizado com a entrada para a fase
seguinte.
Nesse modelo, a ênfase maior ficava por conta das fases de análise e projeto antes de iniciar a implementação
(codificação).
• 
• 
• 
• 
• 
• 
• 
• 
• 
Conteúdo interativo
Acesse a versão digital para ver mais detalhes da imagem
abaixo.
Modelo cascata.
É possível retornar a uma etapa anterior; entretanto deve-se analisar muito bem em relação às áreas técnica e
financeira, sem prejuízo das partes envolvidas.
Modelo em V
Este modelo é uma variação do cascata, ajustando as atividades de testes com as fases de análise e projeto.
 
Da mesma forma que no cascata, o modelo em V é sequencial, o que significa que cada fase necessita ser
concluída antes do início da fase seguinte.
Conteúdo interativo
Acesse a versão digital para ver mais detalhes da imagem
abaixo.
Vantagens do modelo cascata 
A fase de
análise de
requisitos
(única) leva
ao projeto
do sistema
e, por sua
vez, antes
da fase de
codificação;
 Ao final de
cada fase e
antes de
iniciar a
seguinte,
devem ser
feitas
revisões
com a
participação
do usuário;
 Cada etapa
(fase) deve
passar por
aprovação e
documentação,
visando o
passo
seguinte.
Desvantagens do modelo cascata 
O fluxo
sequencial
proposto
pelo
modelo
geralmente
não é
seguido;
 O modelo
cascata
exige que os
requisitos
sejam
claramente
definidos e
completos,
pois são
estabelecidos
na fase
inicial do
projeto;
 O módulo
executável para
testes somente
fica disponível ao
final do projeto,
isto é, na etapa
avançada do
desenvolvimento,
exigindo um
grande esforço.
• • • 
• • • 
Modelo em V.
Como podemos observar, no modelo em V os procedimentos de testes são planejados em praticamente todas
as fases do desenvolvimento, diferentemente do que ocorre no modelo em cascata.
Incremental
 Assista o vídeo e conheça o modelo incremental.
Conteúdo interativo
Acesse a versão digital para assistir ao vídeo.
No modelo incremental, as novas funcionalidades ou necessidades do usuário são integradas de forma
segmentada e em série até a conclusão do produto final.
 
Este modelo se propõe a aumentar pouco a pouco o software, conforme as necessidades surgem.
Conteúdo interativo
Acesse a versão digital para ver mais detalhes da imagem
abaixo.
Vantagens do modelo em V 
Maior chance de
sucesso quando
comparado com o
modelo cascata,
devido ao
desenvolvimento de
planos de teste desde
as fases iniciais;
 Funciona
bem para
projetos
pequenos,
nos quais os
requisitos
são
facilmente
entendidos.
Desvantagens do modelo em V 
Tão
rígido
quanto
o
modelo
cascata;
 Requisitos devem ser
estabelecidos
corretamente e de
forma clara no início
do projeto.
• • 
• • 
Modelo incremental.
O modelo incremental deve ser adotado quando os requisitos são claramente conhecidos na fase inicial do
desenvolvimento e há a necessidade de entrega de um módulo ou funcionalidade do software em curto
espaço de tempo.
Atenção
É importante notar que, a cada incremento, uma nova versão do software é produzida. 
Conteúdo interativo
Acesse a versão digital para ver mais detalhes da imagem
abaixo.
Fases do modelo incremental.
Modelo evolutivo
O modelo evolutivo obedece a um processo que visa o desenvolvimento do software a partir de requisitos de
protótipos iniciais.
 
Neste modelo, as versões parciais são desenvolvidas para atender aos requisitos levantados inicialmente.
Assim, a primeira versão é usada para refinar os requisitos visando uma segunda versão e, a partir do
conhecimento obtido com o uso, o desenvolvimento prossegue, evoluindo, então, o produto.
Iterativo e incremental
Assista ao vídeo e conheça o modelo iterativo e incremental.
Conteúdo interativo
Acesse a versãodigital para assistir ao vídeo.
O processo de desenvolvimento em cascata apresenta uma série de vantagens, porém tem também
alguns pontos fracos. Para solucionar este impasse, estudiosos de TI criaram o modelo de
desenvolvimento iterativo e incremental.
Esse modelo trouxe bastante agilidade e flexibilidade nos processos de desenvolvimento de software, o que
permitiu uma maior capacidade de lidar com as demandas do mercado e, assim, atingir melhores resultados
em médio e longo prazo.
 
Vantagens do modelo incremental 
A entrega da
primeira versão
apresenta um menor
custo e menos
tempo se
comparado com os
modelos em cascata
e em V;
 Poucos riscos
associados ao
desenvolvimento
dos incrementos
devido ao seu
tamanho
reduzido.
Desvantagens do modelo incremental 
No caso de requisitos mal definidos ou
incompletos, alguns incrementos
podem ser retrabalhados, o que gera
custos e atrasos.
• • 
Vantagens do modelo evolutivo 
É usado quando
os requisitos se
apresentam
incompletos no
início do
desenvolvimento;
 Com o uso do
sistema, o
conhecimento sobre
o produto vai
aumentando e,
consequentemente,
melhorando os
requisitos.
Desvantagens do modelo evolutivo 
É necessário um
rígido controle
sobre os custos,
grande
preocupação
com o
cronograma e
com a
configuração do
software;
 Usuários
precisam
estar
preparados
quanto aos
resultados
iniciais, que
podem
parecer
insatisfatórios.
• • 
• • 
Basicamente, este modelo divide o desenvolvimento do software em pequenos ciclos ou módulos ou novas
funcionalidades. Cada funcionalidade deve corresponder a uma necessidade do usuário à medida que for
necessária à sua construção.
 
Para o desenvolvimento de cada funcionalidade, é utilizado um pequeno modelo em cascata, objetivando,
assim, atender às necessidades sempre que se fizer necessário.
 
Precisamos, então, identificar as necessidades dos usuários e definir uma escala de prioridades para cada
uma dessas funcionalidades.
Conteúdo interativo
Acesse a versão digital para ver mais detalhes da imagem
abaixo.
Modelo de desenvolvimento iterativo e incremental.
Outros modelos
RAD (Rapid Application Development)
O modelo RAD é um modelo de desenvolvimento de software incremental que enfatiza um ciclo de
desenvolvimento curto e se apresenta de forma sequencial linear.
A rapidez ou velocidade com que o software é desenvolvido se deve pelo fato de várias equipes trabalharem
em paralelo, quando o produto pode ser dividido em módulos. Um projeto de software que utiliza o RAD
consome em média de 60 a 90 dias.
 
O uso deste modelo exige requisitos bem definidos e estabilizados, além de escopo restrito e com
possibilidade de ser dividido em módulos.
Conteúdo interativo
Acesse a versão digital para ver mais detalhes da imagem
abaixo.
Modelo de desenvolvimento iterativo e incremental.
Prototipagem
O modelo prototipagem é utilizado quando é definido um conjunto de objetivos gerais para o software, mas os
detalhes não estão claramente definidos como requisitos de entrada, processamento ou saída.
 
O ciclo do modelo prototipagem começa com a comunicação entre o engenheiro de software e o cliente,
quando são definidos os objetivos gerais do software, identificando as necessidades conhecidas e são
verificadas as áreas que necessitam de mais definição.
 
Os usuários podem fazer simulações com o protótipo, identificando mais detalhadamente funcionalidades que
deverão ser disponibilizadas futuramente.
 
A versão inicial do software ajuda a determinar a viabilidade técnica, custos e prazo do projeto.
 
É importante haver uma forte interação com o usuário para que rapidamente o protótipo seja implementado de
acordo com as etapas:
 
Obtenção dos requisitos;
 
Vantagens do modelo RAD 
O ciclo de
desenvolvimento é
extremamente curto
se comparado com
os demais modelos;
 Distribuição de
tarefas é
facilitada entre
as equipes de
desenvolvimento.
Desvantagens do modelo RAD 
Requer equipes
de
desenvolvimento
adequadas para
atender à
demanda de
projetos grandes
e escaláveis;
 Não é
apropriado
quando os
riscos são
grandes;
 Não é
apropriado
quando o
sistema
precisa
interagir
com
outros
sistemas.
• • 
• • • 
• 
Projeto rápido;
 
Construção do protótipo;
 
Avaliação do protótipo;
 
Refinamento do protótipo;
 
Construção do produto.
Modelo espiral
O modelo espiral se divide em duas etapas principais: análise de riscos e prototipagem. A cada novo ciclo,
esse modelo testa constantemente erros que podem vir a acontecer.
 
A cada iteração, a volta da espiral pode ser baseada em um modelo diferente e pode ter diferentes atividades.
Ou seja, a cada repetição é refeita a análise de a prototipação até que não existam grandes riscos no
desenvolvimento.
 
No modelo espiral, em cada repetição do ciclo devem ocorrer no projeto:
 
Determinação de objetivos.
 
Avaliação e redução de riscos.
 
Desenvolvimento e validação.
 
• 
• 
• 
• 
• 
Vantagens do modelo prototipagem 
O
protótipo
deve ser
avaliado
pelo
usuário;
 A interação do usuário
com o protótipo é
fundamental para ajustar
as necessidades
funcionais.
Desvantagens do modelo prototipagem 
O
usuário
pode
pensar
que a
maior
parte do
software
está
pronta;
 O protótipo pode
crescer de maneira
não planejada, com
risco de se tornar um
incremento funcional;
 
O protótipo pode
confundir o usuário
iludido por um
desempenho melhor
do que um incremento
funcional;
 
O fato de o protótipo
não implementar toda
a funcionalidade pode
causar frustação para
o usuário quando o
sistema completo é
entregue.
• • 
• • 
• 
• 
• 
• 
• 
Planejamento da próxima iteração.
 
Os riscos são considerados à medida que cada evolução é realizada.
 
A primeira atividade se dá com o desenvolvimento de uma especificação de produto, as próximas passagens
podem ser usadas para desenvolver um protótipo e assim sucessivamente.
Conteúdo interativo
Acesse a versão digital para ver mais detalhes da imagem
abaixo.
Modelo espiral.
Cada passagem pela fase do planejamento, por exemplo, resulta em ajustes no planejamento do projeto. O
custo e o cronograma são sempre ajustados de acordo com o feedback obtido do usuário após uma entrega.
 
Na imagem, cada loop representa uma fase de desenvolvimento do software.
RUP (Rational Unified Process)
O RUP foi desenvolvido em 1999 por Jacobson, Booch e Rumbaugh depois de terem definido a UML. É um
processo que integra ciclos, fases e disciplinas, visando a qualidade no gerenciamento de projetos.
 
O ciclo de vida do desenvolvimento do software é dividido nas seguintes fases:
• 
Vantagens do modelo espiral 
Muita
análise
de
riscos;
 Bom para
projetos
grandes
e críticos;
 Software é
produzido
cedo no
ciclo de
vida.
Desvantagens do modelo prototipagem 
Pode
ser
custoso;
 Análise de
riscos
requer
experiência;
 Não se
aplica
bem a
projetos
menores.
• • • • • • 
Concepção
Define o escopo do projeto.
Elaboração
Planeja o projeto, define e valida a arquitetura.
Construção
Construção do software.
Transição
Implantação do software.
As disciplinas requisitos, análise, projeto, implementação, testes e implantação vão estar presentes em cada
uma dessas fases, com maior ou menor ênfase, conforma mostra a imagem:
Conteúdo interativo
Acesse a versão digital para ver mais detalhes da imagem
abaixo.
Disciplinas do modelo RUP.
Verificando o aprendizado
Questão 1
(Fonte: FUNRIO 2013 – MPOG Analista de Tecnologia da Informação)
 
Considere o seguinte problema encontrado em projetos de desenvolvimento de software: projetos reais
raramente seguem um fluxo sequencial. Apesar de um modelo linear poder acomodar a iteração, ele o faz
indiretamente.
 
Como resultado, as modificações podem causar confusão à medida que a equipe de projeto prossegue. Esse
é um dos problemas que são algumas vezes encontrados quando é aplicado qual modelo de
desenvolvimento?
A Em cascata.
B Iterativo e incremental.
C Iterativo.
D Incremental.
E Evolutivo
A alternativa A está correta.
O problema do modelo em cascata é a necessidadede um fluxo sequencial, enquanto os projetos do
mundo real não seguem necessariamente esta sequencialidade.
Questão 2
(Fonte: FCC 2013 – AL-RN Analista Legislativo – Analista de Sistemas).
 
O primeiro modelo de desenvolvimento de software a ser publicado foi derivado de processos mais gerais da
engenharia de sistemas. Por causa do encadeamento entre uma fase e outra, esse modelo é conhecido como
modelo em cascata ou ciclo de vida de software.
 
Dentre seus principais estágios, se encontra a análise e definição de requisitos, o projeto de sistema e
software e...
A A análise de recursos e software.
B O desenvolvimento incremental.
C A geração de relatórios de teste.
D As pesquisas e testes.
E Implementação e teste unitário.
A alternativa E está correta.
De acordo com o modelo cascata apresentado, após a fase de projeto vem a de implementação e teste
unitário.
Questão 3
(Fonte: FUMARC 2012 – TJ-MG Oficial Judiciário – Assistente Técnico de Sistemas).
 
Em relação aos modelos de processos de software, pode-se dizer que os modelos incremental e evolucionário
têm a característica de serem iterativos.
 
Assinale a alternativa que melhor descreve um modelo de produção de software iterativo:
A Os incrementos de um software são entregues ao cliente de uma só vez.
B Um modelo de produção de software iterativo é composto pelas fases de análise de requisitos, projeto,
implementação, testes (validação), integração e manutenção de software.
C
A abordagem iterativa possibilita desenvolver um sistema de software de forma incremental, permitindo ao
desenvolvedor tirar vantagem daquilo que foi aprendido durante a fase inicial de desenvolvimento de uma
versão do sistema. O aprendizado ocorre simultaneamente tanto para o desenvolvedor quanto para o
usuário do sistema.
D Os incrementos de um software são entregues ao cliente somente duas vezes.
E
 Um modelo de produção de software iterativo é composto pelas fases de análise de requisitos, projeto
e implementação.
 
A alternativa C está correta.
Os incrementos são entregues durante todos os ciclos. A etapa de manutenção não entra no ciclo, vai até
desde a elicitação de requisitos até a integração e implantação no cliente. A abordagem iterativa trabalha
também de forma incremental.
Questão 4
(Fonte: UFF 2009 – Analista de Tecnologia da Informação).
 
Em relação aos ciclos de vida do software, o desenvolvimento de sistemas por meio de ciclo de vida iterativos
garante ao sistema:
A Atualização contínua
B Legalidade
C Segurança
D Legibilidade
E Utilização mínima de recursos
A alternativa A está correta.
De acordo com o conteúdo que discutimos nas aulas, o modelo iterativo permite que o software seja
desenvolvido em ciclos, atualizando as suas necessidades em cada ciclo.
Questão 5
(Fonte: CESPE 2010 – Detran-ES – Analista de Sistemas).
Quando um aplicativo de software desenvolvido em uma organização atinge, no fim do seu ciclo de vida, a
fase denominada aposentadoria, descontinuação ou fim de vida, todos os dados por ele manipulados podem
ser descartados.
 
Assinale a alternativa correta:
A Verdadeiro
B Falso
A alternativa B está correta.
Não podemos descartar os dados, somente o software que será substituído por outro.
Questão 6
(Fonte: FCC 2013 – DPE-SP – Agente de Defensoria – Analista de Sistemas).
 
A prototipação representa uma técnica poderosa para o desenvolvimento de sistemas, mais especificamente
do software desses sistemas. Sobre as funções desempenhadas por um protótipo, é correto afirmar que ele:
A Permite avaliar o desempenho geral da equipe de desenvolvimento de software.
B Não permite que sejam realizados testes, visando verificar o funcionamento do sistema final, ainda que
sejam testes parciais.
C É inteiramente descartado, não sendo aproveitada nenhuma parte do código de software no sistema
final entregue ao cliente.
D Não possibilita avaliar a qualidade do software produzido.
E Pode auxiliar na validação de requisitos do sistema, bem como propiciar a inserção de novos requisitos
ainda não identificados.
A alternativa E está correta.
O propósito básico da prototipação é sempre auxiliar na validação e elicitação de requisitos (necessidades)
do software.
Questão 7
(Fonte: FCC 2012 – TST – Analista Judiciário – Analista de Sistemas).
 
O ciclo de vida de um sistema especifica todas as fases de desenvolvimento, desde sua concepção até o
processo de manutenção e declínio. No que diz respeito ao desenvolvimento de softwares, existem alguns
processos conhecidos.
 
Um desses processos tem característica iterativa e incremental, inicia cada fase do projeto realizando um
planejamento prévio, realiza a execução da fase, verifica o progresso e os resultados da fase (riscos, lições
aprendidas) e incrementa novos objetivos para a fase seguinte, seguindo para a próxima iteração. O modelo
de software em questão é:
A O modelo espiral.
B O modelo cascata.
C A prototipação.
D RAD.
E O modelo evolutivo.
A alternativa A está correta.
O modelo espiral caracteriza-se pelo planejamento e pela análise de risco em cada fase da espiral.
Questão 8
Observe um modelo de ciclo de vida para desenvolvimento de sistemas. Nessa abordagem, o
desenvolvimento do produto de software é dividido em ciclos, sendo identificadas, em cada ciclo, as fases de
análise, projeto, implementação e testes.
Conteúdo interativo
Acesse a versão digital para ver mais detalhes da imagem
abaixo.
Esse modelo é conhecido como ciclo de vida…
A Por prototipação em cascata.
B Por estágios em módulos.
C Iterativo e incremental.
D Evolutivo e procedural. 
E Iterativo e evolutivo
A alternativa C está correta.
De acordo com o que discutimos nas aulas, o modelo que é dividido em ciclos e contempla as fases do
modelo é o iterativo e incremental.
Questão 9
(Fonte: IADES 2010 – CFA Analista de Sistemas).
 
O modelo espiral para a Engenharia de Software foi desenvolvido acrescentando-se novos elementos às
melhores características de outros modelos. Segundo o modelo espiral, a determinação dos objetivos,
alternativas e restrições está relacionada à atividade de:
A análise de risco.
B planejamento.
C engenharia.
D avaliação feita pelo cliente.
E feedback do cliente.
A alternativa B está correta.
A etapa de planejamento é caracterizada pela especificação dos objetivo, alternativas e restrições do
software.
Questão 10
No que se refere aos modelos de desenvolvimento e ciclos de vida, julgue o item que segue.
 
No modelo iterativo, divide-se o desenvolvimento em iterações. A cada iteração, podem ser acrescentadas
novas funcionalidades ao software.
 
Uma iteração parte do estado no qual se encontravam os artefatos ao término da iteração anterior e resulta
em um incremento. Uma iteração pode ter disciplinas como captura de requisitos, análise, projeto,
implementação e teste.
A Verdadeiro
B Falso
A alternativa A está correta.
Cada iteração passa por pequenos modelos em cascata, nos quais novas funcionalidades são adicionadas
ao software.
Questão 11
Discuta como o modelo cascata e a prototipação podem ser utilizados no modelo em espiral.
Chave de resposta
Podemos utilizar a prototipação na análise de riscos e utilizar o modelo cascata na engenharia.
3. Conclusão
Considerações finais
Neste conteúdo, abordamos os principais fundamentos do desenvolvimento de software, começando pela
compreensão do que é um produto software e como ele é planejado, construído e gerenciado ao longo de seu
ciclo de vida. Exploramos o Manifesto Ágil para Desenvolvimento de Software e seus 12 princípios, que
orientam práticas mais flexíveis, colaborativas e centradas no valor entregue ao cliente. Também discutimos
conceitos fundamentais da Engenharia de Software e as principais atividades envolvidas no processo de
desenvolvimento.
 
Aprofundamos o estudo dos métodos ágeis mais utilizados no mercado, como o Feature Driven Development
(FDD), o Dynamic Systems Development Method (DSDM) e o Crystal, além de apresentar a Declaração de
Interdependência,que reforça a colaboração e a responsabilidade compartilhada em projetos ágeis. Esses
métodos se destacam por sua capacidade de promover entregas incrementais e adaptar-se rapidamente a
mudanças.
 
Na sequência, exploramos os modelos de qualidade de software e a importância da medição como prática
contínua para garantir desempenho, produtividade e confiabilidade. Discutimos a implantação de programas
de medição nas organizações, destacando que as métricas são ferramentas essenciais para o controle dos
processos e para o sucesso dos projetos.
 
Concluímos que a falta de controle é um dos principais fatores que comprometem os prazos, os custos e a
implantação de grandes projetos. Por isso, o domínio desses conceitos é indispensável para profissionais que
desejam atuar com competência na área de desenvolvimento de software, contribuindo para a entrega de
soluções de alta qualidade em um mercado cada vez mais exigente.
Explore +
Leia o texto: 
 
Aplicação de metodologias ágeis para desenvolvimento de software: um estudo de caso na empresa
Alliance Software.
 
Busque os textos na internet:
 
Ciclo de vida iterativo e incremental.
Comparação geral das metodologias clássicas de desenvolvimento de software.
Referências
AGILE MANIFESTO. Os 12 princípios por trás do Manifesto Ágil. Consultado na internet em 15 mai.
2019.
 
BOOCH, G.; RUMBAUGH, J.; JACOBSON, I. UML: guia do usuário. Rio de Janeiro: Campus, 2000.
• 
• 
• 
• 
• 
https://cdn-conteudo.ensineme.com.br/Aplicacaode_Metodologias_Ageispara_Desenvolvimentode_Softwareum_Estudode_Casona_Empresa_Alliance_Software_414a221b23.pdf
https://cdn-conteudo.ensineme.com.br/Aplicacaode_Metodologias_Ageispara_Desenvolvimentode_Softwareum_Estudode_Casona_Empresa_Alliance_Software_414a221b23.pdf
 
FDD. Feature Driven Development. Consultado na internet em 15 mai. 2019.
 
GORDON, S.R.; GORDON, J.R. O ciclo de vida do desenvolvimento de sistemas. In: Sistemas de
informação: uma abordagem gerencial. LTC, 2006. Consultado na internet em 17 mai. 2019.
 
PFLEEGER, Shari Lawrence. Engenharia de Software: teoria e prática. 2. ed. São Paulo: Pearson, 2003.
 
PRESSMAN, Roger S. Uma abordagem profissional. 8. ed. Rio de janeiro: Bookman, 2016.
 
SOMMERVILLE, Ian. Engenharia de Software. 9. ed. São Paulo: Pearson, 2011.
• 
• 
• 
• 
• 
	Modelos de ciclo de vida de software
	1. Itens iniciais
	Propósito
	Objetivos
	Introdução
	1. O que é engenharia de software
	Contextualização
	O que é projeto?
	Original
	Organização de pessoas e recursos
	Para atingir um propósito específico
	Num período de tempo finito
	O que é software?
	Composição e classificação do software
	Composição do software
	Classificação do software
	Manifesto
	Manifesto para desenvolvimento ágil de software
	Indivíduos e interações
	Software em funcionamento
	Colaboração com o cliente
	Responder a mudanças
	Saiba mais
	Declaração de Interdependência
	Outras metodologias e frameworks ágeis
	Feature Driven Development - FDD (Desenvolvimento Dirigido a Funcionalidades)
	Atenção
	Ciclo de vida do DSDM
	Atenção
	Conteúdo interativo
	Crystal
	Conteúdo interativo
	Verificando o aprendizado
	2. Modelos de ciclo de vida de software
	Contextualização e modelos
	Comentário
	Conteúdo interativo
	Cascata
	Conteúdo interativo
	Modelo em V
	Conteúdo interativo
	Incremental
	Conteúdo interativo
	Conteúdo interativo
	Atenção
	Conteúdo interativo
	Modelo evolutivo
	Iterativo e incremental
	Conteúdo interativo
	Conteúdo interativo
	Outros modelos
	RAD (Rapid Application Development)
	Conteúdo interativo
	Prototipagem
	Modelo espiral
	Conteúdo interativo
	RUP (Rational Unified Process)
	Concepção
	Elaboração
	Construção
	Transição
	Conteúdo interativo
	Verificando o aprendizado
	Questão 8
	Conteúdo interativo
	3. Conclusão
	Considerações finais
	Explore +
	Referências

Mais conteúdos dessa disciplina