A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução a Engenharia de Software Prof. Henrique Vila Nova TD - TARDE Unibratec.

Apresentações semelhantes


Apresentação em tema: "Introdução a Engenharia de Software Prof. Henrique Vila Nova TD - TARDE Unibratec."— Transcrição da apresentação:

1 Introdução a Engenharia de Software Prof. Henrique Vila Nova TD - TARDE Unibratec

2 Introdução do Curso n 2 partes: –Teoria básica (antes da P1) –Modelagem + Prática (após a P1)

3 Estrutura do curso (I) n Introdução + Ciclos de Vida n Gerência de Projetos: n Análise e Projeto de Software n Testes e Confiança n Manutenção n Garantia de Qualidade

4 Estrutura do curso (II) n Modelagem Orientada a Objetos n UML n Computer Aided Software Engineering: Rational Rose

5 Bibliografia n Engenharia de Software, Roger Pressman, Makron Books: –o mais completo (a bíblia) –edição em português desatualizada (3a. Edição, de 1992) –4a. Edição em inglês. n Software Engineering: Theory and Practice, Shari Pfleeger. Prentice Hall n Sommerville, Addison Wesley, 1989.

6 1a. Aula Introdução a Engenharia de Software

7 Introdução n O Software ultrapassou o Hardware como chave para o sucesso de muitos sistemas baseados em computador (Pressman, pg. 3, 1992)

8 O Software é o que faz a diferença!!! n Completeza da informação n inteligência n funcionalidade n compatibilidade n suporte Tornam 1 produto melhor que outro

9 A importância do Software n Durante as 3 primeiras décadas da era do computador, o principal desafio era desenvolver um HARDWARE de baixo custo e alto desempenho. n O hoje o desafio é melhorar a qualidade (e reduzir os custos) das soluções baseadas em SOFTWARE!

10 A evolução do Software - Nova Revolução Computação Industrial (Toffler) - 3a. Onda

11 ( Parêntesis: Revolução Industrial Primeira Onda n Ferro (Darby, 1709) n Máquina a vapor: –Inventada (Newcomen, 1712) –Aperfeiçoada (WATT, ) n Mecanização da indústria têxtil: –Tear Mecânico (Kay, 1722) –Maquina de fiar (Hargreaves, 1764) n Aspectos sociais, políticos e econo Têxteis, Carvão e Ferro

12 ) Parêntesis: Revolução Industrial Segunda Onda n Aço (Bessemel, 1856 e Liga) n Locomotiva a Vapor (Rede de Transporte ) n Máquina de Costura (SINGER,1851) n Motor a combustão interna: –Primeiro eficiente (OTTO, 1876) –Produção automobilística em massa (Daimler e Benz, 1896) n Desemprego e fim da escravidão

13 Revolução Industrial: Terceira Onda n Energia Nuclear (Fermi, 1942) n Uso Industrial/Comercial da Eletricidade n Computadores Eletrônicos (ENIAC 1946) n Transistor (Shockley, et al., 1948)Sociedade Industrialda Informação transformação

14 Filosofando... n A mudança de uma sociedade industrial para uma baseada na informação é uma Radical Mudança Econômica: –Material tem menos valor e Informação tem mais valor n Antes: quanto menos pessoas possuísse algo, maior o valor. n Hoje: quanto mais pessoas possuem algo, maior o valor.

15 Filosofando... Exemplo! n Cite as características dos sistemas operacionais que você conhece. n Compare os sistemas: –Unix –Windows –MacOS O Windows vende mais porque é mais Conhecido ou é mais Conhecido porque vende mais???

16 A evolução do software n Software é dividida em 4 Eras: –Primeiros anos –Segunda Era –Terceira Era –Quarta Era

17 O que é Software? n Definição - Software é: 1 o - instruções (programas de computador) que, quando executadas, produzem a função e o desempenho desejados; 2 o - estruturas de dados que permitem a manipulação das informações; 3 o - documentos que descrevem a operação e uso dos programas.

18 Características do Software - 1 n O Software é desenvolvido ou projetado por engenharia, não manufaturado no sentido clássico: –Custos são concentrados no trabalho de engenharia. –Projetos não podem ser geridos como projetos de manufatura. –Fábrica de Software!

19 Características do Software - 2 n Software não desgasta! –Software não é sensível aos problemas ambientais que fazem com que o hardware se desgaste. – Toda falha indica erro de projeto ou implementação: manutenção do SW é mais complicada que a do HW.

20 Características do Software - 3 n A maioria dos softwares é feita sob medida e não montada a partir de componentes existentes. n != Hardware. n Situação esta mudando: –Orientação a objetos. –Reusabilidade é o Santo Graal(diminui custos e melhora projetos).

21 Aplicações de Software Pressman, página 20 n Software Básico n Software de Tempo Real n Software Comercial n Software Científico ou de Engenharia n Software Embutido n Software de Computador Pessoal n Software de Inteligência Artificial

22 Uma Crise no horizonte n A industria de Software tem tido uma crise que a acompanha há quase 30 anos: –Aflição Crônica != Crise n Problemas não se limitam ao software que não funciona adequadamente, mas abrange: –desenvolvimento, testes, manutenção, suprimento, etc.

23 Therac-25 n Equipamento de Radioterapia. n Entre 1985 e 1987 se envolveu em 6 acidentes, causando mortes por overdoses de radiação. n Software foi adaptado de uma antecessora, Therac-6: –falhas por falta de testes integrados –falta de documentação.

24 Denver International Airport n Custo do projeto: US$ 4.9 bilhões –100 mil passageiros por dia –1,200 vôos –53 milhas quadradas –94 portões de embarque e desembarque –6 pistas de pouso / decolagem

25 Denver International Airport n Erros no sistema automático de transporte de bagagens (misloaded, misrouted, jammed): –Atraso na abertura do aeroporto com custo total estimado em US$360 Milhões n 86 milhões para consertar o sistema

26 Ariane 5

27 n Projeto da Agência Espacial Européia que custou: –10 anos. –US$ 8 Bilhões. n Capacidade 6 toneladas. n Garante supremacia européia no espaço.

28 Vôo inaugural em 4/junho/1996

29 Resultado n Explosão 40 segundos após a decolagem. n Destruição do foguete e carga avaliada em US$ 500 milhões.

30 O que aconteceu? (I) n Fato: o veículo detonou suas cargas explosivas de autodestruição e explodiu no ar. Por que? n Porque ele estava se quebrando devido às forças aerodinâmicas. Mas por que? n O foguete tinha perdido o controle de direção (atitude). Causa disso? n Os computadores principal e back-up deram shut-down ao mesmo tempo.

31 O que aconteceu? (II) n Por que o Shut-down? Ocorrera um run time error (out of range, overflow, ou outro) e ambos computadores se desligaram. De onde veio este erro? n Um programa que convertia um valor em ponto flutuante para um inteiro de 16 bits recebeu como entrada um valor que estava fora da faixa permitida.

32 Especificamente:O que faltou? strict precondition 1: { Set."x"=FLPT and Set."y"=INT16 and <= x <= } program code: y := int(x); postcondition: {Set."x"=FLPT and Set."y"=INT16 and y=int(x)}

33 Ironia... n O resultado desta conversão não era mais necessário após a decolagem...

34 Quais são os problemas? n A sofisticação do software ultrapassou nossa capacidade de construção. n Nossa capacidade de construir programas não acompanha a demanda por novos programas. n Nossa capacidade de manter programas é ameaçada por projetos ruins.

35 Perguntas que Engenharia de Software quer responder: n Porque demora tanto para concluir um projeto (não cumprimos prazos)? n Porque custa tanto (uma ordem de magnitude a mais)? n Porque não descobrimos os erros antes de entregar o software ao cliente? n Porque temos dificuldade de medir o progresso enquanto o software está sendo desenvolvido?

36 Causas óbvias n Não dedicamos tempo para coletar dados sobre o desenvolvimento do software - resulta em estimativas a olho. n Comunicação entre o cliente e o desenvolvedor é muito fraca. n Falta de testes sistemáticos e completos.

37 Causas menos óbvias n O Software é desenvolvido ou projetado por engenharia, não manufaturado no sentido clássico (característica 1). n Gerentes sem background em desenvolvimento de SW. n Profissionais recebem pouco treinamento formal. n Falta investimento (em ES). n Falta métodos e automação.

38 Mitos do Software - Administrativos n Um manual oferece tudo que se precisa saber. n Computadores de última geração solucionam problemas de desenvolvimento. n Se estamos atrasados, basta adicionar programadores e tirar o atraso (chamado conceito de hordas de mongois).

39 Mitos do Software - do Cliente n Uma declaração geral é suficiente para começar a escrever programas. n Mudanças podem ser facilmente acomodadas em um projeto (ver figura pg. 28).

40 Mitos do Software - do Profissional n Um programa está terminado ao funcionar. n Quanto mais cedo escrever o código, mais rápido terminarei o programa. n Só posso avaliar a qualidade de um programa em funcionamento. n A única coisa a ser entregue em um projeto é o programa funcionando.

41 Engenharia de Software: Definição n 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 n É METODOLOGIA!

42 Engenharia de Software: Abrangência n E.S. possui 3 elementos fundamentais: –métodos: como fazer –ferramentas: apoio automatizado aos métodos. –Procedimentos: elo de ligação entre os métodos e os procedimentos n Existem diversos Paradigmas de Engenharia de Software: –abordagens que envolvem estes métodos, ferramentas e procedimentos

43 Paradigmas de Engenharia de Software n Existem dezenas. n 4 principais: –Ciclo de Vida Clássico (modelo Cascata) –Prototipagem –Espiral –Técnicas de Quarta Geração n Páginas 32 até 43 Pressman

44 Ciclo de Vida Clássico: modelo Cascata (Waterfall) n Baseado em projetos de engenharia clássicos (não de Software) n Fases: –Análise de requisitos –Definição –Projeto –Implementação –Integração e testes –Operação e manutenção

45 Ciclo de Vida Clássico (II) de Sommerville, 1995.

46 Ciclo de Vida Clássico (III) n Problemas: –projetos reais não seguem um fluxo seqüencial: dificuldade de acomodar mudanças depois de iniciado. –Dificuldade de declaração de todas as exigências pelo cliente. –Paciência!

47 Modelo Espiral de Boehm (1988)

48 Fases do modelo Espiral n Definição dos objetivos –Especificação dos objetivos específicos desta fase. n Análise dos riscos –Identificação e solução dos principais riscos n Desenvolvimento e validação n Planejamento –O projeto é revisto e se define planos para a próxima volta da espiral

49 Conclusão n Software é elemento chave para o sucesso. Mas: –Software não é hardware. –Software não é fácil. –Software mata. –Precisamos de ajuda. n Próxima aula, início da ajuda: gerência de projetos.

50 Exercício para próxima aula n Descreva 2 casos de problemas causados por erros em software que você conhece (OBS: não adianta falar do Windows) n Descreva 2 produtos (que não seja um computador) onde o software faz a diferença.


Carregar ppt "Introdução a Engenharia de Software Prof. Henrique Vila Nova TD - TARDE Unibratec."

Apresentações semelhantes


Anúncios Google