Você está na página 1de 18

Engenharia de Software – Processos

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

Quando Riscos técnicos são


• Os componentes novos devem ser testados e todas as
elevados o RAD não é adequado. interfaces devem ser exaustivamente exercitadas.
Teste e Entrega

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:

O modelo espiral é um tipo de modelo iterativo de desenvolvimento em que cada


ciclo se encerra com a entrega de uma versão final do software.
ERRADO
Justificativa:
Na verdade o modelo espiral trata da entrega de versões novas do software cada vez mais completa e
não de uma versão final.

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:

No gerenciamento do ciclo de vida de um software, o processo de


desenvolvimento (processo básico) objetiva estabelecer os requisitos dos
componentes e suas interfaces em um sistema.

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:

a) os métodos ágeis são, em geral, baseados no desenvolvimento incremental e/ou iterativo.


b) o desenvolvimento iterativo é necessariamente incremental.
c) o desenvolvimento usando o modelo waterfall é indicado para lidar com riscos.
d) a Rapid Application Development (RAD) é uma metodologia baseada no waterfall.
LETRA A
Justificativa:
Modelo iterativo não se passa por todas as etapas do processo assim como no incremental. O Modelo
Iterativo introduziu a análise de riscos por isso se diminuiu o tempo entre as entregas e comunicação
com os usuários. RAD tem uma metodologia diversa do waterfall pois pensa em entregas rápidas em
prazos curtos. 54
Questão 5
Ano: 2019 Banca: CESPE Órgão: MPC-PA Prova: CESPE - 2019 - MPC-PA - Analista Ministerial
– Tecnologia da Informação
Os modelos espiral e RAD (Rapid Application Development) são classificados,
respectivamente, como modelos de processo de desenvolvimento de software dos
tipos:
a) incremental e sequencial.
b) evolutivo e incremental.
c) evolutivo e sequencial.
LETRA B
d) incremental e evolutivo.
e) evolutivo e evolutivo.
Justificativa:
Modelo Evolucionários mais conhecidos o Espiral e Prototipação caracterizados por contínuas modificações, prazos muito
apertados e por uma ênfase na satisfação do cliente–usuário. RAD - Desenvolvimento rápido de aplicação é um modelo
incremental que enfatiza o ciclo de desenvolvimento extremamente curto. 55
Dicas !

?????

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

Você também pode gostar