Você está na página 1de 28

|   

 

Profª Simone Levenhagem


O  
  resentar a engenharia de software e
ex icar a sua im ortância
 Res onder as questões rinci ais
sobre engenharia de software
  resentar requisitos no contexto da
Engenharia de Software
½    
 s economias de TODS as nações desenvovidas
de endem de software
 Mais e mais sistemas são controados or software
 Engenharia de software reocu a-se com as teorias,
os métodos e as ferramentas ara o
desenvovimento rofissiona de software
 O gasto com engenharia de software re resenta
uma arte significativa do PIB em todos os aíses
desenvovidos
Ñ
   
 Os custos de software freqüentemente dominam os
custos do sistema. Os custos com o software em um
PC são freqüentemente maiores que os custos com o
hardware
 Os custos de software são maiores ara mantê-o do
que ara desenvovê-o. Para sistemas com vida
onga, os custos de manutenção odem ser várias
vezes maiores que os de desenvovimento
  engenharia de software reocu a-se com o
desenvovimento de software com um custo viáve
 O que é software?
O
   
 Os rogramas de com utador e a documentação
associada
 Os rodutos de software odem ser desenvovidos
ara um ciente es ecífico ou odem ser
desenvovidos ara um mercado genérico
 Os rodutos de software odem ser:
‡ Genérico ± desenvovido ara ser vendido ara
uma gama de cientes diferentes
‡ Encomendado ( ersonaizado) ± desenvovido
ara um único ciente, de acordo com a sua
es ecificação
 O que é engenharia
de software?
O
   
  
 Engenharia de software é uma área da
engenharia que se reocu a com todos os
as ectos da rodução de software
 Engenheiros de software devem adotar uma
abordagem sistemática e organizada ara o
seu trabaho e usar ferramentas e técnicas
a ro riadas, de endendo do robema a ser
resovido, das restrições de
desenvovimento e dos recursos dis oníveis
 üua é a diferença
entre engenharia de
software e ciência da
com utação?
ü
     
      
 
 
  ciência da com utação reocu a-se
com a teoria e os fundamentos; a
engenharia de software reocu a-se com
a rática do desenvovimento e entrega de
software úti
 s teorias da ciência da com utação são
atuamente insuficientes ara servir como
base única ara a engenharia de software
 üua é a diferença
entre engenharia de
software e
engenharia de
sistemas?
ü
     
      
     
  engenharia de sistemas reocu a-se com
todos os as ectos do desenvovimento de
sistemas baseados em com utador,
incuindo hardware, software e engenharia
de rocessos.  engenharia de software faz
arte desse rocesso
 Engenheiros de sistemas estão envovidos
na es ecificação, rojeto arquitetura,
integração e desenvovimento de sistemas
 O que é um
rocesso de
software?
O

   
  
 *m conjunto de atividades cujo objetivo é o
desenvovimento ou a evoução de software
 s atividades genéricas em todos os rocessos de
software são:
‡ Es ecificação ± o que o sistema deve fazer e as
restrições a icadas ao seu desenvovimento
‡ Desenvovimento ± rodução do sistema de
software
‡ Vaidação ± verificar que o software é o que o
ciente quer
‡ Evoução ± modificar o software em res osta a
necessidades de ateração
 O que é um modeo de
rocesso de
software?
O

    
  
  
 *ma re resentação sim ificada de um rocesso de
software, a resentado a artir de uma ers ectiva
es ecífica
 Exem os de ers ectivas do rocesso são:
‡ Pers ectiva de Fuxo de Trabaho ± seqüência de
atividades
‡ Pers ectiva de Fuxo de Dados ± fuxo de
informações
‡ Pers ectiva Pa eção ± quem faz o quê
 Modeos genéricos de rocesso
‡ Cascata
‡ Desenvovimento evoucionário
‡ Transformação forma
‡ Integração de com onentes reutiizáveis
 üuais são os custos
da engenharia de
software?
ü
    

     
  roximadamente 60% dos custos são custos de
desenvovimento, e 40% são custos de testes. Para
softwares ersonaizados, os custos de evoução
com freqüência excedem os custos de
desenvovimento
 Os custos variam, de endendo do ti o de sistema
que está sendo desenvovido e dos requisitos de
atributos de sistema, tais como desem enho e
confiabiidade do sistema
  distribuição de custos de ende do modeo de
desenvovimento que está sendo usado
 üuais são os atributos
de um bom
software?
ü
     
 


  
 O software deve entregar a funcionaidade e desem enho exigidos
eo usuário e deve ser manuteníve, digno de confiança e utiizáve

 Manutenibiidade
‡ O software deve evouir ara acançar necessidades de
mudança
 Confiabiidade
‡ O software deve ser confiáve
 Eficiência
‡ O software não deve des erdiçar recursos do sistema
 *sabiidade
‡ O software deve ser usáve eos usuários ara os quais ee foi
rojetado
 üuais são os desafios
rinci ais a serem
enfrentados ea
engenharia de SW?
ü
       
      
  
 Lidar com sistemas egados, idar com diversidade
crescente e idar com necessidades de tem os de
entrega reduzidos
 Sistemas egados
‡ Sistemas vehos e vaiosos devem ser mantidos
e atuaizados
 Heterogeneidade
‡ Os sistemas são distribuídos e incuem uma
combinação de hardware e software
 Entrega
‡ Há uma ressão crescente ara entrega mais
rá ida de software
 Porque os softwares
faham?
2 
    

 Requisitos não evantados.
 Requisitos ma inter retados.
 Dificudade de comunicação entre
ciente e desenvovedores.
 Fahas no rocesso de
desenvovimento.
 Fata de metodoogia adequada.
X        
  
' 
    ' 
U    
 ' 
   ''

   
 
  
 

  !! 
 

! ! "
#$%
!$!! 
"    
'   
''#
! 
½  
 
 O rocesso de estabeecer as funções
que o ciente requer de um sistema e as
restrições sob as quais ee deve funcionar
e ser desenvovido
 Os requisitos são descrições das funções
e restrições que são geradas durante o
rocesso de engenharia de requisitos
O


  
 Pode variar desde uma descrição abstrata em ato níve
de uma função ou de uma restrição do sistema até uma
es ecificação funciona matemática detahada
 Isso é inevitáve, uma vez que os requisitos odem
servir ara uma função du a
‡ Podem ser a base ara uma icitação de um
contrato ± ortanto, deve ser abertos a
inter retações
‡ Podem ser a base ara o contrato em si ± ortanto,
devem ser definidos em detahes
‡ mbas as definições odem ser chamadas de
requisitos
Π  
 
 Software atendendo as necessidades.
 Redução das fahas dos rojetos de
software.
 Determinação do esco o do rojeto.
 Redução do razo e custo de
desenvovimento.