Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1.1 Que Es UML
1.1 Que Es UML
• UML
• Notación y semántica estándar
• Extensiones UML
• Tarjetas CRC
• DERE
Tema 1.1
¿Qué es UML?
Historia
En 1996, el Object Management Group (OMG),
un pilar estándar para la comunidad del diseño
orientado a objetos, publicó una petición con
propósito de un metamodelo orientado a
objetos de semántica y notación estándares.
UML, en su versión 1.0, fue propuesto como una
respuesta a esta petición en enero de 1997.
4
Introducción
El Lenguaje Unificado de Modelado prescribe un
conjunto de notaciones y diagramas estándar
para modelar sistemas orientados a objetos, y
describe la semántica esencial de lo que estos
diagramas y símbolos significan. Mientras que
ha habido muchas notaciones y métodos usados
para el diseño orientado a objetos, ahora los
modeladores sólo tienen que aprender una
única notación.
5
Usos
UML se puede usar para modelar distintos tipos de
sistemas: sistemas de software y arquitecturas
mediante patrones de diseño.
6
Tipos
UML ofrece nueve diagramas en los cuales modelar sistemas.
• Diagramas de Casos de Uso para modelar los procesos.
• Diagramas de Secuencia para modelar el paso de mensajes entre objetos.
• Diagramas de Colaboración para modelar interacciones entre objetos.
• Diagramas de Estado para modelar el comportamiento de los objetos en el
sistema.
• Diagramas de Actividad para modelar el comportamiento de los Casos de
Uso, objetos u operaciones.
• Diagramas de Clases para modelar la estructura estática de las clases en el
sistema.
• Diagramas de Componentes para modelar componentes software.
• Diagramas de Nodos para modelar la distribución del sistema (hardware).
7
Creadores
8
Bases
9
Notaciones
10
Tema 1.2
Notación y semántica
estándar
Semántica
1. adj. Perteneciente o relativo a la significación de las palabras.
Estándar
1. adj. Que sirve como tipo, modelo, norma, patrón o referencia.
Fuente: Real Academia Española
12
Por qué una notación…estándar
13
Metodologías
• Shlaer-Mellor
14
Metodologías
• Ejemplo Shlaer-Mellor
15
Metodologías
• Fusión
Fusión, proporciona un método de desarrollo de software orientado a objeto, que
abarca desde la definición de requisitos a la implementación en un lenguaje de
programación.
16
Metodologías
• Responsabilidad Driven Design
• Análisis y diseño orientado a
objetos
• Análisis de software orientado a
objetos
• Análisis visual de objetos
OOPSLA:
• Object-Oriented Programming,
Systems, Languages & Applications
• OML:
Open Modeling Language
• SOMA:
Semantic Object Modelling Approach
• BPMN
Business Process Modeling Notation
• DSL
Domain-Specific Language
17
UML ofrece notación y semántica
estándar
UML ofrece una notación estándar y semánticas
esenciales para el modelado de un sistema
orientado a objetos.
Previamente, un diseño orientado a objetos
podría haber sido modelado con cualquiera de
las metodologías populares, causando a los
revisores tener que aprender las semáticas y
notaciones de la metodología empleada antes
que intentar entender el diseño en sí.
18
Ahora con UML, diseñadores diferentes
modelando sistemas diferentes pueden
sobradamente entender cada uno los diseños de
los otros.
19
Tema 1.3
Extensiones
UML
· Stereotypes
· Tagged values
· Constraints
21
Stereotypes
A stereotype extends the vocabulary of the UML, allowing you to
create new kinds of building blocks that are derived from existing
ones but that are specific to your problem. For example, if you are
working in a programming language, such as Java or C++, you will
often want to model exceptions. In these languages, exceptions
are just classes, although they are treated in very special ways.
22
Stereotypes
Especificación
* Nombre: include
* Aplica a: dependencias entre casos de uso
* Significado: El caso de uso base refiere al caso
de uso incluido como parte de su flujo de eventos.
Note
When you define an icon for a stereotype, consider using color as an accent to
provide a subtle visual cue (but use color sparingly). The UML lets you use any shape
for such icons, and if your implementation permits it, these icons might appear as
primitive tools so that users who create UML diagrams will have a palette of things 23
that look basic to them and speak the vocabulary of their domain.
Tagged values
A tagged value extends the properties of a UML building
block, allowing you to create new information in that
element's specification.
25
Constraints
A constraint extends the semantics of a UML
building block, allowing you to add new rules or
modify existing ones.
26
Example
27
Constraints
Note
Constraints may be written as free-form text. If you want to specify your
semantics more precisely, you can use the UML's Object Constraint Language
(OCL), described further in The The Unified Modeling Language Reference 28
Manual.
Stereotypes, Tagged Values, and Constraints
29
Stereotypes, Tagged Values, and Constraints
30
Conclusions
Collectively, these three extensibility mechanisms allow you to shape and grow
the UML to your project's needs. These mechanisms also let the UML adapt to
new software technology, such as the likely emergence of more powerful
distributed programming languages. You can add new building blocks, modify the
specification of existing ones, and even change their semantics.
Naturally, it's important that you do so in controlled ways so that through these
extensions, you remain true to the UML's purpose• the communication of
information.
31
Tema 1.5
El modelado de clases-responsabilidades
colaboraciones (CRC) aporta un medio sencillo de
identificar y organizar las clases que resulten
relevantes al sistema o requisitos del producto.
Responsabilidades Colaboradores
(operaciones y atributos) (relaciones)
Reservación
Responsabilidades Colaboradores
(operaciones y atributos) (relaciones)
Reservar un cuarto Cuarto
Cliente
Status (nueva, confirmada)
Fecha llegada
Fecha salidas
Forma pago
Número reservación
Modelado de datos con el enfoque
entidad-relación (E-R)
Entidades y atributos
Entidad: Algo del mundo real con existencia independiente, pudiendo ser un
objeto con existencia física (persona, automóvil, casa, o un empleado) o bien un objeto
con existencia conceptual (curso universitario, puesto de trabajo). Cada entidad contiene
propiedades específicas llamadas atributos.
Modelado de datos con el enfoque
entidad-relación (E-R)
Entidades y atributos
Atributos:
Simples: no divisible o atómicos (estado, municipio, etc.)
Compuestos: se pueden dividir en componentes más pequeños que representan
atributos más básicos con su propio significado independiente (domicilio,
nombre, etc.).
Monovaluados: tienen un solo valor (edad, sexo, etc.)
Multivaluados: tienen más de un valor (colores, teléfonos, etc.)
Derivado: derivable de otro u otros atributos (edad puede derivarse a partir de la
fecha de nacimiento)
Clave: su valor es distinto para cada registro individual, a aquellas entidades que
no tienen atributos clave se les denomina entidades débiles.
Modelado de datos con el enfoque
entidad-relación (E-R)
Aquellos vínculos con grado mayor que dos se representan gráficamente asignando
al menos uno de los identificadores de cada uno de los tipos de entidades y colocando la
relación de M:N en los extremos de dicho rombo.
Modelado de datos con el enfoque
entidad-relación (E-R)
Vínculo Atributo
derivado
Atributo simple
Fuente: Elmasri,
Atributo
Navathe
compuesto
Modelado de datos con el enfoque
entidad-relación (E-R)
Herencia de atributos
Generalización
d d
COMPONENTE_FABRICADO COMPONENTE_COMPRADO
Diagrama Entidad-Relación
Extendido
Ejercicio
Diseñar un diagrama entidad-relación que muestre los datos relacionados
con un desastre natural, pudiendo ser un huracán, terremoto o bien
maremoto. Para los tres anteriores se registra el valor económico por los
daños causados y el número de fallecidos, asimismo el país o países que
afectó y la fecha en que sucedió. Para el caso del huracán, además de los
datos anteriores se registra la fecha en que se predijo (cuándo se comenzó a
formar), nombre (“Paulina”, “Alberto”, etc.) y tipo, para el caso del
terremoto se registra asimismo la duración, el radio de acción y la intensidad
en la escala Richter, mientras que para el maremoto la penetración del agua a
tierra (dada en metros).
Ejercicio
• Instalar StarUML
56
Ejercicio
- Visite la página:
- https://youtu.be/aPVllnncWdY, la conferencia “Procesos
de arquitectura de software y su impacto en la
satisfacción de los objetivos de negocio de las
organizaciones” y una vez visto el video en ella, conteste
lo siguiente:
- ¿Qué es un objetivo de negocio?
- ¿Cuáles son los atributos de calidad?
- ¿Qué es la arquitectura de software?
- ¿Quién es la ponente?
- En sus palabras, ¿es importante la arquitectura de software?
57
Actividad de Clase
Tres equipos e investigar:
58