Ing de
l Soft
ware
II. P
arte
II
1
Inge
nie
ría
del S
oftw
are
IIP
arte
II
Inge
nie
ría
del S
oftw
are
de lo
s Si
stem
as B
asad
os e
n C
ompo
nen
tes
Y d
e D
istr
ibu
ción
de
Info
rmac
ión
Tem
a1In
trod
ucc
ión
al D
esar
rollo
de
Soft
war
e B
asad
o en
Com
pon
ente
s
Ing de
l Soft
ware
II. P
arte
II
2
Con
cept
os d
el S
oftw
are
Bas
ado
en C
ompo
nent
es.
Prob
lem
as
del
Dis
eño
e Im
plem
enta
ción
de
C
ompo
nent
es.
Inte
rcon
exió
n en
tre
Com
pone
ntes
.
Índi
ceÍn
dice
Ing de
l Soft
ware
II. P
arte
II
3
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
¿Qué
es
el D
esar
rollo
Bas
ado
en C
ompo
nent
es?
Mon
taje
de
nuev
os s
iste
mas
sof
twar
e (a
plic
acio
nes)
a
parti
r de
elem
ento
s co
nstru
ctiv
os (c
ompo
nent
es) y
m
arco
s de
trab
ajo
está
ndar
y re
usab
les.
En
este
sen
tido
se p
uede
bus
car
una
anal
ogía
con
el
des
arro
llo d
e el
emen
tos
o ci
rcui
tos
elec
tróni
cos
com
plej
os
a pa
rtir
de
com
pone
ntes
o
circ
uito
s in
tegr
ados
bas
e.Lo
s co
mpo
nent
es
debe
rían
de
repr
esen
tar
un
esta
do d
e m
adur
ació
n (in
dust
rializ
ació
n) d
el p
roce
so
de g
ener
ació
n de
l sof
twar
e.
Ing de
l Soft
ware
II. P
arte
II
4
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
¿Son
nec
esar
ios
los
CB
D’s
?E
l de
sarr
ollo
de
sist
emas
sof
twar
e tie
ne y
a un
a hi
stor
ia d
e ca
si 5
0 añ
os.
En
todo
est
e tie
mpo
las
nece
sida
des
de d
esar
rollo
de
nue
vas
aplic
acio
nes
han
ido
por
dela
nte
de l
a ap
aric
ión
de la
s pr
áctic
as d
e de
sarr
ollo
de
softw
are.
Com
o re
sulta
do la
indu
stria
del
sof
twar
e ha
est
ado
en p
erm
anen
te c
risis
todo
est
e tie
mpo
.
Ing de
l Soft
ware
II. P
arte
II
5
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
¿Son
nec
esar
ios
los
CB
D’s
?C
omo
cons
ecue
ncia
de
esto
los
pro
blem
as t
ípic
os q
ue n
os
enco
ntra
mos
son
:•
Los
gran
des
sist
emas
so
ftwar
e se
vu
elve
n ex
trem
adam
ente
com
plej
os.
•Lo
s si
stem
as
mon
olíti
cos
pres
enta
n pr
oble
mas
de
di
seño
, de
sarr
ollo
y
son
muy
pr
oble
mát
icos
de
m
ante
ner.
•La
ro
bust
ed
y fia
bilid
ad
es
un
prob
lem
a en
es
tos
gran
des
sist
emas
.•
Es
com
plic
ada
la re
utili
zaci
ón d
e ac
tivos
adq
uirid
os d
uran
te
un
proy
ecto
en
ot
ro
(ej.
Con
ocim
ient
os
de
dise
ño,
softw
are)
.•
Ada
ptar
el
si
stem
a so
ftwar
e a
los
requ
erim
ient
os
espe
cífic
os d
e di
stin
tos
usua
rios
es p
robl
emát
ico.
Ing de
l Soft
ware
II. P
arte
II
6
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
¿Son
nec
esar
ios
los
CB
D’s
?S
in
emba
rgo
si
reco
rdam
os
las
acci
ones
de
man
teni
mie
nto
perfe
ctiv
o (a
decu
acio
nes
a ne
cesi
dade
s es
pecí
ficas
del
usu
ario
) so
n lo
s m
ás
solic
itado
s.
Per
fect
ivo
60%
Cor
rect
ivo
17%
Pre
vent
ivo
5%
Ada
ptat
ivo
18%
Ing de
l Soft
ware
II. P
arte
II
7
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
¿Cóm
o pu
ede
el C
BD
pal
iar e
stos
pro
blem
as?
Los
com
pone
ntes
pu
ede
ofre
cer
elem
ento
s co
nstru
ctiv
os
robu
stos
y
reus
able
s en
tre
aplic
acio
nes.
Los
com
pone
ntes
pu
ede
prov
enir
de
fuen
tes
dist
inta
s (fa
bric
ació
n pr
opia
, ad
quis
ició
n,
etc.
) y
pued
en c
atal
ogar
se p
ara
su re
utili
zaci
ón.
Los
mar
cos
de t
raba
jo c
on c
ompo
nent
es p
or s
u pa
rte p
uede
n of
rece
r un
a ap
roxi
mac
ión
está
ndar
a
la a
rqui
tect
ura
de s
iste
mas
sof
twar
e co
mpl
ejos
.Lo
s si
stem
as d
e co
mpo
nent
es p
uede
n of
rece
r un
a ba
se n
atur
al p
ara
la a
ctua
lizac
ión,
man
teni
mie
nto,
pa
rticu
lariz
ació
n de
l sof
twar
e.
Ing de
l Soft
ware
II. P
arte
II
8
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Pero
cu
idad
o,
los
com
pone
ntes
no
so
n la
s re
spue
sta
a to
dos
los
prob
lem
as.
A
pesa
r de
la
te
cnol
ogía
de
co
mpo
nent
es,
los
gran
des
sist
emas
se
rán
com
plej
os,
dific
iles
de
dise
ñar,
impl
emen
tar y
man
tene
r.E
l he
cho
de
tene
r co
mpo
nent
es
no
elim
ina
la
nece
sida
d de
util
izar
bue
nas
prác
ticas
de
inge
nier
ía
del
sof
twar
e. E
n al
guno
s ca
sos
incl
uso
las
hace
m
ás n
eces
aria
s.E
s ne
cesa
rio t
ener
en
cuen
ta q
ue m
ucha
s de
las
pr
opie
dade
s (r
eutil
izac
ión,
ens
ambl
aje,
etc
) ya
las
pr
opug
nan
las
tecn
olog
ías
de d
esar
rollo
de
softw
are
orie
ntad
as a
obj
etos
.
Ing de
l Soft
ware
II. P
arte
II
9
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Def
inic
ión
de C
ompo
nent
e So
ftwar
e (S
zype
rsky
).U
n co
mpo
nent
e so
ftwar
e es
un
a un
idad
de
com
posi
ción
con
inte
rface
s es
peci
ficad
os e
n fo
rma
cont
ract
ual
y co
n de
pend
enci
as
del
cont
exto
so
lam
ente
exp
licita
s. U
n co
mpo
nent
e so
ftwar
e de
be
pode
r se
r de
sarr
olla
do
inde
pend
iem
ente
y
esta
r su
jeto
a s
u co
mpo
sici
ón p
or te
rcer
as p
arte
s.U
na d
efin
ició
n m
ás in
tuiti
va (D
’Sou
za &
Will
s):
Se
trata
de
una
unid
ad d
e so
ftwar
e qu
e pu
ede
ser
entre
gada
de
form
a in
depe
ndie
nte
y en
caps
ula
su
dise
ño e
im
plem
enta
ción
, of
reci
endo
un
inte
rfaz
al
exte
rior
a tra
vés
de l
a cu
al p
uede
ser
com
pues
to
con
otro
s el
emen
tos
para
form
ar u
n to
do m
ayor
.
Ing de
l Soft
ware
II. P
arte
II
10
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Alg
unos
as
pect
os
a te
ner
en
cuen
ta
de
las
defin
icio
nes
ante
riore
sC
ompo
sici
ón o
mon
taje
:•
Los
com
pone
ntes
son
blo
que
cons
truct
ivos
.•
Los
com
pone
ntes
son
uni
dade
s de
ser
vici
o en
paq
ueta
das.
•Lo
s co
mpo
nent
es p
uede
ser
ens
ambl
ados
ent
re s
í pa
ra
form
ar s
iste
mas
más
com
plej
os.
Inde
pend
enci
a•
Los
com
pone
ntes
de
ben
ser
entre
gabl
es
de
form
a in
depe
ndie
nte:
•D
ebe
ser a
utoc
onte
nido
s.•
Deb
en
enca
psul
ar
com
plem
ente
su
co
mpo
rtam
ient
o bá
sico
.
Ing de
l Soft
ware
II. P
arte
II
11
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Alg
unos
as
pect
os
a te
ner
en
cuen
ta
de
las
defin
icio
nes
ante
riore
sIn
terf
aces
esp
ecifi
cado
s de
form
a co
ntra
ctua
l:•
Los
inte
rface
s so
lam
ente
pue
den
ser a
cced
idos
a
travé
s de
su
inte
rfaz
•E
l in
terfa
z co
nsis
tirá
en u
n co
njun
to m
étod
os u
op
erac
ione
s id
entif
icad
os.
•La
se
mán
tica
(com
porta
mie
nto)
de
ca
da
oper
ació
n de
ber
ser
espe
cific
ad
de
form
a pr
ecis
a.•
Los
inte
rface
s pu
eden
ser
esp
ecifi
cado
s co
mo
un
“con
trato
” ent
re e
l com
pone
nte
y el
clie
nte.
Ing de
l Soft
ware
II. P
arte
II
12
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Alg
unos
as
pect
os
a te
ner
en
cuen
ta
de
las
defin
icio
nes
ante
riore
sE
ncap
sula
ción
•To
dos
los
deta
lles
de la
est
ruct
ura
inte
rna
está
n oc
ulto
s•
Los
com
pone
ntes
son
sol
amen
te a
cces
ible
s a
travé
s de
l in
terfa
ce..
•Lo
s co
mpo
nent
es s
on a
utoc
onte
nido
s.•
Vis
ibili
dad
de C
aja
Bla
nca
vsV
isib
ilida
d de
Caj
a N
egra
•C
aja
Bla
nca.
Usu
ario
tien
e ac
ceso
al c
ódig
o fu
ente
del
co
mpo
nent
e.•
Caj
a N
egra
. E
l có
digo
de
l co
mpo
nent
e no
es
tá
disp
onib
le.
Ing de
l Soft
ware
II. P
arte
II
13
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Alg
unos
as
pect
os
a te
ner
en
cuen
ta
de
las
defin
icio
nes
ante
riore
sS
olam
ente
dep
ende
ncia
s de
l con
text
o ex
plic
itas.
•To
dos
los
req
uisi
tos
acer
ca d
el e
ntor
no e
n el
cua
l el
co
mpo
nent
e de
be f
unci
onar
deb
en e
star
esp
ecifi
cado
s de
fo
rma
expl
ícita
:•
Sis
tem
a op
erat
ivo.
•R
epre
sent
ació
n de
dat
os.
•H
ardw
are.
•...
.•
En
este
se
ntid
o al
guno
s m
arco
s de
tra
bajo
co
n co
mpo
nent
es c
omo
CO
RB
A, C
OM
y J
avaB
eans
ofre
cer u
n en
torn
o co
ntex
tual
que
ocu
lta e
l res
to d
e de
pend
enci
as.
Ing de
l Soft
ware
II. P
arte
II
14
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Com
para
ción
ent
re C
ompo
nent
es y
Cla
ses
(obj
etos
)G
ranu
laria
d.•
Los
com
pone
ntes
pr
eten
den
ser
ofre
cido
s de
fo
rma
inde
pend
ient
e lu
ego
debe
n se
r de
gran
o m
ás g
rues
o.•
La j
erar
quía
de
clas
es e
mpa
quet
a g
rupo
s de
uni
dade
s fu
ncio
nale
s pe
queñ
os y
fuer
tem
ente
coh
esio
nado
s.Lo
s co
mpo
nent
es s
e en
foca
n a
la d
efin
ició
n de
inte
rface
s y
el
mon
taje
en
luga
r de
a la
her
enci
a y
la je
rarq
uía
más
pro
pia
de
las
clas
es.
Teni
endo
en
cuen
ta e
l len
guaj
e y
la lo
caliz
ació
n en
el c
aso
de
los
com
pone
ntes
est
a de
bería
ser
tran
spar
ente
.
Ing de
l Soft
ware
II. P
arte
II
15
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Com
para
ción
ent
re D
OO
y C
BD
OO
D n
o co
nduc
e ne
cesa
riam
ente
a s
iste
mas
bie
n es
truct
urad
os.
Las
jera
rquí
as d
e cl
ases
no
nece
saria
men
te o
frece
n un
a bu
ena
base
par
a la
reut
iliza
ción
del
sof
twar
e.
CB
D e
sta
basa
do e
n un
a pe
rspe
ctiv
a ar
quite
ctón
ica,
co
nceb
ir un
si
stem
as
en
térm
inos
de
su
s co
mpo
nent
es ‘f
ísic
os’ y
sus
inte
rcon
exio
nes.
Ing de
l Soft
ware
II. P
arte
II
16
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Alg
o m
ás a
cerc
a de
la c
ompo
sici
ónLo
s co
mpo
nent
e pu
ede
ser
‘enc
hufa
dos’
de
di
fere
ntes
form
as:
•Lo
s co
mpo
nent
es
pued
en
ser
inte
grad
os
en
gran
des
aplic
acio
nes
desa
rrol
land
o so
ftwar
e ex
tern
o qu
e ut
ilice
y c
oord
ine
dist
into
s se
rvic
ios.
•U
n co
mpo
nent
e ge
néric
os
pude
se
r es
peci
aliz
ado
‘enc
hufa
ndol
e’
subc
ompo
nent
es
que
ofre
cen
dist
inta
s ve
rsio
nes
de
la
func
iona
lidad
bás
ica
del c
ompo
nent
e.
Ing de
l Soft
ware
II. P
arte
II
17
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Alg
o m
ás a
cerc
a de
la c
ompo
sici
ón
Ing de
l Soft
ware
II. P
arte
II
18
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Otr
o ej
empl
o de
Com
pone
nte.
Su
pong
amos
un
edito
r de
text
o co
n la
s si
guie
ntes
nec
esid
ades
:
Ing de
l Soft
ware
II. P
arte
II
19
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Otr
o ej
empl
o de
C
ompo
nent
e.
Po
dría
mos
de
sarr
olla
r es
te
edito
r en
fu
nció
n de
va
rios
com
poen
tes:
Ing de
l Soft
ware
II. P
arte
II
20
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Otr
o ej
empl
o de
Com
pone
nte.
La
cone
xión
ent
re e
l nú
cleo
de
l ed
itor
y el
co
rrec
tor
orto
gráf
ico
se
real
iza
a tr
avés
de
la in
terf
az d
el c
orre
ctor
.
Ing de
l Soft
ware
II. P
arte
II
21
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Otr
o ej
empl
o de
Com
pone
nte.
Es
te m
odel
o of
rece
la
ve
ntaj
as
de
que
pode
mos
en
chuf
ar
dist
inta
s ap
licac
ione
s o
sust
ituir
unos
cor
rect
ores
por
otr
os..
Ing de
l Soft
ware
II. P
arte
II
22
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Los
Inte
rfac
es y
su
espe
cific
ació
nC
omo
hem
os v
isto
uno
de
los
elem
ento
s fu
ndam
enta
les
de lo
s C
BD
es
la c
orre
cta
espe
cific
ació
n de
los
inte
rface
s ya
que
son
el
úni
co p
unto
de
cone
xión
ent
re c
ompo
nent
es.
El i
nter
faz
prop
orci
ona
un c
onju
nto
de o
pera
cion
es q
ue p
uede
n se
r inv
ocad
as p
or lo
s cl
ient
es.
Alg
una
term
inol
ogía
aso
ciad
a a
este
con
cept
o es
la s
igui
ente
:•
Pro
veed
or o
Ser
vido
r: es
la
entid
ad (
com
pone
nte)
que
im
plem
enta
las
oper
acio
nes
de u
n in
terfa
z.•
Clie
nte
o us
uario
: es
la e
ntid
ad (
tal v
ez c
ompo
nent
e) q
ue
invo
ca lo
s se
rvic
ios
ofre
cido
s po
r el i
nter
faz.
Ing de
l Soft
ware
II. P
arte
II
23
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Los
Inte
rfac
es y
su
espe
cific
ació
nS
e s
uele
hab
lar d
e do
s tip
os p
rinci
pale
s de
inte
rface
s:•
Inte
rface
s D
irect
os (
proc
edur
ales
). La
impl
emen
taci
ón y
el
inte
rfaz
perte
nece
n al
mis
mo
obje
to.
•In
terfa
ces
Indi
rect
os(o
bjet
os).
Se
deci
de
que
un
únic
o ob
jeto
hag
a de
inte
rmed
iario
(m
edia
dor
de s
ervi
cios
) en
tre
vario
s in
terfa
ces
y un
clie
nte.
Los
inte
rface
s in
dire
ctos
son
cóm
odos
per
o ne
cesi
tan
un b
uen
cont
rol d
e ve
rsio
nes
Proc
esad
or T
exto
Cla
se p
roce
sado
rC
orre
ctor
Gra
mat
ical
Cla
se c
orre
ctor
gra
mat
ical
Com
pone
nte
med
iado
r se
rvic
ios t
exto
Cla
se se
rvic
ios T
exto
Ges
tor
V. D
efec
to
Tien
e un
Tien
e un
Tien
e un
Tien
e un
Impl
emen
ta
Ing de
l Soft
ware
II. P
arte
II
24
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Los
Inte
rfac
es y
su
espe
cific
ació
nTa
mbi
én
hem
os
indi
cado
an
terio
rmen
te
que
la
sem
ántic
a (e
l co
mpo
rtam
ient
o)
de
cada
in
terfa
z vi
ene
dado
por
una
especificación
.D
icha
esp
ecifi
caci
ón e
s us
ada
tant
o po
r el
clie
nte
com
o po
r el p
rove
edor
:•
Ser
vido
r: de
fine
los
requ
isito
s
para
el
co
mpo
rtam
ient
o a
ser
impl
emen
tado
po
r el
co
mpo
nent
e.•
Clie
nte:
D
efin
e el
co
mpo
rtam
ient
o qu
e pu
ede
espe
rar d
el c
ompo
nent
e in
tegr
ado.
Ing de
l Soft
ware
II. P
arte
II
25
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Asp
ecto
s de
la E
spec
ifica
ción
.Fi
rma
de u
na o
pera
ción
(sig
natu
re):
Def
ine
la s
inta
xis
de u
na
oper
ació
n:•
Nom
bre.
•P
arám
etro
s.•
Tipo
s.E
spec
ifica
ción
Fu
ncio
nal.
Def
ine
el
proc
esam
ient
o (c
ompo
rtam
ient
o co
mpu
taci
onal
) de
la o
pera
ción
repr
esen
tada
.E
spec
ifica
ción
no
Func
iona
l. D
efin
e ot
ros
requ
isito
s:•
Pre
stac
ione
s.•
Alm
acen
amie
nto
•O
tros
requ
isito
s.
Ing de
l Soft
ware
II. P
arte
II
26
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Espe
cific
ació
n po
r Con
trat
oE
l co
ncep
to
de
cont
rato
se
en
tiend
e co
mo
una
oblig
ació
n en
tre e
l ser
vido
r y e
l clie
nte.
•E
spec
ifica
las
regl
as q
ue r
estri
ngen
el u
so d
e un
se
rvic
io (u
ope
raci
ón e
n un
ser
vici
o) p
or p
arte
del
cl
ient
e. Precondiciones
•E
spec
ifica
el
res
ulta
do g
aran
tizad
o pa
ra u
na
invo
caci
ón
lega
l de
la
op
erac
ión.
Postcondiciones.
Ent
re v
ersi
ones
de
un c
ompo
nent
e es
te n
o pu
ede
cam
biar
las
cond
icio
nes
del c
ontra
to. C
omo
máx
imo
podr
ía p
edir
men
os y
dar
más
.
Ing de
l Soft
ware
II. P
arte
II
27
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Espe
cific
ació
n po
r Con
trat
oLo
s co
ntra
tos
pued
e se
r es
peci
ficad
os a
tra
vés
de
mét
odos
de
espe
cific
ació
n fo
rmal
o s
emifo
rmal
•A
serc
ione
s ló
gica
s.•
Inva
riant
esD
eriv
ados
a p
artir
de
los
conc
epto
s as
ocia
dos
a lo
s tip
os a
bstra
ctos
de
dato
s (A
DT)
.
Ing de
l Soft
ware
II. P
arte
II
28
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Prec
ondi
cion
es
y Po
stco
ndic
ione
s en
lo
s co
ntra
tos.
Si c
onsi
dera
mos
un
oper
ació
n A
Una
“fo
rmul
a co
rrec
ta”
para
A s
e ex
pres
aría
com
o un
a tri
plet
a de
“Hoa
re” (
Hoa
re tr
iple
):•
{P}A
{Q}
•Lo
que
sig
nific
a qu
e: c
ada
ejec
ució
n de
A,
dond
e al
prin
cipi
o se
cum
pla
P, te
rmin
ará
con
un e
stad
o do
nde
se c
umpl
ira Q
.•
En e
sta
term
inol
ogía
a P
y Q
se
les
llam
a as
erci
ones
.•
P so
n la
s lla
mad
as p
reco
ndic
ione
s de
A•
Q s
on la
s lla
mad
os p
ostc
ondi
cion
esde
A.
Ing de
l Soft
ware
II. P
arte
II
29
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Prec
ondi
cion
es y
Pos
tcon
dici
ones
en
los
cont
rato
s.A
lgun
os
ejem
plos
de
fo
rmul
as
en
este
fo
rmat
o pu
eden
ser
:•
{x>=
9} x
:=x+
5{x>
=13}
•¿P
or q
ué 1
3 y
no 1
4?•
Si
pusi
esem
os
{X>=
14}
diria
mos
qu
e es
un
a po
scon
dici
ón m
ás fu
erte
.•
Mie
ntra
s qu
e si
pus
iese
mos
{x>
=8}
habl
aría
mos
de
una
prec
ondi
ción
más
déb
il.E
sto
enla
za c
on lo
que
ant
es d
ecía
mos
de
dar
más
po
r m
enos
. La
s pr
econ
dici
ones
dé
bile
s y
post
cond
icio
nes
fuer
tes
favo
rece
n al
cl
ient
e y
oblig
an
a ha
cer
com
pone
ntes
m
ás
robu
stos
y
mej
ores
.
Ing de
l Soft
ware
II. P
arte
II
30
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Prec
ondi
cion
es
y Po
stco
ndic
ione
s en
lo
s co
ntra
tos.
Vem
os u
n ej
empl
oC
onsi
dere
mos
un
a cl
ase
pila
co
n la
s si
guie
ntes
ope
raci
ones
:•
int m
ax(),
cap
acid
ad m
áxim
a de
la p
ila.
•in
t num
Ele(
), nu
mer
o de
ele
mnt
os•
bool
vac
ia(),
no
hay
elem
ento
s.•
bool
llena
(), a
lcan
zada
cap
acid
ad m
áxim
a.•
item
cim
a(),
devu
elve
el e
lem
ento
sup
erio
r.•
void
api
lar(
item
i), a
pila
el e
lem
ento
i.•
void
des
apila
r(),
elim
ina
el e
lem
ento
de
la c
abez
a.
Ing de
l Soft
ware
II. P
arte
II
31
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Prec
ondi
cion
es
y Po
stco
ndic
ione
s en
lo
s co
ntra
tos.
Vem
os u
n ej
empl
oP
reco
ndic
ione
s:•
Ant
es d
e ap
ilar(
), la
pila
no
debe
est
ar ll
ena.
•A
ntes
de
desa
pila
r(),
la p
ila n
o de
be e
star
vac
ía.
•A
ntes
cim
a(),
la p
ila n
o de
be e
star
vac
ía.
Post
cond
icio
nes.
•D
espu
és d
e ap
ilar(
item
i), la
pila
no
debe
est
ar v
acia
; el
elem
ento
en
la c
ima
debe
ser
i; e
l num
ero
de e
lem
ento
s se
deb
e ha
ber i
ncre
men
tado
en
uno.
•D
espu
és d
e de
sapi
lar(
), la
pila
no
debe
est
ar l
lena
; el
nu
mer
o de
ele
men
tos
debe
hab
erse
dec
rem
enta
do e
n un
o.
Ing de
l Soft
ware
II. P
arte
II
32
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Prec
ondi
cion
es y
Pos
tcon
dici
ones
en
los
cont
rato
s. V
emos
un
eje
mpl
o. E
spec
ifica
ción
sem
iform
alinterface
Pila{
int max();
// pretrue
// postresult == maximo tamaño de pila.
int numEle();
// pre
true;
// post0<=result<=this.max() y
// result
== numero elemento en la pila.
boolenan vacia()
//pre
true
//post
result ==(this.count()==0)
boolean llena();
//pre
true
//post
result == this.max()
Ing de
l Soft
ware
II. P
arte
II
33
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Prec
ondi
cion
es y
Pos
tcon
dici
ones
en
los
cont
rato
s. V
emos
un
eje
mpl
o. E
spec
ifica
ción
sem
iform
al.... item cima();
// pre!this.vacia();
// postresult == elemento cima de la pila
void apila(item
i);
//[tam:int·
// pre
tam=this.numEle():tam<this.max();
// post!this.vacia() y
this.numEle()== (tam+1)
// y
this.cima==i;
//]
void desapila()
//[tam:int·
//pre
tam = this.numEle();!this.vacia();
//post
!this.numEle() == this.max() ythis.numEle()== (tam-1)
//]
Ing de
l Soft
ware
II. P
arte
II
34
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Los
Inva
riant
es.
Los
inva
riant
es
son
afirm
acio
nes
que
desc
riben
pr
opie
dade
s gl
obal
es q
ue d
eben
ser
cie
rtas
para
to
do o
bjet
o o
com
pone
nte.
•P
or
ejem
plo
si
tiene
s un
a cl
ase
o C
uent
a_C
orrie
nte
que
man
tiene
un
a lis
ta_d
e_de
posi
tos,
lis
ta_d
e_re
tirad
as
y un
ba
lanc
e.•
Un
inva
riant
e de
est
a cl
ase
seria
:Lista_de_depositos.total-lista_retiradas.total=balance.
Ing de
l Soft
ware
II. P
arte
II
35
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Los
Inva
riant
es.
El p
robl
ema
en lo
s si
stem
as d
e co
mpo
nent
es e
s qu
ién
debe
se
r res
pons
able
de
man
tene
r los
inva
riant
es.
Est
o pu
ede
reso
lver
se r
efor
zand
o ta
nto
las
prec
ondi
cion
es
com
o la
s po
stco
ndic
ione
s m
aner
a qu
e na
die
cont
ribuy
a a
rom
per l
a va
lidez
de
un in
varia
nte:
•{In
v y
Pre
}A{In
v y
post
}V
olvi
endo
al e
jem
plo
de la
pila
alg
unos
inva
riant
es p
odria
n se
r:•
0<=
num
Ele
•
num
Ele
<= m
áxim
o ad
miti
do e
n la
pila
•va
cio
==(n
umE
le==
0)
Ing de
l Soft
ware
II. P
arte
II
36
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Alg
unos
pro
blem
as c
on lo
s C
ontr
atos
Aun
que
los
inte
rface
s co
ntra
ctua
les
son
senc
illos
pa
ra b
iblio
teca
s pr
oced
ural
esy
bibl
iote
cas
de c
lase
s si
mpl
es a
lgun
as e
stru
ctur
as q
ue s
e ut
iliza
n en
lo
s m
arco
s de
tra
bajo
co
n co
mpo
nent
es
pued
e co
mpl
icar
el a
sunt
o:•
Func
ione
s de
Cal
lbac
k.•
Re-
entra
da y
recu
rsiv
idad
.•
Con
curr
enci
a•
Mec
anis
mos
de
regi
stro
y n
otifi
caci
ón d
e ob
jeto
s.
Ing de
l Soft
ware
II. P
arte
II
37
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Func
ione
s de
Cal
lbac
kS
e tra
ta d
e re
fere
ncia
s a
un p
roce
dim
ient
o qu
e se
pa
sa (
regi
stra
da e
n) u
n co
mpo
nent
e (s
ervi
dor)
por
pa
rte
del
clie
nte.
N
orm
alm
ente
la
as
ocia
ción
se
pr
oduc
e a
travé
s de
alg
ún e
vent
o re
cono
cido
por
pa
rte d
e la
ent
idad
sum
inis
trado
ra.
De
esta
man
era
el p
roce
dim
ient
o e
s ac
tivad
o ca
da
vez
que
el e
vent
o se
pro
duce
.E
ste
tipo
de
mec
anis
mos
so
n co
mun
es
en
los
sist
emas
de
desa
rrol
lo d
e IP
C’s
(X-w
indo
ws/
Mot
if).
Ing de
l Soft
ware
II. P
arte
II
38
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Func
ione
s de
Cal
lbac
k.D
iagr
ama
de e
jecu
ción
de
una
func
ión
de ll
amad
a .
Ing de
l Soft
ware
II. P
arte
II
39
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Func
ione
s de
Cal
lbac
k.E
n un
a fu
nció
n de
cal
lbac
k el
ser
vido
r re
alm
ente
lla
ma
al c
lient
e.•
Est
o vi
ola
la
noci
ón
de
inte
racc
ión
clie
nte-
serv
idor
que
es
vist
a si
empr
e vi
sta
com
o un
ev
ento
in
stan
táne
o (in
divi
sibl
e)
por
parte
de
l cl
ient
e.•
En
este
pro
ceso
el e
stad
o de
l ser
vido
r pue
de s
er
vist
o en
cua
lqui
er in
stan
te a
rbitr
ario
por
par
te d
el
clie
nte.
•P
or
tant
o lo
s co
ntra
tos
debe
n ga
rant
izar
la
va
lidad
de
los
esta
dos
obse
rvab
les
del
serv
idor
du
rant
e el
tiem
po q
ue e
l cal
lbac
k es
ta a
ctiv
o.
Ing de
l Soft
ware
II. P
arte
II
40
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Veam
os
un
Ejem
plo
de
este
pr
oble
ma
sobr
e un
in
terf
az
senc
illo
para
man
ejar
ope
raci
ones
sob
re c
aden
as d
e te
xto.
Las
oper
acio
nes
prin
cipa
les
del i
nter
faz
seria
n:•
int m
ax(),
long
itud
max
ima
de u
n el
emen
to d
e te
xto
•in
tlon
gitu
d(),
long
itud
del e
lem
ento
de
text
o.•
char
leer
(int
pos)
, de
vuel
ve
el
cará
cter
el
la
po
sici
ón
indi
cada
•vo
idin
serta
(intp
os, c
harc
h)•
void
borr
ar(in
t pos
)•
void
regi
stra
rObs
(obs
erva
dorT
exto
x)•
void
elim
inar
Obs
( obs
erva
dorT
exto
x)
Ing de
l Soft
ware
II. P
arte
II
41
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Veam
os u
n Ej
empl
o de
est
e pr
oble
ma
sobr
e un
in
terf
az s
enci
llo p
ara
man
ejar
ope
raci
ones
de
text
o.interface
cadenaTexto{
int max();
// pretrue
// postresult
== maximo
tamaño de elem texto
int longitud();
// pre
true;
// post0<=result<=this.max() y
// result
== longitud del elemento de texto.
char
leer(intpos)
//pre
0<=pos<this.longitud();
//post
result==carácter en la posición pos
Ing de
l Soft
ware
II. P
arte
II
42
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
tinua
el i
nter
faz
void insertar(intpos, charch);
//[lon:int;txt:vector de char·
// prelon= this.longitud();(∀i;i<=lon:txt[i]=this.leer(i))
// lon<this.max() y 0<=pos<=lon;
// postthis.longitud()==lon+1 y
// (∀i ;0<i<pos:txt[i]=this.leer(i)==txt[i])
// y this.read(pos)=ch;
// (∀i ;pos<i<this.longitud():this.leer(i)==txt[i])
//]
voidborrar(intpos);
//[lon:int;txt:vector de char·
// prelon= this.longitud();(∀i;i<=lon:txt[i]=this.leer(i))
//y 0<=pos<=lon;
// postthis.longitud()==lon-1 y
// (∀i ;0<i<pos:txt[i]=this.leer(i)==txt[i])
// y (∀i ;pos<=i<this.longitud():this.leer(i)==txt[i])
//]
void registrarOb(observadorTexto x);
void eliminarOb(Observador Texto x);
}
Ing de
l Soft
ware
II. P
arte
II
43
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
tinua
el E
jem
plo
El
inte
rfaz
ante
rior
tiene
un
par
de c
osill
as a
l fin
al q
ue n
os h
emos
de
jado
a
post
a,
esta
s si
rven
pa
ra
regi
stra
r ob
jeto
s de
tip
o ob
serv
ador
es d
e te
xto.
Est
os o
bser
vado
res
tiene
n el
priv
ilegi
o de
ser
inf
orm
ados
cad
a ve
z qu
e se
pro
duce
un
cam
bio
en e
l tex
to.
Cua
lqui
er o
bjet
o qu
e im
plem
ente
est
e in
terfa
z po
drá
regi
stra
se e
n el
ge
stor
de
cade
na d
e te
xto.
interface
observadorTexto{
void NotificacionInserccion(intpos);
// precarácter en la posición pos ha sido insertado
// postresult
== maximo
tamaño de elem texto
void
NotificacionEliminacion(int
pos)
//pre
carácter que estaba en la posición pos ha sido
//eliminado
}
Ing de
l Soft
ware
II. P
arte
II
44
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
tinua
el E
jem
plo
Un
ejem
plo
de e
ste
tipo
de o
bjet
os o
bser
vado
res
pued
e se
r un
obje
to V
ista
resp
onsa
ble
de m
ostra
r en
pant
alla
el t
exto
.interface
VistaTexto
extends
observadorTexto{
cadenaTexto texto();
// pretrue
// postresult
!= nulo
int posicionCInsercion();
//pre
true;
//post 0<=pos<=this.texto().longitud()
void establecerCInserccion(int pos);
//pre
0<=pos<=this.texto().longitud();
//post this.posicionInsercion()==pos;
int posEnCoordX(int
pos);
//pre
0<=pos<=this.texto().longitud();
//post result == coordenada x correspondiente al cara pos.
Ing de
l Soft
ware
II. P
arte
II
45
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
tinua
el E
jem
plo
Un
ejem
plo
de e
ste
tipo
de o
bjet
os o
bser
vado
res
pued
e se
r un
obje
to V
ista
resp
onsa
ble
de m
ostra
r en
pant
alla
el t
exto
.....
int posEnCoordY(intpos);
//pre0<=pos<=this.texto().longitud();
//post result == coordenada y correspondiente al cara pos.
int posDesdeCoord(intx, inty);
//pre(x,y) coordenadas validas.
//post this.posEnCoordX(result)== x
//
this.posEnCoordY(result)== y.
void tecleaC(char ch);
//[posCI:int ·
//preposCI=this.PosicionCInserccion():
//this.texto().longitud()<this.texto().max()
//equiv this.texto().inserta(posCI, ch)
//post this.posicionCInserrcion()==PosCI+1
]
....}
Ing de
l Soft
ware
II. P
arte
II
46
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
tinua
el E
jem
plo.
El c
ompo
nent
e vi
staT
exto
se
invo
ca p
ara
actu
aliz
ar
las
vist
a de
spué
s de
que
el t
exto
ha
cam
biad
o.vi
staT
exto
ne
cesi
ta
real
izar
va
rios
paso
s pa
ra
com
plet
ar la
act
ualiz
ació
n.D
uran
te
este
tie
mpo
pu
eden
pr
oduc
irse
inco
nsis
tenc
ias
entre
el e
stad
o di
buja
do y
el e
stad
o re
al d
el te
xto.
Que
ver
sión
del
est
ado
debe
ría m
ostra
r vis
taTe
xto
a qu
iene
s e
stuv
iese
n ut
iliza
ndo
sus
mét
odos
.
Ing de
l Soft
ware
II. P
arte
II
47
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
tinua
el E
jem
plo.
Sec
uenc
ia d
e ej
ecuc
ión
sobr
e un
clie
nte
clie
nte
cade
naTe
xto
vist
aTex
todi
spla
y escr
ibir
Not
ifica
cion
Inse
r
Elim
inar
mar
ca C
I
Act
ualiz
ar d
ispl
ay
Rep
osic
ion
CI
Ing de
l Soft
ware
II. P
arte
II
48
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
tinua
el
Ejem
plo.
La
secu
enci
a de
eje
cuci
ón m
ejor
ord
enad
a se
riacl
ient
eca
dena
Text
ovi
staT
exto
disp
lay escr
ibir
Not
ifica
cion
Inse
r
Elim
inar
mar
ca C
I
Act
ualiz
ar d
ispl
ay
Rep
osic
ion
CI
Ing de
l Soft
ware
II. P
arte
II
49
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Crit
erio
s A
dici
onal
es s
obre
lo q
ue e
sper
amos
de
los
sist
emas
CB
D.
Ext
ensi
bilid
ad•
Que
no
s se
a fá
cil
adap
tar
los
prod
ucto
s a
los
cam
bios
de
es
peci
ficac
ión.
•S
impl
icid
ad y
des
cent
raliz
ació
n.R
eusa
bilid
ad•
La h
abili
dad
de lo
s el
emen
tos
softw
are
para
con
stru
ir di
fere
ntes
aplic
acio
nes.
Com
patib
ilida
d•
Faci
lidad
par
a co
mbi
nar
elem
ento
s so
ftwar
e en
tre s
i.(C
OR
BA
, O
LE-C
OM
, Jav
aBea
ns).
Efic
ienc
ia•
Cap
acid
ad
de
un
sist
ema
softw
are
de
exig
ir lo
s m
enor
es
requ
erim
ient
os
de
recu
rsos
ha
rdw
are
posi
ble,
m
emor
ia,
etc.
O
freci
endo
las
may
ores
pre
stac
ione
s.
Ing de
l Soft
ware
II. P
arte
II
50
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Crit
erio
s A
dici
onal
es s
obre
lo q
ue e
sper
amos
de
los
sist
emas
C
BD
. Por
tabi
lidad
•Q
ue
se
senc
illo
trans
ferir
lo
s pr
oduc
tos
softw
are
entre
va
rios
ento
rnos
har
dwar
e y
softw
are.
Faci
lidad
de
Uso
•Q
ue l
as e
spec
ifica
cion
es y
for
mas
de
uso
sean
sim
ples
pa
ra d
istin
to ti
po d
e de
sarr
olla
dore
s de
sof
twar
e qu
e se
an
capa
ces
de in
tegr
ar e
stas
sol
ucio
nes.
Cos
tes
Red
ucid
os.
•M
inim
izar
los
traba
jos
de in
tegr
ació
n.•
Med
iant
e la
reu
tiliz
ació
n y
uso
de c
ompo
nent
es e
xter
nos
redu
cim
os lo
s co
stes
de
man
teni
mie
nto.
Ing de
l Soft
ware
II. P
arte
II
51
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Todo
lo a
nter
ior e
xige
una
cui
dada
Mod
ular
idad
en e
l dis
eño:
La
mod
ular
idad
ofre
ce
posi
bilid
ades
de
re
utiliz
ació
n cu
ando
lo
s m
ódul
oses
tán
auto
cont
enid
osy
orga
niza
dos
en
arqu
itect
uras
es
tabl
es.
Los
mét
odos
de
desa
rrollo
de
softw
are
debe
n pr
oduc
ir un
sis
tem
a he
cho
a pa
rtir
de c
ompo
nent
es a
utón
omos
con
ecta
dos
por
una
estr
uctu
ra d
e in
terf
aces
cohe
rent
es y
sim
ples
.S
e de
be te
nder
a la
pro
tecc
ión
de c
ompo
nent
es o
mód
ulos
. En
la
arqu
itect
ura
que
se p
rodu
zca
las
cond
icio
nes
de e
rror
en t
iem
po d
e ej
ecuc
ión
debe
n pe
rman
ecer
con
finad
as a
l co
mpo
nent
e en
el
que
suce
den.
Red
ucir
el n
úmer
o de
int
erfa
ces:
ca
da
com
pone
nte
o m
ódul
o de
bería
com
unic
arse
con
el m
ínim
o nu
mer
o de
inte
rface
s po
sibl
e.In
terf
aces
R
educ
idos
: S
i do
s co
mpo
nent
es
o m
ódul
os
se
com
unic
an,
debe
rían
inte
rcam
biar
la
m
enor
in
form
ació
n po
sibl
e (g
aran
tiza
la c
ontin
uida
d y
prot
ecci
ón).
Ing de
l Soft
ware
II. P
arte
II
52
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Con
cept
os d
e lo
s Si
stem
as B
asad
os e
n C
ompo
nent
es (C
BD)
Todo
lo a
nter
ior e
xige
una
cui
dada
Mod
ular
iad
en e
l dis
eño:
Inte
rfac
es E
xplíc
itos:
sie
mpr
e qu
e do
s co
mpo
nent
es A
y B
se
com
unic
an e
sto
debe
est
ar re
cogi
do e
xplíc
itam
ente
en
su in
terfa
z.O
culta
ción
de
Info
rmac
ión:
El d
iseñ
ador
deb
e se
lecc
iona
r la
mín
ima
cant
idad
de
info
rmac
ión
posi
ble
del m
ódul
o pa
ra h
acer
la d
ispo
nibl
e al
re
sto
de c
ompo
nent
es.
Ade
más
aun
que
este
mos
en
un e
ntor
no d
e ca
ja d
e cr
ista
l o
caja
bla
nca
los
clie
ntes
no
debe
n se
r es
crito
s co
nfia
ndo
en lo
que
suc
ede
en la
par
te s
ecre
ta d
el c
ompo
nent
e.Pr
inci
pio
de A
pert
ura-
Cie
rre.
Los
com
pone
ntes
deb
en s
er a
bier
tos
y ce
rrad
os:
•A
bier
to im
plic
a qu
e es
pos
ible
su
exte
nsió
n.•
Cer
rado
sig
nific
a qu
e la
con
exió
n co
n ot
ros
com
pone
ntes
que
da
redu
cida
a s
u in
terfa
z.•
Cer
rado
im
plic
a qu
e es
un
el
emen
to
bina
rio
que
ya
está
co
mpi
lado
.
Ing de
l Soft
ware
II. P
arte
II
53
Arq
uite
ctur
as C
lient
eA
rqui
tect
uras
Clie
nte --
Serv
idor
bas
e de
los
CBD
Serv
idor
bas
e de
los
CBD
••D
entr
o de
un
arqu
itect
ura
C/S
se d
istin
guen
uno
s co
mpo
nent
es
Den
tro
de u
n ar
quite
ctur
a C/
S se
dis
tingu
en u
nos
com
pone
ntes
pr
inci
pale
s, q
ue s
e pu
eden
dis
trib
uir
entr
e va
rias
máq
uina
s:pr
inci
pale
s, q
ue s
e pu
eden
dis
trib
uir
entr
e va
rias
máq
uina
s:••
Com
pone
nte
de I
nter
faz
de U
suar
io y
Pre
sent
ació
n.Co
mpo
nent
e de
Int
erfa
z de
Usu
ario
y P
rese
ntac
ión.
••Co
mpo
nent
e de
Apl
icac
ión.
Com
pone
nte
de A
plic
ació
n.••
Com
pone
nte
de G
estió
n de
la I
nfor
mac
ión.
Com
pone
nte
de G
estió
n de
la I
nfor
mac
ión.
••La
s fu
ncio
nalid
ades
pue
den
reca
er m
ás e
n el
clie
nte
(La
s fu
ncio
nalid
ades
pue
den
reca
er m
ás e
n el
clie
nte
( clie
nte
clie
nte
prin
cipa
l o g
rues
opr
inci
pal o
gru
eso )
o e
n el
ser
vido
r (
) o
en e
l ser
vido
r ( s
ervi
dor
prin
cipa
l o g
rues
ose
rvid
or p
rinci
pal o
gru
eso )
) de
pend
iend
o de
l tip
o de
apl
icac
ión.
depe
ndie
ndo
del t
ipo
de a
plic
ació
n.••
Dis
tingu
iend
o do
nde
se c
once
ntra
la
carg
a de
com
puta
ción
se
Dis
tingu
iend
o do
nde
se c
once
ntra
la
carg
a de
com
puta
ción
se
habl
a de
5 c
onfig
urac
ione
s de
l mod
elo
C/S:
habl
a de
5 c
onfig
urac
ione
s de
l mod
elo
C/S:
••Pr
esen
taci
ón D
istr
ibui
da.
Pres
enta
ción
Dis
trib
uida
.••
Pres
enta
ción
Rem
ota.
Pres
enta
ción
Rem
ota.
••Ló
gica
Dis
trib
uida
.Ló
gica
Dis
trib
uida
.••
Ges
tión
de d
atos
Rem
ota.
Ges
tión
de d
atos
Rem
ota.
••Ba
ses
de d
atos
dis
trib
uida
s.Ba
ses
de d
atos
dis
trib
uida
s.
Ing de
l Soft
ware
II. P
arte
II
54
Arq
uite
ctur
as C
lient
eA
rqui
tect
uras
Clie
nte --
Serv
idor
bas
e de
los
CBD
Serv
idor
bas
e de
los
CBD
••La
s re
glas
lóg
icas
par
a la
dis
trib
ució
n de
la
carg
a La
s re
glas
lóg
icas
par
a la
dis
trib
ució
n de
la
carg
a en
tre
clie
nte
y se
rvid
or d
icen
que
:en
tre
clie
nte
y se
rvid
or d
icen
que
:
••El
com
pone
nte
de p
rese
ntac
ión/
inte
racc
ión
debe
El
com
pone
nte
de p
rese
ntac
ión/
inte
racc
ión
debe
ub
icar
se e
n el
lado
del
clie
nte.
ubic
arse
en
el la
do d
el c
lient
e.
••Si
es
ne
cesa
rio
com
part
ir la
in
form
ació
n en
tre
Si
es
nece
sario
co
mpa
rtir
la
info
rmac
ión
entr
e va
rios
usua
rios,
és
ta
debe
rá
loca
lizar
se
en
el
vario
s us
uario
s,
ésta
de
berá
lo
caliz
arse
en
el
se
rvid
or.
serv
idor
.
••Lo
s da
tos
está
ticos
deb
en l
ocal
izar
le e
n el
lad
o Lo
s da
tos
está
ticos
deb
en l
ocal
izar
le e
n el
lad
o de
l cl
ient
e pa
ra m
inim
izar
flu
jos
inne
cesa
rios
en
del
clie
nte
para
min
imiz
ar f
lujo
s in
nece
sario
s en
la
s co
mun
icac
ione
s.la
s co
mun
icac
ione
s.
Ing de
l Soft
ware
II. P
arte
II
55
Arq
uite
ctur
as C
lient
eA
rqui
tect
uras
Clie
nte --
Serv
idor
bas
e de
los
CBD
Serv
idor
bas
e de
los
CBD
Con
side
raci
ones
de
In
gen
ierí
a de
So
ftw
are
sobr
e C
onsi
dera
cion
es
de
Inge
nie
ría
de
Soft
war
e so
bre
Arq
uit
ectu
ras
Clie
nte
/Ser
vido
r.A
rqu
itec
tura
s C
lien
te/S
ervi
dor.
••Ap
licab
les
las
mis
mas
fas
es e
n el
pro
ceso
de
gene
raci
ón d
el
Aplic
able
s la
s m
ism
as f
ases
en
el p
roce
so d
e ge
nera
ción
del
so
ftw
are:
aná
lisis
, dis
eño,
impl
emen
taci
ón y
pru
eba.
soft
war
e: a
nális
is, d
iseñ
o, im
plem
enta
ción
y p
rueb
a.
••Es
peci
al a
tenc
ión
al d
iseñ
o de
los
dato
s, q
ue a
hora
pue
den
Espe
cial
ate
nció
n al
dis
eño
de lo
s da
tos,
que
aho
ra p
uede
n es
tar
dist
ribui
do p
or e
l sis
tem
a.es
tar
dist
ribui
do p
or e
l sis
tem
a.
••Te
nden
cia
a em
plea
r m
odel
os o
rient
ados
a o
bjet
os p
ara
el
Tend
enci
a a
empl
ear
mod
elos
orie
ntad
os a
obj
etos
par
a el
di
seño
.di
seño
.
••Co
mpr
obac
ione
s de
l si
stem
a m
odul
ares
(cl
ient
e, s
ervi
dor,
Co
mpr
obac
ione
s de
l si
stem
a m
odul
ares
(cl
ient
e, s
ervi
dor,
tr
ansa
ccio
nes,
com
unic
acio
nes,
uso
de
perf
iles
func
iona
les)
tran
sacc
ione
s, c
omun
icac
ione
s, u
so d
e pe
rfile
s fu
ncio
nale
s)