View
26
Download
0
Category
Preview:
Citation preview
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio
1
PrincPrincpios de Anpios de Anlise lise
e Projeto de Sistemase Projeto de Sistemas
com UMLcom UML22 ediedioo
Eduardo Bezerra
Editora Campus/Elsevier
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio
2
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 derequisitos 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
3
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
4
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
5
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
6
2.1 Atividades tpicas de um PDS2.2 O componente humano em um PDS
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio
7
Foco do livro
Atividades tpicas de um PDS
Levantamento de requisitos Anlise de requisitos Projeto Implementao Testes Implantao
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio
8
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
9
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
10
2.3 Modelos de ciclo de vida
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio
11
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
12
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
13
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 atque o ciclo do projeto de desenvolvimento chegue ao final.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio
14
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
15
Modelo iterativo e incremental
Desenvolvimento em mini-cascatas.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio
16
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
17
Modelo iterativo e incremental vantagense 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
18
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
19
2.4 Utilizao da UML no modeloiterativo e incremental
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio
20
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
21
2.5 Prototipagem
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio
22
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
23
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
24
2.6 Ferramentas de suporte
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio
25
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
26
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
27
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
Recommended