Está en la página 1de 10

Generación de Código C++ usando

Diagrama de clases
1. Requerimientos
- Instalar Aplicación ArgoUML
o https://argouml.uptodown.com/windows
o https://argouml.uptodown.com/windows
- Una vez instalado, en Archivo -> Notación, asegurarnos que este marcado como UML

- El guardado de proyecto se realizara bajo extensión “ZARGO”, en opción “Archivo” - >


“Guardar proyecto como”.
2. Acerca de ArgoUML
ArgoUML es una herramienta desarrollada en Java que permite realizar un diseño de
aplicación empleando UML, de manera que se puedan dibujar diagramas y crear modelos
como:

- Diagrama de clases
- Diagrama de estados
- Diagrama de actividad
- Diagrama de casos de uso
- Diagrama de colaboración
- Diagrama de despliegue
- Diagrama de secuencia

ArgoUML permite utilizar modelos creados con UML de otros programas y generar códigos
para lenguajes Java, C++, C, PHP4 y PHP5.

Sin embargo solo está disponible la versión 1.4 de este lenguaje.

3. Crear un nuevo Proyecto


Por defecto se inicia un proyecto al momento de abrir ArgoUML, se recomienda darle un
nombre

4. Generar diagramas de clases


La aplicación contiene varias opciones para generar:

 Diagrama de clases: Puede generar desde la opción Crear, o seleccionando el proyecto


e indicar que va a crear nuevo diagrama de clases
 Clases y relaciones: Dentro del diagrama de clases, se generan nuevas clases y
relaciones mediante el menú de objetos donde se selecciona objeto “Clase Nueva” o
seleccionando el proyecto e indicando que va a “Crear elemento del modelo”.

 Tipos de dato: ArgoUML solo almacena los tipos de datos “Integer” y “string”, por ser
tipos de datos generales para diferentes codigos. Se recomienda seleccionar el
proyecto, seleccionar la opcion “Crear elemento del modelo” -> “Tipo de dato nuevo”.

5. Instancia de clase
Se van a crear cada objeto que pertenecera a una clase, por defecto las clases nuevas no
tienen asignado ningun atributo, operación o algun proceso de generacion de instancia de
objeto.
En propiedades de clase se comenzara a identificar, a estructurar, y a otorgar comportamiento
a un objeto perteneciente a una clase mediante nombre de clase, atributos y operaciones.

6. Propiedades de clases
Cada clase posee propiedades que contienen varios elementos, destacando:

- Crear Atributo: Los atributos son características que deben ser privadas para que sus
instancias sean accedidas internamente desde la misma clase.
- Crear Operación: Cada operación es pública para compartir mensajes desde cualquier
clase externa.

También se destaca el tipo de visibilidad:

- Publica: accesible públicamente.


- Paquete: accesible solo al paquete.
- Protegida: solo permite lectura y escritura a ciertos elementos.
- Privada: accesible solo a elementos propios de la clase.
Es necesario especificar el nombre del atributo o método, su visibilidad, su tipo, y sus
parámetros (en el caso del método), por separado.

De forma opcional, también se especifica los tipos de modificadores que podrá tener
disponible

- isRoot: Indica que el orden jerárquico es el nodo inicial.


o Si es TRUE: El elemento no puede tener accesos.
o Caso contrario: El elemento si puede tenerlos.
- isLeaf: Indica que el orden jerárquico es el nodo final.
o Si es TRUE, No es posible de que este elemento posea descendientes
o Caso contrario, el elemento puede tener descendientes
- isAbstract: Usa únicamente clases abstractas, donde sus miembros no pueden hacer
una instanciación dentro de la relación de generalización.
- isActive: Usa únicamente clases activas, donde sus miembros no pueden hacer una
implantación y declarando que no son concurrentes.

7. Atributos
Destaca los siguientes elementos:

- Definir nombre.
- Seleccionar tipo de dato (String, Integer, etc.)
- Visibilidad (público, privado y protegido)
- Multiplicidad (0, 0 ... 1, 0 …*, 1 ...*, 1)
- Valor por defecto.
- Dueño (Por defecto ya está marcado a cual clase pertenece)
8. Operaciones
Destaca los siguientes elementos

- Definir nombre.
- Definir parámetros.
o Si genera nuevo parámetro
 Definir nombre de parámetro
 Seleccionar tipo de dato (String, Integer, etc.)
 Valor por defecto en parámetro.
o Si selecciono parámetro “return”.
 Seleccionar tipo de dato (String, Integer, etc.)
 Valor por defecto en parámetro.
- Visibilidad (público, privado y protegido).

9. Relaciones entre clases


Permite ingresar relación entre dos clases, destacando relaciones de:

- Asociación.
- Agregación.
- Composición.
- Generalización.
- Dependencia.

En ArgoUML, se selecciona uno de los tipos de relaciones y recorre entre dos clases.
Se recomienda enunciar en las propiedades el nombre de la relación y la etiqueta
discriminatoria.

10. Generando código


Una vez creado el diagrama, para generar el código fuente sólo es necesario pulsar F7, o ir al
menú principal, opción Generar (o Generate).

Seleccionar que tipo de código se va a generar, teniendo opciones como C++ (cpp), PHP, C# o
Java.
Si selecciono C++ o CPP, se van a generar archivos que representan a cada objeto
perteneciente a una clase.

El documento es editable, y se puede comenzar a generar las instancias de objeto


11. Caso Práctico
Se genera un diagrama de clases donde se estructura un sistema de publicaciones de libros yh
revistas

En cada clase se ingresaron atributos y operaciones:

- Cada atributo se definió un nombre, se indicó tipo de dato, y se especificó que la


visibilidad es privada.
- Se añadieron operaciones de constructor, ingresando parámetros según atributos.
- Las operaciones “GET” usan el parámetro “RETURN”, especificando el tipo de dato.
- Las operaciones “SET” usan parámetros personalizados, donde se especifica el nombre
y tipo de dato en cada parámetro.

12. Actividad
Generar 4 diagramas de clases de cualquier caso, cada clase debe contener atributos,
operaciones y parámetros, y en cada uno debe tener:
- Relación de herencia
- Relación de composición
- Relación de agregación
- Relación de asociación

Luego, generar código a partir de cada diagrama de clase.

También podría gustarte