Escolar Documentos
Profissional Documentos
Cultura Documentos
e Ciclo de Vida II
Prof. Washington Almeida, MSC, ISF
27002
Definições
• Conjunto de atividades relacionadas que levam à
produção de um produto de software (Sommerville,
2013).
• Cada modelo representa uma abordagem usada para
a criação do software.
42
Modelos Evolucionários
• Caracterizados por contínuas modificações, prazos muito apertados e
por uma ênfase na satisfação do cliente–usuário.
• Em muitos casos, o tempo de colocação de um produto no mercado é
o requisito mais importante a ser gerenciado.
• Prototipação e Espiral são os mais conhecidos.
• Outros menos conhecidos como o desenvolvimento concorrente
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.
43
Modelo de Processo Concorrente
44
Modelo em V
Observação: O modelo em V é uma variação do modelo cascata que procura enfatizar a estreita relação
entre as atividades de teste e as demais fases do processo.
Os modelos sequenciais pressupõem que o sistema é entregue completo, após a realização de todas as
atividades de desenvolvimento.
Hoje em dia os clientes não estão dispostos esperar a entrega no final, ainda mais quando se trata de um
sistema grande, por isso a entrega por partes, se tornou mais comum e disso surgiram outros processos.
45
Custos de alterações como uma função do tempo em desenvolvimento
46
RAD • Fluxo de informação entre as funções do
Desenvolvimento rápido de Modelagem do
Negócio negócio é modelado.
aplicação é um modelo
incremental que enfatiza o ciclo • O fluxo de informação é refinado num conjunto de objetos.
de desenvolvimento Modelagem dos
Dados
extremamente curto.
• Os objetos de dados são transformados para conseguir o fluxo
de informação necessário para implementar uma função de
Modelagem do
Processo negócio.
Desvantagens:
• RAD considera o uso de técnicas de quarta geração (4GL), o
Nem todos os tipos de aplicação Geração da
processo RAD trabalha para reusar componentes ou criar
programas reusáveis.
são apropriados uso de RAD. Aplicação
47
Processo Unificado
48
Mais alguns modelos
• Desenvolvimento baseado em componentes: incorpora técnicas de
tecnologias orientadas a objetos no modelo espiral.
• Modelo de métodos formais: compreende um conjunto de atividades
que determinam uma especificação matemática, seria uma abordagem
onde busca se eliminar muitos problemas dos outros modelos de
forma não ad hoc, mas com análise matemática.
• Técnicas de quarta geração: especificação em linguagem natural onde,
o código fonte seja gerado automaticamente a partir dessas
especificações.
49
Quadro Resumo
• Modelo Cascata
• Modelo de Prototipação
• Modelo Iterativo
• Modelo Incremental – (RAD)
• Processo Unificado – (RUP)
• Modelos Evolucionários – ( Iterativo e Incremental)
50
Questão 1
Ano: 2018 Banca: CESPE Órgão: FUB Prova: CESPE - 2018 - FUB - Técnico de Tecnologia
da Informação
Acerca dos processos de desenvolvimento de software, julgue o item a seguir:
51
Questão 2
Ano: 2016 Banca: CESPE Órgão: FUNPRESP-EXE Prova: CESPE - 2016 - FUNPRESP-EXE -
Especialista - Tecnologia da Informação
Acerca de conceitos relativos a engenharia de software, julgue o próximo item:
ERRADO
Justificativa:
Conjunto de atividades relacionadas que levam à produção de um produto de software (Sommerville).
Logo não é apenas estabelecer requisitos de componentes e suas interfaces.
52
Questão 3
Ano: 2016 Banca: CESPEÓrgão: TRE-PE Prova: CESPE - 2016 - TRE-PE - Técnico
Judiciário - Programação de Sistemas
Assinale a opção que apresenta modelos de desenvolvimento de software:
a) paradigma imperativo e scrum
b) modelo em cascata, DFD e paradigma concorrente
c) modelo em cascata, modelo de componentes e desenvolvimento
evolucionário
d) transformação formal e PMP
e) scrum e JPA LETRA C
Justificativa: Atenção apenas na classificação, pois os modelos já estudados de prototipação e espiral
são tipos de modelos evolucionários.
53
Questão 4
Ano: 2019 Banca: IF-GO Órgão: IF Goiano Prova: IF-GO - 2019 - IF Goiano - Técnico de Tecnologia da
Informação
O desenvolvimento de software é, na maioria dos casos, um esforço coletivo que depende de vários
papéis, atividades, processos e ferramentas. Nesse sentido:
?????
56
Gabarito
Questão Resposta
1 ERRADO
2 ERRADO
3 LETRA C
4 LETRA A
5 LETRA B
57
Referências
• PRESSMAN, Roger S. ; Bruce R. Maxim. Engenharia de Software, Uma Abordagem
Profissional, 8° ed. Porto Alegre: AMGH, 2016. ISBN 978-85-8055- 533-2.
• SOMMERVILLE, Ian. Engenharia de Software, 9. ed. São Paulo: Pearson Prentice
Hall, 2011. ISBN 978-85-7936-108-1.
• http://www.eripi.com.br/2017/images/anais/minicursos/3.pdf
• http://mds.cultura.gov.br/core.base_rup/guidances/supportingmaterials/develop_
iteratively_1F6AE780.html
58