SDSDSFFF
SDSDSFFF
SDSDSFFF
COMPUTACIONAL
INTRODUCCIÓN A LENGUAJE ORIENTADO A
OBJETO
FUNDAMENTOS DE PROGRAMACIÓN
COMPUTACIONAL
INTRODUCCIÓN A LENGUAJE ORIENTADO A OBJETO
ELABORACIÓN
VALIDACIÓN
DISEÑO DOCUMENTO
1. LENGUAJE UML:
1.1. UML:
Uno de los principales diagramas que se elaboran utilizando el lenguaje UML es el diagrama de
clases.
Los diagramas de clases son un tipo de diagrama de estructura que describe lo que debe estar
presente en el sistema qué se está modelando. Es uno de los diagramas más utilizados, ya que
trazan claramente la estructura de un sistema concreto al modelar sus clases, atributos,
operaciones y relaciones entre objetos.
1.3.1. Clases:
Los atributos de una clase son las características que tiene esa clase, las operaciones son como
su nombre lo indica lo que se puede hacer con esa clase.
1.3.2. Relaciones:
Una relación identifica una dependencia. Esta dependencia puede ser entre dos o más
clases (más común) o una clase hacía sí misma (menos común, pero existen), este
último tipo de dependencia se denomina dependencia reflexiva.
Las relaciones se representan con una línea que une las clases, esta línea variará
dependiendo del tipo de relación.
Tipos de Relaciones:
Asociación:
La asociación representa una conexión entre dos clases y se representa mediante una
línea.
Ejemplo:
Explicación:
La clase película está conectada a la clase guion mediante una relación de asociación,
se lee “Una película tiene un guion.”
La generalización es una relación de tipo herencia que relaciona las clases padres e
hijas, las clases hijas hereda todos los atributos y operaciones de su clase padre.
Ejemplo:
Explicación:
Las clases Cinta y Filme heredan las características de la clase Película, pero pueden
definir otras características o atributos específicos para cada una.
Otro Ejemplo:
Explicación:
Las clases Perro y Gato heredan características de la clase Animal, como son respirar,
pero además cada clase tiene definido sus propias características, como son Ladrar y
Maullar.
Ejemplo
Explicación:
La clase Software es el todo y la clase Base de Datos es parte de ese todo, es decir,
forma parte de la clase Software, si se elimina la clase Software, la información de la
clase Base de Datos no se altera, porque tienen vida independiente.
El dueño de un hotel te pide a desarrollar un programa para consultar sobre las habitaciones
disponibles y reservar habitaciones de su hotel. El hotel posee tres tipos de habitaciones: simple,
doble y matrimonial, y dos tipos de clientes: habituales y esporádicos. Una reserva almacena
datos del cliente, de la habitación reservada, la fecha de comienzo y el número de días que será
ocupada la habitación
Primero identificaremos las clases, recordar que una clase tiene atributos o características y
operaciones. De acuerdo a esa definición, es posible reconocer las siguientes.
Hotel
Cliente
Reserva
Habitación
La clase Cliente tendrá 2 subclases ya que en el caso explican que puede ser Habitual o
Esporádico.
A continuación se muestra la forma inversa, pasar desde código al diagrama de clases, cuando
se tiene conocimientos sólidos en programación esta forma de elaborar los diagramas de clases
es muy útil.
1.4. PyReverse:
Pyreverse es una utilidad que analiza el código fuente Python y extrae diagramas de clases y
dependencias con paquetes. Se utiliza cuando se quiere pasar del código al diagrama de clases, lo
inverso a como se hace comúnmente.
Pylint
Graphviz
Pyreverse
Una vez que se instalaron los paquetes se debe generar el archivo de clases, el archivo resultante
puede ser un .dot, .vcg o un .png
Algunas de las propiedades que podemos otorgar al crear el archivo son: que se incorporen solo
las clases sin atributos (–k), o todas las relaciones (-A).
Para profundizar acerca de todas las propiedades puede revisar el siguiente link:
Si utilizamos el programa Python que calculaba el promedio, la nota más alta, y la nota más baja
al abrir el archivo .png (resultante luego de utilizar Pyreverse) el diagrama de clases debería
mostrar la siguiente imagen:
UML:
https://www.youtube.com/watch?v=7WRYH2ei5Rw
Diagramas de Clases
https://www.youtube.com/watch?v=Z0yLerU0g-Q
Profundización bibliográfica:
UML
Lenguaje de modelado unificado utilizado para plasmar los procesos que se llevaran a cabo
en el software, uno de los diagramas más importantes en este lenguaje es el diagrama de
clases, el cual sirve para diseñar las clases y las relaciones que existirán entre ellas.
Abstraction (abstracción)
Agregación (aggregation)
Asociación (association)
Clase (clase)
Diagrama de clases (class diagram).
UML (UML)
Lenguaje UML
https://www.youtube.com/watch?v=1I979cB4QWQ
Video
El tutorial de UML:
https://ingenieriasoftware2011.files.wordpress.com/2011/07/el-
Lecturas lenguaje-unificado-de-modelado-manual-de-referencia.pdf
complementarias
Como se revisó en esta entrega, UML es un lenguaje muy utilizado en el proceso del desarrollo de
software, permite trazar los procesos que se implementarán, es transversal al lenguaje de
programación que se utilice, con UML realizamos el diseño y con Python la codificación. Como
se mencionó anteriormente hemos entregado las herramientas ahora es tu turno de colocar en
práctica lo aprendido. Mucho ánimo, programar es cada vez más interesante.
Esta página forma parte del curso Introducción a la programación con Python por
Bartolomé Sintes Marco
https://www.mclibre.org/consultar/python/lecciones/python-entrada-teclado.html
http://titulados.aiep.cl/