ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Desarrollo de Proyecto de software


Enviado por   •  6 de Mayo de 2013  •  4.349 Palabras (18 Páginas)  •  530 Visitas

Página 1 de 18

DIRECCIÓN GENERAL DE EDUCACIÓN SUPERIOR TECNOLÓGICA

INSTITUTO TECNOLOGICO DE ACAPULCO

“Educación Tecnológica con compromiso social”

INGENIERIA EN SISTEMAS COMPUTACIONALES

DIAGRAMAS DE CLASES, INTERACCIÓN Y DE ESTADOS.

Desarrollo de Proyecto de software

Noé de la Cruz Montes de Oca

Maestro: Cesar Augusto Sebastián Gómez

26 de abril de 2013

Diagramas de clases 3

Perspectivas 4

Clases 4

Compartimento del nombre 5

Compartimento de la lista de atributos 5

Relaciones en un diagrama de clases 6

• Relación de asociación 7

• Relación de dependencia 7

• Relación de generalización 7

Asociación 7

• Nombre 7

• Rol 7

• Multiplicidad 8

• Restricciones 8

Tipos de asociación 8

1. Asociación normal 8

2. Agregación 9

• Agregación normal 9

• Agregación compartida 9

• Agregación de composición 9

Ejemplos de asociaciones normales 10

Ejemplos de agregaciones 11

Dependencia 11

• bind 12

• derive 12

friend 12

• powertype 12

• refine 13

Ejemplos de dependencias 13

Diagramas de interacción 14

Diagramas de secuencia 16

Diagrama de colaboración 17

Enfatiza la organización estructural de los objetos que envían y reciben mensajes. Gráficamente, es una colección de vértices y arcos. 17

Para hacer un diagrama de secuencia 17

Para hacer un diagrama de colaboración 18

Diferencias entre los diagramas se secuencia y colaboración Diagrama de secuencia: 18

Diagrama de colaboración: 18

Usos comunes 18

1. Para modelar flujos de control por orden de tiempo 19

2. Para modelar flujos de control por organización 19

Modelando flujos de control por orden de tiempo 19

Modelando flujos de control por organización 20

Ingeniería hacia delante (creación de código desde un modelo) 21

Ingeniería inversa (creación de un modelo desde código) 22

Diagramas de estado 22

Casos de uso reales 26

Diagramas de colaboración 26

Bibliografía 31

Diagramas de clases

Los diagramas de clases se utilizan para modelar la visión estática de un sistema. Esta visión soporta los requisitos funcionales del sistema, en concreto, los servicios que el sistema debería proporcionar a sus usuarios finales. Normalmente contienen: clases, interfaces y relaciones entre ellas: de asociación, de dependencia y/o de generalización.

Los diagramas de clases también pueden contener a paquetes o subsistemas, que se usan para agrupar elementos del modelo en partes más grandes (por ejemplo, paquetes que a su vez contienen a varios diagramas de clases).

Al igual que otros diagramas, en los diagramas de clases pueden aparecer notas explicativas y restricciones.

Perspectivas

Según Fowler, hay tres perspectivas que podemos tener en cuenta a la hora de dibujar los diagramas de clases (o cualquier otro tipo de diagrama, pero es más evidente en los diagramas de clases):

• Conceptual: Estamos dibujando un diagrama que representa los conceptos del dominio del sistema. Estos conceptos se relacionarán de forma natural con las clases que los implementen, pero a menudo no hay una aplicación directa. Es decir, el modelo se dibuja sin tener en cuenta el software que lo implementa y generalmente es independiente del lenguaje de programación.

• Análisis: Desde el punto de vista del software, nos fijamos en las interfaces del software, no en su implementación. Es decir, miramos los tipos más que las clases.

El desarrollo orientado a objetos pone mucho énfasis en la diferencia entre tipo y clase, pero luego no se aplica en la práctica. Es importante separar interfaz (tipo) de implementación (clase). Muchos lenguajes de programación no lo hacen y los métodos, influidos por ellos, tampoco. Esto está cambiando, pero no lo suficientemente rápido (Java y CORBA tendrán algo de influencia aquí). Los tipos representan una interfaz que puede tener muchas implementaciones diferentes debidas, por ejemplo, a las características del entorno de instalación.

• Implementación: Estamos poniendo la implementación al descubierto, pues realmente tenemos clases. Es la perspectiva más utilizada, pero de todas formas la perspectiva del análisis se considera la mejor de las tres.

Clases

Las clases describen un conjunto de objetos con características y comportamiento idénticos, es decir, objetos que comparten los mismos atributos, operaciones y relaciones.

Las clases se representan gráficamente por medio de un rectángulo con tres divisiones internas. Los tres compartimentos alojan el nombre de la clase, sus atributos y sus operaciones, respectivamente. En muchos diagramas se omiten los dos compartimentos inferiores. Incluso cuando están presentes, no muestran todos los atributos y todas las operaciones. Por ejemplo, en la Figura 3.1 viene representada la clase Ventana de tres formas diferentes: sin detalles, detalles en el ámbito de análisis y detalles en el ámbito de implementación.

Compartimento del nombre

Cada clase debe tener un nombre que la distinga de las otras clases. Dicho nombre puede ser un nombre simple (nombre de la clase) o un nombre compuesto (nombre del paquete que contiene a la clase :: nombre de la clase).

En el ejemplo de la Figura 3.1 Ventana es un nombre simple de clase; pero si estuviese contenida en el paquete Gráficos, entonces el nombre compuesto sería Gráficos::Ventana. Otra forma de representar dicho nombre compuesto es escribir dentro de este compartimento primero el nombre del paquete (en este caso, «Gráficos») y debajo el nombre de la clase contenida en él.

Compartimento de la lista de atributos

Los atributos describen las características propias de los objetos de una clase. La sintaxis completa de un atributo es:

[visibilidad] nombre [multiplicidad] [: tipo] [= valor-inicial]

[{lista-propiedades}]

donde visibilidad puede ser:

• + (pública): que hace el atributo visible a todos los clientes de la clase;

• - (privada): que hace el atributo visible sólo para

...

Descargar como (para miembros actualizados) txt (29 Kb)
Leer 17 páginas más »
Disponible sólo en Clubensayos.com