Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DIAGRAMAS UML
BOGOTÁ
2019
3. FORMULACION DE LAS ACTIVIDADES DE APRENDIZAJE
Clase: En informática, una clase es una plantilla para la creación de objetos de datos según
un modelo predefinido. Las clases se utilizan para representar entidades o conceptos, como
los sustantivos en el lenguaje. Cada clase es un modelo que define un conjunto de variables
-el estado, y métodos apropiados para operar con dichos datos -el comportamiento. Cada
objeto creado a partir de la clase se denomina instancia de la clase.
Invariancia: Un invariante es una condición o propiedad que se mantiene cierta en ciertos
puntos del programa. Se usa sobre todo en la depuración de programas en las últimas fases
de su desarrollo o al modificar código existente (prueba de regresión).
Polimorfismo: el polimorfismo se refiere a la propiedad por la que es posible enviar
mensajes sintácticamente iguales a objetos de tipos distintos. El único requisito que deben
cumplir los objetos que se utilizan de manera polimórfica es saber responder al mensaje que
se les envía.
Método: un método es una subrutina cuyo código es definido en una clase y puede
pertenecer tanto a una clase, como es el caso de los métodos de clase o estáticos, como a un
objeto, como es el caso de los métodos de instancia. Análogamente a los procedimientos en
lenguajes imperativos, un método consiste generalmente de una serie de sentencias para
llevar a cabo una acción, un juego de parámetros de entrada que regularán dicha acción o,
posiblemente, un valor de salida (o valor de retorno) de algún tipo.
Herencia: la herencia es, después de la agregación o composición, el mecanismo más
utilizado para alcanzar algunos de los objetivos más preciados en el desarrollo de software
como lo son la reutilización y la extensibilidad. A través de ella, los diseñadores pueden
crear nuevas clases partiendo de una clase o de una jerarquía de clases preexistente (ya
comprobadas y verificadas) evitando con ello el rediseño, la modificación y verificación de
la parte ya implementada.
Instancia: En los lenguajes de programación orientada a objetos un objeto es una instancia
de una clase. Esto es, un miembro de una clase que tiene atributos en lugar de variables. En
un contexto del mundo real, podríamos pensar en "Casa" como una clase y en un chalet
como una instancia de esta e incluso otro chalet u otro tipo de casa como puede ser un
apartamento como otra instancia.
Atributo: un atributo es una especificación que define una propiedad de un objeto, elemento
o archivo. También puede referirse o establecer el valor específico para una instancia
determinada de los mismos.
Sin embargo, actualmente, el término atributo puede y con frecuencia se considera como si
fuera una propiedad dependiendo de la tecnología que se use.
Para mayor claridad, los atributos deben ser considerados más correctamente como
metadatos. Un atributo es con frecuencia y en general una característica de una propiedad.
3.3Actividades de apropiación del conocimiento (Conceptualización y Teorización).
Actividad 3.3.1
DIAGRAMA DE CLASES
UML especifica dos tipos de ámbitos para los miembros: instancias y clasificadores y estos
últimos se representan con nombres subrayados.
Para indicar que un miembro posee un ámbito de clasificador, hay que subrayar su nombre.
De lo contrario, se asume por defecto que tendrá ámbito de instancia.
DIAGRAMA DE OBJETOS
Los diagramas de objeto están ligados a los diagramas de clase y comparten virtualmente
los mismos símbolos para la notación. Los diagramas de objetos pertenecen a la categoría
de diagramas estructurales en UML.
DIAGRAMA DE COMPONENTES
Un diagrama de componentes es un diagrama tipo del Lenguaje Unificado de Modelado.
Debido a que los diagramas de componentes son más parecidos a los diagramas de casos de
usos, éstos son utilizados para modelar la vista estática y dinámica de un sistema. Muestra
la organización y las dependencias entre un conjunto de componentes. No es necesario que
un diagrama incluya todos los componentes del sistema, normalmente se realizan por
partes. Cada diagrama describe un apartado del sistema.
En él se situarán librerías, tablas, archivos, ejecutables y documentos que formen parte del
sistema.
Uno de los usos principales es que puede servir para ver qué componentes pueden
compartirse entre sistemas o entre diferentes partes de un sistema.
DIAGRAMA DE PAQUETES
Dado que normalmente un paquete está pensado como un directorio, los diagramas de
paquetes suministran una descomposición de la jerarquía lógica de un sistema.
Los paquetes están normalmente organizados para maximizar la coherencia interna dentro
de cada paquete y minimizar el acoplamiento externo entre los paquetes. Con estas líneas
maestras sobre la mesa, los paquetes son buenos elementos de gestión. Cada paquete puede
asignarse a un individuo o a un equipo, y las dependencias entre ellos pueden indicar el
orden de desarrollo requerido.
Elementos básicos
Muestra la arquitectura del sistema como el despliegue (la distribución) de los artefactos de
software a los objetivos de despliegue.
Usos
Algunos de los usos que se les da a los diagramas de despliegue son para modelar:
La posición o contexto del caso de uso entre otros casos de uso. Dado que es un
mecanismo de organización, un conjunto de casos de uso coherentes y consistentes
promueven una imagen fácil de comprender del comportamiento del sistema, un
entendimiento común entre el cliente/propietario/usuario y el equipo de desarrollo.
En SysML el diagrama ha sido extendido para indicar flujos entre pasos que mueven
elementos físicos (p. ej., gasolina) o energía (p. ej., presión). Los cambios adicionales
permiten al diagrama soportar mejor flujos de comportamiento y datos continuos. Estos
diagramas utilizan símbolos con significados definidos que representan los pasos del
algoritmo, y representan el flujo de ejecución mediante flechas que conectan los puntos de
inicio y de fin del proceso.
DIAGRAMA DE ESTADO
Un equipo de estado, que está vinculado a un clase o caso de uso, es un gráfico de Estados
y transiciones que describe la respuesta de un objeto a estímulos externos.
Utilidad
Típicamente se examina la descripción de un caso de uso para determinar qué objetos son
necesarios para la implementación del escenario. Si se dispone de la descripción de cada
caso de uso como una secuencia de varios pasos, entonces se puede "caminar sobre" esos
pasos para descubrir qué objetos son necesarios para que se puedan seguir los pasos. Un
diagrama de secuencia muestra los objetos que intervienen en el escenario con líneas
discontinuas verticales, y los mensajes pasados entre los objetos como flechas
DIAGRAMA DE COLABORACIÓN
R: Un tema de mi entorno para aplicar los diagramas de UML sería una compra en un
supermercado.
3.3.3 inglés: Realizar un glosario en inglés, donde cada aprendiz incluya los conceptos más
sobresalientes, relacionados con las definiciones que intervienen en los diagramas UML.
Class: In object-oriented programming, a class is an extensible program-code-template for
creating objects, providing initial values for state (member variables) and implementations
of behavior (member functions or methods). In many languages, the class name is used as
the name for the class (the template itself), the name for the default constructor of the class
(a subroutine that creates objects), and as the type of objects generated by instantiating the
class; these distinct concepts are easily conflated.
Many programming language type systems support subtyping. Variance refers to how
subtyping between more complex types relates to subtyping between their components. For
instance, if the type Cat is a subtype of Animal, then an expression of type Cat can be used
wherever an expression of type Animal is used. How should a list of Cats relate to a list of
Animals? Or how should a function returning Cat relate to a function returning Animal?
How should a list of Animals contain at the same time an instance of Cat and another of
Fish? Depending on the variance of the type constructor, the subtyping relation of the
simple types may be either preserved, reversed, or ignored for the respective complex
types. In the OCaml programming language, for example, "list of Cat" is a subtype of "list
of Animal" because the list constructor is covariant. This means that the subtyping relation
of the simple types are preserved for the complex types. On the other hand, "function from
Animal to String" is a subtype of "function from Cat to String" because the function type
constructor is contravariant in the argument type. Here the subtyping relation of the simple
types is reversed for the complex types.