Вы находитесь на странице: 1из 7

Primera Generacin Segunda Generacin DESARROLLO DEL SOFTWARE Tercera Generacin Cuarta Generacin MTODOS INFORMATICOS

OMT

RUP XP

OOHDM

PROGRAMACION

ORIENTADA A OBJETOS ESTRUCTURADA ORIENTADA A ASPECTOS

ARQUITECTURA DEL SOFTWARE

CLIENTE SERVIDOR PROGRAMACION EN 3 CAPAS MODELO VISTA CONTROLADOR

MTODOS INFORMTICOS Los modelos prescriptivos de proceso se propusieron originalmente para ordenar el caos del desarrollo del software. La historia ha indicado que estos modelos convencionales han trado consigo cierta cantidad de estructuras tiles para el trabajo en la ingeniera del software, y han proporcionado un camino a seguir razonablemente efectivo para los equipos del software. Sin embargo, el trabajo de la ingeniera del software y el producto resultante aun permanecen al borde del caos. MTODOS DE DESARROLLO DE SOFTWARE PRIMERA GENERACIN OMT (Tcnica de Modelado de Datos) Consiste en construir un modelo de un diseo de aplicacin, aadiendo detalles de la aplicacin durante el diseo del sistema esta aplicacin se denomina OMT. La cual consta de las siguientes fases:

Anlisis. Comenzando desde la descripcin del problema, el ambiente constituye un momento de abstraccin del mundo real que lo construye . Diseo de sistemas. El diseador de sistemas toma las decisiones de alto nivel acerca de la arquitectura global, el sistema se organiza en subsistemas basado en estructuras como el anlisis de la arquitectura. Diseo de objetos. El diseador de objetos construye un modelo de diseo, basado en el modelo de anlisis, el foco principal es la estructura de datos y la estructura de la clase y los algoritmos. Implementacin. Las clases de objetos y las relaciones desarrolladas durante su desempeo se traducen fundamentalmente a un lenguaje de proposicin complejo, a una BD, y a un sistema. El Modelo de Objetos, captura la estructura esttica del sistema, mostrando: objetos, relaciones entre objetos, atributos, operaciones. Es el ms importante, puesto que el sistema se construye alrededor de los objetos. Conceptos, notacin y ejemplos. Enlaces y asociaciones. Agregacin. Generalizacin y herencia. Caractersticas avanzadas: clases abstractas, herencia mltiple, meta datos, claves candidatas y restricciones. Modelo dinmico, describe los aspectos del sistema que cambian en el tiempo, las interacciones entre los objetos del sistema, se formula mediante un diagrama de estados, describe la secuencia de sucesos y estados admisibles en una clase. Modelo funcional, describe las trasformaciones de datos que tienen lugar en el sistema, se formula mediante diagramas de flujo. SEGUNDA GENERACION RUP (Proceso Unificado de Desarrollo) METODOLOGIA RATIONAL UNIFIED PROCESS Forma disciplinada de asignar tareas y responsabilidades en una empresa de desarrollo (quin hace qu, cundo y cmo). Requiere un grupo grande de programadores para trabajar con esta metodologa. es un marco del proyecto que describe una clase de los procesos que son iterativos e incrementales. Define un manojo entero de las actividades y de los artefactos que usted necesita elegir de para construir sus el propios, proceso individual. Es el proceso de desarrollo ms general de los existentes actualmente. Los procesos de RUP estiman tareas y horario del plan midiendo la velocidad de iteraciones concerniente a sus estimaciones originales. Las iteraciones tempranas de proyectos conducidos RUP se enfocan fuertemente sobre arquitectura del software; la puesta en prctica rpida de

caractersticas se retrasa hasta que se ha identificado y se ha probado una arquitectura firme. RUP se divide en cuatro fases: Inicio (Define el alcance del proyecto) Elaboracin (definicin, anlisis, diseo) Construccin (implementacin) Transicin (fin del proyecto y puesta en produccin) TERCERA GENERACIN XP EXTREME PROGRAMMING(PROGRAMACION EXTREMA) XP desarrollada por Kent Beck 1980 Nace en busca de simplificar el desarrollo del software y que se lograra reducir el costo del proyecto. Mtodo ligero: No produce demasiado overhead sobre las actividades de desarrollo, y no impide el avance de nuestros proyectos. Se requiere un grupo pequeo de programadores para trabajar con esta metodologa entre 2 15 personas y estas irn aumentando conforme sea necesario. Sus programadores pueden ser ordinarios. Combina las que han demostrado ser las mejores prcticas de desarrollo de software, y las lleva al extremo. El desarrollo de software es riesgoso y difcil de controlar. Se redisear todo el tiempo (refactoring), dejando el cdigo siempre en el estado ms simple posible. Se harn pruebas todo el tiempo, no slo de cada nueva clase (pruebas unitarias) sino que tambin los clientes comprobarn que el proyecto va satisfaciendo los requisitos (pruebas funcionales). XP define 4 variables para el proyecto de software: Coste, Tiempo, Calidad, Alcance. XP desarrolla 4 actividades que guiarn el desarrollo: planeacin, diseo, codificacin y prueba. CUARTA GENERACIN OOHDM Propuesto originalmente por Daniel Schewade y sus colegas esta compuesto de cuatro diferentes actividades de diseo: diseo conceptual, diseo de navegacin, diseo abstracto de la interfaz y aplicacin. Diseo conceptual, crea una representacin de los subsistemas, clases y relaciones que definen el dominio de aplicacin para las webapp puede usar UML.

Diseo de navegacin, identifica un conjunto de objetos que se derivan de la clases definidas en el diseo conceptual, con UML se crean casos de uso adecuados y diagramas para comprender mejor los requisitos de navegacin. Diseo abstracto de la interfaz e implementacin, especifica los objetos que el usuario ve conforme interacta con la webapp, para hacer relacin entre objetos de la interfaz y objetos de navegacin. ARQUITECTURA DEL SOFTWARE MODELO CLIENTE SERVIDOR A partir de la existencia de redes heterogneas (90tas) y acciones remotas entre pc, que con el tiempo causo problemas de comunicacin existi la necesidad de contar con una arquitectura web. Desde el punto de vista funcional, se puede definir la computacin Cliente/Servidor como una arquitectura distribuida que permite a los usuarios finales obtener acceso a la informacin en forma transparente an en entornos multiplataforma. El esquema Cliente/Servidor facilita la integracin entre sistemas diferentes y comparte informacin permitiendo, por ejemplo que las mquinas ya existentes puedan ser utilizadas pero utilizando interfaces mas amigables al usuario. De esta manera, podemos integrar PCs con sistemas medianos y grandes, sin necesidad de que todos tengan que utilizar el mismo sistema operacional. Desventajas del esquema Cliente/Servidor La seguridad de un esquema Cliente/Servidor es otra preocupacin importante. Por ejemplo, se deben hacer verificaciones en el cliente y en el servidor. El mantenimiento de los sistemas es ms difcil pues implica la interaccin de diferentes partes de hardware y de software, distribuidas por distintos proveedores, lo cual dificulta el diagnstico de fallas MODELO VISTA CONTROLADOR (MVC) MVC consiste de tres tipos de objetos. El Modelo, que son los objetos de la aplicacin, tambin conocida como lgica de negocio, o lgica de aplicacin. La Vista especifica la visualizacin de los datos, algunas veces conocida como lgica de presentacin. El controlador es el coordinador entre estos dos ltimos, es decir, define la forma en que la interfaz de usuario reacciona ante la entrada de usuario. MVC desacopla el concepto de interfaz de usuario y lgica de negocio para aumentar la flexibilidad y modularidad del software, posiblemente permitiendo que el cdigo pueda ser reutilizado. MVC esta demostrando ser un patrn de diseo bien elaborado pues las aplicaciones que lo implementan presentan una extensibilidad y una

mantenibilidad nicas comparadas con otras aplicaciones basadas en otros patrones. MVC es bastante utilizado en la actualidad en marcos de aplicacin orientados a objeto desarrollados para construir aplicaciones de gran tamao; Java Swing, Apache Struts, Microsoft ASP.NET, las transformaciones XSL o incluso los documentos L A TEX siguen este patrn de diseo. Desventajas El tiempo de desarrollo de una aplicacin que implementa el patrn de diseo MVC es mayor, al menos en la primera etapa, que el tiempo de desarrollo de una aplicacin que no lo implementa, ya que MVC requiere que el programador implemente una mayor cantidad de clases que en un entorno de desarrollo comn no son necesarias. Sin embargo, esta desventaja es muy relativa ya que posteriormente, en la etapa de mantenimiento de la aplicacin, una aplicacin MVC es muchsimo mas mantenible, extensible y modicable que una aplicacin que no lo implementa. MVC es un patrn de diseo orientado a objetos por lo que su implementacin es sumamente costosa y difcil en lenguajes que no siguen este paradigma. PROGRAMACION EN CAPAS En la programacin en capas los objetos se dividen segn su funcionalidad. Destacan tres principales: la Capa de Interfaz o Frontera, compuesta por los objetos encargados de interactuar con el usuario, como lo son los formularios e interfaces de la aplicacin; por otra parte est la Capa de Lgica de Negocio o Control, en donde se encuentran los objetos que realizan la mayor parte del trabajo interno del programa, en esta etapa destaca la lgica de la aplicacin as como la funcionalidad de servir de enlace entre las otras capas; por ltimo se encuentra la Capa de Datos, integrada por los objetos que envan y obtienen informacin al comunicarse con bases de datos u otros sistemas de informacin que colaboran con el programa. La programacin en capas no es una tcnica rgida que debe implementarse solamente de una forma, sino que los desarrolladores de proyectos tienen mltiples maneras de implementarla segn las tecnologas y tendencias que se utilicen. Al implementar este modelo de programacin, se asegura un trabajo de forma ordenada y separada, debido a que sigue el principio de divide y vencers. Desventajas Cuando se implementa un modelo de programacin en capas, se debe llegar a un balance entre el nmero de capas y sub capas que componen el programa. Este debe ser el necesario y suficiente

para realizar un trabajo especfico con eficiencia y ser lo ms modular posible. De lo contrario se tiene una serie de desventajas como: prdida de eficiencia, realizacin de trabajo innecesario o redundante entre capas, gasto de espacio de la aplicacin debido a la expansin de las capas, o bien una alta dependencia entre los objetos y capas que contradice el objetivo principal del modelo. En la actualidad, la mayora de las programas comerciales Web que se desarrollan se hacen usando dos tecnologas: la herramienta Visual Studio .Net de Microsoft y tecnologas Java como lo son Spring y Hibernate. La programacin por capas es un estilo de programacin en el que el objetivo primordial es la separacin de la lgica de negocios de la lgica de diseo; un ejemplo bsico de esto consiste en separar la capa de datos de la capa de presentacin al usuario. 1.- Capa de presentacin: es la que ve el usuario (tambin se la denomina "capa de usuario"), presenta el sistema al usuario, le comunica la informacin y captura la informacin del usuario en un mnimo de proceso (realiza un filtrado previo para comprobar que no hay errores de formato). Esta capa se comunica nicamente con la capa de negocio. Tambin es conocida como interfaz grfica y debe tener la caracterstica de ser "amigable" (entendible y fcil de usar) para el usuario. 2.- Capa de negocio: es donde residen los programas que se ejecutan, se reciben las peticiones del usuario y se envan las respuestas tras el proceso. Se denomina capa de negocio (e incluso de lgica del negocio) porque es aqu donde se establecen todas las reglas que deben cumplirse. Esta capa se comunica con la capa de presentacin, para recibir las solicitudes y presentar los resultados, y con la capa de datos, para solicitar al gestor de base de datos para almacenar o recuperar datos de l. Tambin se consideran aqu los programas de aplicacin. 3.- Capa de datos: es donde residen los datos y es la encargada de acceder a los mismos. Est formada por uno o ms gestores de bases de datos que realizan todo el almacenamiento de datos, reciben solicitudes de almacenamiento o recuperacin de informacin desde la capa de negocio. PROGRAMACIN ORIENTADA A OBJETOS Metodologa ms utilizada. Permite disear jerarquas de objetos Ventaja: Facilita el desarrollo de servicios verticales Problema: Acceso a los servicios horizontales Dispersin de cdigo: Llamadas a distinta funcionalidad repartidas y repetidas a lo largo de todo nuestro cdigo. Por ejemplo: autenticacin y autorizacin, logging, etc.

PROGRAMACION ORIENTADA A ASPECTOS (POA) Paradigma de programacin que persigue la modularizacin fomentando la separacin de conceptos, en especial los que afectan a otros conceptos de aplicacin. La programacin orientada a aspectos no sustituye a la programacin orientada a objetos, la complementa. Ventajas de la POA: 1 Cdigo menos enmaraado, ms natural y reducido 2 Facilidad para razonar sobre las materias 3 Facilidad para depurar y modificar cdigo 4 Impacto mnimo en modificaciones 5 Cdigo ms reutilizable BIBLIOGRAFA: Escuela de Ingeniera de Sistemas. Miriam Milagros Daz Flores. RUP vs XP. Ernesto Bascn Pantoja. Modelo-Vista-Controlador (MVC) y su implementacin en Java Swing. Java Swing architecture.http://www.cs.unc.edu/Courses/wwwps99/members/ walkera/swing/presentSwingII.htm. James Rumbaugh. Modelado y diseo orientado a Objetos. Prentice Hall, 1998. Jess Enrique Villalobos Jimnez. Programacin Orientada a Aspectos (POA). Roger S. Pressman Ingeniera del Software. McGraw-Hill, 2007. Universidad de Alicante Arquitectura cliente-servidor Ricardo j. Vargas del valle. Programacin en capas. Universidad de costa rica, ciencias de computacin e informtica. Universidad de Deusto. Programacin Orientada a Aspectos con AspectJ

Вам также может понравиться