engenharia de software

34
Introdução Engenharia de software João Johanes

Upload: joao-johanes

Post on 09-Jun-2015

150 views

Category:

Software


6 download

DESCRIPTION

Introdução Engenharia de Software - baseado no livro Engenharia de Software by Sommerville

TRANSCRIPT

Page 1: Engenharia de software

Introdução

Engenharia de software

João Johanes

Page 2: Engenharia de software

Introdução

Engenharia de Software é ramo da engenharia cujo o foco é desenvolvimento dentro de custos adequados de sistemas de software de alta qualidade...

... Sommerville

Page 3: Engenharia de software

Introdução

Software é abstrato e intagível

Não é limitado por materiais ou controlado por leis da física ou por processo de manufatura. De certo modo já simplifica a engenharia de software.

Page 4: Engenharia de software

O que é Software?

Software não é apenas um programa, mas também todos os dados de documentação e configuração associados, necessários para que o programa opere corretamente.

Page 5: Engenharia de software

O que é Software?

Um sistema de software consiste, geralmente, de conjunto de programas separados; arquivos de configuração, que são utilizados para configurar esses programas; documentação do sistema, que descreve a estrutura do sistema; a documentação do usuário, que explica como usuário deve usar software;

Page 6: Engenharia de software

Tipos de software

Existem dois tipos de software:

• Produtos genéricos

• Produtos sob encomenda

Page 7: Engenharia de software

Tipos de software

Produtos genéricos

São sistemas stand-alone, produzidos por uma organização de desenvolvimento e vendidos no mercado para qualquer cliente disposto a comprá-los.

Page 8: Engenharia de software

Tipos de software

Produtos sob encomenda

São sistemas encomendados por um determinado cliente. O Software é desenvolvido especialmente para aquele cliente por uma empresa de software.

Page 9: Engenharia de software

O que é Engenharia de Software?

Engenharia de software é uma disciplina de engenharia relacionada com todos os aspectos da produção de software, desde os estagios iniciais de especificação até manutenção, depois que entrar em operação;

Page 10: Engenharia de software

O que é Engenharia de Software?

Disciplinas de engenharia: Os engenheiros fazem as coisas funcionarem. Eles aplicam teorias, métodos e ferramentas onde for apropriado mas eles usam de forma seletiva e sempre procuram descobrir soluções para os problemas.

Page 11: Engenharia de software

O que é Engenharia de Software?

Todos os apectos da produção de software: A engenharia de software não esta relacionada apenas com os processos técnicos de desenvolvimento de software, mas também com atividades como o gerenciamento de projeto de software e o desenvolvimento de ferramentas , métodos e teorias que apóiem a produção de software;

Page 12: Engenharia de software

O que é Processo de Software?

Um processo de software é conjunto de atividades e resultados associados que produz um produto de software.

Page 13: Engenharia de software

O que é Processo de Software?

Existem quatros atividades fundamentais de processo:

• Especificação de software: clientes e engenheiros definem o software a ser produzido e as restrições para a sua operação.

Page 14: Engenharia de software

O que é Processo de Software?

Existem quatros atividades fundamentais de processo:

• Especificação de software:

Page 15: Engenharia de software

O que é Processo de Software?

Existem quatros atividades fundamentais de processo:

• Desevolvimento de software: O software é projeto e programado.

Page 16: Engenharia de software

O que é Processo de Software?

Existem quatros atividades fundamentais de processo:

• Desevolvimento de software:

Page 17: Engenharia de software

O que é Processo de Software?

Existem quatros atividades fundamentais de processo:

• Validação de software: Na qual o software é verificado para garantir que é o que o cliente deseja.

Page 18: Engenharia de software

O que é Processo de Software?

Existem quatros atividades fundamentais de processo:

• Validação de software:

Page 19: Engenharia de software

O que é Processo de Software?

Existem quatros atividades fundamentais de processo:

• Evolução de software: Na qual o software é verificado para garantir que é o que o cliente deseja.

Page 20: Engenharia de software

O que é Processo de Software?

Existem quatros atividades fundamentais de processo:

• Evolução de software: Na qual o software é verificado para garantir que é o que o cliente deseja.

Page 21: Engenharia de software

O que é um Modelo de Processo de Software?

Um modelo de processo de software é uma descrição simplificada desse processo de software que apresenta uma visão dele.

Page 22: Engenharia de software

O que é um Modelo de Processo de Software?

Modelo de processo incluem atividades, que fazem parte do processo de software, os produtos de software, os papéis das pessoas envolvidas na engenharia de software.

Page 23: Engenharia de software

Tipos de Modelo de Processo de Software

Um modelo de workflow: mostra a sequência de atividades ao longo do processo, com suas atividades , com suas entradas, saídas e depedência entre elas.

Page 24: Engenharia de software

Tipos de Modelo de Processo de Software

modelo de workflow:

Page 25: Engenharia de software

Tipos de Modelo de Processo de Software

Um modelo de fluxo de dados: representa o processo como um conjunto de atividades, no qual cada atividade realiza alguma transformação de dados.

Page 26: Engenharia de software

Tipos de Modelo de Processo de Software

modelo de fluxo de dados:

Page 27: Engenharia de software

Tipos de Modelo de Processo de Software

Um modelo de papel: representa os papéis das pessoas envolvidas no processo de software e as atividades pelas quais são responsáveis.

Page 28: Engenharia de software

Três tipos de Modelos gerais ou paradigmas de desenvolvimento de software

O modelo em cascata: considera as atividades apresentadas anteriormente e as representa como fases separadas de processo, como especificação de requisitos, projeto de software, implementação, teste e assim por diante;

Page 29: Engenharia de software

Três tipos de Modelos gerais ou paradigmas de desenvolvimento de software

Desenvolvimento iterativo: esta abordagem intercala as atividades de especificação, desenvolvimento e validação;

Page 30: Engenharia de software

Três tipos de Modelos gerais ou paradigmas de desenvolvimento de software

Desenvolvimento iterativo:

Page 31: Engenharia de software

Três tipos de Modelos gerais ou paradigmas de desenvolvimento de software

Baseado em componentes (CBSE – Component Based Software Engineering): esta técnica supõe que as partes do sistema já existam. O processo de desenvolvimento concentra-se em integrar essas partes.

Page 32: Engenharia de software

O que é CASE?

Computer-Aided Software Engineering – CASE é conjunto de ferramentas para apoiar atividades do processo de software, tais como análise de requisitos, modelagem de sistema, depuração e teste.

Page 33: Engenharia de software

O que é CASE?

Computer-Aided Software Engineering – CASE

Page 34: Engenharia de software

Engenharia de Software

Introdução

FIM@