Vous êtes sur la page 1sur 91

|  



Ana Paula Fukuda


Ana02569@upis.br
°   °


¢ que é Engenharia de Software?

¢ Processos ± Como identificar qual o melhor a ser


utilizado?
v  
 

( Por que tanta demora para entregar?

( Por que os prazos se atrasam?

( Por que os custos são altos?

( Por que não achar todos os erros antes de entregar?

( Por que dificuldade em medir o progresso do desenvolvimento


de um software?
þ    


¢ São, usualmente, componentes de sistemas automatizados


¢ São compostos por documentação, dados, código e
procedimentos
¢ São desenvolvidos com o objetivo de instruir máquinas e
pessoas no sentido da realização de um conjunto bem definido
de tarefas de processamento de dados
¢ São instrumentos para alcançar um fim específico: transformar
dados em resultados confiáveis, úteis e oportunos

2  

å    


Software é tanto um PR  como um veículo para


desenvolver um produto
Software é desenvolvido por engenharia e não
manufaturado
Software não se desgasta, mas deteriora
Atualmente, muitos softwares estão ainda em
construção
|     


6ardware: maior desempenho, menor tamanho e custo

A terceira era A quarta era


A segunda era ¢Sistemas istribuídos ¢ecnologia . .
¢ultiusuário ¢nteligência´ embutida ¢Sistemas Especialistas
¢empo real ¢6ardware de baixo custo ¢Redes Neurais
¢anco de ados ¢ PCs) ¢Computação Paralela
s primeiros anos ¢Software 6ouses ¢workstation ¢ecnologia Web
¢ rientação batch ¢mpacto de consumo ¢Segurança
¢istribuição limitada
¢Software customizado

¢950 ¢960 ¢970 ¢980 ¢990 ¢2000

..... CRSE E S FWARE aflição crônica???)


°   


Crise ± um ponto decisivo no curso de algo; momento,


etapa ou evento decisivo ou crucial.

Nos acompanha a mais de 30 anos.

Aflição Crônica
Aflição ± Algo que causa dor ou sofrimento
Crônica ± que dura um longo tempo ou retorna
frequentemente; que continua indefinitivamente.
°   

å
      
  
  
     
: 
   


 
     





O  2   
    
  
  
ã 
   

 
 
     
      
´
|

  

     
   ´
þ 
 


   




 

  

  


  

 
    
 
  


   

 



     
!´
°   


O 
     
 
      
  
þ          

 
  
 

   
" #

 $"%
  
&   
        
 
   


°   


O    


     
ã    
   
   

   

 "   


     "




 
 


O 
 ! 


 "  

& 

 
   

 


 

& 

  
     


  
   

°   


  
    


    

 



 

°

    

 
  '
°   


. próprio caráter do Software


þ  
    
"   # (
°  )    


 

*

   


   


 
 
 



software não se desgasta, mas se deteriora!!!


°

    

 
  '
°   


2. falhas das pessoas responsáveis pelo desenvolvimento de


Software
o    
    

þ   
 

  
 %   

  
  
  
 


     

å%

 

(
°

    

 
  '
°   


3. mitos do Software

 
"

  
    

m m

 
 m

M    
 

 

+    

   
!    



     
( ,  

 
     
 
-

å m
 m 
a   
   
       
   

 
     
    

 

M    
 

 

M 
  

     
 
  *
"
 .

   
  

     
 (

å m
 m 
'          
     
  
  

       a 
        
    
      

   a!   

M    
 

 

  
 


    
    
 


  "

   


 (

å m
 m 
 
        " 

# 
     $  %  
  &        '     

 $     
M    
 

V


 "
       


  

   "

    
  
 
 
(

å m
 m 
V  ( 
  
      
(   
    
'  
 (
  
)   *  
 (' ('  )'   ' (+  $  
   
 (
M    
 

þ        


  
 


 

    

  

     

$# (

å m
 m 
V  ('  
     $ ' 
             
    ( 
      
M
"  
  



R    


R

  à à
 
 àà
   àà 
M    
   


&      "



   
  
  
   

 
   (

å m
 m 
      ,     -. /.0   (
          

  
  
  
M    
   


|
     "

/  
 /  
 
  





 



(

å m
 m 
V         
 ( a   
      (
       (   (   
v  
 

( Por que tanta demora para entregar?

( Por que os prazos se atrasam?

( Por que os custos são altos?

( Por que não achar todos os erros antes de entregar?

( Por que dificuldade em medir o progresso do desenvolvimento


de um software?
v

   -

Reconhecer os problemas e suas causas e desmascarar os


mitos do software são os primeiros passos

étodos e écnicas para disciplinar o processo


de desenvolvimento do software
|"

  
0
1
Fritz auer - 969

þ  
      
   


       
 
     

    

 
 
   
 ´
|"

  
0
1

EEE, 993

2         


  
 
  
  
   


   þ     
 

      
 
  

          

  

´
|"

  
0
1

Arndt Von Staa, 987

þ 
  
     
  
 
     
  
  
  


 
!            

  
 
!    
 
 
 ´
|"

  


V


°%

°  
  
M    2 
  3

 

   

  
  



 


  
  

& M
4
 5667
abrange um conjunto de três elementos fundamentais:
étodos, Ferramentas e Procedimentos

Possibilitar ao gerente o controle do processo de desenvolvimento


ferecer ao profissional uma base para a construção de software de
alta qualidade
|"

  



  S:S    
  
 
como fazer 

    


|   
     

 (((
|"

  


ferramentas:    
 


ferramentas

    (
 $

 

 

 
 


      


 

  "

 

 
   
     



 ° | °
  
|   
|"

  


procedimentos:     
procedimentos
"
        


  )%
       

 
       $"  
 " 
    
 

" 



   




!
 
   %
  



 "   
(
|"

  


        
métodos
ferramentas
procedimentos

|
 

   
       CCL E
VA E S FWARE
ou Processo de Software
`    

`   
 

 
 
`



 
 ! 
  


`
 
2 
   

    

 
`    
  8 o 

` !""!
"# 

 

 $


 
 ` #

` #%2&'2!
`    


` !""!" #)2 !

`


   
 $
 

    

  

 
 " #)2 !

(  ` #

" #)2 !%2&'2!


1 0 M 

m modelo é uma simplificação da realidade.


`
   
      
  "

 

   

 9
 

Construímos modelos para compreender melhor o sistema que estamos
desenvolvendo.

 



 
  
   



  
   

" 


    

  

 !  


1 0 M 

s melhores modelos estão relacionados à realidade modelos


simplificam a realidade)
Nenhum modelo único é suficiente. Conjunto de modelos
independentes
a    D  
5( M   )
   
 
:( M   `  

;( M  å&1 å
 &
  1  
<( M   |   
M  ,
  |

=( M      °  
>( M   M 
"  °  
?( M   M    3 

@( 2 
  <
"

6( ``
|  D

 v
       
 
 -
 &
       '


 M     


 
 
 °         
  " 
 °

#
     0 8
 °


&   3

 `   
 v

 (
`

 
  °  8

  
0


 
    




     


 
 

         


  " 
°  8
° °



  

"  


 
 

"

  


 
      
"


   


  

 
" 
  )


     





 
 

  

 ( & 

"
 
  
(
°



  ) 
a  
 
  
1   
&$ 

 (

2  
3  (
& 
  °  8
°

ENGEN6ARA E SSEAS
  )  ;  
 
 
   

a  

 
  
;   
 
    
1    #   
  



&$ 
   
 
 # 
 (
;  


2  
 
   

3  ( 
    
  



  
  
 
| 

Análise de Sistemas engloba as tarefas da engenharia de


sistemas:
dentificar as necessidades dos usuários
executar a análise econômica e técnica
estabelecer as restrições de prazo e custo
um modelo arquitetônico do sistema é produzido e representações de
cada subsistema importante são desenvolvidas

PR  : Especificação do Sistema - documento que forma as


bases e definição do sistema para todo o trabalho de
engenharia subseqüente
| 

Exige uma intensa comunicação entre o cliente e o analista

cliente deve ser capaz de entender as metas do sistema e ser capaz


de especificar para o analista

analista deve saber quais perguntas fazer, quais conselhos dar


& 
  °  8
°

ANÁLSE E REQS S E
S FWARE
  )
a    
   ; '  
   
   |"

  

1   &$ 
;     
    
 ( 
   


   

2  
;      # 

3  (  
 
    

 $" 
; 

  
 
 
M   : Análise Estruturada,  
"  

Análise rientada a bjetos, ;     


 


étodos Formais  
    
  
`åþ1V2þ: Especificação de      
Requisitos
& 
  °  8
°

PR E
; 
         
 


    
!    





 '


 

 
  
  ) 
a   ;   
 <
     "

0
 
  
1    |  

&$ 
  

 (  
 
2   ° 
  

3  (
& 
  °  8
°

C FCAÇÃ
; 
  
 
! 
  


"
"


  
 
  )   ! $   
a     
 
 
  
1   
&$ 
 (
2  
3  (
& 
  °  8
°

ESES
° 
0
;   aspectos lógicos internos 
 
 "

   

  ) 
  ! 
 



a  
 
  
;   aspectos funcionais
1   
&$  externosº

    
"

 




 (   
 
  
      
 (
2  
3  (
& 
  °  8
°

ANENÇÃ
;  
      

  
   " 


  ) 
a  
 
   ; 

 
  

0  
1   


   
 


&$ 
  
  

  

 $  $"%

 (
 


  
2     
   

3  (
M
ipos de anutenção
ƒM
  ° 
: diagnóstico e correção de erros
ƒM
  &


: adaptação do software para
acomodar mudanças em seu ambiente externo 6ardware /
Software)
ƒM
  `
: exigência do cliente para
acréscimos funcionais e de desempenho
ƒM
  ` 
: melhorar a confiabiliade e
manutenibilidade futura técnicas de engenharia reversa e
reengenharia)
` 
   °  8
°
 projetos reais raramente seguem o fluxo seqüencial que o
modelo propõe

 logo no início é difícil estabelecer explicitamente todos os


requisitos. No começo dos projetos sempre existe uma
incerteza natural

 o cliente deve ter paciência. ma versão executável do


software só fica disponível numa etapa avançada do
desenvolvimento
 terações e dificuldades para o planejamento e a supervisão
 Congelamento de fases iniciais e comprometimento do
atendimento aos requisitos reais do cliente
°   

‰    
 


 ‰  
  
      
 
  
 

`  


processo que possibilita que o desenvolvedor crie um modelo do


software que deve ser construído.
idealmente, o modelo protótipo
protótipo) serve como um mecanismo para
identificar os requisitos de software.
    
 
 



    

    
" 
  ! $"


    



 
 

   
    
  
     
 
  
     


  
  "  
        

   #  

`  


 
Ô
$


   "
  #

  


  !

 
 !
& 
 
`  


  btenção dos Requisitos:     


     "
 
Ô  
 

   
$
     
 
 
 
  !
 

   "
  #

  Projeto Rápido: 


  

  !
    
   # 
 
  
 
"  


 !  
   
#

& 
 
`  


 
Construção Protótipo: 

Ô
$    


   "
  #
Avaliação do Protótipo:  

 
   




  !  
 
 !
& 
 
`  


  Refinamento dos Requisitos:  


    
 
Ô
$      



   (

   "
  # þ      


iteração      
5
(

 

 
 

 
   
 

 
  !
     

 

  (
 !
& 
 
`  


 
Ô Construção Produto: 
  
$
        

   " 

 
    
  #
     #
 
 
   

(
  
  !
 
 !
` 
  
`  


  
   
   % 
    
    



" 
 

 

 " 
 .
Não aceita bem a idéia que a versão final do software vai ser
construída e "força" a utilização do protótipo como produto final.
` 
  
`  


1     ) 


 


  
 
    #   
     

    (
1      


  
  
    

  
 

 

   
(
`  
   

2    



 
   
  —

2  


  —

  
    


  
 
! 


         


   —
M   |   

 
 
1   
 ! (((

odelo Espiral
acopla a natureza iterativa do modelo de prototipação com os aspectos
controlados e sistemáticos do modelo seqüencial

odelo ncremental
combina elementos do modelo seqüencial com a filosofia iterativa do modelo
de prototipação, liberação por incrementos
°  8
 |


 " 

   

#
    
Clássico 
Prototipação
 
    0
Análise de Risco

Prototipação

 " 

 
"  
     Ciclo de Vida
Clássico   
    
  
iterativa  

 

   

 

Prototipação
Prototipação 
  


       
  
      
|


"
# 


  m

direção de um
  sistema
    concluído
& 
  °  8
 |


Planejamento: 
    



  !

Análise de Risco:
 



  planejamento

 A        análise dos
riscos
Construção:        
#  " 

Avaliação do Cliente:


     
avaliaçã


 
 
 
 o do engenharia
cliente
|
   

Ä 
   
!  
 

 
 "
 
    
  




     "

 !   
   
 # #Ä


$   
$ 
% 

  
$ 
%  

 
|
   

   Ä
   
 
   Ä
      
       "
M  ,


°

 )%

    

  
   

|$ 0 ` 
   2$
`  0 *    
| 

 0 "
     
 

2 
  <
o


° 
 



   
  



 
  #   
$ ' "
"

 
(

|" 
     

   
 
 
 0
o sistema seja especificado em uma linguagem de alto nível 
o código fonte seja gerado automaticamente

 


!
2 
  <
o


 (  
1  
   
4&$ 5
6
 (
  789
2 
3

 
 
     
  <o

þ
       
   
  

<
"
  
 

0
—    

 
  



— 
 

—  


—  
  
 
— 


—  
 !
—   " 
& 
 
 2 
  <
o

 (  
1  
   
. obtenção dos Requisitos:  4&$ 5
6
 (
      
   789
 
   

   2  

 


 
         
 
          (+  
    789  
  789             
    :
   
:
& 
 
 2 
  <
o

 (  
1  
   
2. estratégia de "Projeto": 

4&$ 5
 


!  #  6
 (
  789
   
  btenção dos 2  
Requisitos 


 
mplementação 
 

š
   $%

 $      


 
  $ ;      

          
   
<
  =
& 
 
 2 
  <
o

 (  
1  
   
4&$ 5
3. implementação usando 4GL:  6
 (
  789
 
  
   2  

      


"

 
 " (
1  $ 
  


     
! 

  

#  
<o
& 
 
 2 
  <
o

 (  
1  
   
4&$ 5
4. teste:       6
 (

        789

  
 2  
"

( þ  

     
  #  




   



 
(
2 
  <
o
   

`åþ`þã|ã2|0   

  
     
 
 
   

þ`þã|ã2|0
 <o

   
   

þ`þã|ã2|
 
 "
"   "


   
  " 


  

      
 
 $% 

 

M 



 

     



$
 
  %&
(  ' 

%
 

  /.   .   . >...
° 
   M    
 àà  à °  8


 


àà  
     
  

  à 

  


    
à   

   

  

à  


 

à  



sis  
  


|"

  
 

 " 

þ processo de desenvolvimento de software    ; 



" 
      "


 
   0

. EFNÇÃ ,
2. ESENV LVEN 
3. ANENÇÃ .
|"

  
 

 " 

° 
 þ 

 
# ue$
     *  
à
 à #ïm$ #mudanças$
þ  
    
à à þ  þ à  
à
    
à  à  
à    à


à
 à
à 

  

     
 à
 

à    
à
à
 
|"

  
 

 " 

1|3,ã,BCþ :   &     (


' :  
  

  
2
 ' :



    
 
   *


 
   
 
.
' 0
    
`
 
 `   ' 0
 
 
     


  
   
 
       
  


   "

  

 
(
|"

  
 

 " 

2
  (  :    

 

   

  
 
 



 # 
 
  
    
 

  

 (
|"

  
 

 " 

þ como´  



 
] ' þš þ:
   (

' : 
        
  
`   ' :
    
! 
" 
 "
 


 
 


  "
"   

  
 
 

  
  
 
  
" #  
 

#
 

(
|"

  
 

 " 

°  :
 
!         

°  :
 
"
"

 
"
"    
"
" 
 "

    
 
"
"   

     !   
  $ 

 
  
 .

' ::  "   


 

("   ' 
 
 
$      
     
 


  
        "
 
 (
|"

  
 

 " 

ANENÇÃ :  
 
 mudanças´
mudanças´ 
      
   
 



 


 ° 
 2 

   
 )


|"

  
 

 " 

°  *   
  
 
  "



°  *


   
       

    
( & 
  
 !

 !  

 
 

 "  (

2  :   

   
 "
  
2  :
$
°`V 

 
     



  
      
  
( &

    !
  !  
 
 


  

 

  
(
|"

  
 

 " 

)

:

  
 
 
  
 )

:
A      !
 
 
 # (

& 




    
 


   

$"%
   
 "
(
|"

  
 

 " 

Atividades de Apoio:
Apoio:
 
  

  

 
 
 

   
  
 
  &  (
(+:: 

 

"

 


 


'
(+

 



  #
(
]  
 ::   
   



"

 
]  

 
!  
    
 
  # 


   (
 
:  #   

  


°
    
:
 
 


 
 


(
°  

|ão|ã&å,& 1| þ32D&å|
       
    
 
 
          

4 (,

    
  ,

   + 5?&    /@

Vous aimerez peut-être aussi