50

Click here to load reader

UnP Eng. Software - Aula 2

Embed Size (px)

DESCRIPTION

Aula sobre a Engenharia de Software onde ela nos levou e onde podemos levá-la, apresentando conceitos de projetos e modelos de processo de software, suas caracteristicas e como trabalhá-las.

Citation preview

Page 1: UnP Eng. Software - Aula 2

Engenharia de SoftwareA Engenharia de Software onde ela nos levou e onde podemos levá-la

Page 2: UnP Eng. Software - Aula 2

©2010 - Hélio Medeiros

Quem SOU ?

Hélio MedeirosAnalista de Sistemas

SINFO - UFRN

Blog: http://heliomedeiros.comEmail: [email protected]

Page 3: UnP Eng. Software - Aula 2

VOCÊ TEM FOME DE QUE ?

©2010 - Hélio Medeiros

no trabalho?no lazer?

no seu dia-a-dia?

http://www.flickr.com/photos/veeliam/1811078546/

Page 4: UnP Eng. Software - Aula 2

VOCÊ TEM SEDE DE QUE ?

©2010 - Hélio Medeiros

no lazer?nas horas vagas?

no intervalo?

http://www.flickr.com/photos/tsk/2480950146/

Page 5: UnP Eng. Software - Aula 2

TECNOLOGIA ?

©2010 - Hélio Medeiros

Page 6: UnP Eng. Software - Aula 2

SOFTWARES ?

©2010 - Hélio Medeiros

Page 7: UnP Eng. Software - Aula 2

em COMPUTADORES !

©2010 - Hélio Medeiros

em eletrodomésticos !

em carros!em aviões !

nos ônibus !

Page 8: UnP Eng. Software - Aula 2

James Cameron !

©2010 - Hélio Medeiros

Wall Street !

Page 9: UnP Eng. Software - Aula 2

ONDE NÃO ENCONTRAMOS SISTEMAS?

©2010 - Hélio Medeiros

Page 10: UnP Eng. Software - Aula 2

?QUEM PRODUZ

©2010 - Hélio Medeiros

QUEM MANTEM?OS SISTEMAS QUE EU USO NÃO PODEM PARAR... E OS SEUS ?

Page 11: UnP Eng. Software - Aula 2

COMO ENTREGAR QUALIDADE ?

©2010 - Hélio Medeiros

Page 12: UnP Eng. Software - Aula 2

COMO MANTER A QUALIDADE ?

©2010 - Hélio Medeiros

Page 13: UnP Eng. Software - Aula 2

Nossa Aula

Parte 1 - O que é software, projeto e sua Engenharia ?

Parte 2 - No silver bullets, Processo e modelos de software

Parte 3 - Quero fazer um bom software

Parte 4 - Dúvidas

©2010 - Hélio Medeiros

Page 14: UnP Eng. Software - Aula 2

©2010 - Hélio Medeiros

1 O que é software, projeto e sua Engenharia ?

Page 15: UnP Eng. Software - Aula 2

SOFTWARE == Código ?

©2010 - Hélio Medeiros

especificaçãocódigo

configuração

manuais

X

Page 16: UnP Eng. Software - Aula 2

Crise do Software?Faz muito tempo...

©2010 - Hélio Medeiros

1ª ERA 2ª ERA 3ª ERA

ComercialDBMultiusuárioProgramas Batch

Particular

Milhões cópias software hardware

MicroprocessadorAtual

OB

Cluster

IA

4ª ERA

“CRISE”

1950 1960 1970 1980 1990 2000

Page 17: UnP Eng. Software - Aula 2

0%

25%

50%

75%

100%

2004 2006 2009

33%35%33%

52%46%43%

15%19%24%

Falhou Necessitou adequações Bem sucedido

Crise de Software?Talvez tenha apenas mudado o problema...

©2010 - Hélio Medeiros

Page 18: UnP Eng. Software - Aula 2

Tópicos

Parte 1 - O que é software, projeto e sua Engenharia ?Crise do Software ?

Precisamos nos atentar? Projetos e Execuções !

Engenharia de Software

©2010 - Hélio Medeiros

Page 19: UnP Eng. Software - Aula 2

Precisamos nos atentar?Realmente conheço o que preciso fazer ?

Ogunnaike and Ray: Process Dynamics, Modeling and Control

©2010 - Hélio Medeiros

Page 20: UnP Eng. Software - Aula 2

O que é projeto ?Apenas 3 décadas... mais várias visões diferentes

“Um projeto é um problema agendado para solução”

Dr. Joseph M. JuranO "pai" da qualidade, “vital few and

trivial many” (80-20)

David J. AndersonCriador do FDD e uma das maiores

mentes de Agile mundial

“Um projeto é uma coleção de valor agendada para realização”

©2010 - Hélio Medeiros

Page 21: UnP Eng. Software - Aula 2

O que é projeto ?Composição de um ambiente de um projeto de software

©2010 - Hélio Medeiros

Page 22: UnP Eng. Software - Aula 2

O que é projeto ?Composição de um ambiente de um projeto de software

©2010 - Hélio Medeiros

Page 23: UnP Eng. Software - Aula 2

O que é projeto ?Exemplo de influência causada pelos itens do ambiente de projeto

©2010 - Hélio Medeiros

Page 24: UnP Eng. Software - Aula 2

©2010 - Hélio Medeiros

ALGO PRECISA SER CONSIDERADO ?

Page 25: UnP Eng. Software - Aula 2

O que é projeto ?Características dos componentes

Pessoas- Conhecimento e habilidades

- Motivação e comprometimento-Reconhecimento

-Crescimento

Cultura- Personalidade coletiva

- Risco X Segurança- Ética

- O “jeito de ser” da empresa

Processos- Disciplina e coordenação

- Gerenciamento- Padronização

- Institucionalização

Ferramentas- Produtividade

- Controle- Eficiência

- Automação

©2010 - Hélio Medeiros

Page 26: UnP Eng. Software - Aula 2

Escolha um contexto qualquer e descreva resumidamente:

1. Que pessoas estão envolvidas ?2. Quais processos são observáveis ?3. Quais tecnologias são aplicadas ?4. Como a cultura influencia ou é influenciada ?

AtividadeAnalisando os componentes de um contexto qualquer

©2010 - Hélio Medeiros

Page 27: UnP Eng. Software - Aula 2

Tópicos

Parte 1 - O que é software, projeto e sua Engenharia ?Crise do Software ?

Precisamos nos atentar? Projetos e Execuções !

Engenharia de Software

©2010 - Hélio Medeiros

Page 28: UnP Eng. Software - Aula 2

COMO TRABALHAMOS ?!?

©2010 - Hélio Medeiros

Page 29: UnP Eng. Software - Aula 2

Engenharia de Software ?Conceito

©2010 - Hélio Medeiros

Friedrich L BauerCriador do termo “Engenharia de

Software“

“O estabelecimento e uso de sólidos princípios de engenharia para que se possa obter

economicamente um software que seja confiável e que funcione eficientemente em máquinas reais”

Page 30: UnP Eng. Software - Aula 2

Engenharia de Software ?Conceito

©2010 - Hélio Medeiros

Arndt Von StaaAutor do livro Programaçãõ˜Modular

“O desenvolvimento e a aplicação de ciência, matemática, técnicas, métodos e ferramentas para o

desenvolvimento e a manutenção econômica de software de qualidade preditível e controlável, operando de modo econômico em máquinas e

ambientes reais”

Page 31: UnP Eng. Software - Aula 2

COMO lidar com REQUISITOS;

COMO melhorar a COMUNICAÇÃO;

COMO estimar as ATIVIDADES;

COMO entregamos os PRODUTOS;

COMO difundir o CONHECIMENTO;

COMO organizar nossa PRODUÇÃO;

COMO conseguiremos QUALIDADE;©2010 - Hélio Medeiros

Engenharia de Software ?O que ela nos ensina

Page 32: UnP Eng. Software - Aula 2

©2010 - Hélio Medeiros

2 No silver bullets, Processo e modelos de software

Page 33: UnP Eng. Software - Aula 2

Conjunto seqüencial e peculiar de ações que objetivam atingir uma meta.

O que são processos?Qual o porpósito de um processo de software ?

Capacitar e reforçar a entrega repetível de software que funciona...

no prazo adequado e eficiente em relação ao seu custo...

fornecendo informação precisa e significativa a todos os papéis principais, dentro e fora de um projeto...

com o mínimo de interrupção para os desenvolvedores.

Jeff De LucaCriador do FDD e uma das maiores

mentes de Agile

©2010 - Hélio Medeiros

Page 34: UnP Eng. Software - Aula 2

Processo de SoftwareAção e reação em projetos de software

Especificação- Clientes

- User histories- Critérios de aceitação

Validação- Testes de aceitação

- Testes unitários-Testes de integração

Desenvolvimento- Projeto

- Planejamentocodificação

Evolução- Adaptação- Refatoração

- Retrospectivas

©2010 - Hélio Medeiros

Page 35: UnP Eng. Software - Aula 2

Quantas combinações são possíveis ?!?

©2010 - Hélio Medeiros

Page 36: UnP Eng. Software - Aula 2

Tópicos

Parte 2 - No silver bullets, Processo e modelos de software

Processo de software

Modelos de Processo software

No silver bullets

©2010 - Hélio Medeiros

Page 37: UnP Eng. Software - Aula 2

Modelo de Processo SoftwareCombinações gerais

Modelo Workflow

Modelo Papel/Ação

Modelo de Fluxo de dados ou Atividade

©2010 - Hélio Medeiros

Page 38: UnP Eng. Software - Aula 2

Modelo de Processo SoftwareParadigmas de desenvolvimento

Modelo Cascata

CBSE

Desenvolvimento iterativo

©2010 - Hélio Medeiros

Page 39: UnP Eng. Software - Aula 2

Qual eu devo escolher ?!?

©2010 - Hélio Medeiros

Page 40: UnP Eng. Software - Aula 2

Tópicos

Parte 2 - No silver bullets, Processo e modelos de software

Processo de software

Modelos de Processo software

No silver bullets

©2010 - Hélio Medeiros

Page 41: UnP Eng. Software - Aula 2

Não existe bala de prata...As quatro variáveis

©2010 - Hélio Medeiros

Custo Tempo

Escopo

QUALIDADE

Page 42: UnP Eng. Software - Aula 2

Não existe bala de prata...As quatro variáveis

©2010 - Hélio Medeiros

Frederick BrooksAutor do livro The Mythical Man-

Month

Page 43: UnP Eng. Software - Aula 2

Cite quais são os principais prob lemas no processo de desenvolvimento de software que você esteja envolvido.

Cite o que você espera de uma metodologia para desenvolvimento de software.

AtividadePor que precisamos de uma metodologia?

©2010 - Hélio Medeiros

Page 44: UnP Eng. Software - Aula 2

©2010 - Hélio Medeiros

3 Quero fazer um bom software

Page 45: UnP Eng. Software - Aula 2

Bom software ?Fazendo ou identificando um bom software

©2010 - Hélio Medeiros

Facilidade

Confiança

Eficiência

Usabilidade

Page 46: UnP Eng. Software - Aula 2

Bom software ?Desafios para um bom software

©2010 - Hélio Medeiros

HeterogeneidadeEntrega

Confiança

Page 47: UnP Eng. Software - Aula 2

Bom software ?Qual o profissional compatível com este nível de software ?

©2010 - Hélio Medeiros

ConfidencialidadeCompetência

Direitos sobre propriedade intelectual

Mau uso do computador

Page 48: UnP Eng. Software - Aula 2

Não existe bala de prata...As quatro variáveis

©2010 - Hélio Medeiros

Fábio Akitahttp://www.akitaonrails.com

Page 49: UnP Eng. Software - Aula 2

©2010 - Hélio Medeiros

4 Perguntas ???

Page 50: UnP Eng. Software - Aula 2

OBRIGADO !!

©2010 - Hélio Medeiros

Hélio Cabral [email protected]://heliomedeiros.com