Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Introdução à Engenharia de Software Debora Maria Coelho Nascimento Qual o nosso objetivo hoje? n Conhecer algumas definições formais de software n Características do software que o diferencia de outros produtos n Entender os tipos de produtos de softwares existentes n Entender qual a diferença entre software e sistema n Conhecer alguns princípios importantes sobre sistemas n Conhecer algumas definições formais de ES n Entender o que compreende a ES n Entender a importância da ES n Entender a relação da ES com CC e Eng. Sistemas Introdução à Eng. Soft. - Debora M C Nascimento Introdução à Eng. Soft. - Debora M C Nascimento 3 Agenda n Software n Sistema n Engenharia de Software Software n O que é software? Introdução à Eng. Soft. - Debora M C Nascimento 4 Introdução à Eng. Soft. - Debora M C Nascimento 5 Software n O que é Software? “É o produto que utiliza o potencial de processamento presente em um dispositivo ou numa rede de computadores, para transformar ou simplesmente transmitir informações". “Conjunto de programas que executam em computadores de qualquer tamanho e arquitetura” (Pressman,2002) Motivação n Qual a importância do software? Introdução à Eng. Soft. - Debora M C Nascimento 6 Motivação n Qual a importância do software? Introdução à Eng. Soft. - Debora M C Nascimento 7 Introdução à Eng. Soft. - Debora M C Nascimento 8 Software n O software é composto de... Introdução à Eng. Soft. - Debora M C Nascimento 9 Características do Software n O software é um elemento lógico è É abstrato e intangível Introdução à Eng. Soft. - Debora M C Nascimento 10 Características do Software n Está unicamente limitado à capacidade computacional do dispositivo no qual está/ será instalado è Complexidade crescente Introdução à Eng. Soft. - Debora M C Nascimento 11 Características do Software n O que acontece com diversos produtos após vários anos de uso contínuo? Introdução à Eng. Soft. - Debora M C Nascimento 12 Características do Software n Características do hardware “Fabricação” “Desgaste” Ta xa d e Fa lh as Tempo Curva de falhas para o hardware (Pressman, 2002) Introdução à Eng. Soft. - Debora M C Nascimento 13 Características do Software n O que acontece quando há o desgaste do hardware? Introdução à Eng. Soft. - Debora M C Nascimento 14 Características do Software n O software se desgasta? n Existe peça de reposição para o software? Introdução à Eng. Soft. - Debora M C Nascimento 15 Características do Software n Características do Software Tempo Curva idealizada Curva real Modificação Aumento da taxa de falhas devido a efeitos colaterais Ta xa d e Fa lh as Curva de falhas para o software (Pressman, 2002) Introdução à Eng. Soft. - Debora M C Nascimento 16 Tipos de produtos de Software n Perspectiva comercial n Produtos Genéricos n Produtos sob-encomenda n Produtos customizados O que dizer de software open source? Introdução à Eng. Soft. - Debora M C Nascimento 17 Aplicações n (Pressman, 2002) n Software básico n Software embutido n Software de tempo real n Software científico/engenharia n Software comercial (Aplicativo) n Software para computadores pessoais n Software para a Web/Mobile n Software de inteligência artificial Introdução à Eng. Soft. - Debora M C Nascimento 18 Agenda n Software n Sistema n Engenharia de Software Introdução à Eng. Soft. - Debora M C Nascimento 19 Sistemas n O que é um Sistema? Introdução à Eng. Soft. - Debora M C Nascimento 20 Sistemas n Qual o tipo de sistema que nos interessa? Introdução à Eng. Soft. - Debora M C Nascimento 21 Sistemas n Qual a diferença entre Software e Sistema? n Quais os elementos que compõem um Sistema? Software Hardware Pessoas Procedimentos Dados Documentação Introdução à Eng. Soft. - Debora M C Nascimento 22 Sistemas n Classificações usuais n Quanto à forma de processamento n Quanto ao nível organizacional Introdução à Eng. Soft. - Debora M C Nascimento 23 Sistemas n Tipos de sistemas quanto à forma de processamento n Sistemas batch n Sistemas interativos (on-line) n Sistemas em tempo real n Sistemas multiusuários n Sistemas distribuídos Introdução à Eng. Soft. - Debora M C Nascimento 24 Sistemas n Classificação quanto ao nível organizacional Nível operacional Nível Tático Nível Estratégico Sistemas de Processamento de Transações Sistemas de Apoio a Decisão Sistemas de Controle Operacional Sistemas de Planejamento Estratégico Introdução à Eng. Soft. - Debora M C Nascimento 25 Sistemas n Princípios de sistemas n Os sistemas sempre fazem parte de sistemas maiores e sempre podem ser divididos em sistemas menores. Introdução à Eng. Soft. - Debora M C Nascimento 26 Sistemas n Princípios de sistemas n Os sistemas sempre crescem. n Mais informações, mais usuários, mais funções Introdução à Eng. Soft. - Debora M C Nascimento 27 Sistemas n Exemplo: n Um amigo pede para desenvolver um sistema de registro de vendas do mercadinho dele ... Introdução à Eng. Soft. - Debora M C Nascimento 28 Sistemas n Princípios de sistemas n A escolha do escopo de um sistema é muito importante. Introdução à Eng. Soft. - Debora M C Nascimento 29 Sistemas n Princípios de sistemas n Quanto mais especializado é um sistema, menos capaz ele é de se adaptar a circunstâncias diferentes. Introdução à Eng. Soft. - Debora M C Nascimento 30 Sistemas n Princípios de sistemas Introdução à Eng. Soft. - Debora M C Nascimento 31 Agenda n Software n Sistema n Engenharia de Software Introdução à Eng. Soft. - Debora M C Nascimento 32 Engenharia de Software n O que é necessário para construir: Introdução à Eng. Soft. - Debora M C Nascimento 33 Engenharia de Software n O que é Engenharia? n “É a arte das construções, embasada no conhecimento científico e empírico, adequada ao atendimento das necessidades humanas”. Introdução à Eng. Soft. - Debora M C Nascimento 34 Engenharia de Software n O que é Engenharia de Software? “É uma disciplina de engenharia relacionada com todos os aspectos da produção de software, desde os estágios iniciais de especificação do sistema até sua manutenção, depois que este entra em operação.” (Sommerville, 2007) Introdução à Eng. Soft. - Debora M C Nascimento 35 Engenharia de Software n Outras definições (SEVOCAB, 2017) “Aplicação de uma abordagem quantificável, sistemática e disciplinada para o desenvolvimento, operação e manutenção do software". “Aplicação sistemática de conhecimento científico e tecnológico, métodos e experiência para projetar, implementar, testar e documentar software” “Aplicação da engenharia para o software". Motivação n Qual a diferença entre desenvolver: n Um site para a Internet n Um software para controle de uma padaria. n Um software para o controle de uma malha de linhas de metrô?? 36 Introdução à Eng. Soft. - Debora M C Nascimento 37 Engenharia de Software n Visão em camadas Foco na qualidade Processos Métodos Ferramentas (Pressman, 2002) Introdução à Eng. Soft. - Debora M C Nascimento 38 Engenharia de Software n Entendendo a definição...n Disciplina de Engenharia n Seleção de teorias, métodos e ferramentas n Abordagem formal n Abordagem criativa n Trabalhar sobre restrições Introdução à Eng. Soft. - Debora M C Nascimento 39 Engenharia de Software n Entendendo a definição... n Todos os aspectos da produção de software n Processos Técnicos n Atividades de gerenciamento de projeto n Desenvolvimento de ferramentas de apoio Introdução à Eng. Soft. - Debora M C Nascimento 40 Engenharia de Software n Aspectos técnicos n É preciso projetar: n A casa... n O prédio... n O software. Introdução à Eng. Soft. - Debora M C Nascimento 41 Engenharia de Software n Aspectos gerenciais n Quanto tempo será necessário para a construção? n Quanto vai custar? Introdução à Eng. Soft. - Debora M C Nascimento 42 Engenharia de Software n Aspectos gerenciais n Como organizar o trabalho em equipe? Introdução à Eng. Soft. - Debora M C Nascimento 43 Engenharia de Software n Área interdisciplinar n Abordagem simultânea e integrada n Aspectos técnicos (computação) n Aspectos de gestão (gerenciamento de projetos) n Aspectos de comunicação (habilidades comportamentais) “Desenvolver software é uma atividade que não se confunde com escrever programas para o computador, existindo uma grande distância e diferença entre estas duas atividades” Introdução à Eng. Soft. - Debora M C Nascimento 44 Engenharia de Software n Experimentando um pouco da ES... n Qual o ciclo de vida de um software? n Definição n Desenvolvimento n Evolução Introdução à Eng. Soft. - Debora M C Nascimento 45 Engenharia de Software n Experimentando um pouco da ES... n Quais os objetivos da “fase” de Definição? n Identificar o quê o cliente precisa n Definir o escopo n Estimar prazo e custo n Definir a viabilidade Introdução à Eng. Soft. - Debora M C Nascimento 46 Engenharia de Software n Experimentando um pouco da ES... n Quais os objetivos da “fase” de Desenvolvimento? n Identificar uma solução n Projetar a solução n Implementar n Testar Introdução à Eng. Soft. - Debora M C Nascimento 47 Engenharia de Software n Experimentando um pouco da ES... n Quais os objetivos da “fase” de Evolução? n Não existe software “pronto e acabado” n Tipos de manutenção: n Corretivas n Adaptativas n Aperfeiçoamento n Preventivas Introdução à Eng. Soft. - Debora M C Nascimento 48 Engenharia de Software n Quais seriam os objetivos da ES? n Qualidade de software; n Produtividade; n Controle sobre o desenvolvimento de software dentro de custos, prazos e níveis de qualidade desejados. Introdução à Eng. Soft. - Debora M C Nascimento 49 Engenharia de Software n Por que Engenharia de Software? n Estudo feito em 1979 pelo governo dos EUA em relação ao software produzido: n 2% Funcionava; n 3% Funcionaria com poucas correções; n 20% Usados mas bastante modificados ou abandonados n 45% Entregues mas nunca foram usados com sucesso; n 30% Pagos mas nunca foram terminados e/ou entregues. Introdução à Eng. Soft. - Debora M C Nascimento 50 Engenharia de Software n Por que Engenharia de Software (GP)? Standish Group, Extreme Chaos 51 Standish Group, Extreme Chaos 16% 53% 31% 27% 33% 40% 26% 46% 28% 28% 49% 23% 0% 50% 100% 1994 1996 1998 2000 Succeeded Challenged Failed “Project success rates are rising. This chart depicts the resolution of the 30,000 application projects in large, medium and small cross-industry U.S. companies tested by The Standish Group since 1994.” “Despite this progress, The Standish Group caution that challenged and failed projects remain the norm.” Jim Johnson, Software Magazine, 2001 O projeto está concluido e operacional, mas com orçamento estourado, atrasado e com poucas características e funções das inicialmente especificadas. O projeto está concluído no tempo e no orçamento, com todas as características e funções oriiginais especificadas. O projeto está cancelado antes da conclusão ou nunca será implementado. 52 (Chaos Report apud in Meier, 2017) 53 (Chaos Report apud in Meier, 2017) Introdução à Eng. Soft. - Debora M C Nascimento 54 Engenharia de Software n Importância da ES: n Atualmente o software pode ser mais caro que o hardware SWEBOK 55 SWEBOK n Objetivos: n Promover uma visão consistente n Especificar o escopo n Deixar claro o seu lugar com relação a outras áreas como ciência da computação, engenharia, gerência de projetos e matemática n Caracterizar o conteúdo da área de engenharia de software n Organizar e prover acesso por meio de tópicos ao corpo de conhecimento da ES n Prover a fundação para o desenvolvimento de currículos, certificações individuais e licenciamento Introdução à Eng. Soft. - Debora M C Nascimento 56 SWEBOK 57 Introdução à Eng. Soft. - Debora M C Nascimento 58 Engenharia de Software n Qual a relação entre Ciência da Computação e Engenharia de Software? Ciência da Computação Engenharia de Software “Scientists extend our knowledge of the laws of nature while engineers apply those laws of nature to build useful artifacts, under a number of constraints”. (SWEBOK, 2004) Introdução à Eng. Soft. - Debora M C Nascimento 59 Engenharia de Software n Qual a diferença entre Engenharia de Software e Engenharia de Sistemas? Engenharia de Software Engenharia de Sistemas Automatiza componentes da Introdução à Eng. Soft. - Debora M C Nascimento 60 Engenharia de Software n Enquanto, engenheiros de software, por que precisamos nos preocupar com a Engenharia de Sistemas? Introdução à Eng. Soft. - Debora M C Nascimento 61 Engenharia de Software n Quais os desafios da Engenharia de Software? n Heterogeneidade n Integração n Ubiquidade n Segurança n Prazo x Custo x Qualidade n Aumentar o Retorno do Investimento (ROI) O que vamos aprender em DS I? 62 Introdução à Eng. Soft. - Debora M C Nascimento 63 Exercícios n Data-E01-Nome 1. Quais as características dos sistemas que atendem aos níveis gerencial, tático e operacional? 2. O que caracteriza a “crise” do software? Introdução à Eng. Soft. - Debora M C Nascimento 64 Bibliografia n Sommerville n Capítulo 1 n Pressman n Capítulo 1 n Yourdon n Capítulo 2 n Meier, S. R. Technology Portfolio Management for Project Managers. 2017 n https://www.pmiwdc.org/sites/default/files/presentations/ 201703/ PMIW_LocalCommunity_Tysons_presentation_2017-02.pdf
Compartilhar