Você está na página 1de 27

Princpios de Anlise

e Projeto de Sistemas
com UML
2 edio
Eduardo Bezerra
Editora Campus/Elsevier

Princpios de Anlise e Projeto de


Sistemas com UML - 2 edio

Captulo 2
Processo de Desenvolvimento de Software

Quanto mais livros voc leu (ou escreveu), mais as aulas voc assistiu (ou
lecionou), mais linguagens de programao voc aprendeu (ou projetou),
mais software OO voc examinou (ou produziu), mais documentos de
requisitos voc tentou decifrar (ou tornou decifrvel), mais padres de
projeto voc aprendeu (ou catalogou), mais reunies voc assistiu (ou
conduziu), mais colegas de trabalho talentosos voc teve (ou contratou),
mais projetos voc ajudou (ou gerenciou), tanto mais voc estar equipado
para lidar com um novo desenvolvimento. - Bertrand Meyer
Princpios de Anlise e Projeto de
Sistemas com UML - 2 edio

Software is hard
Porcentagem de projetos que terminam dentro do prazo
estimado: 10%
Porcentagem de projetos que so descontinuados antes de
chegarem ao fim: 25%
Porcentagem de projetos acima do custo esperado: 60%
Atraso mdio nos projetos: um ano.

Fonte: Chaos Report (1994)


Fonte: Chaos Report (1994)

Princpios de Anlise e Projeto de


Sistemas com UML - 2 edio

Processo de desenvolvimento
Tentativas de lidar com a complexidade e de minimizar os
problemas envolvidos no desenvolvimento de software
envolvem a definio de processos de desenvolvimento de
software.
Um processo de desenvolvimento de software (PDS)
compreende todas as atividades necessrias para definir,
desenvolver, testar e manter um produto de software.

Princpios de Anlise e Projeto de


Sistemas com UML - 2 edio

Processo de desenvolvimento
Exemplos de processos de desenvolvimento existentes:

ICONIX
RUP
EUP
XP
OPEN

Alguns objetivos de um processo de desenvolvimento so:


Definir quais as atividades a serem executadas ao longo do projeto;
Definir quando, como e por quem tais atividades sero executadas;
Prover pontos de controle para verificar o andamento do
desenvolvimento;
Padronizar a forma de desenvolver software em uma organizao.

Princpios de Anlise e Projeto de


Sistemas com UML - 2 edio

2.1 Atividades tpicas de um PDS


2.2 O componente humano em um PDS
Princpios de Anlise e Projeto de
Sistemas com UML - 2 edio

Atividades tpicas de um PDS

Levantamento de requisitos
Anlise de requisitos
Projeto
Implementao
Testes
Implantao

Foco do livro

Princpios de Anlise e Projeto de


Sistemas com UML - 2 edio

Participantes do processo

Gerentes de projeto
Analistas
Projetistas
Arquitetos de software
Programadores
Clientes
Avaliadores de qualidade

Princpios de Anlise e Projeto de


Sistemas com UML - 2 edio

Participao do usurio
A participao do usurio durante o desenvolvimento de
um sistema extremamente importante.

Princpios de Anlise e Projeto de


Sistemas com UML - 2 edio

2.3 Modelos de ciclo de vida

Princpios de Anlise e Projeto de


Sistemas com UML - 2 edio

10

Modelo de ciclo de vida


Um ciclo de vida corresponde a um encadeamento especfico
das fases para construo de um sistema.
Dois modelos de ciclo de vida:
modelo em cascata
modelo iterativo e incremental.

Princpios de Anlise e Projeto de


Sistemas com UML - 2 edio

11

Modelo em cascata
Esse modelo apresenta uma tendncia para a progresso
seqencial entre uma fase e a seguinte.

Princpios de Anlise e Projeto de


Sistemas com UML - 2 edio

12

Modelo em cascata
Projetos reais raramente seguem um fluxo seqencial.
Assume que possvel declarar detalhadamente todos os
requisitos antes do incio das demais fases do
desenvolvimento.
propagao de erros pelas as fases do processo.

Uma verso de produo do sistema no estar pronta at


que o ciclo do projeto de desenvolvimento chegue ao final.

Princpios de Anlise e Projeto de


Sistemas com UML - 2 edio

13

Modelo de iterativo e incremental


Divide o desenvolvimento de um produto de software em
ciclos.
Em cada ciclo de desenvolvimento, podem ser identificadas
as fases de anlise, projeto, implementao e testes.
Cada ciclo considera um subconjunto de requisitos.
Esta caracterstica contrasta com a abordagem clssica, na
qual as fases so realizadas uma nica vez.

Princpios de Anlise e Projeto de


Sistemas com UML - 2 edio

14

Modelo iterativo e incremental


Desenvolvimento em mini-cascatas.

Princpios de Anlise e Projeto de


Sistemas com UML - 2 edio

15

Modelo iterativo e incremental


Iterativo: o sistema de software desenvolvido em vrios
passos similares.
Incremental: Em cada passo, o sistema estendido com
mais funcionalidades.

Princpios de Anlise e Projeto de


Sistemas com UML - 2 edio

16

Modelo iterativo e incremental vantagens


e desvantagens
 Incentiva a participao do usurio.
 Riscos do desenvolvimento podem ser mais bem
gerenciados.
Um risco de projeto a possibilidade de ocorrncia de algum
evento que cause prejuzo ao processo de desenvolvimento,
juntamente com as conseqncias desse prejuzo.
Influncias: custos do projeto,cronograma, qualidade do
produto, satisfao do cliente, etc.

 Mais difcil de gerenciar

Princpios de Anlise e Projeto de


Sistemas com UML - 2 edio

17

Ataque os riscos
Se voc no atacar os riscos [do projeto] ativamente, ento
estes iro ativamente atacar voc. (Tom Gilb).
A maioria dos PDS que seguem o modelo iterativo e incremental aconselha
que as partes mais arriscadas sejam consideradas inicialmente.

Riscos no gerenciados

PDS
Princpios de Anlise e Projeto de
Sistemas com UML - 2 edio

18

2.4 Utilizao da UML no modelo


iterativo e incremental
Princpios de Anlise e Projeto de
Sistemas com UML - 2 edio

19

UML no modelo iterativo e incremental


A UML independente do processo de desenvolvimento.
Vrios processos podem utilizar a UML para modelagem de
um sistema OO.

Os artefatos de software construdos atravs da UML


evoluem medida que o as iteraes so realizadas.
A cada iterao, novos detalhes so adicionados a esses artefatos.
Alm disso, a construo de um artefato fornece informaes para adicionar
detalhes a outros.

Princpios de Anlise e Projeto de


Sistemas com UML - 2 edio

20

2.5 Prototipagem

Princpios de Anlise e Projeto de


Sistemas com UML - 2 edio

21

Prototipagem
A prototipagem uma tcnica aplicada quando:
h dificuldades no entendimento dos requisitos do sistema
h requisitos que precisam ser mais bem entendidos.

A construo de prottipos utiliza ambientes com facilidades


para a construo da interface grfica.
Procedimento geral da prototipagem:

Aps o LR, um prottipo construdo para ser usado na validao.


Usurios fazem crticas...
O prottipo ento corrigido ou refinado
O processo de reviso e refinamento continua at que o prottipo seja
aceito.
Aps a aceitao, o prottipo descartado ou utilizado como uma
verso inicial do sistema.
Princpios de Anlise e Projeto de
Sistemas com UML - 2 edio

22

Prototipagem
Note que a prototipagem NO um substituto construo
de modelos do sistema.
A prototipagem uma tcnica complementar construo dos
modelos do sistema.
Mesmo com o uso de prottipos, os modelos do sistema devem
ser construdos.
Os erros detectados na validao do prottipo devem ser
utilizados para modificar e refinar os modelos do sistema.

Princpios de Anlise e Projeto de


Sistemas com UML - 2 edio

23

2.6 Ferramentas de suporte

Princpios de Anlise e Projeto de


Sistemas com UML - 2 edio

24

Ferramentas de suporte
O desenvolvimento de um software pode ser facilitado
atravs do uso de ferramentas que auxiliam:
na construo de modelos,
na integrao do trabalho de cada membro da equipe,
no gerenciamento do andamento do desenvolvimento, etc.

Princpios de Anlise e Projeto de


Sistemas com UML - 2 edio

25

Ferramentas de suporte
H diversos sistemas de software que so utilizados para dar
suporte ao desenvolvimento de outros sistemas.
Um tipo bastante conhecido de ferramenta de suporte so as
ferramentas CASE.
CASE: Computer Aided Software Engineering

Alm das ferramentas CASE, outras ferramentas importantes


so as que fornecem suporte ao gerenciamento.

desenvolver cronogramas de tarefas,


definir alocaes de verbas,
monitorar o progresso e os gastos,
gerar relatrios de gerenciamento, etc.

Princpios de Anlise e Projeto de


Sistemas com UML - 2 edio

26

Ferramentas de suporte

Criao e manuteno da consistncia entre estes diagramas


Round-trip engineering
Depurao de cdigo fonte
Relatrios de testes
Testes automticos
Gerenciamento de verses
Verificao de desempenho
Verificao de erros em tempo de execuo
Gerenciamento de mudanas nos requisitos
Prototipagem
Princpios de Anlise e Projeto de
Sistemas com UML - 2 edio

27

Você também pode gostar