Você está na página 1de 8

ENGENHARIA DE SOFTWARE

Processos e Ciclo de Vida de Software II


Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br

PROCESSOS E CICLO DE VIDA DE SOFTWARE II

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.

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 ativi-
dades, ações ou tarefas da engenharia de software.

MODELO DE PROCESSO CONCORRENTE

MODELO EM V

1 www.grancursosonline.com.br
ENGENHARIA DE SOFTWARE
Processos e Ciclo de Vida de Software II
Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br

Obs.: 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 a esperar a entrega no final, ainda mais
quando for um sistema grande, por isso a entrega por partes tornou-se mais comum
e disso surgiram outros processos.

A fase de testes relacionados corresponde a dois “V”, verificação e validação. Enquanto


a verificação está vinculada ao processo, a validação diz respeito ao produto, nesse caso, é
necessária a validação para identificar se as etapas que foram concluídas no processo atin-
giram o objetivo do produto.
5m
Hoje em dia, os clientes não estão dispostos a esperar a entrega final, por isso, surgiu
também o processo incremental. Nesse novo processo, são entregues incrementos do sof-
tware de forma gradativa, para que, assim, o cliente já possa utilizá-lo enquanto o produto
final não está completo. Lembrando-se, que o modelo V visa muito os testes.
ANOTAÇÕES

2 www.grancursosonline.com.br
ENGENHARIA DE SOFTWARE
Processos e Ciclo de Vida de Software II
Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br

Custos de alterações como uma função do tempo em desenvolvimento

Por exemplo, é descoberto um erro. Se tiver um processo interativo incremental, vai se


validando com os usuários e o custo de alteração de algo implementado de forma errada é
bem menor do que no processo convencional. Nos processos ágeis, os custos de alterações
por erro, levantamento de requisitos errôneo ou mudança de requisitos, são bem menores.
Já no processo convencional se passa por um fluxo linear. Por exemplo, o processo foi
terminado e foi entregue um software que não atende mais o que o cliente buscava ou foi
levantado errado; esse custo para refazer tudo novamente será bem mais alto. Os processos
ágeis são bastante interativos e incrementais.

RAD

Desenvolvimento rápido de aplicação é um modelo incremental que enfatiza o ciclo de


desenvolvimento extremamente curto.

• Desvantagens: nem todos os tipos de aplicação são apropriados a uso de RAD.


Quando riscos técnicos são elevados, o RAD não é adequado.
ANOTAÇÕES

3 www.grancursosonline.com.br
ENGENHARIA DE SOFTWARE
Processos e Ciclo de Vida de Software II
Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br

10m
PROCESSO UNIFICADO

O Processo Unificado, basicamente, pensa em fluxo de processo interativo e incremental,


no qual existe a interação de fases e a passagem pelas atividades, entregando-se incremento
de software.
ANOTAÇÕES

4 www.grancursosonline.com.br
ENGENHARIA DE SOFTWARE
Processos e Ciclo de Vida de Software II
Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br

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 determi-
nam uma especificação matemática; seria uma abordagem em que se busca elimi-
nar 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, na qual o código-
-fonte seja gerado automaticamente a partir dessas especificações.

QUADRO RESUMO

• Modelo Cascata;
• Modelo de Prototipação;
• Modelo Iterativo;
• Modelo Incremental – (RAD);
• Processo Unificado – (RUP);
• Modelos Evolucionários – (Iterativo e Incremental).
15m

DIRETO DO CONCURSO
1. (2018/CESPE/FUB/TÉCNICO DE TECNOLOGIA DA INFORMAÇÃO) Acerca dos proces-
sos 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.

COMENTÁRIO
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.
ANOTAÇÕES

5 www.grancursosonline.com.br
ENGENHARIA DE SOFTWARE
Processos e Ciclo de Vida de Software II
Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br

2. (2016/CESPE/FUNPRESP-EXE/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 (pro-
cesso básico) objetiva estabelecer os requisitos dos componentes e suas interfaces em
um sistema.

COMENTÁRIO
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.

3. (CESPE/2016/TRE-PE/TÉCNICO JUDICIÁRIO – PROGRAMAÇÃO DE SISTEMAS) As-


sinale 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.

COMENTÁRIO
Atenção apenas na classificação, pois os modelos já estudados de prototipação e espiral
são tipos de modelos evolucionários.
a. Scrum é uma metodologia ágil e implementa modelo de processo interativo e incrementais.
b. DFD é diagrama de fluxo de dados.
d. PMP é o profissional certificado nos conhecimentos do PMBOK.
e. JPA é método de acesso do Java para dados.

4. (IF-GO/2019/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:
ANOTAÇÕES

6 www.grancursosonline.com.br
ENGENHARIA DE SOFTWARE
Processos e Ciclo de Vida de Software II
Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br

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.
25m

COMENTÁRIO
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 a comunicação com os usuários. RAD tem uma metodologia diversa do waterfall,
pois pensa em entregas rápidas em prazos curtos.

5. (CESPE/2019/MPC-PA/ANALISTA MINISTERIAL – TECNOLOGIA DA INFORMAÇÃO)


Os modelos espiral e RAD (Rapid Application Development) são classificados, respecti-
vamente, como modelos de processo de desenvolvimento de software dos tipos:

a. Incremental e sequencial.
b. Evolutivo e incremental.
c. Evolutivo e sequencial.
d. Incremental e evolutivo.
e. Evolutivo e evolutivo.

COMENTÁRIO
Modelos Evolucionários mais conhecidos: o Espiral e a 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.
ANOTAÇÕES

7 www.grancursosonline.com.br
ENGENHARIA DE SOFTWARE
Processos e Ciclo de Vida de Software II
Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br

GABARITO
1. E
2. E
3. c
4. a
5. b
30m

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. • SOMMER-
VILLE, 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

�Este material foi elaborado pela equipe pedagógica do Gran Cursos Online, de acordo com a aula
preparada e ministrada pelo professor Washington Henrique Carvalho Almeida.
A presente degravação tem como objetivo auxiliar no acompanhamento e na revisão do conteúdo
ministrado na videoaula. Não recomendamos a substituição do estudo em vídeo pela leitura exclu-
siva deste material.
ANOTAÇÕES

8 www.grancursosonline.com.br

Você também pode gostar