!"#$%&'() o
!"#$%$& ()%("$*)+ ,- .&)/&-0-12) )&$"%*-,)&$"%*-,- - )34"*)+ 5)0.&""%,"& ) .-&-,$/0- ," 66
o
*))&+, .( /&0.1 2$)%. 2$)%. 30&2.2$, '(45 '(45 )$67 4.8.9 2$:
o
!"#$%$&'"(% *%+,%(-(./+ 012%323%(4( $ !"#$%$&'"(% *55
6+&'$"23(% 67(11$1 $ 589$2+1
6+&'$"23(% :2%"832+1 $ ;<2+4+1
0&2$&4$% ( %$(7"4(4$ 1+8 + =+&2+ 4$ >"12( 4( *55
!"#$%&'() o
!"#$%$& ()%("$*)+ ,- .&)/&-0-12) )&$"%*-,)&$"%*-,- - )34"*)+ 5)0.&""%,"& ) .-&-,$/0- ," 66
o
*))&+, .( /&0.1 2$)%. 2$)%. 30&2.2$, '(45 '(45 )$67 4.8.9 2$:
o
!"#$%$&'"(% *%+,%(-(./+ 012%323%(4( $ !"#$%$&'"(% *55
6+&'$"23(% 67(11$1 $ 589$2+1
6+&'$"23(% :2%"832+1 $ ;<2+4+1
0&2$&4$% ( %$(7"4(4$ 1+8 + =+&2+ 4$ >"12( 4( *55
;0%6(23<=( !
Construir um software implicará em definir um modelo de resolução e isso envolve envolve um estudo do problema " " "
Contexto Aplicações Outros aspectos importantes
;0%6(23<=( >4(0%?@ Como construir um modelo de resolução? ! Outra forma de perguntar: como modelar o problema? !
" "
Existem para isso vários paradigmas O que é um paradigma? !
Segundo o dicionário Houaiss, paradigma significa modelo, padrão, exemplo.
;0%6(23<=( >4(0%?@ !
Quais os paradigmas de construção de um software? "
Meio Procedural !
"
Meio funcional !
"
Computador é uma máquina que apenas obedece ordens Computador avalia funções e o programa define e compõe funções
Meio orientado a objetos Imita o mundo real ! O computador simula as interações entre os objetos !
A6(B6.+.<=( A6(4$236.1 C A6(B6.+.<=( !! PROCEDIMENTO
MÉTODO MÉTODO
PROCEDIMENTO PROCEDIMENTO PROCEDIMENTO
!:!5? @A5B:C?
!:!5?D 5BE0F5
MÉTODO MÉTODO
!:!5?D 5BE0F5
MÉTODO MÉTODO
!:!5?D 5BE0F5
! A.6.2&B+. 2. !6&$0%.<=( . !"#$%() 5)%("$*)+ ,- .&)/&-0-12) )&$"%*-,- - )34"*)+ 78669 +:&/$&-0 %) #$%-; ,- ,<(-,- ," =>?@ o A$%/:-/"0 B$0:;-C?D o
# E%*&),:F$: )+ ()%("$*)+ ," )34"*)+ " *&)(- ," 0"%+-/"%+ .-&-
()%+*&:12) ," .&)/&-0-+ o
B0-;;*-;G # A-3)&-*H&$)+ ," ."+I:$+- ,- J"&)KL MNO # O.&$0)&): )+ ()%("$*)+ ," 866 ,:&-%*" - ,<(-,- ," =>P@
o
Q-R- " 5SS # !<(-,- ," D@ # 8).:;-&$F-&-0 - 866
! A.6.2&B+. 2. !6&$0%.<=( . !"#$%() >4(0%?@ o
O;-% T-UL ,- J"&)K # 8&"(:&+)& ,- A$%/:-/"0 ," 866 # N0 ,)+ (&$-,)&"+ ,- B0-;;V-;G # O;-% ,"+"%R);R": - $,"$- ," I:"
.),"&W-0)+ ()%+*&:$& :0 .&)/&-0:+-%,) ()%("$*)+ " -3+*&-1X"+ ,) 0:%,) &"-;L ()0) )34"*)+L *&)(- ," 0"%+-/"%+Y # O%-;)/$- Z$);H/$(-
D(+( )$6&. 3+ )&)%$+. )$ /304&(0.))$ 4(+( 3+ )$6 '&'(E
D.2. ("#$%( 8$6%$04$67 . 3+. 2$%$6+&0.2. 41.))$? H+. 41.))$ 8(2$ .B638.6 ("#$%() )&+&1.6$)?
D(+( )$6&. 3+ )&)%$+. )$ /304&(0.))$ 4(+( 3+ )$6 '&'(E
*) 4F131.) $0'&.+ +$0).B$0) 8.6. .) (3%6.) 4F131.) . /&+ 2$ .14.0<.6 .1B3+ ("#$%&'(???
!) ("#$%() 6$.1&9.6=( %.6$/.) .%6.'F) 2. 6$G3&)&<=( 2$ )$6'&<() . (3%6() ("#$%()???
*) 4(&).) +.&) &+8(6%.0%$) 8.6. 3+ )&)%$+. .))&+ )$6&.+ () ("#$%()?
D(04$&%() 2. A6(B6.+.<=( !6&$0%.2. . !"#$%() o
O 66 "+*[ +",$0"%*-,- +)3&" I:-*&) .$;-&"+ ,"&$R-,)+ ,) .&$%(W.$) ,- -3+*&-12)
o t n e m a l u s p a c n E
a ç n a r e H
o ã ç i s o p m o C
o m s i f r o m i l o P
! A.6.2&B+. 2. !6&$0%.<=( . !"#$%() !
O mundo real é constituído por entidades "
"
!
Uma entidade é “alguma coisa” que tenha sua própria existência, características e que apresenta alguma função do mundo real Entidade = Objeto
Mas o que seria esse Objeto?
!"#$%() I JK$64L4&( o
!")$6'$ () ("#$%() . )3. '(1%., $)4(1M. 3+ 2$1$) $ 2$)46$'. 2$ N . O 4.6.4%$6L)%&4.) $ 4(+8(6%.+$0%()?
! G3$ )=( !"#$%()E
!"#$%() o
6+ )34"*)+ .)++:"0\ # (-&-(*"&W+*$(-+ .";-+ I:-$+ )+ $,"%*$#$(-0)+ # #$%-;$,-,"+ .-&- -+ I:-$+ )+ :*$;$F-0)+
o
M++-+ (-&-(*"&W+*$(-+ +2) *$.$(-0"%*" (]-0-,-+ ," -*&$3:*)+ # 5-,- )34"*) 8"++)- .)++:$\ ! ^)0" ! !-*- ," %-+($0"%*) ! B"K) # 634"*)+ ,) *$.) 5-&&) .)++:"0\ ! V$.) ! 5)& ! _:-%*$,-," ," .)&*-+
!"#$%() o
634"*)+ .),"0 *-03<0 *"& ()0.)&*-0"%*)+ -++)($-,)+\ # 634"*)+ ,) *$.) 8"++)- .),"0\ ! O%,-& ! 5)&&"& ! !$&$/$& (-&&)+ # 634"*)+ ,) *$.) 5-&&) .),"0 *"& )+ +"/:$%*"+ ()0.)&*-0"%*)+\ ! A$/-& ! !"+;$/-& ! O(";"&-& ! `&"-&
! A.6.2&B+. 2. !6&$0%.<=( . !"#$%() !
!
O mundo computacional, embora não signifique algo concreto ou palpável, é constituído por características que apresentam alguma função do mundo real; E isso inspira a resolução de problemas baseada: " Na construção de um modelo que englobe objetos (entidades) definindo-se as interações entre eles; " Ex.: Problema: “Chegar a um determinado ponto da cidade”; ! Objetos envolvidos: “Eu” , “ônibus” e “campainha”;
! A.6.2&B+. 2. !6&$0%.<=( . !"#$%(): 2$/&0&<=( 86$1&+&0.6 !
Um software consiste em um entidade (objeto), expresso na forma de texto, que especifica os objetos que atuam na resolução de um determinado problema e que descreve como esses objetos devem interagir no sentido de resolvê-lo.
P(2$1.B$+ D(04$&%3.1 6."&-12) 0"%*-;
8.6. (")$6'.6 3+ ,)0W%$) " (-.*:&-& +:- "+*&:*:&-
a),";-/"0 ()%("$*:-; &"#"&"C+"L .)&*-%*)L b+ ()%R"%1X"+ ," &".&"+"%*-12)
TJATJRJWS*UV! *QRST*UV! J0%&2.2$ T$86$)$0%.2. J0%&2.2$ !")$6'.2.
^)*-12) /&[#$(-L ;$%/:-/"0 ," .&)/&-0-12)
OR$2)
*")%6.<=( !
!
!
Ex.: Problema: “determinar a média final de um aluno” !
Aspectos relevantes: notas, assiduidade, participação durante as aulas
!
Aspectos irrelevantes: Meio de transporte utilizado, procedência escolar, gostos
Abstração é um processo mental usado para modelar uma entidade, isolando as características importantes Objetivo: Reduzir a complexidade do problema
*")%6.<=( >4(0%?@ Sempre dependerá do CONTEXTO, ou seja, do PONTO DE VISTA ! Deve enfatizar as características essenciais do problema !
"
Considerar essas características sob o ponto de vista de quem necessita da solução
*")%6.<=( X&/$6$0%$) .")%6.
EL EEL a-1-
8"+) ()& ,- (-+(#)&0-*)
T$4$&%.
5-&,$%-;$,-," ,) ()%4:%*)
*")%6.<=( >D(0413)=(@ A forma de representação depende do tipo de problema e dos objetivos; Um arquiteto deve representar o modelo de resolução do problema de construção de casa, usando maquetes, plantas, etc. Nosso caso: Definir modelo para que o computador resolva problemas;
o
o
o
#
Linguagens de programação;
#
Diagramas/textos descritivos;
!8$6.
!8$6.
• Classificação/ Instanciação • Generalização/ Especialização • Agregação/ Decomposição • Associação
D1.))&/&4.<=( Z ;0)%.04&.<=( o
5-,- "%*$,-," .)++:$ ,"*"&0$%-,-+ (-&-(*"&W+*$(-+ I:" $,"%*$#$(-0 # 5-&-(*"&W+*$(-+ c d ! O*&$3:*)+e ,-,)+ # 5)0.)&*-0"%*)+ c d ! a<*),)+e )."&-1X"+
o
MKY\ 5-&&) c O:*)0HR"; # 8)++:$ *),-+ -+ (-&-(*"&W+*$(-+ ," :0 -:*)0HR"; # a)*)&L .)&*-C0-;-+L .;-(-L +$+*"0-+ ," (f03$) " #&"$)+L R);-%*"
"*(Y o
6 R"W(:;) ,) R$F$%]) *-03<0 < :0 -:*)0HR";L ,"+," I:" .)++:- -+ 0"+0-+ (-&-(*"&W+*$(-+ # B2) "%*$,-,"+ ,$+*$%*-+L .)&<0 ."&*"%("0 - 0"+0- (-*"/)&$- ,"
-:*)0HR"$+
D1.))&/&4.<=( >4(0%?@ o
o o
o o
N0- (-*"/)&$- ,"#$%" ) ()%4:%*) ," (-&-(*"&W+*$(-+ I:" ,"R"0 +"& -.&"+"%*-,)+ .)& :0 )34"*) 5-*"/)&$- c 5;-++" 5-,- (;-++" #:%($)%- %) #:%,) ()0) :0 0);," .-&- - (&$-12) ," :0 ,-,) )34"*)
634"*)+ .)++:"0 +:- .&H.&$- "K$+*g%($- " (-&-(*"&W+*$(-+ 634"*)+ ()0 -+ 0"+0-+ (-&-(*"&W+*$(-+ ."&*"%("0 - :0- 0"+0(;-++"
D1.))&/&4.<=( >4(0%?@
h"W(:;)
;0)%.04&.<=( o
O) ()%+*&:$&0)+ :0 )34"*) ()%*"%,) *),-+ -+ (-&-(*"&W+*$(-+ ," ,"*"&0$%-,- (;-++"L "+*-0)+ #-F"%,) :0- )."&-12) ," ;WRS*WD;*UV! # 6()&&" +"0.&" I:" (&$-0)+ :0- "%*$,-," ," ,"*"&0$%-,- (;-++"
h"W(:;)
D1.))&/&4.<=( $ ;0)%.04&.<=(
)*&%+',-*. )0*((%
)*,,' D[*RR;\;D*UV!
"#$%&'(
1',(23%
4%,,*,-
;WRS*WD;*UV!
D1.))&/&4.<=( Z ;0)%.04&.<=( >4(0413)=(@ o
5;-++$#$(-12) # 6."&-12) I:" *"0 .)& )34"*$R) i d ! X$/&0&6 . G3$ 41.))$ 8$6%$04$ ! *%6.'F) i ," I:gd ! X. .071&)$ 2.) 4.6.4%$6L)%&4.) 2$ 3+ ("#$%(
o
E%+*-%($-12) # 6."&-12) I:" C d ! 2$/&0$ >46&.@ 3+ ("#$%( ! 2.2. 3+. 2$%$6+&0.2. 41.))$
D1.))$)Z ("#$%()Z +(2$1() !$#"&"%*"+ (;-++"+ 7" +":+ &"+."(*$R)+ )34"*)+9 .),"0 +"& (&$-,)+ "0 866L .-&- #-($;$*-& - .&)/&-0-12) ,) +$+*"0-Y o ^- .&[*$(-L %2) "K$+*"0 ;$0$*"+ ): &"+*&$1X"+ +)3&" ) I:" R)(g .)," 0),";-& " $0.;"0"%*-&Y o MK"0.;)+ ," (;-++"+e)34"*)+ .-&- &".&"+"%*-12) ," ,$#"&"%*"+ -3+*&-1X"+ "0 +$+*"0-+\ o
# )34"*)+ #W+$()+ 7:0 ;$R&)L :0- 0"&(-,)&$-L :0- %)*- #$+(-;9 # #:%1X"+ ," ."++)-+ .-&- )+ +$+*"0-+ 7(;$"%*"L R"%,",)&9 # "R"%*)+ 7:0- ()0.&-L :0 *";"#)%"0-9 # ;:/-&"+ 7;)4- 0-*&$FL &"R"%,- %)&*"9