Sunteți pe pagina 1din 22

Teoria de Engenharia de

Software
Aula 1
Introduo Engenharia de Software

Prof. Rafael Targino


rtargino@unicarioca.edu.br

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)

Certificaes em RUP, Scrum e diversas ferramentas IBM


Rational

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

Programa x Sistema x Software x


Aplicao
Conceitos as vezes utilizados de maneira
diferente dependendo do contexto, mas que
no fundo representam a mesma coisa
Um pedao de cdigo fonte executado por uma
mquina para suportar uma necessidade de um
usurio

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

Programa de Declarao de Imposto de Renda


Agendamento de Vistoria de Veculo no Detran
Compra de Ingresso para Shows e Eventos
Facebook
Waze / Google Maps
Internet Banking
Caixa automtico dos Bancos
Frequncia e Folha de Pagamento
Controle de Trfego Urbano
Controle Acadmico
Controle de Elevadores
Automao de Biblioteca
Sistema de Alarme em Edificaes

Engenharia de Software

Tipos de Software
Software Bsico
Software que serve a outro software, hardware, processos,
pessoas, etc
Ex: Sistemas Operacionais

Sistemas de Informao / Sistemas Corporativos


Sistemas que gerenciam dados de entrada e sada de uma
organizao e efetuam o seu processamento

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 de Apoio Tomada de Deciso


Fornece informaes relevantes para tomada de deciso
nos nveis Estratgico, Ttico e Operacional
Processo de uma fbrica, controle de estoque, etc.

Software Cientfico e de Engenharia (especialista)


Processamento de grandes clculos (astronomia, biologia
molecular, vulcanologia, etc.).

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

Curva de Defeitos para o Hardware

ndice
de
falhas

mortalidade
infantil

desgaste

tempo

Engenharia de Software

12

12

Curva de Defeitos para Software

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

O Software est em todo lugar


Banco de Dados
Servidor
APIs dos Aplicativos
Browser

Cliente

Software

Mobile

BYOD
Bring Your
Own Device

Internet das Coisas

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

O que Engenharia de Software


Engenharia de Software a aplicao de
uma abordagem sistemtica, disciplinada e
quantificvel ao desenvolvimento,
operao e manuteno de software
IEEE Std 610.12 (1990)
Operao
Ciclo de Vida de Projeto de Software

Desenvolvimento

Manuteno

19

Engenharia de Software

O que Engenharia de Software


Engenharia de Software a aplicao de um processo
disciplinado, sistemtico e quantitativo para o
desenvolvimento, operao e manuteno de um software
Pressman
Processo de Desenvolvimento de Software

Engenharia de
Requisitos

Projeto de
Sistemas

Desenvolvimento

Testes

Gerncia de Projeto de Software

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

Engenharia de Software ainda uma


rea muito nova
Tema relativamente novo no sentido do termo
Engenharia de Software, causando muitas
discordncias de conceitos consensualmente
aceitos, necessitando ainda de efetivas
normas norteadoras do assunto.
Nesse sentido, a sociedade ainda demanda de
profissionais capacitados para elevar o
software em termos de sistemas
organizacionais, contribuindo de fato com as
organizaes modernas, sejam privadas ou
pblicas.
Engenharia de Software

21

Engenharia de Software X Engenharia Civil

Porque pontes so geralmente construdas a


tempo e a um custo conhecido e softwares
raramente os so?
Engenharia Civil:
3000 anos de experincia a mais
Clara separao entre especificao e execuo
Especificao detalhada antes de colocar a mo
na massa
Uma vez que a especificao aceita, pouco se
pode fazer para alterar
Terrenos no esto constantemente mudando
Engenharia de Software

22

11

Engenharia de Software X Engenharia Civil

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

Concluso: Projetos de software possuem


maiores riscos e devem ser gerenciados com
ateno voltada s mudanas

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

Casos Clssicos de Insucessos de


Software (livro Sommerville)
Therac-25 Equipamento de Radioterapia
Entre 1985 e 1987 se envolveu em 6 acidentes,
causando mortes por overdoses de radiao.

Aeroporto Internacional de Denver


Erros no sistema automtico de transporte de
bagagens
Atraso na abertura do aeroporto com custo total
estimado em US$360 Milhes

Foguete Ariane 5 Agncia Espacial Europia


Exploso 40 segundos aps a decolagem.
Destruio do foguete e carga avaliada em US$ 500
milhes.
28

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

A Crise de Software - Causas


Introduo de erros no processo

M especificao
Mau projeto
M implementao
Testes incompletos ou mal feitos

Problemas na comunicao homemmquina


Problemas na gerncia
Falta de treinamento em novas tcnicas de
desenvolvimento

Engenharia de Software

31

A Crise de Software - Causas


Complexidade
Especificar sistemas uma atividade bastante
complexa. No se trata apenas de fazer uns
programinhas.

Insatisfao dos usurios


usurios sentem-se frustrados com sistemas
difceis de serem operados e/ou cujo
desenvolvimento se prolonga por vrios anos.
usurio precisa de sistemas funcionando de
acordo com suas necessidades

Engenharia de Software

32

16

A Crise de Software - Causas


Produtividade
Costuma estar quase sempre aqum do
desejado.

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

Exerccio Telefone sem fio


No dia 22 de novembro as 20:00hs, no
cruzamento da rua Franco da Rocha com
Gomes de Melo, um carro a caminho do
aeroporto, de placa do Rio de Janeiro, colidiu
com um nibus da linha 572.
Estavam no interior do carro, o motorista,
um senhor de cabelo grisalho, e mais 4
passageiros, sendo 2 crianas, uma de 5 e
outra de 9 anos.
No houve vtimas. A polcia chegou,
registrou a ocorrncia e liberou os motoristas
34

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

Como ser o Aprendizado neste


Curso
Estudo adicional alm das horas de sala de
aula
Frequncia em sala de aula obrigatria
Listas de Exerccios
Dinmicas em Sala de Aula
Trabalho Prtico
AVA Ambiente Virtual de
Aprendizado

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

2 Chamada e Avaliao Final (AVF)


Prova mista (objetiva + discursiva)

Arredondamento de nota apenas para


aqueles que fizeram todas as listas de
exerccios
39

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

Servios Disponveis na Unicarioca

SOA Servio de Orientao Aprendizagem


SOC Servio de Orientao Carreia
SOT Servio de Orientao Tecnolgica
Letras e Nmeros e Fsica e Bits&BYtes

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

S-ar putea să vă placă și