23
1 Cap 2 – Processo de Software Ricardo L Schneider FES – 2002/1

1 Cap 2 – Processo de Software Ricardo L Schneider FES – 2002/1

Embed Size (px)

Citation preview

Page 1: 1 Cap 2 – Processo de Software Ricardo L Schneider FES – 2002/1

1

Cap 2 – Processo de Software

Ricardo L Schneider

FES – 2002/1

Page 2: 1 Cap 2 – Processo de Software Ricardo L Schneider FES – 2002/1

2

Engenharia de Software Aplicação das ciências:

Computação; Matemática; Economia; Administração; Sociologia; Psicologia, ….

Page 3: 1 Cap 2 – Processo de Software Ricardo L Schneider FES – 2002/1

3

… Na construção produtos profissionais de Software: Programas; Documentos; Documentação; e Dados.

Page 4: 1 Cap 2 – Processo de Software Ricardo L Schneider FES – 2002/1

4

Processo da Eng de Software

Foco na Qualidade

Processo

Métodos

Ferramentas

Page 5: 1 Cap 2 – Processo de Software Ricardo L Schneider FES – 2002/1

5

Visão genérica da Eng de Soft Qual é o problema a resolver? Que da entidade resolve o problema? Como a entidade pode ser realizada? Como poderá ser construida? Como descobrir erros no design e

construção? Como fazer a manutenção?

Page 6: 1 Cap 2 – Processo de Software Ricardo L Schneider FES – 2002/1

6

Fases genéricas: Definição (O Quê) Desenvolvimento (Como) Manutenção:

Correção Adaptação Melhoria Prevenção

Page 7: 1 Cap 2 – Processo de Software Ricardo L Schneider FES – 2002/1

7

Maturidade do Processo

CMM – Capability Maturity Model

SEI – Software Engineering Institute (Carnegie Mellon University – Pittsburgh – USA)

Page 8: 1 Cap 2 – Processo de Software Ricardo L Schneider FES – 2002/1

8

Níveis do CMM: 1 – Inicial: ad hoc, esforço individual 2 – Repetitível: gerência de projeto, repetir

sucesso de projetos anteriores 3 – Definido: documentado, padronizado e

integrado com os padrões da organização 4 – Gerenciado: medidas detalhadas do processo

e do produto 5 – Otimizado: melhorias contínuas pelo

feedback do processo. Idéias inovadoras

Page 9: 1 Cap 2 – Processo de Software Ricardo L Schneider FES – 2002/1

9

KPA – Key process area Objetivos Compromissos Habilidades Atividades Métodos de monitoramento da

implementação Métodos de verificação da implementação

Page 10: 1 Cap 2 – Processo de Software Ricardo L Schneider FES – 2002/1

10

Modelo de Processo

‘Status quo’

Definição do Problema

Integração daSolução

DesenvolvimentoTécnico

Page 11: 1 Cap 2 – Processo de Software Ricardo L Schneider FES – 2002/1

11

Modelo Linear Sequencial(‘cascata’ ou clássico)

Modelagem

Análise

Design

Codificação

Testes

Instalação

Page 12: 1 Cap 2 – Processo de Software Ricardo L Schneider FES – 2002/1

12

Problemas do ciclo clássico Os projetos reais raramente seguem o fluxo

sequencial que o modelo propõe Muitas vezes é difícil para o cliente

declarar todas as exigências explicitamente Uma versão do sistema só estará disponível

em um ponto muito tardio do cronograma do projeto

Page 13: 1 Cap 2 – Processo de Software Ricardo L Schneider FES – 2002/1

13

Coleta e Refinamento dos RequisitosFim

Início

Engenharia do Produto

Refinamento do Protótipo

Avaliação do Protótipo peloCliente

Construção do Protótipo

ProjetoRápido

Desenvolvimento por Protótipos

Page 14: 1 Cap 2 – Processo de Software Ricardo L Schneider FES – 2002/1

14

Protótipo Desenvolver pelo menos 2 vezes

Protótipos técnicos Protótipos funcionais

Page 15: 1 Cap 2 – Processo de Software Ricardo L Schneider FES – 2002/1

15

RAD (Rapid Application Development)Modelagemdo negócio

Modelagemdos dados

Modelagemdos processos

Geraçãoda aplicação

Testes &modificações60-90 dias

Equipe #1 Equipe #2

Page 16: 1 Cap 2 – Processo de Software Ricardo L Schneider FES – 2002/1

16

Problemas do RAD

Equipes suficientes Comprometimento dos usuários e técnicos Nem todos os sistemas são adequados:

Baixa modularidade Requisitos de alta performance

Riscos técnicos elevados

Page 17: 1 Cap 2 – Processo de Software Ricardo L Schneider FES – 2002/1

17

Modelo Incremental

Análise Design Codificação Testes

Análise Design Codificação Testes

Análise Design Codificação Testes

1o increm.

2o inc

Page 18: 1 Cap 2 – Processo de Software Ricardo L Schneider FES – 2002/1

18

Modelo Espiral

Planejamento Análise dos Riscos

Avaliação do Cliente

Engenharia

Análise dos riscos baseada nos requisitos iniciais

Análise dos riscos baseada na reação do cliente

Decisão de Prosseguir ou não

Na direção de um sistema concluido

Coleta inicial dos Requisitos e Planejamento do Projeto

Planejamento baseadonos comentários do cliente

Avaliação do cliente

Protótipo de Software inicial

Protótipo de nível seguinte

Sistema construido pela engenharia

Page 19: 1 Cap 2 – Processo de Software Ricardo L Schneider FES – 2002/1

19

Regiões de tarefas:

Comunicação com o cliente Planejamento Análise de riscos Engenharia do produto Construção e liberação do produto Avaliação do cliente

Page 20: 1 Cap 2 – Processo de Software Ricardo L Schneider FES – 2002/1

20

Modelo WINWIN (espiral) “Negociação com o cliente”:

1. Identificação dos ‘acionistas’

2. Determinação das condições de ganho dos acionistas

3. Negociação com os acionistas para reconciliar as suas condições de ganho com os ganhos do projeto

Page 21: 1 Cap 2 – Processo de Software Ricardo L Schneider FES – 2002/1

21

Desenvolvimento baseado em componentes

IdentificarComponentes

candidatos

Colocar novosComponentesNa biblioteca

Construir Na

Interação dosistema

Extrair Componentes se

disponíveis

Procurar componentes na Biblioteca

ConstruirComponentes se

indisponíveis

Page 22: 1 Cap 2 – Processo de Software Ricardo L Schneider FES – 2002/1

22

Métodos Formais Cleanroom software engineering

Modelos matemáticos

Dificuldades: Tempo e custo maior Conhecimento e treinamento Modelos difíceis de os usuários entenderem

Page 23: 1 Cap 2 – Processo de Software Ricardo L Schneider FES – 2002/1

23

Linguagens de 4a geração (4GL) Linguagens não procedurais para consultas a

bancos de dados Geradores de relatórios Gerenciadores de dados Interfaces gráficas Geradores de código Planilhas eletrônicas Geradores de HTML