Prévia do material em texto
1 Engenharia de Software: Engenharia de Software: IntroduçãoIntrodução Copyright Leandro Becker Prof. Leandro Buss BeckerProf. Leandro Buss Becker Email: lbecker@das.ufsc.brEmail: lbecker@das.ufsc.br Crise do SoftwareCrise do Software prazos ultrapassadosprazos ultrapassados custos acima dos previstoscustos acima dos previstos não atendimento dos requisitos dos clientesnão atendimento dos requisitos dos clientes Copyright Leandro Becker elevado custo de manutenção elevado custo de manutenção Os Os primeirosprimeiros sistemassistemas erameram simples...simples... Copyright Leandro Becker Copyright Leandro Becker Os Os sistemassistemas atuaisatuais sãosão um um poucopouco maismais complexoscomplexos...... Copyright Leandro Becker Copyright Leandro Becker 2 ComplexidadeComplexidade complexidade racionalização (metodologias) Copyright Leandro Becker hardware engineering 1982 1993 fonte: AEG-Alemanha (1993) Dados InteressantesDados Interessantes custos hardware vs. software custos hardware vs. software (fonte: SEL(fonte: SEL--ALCATEL)ALCATEL) 1970 = 8:21970 = 8:2 1991 = 2:81991 = 2:8 Copyright Leandro Becker hoje = 1:9hoje = 1:9 custos com manutenção de softwarecustos com manutenção de software HPHP--Alemanha (50% engenheiros envolvidos em Alemanha (50% engenheiros envolvidos em manutenção)manutenção) VW (80%)VW (80%) Como domar esta complexidade ?Como domar esta complexidade ? encapsular informaçãoencapsular informação ('information hiding')('information hiding') decomposiçãodecomposição hi i ( í ihi i ( í i Copyright Leandro Becker hierarquia (níveis hierarquia (níveis de abstração)de abstração) múltiplas visõesmúltiplas visões Engenharia de SoftwareEngenharia de Software EngenhariaEngenharia de Softwarede Software Modelos (conceitos + notação Modelos (conceitos + notação gráfica)gráfica) procedimento (seqüenciamentoprocedimento (seqüenciamento Copyright Leandro Becker procedimento (seqüenciamento procedimento (seqüenciamento de atividades)de atividades) ferramentas computacionaisferramentas computacionais e e maismais…… EngenhariaEngenharia de Softwarede Software PreocupaPreocupa--se com a “se com a “gestãogestão” do ” do processoprocesso de de softwaresoftware:: Análise econômicaAnálise econômica Organização do projeto incluindo equipes eOrganização do projeto incluindo equipes e Copyright Leandro Becker Organização do projeto, incluindo equipes e Organização do projeto, incluindo equipes e responsabilidadesresponsabilidades Estruturação das tarefasEstruturação das tarefas Cronograma do projetoCronograma do projeto Análise e gestão de riscoAnálise e gestão de risco Estimativa de custosEstimativa de custos Áreas de conhecimento da Áreas de conhecimento da Engenharia de SoftwareEngenharia de Software Requisitos (Requisitos (RequirementsRequirements) de Software) de Software Projeto (Design) de SoftwareProjeto (Design) de Software Construção (Construção (ConstructionConstruction) de Software) de Software Teste (Teste (TestingTesting) de Software) de Software Copyright Leandro Becker Teste (Teste (TestingTesting) de Software) de Software Manutenção (Manutenção (MaintenanceMaintenance) de software) de software Gerência de Configuração de SoftwareGerência de Configuração de Software Gerência de Engenharia de SoftwareGerência de Engenharia de Software Processos de Engenharia de SoftwareProcessos de Engenharia de Software Ferramentas e Métodos de Engenharia de SoftwareFerramentas e Métodos de Engenharia de Software Qualidade (Qualidade (QualityQuality) de Software) de Software 3 ProcessoProcesso de Softwarede Software Seqüência coerente de práticas que objetiva o Seqüência coerente de práticas que objetiva o desenvolvimento ou evolução de desenvolvimento ou evolução de sistemas de sistemas de softwaresoftware Englobam seguintes atividades:Englobam seguintes atividades: Copyright Leandro Becker Englobam seguintes atividades: Englobam seguintes atividades: EspecificaçãoEspecificação ProjetoProjeto ImplementaçãoImplementação TestesTestes Metodologias de Metodologias de DesenvolvimentoDesenvolvimento Conjunto de Conjunto de práticas recomendadaspráticas recomendadas, as vezes , as vezes acompanhada de acompanhada de material de treinamentomaterial de treinamento, , programas de educação formalprogramas de educação formal, , diagramasdiagramas OuOu entãoentão abordagemabordagem filosóficafilosófica dodo problemaproblema Copyright Leandro Becker OuOu entãoentão, , abordagemabordagem filosóficafilosófica do do problemaproblema Metodologia EstruturadaMetodologia Estruturada Metodologia Orientada a ObjetosMetodologia Orientada a Objetos Metodologias de Desenvolvimento ÁgilMetodologias de Desenvolvimento Ágil Requisitos de uma boa Requisitos de uma boa metodologiametodologia Aumentar a Aumentar a qualidadequalidade do softwaredo software modularidademodularidade facilidade de compreensãofacilidade de compreensão b lh ib lh i Copyright Leandro Becker suporte a trabalho em equipesuporte a trabalho em equipe facilidade de extensões/alteraçõesfacilidade de extensões/alterações concorrênciaconcorrência hierarquiahierarquia Eng. Eng. SwSw vs. vs. AutomaçãoAutomação AutomaçãoAutomação standstand--alone:alone: ProgramaçãoProgramação emem CLP CLP ouou SistemaSistema EmbarcadoEmbarcado A ãA ã í ií i (SCADA)(SCADA) didi Copyright Leandro Becker AutomaçãoAutomação emem níveisníveis (SCADA): (SCADA): diversosdiversos sistemassistemas computacionaiscomputacionais integradosintegrados TécnicasTécnicas de Eng. Sw. de Eng. Sw. sãosão aplicáveisaplicáveis emem ambos ambos osos casoscasos ReferênciasReferências:: V. B. V. B. MazzolaMazzola e Je J--M. Farines, "M. Farines, "MetodologiasMetodologias de de ConcepcaoConcepcao de Software e de de Software e de SistemasSistemas", ", Cap. 1Cap. 1 Copyright Leandro Becker JALOTE, P. JALOTE, P. AnAn integratedintegrated approach to approach to sofwaresofware engineeringengineering, Cap. 1, Cap. 1