You are on page 1of 18

Temas

• Objetivos • Crisis del software • Ventajas de las metodologías orientadas a objetos • UML • Resumen

Administración de Proyectos de desarrollo de Software Ciclo de vida deSoftware y Crisis del un proyecto Ventajas de Enfoque moderno la Tecnología Orientada a Objetos

Fin de la presentación

Continúe en la siguiente actividad

Administración de Proyectos de desarrollo de Software Ciclo de vida deSoftware y Crisis del un proyecto Ventajas de Enfoque moderno la Tecnología Orientada a Objetos

Crisis del Software y Ventajas de la Tecnología Orientada a Objetos

Objetivos • Al final de este tema podrás: – Explicar la crisis del software – Discutir las ventajas de la tecnología orientada a objetos

Crisis del Software y Ventajas de la Tecnología Orientada a Objetos

Crisis del software
• El término surgió en 1968, durante la primer conferencia de la OTAN sobre ingeniería de software, como resultado de observar que los sistemas en esa época y actualmente: – Se entregan después del tiempo programado – Cuestan más de lo que se esperaba – No cumplen con las necesidades ni requerimientos del cliente

Crisis del Software y Ventajas de la Tecnología Orientada a Objetos

Datos que ejemplifican la crisis del software* – Más de $300 billones por año se gastan en actividades referentes a software en los E.U. – Sólo 8% de los sistemas son liberados Y funcionan – 70 a 79% son terminados – El costo de poseer y mantener un sistema es dos veces tan caro como desarrollar el mismo – Según la PC Magazine (1995) se encontró que de los proyectos de desarrollo de software: • 16% fue exitoso • 53% opera (pero menos que exitoso) • 31% fueron cancelados

Crisis del Software y Ventajas de la Tecnología Orientada a Objetos

Factores que han llevado a la crisis del software

– Modificación constante de las fechas de entrega • Requerimientos del negocio cambian constantemente • Requerimientos iniciales mal definidos – Fallas en el manejo de riesgo • Ciclo de vida de cascada retrasa identificación de problemas, no se sabe hasta el final si va a funcionar – Complejidad del software • Se incrementa la demanda de software • Nadie entiende la totalidad del sistema • Sistemas legados • Aumento del poder del hardware y reducción de su costo

Crisis del Software y Ventajas de la Tecnología Orientada a Objetos

Algunas respuestas a la Crisis del software • Nuevos ciclos de vida del software: Iterativo e incremental en vez de cascada – Se divide al proyecto en mini-proyectos o iteraciones, cada iteración incluye su propio ciclo de cascada (análisis de requerimientos, diseño, implementación y pruebas) – Cada iteración genera una parte del producto final • Metodología orientada a objetos para el proceso de desarrollo de software

Crisis del Software y Ventajas de la Tecnología Orientada a Objetos

Ventajas de las Metodologías Orientadas a Objetos
• Un sólo paradigma – Modelos más cercanos al mundo real • Más fáciles de entender y mantener – Estabilidad • Cambios en los requerimientos no implican cambios masivos en el sistema en desarrollo – Hablan el mismo lenguaje usuarios, analistas, diseñadores, implantadores – Facilita reutilización

Crisis del Software y Ventajas de la Tecnología Orientada a Objetos

Historia de las Metodologías OO
• 1970 desarrollo mínimo en Xerox • 1981 lenguaje Smalltak, primer lenguaje y sistema operativo 00 popular • 1984 lenguaje C++, lenguaje OO para escribir software real • 1990s desarrollo del lenguaje C++ y diversas metodologías de análisis y diseño OO • 1995 lenguaje Java, lenguaje OO para el web

Crisis del Software y Ventajas de la Tecnología Orientada a Objetos

Metodologías OO
• Una MOO popular es el UP o Unified Process, un proceso iterativo e incremental que se implementa en el Rational Unified Process • Existen diversas metodologías y autores – Coad & Yourdon, Grady Booch, Ivar Jacobson (Objectory), Wirfs-Brook, James Rumbaugh (OMT)

Crisis del Software y Ventajas de la Tecnología Orientada a Objetos

Análisis y Diseño Orientado a Objetos

• OOA Modelo de Requerimientos Perspectiva del usuario

OOD Añade detalles y decisiones de diseño Perspectiva del desarrollador

Cualquier metodología orientada a objetos incluye al menos dos fases. Durante el análisis se obtiene el modelo que representa las necesidades del usuario sin considerar ningún aspecto de implementación (software o hardware). En el diseño se genera la arquitectura del sistema, la cual representa al sistema considerando los detalles de implementación.

Crisis del Software y Ventajas de la Tecnología Orientada a Objetos

UML • A fin de que la comunidad que desarrolla sistemas representara a los mismos utilizando una misma nomenclatura se creó UML (Unified Modeling Language) • El lenguaje de modelado unificado (Unified Modeling Language ) o UML, es descrito en “The Unified Modeling Language for Object Oriented Development” escrito por Grady Booch, Jim Rumbaugh e Ivar Jacobson • Basado en las experiencias de los autores • Incorpora contribuciones de otros metodologistas • Entregada en colaboración por: Rational Software, Microsoft, Hewlett Packard, Oracle, Texas Instruments, MCI System House y otros

Crisis del Software y Ventajas de la Tecnología Orientada a Objetos

UML • NO ES UNA METODOLOGÍA, es decir no indica cómo crear un sistema o cuáles son los pasos a seguir para su desarrollo. • UML permite representar los diferentes artefactos de un sistema de forma estándar independientemente de la metodología que se use.

Crisis del Software y Ventajas de la Tecnología Orientada a Objetos

Fuentes de UML

Rumbaugh Harel (state
charts)

Booch

Jacobson

Fusion

Meyer

(Before and after conditions)

UML
Gamma, et.al (frameworks,
patterns)

Embley
(Singleton classes, high level view)

ShlaerMellor ( Object
life cycles)

Odell
(Classification)

Wirfs-Brock
(Responsabilities)

Crisis del Software y Ventajas de la Tecnología Orientada a Objetos

Beneficios de UML • Define un mapeo homogéneo del análisis al diseño hasta la implantación • Define una notación consistente – Hace más fácil la comunicación a otros – Ayuda a descubrir omisiones e inconsistencias – Soporta análisis y diseño a pequeña y gran escala

Crisis del Software y Ventajas de la Tecnología Orientada a Objetos

Resumen • Se requieren de nuevas tecnologías de desarrollo para mitigar la crisis del software – Entregar a tiempo – Calcular con mayor precisión el presupuesto – Cumplir con los requerimientos del cliente • Ventajas de la tecnología de objetos – Sus modelos representan el mundo real – Facilita la reutilización – Gran flexibilidad (cambios en los requerimientos no cambios masivos en el sistema en desarrollo)

Crisis del Software y Ventajas de la Tecnología Orientada a Objetos

Resumen • El análisis orientado a objetos es un método de análisis en el cual los requerimientos se expresan en términos de objetos encontrados en el problema – Se enfoca en el qué • En el diseño orientado a objetos el modelo de análisis se transforma en un modelo de diseño mediante refinar el modelo, agregando detalles y capturando decisiones de diseño necesarias para implantar el modelo – Se enfoca en el cómo

Crisis del Software y Ventajas de la Tecnología Orientada a Objetos

Resumen • UML (Unified Modeling Language) fue desarrollado por Grady Booch, Jim Rumbaugh e Ivar Jacobson en colaboración con un número de contribuidores basados en sus experiencias colectivas. No es una metodología sino una notación que puede utilizarse para representar sistemas.