Anda di halaman 1dari 40

Centro de Cincias e Tecnologia

Departamento de Computao

Processo de Desenvolvimento e
Ciclo de Vida de Software

Sabrina de Figueirdo Souto

Agenda
Processo
Processo x Ciclo de Vida
A2vidades Fundamentais
Modelos de Processo de So:ware
Descrio de Processos de So:ware
Categorias Gerais de Processos de So:ware
Consideraes Finais
2

Processo
Denies

Sucesso de estados ou de mudanas. Modo por


que se realiza ou executa uma coisa; mtodo;
tcnica [Dicionrio Aurlio]
Uma ao regular e conInua (ou sucesso de
aes) realizada de forma bem denida, levando a
um resultado [Oxford English Dic7onary]
Dene quem est fazendo o que, quando e como
para a2ngir um certo obje2vo [Jacobson, Booch,
Rumbaugh]
3

Processo de So:ware
Um processo de so:ware um conjunto de
a2vidades relacionadas que levam produo de um
produto de so:ware [Sommerville]

Conjunto de a0vidades, mtodos, pr0cas e
tecnologias que as pessoas u2lizam para
desenvolver e manter so:ware e produtos
relacionados

Processo x Ciclo de Vida


IEEE Std 610.12

Processo x Ciclo de Vida


Na pr2ca

O termo CICLO evoluiu para PROCESSO


So usados como sinnimos

Com uma diferena

Atualmente, o processo no se encerra com a


entrega do produto de so:ware
Evoluo/Manuteno

Processo de So:ware
Melhores pessoas
Inves2mento em tecnologia
Sem processos claros e ecientes, uma empresa
no escalvel

Processo de So:ware
O interesse no processo de so:ware est baseado
em duas premissas:
A qualidade de um produto de so:ware fortemente
dependente da qualidade do processo pelo qual ele
construdo e man2do
O processo de so:ware pode ser denido, gerenciado,
medido e melhorado
Um processo denido deve estar descrito em detalhes de
forma a poder ser usado de forma consistente!
8

Processos de So:ware
O nmero de bugs presentes no so:ware quando
entregue para testes funo direta da qualidade do
processo usado para a construo do so:ware

Um bom processo pode evitar a presena de bugs no produto!

A2vidades Fundamentais

Especicao de requisitos

Projeto e implementao

Vericao e validao

Evoluo
10

Especicao de So:ware

11

Especicao de So:ware
Dene quais servios so necessrios
Iden2ca as restries de operao e de
desenvolvimento
Processo de Engenharia de Requisitos

12

Projeto e Implementao de So:ware

13

Vericao e Validao
Vericao e validao (V & V) tm a inteno de
mostrar que um sistema est em conformidade com
a sua especicao e que atende aos requisitos do
cliente
Vericao: construmos o sistema corretamente?

Exemplos: inspees e revises de cdigo, anlise est2ca, testes

Validao: construmos o sistema correto?


Exemplos: testes, proto2pagem dos requisitos

14

Vericao e Validao
Os defeitos normalmente so introduzidos na transformao
de informaes entre as diferentes fases do ciclo de
desenvolvimento de um so:ware
Necessidade de realizar testes em diferentes nveis

visando avaliar o so:ware em diferentes perspec2vas de acordo com


o produto gerado em cada fase do ciclo de vida de desenvolvimento
de um so:ware.

15

Evoluo de So:ware
O so:ware inerentemente exvel e pode mudar
Requisitos mudam devido a diversos fatores e o
so:ware deve acompanhar essas mudanas
A evoluo se deve a diversas razes:

16

Evoluo de So:ware
Processo:

17

Modelos de Processo de So:ware


Representao simplicada de um processo de
so:ware

Representa uma perspec2va par2cular de um


processo informaes parciais

Abstraes que podem ser usadas para explicar


diferentes abordagens de desenvolvimento

Podem ser ampliados e adaptados para criar


processos mais especcos
18

Modelos de Processo de So:ware


Modelos abordados:
Cascata
Engenharia de Sofware orientada a reso
Modelos Evolucionrios
Proto2pao
Processos itera2vos
Entrega/Desenvolvimento Incremental
Modelo Espiral de Boehm

19

Constri e Conserta
O produto construdo sem qualquer especicao
ou projeto
O produto retrabalhado quantas vezes for
necessrio para sa2sfazer o cliente
Este modelo pode funcionar razoavelmente para
micro projetos
Inadequado para projetos maiores

20

Cascata
Requisitos
Projeto
Implementao
Testes

Documentao

Documentao

Documentao

Documentao

Implantao
21

Engenharia de So:ware
Orientada a Reso
Reso acidental x Reso planejado
Baseado em reuso sistem2co onde sistemas so integrados a
par2r de componentes existentes ou de sistemas completos
COTS (Commercial-of-the-shelf)
Depende de uma base de componentes reusveis e de um
framework de integrao para a composio desses
componentes
Processo geral:

22

Modelos Evolucionrios
Requisitos mudam
Mudanas podem implicar em

Aumento dos custos de desenvolvimento


Retrabalho

O processo precisa acomodar mudanas:


Proto2pao
Processos Itera2vos

Entrega/Desenvolvimento Incremental
Modelo Espiral

23

Proto2pao
Prot2po
Verso inicial de um sistema, usado para
demonstrar conceitos, experimentar opes de
projeto e descobrir mais sobre o problema e suas
possveis solues
Processo

24

Processos Itera2vos
Requisitos de sistema SEMPRE evoluem no curso de
um projeto
Algum retrabalho necessrio
Desenvolvimento em ciclos
A abordagem itera0va pode ser aplicada a qualquer
um dos modelos genricos de processo
Duas abordagens (relacionadas)
Entrega incremental
Desenvolvimento espiral

Essncia: especicao desenvolvida em conjunto


com o so:ware
25

Entrega/Desenvolvimento
Incremental
Desenvolver uma implementao inicial
Expr aos comentrios dos usurios
Con2nuar por meio da criao de vrias verses at que um
sistema adequado seja desenvolvido
A2vidades de especicao, desenvolvimento e validao so
intercaladas, com rpido feedback entre todas as a2vidades

26

Entrega/Desenvolvimento
Incremental
O sistema entregue ao cliente em incrementos
Os requisitos so priorizados
Uma vez que o desenvolvimento de um incremento
iniciado, os requisitos so congelados
Os requisitos para os incrementos posteriores podem
con2nuar evoluindo (e incluir requisitos j
implementados!)

27

Entrega/Desenvolvimento
Incremental
Vantagens
Custo de acomodar mudanas nos requisitos do
cliente reduzido
Rpido feedback dos clientes
Entrega e implementao rpida

Desvantagens
O processo no visvel
A estrutura do sistema tende a se degradar com a
adio de novos incrementos
28

Modelo Espiral de Boehm


O processo representado como uma espiral

Cada loop na espiral representa uma fase no processo


Sem fases denidas, tais como especicao ou projeto
Os riscos so explicitamente avaliados e resolvidos ao
longo do processo

29

Descrio de Processo
As descries de processo podem incluir:
Produtos resultados das a2vidades
Papis responsabilidades dos envolvidos
Pr e Ps condies declaraes verdadeiras
antes e depois de a2vidades

Os processos so complexos
Os processos dependem de pessoas
No existe um processo ideal!!!
30

Categorias Gerais de Processos


Os processos costumam ser categorizados como:
Tradicionais (Dirigidos Planos)
Ra2onal Unied Process (RUP)

geis

Extreme Programming (XP), SCRUM, KANBAM, etc.

31

Processos Tradicionais
Meados da dcada de 80

Consenso: processo tradicional

Rigoroso e controlado
Comunidade de engenharia de so:ware
Sistemas grandes e duradouros (aeroespaciais e do governo)
Sistema de controle de aeronave 10 anos

Grandes equipes, dispersas geogracamente


Processos pesados grande quan2dade de documentao
Pouca ou nenhuma interao com o cliente durante o
desenvolvimento dicultando mudanas nos requisitos

Exemplo: Ra2onal Unied Process (RUP)


32

Ra2onal Unied Process (RUP)


Procura disciplinar atribuies de tarefas e
responsabilidades dentro de uma estrutura de
desenvolvimento de so:ware
Meta principal

garan2r a produo de so:ware com alta qualidade


sa2sfazendo as necessidades dos seus usurios, dentro de
um cronograma e oramento previsvel

33

Ra2onal Unied Process (RUP)


Processo hbrido
Caracters2cas de modelos de processo genricos:
Boas pr2cas na especicao e no projeto
Apoia a proto2pao e entrega incremental

Modelo moderno baseado em UML

Tenta cobrir todos os aspectos do desenvolvimento de


so:ware

Fortemente focado na documentao do sistema

34

Ra2onal Unied Process (RUP)


Descrito em 3 perspec2vas

Dinmica fases ao longo do tempo


Est0ca a2vidades realizadas no processo
Pr0ca boas pr2cas

Viso geral

35

Ra2onal Unied Process (RUP)


PERSPECTIVA DINMICA
As fases cons2tuem os ciclos de vida do so:ware,
sendo cada ciclo responsvel por uma verso nova
do produto
Concepo (Incep2on)

Estabelecer o business case para o sistema

Elaborao (Elabora2on)

Desenvolver um entendimento do domnio do problema,


arquitetura do sistema e iden2car riscos

Construo (Construc2on)

Projeto, programao, teste de sistema e documentao

Transio (Transi2on)

Implantar o sistema no seu ambiente operacional


36

Ra2onal Unied Process (RUP)


PERSPECTIVA ESTTICA
Papis/Equipe (quem est fazendo o que)
Artefatos (o que produzido)
A2vidades (como o trabalho conduzido)
Workow (quando prioriza a2vidades)

37

Ra2onal Unied Process (RUP)


PERSPECTIVA PRTICA
Descreve boas pr2cas recomendadas
Desenvolver o so:ware itera2vamente
Gerenciar requisitos
Usar arquiteturas baseadas em componentes
Modelar o so:ware visualmente
Vericar a qualidade de so:ware
Controlar as mudanas do so:ware
38

Referncias
[1] Sommerville, I. So:ware Engineering (9th ed.).
Addison-Wesley, 2010.
[2] Pressman, R. So:ware Engineering: A
Prac22oners Approach (7th ed.). McGraw-Hill
Science/Engineering/Math, 2009.
[3] IEEE Standard Glossary of So:ware Engineering
Terminology, Standard 610.12.
[4] Sbrocco, J. H. T. C., Macedo, P. C. Metodologias
geis - Engenharia de So:ware sob Medida. Editora
rica, 2012.
39

Centro de Cincias e Tecnologia


Departamento de Computao

Processo de Desenvolvimento e
Ciclo de Vida de Software

Candidato(a): Sabrina de Figueirdo Souto

Anda mungkin juga menyukai