Abstract desarrollo de un software y se debe desarrollar sin perderlas de
vista. This investigative paper was made for introduce myself to the applied programming course, giving a little view to the Algo de vital importancia en el desarrollo de software, que se different branches, methods, models and others aspects from debe tener presente durante todo el proceso son las mtricas the SOFTWARE ENGINEERING, this for have a general del software que son las diferentes medidas que se toman en el idea from this and know what we will use during the course software o en el producto final ya que existen varios factores que pueden afectar la calidad del software y para intentar Resumen describirlas se puede observar la Fig. 1 Este trabajo investigativo se realizo con el fin de ambientar el curso de programacin aplicada, dando un pequeo y superficial vistazo a varias ramas, metodologas, modelos, etc. usados dentro de la INGENIERIA DE SOFTWARE, para formarnos una idea general de la misma y especificar que manejaremos dentro de nuestro curso 1. Introduccin Fig. 1 Categorizacin de factores que afectan la calidad La ingeniera de software se enfoca en el desarrollo de de software software, tal como su nombre lo indica, pero para ello existen varios modelos y metodologas los cuales intentare Como descripciones se tiene la Correccin : Es hasta qu comprender a lo largo de este articulo, como se ver ms punto el software alcanzo la visin del cliente; Fiabilidad : adelante son varias las alternativas que se pueden tomar al Con que exactitud el software lleva a cabo su misin principal; momento de desarrollar software, por esto es importante Eficiencia : Es el conjunto de recursos informticos y de identificarlas para usar la ms adecuada para lo que se est cdigo necesarios para que el programa lleve a cabo su buscando, pero antes de mirar los modelos y metodologas, se funcin; Integridad : Control al acceso a los datos de personas introducir diciendo que es la ingeniera de software y en qu no autorizadas; Usabilidad : Facilidad en el manejo del consiste y por ltimo se ver la forma de organizar los software; Modularidad : Independencia funcional de programas usando modelos UML componentes de programa; Operatividad : Facilidad de operacin del programa; Trazabilidad : Capacidad de 2. Mrgenes, fuentes y espaciado alcanzar una representacin del diseo o un componente real entre lneas del programa hasta los requisitos; Formacin : Grado en el que el software ayuda a los nuevos usuarios a manejar el Para empezar a estudiar la INGENIERIA DE SOFTWARE, sistema. primero se debe saber que es, y podramos decir que es el campo de la tecnologa que est relacionada con la aplicacin 3. Modelos de unos enfoques tericos para el desarrollo, operacin y Ya se ha tratado a la INGENIERIA DE SOFTWARE de mantenimiento de software, pero se debe aclarar que no solo manera general, ahora se hablara de algo mas especifico y se dedica al estudio del cdigo, tambin estudia y considera puntual como son los modelos. Primero tenemos el Modelo en los diferentes enfoques que estn presentes en la realidad, lo Cascada Fig2., es el ms bsico de los modelos y ha servido cual mejorara el desarrollo de los productos, los ingenieros de como base para los dems, es muy simple y sencillo enuncia este tipo al enfocarse especficamente en el desarrollo de que para el desarrollo de software se deben seguir secuencias software han hecho evolucionar el mismo lo que ha permitido de fases. que los computadores realicen muchas ms aplicaciones. Ya teniendo una idea de que es la ingeniera de software debemos tener en cuenta que antes de empezar a gestionar un proyecto es muy importante saber por qu fases pasara el mismo, tendremos tres fases principales: Planeacin, donde se debe definir el problema a solucionar y la planificacin del proyecto luego est la Ejecucin, donde tendremos la puesta en marcha del proyecto, la fase productiva y la conclusin del proyecto y por ultimo esta el Mantenimiento, donde se realiza Fig1. Modelo en Cascada mantenimiento del producto. Estas fases son esenciales en el Como ventajas se puede considerar que basta una planeacin existe complicacin al momento de la evaluacin de los sencilla y que la calidad del producto es alta, pero como riesgos desventajas se tiene la poca interaccin con el cliente, lo cual puede afectar las mtricas del software. Luego tenemos el Modelo Iterativo Fig.3, Es un modelo de ciclo de vida en cascada, busca reducir el riesgo que surge entre las necesidades del usuario y el producto final por malos entendidos en la etapa de recogimiento de requisitos; como ventajas de este modelo se puede tener que los requisitos no son estrictamente para el principio, mejora las entregas y como desventajas se tiene el posible surgimiento de problemas en la arquitectura debido a no definir los requisitos desde el principio
Fig.5 Esquema del Modelo Incremental
Fig. 3 Modelo Iterativo
Esta tambin el Modelo Evolutivo Fig.4, este es un modelo iterativo que permite hacer entregas del producto cada vez ms completas y complejas hasta llegar al objetivo deseado, como ventajas s tiene que las especificaciones pueden ser desarrolladas de manera creciente, los usuarios estn ms Fig. 6 Esquema del Modelo en Espiral involucrados con el desarrollo del software por lo que lo entendern mejor, cumple necesidades inmediatas del cliente, Se tiene tambin el Modelo DRA Fig. 7, Es un modelo de como desventajas se tiene estructura pobre, proceso no visible proceso del desarrollo de software lineal secuencial que enfatiza un ciclo de desarrollo extremadamente corto, es de bajo costo, las entregas son sencillas por las facilidad de trasladar la plataforma, mayor flexibilidad, posiblemente menos fallas pero puede llegar a ser menos eficiente y mas difcil de medir. Y por ultimo esta el Modelo en V Fig. 8, se deriva directamente del modelo en cascada, este modelo usa el testing como actividad paralela al SDLC y no como actividad aislada, es sencillo y de fcil aprendizaje e involucra al usuario en las pruebas, pero estas pruebas a su vez pueden llegar a ser costosas
Fig.4 Modelo Evolutivo
Se tiene tambin el Modelo Incremental Fig.5, Es una visin genrica, donde el proceso se divide en 4 partes: Anlisis, Diseo, Cdigo y Prueba, como ventajas de este modelo esta el tiempo de entrega es corto, como desventajas se tiene no cuenta con altos niveles de seguridad, no se conoce el estado del proyecto durante el desarrollo. Esta tambin el Modelo en Espiral Fig. 6, que es un software evolutivo donde se conjuga la naturaleza de construccin de prototipos con los aspectos controlados y sistemticos del Modelo Lineal y Secuencial. Proporciona el potencial para el desarrollo rpido de versiones incrementales del software que no se basa claramente definidas y separadas para crear un sistema, lastimosamente calidad que san atractivos para el mercado y por ultimo esta la metodologa RMM, que se define como un proceso de anlisis, diseo y desarrollo de aplicaciones hipermedia. Los principales elementos son el modelo E-R (Entidad relacin) y el modelo RMDM (Relationship Management Data Model) basado en el modelo HDM. Esta metodologa es apropiada para los dominios con estructuras regulares, es decir con clases de objetos bien definidas y con claras relaciones entre esas clases 5. LENGUAJE DE MODELAMIETNO UNIFICADO (UML) Es un lenguaje de moldeamiento de propsito general que se usa para especificar, visualizar, construir y documentar los artefactos de un sistema de software , captura decisiones y entendimiento de sistemas que deben ser construidos, se usa para entender, disear, configurar, buscar, mantener y controlar informacin sobre dichos sistemas. El software Fig.8 Esquema del Modelo en V usado para este modela miento tiene cierta arquitectura, Fig.1
Fig. 7 Esquema del Modelo DRA
Fig. 1 Estructura UML
4. Metodologas Donde es primordial tener varios punto de vista como se
observa en la Fig.1, una vista lgica donde se presenta la La primer metodologa que se tratara es la RUP, constituye la funcionalidad que el sistema proporcionara a los usuarios metodologa estndar ms utilizada para el anlisis, diseo, finales, es decir se presenta lo que se debe hacer, luego esta la implementacin y documentacin de sistemas orientados a objetos, no es un sistema con pasos firmemente establecidos, Vista de despliegue, donde se muestra el sistema desde la sino que son metodologas adaptables al contexto y perspectiva del programador y se ocupa de la gestin del necesidades de cada organizacin es diseado para software, es decir se va a mostrar cmo esta divido el sistema profesionales en el desarrollo de software, interesados en de software en componentes y las dependencias que hay entre productos de software y profesionales en la ingeniera y esos componentes, el siguiente punto de vista a considerar es administracin de procesos de software, las fases son: Inicio, la vista de procesos, donde se muestran los procesos que hay Elaboracin, Construccin y Transicin. Otra Metodologa es en el sistema y la forma en la que se comunican estos la PMI es la asociacin profesional sin fines de lucro ms procesos, es decir, se presentan desde la perspectiva de un importante y de mayor crecimiento a nivel mundial que tiene integrador de sistemas, el flujo de trabajo paso a paso de como misin convertir a la gerencia de proyectos como la negocio y operaciones de los componentes que conforman el actividad indispensable para obtener resultados en cualquier sistema, en la documentacin se debe incluir un diagrama de actividad de negocios; De igual manera encontramos al actividad UML; de igual mera esta el punto de vista, vista metodologa XP, que se define como un conjunto de prcticas fsica, en esta vista se muestra desde la perspectiva de un optimas para el desarrollo de aplicaciones en excelentes ingeniero de sistemas todos los componentes fsicos del condiciones al colocar al cliente en el centro del proceso de sistema como las conexiones fsicas entre componentes, etc. y desarrollo, manteniendo una cercana relacin con dicho por ultimo esta el punto de vista de escenarios, esta vista va cliente. La siguiente metodologa es la CMMI, es un modelo ser representada por los casos de uso software y va a tener la para la administracin de riesgos y que indica la capacidad de funcin de unir y relacionar de oras 4 vistas, es decir que una organizacin para administrar los riesgos. Esta indicacin desde ac se pues visualizar como se ligan los dems puntos es un indicio de la probabilidad con la que una organizacin de vista mencionados anteriormente. puede cumplir sus promesas o proporcionar productos de alta Ahora se describirn varios tipos de diagramas que existen en lo cual mejora la satisfaccin y por ultimo lo organizacin en UML, empezando por los Diagramas de casos de uso cuyos los proyectos es vital bien sea un proyecto grande o pequeo smbolos principales son el actor y el ovalo de caso de uso, su ya que permite entregar productos con alta calidad principal misin es documentar los macro-requisitos del sistema, luego est el Diagrama de actividades la cual se Referencias considera la versin UML de un diagrama de flujo son usados [1] para analizar los procesos y de ser necesario para volver a https://es.wikipedia.org/wiki/Proceso_ realizar la ingeniera de los procesos, Diagrama de clases se Unificado_de_Rational usan para mostrar las clases de un sistema y las relaciones entre ellas, una sola clase puede mostrarse en ms de un [2] https://msdn.microsoft.com/es- diagrama de clases y no es necesario mostrar todas las clases en un solo diagrama monoltico de clases, Diagramas de co/library/ee461556.aspx interaccin de los cuales hay dos tipos el primero la secuencia, que implica un ordenamiento en el tiempo al seguir la secuencia de mensajes desde arriba a la izquierda [3] hasta abajo a la derecha y la colaboracin que usan las http://ingsoftwareresumenjaz.blogspo mismas clases y mensajes pero estn organizados en una t.com.co/2014/10/modelo-rmm.html disposicin especial, Diagramas de Estado muestra el estado cambiante de un solo objeto, conforme este pasa por un [4] Paul Kimmel, Manual de UML, Revisin sistema, Diagrama de componentes es un diagrama para la de los tipos de diagramas, Pgina 7 aplicacin o implementacin. Para usar e implementar los casos de uso se tienen varios [5] James Rumbaugh, The Unified formatos dependiendo del nivel de detalle que se desee Modeling Language Reference alcanzar, los grados de formalidad son: Breve, descripcin en Manual, Background, Pgina 3 pocas lneas, Informal, Varios prrafos es un estilo informal que cubren varios escenarios, entendiendo por escenario a una [6] http://jarroba.com/modelo-41-vistas- instancia de un caso de uso, una historia particular de uso del de-kruchten-para-dummies/ sistema, Completo, El ms elaborado, se trata de una descripcin detallada con una plantilla [7] https://softwarerecopilation.wordpress 7. Conclusiones .com/modelo-rup/ La ingeniera de software ha sido una pionera para la mejora [8] http://iswudistrital.blogspot.com.co/2012/09/ingenieria-de- del funcionamiento de los sistemas, ya que ha aportado varias software-continuacion.html herramientas para el desarrollo de software y ha dado [9] http://fernandosoriano.com.ar/?p=13 organizacin a los procesos de ingeniera, en general. Sus mtodos han dado un gran avance con lo que respecta a atencin al cliente, pues interacta de manera ms directa en algunos de estos modelos a lo que quiere como producto final