desarrollo de software orientado a objeto ingeniería de software alfonso vega...
TRANSCRIPT
![Page 1: Desarrollo de Software Orientado a Objeto Ingeniería de Software Alfonso Vega Is-in-400.blogspot.com](https://reader035.vdocuments.net/reader035/viewer/2022070303/54ae6e4e497959435e8b4a17/html5/thumbnails/1.jpg)
Desarrollo de SoftwareOrientado a Objeto
Ingeniería de Software
Alfonso Vega
Is-in-400.blogspot.com
![Page 2: Desarrollo de Software Orientado a Objeto Ingeniería de Software Alfonso Vega Is-in-400.blogspot.com](https://reader035.vdocuments.net/reader035/viewer/2022070303/54ae6e4e497959435e8b4a17/html5/thumbnails/2.jpg)
Temas
• Ciclos de Vida Tradicionales
• Workflows
• Proceso Unificado Rational RUP
• Programación Extrema XP
• Los Patrones
• La Refactorización
• Desarrollo Orientado a Aspectos
![Page 3: Desarrollo de Software Orientado a Objeto Ingeniería de Software Alfonso Vega Is-in-400.blogspot.com](https://reader035.vdocuments.net/reader035/viewer/2022070303/54ae6e4e497959435e8b4a17/html5/thumbnails/3.jpg)
Historia
• OO era una técnica novedosa y revolucionaria• La OO se basa en los siguientes principios básicos:
abstracción, encapsulamiento, herencia y polimorfismo.
Abstracción Encapsulación Herencia Polimorfismo
![Page 4: Desarrollo de Software Orientado a Objeto Ingeniería de Software Alfonso Vega Is-in-400.blogspot.com](https://reader035.vdocuments.net/reader035/viewer/2022070303/54ae6e4e497959435e8b4a17/html5/thumbnails/4.jpg)
• “Pues muy bien, ya sé UML...
• ¿y ahora qué?”
![Page 5: Desarrollo de Software Orientado a Objeto Ingeniería de Software Alfonso Vega Is-in-400.blogspot.com](https://reader035.vdocuments.net/reader035/viewer/2022070303/54ae6e4e497959435e8b4a17/html5/thumbnails/5.jpg)
Como usar UML?
• UML es un lenguaje de especificación, visualización, construcción y documentación de propósito general, aunque especializado en sistemas software. Por su propia definición, la mayoría de autores no se pronuncian tajantemente acerca de cómo debe usarse UML
![Page 6: Desarrollo de Software Orientado a Objeto Ingeniería de Software Alfonso Vega Is-in-400.blogspot.com](https://reader035.vdocuments.net/reader035/viewer/2022070303/54ae6e4e497959435e8b4a17/html5/thumbnails/6.jpg)
• Debido a la magnitud de los sistemas actuales y al tamaño de los equipos de desarrollo, la construcción de todo producto software (proyecto) pasa por una serie de fases. Estas son habitualmente: análisis, diseño, implementación, testing, instalación y configuración.
• Ver fig.
![Page 7: Desarrollo de Software Orientado a Objeto Ingeniería de Software Alfonso Vega Is-in-400.blogspot.com](https://reader035.vdocuments.net/reader035/viewer/2022070303/54ae6e4e497959435e8b4a17/html5/thumbnails/7.jpg)
![Page 8: Desarrollo de Software Orientado a Objeto Ingeniería de Software Alfonso Vega Is-in-400.blogspot.com](https://reader035.vdocuments.net/reader035/viewer/2022070303/54ae6e4e497959435e8b4a17/html5/thumbnails/8.jpg)
• Divisón del trabajo en tareas mas pequeñas (subsistemas)
• Cada Fase es un proceso (secuencia de actividades para alcanzar un objetivo)
• Para aplicar la OO y UML de forma efectiva es conveniente valorar la utilidad de algunas técnicas y ciclos de vida del software
![Page 9: Desarrollo de Software Orientado a Objeto Ingeniería de Software Alfonso Vega Is-in-400.blogspot.com](https://reader035.vdocuments.net/reader035/viewer/2022070303/54ae6e4e497959435e8b4a17/html5/thumbnails/9.jpg)
• En los últimos años, una tecnología orientada a resolver este problema que ha sonado con mucha fuerza es la gestión de workflows. De forma más concreta, el Proceso Unificado de Rational (RUP) y la Programación eXtrema (XP) son dos de las aproximaciones al proceso de desarrollo más populares.
![Page 10: Desarrollo de Software Orientado a Objeto Ingeniería de Software Alfonso Vega Is-in-400.blogspot.com](https://reader035.vdocuments.net/reader035/viewer/2022070303/54ae6e4e497959435e8b4a17/html5/thumbnails/10.jpg)
1 Ciclos tradicionales
• Ciclo en Cascada• Análisis→Diseño→Implementación→Testing
• El Modelo en V
• Prototipo
• ciclo de vida En Espiral• Análisis→Diseño→Implementación→Testing→
Análisis→Diseño...
![Page 11: Desarrollo de Software Orientado a Objeto Ingeniería de Software Alfonso Vega Is-in-400.blogspot.com](https://reader035.vdocuments.net/reader035/viewer/2022070303/54ae6e4e497959435e8b4a17/html5/thumbnails/11.jpg)
2 Los Workflows
• Un workflow (flujo de trabajo) es la automatización, completa o parcial, de un proceso de negocio. Durante este proceso, las tareas, documentos o información en general pasa de un participante a otro siguiendo una serie de reglas. La misión principal de los workflows es controlar los procesos que se inician en una compañía para atender a una demanda externa
![Page 12: Desarrollo de Software Orientado a Objeto Ingeniería de Software Alfonso Vega Is-in-400.blogspot.com](https://reader035.vdocuments.net/reader035/viewer/2022070303/54ae6e4e497959435e8b4a17/html5/thumbnails/12.jpg)
• Groupware
• Evolución de Proyecto
![Page 13: Desarrollo de Software Orientado a Objeto Ingeniería de Software Alfonso Vega Is-in-400.blogspot.com](https://reader035.vdocuments.net/reader035/viewer/2022070303/54ae6e4e497959435e8b4a17/html5/thumbnails/13.jpg)
3 Proceso Unificado de Rational : RUP
• El Proceso Unificado de Rational (RUP) es iterativo e incremental, igual que el modelo en espiral. RUP se define mediante la combinación de flujos de trabajo fundamentales (workflows) y fases (ver figura). Está compuesto por una serie de filosofías y prácticas, un modelo de procesos, una librería de contenidos y un lenguaje de definición de procesos extensión de UML: SPEM.
![Page 14: Desarrollo de Software Orientado a Objeto Ingeniería de Software Alfonso Vega Is-in-400.blogspot.com](https://reader035.vdocuments.net/reader035/viewer/2022070303/54ae6e4e497959435e8b4a17/html5/thumbnails/14.jpg)
![Page 15: Desarrollo de Software Orientado a Objeto Ingeniería de Software Alfonso Vega Is-in-400.blogspot.com](https://reader035.vdocuments.net/reader035/viewer/2022070303/54ae6e4e497959435e8b4a17/html5/thumbnails/15.jpg)
• RUP gestiona los procesos de entrega de documentos y la autoría de los procesos. Además incluye plantillas, seguimiento de avances mediante hitos, informes, mentores de herramientas y un conjunto de roles asignables a cada participante.
• En RUP también se indica el uso adecuado de los distintos diagramas UML:
![Page 16: Desarrollo de Software Orientado a Objeto Ingeniería de Software Alfonso Vega Is-in-400.blogspot.com](https://reader035.vdocuments.net/reader035/viewer/2022070303/54ae6e4e497959435e8b4a17/html5/thumbnails/16.jpg)
![Page 17: Desarrollo de Software Orientado a Objeto Ingeniería de Software Alfonso Vega Is-in-400.blogspot.com](https://reader035.vdocuments.net/reader035/viewer/2022070303/54ae6e4e497959435e8b4a17/html5/thumbnails/17.jpg)
• La realización de las cuatro fases de RUP produce una generación del producto. Cada fase tiene una o más iteraciones de todos los flujos y finaliza en un Hito.
• • Fase de Inicio: • • Fase de Elaboración: • • Fase de Construcción: • • Fase de Transición:.
![Page 18: Desarrollo de Software Orientado a Objeto Ingeniería de Software Alfonso Vega Is-in-400.blogspot.com](https://reader035.vdocuments.net/reader035/viewer/2022070303/54ae6e4e497959435e8b4a17/html5/thumbnails/18.jpg)
• RUP es genérico
• Puede englobar XP
![Page 19: Desarrollo de Software Orientado a Objeto Ingeniería de Software Alfonso Vega Is-in-400.blogspot.com](https://reader035.vdocuments.net/reader035/viewer/2022070303/54ae6e4e497959435e8b4a17/html5/thumbnails/19.jpg)
4 Programación Extrema XP
• XP se basa en la existencia de equipos pequeños de desarrolladores para los que es factible mantener una estrecha relación con el cliente. Esto les permite realizar reuniones con frecuencia y de esta forma se capturan requisitos sin retrasos y se implementan cuanto antes.
![Page 20: Desarrollo de Software Orientado a Objeto Ingeniería de Software Alfonso Vega Is-in-400.blogspot.com](https://reader035.vdocuments.net/reader035/viewer/2022070303/54ae6e4e497959435e8b4a17/html5/thumbnails/20.jpg)
• Las prácticas más comunes de la XP son:• Programación en pares. • Semanas de 40 horas. • Implementar Tests antes • Se promueve el uso de refactorización • Integración continua
![Page 21: Desarrollo de Software Orientado a Objeto Ingeniería de Software Alfonso Vega Is-in-400.blogspot.com](https://reader035.vdocuments.net/reader035/viewer/2022070303/54ae6e4e497959435e8b4a17/html5/thumbnails/21.jpg)
![Page 22: Desarrollo de Software Orientado a Objeto Ingeniería de Software Alfonso Vega Is-in-400.blogspot.com](https://reader035.vdocuments.net/reader035/viewer/2022070303/54ae6e4e497959435e8b4a17/html5/thumbnails/22.jpg)
![Page 23: Desarrollo de Software Orientado a Objeto Ingeniería de Software Alfonso Vega Is-in-400.blogspot.com](https://reader035.vdocuments.net/reader035/viewer/2022070303/54ae6e4e497959435e8b4a17/html5/thumbnails/23.jpg)
![Page 24: Desarrollo de Software Orientado a Objeto Ingeniería de Software Alfonso Vega Is-in-400.blogspot.com](https://reader035.vdocuments.net/reader035/viewer/2022070303/54ae6e4e497959435e8b4a17/html5/thumbnails/24.jpg)
Bibliografía
Joseph Schmuller, Aprendiendo UML en 24 Horas, Prentice HallRoger Pressman, Ingeniería del Software Mc Graw HillJAN SOMMERVJLLE, Ingeniería del Software, Pearson Addison Wesley
http://www.angelfire.com/scifi/jzavalar/apuntes/IngSoftware.html#IngSofthttp://www.slideshare.net/dersteppenwolf/la-ingeniera-de-software-y-ruphttp://carolina.terna.net/ingsw2/links.htmhttp://www.dsic.upv.es/~uml/index.html