Buscar

Engenharia de Software: Introdução

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

Mais conteúdos dessa disciplina