Está en la página 1de 21

MODULO II

Ingeniera de Software
INF - 163

2.8 DISEO AL NIVEL DE COMPONENTES

25/04/11 Resumen preparado por Miguel Cotaa


1
QU ES UN COMPONENTE?

Es un bloque de construccin
modular para el software de
computo.
Es una parte modular,
desplegable y reemplazable de
un sistema que encapsula
implementacin y expone un
conjunto de interfaces.
2
Los componentes residen en el
interior de la arquitectura del
software, deben comunicarse y
colaborar con otros componentes
y con entidades (como otros
sistemas, dispositivos, personas)
que existen fuera de los lmites
del software.
3
Componente Orientada a Objetos

Contiene un conjunto de clases


que colaboran entre s.
Cada clase de un componente
se ha elaborado
completamente para incluir
todos los atributos y las
operaciones relevantes para su
implementacin.
4
Como parte de la elaboracin
del diseo, tambin deben
definirse todas las interfaces
(mensajes).
Ej.: Considerando un software para una
imprenta. Mostrar las necesidades del
cliente en un mostrador, cotizar un
trabajo de impresin y pasarlo a una
planta de produccin automatizada.
5
Componente relacionado con el Proceso

La IS, ha destacado la necesidad


de construir sistemas que usen
los componentes de Sw
existentes.
Un catlogo de componentes
probados al nivel de diseo o de
cdigo queda a disposicin del
IS. Se eligen del catlogo.
6
Diseo de Componentes basados en clases

Cuando se elige un mtodo de


IS basado en componentes, el
diseo a nivel de estos se
concentra en la elaboracin de
las clases de anlisis y la
definicin y la afinacin de las
clases de infraestructura.
7
Principios bsicos de diseo

principio abierto-cerrado (PAC):


un mdulo debe estar abierto para
extensin, pero cerrado para
modificacin;
principio de sustitucin de
Liskov (PSL): debe tenerse la
opcin de sustituirse las subclases
con sus clases principales;
8
Principio de inversin de la
dependencia (PID): dependa de
las abstracciones; no de las
concreciones ;
Principio de segregacin de la
interfaz (PSI): es mejor tener
muchas interfaces especficas del
cliente que una interfaz de propsito
general;
9
Principio de equivalencia entre
reutilizacin y versin (PER): la
esencia de la reutilizacin es la misma
que de la versin ;
Principio del cierre comn (PCC):
Las clases que cambian juntas deben
permanecer juntas;
Principio comn de la reutilizacin:
las clases que no se reutilizan juntas
no deben agruparse juntas. 10
Lneas generales de diseo al nivel de componentes

Componentes: deben definirse


convenciones de asignacin de
nombres para componentes
especificados como parte del
modelo arquitectnico, y luego
refinarse y elaborarse como
parte del diseo al nivel de
componentes.
11
Interfaces: proporcionan
informacin importante acerca
de la comunicacin y la
colaboracin;
Dependencias y herencias:
modelar las dependencias de
izquierda a derecha y la herencia
de abajo hacia arriba.
12
Cohesin

En el contexto del diseo al nivel


de componentes para sistemas
OO, la cohesin implica que un
componente o una clase slo
encapsula atributos y
operaciones relacionadas
estrechamente entre s y con la
clase del propio componente.
13
Lethbridge, define varios tipos
de cohesin:
Funcional. Exhibido
principalmente para operaciones,
este grado de cohesin se
presenta cuando un mdulo
realiza un solo clculo y luego
devuelve un resultado;
14
De capa. Exhibido para
paquetes, componentes y clases,
este tipo de cohesin ocurre
cuando una capa superior tiene
acceso a los servicios de una
inferior, pero sta no tiene
acceso a aquella;
15
De comunicacin. Todas las
operaciones con acceso a los
mismos datos se definen dentro
de una clase.
Resulta relativamente fcil de
implementar, probar y mantener
las clases y los componentes que
muestran los 3 tipos anteriores.;
16
Sin embargo, hay casos en que
se encuentran los siguientes
niveles inferiores de cohesin:
Secuencia;
Procedimental;
Temporal;
Utilitarias.

17
Acoplamiento

Es una medida cualitativa del


grado al que las clases se
conectan entre s. A medida que
las clases (y los componentes)
se vuelven ms
interdependientes, el
acoplamiento aumenta.
18
Lethbridge, define las siguientes
categoras de acoplamiento:
De contenido. Ocurre cuando
un componente modifica
subrepticiamente datos internos
de otro. Esto viola la ocultacin
de la informacin, que es un
concepto bsico del diseo;
19
Comn. Ocurre cuando varios
componentes usan una variable
global. Puede llevar a la
propagacin incontrolable de
errores.
De control. Se presenta cuando
la operacin A() invoca a B() y
pasa una marca de control a B
20
De estampa;
De datos;
De llamada a rutina;
De uso de tipo;
De inclusin o importacin;
Externo.

21

También podría gustarte