Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Engenharia de Software - Introdução

O que é a engenharia de software (ES) e sua importância, questões fundamentais sobre ES, ética na ES. Material baseado nos livro Software Engineering de Ian Sommerville: 8.ª e 9.ª edições.
by

Eduardo Mendes de Oliveira

on 9 April 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Engenharia de Software - Introdução

3
5
7
Engenharia
software
hummm...
? ? ? ?

Objetivos
Introducao
de
2
QUESTÕES CHAVES
1
engenharia de software
Mais e mais sistemas
mais e mais sistemas
mais e mais
são controlados por software
E sua importância
teorias
métodos
ferramentas
PAra o desenvolvimento
profissional de software
ENGENHARIA DE SOFTWARE
representam uma
Despesas
de software
fração
PIB
nos países desenvolvidos
significativa do
Perguntas fundamentais
2
SOFTWare
abstrato e intangivel
ilimitado
simplifica a engenharia
aumento da complexidade
1968: Criiiiise
atrasos

custos
software hardware

manutenção desenvolvimento
>
desenvolvimento com custo otimizado
1
O que é software?
programa
documentacao
produto de software
tipos
genéricos
personalizados
desenvolvido particularmente para um cliente
mercado geral
o que é
eNgenhariA
DE SOFTWARE?
Disciplina da engenharia
que está relacionada com todos
os aspectos da produção do software
QUal a diferença entre
ciência da computação?
Engenharia
de software
teorias, métodos e fundamentos
dos computadores
e sistemas de software
problemas práticos
da produção de software
o que é
processo de software?
conjunto de atividades e resultados
associados que resulta
em um produto de software
atividades
fundamentais
resultados
atividades
+
6
O QUE É UM MODELO
DE PROCESSO DE SOFTWARE?
perspectivas
paradigmas
ciclos de vida
descrição simplificada de um processo
aprensentada sobre uma determinada perspectiva
modelo de workflow:
sequência de atividades
com suas entradas e saídas

modelo de fluxo de dados ou de atividade:
conjunto de atividades que realiza alguma transformação de dados

modelo papel/ação
representa os papéis das pessoas e suas atividades
Cascata ou tradicional
Desenvolvimento incremental
Desenvolvimento orientado a reuso
Quais são os custos
da Engenharia de software
%
Os custos variam dependendo do tipo do sistema em desenvolvimento e dos atributos de sistema, tais como desempenho e confiabilidade
paradigmas
8
O que são métodos
engenharia de software
É uma abordagem estruturada
para o desenvolvimento de software
facilitar a produção de software
de alta qualidade,

apresentando uma boa relação
custo/benefício
componentes
objetivo
DESCRIÇÃO DO MODELO
REGRAS
RECOMENDAÇÕES
DIRETRIZES
DO PROCESSO
descrições dos modelos de sistema a serem desenvolvidos
e a notação utilizada para definir esses modelos
restrições que são sempre
aplicáveis aos modelos
de sistemas
Heurísticas que
caracterizam a boa prática de projeto nesse método
descrição de atividades que podem
ser seguidas para desenvolver os modelos
de sistemas e a organização
dessas atividades
modelos de objetos, modelos de fluxo de dados, modelos de máquina de estados...
cada entidade em um modelo
de sistema deve ter um único nome
nenhum objeto deve ter mais que
sete subobjetos associados a ele
Atributos de objetos devem ser documentados
antes de definir as operações associadas a ele
11
como a
?
web
9
10
4
QUal a diferença entre
E ENGENHARia
de sistemas
Engenharia
de software
Se preocupa com todos os aspectos
do desenvolvimento de sistemas baseados
em computadores, incluindo
hardware, software e processo
Especificação de software

DEsenvolvimento de software

Validação de software

evolução de software
Quais são os atributos
de um bom software?
manutenibilidade
Confiabilidade
eficiencia
Usabilidade
o software deve apresentar a funcionalidade
e comportamento esperados ao usuário com:
deve ser fácil de manter: corrigir e evoluir
deve ser confiável, seguro
e tolerante a erros
deve utilizar os recursos
eficientemente
deve ser fácil de usar
Quais são os
desafios-chave
da engenharia de software?
heterogeneidade
entrega
confiançca
desenvolvimento de técnicas para construir
software que seja capaz de lidar
com ambientes de execução
e plataformas heterogêneas
linguagens
diferentes
sistemas
distribuídos
sistemas legados
desenvolvimento de técnicas
que contribuam com entrega
rápida de software
*
SEm comprometer
a qualidade do software
desenvolver técnicas
que demonstrem
que o software
pode ter confiaça dos seus usuários
as ferramentas
e técnicas apropriadas
criatividade
e informalidade
os engenheiros devem adotar
uma abordagem organizada e sistemática em seu trabalho
de acordo com
a circunstância
CONTEXTO
problemática do
?
Explosão foguete Ariane5
10 anos :: $7bilhões
dados
Atividade
Quais os atributos essenciais para...
JOGOS INTERATIVOS?
SISTEMAS BANCÁRIOS?
MONITORES CARDÍACOS EM UMA UTI?
O SOFTWARE FAZ PARTE
DA NOSSA VIDA
ATIVIDADE
Descreva um problema ocorrido
em nosso país que tenha envolvido
erros de software

Inclua:
Descrição do problema
Impacto
sua percepção sobre onde ocorreu o problema
como ele poderia ter sido evitado
dispositivos
e sistemas
pense
software
http://www.sbmac.org.br/bol/bol-2/artigos/ariane5.html
O que é um Sistema???
Um sistema é

um conjunto intencional

de componentes inter-relacionados

que trabalham juntos para alcançar um objetivo em comum
É parte da engenharia de sistemas.
especificação
projetos arquiteturais
integração
desenvolvimento
60%
40%
desenvolvimento
testes
softwares personalizados
EVOLUCAO
DESENVOLVIMENTO
mudanca
A sociedade e os negócios
estão mudando rapidamente
na forma de fazer negócio e na sociedade
desenvolvimento
das economias emergentes

elas precisam atualizar software legados
e desenvolver novos
novas tecnologias
estão surgindo
Influenciou a Engenharia de software
Plataforma atual
sistemas web
sistemas locais
Web Services
cloud computing
caracteristicas
Dominante abordagem baseada em reuso

sistemas desenvolvidos e entregues incrementalmente

Interfaces de usuários tem restrições devido aos navegadores

sistemas distribuídos complexos
BIBLIOGRAFIA
sommerville, Ian. Engenharia de Software, 8a. edição. Addison Wesley, 2007
Sommerville, Ian. software engineering, 9a. edicao. Addison Wesley, 2010
12
como O MUNDO
?
MOBILE
Influenciou a Engenharia de software
Full transcript