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

Post on 18-Apr-2015

113 views 5 download

Transcript of ENGENHARIA DE SOFTWARE PROFº Luiz Fernando de Oliveira Nunes Aula 03: Conceitos e Princípios de...

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.

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

O que é Software?

Alguma definição da sala?

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”

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.

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.

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.

Visão Macro da 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

Dificuldades para desenvolvimento de Software

Prever falhas

Tratar versões e manutenções

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

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)

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

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

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.

Fundamentos de Engenharia de Software:

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

Técnicas<Metodologias<Ferramentas

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

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

Engenharia de Software para que?

Quadrinhos sobre desenvolvimento de Software

O cliente queria isto:

Isso foi como ele explicou para o lider de projeto

O analista especificou assim

O programador entendeu assim

E desenvolveu o aplicativo assim

Resultado do teste de carga

Os beta testers receberam isso

O suporte instalou isso no cliente

E cobrou isso

Como os patches devem ser aplicados

O projeto foi todo documentado assim

Os consultores em marketing descreveram assim

E o software foi anunciado assim

Quando ele foi entregue

Solução do suporte para alguns problemas

Resultado do efeito Digg no site do aplicativo

A versão Open Source