engenharia de software

19
Engenharia de Software ula 1 presentação Introdução a Engenharia de Software

Upload: lev

Post on 22-Feb-2016

61 views

Category:

Documents


0 download

DESCRIPTION

Engenharia de Software. Aula 1 Apresentação e Introdução a Engenharia de Software. Profa. Maria Lina Buscariolli. Formação Acadêmica Fundação Bradesco – Tecnóloga Processamento de Dados FIEO – Bacharel em Direito - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Engenharia de Software

Engenharia de Software

Aula 1Apresentaçãoe Introdução a Engenharia de Software

Page 2: Engenharia de Software

2

Profa. Maria Lina Buscariolli Formação Acadêmica

– Fundação Bradesco – Tecnóloga Processamento de Dados– FIEO – Bacharel em Direito– IPT – Mestre em Engenharia de Computação, Área de

concentração: Engenharia de Software

Experiência Profissional– 21 anos em TI, com especialização em desenvolvimento de

sistemas para Atendimento ao Cliente, Ouvidoria e Call Center.

Atualmente– Coordenadora de Sistemas na TAM Linhas Aéreas

Page 3: Engenharia de Software

3

Objetivos Apresentar o conceito e a importância da

Engenharia de Software no desenvolvimento e manutenção de software

Detalhar a disciplina e sua aplicabilidade

Bibliografia Engenharia de Software

Roger S. Pressman, 6ª edição Engenharia de Software

Sommerville, 8ª edição

Page 4: Engenharia de Software

4

Metodologia de Ensino Aulas teóricas

– Apresentação do conteúdo da disciplina correlacionando seu conteúdo com questões práticas do dia a dia nas organizações de TI.

Trabalhos de participação- Trabalhos de participação, Debates e Dinâmicas sobre os principais

conceitos.- Os trabalhos serão realizados e corrigidos em sala e como as datas

já estão pré agendadas não poderão ser entregues em data diferente data da aula em que o trabalho foi dado.

- Trabalhos sem qualidade não receberão a nota de participação.- Ao final do trabalho os participantes assinarão uma lista de presença

na qual constará a distribuição da nota feita pelo próprio grupo.

Page 5: Engenharia de Software

5

Critérios de Avaliação 10 pontos, distribuídos da seguinte forma:

Page 6: Engenharia de Software

6

Referências Referências Bibliográficas (Básica)

PRESSMAN, R. S. Engenharia de Software: uma abordagem profissional. 7.ed. Porto Alegre: Bookman, 2011.

PRESSMAN, R. S. Software Engineering: a practitioner's approach. 7.ed. Boston : McGraw-Hill, 2010.

SOMMERVILLE, I. Engenharia de Software. 8.ed. São Paulo: Pearson, 2007.

Referências Bibliográficas (Complementar)

SCHWABER, K. Agile Project Management With Scrum. 1st ed. Redmond: Microsoft C.B.Learning, 2004.

Referências Web1. http://www.sei.cmu.edu/2. www.ieee.org

Page 7: Engenharia de Software

7

Expectativas !!!

Page 8: Engenharia de Software

8

Introdução a Engenharia de Software

Page 9: Engenharia de Software

9

Conceitos

O que é Hardware ?Parte tangível de um computador, equipamentos, periféricos. Está limitado a

espaços físicos com recursos finitos.No ser humano poderia ser comparado ao crânio.

O que é Software ?Não é material, intangível, não limitado a espaços físicos ou recursos naturais.

Seu potencial é infinito e conseqüente sua complexidade pode se tornar tão elevada, que pode passar a ser difícil de ser compreendido.

No ser humano poderia ser comparado com os pensamentos.

Page 10: Engenharia de Software

10

Hardware

Software

Falhas de hardware no início são inerentes à sua fabricação e no final relativas ao desgaste ambiental das peças (poeira, aquecimento, vibração). Na fase mediana a estabilidade se dá pela facilidade de substituição de uma peça ou outra que apresente falha. Conclusão: é fácil ter estabilidade quando é fácil atuar exatamente no ponto gerador do problema.

Durante a vida do software modificações introduzem novas falhas, se a manutenção desta falha for de difícil acesso¹, o índice de correção é baixo, trazendo novas falhas. . Conclusão: é difícil ter estabilidade quando é difícil atuar exatamente no ponto gerador do problema.

¹ Exemplo de difícil acesso = código macarrônico

Hardware x Software

Page 11: Engenharia de Software

11

Linha Tempo T.I.Evolução do Hardware

Evolução do Software

Registros ArgilaAbaco

Calculadora IBM (1924)Televisão

Máquina DiferençaTelégrafoRádioTelefone

IBM-CartãoPerfuradoIBM-Máq. Escrever Ele

Prim. Compu. PGM

RAM, CPUTransistor

Prim. Compu. Com.

Modem

Memória VirtualIBM 360

Chip 8 bitsMonitorTeclado Calculadora mão

MicroprocessadorImpres. LaserImpres. Jato Tinta

AppleMicrosoftt

Compu. < 11kh

IBM PCCD ROM

Super Compu.

1.2 milhõestransistores

Acesso ráp. www

4.000-1200 ac

www cel.

1935-37 1941

1947-49

1600-1800 dc

1800-1900

1951

1958-59

1960-61

1962

19671971

1976

1977

1981

1982-84

1985

1bi oper/seg

1989

1995 2000

Tear controla produçãoLógica x Símbolos

Base Algoritmos CompiladorModem

Transmissão dados7 bits

Data ddmmyyCOBOL Cria Bug Milênio

Processador

Windows 1.0

19371949-19511800-1937

1958-59

1959

1963

1968 19721977

1980

1981-83

1985 1986-89

1990-95

TextoDesenv. Sist.

1975

Desenv. Softw

Anál. EstruturadaPlanilha Eletr.

DOS

1 Ger.BD

COCOMOAutoCadTCP/IPC++OO

CASECMM“Verme”Modelo Espiral

WWWUMLhttp1 browserToyStory

1995-2000

Windows 95/NTJavaNapster57tri msg/anoOffice2000MP3Bug milênio

Serão estudados em Engenharia de Software

(~5.600 anos)

(~200 anos)

(~100 anos) (~84 anos)

(~84 anos)Fonte: IEEE Computer Society

Crise do Software

Page 12: Engenharia de Software

12

A engenharia é a ciência e a profissão de adquirir e de aplicar os conhecimentos matemáticos, técnicos e científicos na criação, aperfeiçoamento e implementação de

utilidades (funcionalidades)

Nos processos de criação, aperfeiçoamento e implementação, a engenharia conjuga os vários conhecimentos especializados no sentido de viabilizar as utilidades.

A engenharia é uma ciência bastante abrangente que engloba uma série de ramos mais especializados, cada qual com uma ênfase mais específica em determinados campos de

aplicação e em determinados tipos de tecnologia.

O que é Engenharia?

Fonte: Wikipedia

Engenharia – Processo – Implementa, Realiza

Page 13: Engenharia de Software

13

A Engenharia de Software é um ramo da Engenharia, que tem como foco o desenvolvimento de softwares dentro de determinados padrões de

custo e qualidade.

Engenharia de Software

O que é Engenharia de Software?

Arquitetura: organização do espaço e de seus elementos; ordenamento de componentes.

Page 14: Engenharia de Software

14

Um produto de software novo, ou uma grande manutenção são produzidos por meio de um projeto. Este, por um determinado período de tempo, se

compromete a construir um produto.

Um projeto é uma função entre Escopo, Recurso e Tempo

P = F (E, R, T)

O que é Engenharia de Software?

O tempo, que deveria ser variável, geralmente se mostra fixo segundo a necessidade do cliente. Com isto o projeto de construção ou manutenção

se reduz a uma função de Escopo e Recurso.

Page 15: Engenharia de Software

15

Com apenas essas duas variáveis o Engenheiro de Software precisa conseguir produzir produtos dentro dos padrões de custo e qualidade.

Com menos tempo, como conseguir entregar o mesmo produto com a mesma qualidade e pelo mesmo preço?

Procurar não errar. Utilizar processos e métodos já testados por outras pessoas.

Reutilizar o que já estiver pronto -

“ Os componentes reutilizáveis foram criados para que o Engenheiro possa se preocupar com os elementos realmente inovadores do projeto.”

O que é Engenharia de Software?

Page 16: Engenharia de Software

16

Com menos tempo, como conseguir entregar o mesmo produto com a mesma qualidade e pelo mesmo preço?

“ Sempre que você pensar que não tem tempo para a Engenharia de Software pergunte a si mesmo: Eu teria tempo para fazer tudo de novo?”

O que é Engenharia de Software?

Page 17: Engenharia de Software

17

Modelos

IncrementalCascata RAD Prototipação Espiral

Modelos usados na Engenharia de Software

Modelos: conjunto de atividades, ações, tarefas, marcos, roteiros e produtos necessários para fazer com que a Engenharia de Software produza com qualidade. Cada projeto de software pode usar um modelo específico, segundo uma determinada necessidade.

Page 18: Engenharia de Software

18

Dúvidas

Page 19: Engenharia de Software

Engenharia de Software

Profa. Maria Lina Buscariolli [email protected]

Obrigada!