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
aldo_valdez@hotmail.com
Muchas Gracias!!!

UML

  • 1.
    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
  • 2.
    Conceptos Básicos Tecnologías Orientadasa 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
  • 3.
  • 4.
    El Comité deCiencia de la OTAN se reúne en 1968 y 1969… …donde se asumió los términos Ingeniería de Software y Crisis del Software
  • 5.
    El Software eracaro, poco fiable y escaso
  • 6.
    La complejidad delproblema ha crecido considerablemente
  • 7.
    El mantenimiento es considerado unode los mas costosos de las fases del Ciclo de Vida del Software
  • 8.
    • Los cambiosson 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.
  • 9.
  • 10.
    Orientación a Objetos Conjuntode disciplinas (Ingeniería) que desarrollan y modelizan Software que facilitan la construcción de sistemas complejos a partir de componentes.
  • 11.
    • La OOproporciona 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.
  • 12.
  • 13.
    Análisis OO • Enfatizael 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
  • 14.
  • 15.
    El desarrollo tradicionalde 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.
  • 16.
    Las metodologías estructuradasson 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.
  • 17.
  • 18.
    • Las clasesse 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.
  • 19.
    • Mejor informáticadistribuida y cliente – servidor. • Bibliotecas de clases comerciales disponibles. • Mejores relaciones con los clientes. • Mejora la calidad del producto software terminado.
  • 20.
  • 21.
    Modelos • Simplificación dela realidad. • Planos de un sistema. • Puede ser estructural (organización del sistema) o del comportamiento (su dinámica).
  • 22.
    Modelado • Técnica dela Ingeniería probada y bien aceptada. • Se usa para que una empresa de Software tenga éxito.
  • 23.
    ¿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.
  • 24.
    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.
  • 25.
  • 26.
    UML • Lenguaje Unificadode Modelado. • Planos del software. • Lenguaje para visualizar, especificar, construir y documentar artefactos del sistema.
  • 27.
    UML Se basa enuna 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).
  • 29.
    Aldo Ramiro ValdezAlvarado 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 aldo_valdez@hotmail.com Muchas Gracias!!!