O documento discute a otimização de software, definindo-o como um conjunto de instruções que executam funções desejadas. Detalha os principais componentes do software, como software aplicativo e software livre, e discute brevemente o ciclo de vida do software e suas características principais, como ser um elemento lógico e não físico. Também fornece um breve histórico do desenvolvimento da engenharia de software.
7. Software:Componentes Série de conversões que atendem a exigências pré determinadas; Projecto; Estrutura, atributos e requisitos relacionados aos dados; Forma de linguagem; Instruções executáveis.
10. Software Aplicativo Resolvem problemas comerciais ou prestam serviços de processamento de dados; Não se compra um produto mas sim uma licença de uso; Não se modifica, apenas se usa.
12. Software livre Uso; Cópia; Modificação; Redistribuição ; "Software Livre" é uma questão de liberdade, não de preço; O software livre é uma questão de liberdade dos usuários de executar, copiar, distribuir, estudar, mudar e melhorar o software.
13. Software livre (Cont.) Liberdade de executar o programa, para qualquer propósito; Liberdade de estudar como o programa funciona e altera-lo para ele fazer o que pretender; Liberdade de distribuir copias de modo a ajudar o próximo;
14. Software livre (Cont.) Este software pode e deve estar disponível para ser comercializado. O desenvolvimento comercial de software é comum e tais são muito importantes. Pode pagar-se para receber copias do software ou obtê-las por custo zero e para alem disso, tem sempre a liberdade de copiar e modificar o software ate mesmo para vender copias.
16. Características Software É um elemento lógico, não físico; Maior abstracção; Custos concentrados no desenvolvimento e não na manufactura; O processo de gerenciamento e o relacionamento entre as pessoas são diferentes;
17. Características Software (Cont.) Diferentes abordagens; Deteriora-se com o uso, não se desgasta; Não há peças de reserva; Não é construído através de componentes prontos.
18. História Em 1968 ocorreu a Conferência da OTAN sobre Engenharia de Software na Alemanha. O principal objetivo dessa reunião era estabelecer práticas mais maduras para o processo de desenvolvimento, por essa razão o encontro é considerado hoje como o nascimento da disciplina de Engenharia de Software. Em 1986, Alfred Spector, presidente da Transarc Corporation, foi co-autor de um artigo comparando a construção de pontes ao desenvolvimento de software. A sua premissa era de que as pontes normalmente eram construídas no tempo planejado, no orçamento, e nunca caiam. Em contramão, os softwares nunca ficavam prontos dentro do prazo e do orçamento, e, além disso, quase sempre apresentavam problemas.
19. História (Cont.) Em 1995, a organização The Standish Group publicou um estudo analisando as estatísticas sobre sucesso e fracasso dos projetos de desenvolvimento de software: o Chaos Report. Foi revelado que 84% dos projetos de software são mal-sucedidos, sejam sendo cancelados ou apresentando falhas críticas. Considerando apenas os projetos mal-sucedidos, o custo real foi 189% maior que o estimado, e o tempo de conclusão 222% maior. Estimou-se que nesse ano, as agências governamentais e companhias privadas estadunidenses tenham gasto 81 bilhões apenas em projetos cancelados, e mais 59 bilhões em projetos concluídos fora do tempo previsto.
20. História (Cont.) A Standish Group continuou a publicar regularmente o seu relatório nos anos seguintes, e a apesar de 35% dos projetos de software iniciados em 2006 terem obtido sucesso, ainda é assustador saber que dois terços de todos eles fracassam. Os 50 anos de experiência no desenvolvimento de software não bastaram para melhorar efetivamente a qualidade do software, a despeito da evolução na área de engenharia de software e do ferramental disponível. O metodologista Grady Booch, um dos pais da UML resumiu a história toda: “uma doença que dure tanto tempo quanto esta, francamente, deveria ser chamada de normalidade”.