5 engsoftware ciclovida cascata

Upload: bruno-gomes

Post on 08-Feb-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    1/48

    Ciclos de Vida de Software

    O conceito de Ciclo de Vida de Software umparadigma da Eng.Software.

    Existem vrios modelos de ciclo de vida de software,alguns cobrindo apenas da concepo aodesenvolvimento, enquanto outros cobremconcepo, desenvolvimento, implantao e

    manuteno.

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    2/48

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    3/48

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    4/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

    Definio de Requisitos:

    Requisito: (adj.) O que se requisitou ou requereu.

    Condio necessria para obteno de certoobjetivo. Quesito.

    Foco:

    No usurio e no processo (voz do cliente e voz do

    processo). Tarefas:

    Extrair os requisitos, especificar cada um deles,

    redigir uma Definio de Requisitos e valida-los juntoao usurio.

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    5/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

    Definio de Requisitos:

    Atravs de consulta ao usurio e observao do

    processo (existem outras possibilidades, por exemploanalisar os documentos em uso no sistemaconvencional), extrair os servios e as metas a serematingidas, bem como as restries serem respeitadas.

    Qual a qualidade desejada para o sistema em termos

    de funcionalidade, desempenho, flexibilidade de uso,etc.

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    6/48

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    7/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

    Praticamente todo requisito identificado precisa deuma especificao.

    Especificar: (v.t.d.) Indicar espcie de; explicardetalhadamente; Descrio rigorosa e minuciosa dascaractersticas que um material, uma obra ou umservio devero apresentar.

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    8/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

    Por exemplo:

    Requisito:

    O sistema deve aceitar multi-empresas. Especificao:

    Cada empresa tem CNPJ, endereo e Diretoria prpria.Os clientes so cadastrados para a Holding e no porempresa. Atualmente existem 4 empresas, mas essenmero poder chegar a 10 unidades.

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    9/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

    Definio de Requisitos:

    Gerar um Documento de Especificao, redigido emlinguagem inteligvel para o usurio.

    Finalidade:

    1. O usurio dever analisar e confirmar se a descrioest correta e se atende suas necessidades eexpectativa.

    2. Ser usados pelos desenvolvedores, durante oprocesso de construo do produto.

    3. Quando o produto for entregue, ser usado pelousurio para valida-lo (ver se est conforme os

    requisitos).

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    10/48

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    11/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

    (Doc.de Especificao):

    Requisitos Funcionais:

    O que o produtos de software deve fazer(funcionalidade).

    Requisitos No Funcionais:

    1. Confiabilidade Disponibilidade

    IntegridadeSegurana

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    12/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

    (Doc.de Especificao):

    Requisitos No Funcionais (cont.):

    2. Acurcia dos resultados (exatido). 3. Desempenho

    4. Problemas da interface homem-mquina

    5. Restries fsicas e operacionais

    6. Portabilidade 7. Etc.

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    13/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

    Aplicar os 5 Princpios da Engenharia de Software,especialmente: Abstrao, Decomposio eGeneralizao.

    Abstrao: Fixar-se nos aspectos importantes,ignorando os detalhes.

    Decomposio: Dividir em partes para lidar com acomplexidade.

    Generalizao: Buscar caractersticas comunsrelegando as caractersticas especficas ( uma formade abstrao).

    No usamos: Formalidade e Flexibilizao.

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    14/48

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    15/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

    Anlise de Requisitos:

    Obter uma compreenso completa dos requisitos desoftware, atravs de:

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    16/48

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    17/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

    Tambm deve definir detalhes da funcionalidade(detalhes de como o sistema deve se comportar, tantoem funcionalidade como em performance, segurana

    etc.)

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    18/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

    Projeto de Software:

    Foco:

    Nos dados, componentes de software e no produtofinal de software.

    Ferramentas:

    Metodologias/tcnicas de modelagem e anlise,ferramentas (editores grficos, ferramentas CASE etc).

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    19/48

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    20/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

    Relao entre componentes:

    Forte coeso (interna)

    Fraco acoplamento (externo)

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    21/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

    Projeto Preliminar:

    Transformao dos requisitos numa arquitetura dedados e de funcionalidade.

    Projeto Detalhado:

    Refinamento das representaes estruturais, obtendo-se assim representaes detalhada dos algoritmos(nos casos em que for necessrio) e dos dados.

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    22/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

    Detalhe: O ciclo de vida clssico tem um focoacentuado no produto de software e no o processo,portanto est faltando um projeto operacional,

    visando detalhes do processo de construo (esforos,responsabilidades, milestones, etc).

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    23/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    24/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

    Codificao:

    Foco:

    Nos algoritmos e nas linguagens de programao(sintaxe, limitaes, funcionalidade disponvel,

    Ferramentas:

    Linguagens de programao, geradores de cdigofonte, CASE de amplo espectro etc.

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    25/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

    Teste:

    Foco:

    Nas especificaes e nas sadas do produto desoftware.

    Ferramentas:

    Tcnicas de testagem, procedimentos da Qualidade,ferramentas de testagem.

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    26/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

    Testar contra especificaes de requisitos

    Testar contra padres da instalao

    Nomenclatura de campos, tabelas

    Padres de interfaces Padres de qualidade

    Unitrio (cada unidade de software)

    De Integrao do sistema (todos os omponentes, a

    partir de uma estratgia de aglutinao progressiva). De integrao entre sistemas (sistema gerado com

    outros sistemas com os quais haver troca deinformaes).

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    27/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

    Elementos necessrios:

    Padres da instalao e Def. Requisitos

    Ferramentas de teste

    Plano de teste Critrios de teste

    Critrios de completude (quando parar ?)

    Gerenciamento dos casos de teste

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    28/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    29/48

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    30/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

    Testes especiais:

    Performance

    Segurana

    Stress etcTeste na rea de produo:

    Teste inicial (alfa)

    Beta teste

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    31/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

    (Operao e) Manuteno:

    Foco:

    Depende do tipo de manuteno (algoritmo, usurio,

    processo, tecnologia etc) Ferramentas:

    Linguagens de programao, ferramentas CASE etc . Arigor deveria ser o mesmo foco e as mesmasferramentas da fase de Definio de Requisitos (voltas origens).

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    32/48

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    33/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    34/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    35/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    36/48

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    37/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

    Falhas do modelo:

    Todo modelo tem suas limitaes (abstrao, esttico,foco (viso) do modelo, etc.

    1) Imagina o processo como sendo seqencial eprogressivo, onde cada fase estanque, mesmo com assetas indicando retorno a fases anteriores,cada fase vista isoladamente. Tenta manter a linearidade para

    manter o processo previsvel e de fcil gerenciamento.

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    38/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

    2) A fase de Anlise s se inicia aps obteno dosrequisitos, que devem ser:

    Completos

    Corretos No ambguos

    No redundantes

    Sem detalhes de implementao

    Quando isso possvel ?

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    39/48

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    40/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

    5) No prev um Estudo de Viabilidade, que deveriainiciar ao trmino da Definio de Requisitos e, nomximo prolongar-se at o incio da Anlise.

    Sua finalidade evitar que recursos sejam gastos natentativa de solucionar o problema de maneira errada,alm de verificar se a soluo vivel do ponto de vistaeconmico (investimos poucos recursos para termos

    certeza de que o projeto vivel, evitando perdermuitos recursos)

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    41/48

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    42/48

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    43/48

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    44/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    45/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

    7) No permite Engenharia Reversa (reconstruo

    de sistema legados).

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    46/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

    Gerenciar o processo:

    Objetivo: Controlar o processo.

    1. Adaptar o modelo de gerenciamento do processo ao

    tipo de ciclo de vida e tipo de produto.2. Definir Polticas (autorizao de acessos, perodos

    de backup, responsabilidades, documentao

    obrigatria etc).

    3. Obter recursos4. Gerenciar recursos

    5. Corrigir desvios do projeto e monitorar prazos e

    custos.

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    47/48

    Ciclos de Vida de Software

    Modelo Clssico (Cascata)

    Na prtica:

    Presses sobre o tempo

    Receber ordens para fazer (mandatrio)

    DSI fazendo poltica de boa vizinhana Diretoria fazendo poltica de boa vizinhana

    O desenvolvimento j estava previsto em P.D.I.

  • 7/22/2019 5 EngSoftware CicloVida Cascata

    48/48