+ All Categories
Home > Documents > Ingeniería del Software II Parte II Ingeniería del Software de los...

Ingeniería del Software II Parte II Ingeniería del Software de los...

Date post: 13-Sep-2020
Category:
Upload: others
View: 21 times
Download: 0 times
Share this document with a friend
55
Ing del Software II. Parte II 1 Ingeniería del Software II Parte II Ingeniería del Software de los Sistemas Basados en Componentes Y de Distribución de Información Tema1 Introducción al Desarrollo de Software Basado en Componentes
Transcript
Page 1: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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

Page 2: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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

Page 3: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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.

Page 4: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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

.

Page 5: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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.

Page 6: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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%

Page 7: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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.

Page 8: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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

.

Page 9: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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

.

Page 10: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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

.

Page 11: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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.

Page 12: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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

disp

onib

le.

Page 13: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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.

Page 14: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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

.

Page 15: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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.

Page 16: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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.

Page 17: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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

Page 18: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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

:

Page 19: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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:

Page 20: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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

.

Page 21: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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..

Page 22: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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.

Page 23: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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

Page 24: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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.

Page 25: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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.

Page 26: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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

.

Page 27: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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)

.

Page 28: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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.

Page 29: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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

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

.

Page 30: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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.

Page 31: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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.

Page 32: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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()

Page 33: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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)

//]

Page 34: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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.

Page 35: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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)

Page 36: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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.

Page 37: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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).

Page 38: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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 .

Page 39: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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.

Page 40: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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)

Page 41: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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

Page 42: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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);

}

Page 43: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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

}

Page 44: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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.

Page 45: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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

]

....}

Page 46: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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

.

Page 47: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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

Page 48: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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

Page 49: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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.

Page 50: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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.

Page 51: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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).

Page 52: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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

.

Page 53: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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.

Page 54: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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

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.

Page 55: Ingeniería del Software II Parte II Ingeniería del Software de los …informatica.uv.es/iiguia/IS2/TEORIA/Tema1_p2_01_02.pdf · 2002. 2. 27. · Ing del Software II. Parte II Conceptos

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)


Recommended