Upload
msc-aldo-valdez-alvarado
View
961
Download
2
Embed Size (px)
Citation preview
UNIFIED MODELING LANGUAGE (UML)
M.SC. ALDO VALDEZ ALVARADO La Paz - Bolivia
Preparado como parte de los contenidos de la Materia de Análisis y Diseño de Sistemas de Información
UNIVERSIDAD MAYOR DE SAN ANDRÉS
CARRERA DE INFORMÁTICA
Conceptos Básicos
Tecnologías Orientadas a Objetos
Desarrollo Tradicional Vs. Desarrollo Orientado a
Objetos
Ventajas de las Tecnologías Orientadas a Objetos
Modelos y UML
Índice 1
2
3
4
5
CONCEPTOS BÁSICOS
El Comité de Ciencia de la OTAN se reúne en 1968 y 1969…
…donde se asumió los términos Ingeniería de Software y Crisis del Software
El Software era caro, poco fiable y escaso
La complejidad del problema ha crecido considerablemente
El mantenimiento es considerado uno de los mas costosos de las fases del Ciclo de Vida del Software
• Los cambios son el punto débil de las metodologías tradicionales.
• Términos como reusabilidad o reutilización de componentes de software.
• La POO no solo son lenguajes de programación, sino un nuevo modo de pensar y diseñar aplicaciones.
TECNOLOGÍAS ORIENTADAS A
OBJETOS
Orientación a Objetos
Conjunto de disciplinas (Ingeniería) que desarrollan y modelizan Software que facilitan la construcción de sistemas complejos a partir de componentes.
• La OO proporciona métodos y herramientas que modelan y representan el mundo real tan fielmente como sea posible.
• Tiene varias ventajas en la programación y modelación de datos.
• La OO trata de cumplir con las necesidades de los usuarios finales, así como las propias de los desarrolladores.
• El soporte fundamental de estas tecnologías es el modelo objeto.
O.O. Modularidad
Concurrencia
Persistencia
Genericidad
Manejo de Excepciones
Pilares Otras propiedades
Análisis OO
• Enfatiza el modelado del mundo real a través de objetos
• Analiza los requerimientos desde la perspectiva de las clases y objetos.
Diseño OO
• Proceso de descomposición OO.
• Notación para describir los modelos lógico y físico.
• Modelos estático y dinámico del sistema.
Programación OO
• Paradigma de programación.
• Utiliza objetos y no subprogramas.
• Un objeto es una instancia de una clase.
• Disminuir costos de software
DESARROLLO TRADICIONAL
Vs. ORIENTADO OBJETOS
El desarrollo tradicional de software para un determinado sistema es la subdivisión del mismo en módulos, con ciertos criterios específicos de descomposición. La metodología más usada era la ESTRUCTURADA, que se basa en el diseño descendente y la programación estructurada.
Diseño descendente: DATOS + ALGORITMOS = PROGRAMAS (Ecuación de Wirth)
Romper un programa en tareas más pequeñas y manejables.
Las metodologías estructuradas son poco prácticas en proyectos de gran embergadura.
Los lenguajes OO se fundamentan en los tipos de datos y operaciones sobre estos.
Los datos en la OO están protegidos de modificaciones involuntarias.
En la POO los mensajes, en vez de los datos, se mueven por el sistema.
VENTAJAS DE LAS TECNOLOGÍAS OO
• Las clases se construyen a partir de otras clases. Reutilización.
• Sistemas más fiables.
• Proceso de desarrollo más rápido.
• Desarrollo más flexible.
• Modelos que reflejan mejor la realidad.
• Mejor independencia e interoperatividad de la tecnología.
• Mejor informática distribuida y cliente – servidor.
• Bibliotecas de clases comerciales disponibles.
• Mejores relaciones con los clientes.
• Mejora la calidad del producto software terminado.
MODELOS Y UML
Modelos
• Simplificación de la realidad.
• Planos de un sistema.
• Puede ser estructural (organización del sistema) o del comportamiento (su dinámica).
Modelado • Técnica de la Ingeniería probada y bien aceptada.
• Se usa para que una empresa de Software tenga éxito.
¿Por qué modelamos? • “Construimos modelos para comprender mejor el sistema
que estamos desarrollando”.
• Para visualizar cómo es que queremos que sea un sistema.
• Para especificar la estructura o el comportamiento de un sistema.
• Para tener plantillas que nos guíen en la construcción de un sistema.
• Para documentar las decisiones que hemos adoptado.
Principios del Modelado • La elección de que modelos crear tiene una profunda
influencia sobre como se acomete un problema y como se da forma a una solución.
• Todo modelo puede ser expresado a diferentes niveles de precisión.
• Los mejores modelos están ligados a la realidad.
• Un único modelo no es suficiente. Cualquier sistema no trivial se aborda mejor a través de un pequeño conjunto de modelos casi independientes.
Grady Booch
Ivar Jacobson
James Rumbaugh
Creadores
UML
• Lenguaje Unificado de Modelado.
• Planos del software.
• Lenguaje para visualizar, especificar, construir y documentar artefactos del sistema.
UML
Se basa en una serie de bloques de construcción, elementos (estructurales, del comportamiento, de interacción y máquinas de estados); relaciones (de dependencia, de asociación, de generalización, de realización); diagramas (de clases, de objetos, de casos de uso, de secuencia, de colaboración, de estados, de actividades, de componentes, de despliegue).
Aldo Ramiro Valdez Alvarado
Licenciado en Informática
Master en Dirección Estrategica en Tecnologías de la Información
Docente Titular de Pregrado en la UMSA
Docente de Postgrado en la UMSA
Coordinador del Postgrado en Informática UMSA
Conferencista Nacional e Internacional
http://aldovaldezalvarado.blogspot.com/
https://www.linkedin.com/pub/aldo-valdez-alvarado/20/648/174
Muchas Gracias!!!