engenharia de software profº luiz fernando de oliveira nunes aula 03: conceitos e princípios de...

36
ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

Upload: internet

Post on 18-Apr-2015

111 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

ENGENHARIA DE SOFTWARE

PROFº Luiz Fernando de Oliveira Nunes

Aula 03: Conceitos e Princípios de Engenharia de Software

Page 2: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

O que é Engenharia?

Engenharia do latim ingeniu = faculdade inventiva,

talento.

Page 3: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

O que é Engenharia?

Seria a arte, a ciência e a técnica de bem conjugar os conhecimentos especializados (científicos) de uma dada área do saber com a sua viabilidade técnico-econômica, para produzir novas utilidades e/ou transformar a natureza, em conformidade com idéias bem planejadas e em observância à preservação e conservação ambiental, na escala que se fizer necessária

Page 4: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

O que é Software?

Alguma definição da sala?

Page 5: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

O que é Software?

“Conjunto de instruções, programas e dados a eles associados, empregados durante a utilização do computador”

“Programas de computador, entidade abstrata e ferramentas que exploramos recursos de hardware, resolução de problemas, interação com a máquina tornando o computador operacional”

Page 6: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

Mais amplamente inclui também:

Instruções que executam uma função desejada.

Estrutura de dados para manipular informações.

Documentos para desenvolver, operar e manter os programas.

Page 7: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

O que é Engenharia de Software?

Desenvolvimento multi-versional de software multi-pessoal

Abordagem sistemática, disciplinada e quantificada ao desenvolvimento, operação e manutenção de software.

Page 8: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

O que é Engenharia de Software?

Tem por objetivo definir e exercitar processos, métodos (planos de processo), ferramentas e ambientes (máquinas apoiando processos e métodos) para construção de software que satisfaça necessidades de cliente e usuário dentro de prazos e custos previsíveis.

Page 9: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

Visão Macro da Engenharia de Software

Page 10: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

Dificuldades para desenvolvimento de Software

Saber o que o software deve fazer: requisitos

Ferramentas, linguagem, SO

Tempo e custo elevado para desenvolvimento

Page 11: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

Dificuldades para desenvolvimento de Software

Prever falhas

Tratar versões e manutenções

Produtividade não cresce com a demanda de serviços

Page 12: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

Características do Software

não é manufaturado

custos estão relacionados ao desenvolvimento e não à manufatura

não é um elemento físico e sim lógico ( não visualizamos, medimos, etc)

Page 13: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

Características do Software

o processo de gerenciamento é diferente, pois o relacionamento entre pessoas é diferente

não há peças de reserva para manutenção, correção e aperfeiçoamento

não se utiliza componentes prontos em sua construção

Page 14: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

Características do Software

existem abordagens distintas para se chegar no produto final

Por fim,

o software não se desgasta com o uso, mas sim deteriora-se

Page 15: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

Fundamentos de Engenharia de Software:

Objetivos: Melhorar a qualidade do software

Como?

Utilizando um conjunto de métodos, técnicas e ferramentas para analisar, projetar e gerenciar o desenvolvimento e manutenção de software.

Page 16: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

Fundamentos de Engenharia de Software:

Em suma:Engenharia de Software seria: Princípios<Métodos e

Técnicas<Metodologias<Ferramentas

Page 17: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

Fundamentos de Engenharia de Software:

Métodos e Técnicas: como fazer

Metodologia: como aplicar

Ferramentas: automatizam os métodos, dando apoio à utilização dos mesmos

Page 18: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

Princípios da Engenharia de Software:

- Formalidade: reduz inconsistências

- Abstração: aspectos importantes, ignorar detalhes

- Decomposição: lidar com complexidade

- Generalização: reutilização, custo

- Flexibilidade: mudanças, processo incremental

Page 19: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

Engenharia de Software para que?

Page 20: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

Quadrinhos sobre desenvolvimento de Software

O cliente queria isto:

Page 21: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

Isso foi como ele explicou para o lider de projeto

Page 22: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

O analista especificou assim

Page 23: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

O programador entendeu assim

Page 24: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

E desenvolveu o aplicativo assim

Page 25: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

Resultado do teste de carga

Page 26: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

Os beta testers receberam isso

Page 27: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

O suporte instalou isso no cliente

Page 28: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

E cobrou isso

Page 29: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

Como os patches devem ser aplicados

Page 30: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

O projeto foi todo documentado assim

Page 31: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

Os consultores em marketing descreveram assim

Page 32: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

E o software foi anunciado assim

Page 33: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

Quando ele foi entregue

Page 34: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

Solução do suporte para alguns problemas

Page 35: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

Resultado do efeito Digg no site do aplicativo

Page 36: ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de Engenharia de Software

A versão Open Source