Se podra denominar enfoque estructurado a la forma particular de
pensar el software en trminos de funciones de transformacin de datos. El universo de discurso se disocia en funciones y datos, y cualquier tarea se interpreta como una transformacin de datos. En el Enfoque Estructurado se usan los DFD (Diagrama de Fluo de Datos! como principal "erramienta para entender al sistema antes de plasmarlo a cdigo fuente. DFD es un diagrama en el que participan procesos (mtodos!, fluo de datos (argumentos! y arc"ivos (#ase de datos!. $ay de diferentes niveles dependiendo la compleidad del sistema que se anali%a, "a&lando de lenguaes tiene muc"as diferencia con la orientada a o&etos, un mnimo cam&io en el cdigo puede llegar alterar al resto del programa cosa que en la orientada a o&etos eso no sucede lo cual es una ventaa porque as no se pierde tiempo en arreglar cosas ya "ec"as. 'na desventaa es que una porcin de cdigo en lenguae estructurado es difcil que pueda servir en otros proyectos, esto si es "a&itual en lenguae orientada a o&etos, con solo importar clases ya "ec"as se escri&e menos cdigo y se a"orra tiempo. Diagrama de Flujo de Datos: 'n diagrama de fluo de datos (DFD! es un modelo lgico(gr)fico para representar el funcionamiento de un sistema en un proyecto software. Diccionario de Datos: El diccionario de datos es un listado organi%ado de todos los datos que pertenecen a un sistema. El o&etivo de un diccionario de datos es dar precisin so&re los datos que se manean en un sistema, evitando as malas interpretaciones o am&ig*edades. Diseo de Mdulo: 'n modelo de datos es un lenguae orientado a descri&ir una #ase de Datos. +picamente un ,odelo de Datos permite descri&ir- .as estructuras de datos de la &ase- El tipo de los datos que "ay en la &ase y la forma en que se relacionan. .as restricciones de integridad- 'n conunto de condiciones que de&en cumplir los datos para reflear correctamente la realidad deseada. /peraciones de manipulacin de los datos- /peraciones de agregado, &orrado, modificacin y recuperacin de los datos de la &ase. /tro enfoque es pensar que un modelo de datos permite descri&ir los elementos de la realidad que intervienen en un pro&lema dado y la forma en que se relacionan esos elementos entre s. Proceso- 0onunto de tareas lgicamente relacionadas que e1isten para o&tener un resultado definido dentro de un negocio o proyecto. Enfoque /rientado a /&etos El conte1to del Enfoque /rientado a /&etos (E//! un o&eto es una entidad que encapsula datos (atri&utos! y acciones o funciones que los manean (mtodos!. +am&in para el E// un o&eto se define como una instancia o particulari%acin de una clase. .os o&etos de inters durante el desarrollo de software no slo son tomados de la vida real (o&etos visi&les o tangi&les!, tam&in pueden ser a&stractos. En general son entidades que uegan un rol &ien definido en el dominio del pro&lema. 'n li&ro, una persona, un carro, un polgono, son apenas algunos eemplos de o&eto. 0ada o&eto puede ser considerado como un proveedor de servicios utili%ados por otros o&etos que son sus clientes. 0ada o&eto puede ser a la ve% proveedor y cliente. De all que un programa pueda ser visto como un conunto de relaciones entre proveedores clientes. .os servicios ofrecidos por los o&etos son de dos tipos- ( .os datos, que llamamos atri&utos. ( .as acciones o funciones, que llamamos mtodos. .as 0aractersticas del Enfoque /rientado a /&etos son- ( /&eto- .os datos est)n cuantificados en entidades discretas y distingui&les llamadas o&etos. ( 0lase- Significa que los o&etos con la misma estructura de datos (atri&utos! y comportamiento (operaciones! se agrupa para formar una clase. ( 2tri&uto- Descri&en la clase o el o&eto de alguna manera ( ,ensaes- ,edio por el cual interact3an los o&etos e! 4olimorfismo- Significa que una misma operacin puede comportarse de modos distintos en distintas clases. f! $erencia- 0ompartir atri&utos y operaciones entre clases tomando como &ase una relacin er)rquica. Enfoque $acia 2plicaciones 5e& El Enfoque Dirigido por ,odelos (,DD por sus siglas en ingls! ofrece un nuevo enfoque en la 6ngeniera de Software que permite un mayor grado de a&straccin tomando a los modelos como elementos de primera clase (que pueden ser procesados por un computador o "erramienta! . .o anterior permite enfocar los esfuer%os, en el desarrollo de software, en la representacin de los pro&lemas y sus soluciones a travs de la creacin y transformacin de modelos de manera independiente de la tecnologa. El enfoque dirigido por modelos (,DD! puede ser aplicado a la 6ngeniera 5e& con el fin de manear la "eterogeneidad y contin3a evolucin de las tecnologas y plataformas 5e&. 2dicionalmente, este enfoque permite capturar los diferentes puntos de vista o preocupaciones a travs de modelos separados que pueden representar el contenido, la navegacin, la presentacin, la arquitectura y dem)s aspectos involucrados en las aplicaciones 5e&. Esta separacin de preocupaciones es un factor clave para la calidad en el dise7o e implica ventaas en trminos de reutili%acin y manteni&ilidad. 'tili%ando el enfoque es posi&le representar tanto el pro&lema como la solucin de una aplicacin 5e& a travs de modelos ortogonales. .a representacin del pro&lema "ace referencia a los requerimientos funcionales que de&e cumplir la aplicacin y a la estructura de los elementos de negocio8 por otro lado, la representacin de la solucin descri&e desde diferentes puntos de vista, la manera concreta como se representa la aplicacin 5e&, teniendo en cuenta caractersticas como la navegacin, la presentacin, la arquitectura y dem)s aspectos involucrados en el dominio 5e&. El .enguae 'nificado de ,odelado (',.! Es un lenguae para especificar, construir, visuali%ar y documentar los artefactos de un sistema de software orientado a o&etos (//!. 'n artefacto es una informacin que es utili%ada o producida mediante un proceso de desarrollo de software. ',. se quiere convertir en un lenguae est)ndar con el que sea posi&le modelar todos los componentes del proceso de desarrollo de aplicaciones. Sin em&argo, "ay que tener en cuenta un aspecto importante del modelo- no pretende definir un modelo est)ndar de desarrollo, sino 3nicamente un lenguae de modelado. /tros mtodos de modelae como /,+ (/&ect ,odeling +ec"nique! o #ooc" s definen procesos concretos. En ',. los procesos de desarrollo son diferentes seg3n los distintos dominios de tra&ao8 no puede ser el mismo el proceso para crear una aplicacin en tiempo real, que el proceso de desarrollo de una aplicacin orientada a gestin, por poner un eemplo. .os principales &eneficios de ',. son- ,eores tiempos totales de desarrollo (de 9: ; o m)s!. ,odelar sistemas (y no slo de software! utili%ando conceptos orientados a o&etos. Esta&lecer conceptos y artefactos eecuta&les. Encaminar el desarrollo del escalamiento en sistemas compleos de misin crtica. 0rear un lenguae de modelado utili%ado tanto por "umanos como por m)quinas. ,eor soporte a la planeacin y al control de proyectos. 2lta reutili%acin y minimi%acin de costos. ,odelo de la 6ngeniera de Software .a 6ngeniera de software es la aplicacin de un enfoque sistem)tico, disciplinado y cuantifica&le al desarrollo, operacin y mantenimiento de software, y el estudio de estos enfoques, es decir, la aplicacin de la ingeniera al software. Es la aplicacin de la ingeniera al software, ya que integra matem)ticas, ciencias de la computacin y pr)cticas cuyos orgenes se encuentran en la ingeniera. .a ingeniera de software dispone de varios modelos, paradigmas y filosofas de desarrollo, en los cuales se apoya para la construccin del software, entre ellos se puede citar- ,odelo en cascada o 0l)sico (modelo tradicional! ,odelo de prototipos ,odelo en espiral Desarrollo por etapas Desarrollo iterativo y creciente o 6terativo e 6ncremental <2D (<apid 2pplication Development! Desarrollo concurrente 4roceso 'nificado <'4 (4roceso 'nificado de <ational! +ipos de ,odelo Modelo en Espiral: Es un modelo de proceso de software evolutivo que conuga la naturale%a iterativa de construccin de prototipos con los aspectos controlados y sistem)ticos del modelo lineal secuencial. Este modelo incluye un elemento muy 3til e importante en el desarrollo del software- an)lisis de riesgos. El modelo en espiral concreta cuatro fases- ( 4lanificacin ( 2n)lisis de <iesgos ( 6ngeniera (0onstruccin del prototipo! ( Evaluacin por el cliente Si sta 3ltima fase es afirmativa, el modelo contin3a con la estructura del 0iclo de vida 0l)sico. Si el cliente no est) satisfec"o con el resultado, se cu&re otra &anda de la espiral y se vuelve a la primera fase (de planificacin!. Modelo en Cascada: Es el enfoque metodolgico que ordena rigurosamente las etapas del ciclo de vida del software, de tal forma que el inicio de cada etapa de&e esperar a la finali%acin de la inmediatamente anterior. 4resenta una estructura secuencial (de a" el nom&re de ,odelo en cascada! formada por seis fases o etapas- ( 2n)lisis del Sistema ( 2n)lisis de <equisitos de Software ( Dise7o ( 0odificacin ( 4rue&a ( ,antenimiento Modelo Incremental- Es una evolucin del modelo de cascada8 viene a suplir el pro&lema de no poder retroceder en las fases de desarrollo del software. Es, por tanto, un modelo no secuencial. El funcionamiento es sencillo. 0omien%a con el an)lisis de los requisitos, tras el cual se prepara un primer dise7o. .a novedad de este modelo respecto del anterior, es la introduccin de iteraciones para =&ifurcar> dise7os. Es decir, este modelo ofrece la posi&ilidad de comen%ar un dise7o, arquitectura, estructura, etc. del software, que de no convencer al cliente (o al propio programador! es rec"a%ado y se comien%a con una segunda iteracin (o un segundo dise7o!, sin necesidad de reali%ar un nuevo an)lisis de requisitos. 4ueden reali%arse tantas iteraciones (tam&in llamadas incrementos! como sean necesarias. Modelo de Construccin de Prototipos- Este modelo no secuencial, &asado en la construccin de simulaciones o modelos eecuta&les de aplicaciones m)s e1tensos, persigue un o&etivo principal- la participacin directa del cliente en la construccin del software requerido. .as fases son similares a las del modelo en cascada- es necesario un an)lisis previo de los requisitos tanto del sistema como del cliente, se conci&e la arquitectura del sistema y se reali%a el dise7o del software. Sin em&argo, se incluye un elemento "asta a"ora no utili%ado, que consiste en el dise7o r)pido de un prototipo que se mostrar) al cliente para que eval3e el tra&ao reali%ado. Modelo de Desarrollo Unificado: Es una metodologa de desarrollo de software que est) &asado en componentes e interfaces &ien definidas, y unto con el .enguae 'nificado de ,odelado (',.!, constituye la metodologa est)ndar m)s utili%ada para el an)lisis, implementacin y documentacin de sistemas orientados a o&etos. Es un proceso que puede especiali%arse para una gran variedad de sistemas de software, en diferentes )reas de aplicacin, diferentes tipos de organi%aciones, diferentes niveles de aptitud y diferentes tama7os de proyecto. <'4 no es un sistema con pasos firmemente esta&lecidos, sino un conunto de metodologas adapta&les al conte1to y necesidades de cada organi%acin. Caractersticas ( 'nifica los meores elementos de metodologas anteriores. (4reparado para desarrollar grandes y compleos proyectos. ( /rientado a /&etos. ( 'tili%a el ',. como lenguae de representacin visual. Ventajas ( 0oste del riesgo a un solo incremento. ( <educe el riesgo de no sacar el producto en el calendario previsto. ( 2celera el ritmo de desarrollo. ( Se adapta meor a las necesidades del cliente. <E4?#.602 #/.6@2<62A2 DE @EAEB'E.2 ,6A6S+E<6/ DE. 4/DE< 4/4'.2< 42<2 .2 ED'0206CA 6AS+6+'+/ 'A6@E<S6+2<6/ 4/.6+D0A60/ =S2A+62E/ ,2<6F/> 6AEEA6E<G2 DE S6S+E,2S ,odelos de 6ngeniera de Software Seccin S. 6ntegrantes- Hesus ,artine% 0.6.IJ.9J:.K9L ,aracay JM /ctu&re de J:NI