0 valutazioniIl 0% ha trovato utile questo documento (0 voti)
70 visualizzazioni3 pagine
Este documento resume los conceptos clave de la reutilización de software y los patrones de diseño de software. Explica que la reutilización de software se ha utilizado desde los inicios de la computación para facilitar la creación de nuevo software a partir de componentes existentes. También describe los diferentes niveles en los que se puede realizar la reutilización, como la reutilización de código, diseños y especificaciones. Del mismo modo, explica los patrones de diseño y cómo se usan para resolver problemas de diseño de manera que puedan ser reutilizados.
Este documento resume los conceptos clave de la reutilización de software y los patrones de diseño de software. Explica que la reutilización de software se ha utilizado desde los inicios de la computación para facilitar la creación de nuevo software a partir de componentes existentes. También describe los diferentes niveles en los que se puede realizar la reutilización, como la reutilización de código, diseños y especificaciones. Del mismo modo, explica los patrones de diseño y cómo se usan para resolver problemas de diseño de manera que puedan ser reutilizados.
Este documento resume los conceptos clave de la reutilización de software y los patrones de diseño de software. Explica que la reutilización de software se ha utilizado desde los inicios de la computación para facilitar la creación de nuevo software a partir de componentes existentes. También describe los diferentes niveles en los que se puede realizar la reutilización, como la reutilización de código, diseños y especificaciones. Del mismo modo, explica los patrones de diseño y cómo se usan para resolver problemas de diseño de manera que puedan ser reutilizados.
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