Documente Academic
Documente Profesional
Documente Cultură
Software
Aula 1
Introduo Engenharia de Software
Apresentao do Professor
Formado em Cincia da Computao pela UFRJ e
Mestrado em Engenharia da Computao pela COPPE/UFRJ
Experincia de 15 anos em anlise, projeto e desenvolvimento
de sistemas
Sistema de Obteno da Marinha (Marinha do Brasil)
Sistema de Controle de Combustvel nuclear das Usinas de Angra
dos Reis (Eletronuclear)
Software para Planejamento de Contrataes do Sistema de
Controle do Espao Areo Brasileiro (CISCEA/DECEA)
Arquitetura de Sistemas para o Plano Diretor de Tecnologia da
Informao (Furnas Centrais Eltricas)
A p r e s e n ta o d o s A l u n o s :
Curso?
P e r o d o?
rea de Interesse na Informtica?
Fa z E s t g i o ?
E n g e n h a r i a d e S o f t wa r e
O que vocs acham que a
E n g e n h a r i a d e S o f t wa r e ?
O que Software?
Software :
Instrues (programas de computador) que,
quando executadas, produzem a funo e o
desempenho desejados;
Estruturas de dados que permitem a manipulao
das informaes;
Documentos que descrevem a operao e uso dos
programas.
Engenharia de Software
Q u a i s s o f t wa r e s v o c s u s a m n o
seu dia a dia?
Exemplos de Softwares
Engenharia de Software
Tipos de Software
Software Bsico
Software que serve a outro software, hardware, processos,
pessoas, etc
Ex: Sistemas Operacionais
Aplicaes
Programas isolados que resolvem uma necessidade especfica
do negcio.
Tempo Real
Sistema que deve responder com suficiente rapidez
(milisegundos) ou o ambiente ficar fora de controle.
Ex: Sistema de orientao area, monitorao de pacientes.
9
Tipos de Software
Sistema Distribudos
Sistemas que executam de forma distribuda em uma rede
de computadores. Ex: torrent para download de arquivos
Software Embutido
Reside dentro de um produto ou sistema (microondas,
automveis, etc.)
10
Caractersticas do Software
Software no sensvel aos problemas
ambientais que fazem com que o hardware
se desgaste
O software desenvolvido, no manufaturado
(no sentido clssico)
Software no se desgasta
Toda falha indica erro de projeto ou
implementao
manuteno do SW mais complicada que a do HW.
11
Engenharia de Software
ndice
de
falhas
mortalidade
infantil
desgaste
tempo
Engenharia de Software
12
12
mudana
curva real
ndice de
falhas
curva idealizada
tempo
Engenharia de Software
13
13
Q u a l a i m p o r t n ci a d o S o f t wa r e n o
mundo atual?
14
A Importncia do Software
Durante as 3 primeiras dcadas da era do
computador, o principal desafio era
desenvolver um HARDWARE de baixo custo
e alto desempenho.
O hoje o desafio melhorar a qualidade (e
reduzir os custos) das solues baseadas em
SOFTWARE!
15
Engenharia de Software
Cliente
Software
Mobile
BYOD
Bring Your
Own Device
E n g e n h a r i a d e S o f t wa r e
O que vocs acham que a
E n g e n h a r i a d e S o f t wa r e ?
17
Engenharia
Arte de aplicar conhecimentos cientficos e
empricos e certas habilitaes especficas
criao de estruturas, dispositivos e
processos que se utilizam para converter
recursos naturais em formas adequadas ao
atendimento das necessidades humanas
Dicionrio Aurlio
18
Desenvolvimento
Manuteno
19
Engenharia de Software
Engenharia de
Requisitos
Projeto de
Sistemas
Desenvolvimento
Testes
Disciplinas na Unicarioca
Desenvolvimento de
Engenharia de Requisitos
Desenvolvimento de
Anlise e Projeto de Sistemas Desenvolvimento de
Qualidade de Software
Desenvolvimento de
Engenharia de Software
Aplicaes
Aplicaes
Aplicaes
Aplicaes
Mveis
Web
com BB
Distribudas
20
10
21
22
11
Engenharia de Software:
a especificao faz parte da execuo
Cdigos fontes so tambm especificaes
Tendncia a clientes solicitar mudanas
constantemente
Em negcios, mudana uma necessidade
Engenharia de Software
23
Questes de Concurso
Sobre a engenharia de software, considere:
I. Atualmente todos os problemas na construo de software
de alta qualidade no prazo e dentro do oramento foram
solucionados.
II. Ao longo dos ltimos 50 anos, o software evoluiu de um
produto de indstria para um ferramental especializado em
soluo de problemas e anlise de informaes especficas.
III. Todo projeto de software iniciado por alguma
necessidade do negcio.
IV. O intuito da engenharia de software fornecer uma
estrutura para a construo de software com alta qualidade.
Est correto o que consta em
a) III e IV, somente.
b) II e III, somente.
c) I, II e IV, somente.
d) II, III e IV, somente.
e) I, II, III e IV.
Engenharia de Software
24
12
Questes de Concurso
Sobre a engenharia de software, considere:
I. Atualmente todos os problemas na construo de software
de alta qualidade no prazo e dentro do oramento foram
solucionados.
II. Ao longo dos ltimos 50 anos, o software evoluiu de um
produto de indstria para um ferramental especializado em
soluo de problemas e anlise de informaes especficas.
III. Todo projeto de software iniciado por alguma
necessidade do negcio.
IV. O intuito da engenharia de software fornecer uma
estrutura para a construo de software com alta qualidade.
Est correto o que consta em
a) III e IV, somente.
b) II e III, somente.
c) I, II e IV, somente.
d) II, III e IV, somente.
e) I, II, III e IV.
Engenharia de Software
25
Engenharia de Software
13
Crise de Software
27
14
A Realidade no Desenvolvimento de
Software
Porcentagem de projetos que terminam
dentro do prazo estimado: 10%
Porcentagem de projetos que so
descontinuados antes de chegarem ao fim:
25%
Porcentagem de projetos acima do custo
esperado: 60%
Atraso mdio nos projetos: um ano.
Chaos report 2004
29
A Realidade no Desenvolvimento de
Software
Software pago mas no entregue: 29.7%
Software que pode ser usado quando
entregue: 2%
Software entregue mas nunca usado: 47%
Software usado mas posteriormente
modificado ou abandonado: 19%
Software que podia ser usado aps feitas
mudanas: 3%
Chaos report 2004
30
15
M especificao
Mau projeto
M implementao
Testes incompletos ou mal feitos
Engenharia de Software
31
Engenharia de Software
32
16
Confiabilidade do Sistema
H diversas estatsticas que provam a pouca
confiabilidade de boa parte dos sistemas, ou
seja, eles no fazem o que deveriam fazer...
Manutenibilidade
Facilidade de se modificar um sistema para
adaptar-se a circunstncias novas,
inexistentes poca da implantao.
Engenharia de Software
33
17
Problemas
Porque leva tanto tempo para terminar
programas e sistemas?
Porque os custos so to altos?
Porque temos dificuldade de medir o
progresso do desenvolvimento do
software?
Porque no conseguimos detectar todos
os erros antes de entregar o software
aos nossos clientes?
Porque os usurios esto sempre
insatisfeitos com o software entregue?
35
Engenharia de Software
P r e c i s a m o s d e u m a D i s c i pl i n a q u e
auxilie na construo e manuteno
de software
Engenharia de Software
Engenharia de Software
36
18
Objetivo do Curso
Espera-se que os alunos compreendam que
o desenvolvimento de software deve seguir
uma disciplina apoiada nos conceitos e
tcnicas da Engenharia de Software para
obter produtos com qualidade e
produtividade.
37
38
19
Avaliaes
1 Avaliao (AV1)
Prova mista (objetiva + discursiva): 10,0 pontos
2 Avaliao (AV2)
Prova mista (objetiva + discursiva): 6,0 pontos
Trabalho de grupo: 4,0 pontos
Avaliaes
Todas as provas (AV1, AV2, AVF e 2
Chamada) sero:
Presenciais
Individuais
Sem Consulta
40
20
Bibliografia
PRESSMAN, R. Engenharia de Software Uma
Abordagem Profissional 7a. Edio ArtMed.
KARAM, O. Et Al. Fundamentos de Engenharia de
Software LTC - 2a Edio -2013
41
42
21
Mensagem Final
Nunca tarde para
aprender
Em 2014, mulher de 97
anos se forma em direito
em MG
"Sei que a minha idade no me d muito prazo. Por
isso, o que eu quero ser til a quem me procurar,
compartilhar o conhecimento. Se no souber
responder algo, vou orientar a pessoa a procurar
quem saiba".
http://educacao.uol.com.br/noticias/2014/07/18/nunca-e-tarde-para-aprendermulher-de-97-anos-se-forma-em-direito-em-mg.htm
22