Professional Documents
Culture Documents
A Engenharia de Software
Uma Tecnologia em Camadas
tas n e m a ferr os mtod so proces de a d i l a u aq foco n
Gerenciamento da Qualidade Total e filosofias similares produzem uma mudana cultural que permite o desenvolvimento crescente de abordagens mais maduras para a Engenharia de Software
Modelos de Processos 2
ENGENHARIA DE SOFTWARE
pode ser vista como uma abordagem dedesenvolvimento de software elaborada com disciplina e mtodos bem definidos.
.....a construo por mltiplas pessoas de um software com mltiplas verses [Parnas 1987]
Modelos de Processos 3
Introduo
O processo de software visto por uma seqncia de atividades que produzem uma variedade de documentos, resultando em um programa satisfatrio e executvel. Os nveis e arquitetura do processo de software formada por:
Nvel Universal: possa utilizar em qualquer projeto; Nvel Mundial: Especfico para um determinado projeto; Nvel Atmico: Seqncia algortmica do projeto, especfico para as tarefas do processo.
Modelos de Processos 4
Introduo
O desenvolvimento de software tem-se caracterizado por uma sobreposio de atividades necessrias para especificar, projetar e testar retorno dos resultados do software que est sendo criado. O feedback dessa atividade nos ajuda a compreender o que necessrio para criar um produto. A partir do feedback obtido em experincias com prottipos, podemos efetuar mudanas na forma e na construo conceitual do software. O feedback possui quatro formas bsicas: Medies da entidade do software: nmero derivado de resultados produzidos por processos executores; Corretiva: erros, faltas e falhas cometidas no software; Mudana: Modificar o software para eliminar defeitos; Aprimoramento: Aperfeioar o software.
Modelos de Processos 5
Modelos de Processos
O Modelo de Prototipao O Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software
O Modelo Incremental O Modelo Espiral O Modelo de Montagem de Componentes
Modelos de Processos
O Paradigma de Prototipao O Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software
O Modelo Incremental O Modelo Espiral O Modelo de Montagem de Componentes
Modelos de Processos
O Modelo Cascata
modelo mais antigo e o mais amplamente usado da engenharia de software modelado em funo do ciclo da engenharia convencional requer uma abordagem sistemtica, seqencial ao desenvolvimento de software o resultado de uma fase se constitui na entrada da outra
Modelos de Processos 9
O Modelo em Cascata
Verificar Plano Explorao de Requisitos de V & V conceitos Requisitos Projeto de V & V
O qu Como Operao
Instalao e de V & V liberao Operao Manuteno e de V & V operao
Sistema
Projeto Implementao
Evoluir Sistema de V & V Tarefas de V & V
Testes
Feedback
Modelos de Processos
10
O Modelo em Cascata
Engenharia de Sistemas Anlise de Requisitos Envolve a elicitao de requisitos do sistema, com uma pequena Projeto
quantidade de projeto e anlise de alto nvel; Codificao como engenharia Preocupa-se com aquilo que conhecemos progressiva de produto de software; Testes Iniciar com um modelo conceitual de alto nvel para um sistema e Manuteno prosseguir com o projeto, implementao e teste do modelo fsico do sistema.
Modelos de Processos
11
O Modelo em Cascata
Anlise de Requisitos de Software o processo de Engenharia de elicitao dos requisitos Sistemas intensificado e concentrado especificamente no Anlise de Requisitos software Projeto deve-se compreender o domnio Codificao da informao, a funo, desempenho e interfaces exigidos Testes os requisitos (para o sistema e para o Manuteno software) so documentados e revistos com o cliente
Modelos de Processos 12
O Modelo em Cascata
Projeto traduo dos requisitos do software para um conjunto de representaes que podem ser avaliadas quanto qualidade, antes que a codificao inicie
Modelos de Processos
13
O Modelo em Cascata
Implementao traduo das representaes do projeto para uma linguagem artificial resultando em instrues executveis pelo computador e implementado num ambiente de trabalho.
Modelos de Processos
14
O Modelo em Cascata
Testes Concentra-se:
nos aspectos lgicos internos do software, garantindo que todas as instrues tenham sido testadas nos aspectos funcionais externos, para descobrir erros e garantir que a entrada definida produza resultados que concordem com os esperados.
Modelos de Processos
15
O Modelo em Cascata
Manuteno provavelmente o software dever sofrer mudanas depois que for entregue ao cliente causas das mudanas: erros, adaptao do software para acomodar mudanas em seu ambiente externo e exigncia do cliente para acrscimos funcionais e de desempenho
Modelos de Processos
16
O Modelo em Cascata
O Modelo de processo em Cascata trouxe contribuies importantes para o processo de desenvolvimento de software:
Imposio de disciplina, planejamento e gerenciamento a implementao do produto deve ser postergada at que os objetivos tenham sido completamente entendidos; Permite gerncia do baseline, que identifica um conjunto fixo de documentos produzidos ao longo do processo de desenvolvimento;
Modelos de Processos
19
O Paradigma de Prototipao O Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software
O Modelo Incremental O Modelo Espiral O Modelo de Montagem de Componentes
Modelos de Processos
20
O Modelo de Prototipao
o objetivo entender os requisitos do usurio e, assim, obter uma melhor definio dos requisitos do sistema. possibilita que o desenvolvedor crie um modelo (prottipo)do software que deve ser construdo apropriado para quando o cliente no definiu detalhadamente os requisitos.
Modelos de Processos
21
O Paradigma de Prototipao
para obteno dos requisitos
Obter Requisitos
O Paradigma de Prototipao
para obteno dos requisitos
1- OBTEN O DOS REQUISITOS: Obter Requisitos desenvolvedor e cliente definem os objetivos gerais do software, identificam quais requisitos so Projeto Rpido Elaborar conhecidos e as reas que Refinamento do Prottipo necessitam de definies adicionais.
O Paradigma de Prototipao
para obteno dos requisitos
Obter Requisitos
2- PROJETO RPIDO: Elaborar Projeto Rpido representao dos aspectos do Refinamento do Prottipo software que so visveis ao usurio (abordagens de entrada e formatos de sada)
Construir Prottipo Avaliar Prottipo
Modelos de Processos 24
O Paradigma de Prototipao
para obteno dos requisitos
Obter Requisitos
3- CONSTRUO DO PROTTIPO:
O Paradigma de Prototipao
para obteno dos requisitos
Obter Requisitos
O Paradigma de Prototipao
para obteno dos requisitos
Obter Requisitos
Elaborar Projeto 5- REFINAMENTO DO PROTTIPO: cliente e Rpido Refinamento do Prottipo desenvolvedor refinam
O Paradigma de Prototipao
para obteno dos requisitos
Obter Requisitos
O Paradigma de Prototipao
para obteno dos requisitos
Obter Requisitos
6- CONSTRUO PRODUTO:
identificados os requisitos, o Elaborar Projeto Rpido prottipo deve ser descartado e a CONSTRUO verso de do produo Refinamento Prottipo deve ser DO PRODUTO construda considerando os critrios de qualidade.
Construir Prottipo Avaliar Prottipo
Modelos de Processos 29
O Paradigma de Prototipao O Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software
O Modelo Incremental O Modelo Espiral O Modelo de Montagem de Componentes O Modelo de Desenvolvimento Concorrente
Modelos de Processos
32
O Modelo RAD
RAD ( Rapid Application Development) um modelo sequencial linear que enfatiza um ciclo de desenvolvimento extremamente curto O desenvolvimento rpido obtido usando uma abordagem de construo baseada em componentes.
Modelos de Processos
33
O Modelo RAD
Os requisitos devem ser bem entendidos e o alcance do projeto restrito O modelo RAD usado principalmente para aplicaes de sistema de informao Cada funo principal pode ser direcionada para uma equipe RAD separada e ento integrada para formar o todo.
Modelos de Processos
34
O Modelo RAD
Equipe #3 Equipe #1 Equipe #2
Modelagem do Negcio
Modelagem do Negcio
Modelagem Modelagem dos Dados do Negcio Modelagem Modelagem Modelagem do Processo dos Dados Gerao da dos Dados Modelagem Aplicao do Processo Modelagem Teste e Gerao da Modificao do Processo Aplicao Teste e Gerao da Modificao Aplicao
60 a 90 dias
35
O Modelo RAD
Desvantagens:
Exige recursos humanos suficientes para todas as equipes Exige que desenvolvedores e clientes estejam comprometidos com as atividades de fogorpido a fim de terminar o projeto num prazo curto
Modelos de Processos
36
O Modelo RAD
Nem todos os tipos de aplicao so apropriadas para o RAD:
Deve ser possvel a modularizao efetiva da aplicao se alto desempenho uma caracterstica e o desempenho obtido sintonizando as interfaces dos componentes do sistema, a abordagem RAD pode no funcionar
Modelos de Processos
37
O Paradigma de Prototipao O Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software
O Modelo Incremental O Modelo Espiral O Modelo de Montagem de Componentes
Modelos de Processos
38
Modelos de Processos
39
Modelos de Processos
41
O Paradigma de Prototipao O Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software
O Modelo Incremental O Modelo Espiral O Modelo de Montagem de Componentes
Modelos de Processos
42
O Modelo Incremental
o modelo incremental combina elementos do modelo cascata (aplicado repetidamente) com a filosofia iterativa da prototipao o objetivo trabalhar junto do usurio para descobrir seus requisitos, de maneira incremental, at que o produto final seja obtido.
Modelos de Processos
43
O Modelo Incremental
Verso Inicial
Anlise Anlise Projeto Projeto
Descrio geral
Engenharia de sistemas/informao
geral
Codificao Codificao
Teste Teste
Modelos de Processos
Verso Final
44
O Modelo Incremental
a verso inicial frequentemente o ncleo do produto (a parte mais importante)
a evoluo acontece quando novas caractersticas so adicionadas medida que so sugeridas pelo usurio
Este modelo importante quando difcil estabelecer a priori uma especificao detalhada dos requisitos
Modelos de Processos
45
O Modelo Incremental
o modelo incremental mais apropriado para sistemas pequenos As novas verses podem ser planejadas de modo que os riscos tcnicos possam ser administrados (Ex. disponibilidade de determinado hardware)
Modelos de Processos
46
O Modelo de Prototipao O Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software
O Modelo Incremental O Modelo Espiral O Modelo de Montagem de Componentes
Modelos de Processos
47
Modelos de Processos
48
Develop ment plan Integrati on and test p lan PLANEJAR PRXIMA FASE
Modelos de Processos
Code Uni t tes t Desi gn V& V Integr ati on test Accep tance test Serv ice DESENVOLVER, VERIFICAR O PRODUTO NO PRXIMO NVEL
Detail ed desi gn
49
cada ciclo na espiral representa uma REVIEW fase do processo de Requirements plan Life-cycle plan software
Develop ment plan Integrati on and test p lan PLANEJAR PRXIMA FASE
Risk analys is Prot otyp e 2 Risk analysis Prot oty pe 1 Concept o f Operati on
Prot otyp e 3
Modelos de Processos
Code Uni t tes t Desi gn V& V Integr ati on test Accep tance test Serv ice DESENVOLVER, VERIFICAR O PRODUTO NO PRXIMO NVEL
Detail ed desi gn
50
Modelos de Processos
51
Simul ati ons, models, benchmarks SW requi rements Requi rement validati on
Modelos de Processos
52
Modelos de Processos
53
Detail ed desi gn
Modelos de Processos
no existem fases fixas no modelo as fases mostradas na figura so meramente exemplos a gerncia decide como estruturar o projeto em fases
Risk analys is Prot otyp e 3 REVIEW Prot otyp e 2 Risk analysis Prot oty pe 1 Operati onal protoyp e Requirements plan Life-cycle plan Sim ul ati ons, m odels, b en ch marks Concept o f Operati on S/W requi rement s Prod uct desi gn Develop ment plan Integrati on and test p lan PLANEJAR PRXIMA FASE Code Uni t tes t Desi gn V& V Integr ati on test Accep tance test Serv ice DESENVOLVER, VERIFICAR O PRODUTO NO PRXIMO NVEL Requi rement valid ati on Detail ed desi gn
Modelos de Processos
55
ESTABELECIMENTO DE OBJETIVOS
REVIEW Requirements plan Life-cycle plan
Detail ed desi gn
Modelos de Processos
Integr ati on test Accep tance test Serv ice DESENVOLVER, VERIFICAR O PRODUTO NO PRXIMO NVEL
56
ESTABELECIMENTO DE OBJETIVOS
Modelos de Processos
57
Modelos de Processos
58
ESTABELECIMENTO DE OBJETIVOS
DESENVOLVIMENTO E VALIDAO
Modelos de Processos
59
Modelos de Processos
60
O Modelo Espiral
engloba as melhores caractersticas do ciclo de vida Clssico e da Prototipao, adicionando um novo elemento: a Anlise de Risco segue a abordagem de passos sistemticos do Ciclo de Vida Clssico incorporando-os numa estrutura iterativa que reflete mais realisticamente o mundo real usa a Prototipao em todas as etapas da evoluo do produto, como mecanismo de reduo de riscos
Modelos de Processos
61
Modelos de Processos
63
O Modelo Espiral
adiciona um novo elemento: a Anlise de Risco usa a Prototipao, em qualquer etapa da evoluo do produto, como mecanismo de reduo de riscos exige considervel experincia na determinao de riscos e depende dessa experincia para ter sucesso o modelo relativamente novo e no tem sido amplamente usado.
Modelos de Processos
65
O Modelo de Prototipao O Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software
O Modelo Incremental O Modelo Espiral O Modelo de Montagem de Componentes
Modelos de Processos
66
Modelos de Processos
67
Avaliao do Cliente
Modelos de Processos
68
Anlise de Riscos
se disponveis
69
Modelos de Processos
70
O Modelo de Prototipao O Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software
O Modelo Incremental O Modelo Espiral O Modelo de Montagem de Componentes
Modelos de Processos
71
Tcnicas de 4a Gerao
Concentra-se na capacidade de se especificar o software para uma mquina em um nvel que esteja prximo linguagem natural Engloba um conjunto de ferramentas de software que possibilitam que:
o sistema seja especificado em uma linguagem de alto nvel e o cdigo fonte seja gerado automaticamente a partir dessas especificaes
Modelos de Processos 72
Tcnicas de 4a Gerao
Obteno dos Requisitos Estratgia do Projeto Implementao usando 4GL Testes
Modelos de Processos
74
Tcnicas de 4a Gerao
OBTENO DOS REQUISITOS:
Obteno dos o cliente descreve os requisitos, que so Requisitos
75
Tcnicas de 4a Gerao
Obteno dos ESTRATGIA DO "PROJETO": Requisitos
Para pequenas aplicaes possvel moverEstratgia do se do passo de Obteno dos Requisitos Projeto Implementao usando uma para o passo de Implementao usando 4GL linguagem de quarta gerao
Testes
Para grandes projetos necessrio desenvolver uma estratgia de projeto. De outro modo ocorrero os mesmos problemas encontrados quando se usa abordagem convencional (baixa qualidade)
Modelos de Processos
76
Tcnicas de 4a Gerao
Obteno dos Requisitos Estratgia do IMPLEMENTAO USANDO 4GL : Projeto Os resultados desejados so representados de Implementao modo que haja gerao automtica usando 4GL de cdigo . Deve existir uma estrutura de dados com Testes informaes relevantes e que seja acessvel pela 4GL
Modelos de Processos
77
Tcnicas de 4a Gerao
Obteno dos Requisitos Estratgia do Projeto Implementao usando 4GL Testes TESTES: O desenvolvedor deve efetuar testes e desenvolver uma documentao significativa. O software desenvolvido deve ser construdo de maneira que a manuteno possa ser efetuada prontamente.
Modelos de Processos
78
OPONENTES: OPONENTES
as 4GL atuais no so mais fceis de usar do que as linguagens de programao o cdigo fonte produzido ineficiente a manutenibilidade de sistemas usando tcnicas 4GL ainda questionvel
Modelos de Processos 79
Modelos de Processos
80