Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
de vida de software
Introduo
Processo de software
Mtodos, Ferramentas e Procedimentos
Benefcios com a adoo de processos de software
Transformao formal
Modelos Evolutivos
Modelo Incremental
Modelo Espiral
2
Demanda porAbandono
Melhor
Qualidade!
de
planos e
Produto funciona, mas
melhor qualidade
inclui:
procedimentos
com defeitos; prazo e
menor prazos, custos, defeitos, insatisfaes,
custo maiores; e menos
funcionalidade
mais qualidade dos produtos, previsibilidade,
produtividade, competitividade,
Clientes e
funcionrios
e melhores resultados de negcio (ROI)
Acmulo
de trabalho
insatisfeitos
Sucesso depende muito do
esforo herico das pessoas
3
Pouca
repetibilidade
O que um processo?
Processos
Solicitaes para
construo de
produto ou
realizao de
servios de software
Empresa
Produto ou servio
de software
realizado e entregue
ao cliente
Processo de Software
o
que
as
pessoas
fazem
,
Uma notao de processo comumente
utilizando
procedimentos, mtodos e ferramentas,
representa:
para
adquirir,
desenvolver,
manter
e
melhorar
desejvel que uma notao de processo
software
e produtos
associados
Quais atividades
so executadas
no processo
e suas
seja:
interdependncias?
Quem realiza as atividades?
Objetivos
Flexvel
Por
que as atividades so feitas?
Simples
Quando
as atividades so feitas?
Fcilas
deatividades
entender eso
treinar
Como
feitas?
Possuir
ferramentais
suporte devem ter?
Quais
as entradas
que para
as atividades
Quais sadas elas produzem?
Entradas
Como possvel medir o desempenho?
Critrios de entrada e sada
Informaes narrativas
Processo:
atividades
Recursos e Infraestrutura
Sadas
O Processo de Software
MTODOS:
Abordagens estruturadas para desenvolvimento
de software que incluem modelos de sistema,
notaes, regras, recomendaes de projeto e
orientaes de uso
O Processo de Software
FERRAMENTAS: do suporte
automatizado aos mtodos.
Existem atualmente ferramentas para sustentar
cada um dos mtodos
Quando as ferramentas so integradas,
estabelecido um sistema de suporte ao
desenvolvimento de software chamado CASE Computer Aided Software Engineering
O Processo de Software
PROCEDIMENTOS: constituem o elo de
ligao entre os mtodos e ferramentas
Seqncia em que os mtodos sero
aplicados
Produtos que se exige que sejam entregues
Controles que ajudam assegurar a
qualidade e coordenar as alteraes
Marcos de referncia que possibilitam
administrar o progresso do software.
Processo de
uma
Fbrica
de Software
Identificao
dos
papis
relacionados
as
Identificao das atividades, dos artefatos de
atividades
entrada edasada
Descrio
atividade
10
Burocracia
Resistncia
Aumento da carga de trabalho
A empresa tem que sobreviver..
Resultados imediatos
(resultados confiana comprometimento)
...
11
Maior visibilidade da
execuo dos
projetos
Melhor qualidade
do produto
12
Maior
previsibilidade
dos resultados
Maior
produtividade
Melhor ambiente de
trabalho e satisfao
das pessoas
Introduo
Processo de software
Mtodos, Ferramentas e Procedimentos
Benefcios com a adoo de processos de software
Transformao formal
Modelos Evolutivos
Modelo Incremental
Modelo Espiral
13
14
Transformao formal
Modelos Evolutivos
Modelo Incremental
Modelo Espiral
15
O Modelo Cascata
16
Modelo Cascata
Derivado de modelos existentes de outras
engenharias (1970)
17
Modelo Cascata
Anlise
Projeto
Implementao
Teste
Manuteno
18
Modelo Cascata
Anlise
Projeto
Implementao
Teste
Manuteno
19
Sadas:
Requisitos de Software
[2]
ou
em
Requisitos de Software
O que o software deve fazer??
O que o cliente deseja??
Quais as restries??
Quais os componentes??
Quem vai utilizar o software??
Requisitos funcionais
Requisitos
Funcionais
Requisitos Funcionais
Requisitos funcionais do usurio podem ser sentenas
de alto nvel sobre o que o sistema deve fazer
Propostas Tcnicas e Comerciais, Manuais de
procedimentos, etc.
Requisitos funcionais do sistema devem descrever os
servios do sistema em detalhes
Documento de requisitos refinado, arquitetura do
software, etc.
Requisitos No-funcionais
Restringem os requisitos funcionais
Requisitos de Produto
Requisitos Externos
RequisitosOrganizacionais
de produto
Requisitos
Requisitos que especificam que o produto
entregue
tem
se
comportar
de umque
modo
Requisitos
que
uma
consequncia
de
Requisitos
organizacionais
Requisitos
queso
surgem
de fatores
so
particular
polticas
e ao
procedimentos
externos
sistema e aoorganizacionais.
processo de
Ex:
execuo,
confiabilidade,
Ex:Velocidade
Padres dedeprocessos
usados,
requisitos
desenvolvimento.
Requisitos
usabilidade,
etc. legislativos,
de implementao
etc. externos
Ex:Requisitos
exigncia de
interoperabilidade etc.
Requisitos No-Funcionais:
Classificao
Somerville 2003
Requisitos no
funcionais
Requisitos do
produto
Requisitos de
usabilidade
Requisitos de
eficincia
Requisitos de
desempenho
Requisitos
organizacionais
Requisitos de
confiana
Requisitos de
portabilidade
Requisitos
organizacionais
Requisitos
ticos
Requisitos de
espao
Requisitos
Legislativos
Requisitos de
privacidade
Requisitos de
entrega
Requisitos de
implementao
Requisitos de
padres
Requisitos de
interoperabilida
de
Requisitos de
segurana
Requisitos de Software
O QUE
Funcionalidade
Restries
Confiabilidade
Usabilidade
Eficincia
Manutenibilidade
Portabilidade
ISO/IEC 9126 / NBR 1359
Requisitos de Software
FUNCIONALIDADE - Satisfaz as necessidades?
SUBCARACTERSTICA
PERGUNTA CHAVE
Adequao
Acurcia
Interoperabilidade
Conformidade
Segurana de Acesso
Requisitos de Software
PERGUNTA CHAVE
Maturidade
Tolerncia a Falhas
Recuperao
Requisitos de Software
Software para
Controle de Estoque
Software Embutido
em Satlite
Caractersticas Selecionadas
Funcionalidade
Confiabilidade
Usabilidade
Eficincia
Manutenibilidade
Portabilidade
Requisitos de Software
Atributos de um requisito:
Capacidade de verificao Pode ser verificado se o
software atende aquele requisito ou no;
Prioridade Utilizado para negociao no caso de
recursos limitados;
Identificador nico Possibilita a sua incluso no
controle da gerncia de configurao e gerenciado
atravs do ciclo de vida do software;
Modelo Cascata
Anlise
Projeto
Implementao
Teste
Manuteno
37
Projeto
Estrutura de Dados,
Arquitetura de Software,
Detalhes Procedimentais e
Caracterizao de Interfaces
Exemplos de Diagramas...
Manter Produtos
Genricos
include
Manter produtos
Manter Produtos
Controlados
include
Efetuar pagamento
carto de ddito
Manter Clientes
Vendedor
extend
Efefuar v enda
extend
Efetuar pagamento
Carto de Crdito
extend
Efetuar pagamento
Cheque
39
Diagrama de Classe
40
Modelo Cascata
Anlise
Projeto
Implementao
Teste
Manuteno
41
Implementao
Modelo Cascata
Anlise
Projeto
Implementao
Teste
Manuteno
43
Testes
Modelo Cascata
Anlise
Projeto
Implementao
Teste
Manuteno
45
Manuteno
Modelo Cascata
Vantagens
Oferece uma maneira de tornar o processo mais
visvel, fixando pontos especficos para a escrita
de relatrios.
Problemas
Boa parte do sistema no estar disponvel at
um ponto adiantado no cronograma do projeto:
geralmente difcil convencer o usurio de que
preciso pacincia
O Modelo de Desenvolvimento
Prototipagem
48
Introduo
Processo de software
Mtodos, Ferramentas e Procedimentos
Benefcios com a adoo de processos de software
Transformao formal
Modelos Evolutivos
Modelo Incremental
Modelo Espiral
49
Programao exploratria
Desenvolvimento da primeira verso do sistema o mais
rpido possvel;
O escopo no claramente definido: a especificao
feita de forma intercalada ao desenvolvimento;
Aps o desenvolvimento de cada uma das verses do
sistema ele mostrado aos usurios para comentrios;
Prototipagem descartvel
Objetivo entender os requisitos do sistema. Ele deve
iniciar com os requisitos vagamente entendidos;
Como na programao exploratria, a primeira fase
prev o desenvolvimento de um programa (prottipo)
para o usurio experimentar;
O prottipo ento descartado e o software deve ser
reimplementado na fase seguinte usando algum outro
modelo de ciclo de vida (ex: cascata);
Usado com sucesso para prototipagem de partes do
sistema (ex: Interface Grfica e Aspectos de arquitetura).
51
Prototipagem descartvel
Vantagens:
Pode ser utilizada para identificao dos requisitos
dos projetos
Desvantagens:
Expectativas do cliente com relao a prazo e custo;
Possibilidade de reutilizao do prottipo
Falta de qualidade, falta de padronizao
53
Transformao formal
Utilizado para desenvolvimento de sistemas
crticos;
Utiliza uma especificao formal (definio
matemtica, no ambgua) do software, que
desenvolvida e posteriormente transformada
em um programa atravs de regras que
preservam a corretude da especificao;
54
Transformao formal
Requirements
definition
55
Formal
specification
Formal
transformation
Integration and
system testing
Transformao formal
Problemas
Necessidade de habilidades especializadas e
treinamento para aplicar as tcnicas de
transformao
Dificuldade para especificar formalmente alguns
aspectos do sistema tais como a interface com o
usurio
Aplicabilidade
Sistemas crticos, especialmente aqueles onde a
segurana um fator crtico
56
Modelos Iterativos
57
Modelos Iterativos
Requisitos de sistema SEMPRE evoluem
durante o curso de um projeto. Assim a
iterao do processo sempre faz parte do
desenvolvimento de grandes sistemas
Desenvolvimento Espiral
O processo representado como uma espiral em vez de
uma seqncia de atividades
Cada volta na espiral representa uma fase no processo
59
Desenvolvimento Espiral
Definio dos objetivos, alternativas e restries
Objetivos especficos para a fase so identificados,
alternativas para realizar os objetivos e restries so
encontradas.
Desenvolvimento e validao
Um modelo apropriado para o desenvolvimento
escolhido, o qual pode ser qualquer um dos modelos de
ciclo de vida
Planejamento
O projeto revisto e a prxima fase da espiral planejada
60
Desenvolvimento Espiral
Determine objectives
alternatives and
constraints
Risk
analysis
Evaluate alternatives
identify, resolve risks
Risk
analysis
Risk
analysis
REVIEW
Requirements plan
Life-cycle plan
Development
plan
61
Integration
and test plan
Prototype 3
Prototype 2
Operational
protoype
Risk
analy sis Prototype 1
S/W
requirements
Requirement
validation
Product
design
Detailed
design
Code
Unit test
Design
V&V
Integr ation
test
Acceptance
test
Develop, verify
Service
next-level product
Desenvolvimento Espiral
Em vez de entregar o sistema como um todo, o
desenvolvimento e a entrega so divididos em
incrementos. Com cada incremento entregando parte da
funcionalidade requerida.
Requisitos dos usurios so priorizados e os requisitos
de mais alta prioridade so includos nas iteraes
iniciais
Uma vez que o desenvolvimento de um incremento
iniciado, os requisitos so "congelados". Embora outros
requisitos possam continuar a evoluir para incrementos
posteriores
62
Desenvolvimento Incremental
63
Desenvolvimento Incremental
Define outline
requirements
Develop system
increment
Assign requirements
to increments
Valida te
increment
Design system
architecture
Integrate
increment
Valida te
system
Final
system
System incomplete
64
Exemplo
Modelo Iterativo e Incremental
Escopo
R1 R2 R3 R5
R6 R7 R8 R9
R10 R11 R12
Release 1
R2 R3 R5 R6
Alteraes
Software 1.0
65
Release 2
R1 R7
Alteraes
Software 2.0
Release 3
R10 R11 R12
Alteraes
Software 3.0
Release 4 (Final)
R8 R9
Software 4.0
Desenvolvimento Incremental
A funcionalidade do sistema est disponvel
mais cedo, pois ela entregue a partir dos
incrementos
Incrementos iniciais agem com um
prottipo para ajudar a elicitar requisitos
para incrementos finais
Diminui o risco de falha do projeto como
um todo
Os servios do sistema de prioridade mais
alta tendem a receber mais testes
66
Concluso
Para escolha de um Modelo de Ciclo de
67
68
Exerccios 1 de 2
Escolha qual modelo de ciclo vida voc optaria
para o desenvolvimento dos seguintes
projetos/solues/situaes:
1. Um software para um cliente que no sabe definir
qual o escopo do projeto dele.
2. Um software de gesto empresarial para uma
grande rede de empresas varejistas;
3. Um software de controle de trfego areo;
4. Um software de reconhecimento de ris para acesso
a locais restritos;
5. Um software de otimizao de rotas para uma
empresa transportadora, utilizando Algoritmo
Gentico;
69
Exerccio 2 de 2
Destaque as vantagens e desvantagens de cada
modelo de ciclo de vida:
1.
2.
3.
4.
5.
70
Modelo Cascata;
Modelo Prototipagem Descartvel;
Modelo Programao Exploratria;
Modelo Iterativo e Incremental
Modelo Espiral;
Fim da aula