Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Engenharia de Software
Introdução
Profa: Lauriana Paludo
lauriana.paludo@ifpr.edu.br
 
Profa. Lauriana Paludo – ES (Introdução) 
Introdução
 Objetivos
 Crise do Software
 Mitos do Software
 Definição de Engenharia de Software
 Aspectos do conhecimento de ES do SWEBOK
Objetivos
 Entender os principais aspectos do 
conhecimento da Engenharia de Software (ES)
 Compreender a importância da ES para 
construir software com qualidade
 Identificar os grandes desafios da ES
 
Profa. Lauriana Paludo – ES (Introdução) 
Como surgiu a ES?
 Softwares desenvolvidos de maneira artesanal (década 
de 50)
 Foco das pesquisas era o Hardware
 Softwares desenvolvidos sem técnica e o hardware 
escasso
 Passaram a surgir grandes sistemas
 Muitos problemas e não existia documentação
 Mais barato planejar do que corrigir!
 Analogia: como derrubar uma parede de uma casa 
sem saber onde estão as vigas e estruturas 
fundamentais?
 
Profa. Lauriana Paludo – ES (Introdução) 
Crise do Software: 70’s
 Disseminação do uso de computadores
 Programação individual para programação em grupo
 Problemas com a identificação de requisitos
 Difícil interação entre técnicos e clientes
 Falta de sistemáticas conhecidas para o 
desenvolvimento
 Baixa produtividade das equipes
 Problemas não se limitam ao software que não 
funciona adequadamente, mas abrange:
 desenvolvimento, testes, manutenção, suprimento, 
etc.
 
Profa. Lauriana Paludo – ES (Introdução) 
Crise do Software :70’s
 ES praticamente inexistente;
 O termo “crise do software” foi usado pela primeira vez 
com impacto por Dijkstra (1972)
 Expressava as dificuldades do desenvolvimento de 
software frente ao rápido crescimento da demanda por 
software, da complexidade dos problemas a serem 
resolvidos e da inexistência de técnicas estabelecidas 
para o desenvolvimento de sistemas que funcionassem 
adequadamente ou pudessem ser validados
 
Profa. Lauriana Paludo – ES (Introdução) 
Problemas relatados por Dijkstra 
em 1972
 Projetos que estouram o cronograma. 
 Projetos que estouram o orçamento. 
 Produto final de baixa qualidade ou não atendendo aos 
requisitos. 
 Produtos não gerenciáveis e difíceis de manter e evoluir. 
 
Profa. Lauriana Paludo – ES (Introdução) 
Embora a Engenharia de Software tenha 
evoluído como ciência, sua aplicação na 
prática ainda é muito limitada. 
Crise do Software
 Problema: incapacidade de produzir ou manter 
software de alta qualidade com um custo 
razoável e dentro de um cronograma 
estabelecido
 
Profa. Lauriana Paludo – ES (Introdução) 
Consequências
 Prazos não eram cumpridos
 Baixa produtividade
 Recursos extrapolavam a estimativa
 A qualidade do software era questionável
 O produto final não refletia o que era 
solicitado
 Difícil e constante manutenção
 Não era possível conhecer os efeitos de uma 
mudança
 Transferência lenta de tecnologia...
 
Profa. Lauriana Paludo – ES (Introdução) 
Consequências
 Prazos não eram cumpridos
 Baixa produtividade
 Recursos extrapolavam a estimativa
 A qualidade do software era questionável
 O produto final não refletia o que era solicitado
 Difícil e constante manutenção
 Não era possível conhecer os efeitos de uma 
mudança
 Transferência lenta de tecnologia...
 
Profa. Lauriana Paludo – ES (Introdução) 
O PROBLEMA CONTINUA ? 
Gartner Group, 2000
 
Profa. Lauriana Paludo – ES (Introdução) 
Questionário aplicado à alta direção de 200 empresas 
de porte médio/grande, sobre as principais 
falhas/dificuldades com a Informática: 
- Cumprimento dos prazos 26,3% 
- Custos elevados 25,4% 
- Prioridade desenvolvimento x 
manutenção 25,4% 
- Manutenção dos sistemas em uso 21,1% 
- Recrutar profissionais qualificados 
18,4% 
Therac-25
 Equipamento de Radioterapia.
 Entre 1985 e 1987 se envolveu em 6 acidentes, 
causando mortes por overdoses de radiação.
 Software foi adaptado de uma antecessora, Therac-
6:
 falhas por falta de testes integrados
 falta de documentação
Fonte: página 382 do Pfleeger
 
Profa. Lauriana Paludo – ES (Introdução) 
Denver International Airport
 Custo do projeto: US$ 4.9 bilhões
 100 mil passageiros por dia / 1,200 vôos
 53 milhas quadradas
 94 portões de embarque e desembarque
 6 pistas de pouso / decolagem
 
Profa. Lauriana Paludo – ES (Introdução) 
Denver International Airport
 Erros no sistema automático de transporte de bagagens (misloaded, 
misrouted, jammed):
 Atraso na abertura do aeroporto com custo total estimado em 
US$360 Milhões
 86 milhões para consertar o sistema
 
Profa. Lauriana Paludo – ES (Introdução) 
Ariane 5
 
Profa. Lauriana Paludo – ES (Introdução) 
Ariane 5
 Projeto da Agência 
Espacial Européia que 
custou:
 10 anos.
 US$ 8 Bilhões.
 Capacidade 6 toneladas.
 Garante supremacia 
européia no espaço.
 
Profa. Lauriana Paludo – ES (Introdução) 
Vôo inaugural em 4/junho/1996
 
Profa. Lauriana Paludo – ES (Introdução) 
Resultado
 Explosão 40 
segundos após a 
decolagem.
 Destruição do 
foguete e carga 
avaliada em US$ 
500 milhões. 
 
Profa. Lauriana Paludo – ES (Introdução) 
O que aconteceu? (I)
 Fato: o veículo detonou suas cargas explosivas 
de autodestruição e explodiu no ar. Por que?
 Porque ele estava se quebrando devido às 
forças aerodinâmicas. Mas por que?
 O foguete tinha perdido o controle de direção 
(altitude). Causa disso?
 Os computadores principal e back-up desligaram 
ao mesmo tempo.
 
Profa. Lauriana Paludo – ES (Introdução) 
O que aconteceu? (II)
 De onde veio este erro?
 Um programa que convertia um valor em ponto 
flutuante para um inteiro de 16 bits recebeu como 
entrada um valor que estava fora da faixa 
permitida.
 
Profa. Lauriana Paludo – ES (Introdução) 
Especificamente:O que faltou?
strict precondition 1: 
 {
 Set."x"=FLPT and Set."y"=INT16 
and -32768 <= x <= +32767
} 
program code: 
 y := int(x);
postcondition: 
 {Set."x"=FLPT and Set."y"=INT16 and y=int(x)}
 
Profa. Lauriana Paludo – ES (Introdução) 
Ironia...
 O resultado desta conversão não era mais 
necessário após a decolagem...
 
Profa. Lauriana Paludo – ES (Introdução) 
Frustrações dos usuários
 Esperança que pelo menos parte da promessa da 
informática se cumpra; 
 Frustração pela pequena parte da promessa já 
cumprida, em razão de: 
- Erros, falhas e inadequação dos produtos de 
software 
- Insegurança na utilização 
- Prazos excessivamente longos 
- Custos altos e constantes 
- Constante necessidade de manutenções 
 
Profa. Lauriana Paludo – ES (Introdução) 
Frustrações dos desenvolvedores
 Baixa produtividade no desenvolvimento;
 Baixa qualidade do produto gerado (erros e 
adequação às necessidades do usuário); 
 Impossibilidade de cumprir prazos e custos; 
 Dificuldade em treinar os profissionais nas novas 
tecnologias; 
 Mudanças constantes em TI/SI (insegurança e 
necessidade constante de atualização) 
 
Profa. Lauriana Paludo – ES (Introdução) 
Quais são os problemas?
 A sofisticação do software ultrapassou nossa 
capacidade de construção.
 Nossa capacidade de construir programas não 
acompanha a demanda por novos programas.
 Nossa capacidade de manter programas é 
ameaçada por projetos ruins.
 
Profa. Lauriana Paludo – ES (Introdução) 
Perguntas que a ES quer responder:
 Porque demora tanto para concluir um projeto (não 
cumprimos prazos)?
 Porque custa tanto (uma ordem de magnitude a mais)?
 Porque não descobrimos os erros antes de entregar o 
softwareao cliente?
 Porque temos dificuldade de medir o progresso 
enquanto o software está sendo desenvolvido?
 
Profa. Lauriana Paludo – ES (Introdução) 
Causas óbvias
 Não dedicamos tempo para coletar dados sobre 
o desenvolvimento do software - resulta em 
estimativas “a olho”.
 Comunicação entre o cliente e o desenvolvedor 
é muito fraca.
 Falta de testes sistemáticos e completos.
 
Profa. Lauriana Paludo – ES (Introdução) 
Causas menos óbvias
 O Software não é desenvolvido ou projetado com 
engenharia;
 Gerentes sem experiência em desenvolvimento de 
software;
 Profissionais recebem pouco treinamento formal;
 Experiência do programador é adquirida através de 
tentativa e erro;
 Falta investimento (em ES);
 Falta métodos e automação.
 
Profa. Lauriana Paludo – ES (Introdução) 
Causas associadas à crise do 
software
1- PRÓPRIO CARÁTER DO SOFTWARE
2- FALHAS DAS PESSOAS RESPONSÁVEIS PELO 
DESENVOLVIMENTO DE SOFTWARE
3- MITOS DO SOFTWARE
 
Profa. Lauriana Paludo – ES (Introdução) 
O que é Software?
 Segundo PRESSMAN (2006) é um produto 
que os profissionais de software constroem e 
depois mantêm ao longo do tempo.
 SOMMERVILLE (2007) define como um 
conjunto de programas separados; arquivos 
de documentação e sites.
 
Profa. Lauriana Paludo – ES (Introdução) 
Software – definição clássica
 "um conjunto de instruções que, quando executadas, 
produzem a função e o desempenho desejados, 
estruturas de dados que permitam que as informações 
relativas ao problema a resolver sejam manipuladas 
adequadamente e a documentação necessária para um 
melhor entendimento da sua operação e uso".
 
Profa. Lauriana Paludo – ES (Introdução) 
Software – contexto da ES
 UM PRODUTO A SER "VENDIDO".
 É diferente dos "programas" que são concebidos num contexto 
mais restrito, onde o usuário ou "cliente" é o próprio autor 
– a documentação associada é pequena ou (na maior parte das 
vezes) inexistente 
– a preocupação com a existência de erros de execução não é 
um fator maior, o usuário e ao mesmo tempo autor do programa 
não terá dificuldades, em princípio, na detecção e correção de 
um eventual erro.
 Além do aspecto da correção, outras características não são 
também objeto de preocupação como a portabilidade, a 
flexibilidade e a possibilidade de reutilização.
 
Profa. Lauriana Paludo – ES (Introdução) 
Software – contexto da ES
 Um PRODUTO DE SOFTWARE é destinado ao uso por 
outras pessoas e não aos seus programadores. 
 Os usuários podem ter formações e experiências 
diferentes, o que significa que uma grande preocupação 
deve ser a sua INTERFACE, reforçada com uma 
documentação rica em informações para que todos os 
recursos oferecidos possam ser explorados de forma 
eficiente. 
 Ainda, os produtos de software devem passar por uma 
exaustiva bateria de TESTES, dado que os usuários não 
estarão interessados (e nem terão capacidade) de 
detectar e corrigir os eventuais erros de execução.
 
Profa. Lauriana Paludo – ES (Introdução) 
Software – Resumindo
 Um programa desenvolvido para resolver um dado 
problema e um produto de software destinado à 
resolução do mesmo problema são duas coisas 
totalmente diferentes.
 
 Esforço e o conseqüente custo associado ao 
desenvolvimento de um produto serão muito superiores.
 
Profa. Lauriana Paludo – ES (Introdução) 
Natureza do software
 Produto complexo
 Natureza abstrata (invisibilidade)
 Requisitos mudam continuamente
 Necessita evolução contínua
 Muitos riscos envolvidos
 Software não desgasta!
 Software não é sensível aos problemas ambientais que fazem 
com que o hardware se desgaste.
 Toda falha indica erro de projeto ou implementação
 Manutenção e evolução custam mais que o desenvolvimento 
(sistemas com vida longa)
 
Profa. Lauriana Paludo – ES (Introdução) 
Software hoje
 Tecnologia orientada a objetos
 Sistemas especialistas e software de 
inteligência artificial usados na prática
 Computação paralela
 Internet
 Aplicativos móveis
 Software embarcado
 
Profa. Lauriana Paludo – ES (Introdução) 
Software hoje
 É um negócio competitivo
 Principais direcionadores de competitividade: 
custo, adequação de prazo e qualidade
 Movimentação em adotar práticas da ES
 
Profa. Lauriana Paludo – ES (Introdução) 
Mitos do Software (Pressman)
 Administrativos
 Do cliente
 Do profissional 
 
Profa. Lauriana Paludo – ES (Introdução) 
Mitos e realidades do Software – do 
gerenciamento
Mito 1. "Se a equipe dispõe de um manual repleto de padrões e 
procedimentos de desenvolvimento de software, então a equipe está 
apta a encaminhar bem o desenvolvimento."
Realidade 1. Isto verdadeiramente não é o suficiente... é preciso que a 
equipe aplique efetivamente os conhecimentos apresentados no 
manual... é necessário que o que conste no dado manual reflita a 
moderna prática de desenvolvimento de software e que este seja 
exaustivo com relação a todos os problemas de desenvolvimento que 
poderão aparecer no percurso...
 
Profa. Lauriana Paludo – ES (Introdução) 
Mito 2. "A equipe tem ferramentas de desenvolvimento de software de 
última geração, uma vez que eles dispõem de computadores de última 
geração."
Realidade 2. Ter à sua disposição o último modelo de computador 
(seja ele um mainframe, estação de trabalho ou PC) pode ser bastante 
confortável para o desenvolvedor do software, mas não oferece 
nenhuma garantia quanto à qualidade do software desenvolvido. Mais 
importante do que ter um hardware de última geração é ter 
ferramentas para a automatização do desenvolvimento de software (as 
ferramentas CASE)...
 
Profa. Lauriana Paludo – ES (Introdução) 
Mitos e realidades do Software – do 
gerenciamento
Mito 3. "Se o desenvolvimento do software estiver atrasado, basta 
aumentar a equipe para honrar o prazo de desenvolvimento." 
Realidade 3. Isto também dificilmente vai ocorrer na realidade... 
alguém disse um dia que "... acrescentar pessoas em um projeto 
atrasado vai torná-lo ainda mais atrasado...". De fato, a introdução de 
novos profissionais numa equipe em fase de condução de um projeto 
vai requerer uma etapa de treinamento dos novos elementos da 
equipe; para isto, serão utilizados elementos que estão envolvidos 
diretamente no desenvolvimento, o que vai, conseqüentemente, 
implicar em maiores atrasos no cronograma.
 
Profa. Lauriana Paludo – ES (Introdução) 
Mitos e realidades do Software – do 
gerenciamento
Mito 4. "Uma descrição breve e geral dos requisitos do software é o 
suficiente para iniciar o seu projeto... maiores detalhes podem ser 
definidos posteriormente." 
Realidade 4. Este é um dos problemas que podem conduzir um 
projeto ao fracasso, o cliente deve procurar definir o mais 
precisamente possível todos os requisitos importantes para o software: 
funções, desempenho, interfaces, restrições de projeto e critérios de 
validação são alguns dos pontos determinantes do sucesso de um 
projeto.
 
Profa. Lauriana Paludo – ES (Introdução) 
Mitos e realidades do Software – do 
cliente
Mito 5. "Os requisitos de projeto mudam continuamente durante o seu 
desenvolvimento, mas isto não representa um problema, uma vez que 
o software é flexível e poderá suportar facilmente as alterações." 
Realidade 5. É verdade que o software é flexível (pelo menos mais 
flexível do que a maioria dos produtos manufaturados). Entretanto, não 
existe software, por mais flexível que suporte alterações de requisitos 
significativas com adicional zero em relação ao custo de 
desenvolvimento. O fator de multiplicação nos custos de 
desenvolvimento do software devido a alterações nos requisitos cresce 
emfunção do estágio de evolução do projeto, como mostra a figura 
 
Profa. Lauriana Paludo – ES (Introdução) 
Mitos e realidades do Software – do 
cliente
 
 
Profa. Lauriana Paludo – ES (Introdução) 
Mitos e realidades do Software – do 
cliente
Mito 6. "Após a edição do programa e a sua colocação em 
funcionamento, o trabalho está terminado." 
Realidade 6. O que ocorre na realidade é completamente diferente 
disto. Segundo dados obtidos a partir de experiências anteriores, 50 a 
70% do esforço de desenvolvimento de um software é despendido 
após a sua entrega ao cliente (manutenção).
 
Profa. Lauriana Paludo – ES (Introdução) 
Mitos e realidades do Software – do 
profissional
Mito 7. "Enquanto o programa não entrar em funcionamento, é 
impossível avaliar a sua qualidade." 
Realidade 7. Na realidade, a preocupação com a garantia do software 
deve fazer parte de todas as etapas do desenvolvimento, sendo que, 
ao fim de cada uma destas etapas, os documentos de projeto devem 
ser revisados observando critérios de qualidade.
Mito 8. "O produto a ser entregue no final do projeto é o programa 
funcionando." 
Realidade 8. O programa em funcionamento é um dos componentes 
do software...além do software, um bom projeto deve ser caracterizado 
pela produção de um conjunto importante de documentos que 
permitam sua manutenção
 
Profa. Lauriana Paludo – ES (Introdução) 
Mitos e realidades do Software – do 
profissional
De nada adianta apenas estar consciente dos mitos.
 
Para produzir software com mais qualidade e 
confiabilidade é necessário utilizar um série de práticas, 
algumas das quais serão apresentadas nesta disciplina. 
 
Profa. Lauriana Paludo – ES (Introdução) 
Conclusão
 “A Engenharia de Software forma um aglomerado de 
conceitos que dizem absolutamente nada e que geram no 
estudante desta área um sentimento de Nossa, li 15 kg de 
livros desta matéria e não aprendi nada. É tudo bom 
senso.”
 
Profa. Lauriana Paludo – ES (Introdução) 
Definição de Engenharia de Software
Vamos aprender: 
- Processos de engenharia de software são diferentes dependendo do 
tipo de software que se vai desenvolver. 
- Dependendo do nível de conhecimento ou estabilidade dos requisitos 
deve-se optar por um ou outro ciclo de vida. 
- Uma área aparentemente tão subjetiva como “riscos” pode ser 
sistematizada e tratada efetivamente como um processo de engenharia, 
sem as características de não determinismos e relatividade absoluta 
que usualmente se observa. 
- Existem formas objetivas e padronizadas para mensurar o esforço do 
desenvolvimento de software de forma a gerar números que sejam 
efetivamente realistas, o que já vem sendo comprovado em diversas 
empresas. 
 
Profa. Lauriana Paludo – ES (Introdução) 
Não é simples conceituar e praticar a engenharia de 
software. Mas é necessário. 
 
“ A aplicação de abordagens sistemáticas, 
disciplinadas e quantificáveis ao 
desenvolvimento, operação e manutenção 
do software” (IEEE Computer Society, 2004)
 
Profa. Lauriana Paludo – ES (Introdução) 
Definição de Engenharia de Software
Definição de Engenharia de Software 
 A Engenharia de Software abrange um conjunto de três 
elementos fundamentais: Métodos, Ferramentas e 
Procedimentos;
 Principais metas: melhorar a qualidade de produtos de 
software, aumentar a produtividade do pessoal técnico e 
aumentar a satisfação do cliente. 
 
Profa. Lauriana Paludo – ES (Introdução) 
Definição de Engenharia de Software
 Métodos: proporcionam os detalhes de “como fazer” 
para construir o software;
– Planejamento e estimativa de projeto;
– Análise de requisitos de software e de sistemas;
– Projeto da estrutura de dados;
– Algoritmo de processamento;
– Codificação;
– Teste;
– Manutenção. 
 
Profa. Lauriana Paludo – ES (Introdução) 
Talita
Máquina de escrever
Estimativa de tempo, valor financeiro, tamanhonullda equipe...
Definição de Engenharia de Software 
 Ferramentas: dão suporte automatizado aos métodos;
– Existem atualmente ferramentas para sustentar cada 
um dos métodos;
– Quando as ferramentas são integradas é 
estabelecido um sistema de suporte ao 
desenvolvimento de software chamado CASE- 
Computer Aided Software Engineering
 
Profa. Lauriana Paludo – ES (Introdução) 
Talita
Máquina de escrever
Ferramentas CASE: ambientes integrados
Definição de Engenharia de Software 
 Procedimentos: constituem o elo de ligação entre os 
métodos e ferramentas;
– Sequencia em que os métodos serão aplicados;
– Produtos que se exige que sejam entregues;
– Controles que ajudam assegurar a qualidade e 
coordenar as alterações;
– Marcos de referência que possibilitam administrar o 
progresso do software.
 
Profa. Lauriana Paludo – ES (Introdução) 
Talita
Máquina de escrever
Sequencia em que os métodos serão aplicados - é o que une os métodos com as ferramentas
Lembre! ES tem a ver com:
 
Profa. Lauriana Paludo – ES (Introdução) 
 
Sistemática
(princípios, métodos, ferramentas)
Desenvolvimento e Manutenção
Qualidade e Produtividade
Talita
Selecionar
Talita
Selecionar
Talita
Selecionar
Lembre! Características da ES:
 
Profa. Lauriana Paludo – ES (Introdução) 
 A ES se refere a software desenvolvido por grupos de 
indivíduos;
 Usa princípios de engenharia ao invés de arte, e
 Inclui tanto aspectos técnicos quanto não técnicos.
Talita
Selecionar
Talita
Selecionar
Tarefas da ES
 Análise do problema e 
identificação de requisitos
 Projeto (design)
 Codificação
 Testes e Integração do 
código
 Instalação e entrega do 
software
 Documentação
 Manutenção
 Controle de qualidade
 Treinamento
 Estimativas de recursos
 Gerência de projetos
 
Profa. Lauriana Paludo – ES (Introdução) 
SWEBOK
 
Profa. Lauriana Paludo – ES (Introdução) 
 O SWEBOK (Guide to the Software Engineering Body 
of Knowledge) é um documento criado com a finalidade 
de servir de referência em assuntos considerados como 
essenciais na área de Engenharia de Software e foi 
conduzido pelo IEEE (Institute of Electrical and Electronics 
Engineers).
SWEBOK – O porquê do guia
 
Profa. Lauriana Paludo – ES (Introdução) 
 Surgiu da necessidade da comissão de especialistas da 
área de Engenharia de Software, visando uma definição 
das fronteiras que a delimitam (SWEBOK, 2004).
 Subsídios para o reconhecimento da profissão de 
Engenheiro de Software.
SWEBOK - Objetivos
 
Profa. Lauriana Paludo – ES (Introdução) 
 Caracterizar o conteúdo da disciplina de engenharia de 
software;
 Estabelecer um conjunto apropriado de critérios e normas 
para a prática profissional da Engenharia de Software; 
 Marcar as fronteiras entre a Engenharia de Software e as 
demais disciplinas relacionadas; 
 Prover uma fundação para certificação individual e para 
licenciamento de profissionais.
SWEBOK – Áreas de Conhecimento 
versão 2010
 
Profa. Lauriana Paludo – ES (Introdução) 
1.Requisitos de Software
2.Projeto de Software
3.Construção de Software
4.Teste de Software
5.Qualidade de Software
6.Manutenção de Software
7.Processo de Engenharia de Software
8.Gerência de Configuração de Software
9.Gerência da Engenharia de Software
10.Disciplinas Relacionadas
Talita
Máquina de escrever
Limites da Engenharia de Software
Talita
Máquina de escrever
Análise
Talita
Máquina de escrever
Análise
Talita
Máquina de escrever
Programação
 Certificação CSDA (Certificação de Associação 
no Desenvolvimento de Software).
 Certificação CSDP (Certificação de 
Desenvolvimento Profissional de Software)
Certificações
 Uma das primeiras confusões que se faz nestaárea é 
confundir o desenvolvedor com o engenheiro de software. 
Isso equivale a confundir o engenheiro civil com o pedreiro ou 
com o mestre de obra. 
 Considerando com maior ênfase a definição de Engenharia de 
Software como o processo de estudar, criar e otimizar os 
processos de trabalho para os desenvolvedores de software, 
embora não seja consenso, considera-se, que as atividades de 
levantamento de requisitos, modelagem, design e codificação, 
não são típicas de um engenheiro de software, embora, muitas 
vezes, ele seja habilitado a realizá-las. 
 
Profa. Lauriana Paludo – ES (Introdução) 
O Engenheiro de Software
 
Profa. Lauriana Paludo – ES (Introdução) 
O Engenheiro de Software
 O desenvolvedor, seja ele analista, projetista, programador ou 
gerente de projeto, é um executor do processo de construção de 
software. 
 Os desenvolvedores, de acordo com seus papéis, tem a 
responsabilidade de descobrir os requisitos e transformá-los em 
um produto executável. 
 Mas o engenheiro de software tem um meta-papel em relação 
a isso. 
 Pode-se dizer que o engenheiro de software não coloca a mão 
na massa, assim como o engenheiro civil não vai à obra 
assentar tijolos ou concretar uma laje. 
Talita
Selecionar
 
Profa. Lauriana Paludo – ES (Introdução) 
O Engenheiro de Software
 Então, o engenheiro de software não é um desenvolvedor 
que trabalhe na produção de código.
Porém, a comparação com a engenharia civil termina por 
aqui, já que o engenheiro civil será o responsável pela 
especificação do projeto.
Na área da computação, a especificação do projeto fica a 
cargo do analista e projetista, o primeiro com a 
responsabilidade de identificar os requisitos e o segundo 
com a responsabilidade de desenhar uma solução que 
utilize a tecnologia para transformar estes requisitos em 
um sistema executável
Talita
Selecionar
 
Profa. Lauriana Paludo – ES (Introdução) 
O Engenheiro de Software
 O engenheiro de software assemelha-se assim mais ao 
engenheiro de produção.
 Ele deve fornecer aos desenvolvedores (inclusive 
analistas e projetistas), as ferramentas e processos que 
estes deverão usar e ele será o responsável por verificar 
que tais ferramentas e processos sejam efetivamente 
usados, que sejam usados de forma otimizada e que caso 
apresentem qualquer problema ele será responsável por 
realizar as modificações necessárias no próprio processo, 
garantindo assim sua contínua melhoria. 
Talita
Selecionar
Talita
Selecionar
Talita
Selecionar
 
Profa. Lauriana Paludo – ES (Introdução) 
Engenheiro de Software X Gerente de 
Projeto
 O gerente de projeto deve planejar e garantir que o 
projeto seja executado de forma adequada dentro dos 
prazos e orçamento especificados. 
 Mas o gerente de projeto tem uma responsabilidade mais 
restrita ao projeto em si e não ao processo de produção.
 Neste sentido, o gerente de projeto também é um 
executor, ele utiliza as disciplinas definidas no processo de 
engenharia de software para gerenciar seu projeto 
específico, mas ele não é necessariamente o responsável 
pela evolução destes processos nem necessariamente 
pela sua escolha. 
 - Este papel cabe ao engenheiro de software. 
 
Profa. Lauriana Paludo – ES (Introdução) 
Resumo dos papéis
 Engenheiro de Software: escolhe, especifica e reavalia os 
processos de planejamento, gerência e produção
 Gerente de Projetos: cuida de um projeto específico 
 Analista: desenvolvedor responsável pela compreensão do 
problema, ou seja, pelo levantamento de requisitos e sua 
modelagem 
 Projetista ou designer: leva em conta as especificações do 
analista e propõem a melhor tecnologia para produzir um 
sistema
 Programador: construir a solução física a partir das 
especificações do designer. Deve conhecer profundamente a 
linguagem e o ambiente de programação, além de ter 
conhecimentos de teste e depuração de software 
 
Profa. Lauriana Paludo – ES (Introdução) 
Evolução da ES
1940 – Não havia software.
 
1960 a 1980 – Crise do software (mitos). 
1980 a 1990 – Balas de prata (solução única). 
2000 – Métodos ágeis. 
2004 – Swebok. 
Atividades 
1) Exercícios 01 – Introdução à ES.
 
Profa. Lauriana Paludo – ES (Introdução) 
Leitura recomendada 
1. SANTIAGO, Marcos Rogerio. Ensaio do SWEBOK – Software 
Engineering Body Of Knowledge. Universidade Gama Filho, 
Goiania, 2011. Capítulo 2 – História e Definições Iniciais. 
2. Texto de André Furtado “Pontas de Iceberg do Caos no 
Desenvolvimento de Software”.
 
Profa. Lauriana Paludo – ES (Introdução) 
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30
	Slide 31
	Slide 32
	Slide 33
	Slide 34
	Slide 35
	Slide 36
	Slide 37
	Slide 38
	Slide 39
	Slide 40
	Slide 41
	Slide 42
	Slide 43
	Slide 44
	Slide 45
	Slide 46
	Slide 47
	Slide 48
	Slide 49
	Slide 50
	Slide 51
	Slide 52
	Slide 53
	Slide 54
	Slide 55
	Slide 56
	Slide 57
	Slide 58
	Slide 59
	Slide 60
	Slide 61
	Slide 62
	Slide 63
	Slide 64
	Slide 65
	Slide 66
	Slide 67
	Slide 68
	Slide 69
	Slide 70
	Slide 71

Mais conteúdos dessa disciplina