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

Post on 18-Apr-2015

107 views 0 download

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

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, ….

3

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

4

Processo da Eng de Software

Foco na Qualidade

Processo

Métodos

Ferramentas

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?

6

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

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

7

Maturidade do Processo

CMM – Capability Maturity Model

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

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

9

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

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

10

Modelo de Processo

‘Status quo’

Definição do Problema

Integração daSolução

DesenvolvimentoTécnico

11

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

Modelagem

Análise

Design

Codificação

Testes

Instalação

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

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

14

Protótipo Desenvolver pelo menos 2 vezes

Protótipos técnicos Protótipos funcionais

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

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

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

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

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

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

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

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

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