Buscar

Aula 04 - Conceitos de Engenharia de SW e Modelos de Processos de SW - 15 de Janeiro 2020 - Fábio

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 98 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 98 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 98 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PREPARATÓRIO 
PARA
Quadro Técnico
2020
Aula 04: Engenharia de Software
fabiobond81@gmail.com
Professor: Fábio Bonner
Conceitos
Software de computador é o produto que profissionais de software 
desenvolvem e ao qual dão suporte no longo prazo. 
A engenharia de software tem por objetivo apoiar o 
desenvolvimento profissional de software, mais do que a 
programação individual. 
A engenharia de SW inclui técnicas que apoiam especificação, 
projeto e evolução de programas, que normalmente não são 
relevantes para o desenvolvimento de software pessoal.
Conceitos iniciais
Conceitos
A engenharia de software abrange um processo, um conjunto de 
métodos (práticas) e um leque de ferramentas que possibilitam aos 
profissionais desenvolverem software de altíssima qualidade.
Software é produto industrial
Tipos de SW (Sommerville):
Produtos genéricos
Ex: Editores de texto, sistemas odontológicos, etc
Produtos sob encomenda
Ex: Controle de tráfego aéreo
Conceitos iniciais
Atributos essenciais de qualidade de forma geral(Sommerville)
Conceitos iniciais
Conceitos
Não existe um método ou uma técnica universal de engenharia de software 
que se aplique a todos os projetos. 
Há três aspectos gerais que afetam vários tipos diferentes de software:
Heterogeneidade - Cada vez mais se requer dos sistemas que operem como 
sistemas distribuídos através das redes que incluem diferentes tipos de computadores e 
dispositivos móveis. 
Mudança de negócio e social - É preciso evoluir para que o tempo requerido para 
o software dar retorno a seus clientes seja reduzido.(Retorno rápido)
Segurança e confiança - Pelo fato de o software estar presente em todos os 
aspectos de nossas vidas, é essencial que possamos confiar nele.
Conceitos iniciais (Sommerville)
Características do SW
Software é desenvolvido ou passa por um processo de engenharia; ele não é 
fabricado no sentido clássico
Software não “se desgasta”, mas ele se deteriora
Conceitos iniciais
HARDWARE SOFTWARE
O custo do SW 
está na engenharia
Características do SW
Os métodos de engenharia de software tentam reduzir ao máximo a 
magnitude das elevações (picos) e a inclinação da curva real 
A maioria dos softwares continua a ser construída de forma personalizada 
Construção do SW como o SAP (Sommerville)
Software legado
Caracterizado pela longevidade e criticidade de negócios.
Baixa qualidade
Não faça nada
Conceitos iniciais
Legado
Adaptado
Aperfeiçoado
Expandido 
Rearquitetado
Necessidade de 
modificação
Campos de aplicação
SW de sistema
SW de aplicação
SW científico/engenharia
SW embutido 
SW para linha de produtos (processador de texto, planilhas 
eletrônicas, etc.)
SW de Inteligência Artificial
Conceitos iniciais
QT - 2005 
Exercícios
QT - 2005 
Exercícios Resposta A
Engenharia de SW
É o estabelecimento e o emprego de sólidos princípios de 
engenharia de modo a obter software de maneira econômica, que 
seja confiável e funcione de forma eficiente em máquinas reais.
Compreender o problema antes de desenvolver uma solução de 
SW
Projetar é uma atividade fundamental
Um software deve apresentar qualidade elevada.
Um software deve ser passível de manutenção
Conceitos iniciais
QT - 2006 
Exercícios
QT - 2006 
Exercícios Resposta E
Engenharia de SW
A engenharia de software é uma tecnologia em camadas
A pedra fundamental que sustenta a engenharia de software é o 
foco na qualidade.
A base para a engenharia de software é a camada de processos.
Conceitos iniciais
Engenharia de SW
O processo define uma metodologia que deve ser estabelecida para 
a entrega efetiva de tecnologia de engenharia de software.
Possibilita o desenvolvimento de sw de forma racional e dentro do prazo
Os métodos da engenharia de software fornecem as informações 
técnicas para desenvolver SW.
Ampla gama de tarefas
As ferramentas da engenharia de software fornecem suporte 
automatizado ou semiautomatizado para o processo e para os 
métodos (CASE) 
Conceitos iniciais
Processo de SW
É um conjunto de atividades, ações e tarefas realizadas na criação 
de algum produto de trabalho
Sequência de atividades que leva à produção de um produto de 
software (Sommerville)
É uma abordagem adaptável
É composto de: 
Atividades estruturais
Atividades de apoio (Ex: gerenciamento, acompanhamento e 
controle)
Modelos de processos de SW
Modelos de processos de SW
Atividades estruturais: 
 Comunicação
 Planejamento
 Modelagem 
 Construção
 Emprego (Entrega) 
Atividades Apoio:
 Controle e acompanhamento do 
projeto 
 Administração dos riscos
 Garantia da qualidade de sw
 Revisões técnicas
 Medição
 Gerenciamento de configuração de 
sw
 Gerenciamento de reusabilidade
 Preparo e produção de artefatos de 
sw
Modelo 
Genérico
Atividades estruturais:
Comunicação — compreender os objetivos das partes interessadas 
para com o projeto e fazer o levantamento das necessidades que 
ajudarão a definir as funções e características do software
Planejamento — definir o trabalho da engenharia de SW, 
descrevendo as tarefas técnicas a ser conduzida, os riscos prováveis, 
recursos necessários, cronograma, etc.
Modelagem — Um engenheiro de software cria modelos para 
melhor entender as necessidades do software e o projeto que irá 
atender a essas necessidades
Modelos de processos de SW
Atividades estruturais:
Construção — combina geração de código (manual ou 
automatizada) e testes necessários para revelar erros na 
codificação
Emprego - O software é entregue ao cliente, que avalia o 
produto entregue e fornece feedback, baseado na avaliação.
Modelos de processos de SW
Atividades de apoio
Controle e acompanhamento do projeto — possibilita que a equipe 
avalie o progresso em relação ao plano do projeto e tome as 
medidas necessárias para cumprir o cronograma.
Administração de riscos — avalia riscos que possam afetar o 
resultado ou a qualidade do produto/projeto.
Garantia da qualidade de software — define e conduz as atividades 
que garantem a qualidade do software.
Revisões técnicas — avaliam artefatos da engenharia de software, 
tentando identificar e eliminar erros antes que se propaguem para a 
atividade seguinte.
Modelos de processos de SW
Atividades de apoio
Medição — define e coleta medidas. Auxilia na entrega do software 
de acordo com os requisitos; pode ser usada com as demais 
atividades (metodológicas e de apoio).
Gerenciamento da configuração de software — gerencia os efeitos 
das mudanças ao longo do processo.
Gerenciamento da reusabilidade — define critérios para o reúso de 
artefatos e estabelece mecanismos para a obtenção de 
componentes reutilizáveis.
Preparo e produção de artefatos de software — engloba as 
atividades necessárias para criar artefatos como, por exemplo, 
modelos, documentos, logs, formulários e listas.
Modelos de processos de SW
Processo de sw
Para muitos projetos de software, as atividades metodológicas são aplicadas 
iterativamente conforme o projeto se desenvolve. 
Modelos de processos de SW
Planejamento
Comunicação
ModelagemConstrução
Emprego
Cada Iteração
Atividade de processo (Sommerville)
Maneira como as atividades serão feitas dependem do tipo de sw, 
das pessoas e das estruturas organizacionais envolvidas
Especificação de SW
Definição do serviço
Identificação de restrições
Produção de um documentos que satisfaz os requisitos dos Stakeholders
Diferentes níveis de detalhes:
Clientes e usuários finais
Desenvolvedores 
Modelos de processos de SW
Atividade de processo (Sommerville)
Especificação de SW (engenharia de requisitos)
Atividades principais:
Modelos de processos de SW
 Dá pra satisfazer 
o usuário?
 É rentável?
 Entender o que o sistema faz
 Identificar os requisitos
 Detalhar requisitos encontrados
 Requisitos (usuário ou sistema)
 Completude 
 Realeza
 Corrigir possíveis erros
Atividade de processo (Sommerville)Projeto e implementação
Converte a especificação em um sistema executável
Detalhamento da fase anterior
Iterativo
Desenho da solução do problema
Faz uso de ferramentas para gerar código a partir do projeto
Atividades :
Projeto de arquitetura
Projeto de interface
Projeto de componentes
Projeto de BD
Modelos de processos de SW
Atividade de processo (Sommerville)
Projeto e implementação
Modelos de processos de SW
 Middleware, SO, BD
 Verifica os componentes, 
relacionamentos e como 
estão distribuídos
 Define interfaces 
do sistema
 Verifica os componentes 
que executam as 
interfaces definidas
 Qual BD usar?
 Novo
 reusado
Atividade de processo (Sommerville)
Validação
Conformidades com as especificações
Maiores custos
Inspeções e revisões em cada etapa do processo
Iterativo com realimentação de informação
Estágios:
Teste de desenvolvimento
De componentes com pequenas integrações
Teste de sistema
Integrações maiores p/ criar sistemas completos
Adequação a requisitos funcionais e não funcionais
Teste de aceitação (ou teste alfa)
Modelos de processos de SW
 O processo de 
desenvolvimento de 
componentes e testes 
geralmente são intercalados
Atividade de processo (Sommerville)
Evolução 
+ barato alterar o SW que o projeto de HW
Separação entre desenvolvimento e evolução
Modelos de processos de SW
Ética na engenharia de SW (sommerville)
Confidencialidade. Respeitar naturalmente a confidencialidade 
independentemente de ter sido ou não assinado um acordo formal de 
confidencialidade.
Competência. Não se deve aceitar um trabalho que esteja fora de sua 
competência.
Direitos de propriedade intelectual. Deve-se ter cuidado para garantir que a 
propriedade intelectual dos empregadores e clientes seja protegida
Mau uso do computador. Não se deve usar suas habilidades técnicas para 
fazer mau uso de computadores de outras pessoas. 
jogar videogames em uma máquina do empregador 
Mal uso extremamente sério
Disseminar vírus ou outros malwares. 
Modelos de processos de SW
Modelos de processos de SW
Modelos de processos de Software
Modelo de processo
Um processo de software define a abordagem
adotada conforme um software é elaborado 
pela engenharia.
Modelos de processos de SW
Atividades
Ações
Modelo de processo
Fluxo de processo
Descreve como são organizadas as atividades metodológicas, bem como as 
ações e tarefas que ocorrem dentro de cada atividade em relação à 
sequência e ao tempo
Tipos de fluxo:
Linear
Iterativo
Evolucionário
Paralelo
Modelos de processos de SW
Tipos de fluxo de processo
Linear - executa cada uma das cinco atividades metodológicas em sequência
Iterativo - repete uma ou mais das atividades antes de prosseguir para a 
seguinte
Modelos de processos de SW
Tipos de fluxo de processo
Evolucionário - executa as 
atividades de uma forma “circular”
Paralelo - executa uma ou mais 
atividades em paralelo com outras 
atividades
Modelos de processos de SW
Modelos de avaliação de processos
SCAMPI - fornece um modelo de avaliação do processo de cinco etapas, 
contendo cinco fases: início, diagnóstico, estabelecimento, atuação e 
aprendizado. O método SCAMPI usa o CMMI da SEI como base para avaliação
CBA IPI - fornece uma técnica de diagnóstico para avaliar a maturidade 
relativa de uma organização de software; usa a CMM da SEI como base para a 
avaliação
SPICE (ISO 15504)- padrão que define um conjunto de requisitos para 
avaliação do processo de software.
ISO 9001:2000 para software - padrão genérico aplicável a qualquer 
organização que queira aperfeiçoar a qualidade global de produtos, sistemas 
ou serviços fornecidos
Modelos de processos de SW
Modelos de processos
Modelos de processos de SW
Ordem 
absoluta
Caos
• Ausência de 
variabilidade
• Boa em ambientes 
previsíveis
• Auxilia a 
mudanças
• Em demasia perde-
se o controle
Modelos de processos
Modelo cascata
Chamado ciclo de vida clássico
Abordagem sequencial e sistemática 
para o desenvolvimento de software, 
começando com o levantamento de 
necessidades avançando pelas fases de 
planejamento, modelagem, construção, 
emprego e culminando no suporte 
contínuo do software concluído
Agrega risco durante o muito tempo no projeto
Requisitos bem definidos e estáveis
Modelos de processos de SW
 O modelo de desenvolvimento de software em cascata, também conhecido como ciclo 
de vida clássico, sugere uma abordagem sistemática e sequencial para o 
desenvolvimento de softwares que começa com a especificação dos requisitos e 
termina na manutenção do software acabado. Nos últimos anos, este modelo de ciclo 
de desenvolvimento vem sofrendo várias críticas quanto a sua eficácia. Assim, é correto 
afirmar que um dos possíveis problemas do ciclo de vida clássico é
A) a exigência do modelo para que o cliente estabeleça todos os requisitos 
explicitamente.
B) a construção problemática dos componentes, caso o sistema não possa ser 
adequadamente modularizado.
C) a responsabilidade do levantamento das necessidades pela etapa de planejamento.
D) a aplicação do modelo de forma incorreta a problemas com requisitos bem definidos 
e razoavelmente estáveis.
E) a existência de somente cinco etapas no modelo, da comunicação à implantação.
Modelos de processos de SW
 O modelo de desenvolvimento de software em cascata, também conhecido como ciclo 
de vida clássico, sugere uma abordagem sistemática e sequencial para o 
desenvolvimento de softwares que começa com a especificação dos requisitos e 
termina na manutenção do software acabado. Nos últimos anos, este modelo de ciclo 
de desenvolvimento vem sofrendo várias críticas quanto a sua eficácia. Assim, é correto 
afirmar que um dos possíveis problemas do ciclo de vida clássico é
A) a exigência do modelo para que o cliente estabeleça todos os requisitos 
explicitamente.
B) a construção problemática dos componentes, caso o sistema não possa ser 
adequadamente modularizado.
C) a responsabilidade do levantamento das necessidades pela etapa de planejamento.
D) a aplicação do modelo de forma incorreta a problemas com requisitos bem definidos 
e razoavelmente estáveis.
E) a existência de somente cinco etapas no modelo, da comunicação à implantação.
Modelos de processos de SW Resposta A
Modelos de processos
Modelo cascata
O modelo V ilustra como as ações de verificação e validação estão 
associadas a ações de engenharia anteriores.
Modelos de processos de SW
Software 
Executável
Aumento do 
nível técnico 
da informação
Modelos de processos
Modelo cascata
Problemas relacionados
Projetos reais raramente seguem um fluxo sequencial que o modelo 
propõe
É difícil para os clientes estabelecer explicitamente todas as 
necessidades no início do projeto
O cliente deve ter paciência
Estados de bloqueio (espera entre fases)
Modelos de processos de SW
Modelos de processos
Modelo Incremental
Combina elementos dos fluxos
de processos lineares e paralelos.
Aplica sequências lineares, 
de forma escalonada, à medida
que o tempo vai avançando.
Entrega de um produto 
Operacional a cada incremento
Modelos de processos de SW
Modelos de processos
Modelo evolucionário
Desenvolve versões mais completas de sw a cada iteração
Prototipação 
O cliente define uma série de objetivos gerais para o software, 
mas não identifica, detalhadamente, os requisitos para funções e 
recursos
Espiral
Uma abordagem cíclica voltada para ampliar, incrementalmente, o 
grau de definição e a implementação de um sistema, enquanto 
diminui o grau de risco do mesmo.
Modelos de processos de SW
Modelos de processos
Modelo evolucionário
Prototipação - Auxilia os interessados a compreender melhor o que está 
para ser construído 
Modelos de processos de SW
Considere as seguintes afirmações sobre prototipação.
I - A prototipação é comumente utilizada como uma técnica que auxilia os interessados, quando os 
requisitosestão obscuros, a compreender melhor o que está para ser construído, embora possa 
também ser utilizada como um modelo de processo isolado.
II - Um protótipo é uma versão inicial de um sistema de software, usado para demonstrar conceitos, 
experimentar opções de projeto e descobrir mais sobre o problema e suas possíveis soluções.
III - Protótipos devem ser executáveis para serem úteis. Deve-se evitar o desenvolvimento de 
maquetes em papel de interface de usuário, embora sejam baratas e possam ser construídas em 
poucos dias.
Quais estão corretas?
A) Apenas I.
B) Apenas I e II.
C) Apenas I e III.
D) Apenas II e III.
E) I, II e III.
Modelos de processos de SW
Considere as seguintes afirmações sobre prototipação.
I - A prototipação é comumente utilizada como uma técnica que auxilia os interessados, quando os 
requisitos estão obscuros, a compreender melhor o que está para ser construído, embora possa 
também ser utilizada como um modelo de processo isolado.
II - Um protótipo é uma versão inicial de um sistema de software, usado para demonstrar conceitos, 
experimentar opções de projeto e descobrir mais sobre o problema e suas possíveis soluções.
III - Protótipos devem ser executáveis para serem úteis. Deve-se evitar o desenvolvimento de 
maquetes em papel de interface de usuário, embora sejam baratas e possam ser construídas em 
poucos dias.
Quais estão corretas?
A) Apenas I.
B) Apenas I e II.
C) Apenas I e III.
D) Apenas II e III.
E) I, II e III.
Modelos de processos de SW Resposta B
Modelo evolucionário
Prototipação
Um projeto rápido se concentra em uma representação daqueles aspectos 
do software que serão visíveis aos usuários finais (Ex: Interfaces)
O projeto rápido leva à construção de um protótipo, que é empregado e 
avaliado pelos envolvidos, que fornecerão um retorno (feedback), que 
servirá para aprimorar os requisitos. 
Protótipos podem ser descartáveis ou evolucionários 
Embora possam ocorrer problemas, a prototipação pode ser um 
paradigma efetivo para a engenharia de software
É um mecanismo de definição de requisitos
Modelos de processos de SW
Modelo evolucionário
Prototipação (problemas)
Os interessados enxergam o que parece ser uma versão operacional do 
software, ignorando que o protótipo é mantido de forma não organizada, 
logo afetando diretamente na qualidade
O engenheiro de software, com frequência, assume compromissos de 
implementação para conseguir que o protótipo entre em operação 
rapidamente. Um exemplo é a utilização de um algoritmo ineficiente na 
implementação simplesmente para demonstrar capacidade.
Modelos de processos de SW
Modelo evolucionário
Espiral 
Acopla a natureza iterativa da prototipação com os aspectos sistemáticos 
e controlados do modelo cascata
Pode ser adaptado para ser aplicado ao longo de todo o ciclo de vida de 
uma aplicação, desde o desenvolvimento de conceitos até sua 
manutenção
Dividido em um conjunto de atividades metodológicas definidas pela 
equipe de engenharia de software.
Os riscos são considerados à medida que cada revolução é realizada.
Modelos de processos de SW
 Usando o modelo ____________, o sistema é desenvolvido em ciclos, sendo que os 
primeiros ciclos podem não conter todas as atividades. O produto resultante de um primeiro 
ciclo pode ser uma especificação do produto ou um estudo de viabilidade. Os ciclos 
subsequentes podem ser protótipos, chegando progressivamente a versões operacionais do 
software, até se obter o produto completo. Modelos podem ser úteis para ajudar a levantar e 
validar requisitos, mas pode ocorrer de os clientes e usuários só terem uma verdadeira 
dimensão do que está sendo construído se forem colocados diante do sistema. Nestes casos, o 
uso da __________________ é fundamental. As expressões que completam corretamente os 
espaços em branco, respectivamente, são:
A) espiral, prototipação.
B) cascata, prototipação.
C) XP, conversa com os clientes.
D) espiral, cascata.
E) incremental, prototipação.
Modelos de processos de SW
 Usando o modelo ____________, o sistema é desenvolvido em ciclos, sendo que os 
primeiros ciclos podem não conter todas as atividades. O produto resultante de um primeiro 
ciclo pode ser uma especificação do produto ou um estudo de viabilidade. Os ciclos 
subsequentes podem ser protótipos, chegando progressivamente a versões operacionais do 
software, até se obter o produto completo. Modelos podem ser úteis para ajudar a levantar e 
validar requisitos, mas pode ocorrer de os clientes e usuários só terem uma verdadeira 
dimensão do que está sendo construído se forem colocados diante do sistema. Nestes casos, o 
uso da __________________ é fundamental. As expressões que completam corretamente os 
espaços em branco, respectivamente, são:
A) espiral, prototipação.
B) cascata, prototipação.
C) XP, conversa com os clientes.
D) espiral, cascata.
E) incremental, prototipação.
Modelos de processos de SW Resposta A
Modelo evolucionário
Espiral 
Modelos de processos de SW
Modelo evolucionário
Espiral 
Pontos âncora de controle — uma combinação de produtos de trabalho e 
condições que são satisfeitas ao longo do trajeto da espiral — são 
indicados para cada passagem evolucionária.
O primeiro circuito em volta da espiral pode resultar no desenvolvimento 
de uma especificação de produto;
Passagens subsequentes em torno da espiral podem ser usadas para 
desenvolver um protótipo 
Cada passagem pela região de planejamento resulta em ajustes no 
planejamento do projeto
Modelos de processos de SW
Considere as afirmativas apresentadas abaixo a respeito dos modelos de processos de software 
cascata (waterfall) e incremental.
I - Uma das vantagens do modelo de processo cascata é que ele antecipa eventuais correções a 
serem feitas nos requisitos do software.
II - O modelo de processos cascata é recomendado quando os requisitos são estáveis e claros.
III - No desenvolvimento incremental, a arquitetura e o projeto do software tendem a manter-se 
estáveis.
IV - No desenvolvimento incremental, o acompanhamento e o progresso das atividades são 
avaliados pela entrega de artefatos.
Estão corretas as afirmativas
A) II e IV.
B) I e IV.
C) I e III.
D) II e III.
Modelos de processos de SW
Considere as afirmativas apresentadas abaixo a respeito dos modelos de processos de software 
cascata (waterfall) e incremental.
I - Uma das vantagens do modelo de processo cascata é que ele antecipa eventuais correções a 
serem feitas nos requisitos do software.
II - O modelo de processos cascata é recomendado quando os requisitos são estáveis e claros.
III - No desenvolvimento incremental, a arquitetura e o projeto do software tendem a manter-se 
estáveis.
IV - No desenvolvimento incremental, o acompanhamento e o progresso das atividades são 
avaliados pela entrega de artefatos.
Estão corretas as afirmativas
A) II e IV.
B) I e IV.
C) I e III.
D) II e III.
Modelos de processos de SW Resposta A
Modelo evolucionário
Espiral 
Custo e cronograma são ajustados de acordo com o feedback obtido do 
cliente após entrega.
É uma abordagem realista para o desenvolvimento de sistemas e de 
software em larga escala. 
Requer consideração direta dos riscos técnicos em todos os estágios do 
projeto
Exige considerável especialização na avaliação de riscos
Riscos importantes devem ser descobertos e administrados
Modelos de processos de SW
 O princípio fundamental é que, a cada ciclo, uma versão operacional 
do sistema será produzida e entregue para uso ou avaliação detalhada 
do cliente. Os requisitos têm de ser levantados e é preciso constatar 
que o sistema é modular. Esse é o modelo:
A) Incremental.
B) Espiral.
C) Cascata.
D) RAD.
E) XP.
Modelos de processos de SW
 O princípio fundamental é que, a cada ciclo, uma versão operacional 
do sistema será produzida e entregue para uso ou avaliação detalhada 
do cliente. Os requisitos têm de ser levantados e é preciso constatar 
que o sistemaé modular. Esse é o modelo:
A) Incremental.
B) Espiral.
C) Cascata.
D) RAD.
E) XP.
Modelos de processos de SW Resposta A
Modelo evolucionário
Modelos concorrentes
Define uma série de eventos que irão
disparar transições de estado para 
estado para cada uma das atividades, 
ações ou tarefas da engenharia de 
software.
Engenharia concorrente
Mais adequado para engenharia de 
produtos
Modelos de processos de SW
Modelo evolucionário
Modelos concorrentes
Se aplica a todos os tipos de desenvolvimento de software e 
fornece uma imagem precisa do estado atual de um projeto
Cada atividade, ação ou tarefa na rede existe simultaneamente 
com outras atividades, ações ou tarefas
Modelos de processos de SW
Problemas dos modelos evolucionários
Nº incerto de ciclos na prototipação
Não estabelecem velocidade de evolução
Muito rápido
Muito lento
Mantém seu foco mais na flexibilidade e na extensibilidade do que 
na alta qualidade.
Modelos de processos de SW
Ambos são
problemas
Modelos especializados
Baseado em componentes (COTS)
Fornecem a funcionalidade e a interface de acesso
Desenvolve aplicações a partir de componentes pré
empacotados
Conduz ao reuso de software
Pode-se alcançar redução de ciclo de projeto e de custos caso a 
empresa adote como rotina
Modelos de processos de SW
Modelos especializados
Métodos formais
Engloba um conjunto de atividades que conduzem à 
especificação matemática formal do software
Possibilitam especificar, desenvolver e verificar um sistema 
baseado em computador através da aplicação de uma notação 
matemática rigorosa
Oferece a promessa de software sem defeitos
Consome muito tempo e dinheiro
Treinamento extensivo
Difícil de usar como meio de comunicação com o cliente
Modelos de processos de SW
QT - 2005 
Exercícios
QT - 2005 
Exercícios Resposta A
Modelos especializados
Orientado a aspectos
Certas restrições se estendem por toda a arquitetura
Quando restrições cruzam múltiplas funções, recursos e 
informações do sistema, elas são, frequentemente, denominadas 
restrições cruzadas
Usa um conceito de fatias horizontais através de componentes 
de software decompostos verticalmente, chamados “aspectos”, 
para caracterizar propriedades funcionais ou não funcionais 
cruzadas dos componentes
Modelos de processos de SW
Modelos de processos (Sommerville) – paradigmas de 
processos
Modelos de processos de SW
Modelos de 
processos 
genéricos
Ágeis
Dirigido 
a planos
Reflete a
necessidade 
do cliente
Planejamento 
gradativo
Compara com 
o planejamento
inicial
Planejado com
antecedência
Incremental
Cascata
Incremental
Equilíbrio 
entre os dois
Modelos de processos (Sommerville)
Em cascata
Desenvolvimento incremental
Orientado a reúso
Concentra-se na integração desses componentes em um sistema já 
existente em vez de desenvolver um sistema a partir do zero.
Esses modelos não são mutuamente exclusivos e muitas vezes são 
usados em conjunto, especialmente para o desenvolvimento de 
sistemas de grande porte
Modelos de processos de SW
Modelos de processos (Sommerville)
Em cascata ou ciclo de vida de SW
O resultado de cada estágio é a aprovação de 1 ou + documentos 
(‘assinados’). 
Na prática, esses estágios se sobrepõem e alimentam uns aos 
outros de informações.
Compromisso no estágio inicial do processo
Variações do cascata:
Desenvolvimento formal
Baseado em transformações formais
Modelos de processos de SW
Modelos de processos (Sommerville)
Em cascata
Modelos de processos de SW
Serviços, restrições 
e metas do sistema
Definição da 
arquitetura
Programação
E teste
União e teste das 
Partes do programa
Disponibilização do sistema
Correção de erros
Modelos de processos (Sommerville)
Desenvolvimento Incremental
Desenvolver uma implementação inicial, expô-la aos comentários dos 
usuários e continuar por meio da criação de várias versões até que um 
sistema adequado seja desenvolvido
+ barato e mais fácil mudar durante seu desenvolvimento
Sistemas menos críticos
Incrementos iniciais:
+ importantes
+ urgentes
Modelos de processos de SW
QT - 2017 
Exercícios
QT - 2017 
Exercícios Resposta B
Modelos de processos (Sommerville)
Desenvolvimento Incremental
Modelos de processos de SW
Modelos de processos (Sommerville)
Desenvolvimento incremental 
Vantagens
Custo reduzido de acomodação e mudanças 
+ fácil feedback 
Implementação e entrega + rápido
Desvantagens
O processo não é visível.(sem documentos para controle) 
Degradação da estrutura ao adicionar incrementos (possibilidade de 
refatoração para melhoria do sistema)
Modelos de processos de SW
Modelos especializados (Sommerville)
Orientado a reúso
Componentes de software comercial de prateleira ou COTS
Desenvolve a partir de componentes de software pré-empacotados.
Necessário ampla base de componentes reusáveis
Processos intermediários diferentes
Menos programação, menos tempo
Pode levar a sistemas sem conformidade
Perda de evolução do sistema
Tipos de componentes: 
Webservice
Coleções de objetos
Sistemas Stand-alone
Modelos de processos de SW
Modelos de processos (Sommerville)
Orientado a reúso
Modelos de processos de SW
Não se modifica comparado 
com os outros processos
Busca por 
componentes
Adequar requisitos
Ao componente
Define o que 
será utilizado
Montagem do
sistema Integrando 
os componentes
Mudanças
Lidando com mudanças
Aumento de custos (retrabalho)
Modelos de processos de SW
Redução 
do retrabalho
Tolerância 
A mudanças
Prevenção 
de mudanças
Antecipar 
mudanças
Protótipo 
Acomodação 
a mudanças
Desenvolvimento 
incremental
Como lidar 
com mudanças
Lidando com mudanças
Prototipação
Desenvolvimento rápido e baixo custo
Podem revelar erros no requisitos propostos
O mesmo protótipo não pode cumprir todos os objetivos
Não precisam ser executáveis
Pode não ser utilizado da mesma forma como no sistema final
Modelos de processos de SW
Prototipação 
Eng de requisitos
Projeto 
Projeto de interfaces
Estudo de soluções
Elicitação
Validação
Lidando com mudanças
Entrega incremental
Cada incremento é um subconjunto de uma funcionalidade
Prioridade maior entrega primeiro
Não são aceitas mudanças nos requisitos em desenvolvimento
Modelos de processos de SW
Lidando com mudanças
Entrega incremental
Vantagens:
O cliente ganha experiência com o sistema
O cliente começa a obter ganho com o sistema a partir do 1º 
incremento
Facilita as mudanças
Encontrar falhas nas parte mais importantes é mais difícil
Teste repetitivos em módulos já entregues, normalmente os mais 
críticos
Modelos de processos de SW
Lidando com mudanças
Entrega incremental
Problemas:
Difícil identificar recursos comuns
Difícil obter feedback útil 
Ninguém quer testar software incompleto
Difícil dimensionar o trabalho
Para transações com a área governamental fica complicado, pois não á como 
dimensionar o trabalho todo no início
Não adotado:
Em sistemas grandes – equipes distribuídas
Sistemas embutidos – HW e SW em conjunto
Sistemas críticos – proteção e segurança 
Modelos de processos de SW
Lidando com mudanças
Espiral de Boehm
Dirigido a riscos
Cada volta é uma fase no
processo de software
Atividade explícita de
gerenciamento de risco
Modelos de processos de SW
QUADRO TÉCNICO
EXERCÍCIOS DE FIXAÇÃO
QT - 2004 
Exercícios
QT - 2004 
Exercícios Resposta B
QT - 2006 
Exercícios
QT - 2006 
Exercícios Resposta D
QT - 2008 
Exercícios
QT - 2008 
Exercícios Resposta B
QT - 2014 
Exercícios
QT - 2014 
Exercícios Resposta B
QT - 2016 
Exercícios
QT - 2016 
Exercícios Resposta E
Final de Processos de Software

Outros materiais