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

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

1 Introdução a Engenharia de Software Gibeon Aquino.

Apresentações semelhantes


Apresentação em tema: "1 Introdução a Engenharia de Software Gibeon Aquino."— Transcrição da apresentação:

1 1 Introdução a Engenharia de Software Gibeon Aquino

2 Introdução à Disciplina 2 Engenharia de Software Engenharia = “é a atividade em que os conhecimentos científicos são empregados para resolver problemas práticos” Engenharia de Software = “é a atividade em que os [conhecimentos científicos] são empregados para resolver problemas práticos relacionados à construção de software”

3 Introdução à Disciplina 3 Objetivo “Um dos objetivos básicos da Engenharia de Software é transformar a criação de sistemas software realizada de maneira artística, indisciplinada e pouco entendível para uma forma devidamente controlada, quantificada e previsível.”

4 Introdução à Disciplina 4 Origem... em 1968, especialistas se reúnem em Garmisch, para discutir problemas de desenvolvimento de software http://homepages.cs.ncl.ac.uk/brian.randell/NATO/index.html

5 Introdução à Disciplina 5 problemas “da época” Produtos de Software de baixa qualidade e sem atender requisitos e Projetos realizados acima do orçamento e do tempo previsto e vez por outra ingerenciáveis

6 6 A Crise de Software

7 Introdução à Disciplina 7 "[The major cause of the software crisis is] that the machines have become several orders of magnitude more powerful! To put it quite bluntly: as long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming has become an equally gigantic problem." Edsger Dijkstra: The Humble ProgrammerEdsger Dijkstra: The Humble Programmer

8 Introdução à Disciplina 8 A crise de Software

9 Introdução à Disciplina 9 O Caso do DABHS (Denver Airport Baggage Handling System) Características: 4000 Telecars 21 milhas de trilhos 5000 Olhos Eletrônicos, 400 Receptores de Rádio, 56 Scanners, 100 computadores em rede Estava planejado que o Aeroporto de Denver abriria em 31 de Outubro de 1993 Problemas no desenvolvimento do DABHS fizeram que o aeroporto abrisse em 28 de Fevereiro de 1995 Prejuízos devido ao atraso:  Capacidade do sistema foi drasticamente diminuída  Aproximadamente $ 500.000.000 ($1.1M por dia)

10 Introdução à Disciplina 10 O Caso da Integração SABRE SABRE (Semi-Automated Business Research Environment ) Sistema de Reserva da American Airlines Terminado no fim da década de 50 Construído pela IBM $2 bilhões Tentativa de Integração com sistemas de reserva de carros e hotel Em 1992 o projeto foi cancelado $165.000.000 jogados fora

11 Introdução à Disciplina 11 Therac-25 Equipamento de Radioterapia, controlado por computador criada pela empresa AECL (Atomic Energy of Canada Limited computador Muito moderna para sua época Entre 1985 e 1987 se envolveu 6 em acidentes 5 mortes por overdoses de radiação

12 Introdução à Disciplina 12 Therac-25 Causas: O código do software não havia sido revisado/testado independentemente; O projeto do software não havia sido documentado com detalhes suficientes para permitir o entendimento dos erros A documentação do sistema fornecida aos usuários não explicava o significado dos códigos de erro que a máquina retornava http://pt.wikipedia.org/wiki/Therac-25

13 Introdução à Disciplina 13 Ariane 5 Projeto da Agência Espacial Européia 10 anos de desenvolvimento US$ 8 Bilhões Carga avaliada em US$500 Milhões Em 4 de junho de 1996, menos de um minuto após o lançamento o foguete se autodestruiu

14 Introdução à Disciplina 14 Ariane 5 Causa: Ocorreu um run time error (erro de de execução) e ambos computadores se desligaram. Um programa que convertia um valor de ponto flutuante para um inteiro de 16 bits recebeu como entrada um valor que estava fora da faixa permitida.  Inclusive o resultado da conversão não era mais necessário após a decolagem.

15 15 Processos para construção de Software

16 Introdução à Disciplina 16

17 Introdução à Disciplina 17 Processo de Desenvolvimento de Software Modelo Cascata

18 Introdução à Disciplina 18 Análise de Requisitos Entendimento das necessidades do cliente Especificação das necessidades Linguagem mais técnica Análise da viabilidade do escopo Estimativas de Custo e Prazo

19 Introdução à Disciplina 19 Para que “Análise de Requisitos”?

20 Introdução à Disciplina 20 Análise e Projeto Desenho lógico da solução Tomada de decisão sobre coisas como Linguagem de Programação Plataforma de Desenvolvimento Integração com outros sistemas Detalhes técnicos

21 Introdução à Disciplina 21 Arquitetura Lógica de Software

22 Introdução à Disciplina 22 Exemplo de Arquitetura Física

23 Introdução à Disciplina 23 Implementação Codificação do sistema Integração dos módulos Testes isolados Otimização de módulos já construídos

24 Introdução à Disciplina 24 Tecnologias de desenvolvimento de Software J2ME J2SE J2EE

25 Introdução à Disciplina 25 Testes Tem como objetivo identificar erros inseridos durante a construção Testes Funcionais Testes de Performance Testes de Estresse Testes de Carga Testes de Compatibilidade...

26 Introdução à Disciplina 26 Implantação Tem como objetivo a instalação do software no ambiente final de execução Instalação Treinamento Configuração Adaptação

27 Introdução à Disciplina 27 Processo de Desenvolvimento

28 28 Por que organizar o desenvolvimento de software??

29 Introdução à Disciplina 29

30 Introdução à Disciplina 30 Windows Vista 5000 desenvolvedores (sem incluir pessoal não-técnico); 40 milhões de linhas de código; 16 milhões de linhas de código somente nos últimos 3 anos; Versões compiláveis todos os dias; Testes de regressão; Intervalo de 3 dias para um mudança submetida aparecer no executável; ~1.7 pessoas testando para cada programador; Precisa ter compatibilidade com versões anteriores; Precisa ser instalado em milhares de configurações diferentes;

31 Introdução à Disciplina 31 intuitive surgical da vinci

32 Introdução à Disciplina 32 intuitive surgical da vinci

33 Introdução à Disciplina 33 Telecomunicação e Mobilidade

34 Introdução à Disciplina 34 Indústria automotiva Electronic Stability Program

35 Introdução à Disciplina 35 Transações Financeiras

36 36 Alguns números atuais...

37 Introdução à Disciplina 37 Quanto melhoramos?

38 Introdução à Disciplina 38 Team Size {dev vs. test} ProductDev Team SizeTest Team Size NT 3.1(6->) 200140 NT 3.5300230 NT 3.51450325 NT 4.0800700 Win2k14001700 o século de software...ou o século dos problemas de software? – Silvio Meira

39 Introdução à Disciplina 39 Defect Rates Data Product and Team Size Defects: Per year Per Dev Time to Fix: Per Defect Defects: Per Day Total Defect Fix Time NT 3.1, 200220 minutes1 NT 3.5, 300225 minutes1.641 minutes NT 3.51, 450230 minutes2.51.2 hours NT 4.0, 800335 minutes6.63.8 hours Win2k, 1400440 minutes15.310.2 hours With serialized development: Good, small teams operate efficiently Even the absolute best large teams are always broken, and always serialized o século de software...ou o século dos problemas de software? – Silvio Meira

40 Introdução à Disciplina 40 Mas Engenharia de Software não é só técnica... “The book demonstrates that the major issues of software development are human, not technical.”

41 41 Mas nem tudo está perdido....

42 Introdução à Disciplina 42 Corpo da Engenharia de Software (SWEBOK)

43 Introdução à Disciplina 43 Corpo da Engenharia de Software (SWEBOK)

44 Introdução à Disciplina 44 CMMi – Capability Maturity Model Integration

45 Introdução à Disciplina 45 PMBok Corpo de conhecimento da Gestão de Projetos Tem como objetivo divulgar e padronizar as melhores práticas de gestão de projetos

46 Introdução à Disciplina 46 Referências Engenharia de Software - 8ª Edição 2007 - Ian Sommerville Engenharia de Software, Roger Pressman


Carregar ppt "1 Introdução a Engenharia de Software Gibeon Aquino."

Apresentações semelhantes


Anúncios Google