Sei sulla pagina 1di 3

Resumen La reutilizacin de software, dentro de la

ingeniera de software se ha utilizado desde los principios de la


computacin, facilita muchas veces el poder crear nuevo software
con software ya existente, nicamente modificando el mismo, as
mismo esto ha representado retos pues el adaptar software
existente y crear otro nuevo en base al anterior es en algunos
casos algo complicado pero no imposible de hacer. Los patrones
de diseo son la forma de buscar solucin a un problema en
concreto buscando o usando un diseo para ello necesitamos
contar con un grupo dedicado a esta labor tan esencial, son
empleados para solventar errores o problemas de diseo, sabiendo
si es el patrn es efectivo y si se puede reutilizar.
Palabras claveDiseo, Eficiencia, Modelo, Reutilizacin,
Software.
I. INTRODUCCIN
STE documento proporciona informacin especfica de
dos temas de relevancia dentro de la ineniera de
soft!are" los cuales son la reutili#acin de soft!are $ cmo es
posi%le &ue esta se d' en un determinado entorno de tra%a(o"
as mismo tam%i'n se tocara el tema del patrn de dise)o"
dentro de la ineniera de soft!are" como se usa esta para
resolver pro%lemas de dise)o" eficiencia $ reutili#acin de
estos.
E
II. REUTI*I+,CIN DE* SO-T.,RE
Es el proceso de creacin de sistemas de soft!are a partir de
un soft!are e/istente" en luar de tener &ue redise)ar desde el
principio.
En los a)os 01" se constru$eron %i%liotecas de su%rutinas
cientficas reutili#a%les con un dominio de aplicacin
limitado" en la actualidad se crean componentes comunes a
varios procesos con el fin de poder utili#arlos en la
construccin de soft!are.
2odemos definirla como el empleo de elementos de soft!are
u otros de nivel superior" creados en desarrollo anteriores"
para de este modo reducir los tiempos $ simplificar el
desarrollo del soft!are" me(orando la calidad $ reduciendo su
costo.
3 Elementos que intervienen en la reutilizacin4
Especificaciones de re&uerimientos previamente conce%idas
Dise)os previamente definidos 5Estructuras de datos"
aloritmos" etc.6
7
Cdio pro%ado $ depurado con anterioridad
2lanes $ casos de prue%a previamente utili#ados
2ersonal cualificado 5aprovec8amiento de la e/periencia de
los inenieros de un pro$ecto a otro6
2a&uetes de soft!are de propsito eneral
Conceptos de reutili#acin de soft!are4 *a reutili#acin de
soft!are aparece como una alternativa para desarrollar
aplicaciones $ sistemas S. de un manera m9s eficiente"
productiva $ r9pida.
*a idea es reutili#ar elementos $ componentes S. en luar de
tener &ue desarrollarlos desde un principio.
Sure formalmente de :;0<
*a idea principal era producir componentes de soft!are como
si de componentes el'ctricos se tratara.
El o%(etivo es reutili#ar lo e/istente sin tener &ue volver a
redise)arlo desde el principio.
Dificultades de la reutilizacin4
En muc8as empresas no e/iste plan de reutili#acin 5No se
considera prioritario6
Escasa formacin
Resistencia del personal
2o%re soporte metodolico" Uso de m'todos &ue no
promueven la reutili#acin 5Estructurados6" Necesario
m'todos para4 Desarrollo para reutilizacin, Desarrollo con
reutilizacin
=>ui'n soporta los astos adicionales de la reutili#acin?
Ventajas4
Reducir el tiempo de desarrollo. Reducir los
costos. Incrementar la productividad. No tener &ue reinventar
las soluciones. -acilitar la comparticin de productos del ciclo
de vida.
@a$or fia%ilidad. @a$or eficiencia 5,un&ue al principio
pueda parecer &ue no6 Consistencia $ la familiaridad" los
patrones dentro del soft!are ser9n m9s consistentes"
tendiendo a facilitar el mantenimiento del producto.
Desventajas4
Necesidad de invertir antes de o%tener resultados. Carencia de
m'todos adecuados. Necesidad de formar al
personal. Convencer a los AmanaerB. Dificultad para
institucionali#ar los procesos.
Cateoras de recurso de soft!are4
1. Component es ya desarrollados
El soft!are e/istente se puede ad&uirir de una tercera parte o
provenir de uno desarrollado internamente para un pro$ecto
anterior. *lamados componentes CCCD 5componentes
comercialmente $a desarrollados6" estos componentes est9n
D. Eel9s&ue#" Seor EEE.
Reutili#acin de Soft!are $ 2atrones de Dise)o
del Soft!are 5:: Dunio F1:G6
:
listos para utili#arse en el pro$ecto actual $ se 8an validado
totalmente.
!. Component es ya e"perimentados
Especificaciones" dise)os" cdio o datos de prue%a e/istentes
desarrollados para pro$ectos anteriores &ue son similares al
soft!are &ue se va a construir para el pro$ecto actual. *os
miem%ros del e&uipo de soft!are actual $a 8an tenido la
e/periencia completa en el 9rea de la aplicacin representada
para estos componentes. *as modificaciones" por tanto"
re&ueridas para componentes de total e/periencia" tendr9n un
rieso relativamente %a(o.
#. Component es con e"periencia parcial
Especificaciones" dise)os" cdio o datos de prue%a
e/istentes desarrollados para pro$ectos anteriores &ue se
relacionan con el soft!are &ue se va a construir para el
pro$ecto actual" pero &ue re&uerir9n una modificacin
sustancial. *os miem%ros del e&uipo de soft!are actual 8an
limitado su e/periencia slo al 9rea de aplicacin
representada por estos componentes. *as modificaciones" por
tanto" re&ueridas para componentes de e/periencia parcial
tendr9n %astante rado de rieso.
$. Component es nuevos
*os componentes de soft!are &ue el e&uipo de soft!are de%e
construir especficamente para las necesidades del pro$ecto
actual.
%nidades de soft&are que se reutilizan'
Reutili#acin de sistemas de aplicacin
Se incorpora sin ninHn cam%io en otros sistemas
Confiuracin de la aplicacin para diferentes clientes
Reutili#acin de componentes
Eara en tama)o desde su%sistemas 8asta o%(etos simple
Reutili#acin de o%(etos $ funciones
Reutili#acin de componentes soft!are &ue implemente una
Hnica funcin
(ipos de reutilizacin'
Oportunista4 El ineniero de soft!are reutili#a pie#as &ue 'l
sa%e &ue se a(ustan al pro%lema.
Sistem9tica4 Esfuer#o a nivel orani#acional $ planificado de
antemano. Todo componente reutili#ado 8a de ser ideado" a
priori" para ser reutili#ado. Implica inversiones inciales para
recoer frutos en el futuro. Dise)ar componentes en'ricos
para &ue sean reutili#ados con facilidad.
)ottom*%p4 Se desarrollan pe&ue)os componentes para una
determinada aplicacin. Se incorpora a un repositorio.
(op*Do&n4 Se determinan las pie#as necesarias &ue enca(an
unas con otras. Se van desarrollando poco a poco. Re&uiere
alta inversin a comien#o. Se recoer9n %eneficios en el
futuro.
+n,lisis de escenarios para la reutilizacin
E/isten al menos G escenarios en los &ue un pro$ecto de
soft!are re&uerir9 elementos de reutili#acin.

:. El pro$ecto es similar a un anterior 5reutili#acin de un
pro$ecto e/istente6.
F. @ismo pro$ecto con confiuracin diferente 5reutili#an
productos actuales6.
I. Caractersticas de uso %asado en productos e/istentes.
G. Nueva ,r&uitectura con capacidades o elementos e/istentes.
-atrones de diseo'
Descripcin del pro%lema $ la esencia de una solucin" de
forma &ue la solucin se pueda reutili#ar en diferentes
situaciones.
No es una especificacin detallada.
Es una descripcin de conocimiento $ e/periencia acumulada.
Elementos esencial es de un patrn de diseo
Nom%re &ue es una referencia sinificativa del
patrn
Una descripcin del 9rea del pro%lema &ue e/plica
cu9ndo puede aplicarse el patrn
Descripcin de las partes de la solucin del dise)o"
sus relaciones $ sus responsa%ilidades.
Una declaracin de las consecuencias de aplicar el
patrn.
.ivel es de /eutilizacin
:. Reutili#acin de Cdio4 *i%reras de funciones" editores"
inclusin de fic8eros" mecanismos de 8erencia en 2OO"
componentes" etc.
F. Reutili#acin de Dise)os4 No volver a inventar ar&uitecturas
Reutili#acin de Especificaciones.
Reutili#acin de las a%stracciones del dominio4 De%e estar
asociada a la eneracin 5semi6autom9tica de los elementos
de dise)o e implementacin.
+spectos para la reutilizacin de soft&are e"istent e
:. Si los componentes $a desarrollados cumplen los re&uisitos
del pro$ecto" ad&ui'ralos. El coste de la ad&uisicin $ de la
interacin de los componentes $a desarrollados ser9n casi
siempre menores &ue el coste para desarrollar el soft!are
e&uivalente. ,dem9s" el rieso es relativamente %a(o.
F. Si se dispone de componentes $a e/perimentados" los riesos
asociados a la modificacin $ a la interacin eneralmente
se aceptan. El plan del pro$ecto de%era refle(ar la utili#acin
de estos componentes. Si se dispone de componentes de
e/periencia parcial para el pro$ecto actual" su uso se de%e
anali#ar con detalle. Si antes de &ue se interen
adecuadamente los componentes con otros elementos del
soft!are se re&uiere una ran modificacin" proceda
cuidadosamente J el rieso es alto. El coste de modificar los
componentes de e/periencia parcial alunas veces puede ser
ma$or &ue el coste de desarrollar componentes nuevos. De
forma irnica" a menudo se descuida la utili#acin de
componentes de soft!are reutili#a%les durante la
planificacin" lleando a convertirse en la preocupacin
primordial durante la fase de desarrollo del proceso de
soft!are. Es muc8o me(or especificar al principio las
necesidades de recursos del soft!are. De esta forma se puede
diriir la evaluacin t'cnica de alternativas $ puede tener
luar la ad&uisicin oportuna.
III. 2,TRONES DE DISEKO DE* SO-T.,RE
*os patrones de dise)o son la %ase para la %Hs&ueda de
soluciones a pro%lemas comunes en el desarrollo
F
de soft!are $ otros 9m%itos referentes al dise)o de interaccin
o interfaces.
Un patrn de dise)o resulta ser una solucin a un pro%lema
de dise)o. 2ara &ue una solucin sea considerada un patrn
de%e poseer ciertas caractersticas. Una de ellas es &ue de%e
8a%er compro%ado su efectividad resolviendo pro%lemas
similares en ocasiones anteriores. Otra es &ue de%e
ser reutili#a%le" lo &ue sinifica &ue es aplica%le a diferentes
pro%lemas de dise)o en distintas circunstancias.
0os patrones de diseo pretenden'
2roporcionar cat9loos de elementos reusa%les en el
dise)o de sistemas soft!are.
Evitar la reiteracin en la %Hs&ueda de soluciones a
pro%lemas $a conocidos $ solucionados anteriormente.
-ormali#ar un voca%ulario comHn entre dise)adores.
Estandari#ar el modo en &ue se reali#a el dise)o.
-acilitar el aprendi#a(e de las nuevas eneraciones
de dise)adores condensando conocimiento $a e/istente.
,simismo" no pretenden4
Imponer ciertas alternativas de dise)o frente a otras.
Eliminar la creatividad in8erente al proceso de
dise)o.
No es o%liatorio utili#ar los patrones" solo es aconse(a%le en
el caso de tener el mismo pro%lema o similar &ue soluciona el
patrn" siempre teniendo en cuenta &ue en un caso particular
puede no ser aplica%le. ,%usar o for#ar el uso de los patrones
puede ser un error.
Cate1or2a de los patrones'
SeHn la escala o nivel de a%straccin4
2atrones de ar&uitectura4 ,&uellos &ue e/presan un
es&uema orani#ativo estructural fundamental para
sistemas de soft!are.
2atrones de dise)o4 ,&uellos &ue e/presan es&uemas
para definir estructuras de dise)o 5o sus relaciones6 con
las &ue construir sistemas de soft!are.
Dialectos4 2atrones de %a(o nivel especficos para un
lenua(e de proramacin o entorno concreto.
Estructura de los patrones'
2ara descri%ir un patrn se usan plantillas m9s o menos
estandari#adas" de forma &ue se e/presen uniformemente $
puedan constituir efectivamente un medio de comunicacin
uniforme entre dise)adores.
*a plantilla m9s comHn es la utili#ada precisamente por
el Lo- $ consta de los siuientes apartados4
.om3re del patrn4 nom%re est9ndar del patrn por
el cual ser9 reconocido en la comunidad 5normalmente se
e/presan en inl's6.
Clasificacin del patrn4 creacional" estructural o de
comportamiento.
ntencin4 =>u' pro%lema pretende resolver el
patrn?
(am3i4n conocido como4 Otros nom%res de uso
comHn para el patrn.
5otivacin4 Escenario de e(emplo para la aplicacin
del patrn.
+plica3ilidad4 Usos comunes $ criterios de
aplica%ilidad del patrn.
Estructura4 Diaramas de clases oportunos para
descri%ir las clases &ue intervienen en el patrn.
-articipantes4 Enumeracin $ descripcin de las
entidades a%stractas 5$ sus roles6 &ue participan en el
patrn.
Cola3oraciones4 E/plicacin de las interrelaciones
&ue se dan entre los participantes.
Consecuencias4 Consecuencias positivas $ neativas
en el dise)o derivadas de la aplicacin del patrn.
mplementacin4 T'cnicas o comentarios oportunos
de cara a la implementacin del patrn.
Cdi1o de ejemplo4 Cdio fuente e(emplo de
implementacin del patrn.
%sos conocidos4 E(emplos de sistemas reales &ue
usan el patrn.
-atrones relacionados4 Referencias cru#adas con
otros patrones.
IE. CONC*USIONES
En resumen de este articulo podemos o%servar &ue el
implementar estos F m'todos para la creacin de soft!are"
dependiendo 'l caso sea cual sea" puede ser %en'fico el
reutili#ar alHn soft!are e/istente" o apo$arse en alHn
patrn de dise)o para alcan#ar la correcta estructuracin de
nuestro soft!are evitando invertir muc8o tiempo en alHn
aspecto referente a los $a mencionados.
RE-ERENCI,S
6uentes de nformacin'
M:N 8ttp4OO%los.timovil.comOefrencaOarc8iveOF11PO1GO:<Ometodolo
QCIQ,DaJdeJreutili#aciQCIQRInJdeJsoft!are.asp/
MFN 8ttp4OO!!!.!e%taller.comOmaletinOarticulosOpresenteJfuturoJ
reutili#acionJsoft!are.p8p
MIN 8ttp4OO!e%delprofesor.ula.veOinenieriaO(onasO2roductosO2u%licacionesOC
onresosOC,C1IQF1DesarrolloQF1deQF1componentes.pdf
MGN 8ttp4OO!!!.iro.infor.uva.esOoldsiteOdocpu%OideasJF11:.pdf
MSN 8ttp4OOes.scri%d.comOdocO:;;SF11:OmodeloJdeJreutili#acionJdeJsoft!are
M0N 8ttp4OO!!!.slides8are.netOpto1G1GOseminarioJIJreutili#acinJdelJsoft!are
MPN 8ttp4OO!!!.adictosaltra%a(o.comOtutorialesOtutoriales.p8p?painaTreuse
M<N 8ttp4OOproramar(ava.!ordpress.comOF1::O:FO:IOreutili#acionJdeJ
soft!areJventa(asJ$Jdesventa(asO
M;N 8ttp4OO%los.timovil.comOefrencaOarc8iveOF11PO1GO:<Ometodolo
QCIQ,DaJdeJreutili#aciQCIQRInJdeJsoft!are.asp/
I

Potrebbero piacerti anche