engenharia de software slide 05 – modelos de processos instituto metodista isabela hendrix curso...

35
Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim de Oliveira [email protected]

Upload: luiz-azenha-viveiros

Post on 07-Apr-2016

228 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

Engenharia de Software

Slide 05 – Modelos de Processos

Instituto Metodista Isabela HendrixCurso de Análise e Desenvolvimento de Sistemas

Juliano Amorim de [email protected]

Page 2: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

Retomando a aula passada…

Características do software Evolução do sofware Crise do software Mitos do software

Page 3: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

Por que surgiu a Engenharia de Software?

Page 4: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

Resposta à Crise de Software

A aplicação de uma abordagem sistemática, disciplinada e possível de ser medida para o desenvolvimento, operação e manutenção do software (IEEE)

Page 5: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

Engenharia de Software Outra definição:

É a criação e a utilização de sólidos princípios de engenharia a fim de obter softwares econômicos que sejam confiáveis e que trabalhem eficientemente em máquinas reais

Importante: Disciplina Adaptabilidade Agilidade

Page 6: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

Uma Tecnologia em CamadasUma Tecnologia em Camadas

ferramentasferramentasmétodosmétodosprocessoprocesso

foco na qualidadefoco na qualidade

Engenharia de Software

Page 7: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

Uma Tecnologia em CamadasUma Tecnologia em Camadas

ferramentasferramentasmétodosmétodosprocessoprocesso

foco na qualidadefoco na qualidade

É o “solo”É o “solo”A Engenharia de Software deve se apoiar num compromisso A Engenharia de Software deve se apoiar num compromisso organizacional com a qualidade. organizacional com a qualidade.

Engenharia de Software

Page 8: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

ferramentasferramentasmétodosmétodosprocessoprocesso

foco na qualidadefoco na qualidade

É o “alicerce”É o “alicerce”É a cola que gruda as camadas de tecnologias e permite um É a cola que gruda as camadas de tecnologias e permite um desenvolvimento de software racional e em tempo; desenvolvimento de software racional e em tempo;

Uma Tecnologia em CamadasUma Tecnologia em Camadas

Engenharia de Software

Page 9: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

ferramentasferramentasmétodosmétodosprocessoprocesso

foco na qualidadefoco na qualidade

É o “como fazer”É o “como fazer”Englobam um conjunto de tarefas que inclui análise de Englobam um conjunto de tarefas que inclui análise de requisitos, projeto, construção de programas, teste e requisitos, projeto, construção de programas, teste e manutençãomanutenção

Uma Tecnologia em CamadasUma Tecnologia em Camadas

Engenharia de Software

Page 10: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

ferramentasferramentasmétodosmétodosprocessoprocesso

foco na qualidadefoco na qualidade

É o “instrumento apropriado”É o “instrumento apropriado”Dão suporte automatizado ou semi-automatizado ao processo Dão suporte automatizado ou semi-automatizado ao processo e aos métodos; quando as ferramenta se integram tem-se um e aos métodos; quando as ferramenta se integram tem-se um sistema denominado CASE (Computer Aided Software sistema denominado CASE (Computer Aided Software Engineering)Engineering)

Uma Tecnologia em CamadasUma Tecnologia em Camadas

Engenharia de Software

Page 11: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

Vamos falar um pouco dos processos de software!

(ou modelos de processo de software)

Page 12: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

Fases Genéricas dos Modelos de Processo de Software

DEFINIÇÃODEFINIÇÃO

CONSTRUÇÃOCONSTRUÇÃO

MANUTENÇÃOMANUTENÇÃO

SOFTWARE PRODUTOSOFTWARE PRODUTO

Page 13: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

DEFINIÇÃODEFINIÇÃO

CONSTRUÇÃOCONSTRUÇÃO

MANUTENÇÃOMANUTENÇÃO

SOFTWARE PRODUTOSOFTWARE PRODUTO

““o que”o que” • informações a serem

processadas• funções e desempenho

desejados• interfaces que devem ser

estabelecidas• restrições do projeto • critérios de validação

requeridos

Fases Genéricas dos Modelos de Processo de Software

Page 14: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

DEFINIÇÃODEFINIÇÃO

CONSTRUÇÃOCONSTRUÇÃO

MANUTENÇÃOMANUTENÇÃO

SOFTWARE PRODUTOSOFTWARE PRODUTO

Análise de SistemaPlanejamento do Projeto

Análise de Requisitos

Fases Genéricas dos Modelos de Processo de Software

Page 15: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

DEFINIÇÃODEFINIÇÃO

CONSTRUÇÃOCONSTRUÇÃO

MANUTENÇÃOMANUTENÇÃO

SOFTWARE PRODUTOSOFTWARE PRODUTO

““como”como” • como devem ser projetadas a

estrutura de dados e a arquitetura do software

• como os procedimentos devem ser implementados

• como o projeto deve ser traduzido para uma linguagem de programação

• como o teste deve ser executado.

Fases Genéricas dos Modelos de Processo de Software

Page 16: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

DEFINIÇÃODEFINIÇÃO

CONSTRUÇÃOCONSTRUÇÃO

MANUTENÇÃOMANUTENÇÃO

SOFTWARE PRODUTOSOFTWARE PRODUTO

Projeto Codificação

Teste

Análise de SistemaPlanejamento do Projeto

Análise de Requisitos

Fases Genéricas dos Modelos de Processo de Software

Page 17: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

DEFINIÇÃODEFINIÇÃO

CONSTRUÇÃOCONSTRUÇÃO

MANUTENÇÃOMANUTENÇÃO

SOFTWARE PRODUTOSOFTWARE PRODUTO

““mudanças”mudanças” • correções decorrentes de

erros – manutenção corretiva• adaptações requeridas

decorrentes de alterações no meio ambiente – manutenção adaptativa

• melhoramentos relacionados a novas funções desejadas pelo usuário – manutenção perfectiva.

Fases Genéricas dos Modelos de Processo de Software

Page 18: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

DEFINIÇÃODEFINIÇÃO

CONSTRUÇÃOCONSTRUÇÃO

MANUTENÇÃOMANUTENÇÃO

SOFTWARE PRODUTOSOFTWARE PRODUTO

Entendimento Modificação

Revalidação

Projeto Codificação

Teste

Análise de SistemaPlanejamento do Projeto

Análise de Requisitos

Fases Genéricas dos Modelos de Processo de Software

Page 19: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

DEFINIÇÃODEFINIÇÃO

CONSTRUÇÃOCONSTRUÇÃO

MANUTENÇÃOMANUTENÇÃO

SOFTWARE PRODUTOSOFTWARE PRODUTO

Entendimento Modificação

Revalidação

Projeto Codificação

Teste

Análise de SistemaPlanejamento do Projeto

Análise de Requisitos

DESENVOLVIMENTO

Fases Genéricas dos Modelos de Processo de Software

Page 20: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

DEFINIÇÃODEFINIÇÃO

CONSTRUÇÃOCONSTRUÇÃO

MANUTENÇÃOMANUTENÇÃO

SOFTWARE PRODUTOSOFTWARE PRODUTO

Entendimento Modificação

Revalidação

Projeto Codificação

Teste

Análise de SistemaPlanejamento do Projeto

Análise de Requisitos

OPERAÇÃO

Fases Genéricas dos Modelos de Processo de Software

Page 21: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

DEFINIÇÃODEFINIÇÃO

CONSTRUÇÃOCONSTRUÇÃO

MANUTENÇÃOMANUTENÇÃO

SOFTWARE PRODUTOSOFTWARE PRODUTO

Entendimento Modificação

Revalidação

Projeto Codificação

Teste

Análise de SistemaPlanejamento do Projeto

Análise de Requisitos

MANUTENÇÃO

Fases Genéricas dos Modelos de Processo de Software

Page 22: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

Na Prática Espera-se que…

PROCESSO DE PROCESSO DE SOFTWARESOFTWARE

eficientecontrolado

definido

medido

gerenciado

Page 23: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

Modelos de Processo de Software

Existem vários modelos de processo de software

Cada um representa uma tentativa de colocar ordem em um conjunto de atividades complexas

Pode-se citar os seguintes modelos de modelos de processo de softwareprocesso de software

Page 24: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

Modelos de Processo de Software

Modelo Seqüencial Linear (Modelo Cascata) Paradigma de Prototipação Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software

Modelo Incremental Modelo Espiral Modelo de Montagem de Componentes Modelo de Desenvolvimento Concorrente

Modelos de Métodos Formais Técnicas de Quarta Geração

Page 25: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

Modelo CascataEngenharia de Sistemas

Análise de Requisitos

Projeto

Codificação

Testes

Manutenção

Page 26: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

O Modelo Cascata

modelo mais antigo requer uma abordagem sistemática,

seqüencial ao desenvolvimento de software

o resultado de uma fase se constitui na entrada da outra

Page 27: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

Modelo CascataEngenharia de Sistemas

Análise de Requisitos

Projeto

Codificação

Testes

Manutenção

Engenharia de Sistemas

Engenharia de Sistemas envolve a coleta de requisitos em nível do sistema, com análise de alto nível

Page 28: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

Modelo CascataEngenharia de Sistemas

Análise de Requisitos

Projeto

Codificação

Testes

Manutenção

Análise de Requisitos

Análise de Requisitos de Software

o processo de coleta dos requisitos é intensificado e concentrado especificamente no softwaredeve-se compreender o domínio da informação, a função, desempenho e interfaces exigidosos requisitos (para o sistema e para o software) são documentados e revistos com o cliente

Page 29: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

Modelo CascataEngenharia de Sistemas

Análise de Requisitos

Projeto

Codificação

Testes

Manutenção

Projeto

ProjetoProjetotradução dos requisitos do software para um conjunto de representações que podem ser avaliadas quanto à qualidade, antes que a codificação se inicie

Estrutura de DadosArquitetura de SoftwareDetalhes Procedimentais e Caracterização de Interfaces

Page 30: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

Modelo CascataEngenharia de Sistemas

Análise de Requisitos

Projeto

Codificação

Testes

Manutenção

Codificação

CodificaçãoCodificação tradução das representações do projeto para uma linguagem “artificial” resultando em instruções executáveis pelo computador

Page 31: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

Modelo CascataEngenharia de Sistemas

Análise de Requisitos

Projeto

Codificação

Testes

Manutenção

Testes

TestesTestes Concentra-se:

•nos aspectos lógicos internos do software garantia que todas as instruções tenham sido testadas•nos aspectos funcionais externos, para descobrir erros e garantir que a entrada definida produza resultados que concordem com os esperados

Page 32: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

Modelo CascataEngenharia de Sistemas

Análise de Requisitos

Projeto

Codificação

Testes

Manutenção Manutenção

ManutençãoManutenção provavelmente o software deverá sofrer mudanças depois que for entregue ao cliente causas das mudanças: erros, adaptação do software para acomodar mudanças em seu ambiente externo e exigência do cliente para acréscimos funcionais e de desempenho

Page 33: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

Problemas com o Modelo Cascata

Projetos reais raramente seguem o fluxo seqüencial que o modelo propõe

Logo no início é difícil estabelecer explicitamente todos os requisitos no começo dos projetos sempre existe uma incerteza natural

O cliente deve ter paciência uma versão executável do software só fica disponível numa etapa avançada do desenvolvimento

Page 34: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

Modelo Cascata

Embora o Modelo CascataModelo Cascata tenha fragilidades, ele é

significativamente melhor do que uma abordagem

casual ao desenvolvimento de software.

Page 35: Engenharia de Software Slide 05 – Modelos de Processos Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim

35

Bibliografia PRESSMAN, ROGER S. Engenharia de Software. 5ª

edição. Rio de Janeiro: McGraw-Hill, 2002.

SOMERVILLE, IAN. Engenharia de Software. 6ª edição. São Paulo: Addison Wesley, 2003.