You are on page 1of 26

Instituto Politécnico

Nacional
Escuela Superior de Ingeniería Mecánica y Eléctrica
Unidad Culhuacán

“Ingeniería en Computación”

Programación Orientada a Objetos

“Análisis y diseños de sistemas orientados a


objetos mediante uso de UML”

Integrantes:
Hernández Nava María José
Mendoza Fuentes Karina Araceli
Rodríguez Méndez Ariel
Cruz Pérez Edgar

Grupo: 2CX41 Turno: Matutino Fecha de Entrega: 9/09/2015


INDICE TEMÁTICO

INTRODUCCIÓN .......................................................................................................... 3
JUSTIFICACIÓN ........................................................................................................... 3
OBJETIVOS DE APRENDIZAJE .................................................................................. 4
DESARROLLO DEL TEMA........................................................................................... 5
CONCLUSIONES ....................................................................................................... 24
GLOSARIO ................................................................................................................. 25
BIBLIOGRAFÍA ........................................................................................................... 26

2
INTRODUCCIÓN

En el presente trabajo se permite observar el análisis y diseño de sistemas orientado a objetos usando
UML dentro de este trabajo se definen diagramas propios como también poder entender el
modelamiento de diagramas ya existentes, y finalmente se analiza los diagramas que componen UML
y ofrece acercamientos a casos de uso, estos diagramas se usan para modelar sistemas, toda vez
que el Lenguaje de Modelamiento Unificado (UML - Unified Modeling Language) que es un lenguaje
gráfico para visualizar, especificar y documentar cada una de las partes que comprende el desarrollo
de software. UML entrega una forma de modelar cosas conceptuales como lo son procesos de negocio
y funciones de sistema, además de cosas concretas como lo son escribir clases en un lenguaje
determinado, esquemas de base de datos y componentes de software reusables.

Cualquier rama de ingeniería ha encontrado útil desde hace mucho tiempo la representación de los
diseños de forma gráfica. Desde los inicios de la informática se han estado utilizando distintas formas
de representar los diseños de una forma más bien personal o con algún modelo gráfico. La falta de
estandarización en la manera de representar gráficamente un modelo impedía que los diseños gráficos
realizados se pudieran compartir fácilmente entre distintos diseñadores.
Se necesitaba por tanto un lenguaje no sólo para comunicar las ideas a otros desarrolladores sino
también para servir de apoyo en los procesos de análisis de un problema. Con este objetivo se creó el
Lenguaje Unificado de Modelado (UML: Unified Modeling Language).

UML se ha convertido en ese estándar tan ansiado para representar y modelar la información con la
que se trabaja en las fases de análisis y, especialmente, de diseño.

El lenguaje UML tiene una notación gráfica muy expresiva que permite representar en mayor o menor
medida todas las fases de un proyecto informático: desde el análisis con los casos de uso, el diseño
con los diagramas de clases, objetos, etc., hasta la implementación y configuración con los diagramas
de despliegue.
JUSTIFICACIÓN

Es necesario y obligatorio el mejorar la calidad del desarrollo de software y para esto debemos adoptar
procedimientos, metodologías y herramientas que permitan una estandarización en la ingeniería de
software, esto es precisamente lo que ofrecen los lenguajes de modelado de software, un lenguaje
común que permite el crear una disciplina con estándares.

Siendo UML el estándar internacional para el modelado, veamos algunos de los beneficios que ofrece
UML:

- Contaremos con un mejor entendimiento del riesgo del proyecto antes de construir el sistema
- Mejores tiempos totales de desarrollo
- Podremos especificar la estructura y el comportamiento del sistema.
- Mejor soporte a la planeación y al control del sistema
- Un aumento en la calidad del desarrollo
- Reducción en los costos económicos

Estas son algunas de las razones por la cual es necesario adoptar UML como lenguaje de modelado,
otra razón importante es el hecho de que muchas compañías a la hora de contratar servicios de
desarrollo exigen que el lenguaje de modelado utilizado sea UML.

3
OBJETIVOS DE APRENDIZAJE

1. Comprender que es el análisis y diseño de sistemas orientados a objetos, y apreciar su utilidad.

2. Comprender los conceptos del lenguaje unificado de modelo (UML), la metodología estándar para
modelar un sistema en el mundo orientado a objetos.

3. Aplicar los pasos utilizados en el UML para descomponer el sistema en un modelo de casos de usos
y después en un modelo de clases.

4. Hacer diagramas de los sistemas con el conjunto de herramientas de UML, para poder escribirlos y
diseñarlos en forma apropiada.

5. Documentar y comunicar el sistema orientado a objetos recién modelado para los usuarios y demás
analistas.

4
DESARROLLO DEL TEMA

ANÁLISIS Y DISEÑO DE SISTEMAS ORIENTADOS A OBJETOS MEDIANTE EL USO DE UML


La metodología que ofrece el análisis y diseño orientado a objetos facilita los métodos lógicos para
que sean rápidos y que sean mucho más detallados para que respondan mejor. La reutilización de los
objetos se usa como principal beneficio, ya que al reciclar las partes del programa se reducen costos
del desarrollo, y aunque sea el principal objetivo, también es importante el mantenimiento de los
sistemas ya que si se llega a modificar un objeto, puede tener un impacto en los demás objetos.
Para comprender mejor el análisis y diseño orientado a objetos es importante conocer los conceptos
básicos:
 Objetos: son personas, lugares o cosas que tienen alguna relevancia para el sistema que se
está analizando, ya sean objetos comunes como lo son los clientes, artículos, pedidos, etc.
 Clases: tener un punto de referencia y con base a eso describir un objeto específico en términos
de similitudes o diferencias.
 Reutilizable: en el mundo orientado a objetos, significa que se puede ser más eficiente gracias
a que no hay necesidad de comenzar desde el principio al momento de describir algún objeto
cada vez que se requiera.
 Herencia: se puede crear una clase a partir de otra, a la que se le conoce como la clase base,
la cual puede tener una o varias clases derivadas. La herencia se transmite de la clase original
a la clase derivada, de manera que la clase derivada puede tener atributos y comportamientos
de la clase base.

Tarjetas CRC y pensamiento en objetos
Gracias a los conceptos básicos antes mencionados podemos comenzar con la metodología orientada
a objetos, por lo cual es útil el desarrollar tarjetas CRC. CRC representa a las clases, responsabilidades
y colaboradores. Las tarjetas CRC se utilizan para representar las responsabilidades de las clases y
las interacciones entre ellas, ya que se deben crear con base en los escenarios que describen los
requerimientos del sistema. Los escenarios modelan el comportamiento del sistema que se está
estudiando.
Las tarjetas CRC se pueden crear de forma manual en pequeñas tarjetas de cartulina, o también
mediante el uso de una computadora, lo cual ayuda a aclarar el pensamiento y a pasar directamente
a la creación de diagramas de UML. Son una herramienta muy útil que sirve para representar sistemas
orientadas a objetos y comunicar entre diferentes participantes.
El objetivo principal de las tarjetas es crear un inventario de las clases que se necesitan implementar
en el sistema y la forma en que van a interactuar, de esta manera se puede facilitar el análisis por
parte de varios equipos de proyecto y así el diseño del objeto puede verse de la forma más simple
posible

5
Interacción durante una sesión CRC
Las tarjetas CRC se pueden crear de manera interactiva gracias a que los analistas trabajan en
conjunto. Un objetivo principal es buscar todos los sustantivos y verbos en un enunciado del problema.
Por lo general, los sustantivos indican las clases del sistema, y para encontrar las responsabilidades
hay que identificar los verbos.

En las tarjetas CRC se llenan con los detalles para las clases, las responsabilidades y los
colaboradores, así como enunciados de pensamiento en objetos y los nombres de las propiedades.
Conceptos y diagramas del lenguaje unificado de modelado (UML)
Es importante y conveniente investigar y comprender la metodología del UML debido a su amplia
aceptación y uso, también provee un conjunto de herramientas para documentar el análisis y diseño
de un sistema. Entre estas herramientas se conocen los diagramas que permiten visualizar la
construcción de un sistema (similares a los planos de construcción), la documentación que provee un
medio muy eficaz de comunicarse entre el equipo de desarrollo y el equipo de negocios.

En UML los componentes primarios se les llama cosas, las cosas estructurales son más comunes ya
que son clases, interfaces casos de uso y muchos otros elementos que ayudan a crear modelos,
además de que permiten al usuario describir las relaciones y la forma de funcionamiento. Las cosas
de grupo se utilizan para definir límites ya sea por paquetes o grupos, y también están las cosas de
anotaciones que sirven para agregar notas en los diagramas.
Las relaciones estructurales sirven para unir las cosas en los diagramas, además de incluir
dependencias, agregaciones, asociaciones y generaciones que comúnmente se muestran en la
herencia de clases, y las relaciones de comportamiento se utilizan en diagramas de comportamiento.
6
Hay dos tipos principales de diagramas en UML: diagramas estructurales y diagramas de
comportamiento. Los estructurales se utilizan para describir relaciones entre clases. Éstos se dividen
en diagramas de clase, de objetos, de componentes y de despliegue. Por otro lado están los diagramas
de comportamiento que se utilizan para describir la interacción entre las personas y lo que se denomina
caso de uno.
Los seis diagramas que se utilizan con más frecuencia en UML son:
1. Diagrama de caso de uso, que describe la forma de utilizar el sistema
2. Escenario de caso de uso. El escenario es una articulación verbal para el comportamiento de
principal por el caso de uso.
3. Diagrama de actividad, que ilustra el flujo general de las actividades (cada caso de uso puede
generar un diagrama de actividad).
4. Diagramas de secuencia, muestran la secuencia de las actividades y las relaciones de clases.
5. Diagramas de clase, que muestran las clases y sus relaciones. Los diagramas de secuencia
determinan las clases y los diagramas de generalización son derivados del diagrama de clase.
6. Diagramas de estados, muestran las transiciones de estado.

Modelado de casos de uso


UML se basa fundamentalmente en la técnica de análisis orientado a objetos que es conocida como
modelado de casos de uso, muestran una vista del sistema por lo cual describe lo que hace el sistema
sin describir como lo hace. Al hacer uso de las técnicas de UML se pueden analizar con más facilidad
y mayor detalle los objetos y sus interacciones para derivar su comportamiento, atributos y relaciones.
Un caso de uso describe tres cosas principales: un actor que indica un evento, el evento que
desencadena un caso de uso y el caso de uso que realiza las acciones desencadenadas por el evento.
Diagramas de actividad
Son aquellos que muestran la secuencia de actividades secuenciales y paralelas incluyendo las
decisiones que se llegan a tomar

7
Las Bifurcaciones
permiten realizar
actividades en
paralelo. Se pueden asignar
carriles al
diagrama para
asignar
responsabilidades

http://www.conocimientosweb.net/portal/cursos/2008/img/09.gif
- Una flecha representa un evento.
- Los eventos representan cosas que ocurren en cierto momento y lugar
- Un diamante representa una decisión, (ramificación) o una fusión.
En las decisiones hay una flecha que entra en el diamante y de él salen varias. Las fusiones
muestran varios eventos que se combinan para formar un evento.
- Un rectángulo largo y plano representa una barra de sincronización
Dentro de ellas existen varias actividades paralelas dentro de ellas puede existir un evento, entre la
barra de sincronización y varios eventos que salen de ellas se les llama bifurcaciones.
- Existen 2 tipos de simbología para inicio y fin, en el inicio se utiliza un circulo relleno de color
negro, y para el fin se utiliza un circulo color negro y un circulo blanco alrededor.
- Los rectángulos que rodean otros círculos se denominan carriles (swimlanes).
Se utilizan para mostrar actividades que se realizan en cada plataforma, como un navegador,
servidor a computadora mainframe; también muestran las actividades que realizan distintos grupos
de usuarios.

8
Características Principales
- Muestra los aspectos dinámicos de un sistema
- Puede describir procesos o casos de uso.
- Permite elegir el orden en que pueden hacerse las cosas.
- Establece las reglas de secuencia a seguir.
Utilidad
Los diagramas de actividad pueden visualizar, especificar y documentar la dinámica de un conjunto de
objetos. También se pueden usar para modelar el flujo de control de una operación. Mientras que los
diagramas de interacción enfatizan el flujo de control de un objeto a otro, los diagramas de actividad
subrayan el flujo de control de una actividad a otra.
Finalidad
- Modelar el flujo de tareas
- Modelar las operaciones
Ventajas
- Permite elegir el orden en que pueden hacerse las cosas.
- Puede describir procesos o casos de uso.
- Muestra los aspectos dinámicos de un sistema.
- Establece las reglas de secuencia a seguir.
- Ayuda a un programador a desarrollar código a través de una descripción lógica de un proceso.
Desventajas
La gran desventaja de los diagramas de actividad es que no indican de forma explícita qué objetos
ejecutan qué actividades ni tampoco la forma en que el servicio de mensajería trabaja entre ellos. Para
mostrar tales interacciones de forma clara son necesarios los diagramas de interacción, los cuales son
más utilizados en la práctica.
Creación de diagramas de actividad
Primero se debe de conocer que pasa primero y que pasa después, al igual debemos de determinar
qué es lo que sucederá en secuencia y que sucederá en paralelo, si tenemos ya un diagrama de flujo
hay que examinar donde se toman decisiones, al igual podemos crear diagramas de actividad al
examinar los escenarios de uso.

9
Los carriles son útiles para mostrar cómo se debe de transmitir o convertir los datos, por ejemplo el
diagrama d actividad de renta de película cuenta con 2 carriles
Cundo un evento cruza el carril del servidor a la computadora mainfarme, debe de haber un
mecanismo para transmitir los datos del evento entre las dos plataformas.
Cada computadora usa un formato distinto para representar los datos, los servidores usan distinto
formato de representación de datos (ASCII) al que usan las computadoras mainfarme (uno de ellos
llamado EBCDIC). Debe de haber middlware present3 para hacer la conversión. A menudo las
computadoras IBM utilizan la cola de mensajes esta es la que recibe datos de programas el servidor,
los coloca en un área de retención y llama un programa de la mainfarme por lo general escrito en un
lenguaje conocido como CICS. Este es el que recupera o actualiza los datos y envía los resultados
de nuevo a la cola de mensaje.
Los carriles también ayudan a dividir las tareas de un equipo. Se requieren diseñadores Web para
las páginas que se les muestran en el navegador a los clientes. Tales como Java, PHP, Ruby on
Rails, PERL o .NET los programadores de CICS de la mainfarme escribirán programas que
funcionaran con la cola de mensajes.
El diagrama de actividad provee un mapa de un caso de uso, el uso de símbolos únicos y carrieles
hace de este diagrama algo que las personas desean usar para comunicarse con los demás.
Los diagramas de actividad no se utilizan para todos los casos. Debe de usar diagramas e actividad
cuando
1. Le ayude a comprender las actividades de un caso de uso.
2. El flujo e control se complejo.
3. Exista la necesidad de modelar el flujo de trabajo
4. Haya que mostrar todos los escenarios
También se pueden usar los diagramas para pódela un método de nivel más bajo, en el que se
muestre la lógica detallada.
Entradas en el repositorio para un diagrama de actividad
Cada estado y evento se pude definir con más detalle mediante el uso de la descripción. Hay que
describir los estados con información sobre el estado, tal como el nombre de la página Web, sus
elementos y otros datos del formulario Web, estos se colocan en la cola de mensajes.
DIAGRAMAS DE SECUENCIA Y DE COMUNICACIÓN
Un diagrama de interacción pueden e un diagrama de secuencia, o un diagrama de comunicación
delos cuales ambos muestran la misma información. Estos y los de clase se utilizan en la realización
de un caso de uso.
Diagramas de secuencia
Los Diagramas de Secuencias muestran la forma en que un grupo de objetos se comunican
(interactúan) entre sí a lo largo del tiempo.
Un Diagrama de Secuencia consta de objetos, mensajes entre estos objetos y una línea de vida del
objeto representada por una línea vertical.

10
nombre Objeto: Un nombre seguido de dos puntos representa
al objeto
:clase Un signo de dos puntos seguido de un nombre
representa a una clase
Nombre Objeto: clase Un nombre seguido de un signo de dos puntos
y de otro nombre representa a un objeto de la
case

https://softopia.wordpress.com/2007/11/21/diagramas-de-estados-actividades-y-secuencia/
- Una línea vertical representa la línea de vida de una clase o un objeto, que corresponde al
tiempo del que se creó hasta el momento que se destruye.
- La barra lateral o de un rectángulo vertical de la línea de vida muestra el foco de control cuando
el objeto está ocupado haciendo cosas.
- Las flechas horizontales muestran mensajes o señales que se envían entre las clases, los
mensajes pertenecen a la clase receptora.
- Las medias puntas de flecha (o abiertas) representan a las llamadas asíncronas: aquellas que
envían si esperar que la clase emisora devuelva
Es un diagrama de interacción que muestra información similar a los diagramas de secuencia pero su
foco principal es en la relación de objetos.
En los diagramas de comunicaciones, los objetos como se muestran con conectores de asociación
entre ellos. Los mensajes se agregan a las asociaciones y se muestran como flechas cortas apuntando
en la dirección del flujo del mensaje. La secuencia de los mensajes se muestra a través de un esquema
enumerado.

11
Diagramas de clase
Las metodologías orientadas a objetos trabajan para descubrir las clases, tributos, métodos y
relaciones entre las clases.
Estos diagramas muestran las características estáticas del sistema y no representan ningún
procesamiento en especial.
Muestran las relaciones que existen entre las distintas clases y objetos del sistema, las clases y objetos
del sistema y su estructura interna, se concentran en los elementos del sistema de forma independiente
del tiempo (Muestran aspectos estáticos y no dinámicos).
Sirven para realizar la abstracción de un dominio y formalizar el análisis de los conceptos relacionados
al mismo, definir / documentar una solución de diseño, es decir, la estructura del sistema que se va a
implementar en términos de clases y objetos, definir / documentar modelado de datos.

http://cecilia-sanchez.blogspot.mx/2010/11/semana-6-diagramas-de-clase-de-uml.html
Tipos de clase
Clase
Es la unidad básica que encapsula toda la información de un Objeto (un objeto es una instancia de
una clase). A través de ella podemos modelar el entorno en estudio (una Casa, un Auto, una Cuenta
Corriente, etc.).
En UML, una clase es representada por un rectángulo que posee tres divisiones:

12
En donde:
- Superior: Contiene el nombre de la Clase
- Intermedio: Contiene los atributos (o variables de instancia) que caracterizan a la Clase (pueden
ser private, protected o public).
- Inferior: Contiene los métodos u operaciones, los cuales son la forma como interactúa el objeto
con su entorno (dependiendo de la visibilidad: private, protected o public).
Tipos de clases
- Clases de entidad
Representan elementos del mundo real como personas o cosas, por ejemplo, las clases son las
entidades representadas en un diagrama de entidad-relación. Las herramientas CASE como Visible
Analyst les permiten crear una clase de entidad de UML a partir de una entidad en un diagrama E-R
- Clases de limite o de interfaz
Proveen los medios para que los usuarios trabajen con el sistema. Hay dos amplias categorías de
clases de interfaz: humana y de sistema.
Una interfaz humana puede ser una pantalla, una ventana, un formulario Web, un cuadro de dialogo,
un menú, un cuadro de lista u otro control de visualización. También puede ser un teléfono de tonos,
código de barras o cualquier forma en que los usuarios puedan interactuar con el sistema.
- Clases abstractas
Son clases que no se pueden distanciar en forma directa. Las clases abstractas están enlazadas a
clases concretas en una relación de generalización/especialización (gen/spes). Por lo general en
nombre de una clase abstracta se escriben en cursiva
- Clases de control
Las clases de control o activas se utilizan para controlar el flujo de actividades; actúan como un
coordinador a la hora de implementar las clases. Para obtener clases que se puedan utilizar, un
diagrama de clases puede incluir muchas clases de control pequeñas. A menudo las clases de
control se derivan durante el diseño del sistema.
DEFINICION DE MENSAJES Y MÉTODOS
Podemos definir cada mensaje mediante una notación similar a la que se describe para el diccionario
de objetos, la definición debe incluir una lista de parámetros que pasan con el mensaje, así como los
elementos contenidos en el mensaje de retorno. Los métodos pueden tener lógica definida mediante
el español estructurado, una tabla de decisión o un árbol de decisión.
Todos los datos que se devuelven de una clase de entidad se deben obtener de los atributos
almacenados en la clase de entidad, de los parámetros que se pasan en el mensaje que se envía a la
clase o como resultado de in cálculo realizado por el método de la clase.
COMO MEJORAR LOS DIAGRAMAS DE SECUENCIA
Una vez dibujado el diagrama de clases, es conveniente regresar al diagrama de secuencia e incluir
símbolos especiales para cada uno de los tipos de clases. Los siguientes pasos son un método útil
para mejorar un diagrama de secuencia:
13
1. Incluya el actor del diagrama de caso de uso en el diagrama de secuencia mejorado. Sera una
figura de palitos del diagrama del diagrama de caso de uso.
2. Defina una o más clases de interfaz para cada actor. Cada actor debe tener su propia interfaz.
3. Cree prototipos de páginas web para todas las interfaces humanas.
4. Asegúrese de que cada caso de uso tenga una clase de control.
5. Examine el caso de uso para ver que clases de entidad están presentes. Incluya estas en el
diagrama.
6. El diagrama de secuencia se puede modificar de nuevo al realizar el diseño detallado.
7. Para obtener un mayor grado de reutilización, considere mover los métodos de una clase de
control a una clase de entidad.
Un ejemplo de clase para Web
Las clases también se pueden representar mediante símbolos especiales para clases de entidad, de
límite (o interfaz) y de control, se les denomina estereotipos; una extensión para UML son símbolos
especiales, permiten al analista la libertad de jugar con el diseño para optimizar el grado de
reutilización.
Los distintos tipos de clases se utilizan con frecuencia al trabajar en la fase de diseño de sistemas
Ejemplo que muestra un diagrama de
secuencia de un estudiante que ve su
información personal y del curso.
:Interfaz de usuario ver estuante es un
ejemplo de una clase de interfaz.
:Estuante, :Sección y :Curso son ejemplo
de clase de entidad.
:Controlador interfaz ver estudiante y
:Calcular promedio calificación son clases
de control.
El estudiante se muestra a ala izquierda y
proporciona inicioSecionUsuario a la clase
:Interfaz de usurio ver estudiante.
Este es un formulario Web que obtiene ID y
la contraseña del usuario, cuanto el estuante
hace clic en el botón enviar, el formulario
Web pasa a un :Controlador interfaz ver
estudiante. Esta clase es responsable de la
coordinación al enviar los mensajes y recibir la infromacin devuelta por las otras clases.
El .Controlador interfaz ver estuante envían un mensaje obtenerEstuante() a la clase :Estuante,
la cual lee una tabla en la base de datos y porcede a devolver los datosEstiante.
La paginaWenEstudiante se devuelve a la :Interfaz de usuario ver estuante, la cual muestra la
infromacion en el navegador, al final hay un botonSiguiente, el cual el estudiante hace clic para ver
los curso.

14
La clase :Controlador interfaz ver estuante envía un mensaje obtenerSeccion() a la clase :Sección
la cual devuelve una calificaciónSeccion, la cual envía un mensaje devuelta a la clase :Curso, la
clase :Curso devuelve créditos que permiten a la clase :Calcular promedio calificación determinar
el GPA y devolverlo :Controlador de interfaz.
Al utilizarlas clases de interfaz de usuario, de control y de entidad, el analista puede explorar el diseño
con él, puede modificarlo de manera que la información personal del estudiante y del curso aparezcan
en una página web. Una de las dificultades es determinar cómo concluir el número de Estudiante
después de hacer clic en el botón siguiente. Hay tres formas de almacenar y retransmitir los datos
desde una página web:
1. Incluir la información del URL que se muestra en el área de dirección o ubicación del navegador.
Todo lo que va después del signo de interrogación son datos que los métodos de clase pueden
utilizar, este medio de almacenar los datos es fácil de implementar y se utiliza en los motores
de búsqueda.
Hay varias desventajas, la primera es la privacidad; cualquier persona puede leer la dirección
Web. Si la aplicación involucra información médica, números de tarjeta de crédito, etc. No es
una buena opción. Una segunda desventaja es que por o general los datos se pierden una vez
que el usuario cierra el navegador.
2. Almacenar la información en una cookie: un pequeño archivo almacenado en una computadora
cliente. Las cookies constituyen la única manera de almacenar datos para que persistan más
allá de la sesión actual del navegador, están limitadas a 20 por dominio y cada cookie debe ser
de 4,000 caracteres o menor.

3. Use campos ocultos en los formularios Web, por lo general contiene datos que envía el servidor,
son invisibles y no ocupan en la página web.

Las capas de presentación, negocios y persistencia en los diagramas de secuencia


Al escribir código para sistemas es útil analizar los diagramas de secuencia como si tuvieran tres
capas:
1. La capa de presentación, que representa lo que ve el usuario, contiene las clases de interfaz o
de límite.
2. La capa de negocios, que contiene las reglas únicas para esta aplicación, contiene las clases
de control
3. La capa de persistencia o acceso a los datos, que describe la forma de obtener y almacenar los
datos, contiene las clases entidad.
Antes de la creación de Ajax, el usuario que visitaba una página web respondía a algunas preguntas
mediante la introducción de datos en un formulario basado en un web y después tenía que esperar
hasta que se cargara una nueva página. Con la llegada de Ajax ,la página web se actualizaba con
rapidez debido a que gran parte del proceso de validación y demás lógica de control de JavaScript de
navegador o del lado del cliente.

15
COMO MEJORAR LOS DIAGRAMAS DE CLASES
Los símbolos de clases también se pueden usar en los diagramas de clases y de comunicación, cada
clase tiene atributos y métodos. Si la clase es de tipo interfaz de usuario, los atributos son los controles
o campos en la pantalla o formulario, serían los que trabajan con la pantalla.
Si la clase es una clase control, los atributos serian aquellos que se necesitan para implementar la
clase, como las variables que se utilizan solo en la clase de control.
Si la clase es una de entidad, los atributos almacenados para la entidad y los métodos que trabajan
directamente con la entidad, como crear una instancia, modificar, eliminar, obtener o imprimir.

RELACIONES
Otra manera de mejorar los diagramas de clases es mostrar las relaciones. Estas son las conexiones
entre clases, de manera similar a las que se encuentran en un diagrama de entidad-relación. Las
relaciones se muestran como líneas que se conectan a las clases en un diagrama de clases. Hay dos
categorías de relaciones:
Asociaciones
El tipo más simple de relación es una asociación o conexión estructural entre clases u objetos, ser
muestran como una siempre línea en un diagrama de clases, los puntos finales de la línea se etiquetan
con un símbolo que indica la multiplicidad, que es los mismo que la cardinalidad en un diagrama de
entidad-relacion

16
Relaciones entre un todo y sus partes
Estas relaciones se dan cuando una clase representa al objeto como un todo y otras clases
representan partes de ese objeto. El todo actúa como un contenedor para las partes.
Una relación entre un todo y sus partes puede ser un objeto entidad que tenga para distintas, como un
sistema computarizado que incluye computadora, impresora, pantalla , etc., las relaciones entre un
todo y sus partes tienen tres categorías:
Agregación: se describe comúnmente como una relación “tiene un”, provee el medio para
mostrar que todo el objeto está compuesto de la suma de sus partes.
Colección: consiste de un todo y sus miembros. Este puede ser un distrito de votación con
volantes o una biblioteca con libros.
Composición: es una relación entre un todo y sus partes, donde el todo tiene una
responsabilidad por cada parte. Es una relación que por lo general se muestra con un diamante relleno.
Las palabras clave para la composición son una clase “siempre contiene” a otra clase.
DIAGRAMAS DE GENERALIZACION/ESPECIALIZACION (Gen/spec)
Un diagrama de generalización se puede considerar un diagrama de clases mejorado, es necesario
separa las generalizaciones de las instancias específicas.
Generalización
Describe una relación entre un tipo general de cosa y un tipo más específico de cosa.Este tipo de
relación se describe comúnmente como una relación “es un”.
Herencia
Varias clases pueden tener los mismos atributos y/o métodos. Cuando esto ocurre, se crea una clase
general que contiene los artículos y métodos comunes. La clase especializada recibe o heredada los
atributos y métodos de la clase genera.
Polimorfismo
El polimorfismo o redefinición de métodos es la capacidad de un programa orientado a objetos de tener
varias versiones de un mismo método con el mismo nombre dentro de una relación
superclase/subclase. La subclase heredada un método puede cambiar la forma en la que trabaja el
método.
Clase abstracta
Las clases abstractas son clases generales y se utiliza cuando se incluyen la
generalización/especificación (gen/spec) en el diseño. La clase general se convierte en clase
abstracta, no tiene objetos directos o instancias de clase y se utiliza como en conjunto con clases
especializadas.
Identificar clases abstractas
Tal vez pueda identificar las clases abstractas si encuentra varias clases o tablas de base de datos
que tengan los mismos elementos, o varias clases tienen los mismos métodos. Podemos crear una
clase general al extraer los atributos y métodos comunes.
17
Buscar clases
Hay varias formas de determinar las clases, durante las sesiones de entrevista, cada clase debe existir
para un objeto distinto que tenga una definición clara.
Determinar los métodos de las clases
El analista debe determinar los atributos y métodos de las clases, los atributos son fáciles de identificar,
pero los métodos que trabajan con los atributos pueden ser más difíciles de identificar. Algunos
métodos son estándar y siempre están asociados con una clase.
Otra manera útil de determinar los métodos es examinar una matriz CRUD. Cada letra requieres de
un método distinto. Si hay una C para crear, se agrega un método new(). Si hay una U para actualizar
() o cambiar (). Si hay una D para eliminar, se agrega un método eliminar() o quitar(),si hay una R para
leer, se agregan métodos para buscar, ver o imprimir.

Mensaje
Para poder lograr un trabajo útil, la mayoría de las clases se necesitan comunicarse entre si. La
información se puede enviar mediante un objeto en una clase a un objeto en otra clase a través de un
mensaje, en forma similar a una llamada en un lenguaje de programación tradicional. Un mensaje
actúa como comando para indicar a la clase receptora que haga algo.
Diagramas de Estados
Este tipo de diagrama es conocido también como diagrama de transiciones de estado; Se trata de otra
herramienta para determinar los métodos de las clases. Se utiliza para examinar los diferentes estados
que puede tener un objeto.

18
Los diagramas de estados se crean para una sola clase, los objetos se crean, pasan por cambios y se
eliminan o quitan. El estado tendrá un nombre en el que cada palabra se escribe con mayúscula y
este debe ser único y descriptivo, tendrá acciones de entrada y de salida.
Los eventos provocaran un cambio del estado del objeto y se dice que una transición se disipará. Los
estados separan eventos y los eventos separan estados, como un evento Pedido recibido o un evento
Pedido completo.
Las condiciones de guardia se muestran entre corchetes a un lado de la etiqueta de evento; Entonces
un evento produce la transición y ocurre cuando se cumple la condición de guardia la cual es algo que
se evalúa como verdadero o falso. También puede ser una condición que ocurra en un método, como
un elemento que este agotado.
Los eventos se clasifican en tres categorías distintas:
1. Señales o mensajes asíncronos, que ocurren cuando el programa que hace la llamada no espera
un mensaje de retorno, como una característica que se opera desde el menú.
2. Mensajes sincrónicos, que son llamadas funciones o subrutinas. El objeto que hace la llamada s e
detiene y espera a que se le regrese el control, junto con un mensaje opcional.
3. Eventos temporales, que ocurren en un tiempo predeterminado. Por lo general no involucran a un
actor o a un evento externo.
La única forma de guardar los objetos transitorios es almacenar la información sobre ellos, como
cuando se guardan los datos web en una cookie.
Cada estado debe tener por lo menos una transición de entrada y salida. Algunos diagramas de
estados usan los mismos símbolos de inicio y terminación que los que utiliza un diagrama de actividad,
ósea, un círculo relleno para representar el inicio y círculos concéntricos con el centro relleno para
indicar el fin del diagrama.
Los estados se representan mediante rectángulos y los eventos o actividades son las flechas que
enlazan los estados y hacen que un estado cambie a otro estado. Los eventos de transición se
nombran en pasado por que ya ocurrieron para crear la transición.
Los diagramas de estado se crean solo cuando una clase tiene un ciclo de vida complejo; cuando una
instancia de una clase puede actualizar sus atributos en varias formas durante el ciclo de vida; cuando
una clase tiene un ciclo de vida operacional; cuando dos clases dependen una de la otra; y cuando el
comportamiento actual del objeto depende de lo que ocurrió antes.
Para hacer más clara la idea de estos diagramas, a continuación se mostrara una imagen donde se
representa de manera simple un diagrama de estados que da a conocer como un estudiante progresa
de estudiante potencial a estudiante graduado. El diagrama contiene los símbolos ya mencionados
(Rectángulos y flechas) y las características que de igual forma ya se han comentado.

19
Paquetes y otros artefactos de UML
Los paquetes don contenedores para otras cosas de UML, pueden mostrar el partisionamiento del
sistema, para indicar que clases o casos de uso se agrupan en un subsistema, a lo cual se le denomina
paquetes lógicos. También pueden ser paquetes componentes que contienen componentes físicos del
sistema, o paquetes de casos de uso que contienen un grupo de casos de uso. Los paquetes usan un
símbolo de carpeta con el nombre del paquete en la ficha de la carpeta o centrado en la misma.
También se relacionan de manera similar a los diagramas de clases que puede incluir asociaciones y
herencias.

20
La figura anterior ejemplifica un diagrama de paquetes de casos de uso. Muestra que cuatro casos de
uso (Agregar estudiante, Inscribirse en clase, Transferir créditos y Ver información de estudiante) son
parte del paquete estudiante. Los casos de usos serian (Agregar docente, Ver información de docente
y Asignar a curso) los que forman el paquete de Docente.
El diagrama de componentes es similar a un diagrama de clases, solo que es más como una vista
superficial de la arquitectura del sistema, este muestra los componentes del sistema como un archivo
de clase, un paquete, las bibliotecas compartidas, una base de datos, etc. y la forma en que se
relacionan entre sí. Si existen diagramas de componentes individuales estos se consideraran a detalle
dentro de otros diagramas UML.
El éxito del UML depende de la documentación completa y precisa de nuestro modelo del sistema para
proveer toda la información que sea posible al equipo de desarrollo.
Ponga el UML a trabajar
El UML provee un útil conjunto de herramientas para el análisis y diseño de sistemas. Para poner en
marcha a éste realice las siguientes instrucciones:
1. Defina el modelo de clases de uso.
 Busque los actores en el dominio del problema; revise los requerimientos del sistema.
 Identifique los eventos principales realizados por los actores y desarrolle un conjunto de casos
de uso primario en un nivel muy alto
 Desarrolle diagramas de casos de uso para comprender el comportamiento de los actores en
relación con los casos que definen al sistema.
 Clarifique los casos de uso primarios para desarrollar una función detallada de la funcionalidad
del sistema para cada caso de uso primario.
 Revise los escenarios de casos de uso para verificar los procesos e interacciones.

21
2. Continúe con la creación de diagramas de UML para modelar el sistema durante el análisis de
sistemas.
 Derive los diagramas de actividad a partir de los diagramas de casos de uso.
 Desarrolle los diagramas de secuencia y de comunicación a partir de los escenarios de los
casos de uso.
 Revise los diagramas de secuencia cono los expertos del área de negocios para verificar los
procesos e interacciones y así poder modificar de tal manera que los expertos estén de acuerdo
con el trabajo ya realizado hasta este punto.
3. Desarrolle los diagramas de clases.
 Buscar las características en los casos de uso y hacer una lisa para identificar los objetos
potenciales para crear las clases.
 Defina las relaciones entre las clases.
 Examinar los casos de uso y de secuencias para determinar las clases y desarrollar el sistema
mostrando las clases y relaciones que existen en los casos de uso con ayuda de un diagrama.
4. Dibuje diagrama de estados.
 Con base en los diagramas de clase, elabore los diagramas de estados de manera que se
pueda proveer un análisis más detallado.
 Determine los métodos al examinar los diagramas de estados indicando si los métodos y
atributos de la clase son públicos (acceso externo) o privados (acceso interno).
5. Empiece el diseño de sistemas; refine los diagramas de UML y utilícelos para derivar las clases y
sus atributos y métodos.
 Revise todos los diagramas de UML existentes para el sistema y los diagramas de secuencia
para identificar otros métodos de clases.
 Desarrolle especificaciones de métodos que muestren con detalle los requerimientos de entrada
y de salida junto con una descripción detallada del proceso interno del método.
 Si es necesario cree otro conjunto de diagramas de secuencia para reflejar los métodos reales
de las clases.
 Cree diagramas de clases mediante los símbolos de clase especializados para la clase de límite
o de interfaz, la clase de entidad y la clase de control.
 Analice los diagramas de clases para derivar los componentes del sistema.
 Desarrolle diagramas de despliegue para indicar como se desplegaran los componentes de su
sistema en el entorno de producción.
6. Documente el diseño en forma detallada. Entre más completa sea la información que suministre al
equipo de desarrollo por medio de la documentación y los diagramas de UML, será más rápido el
desarrollo y el sistema de producción será más sólido.
La importancia de usar UML para el modelado
El UML es una herramienta bastante eficaz debido a que tiene la capacidad de mejorar de una manera
muy útil la calidad de su análisis y diseño de sistemas esperando que las prácticas mejoradas se
traduzcan en sistemas de mayor calidad.

22
UML nos permite lograr un mejor entendimiento entre el equipo de negocios y el equipo de TI en
relación con los requerimientos del sistema y los procesos que se deben presentar en este sistema
para cumplir con los requerimientos.
Sin embargo cuando se desarrolla un sistema, entre más progresa el trabajo, más costosas serán las
modificaciones en los requerimientos de negocios de un sistema. Y algunos empleados, debido a que
tienen poca experiencia en el ámbito de la programación, creen que el programador solo trabaja
cuando está codificando sin darse cuenta que cuando un programador realiza diagramas, ahorra
mucho tiempo y dinero que de otra manera se desperdiciaría si se realizara un proyecto sin información
concreta y bien estructurada para codificarla en un lenguaje digital.
Poner un proyecto en papel antes de codificarlo reducirá el costo ya que es mucho más económico
borrar un proyecto hecho en papel (diagrama) que un proyecto ya codificado.
También es importante remarcar que si cambian los requerimientos de un negocio durante la fase del
análisis, será necesario dibujar algunos diagramas de UML. Pero si estos requerimientos cambian
durante la fase del desarrollo, será necesario más tiempo y dinero para rediseñar, recodificar y revaluar
el sistema.

23
CONCLUSIÓN

 Objetos
Conceptos  Clases
 Herencias

Tarjetas CRC  Interacción

Conceptos y Diagramas de lenguaje

Modelados de casos de uso

Análisis y  Creación
diseño de Diagramas de actividad  Entradas
sistemas
orientado
a objetos  Secuencia
Diagramas de secuencia  Comunicación

 Sobrecarga de métodos
Diagramas de clases  Tipos de clases
 Definición de mensajes

 Clase para Web


Mejorar diagramas  Capas de presentación

Cómo mejorar diagramas de clases  Generalización

Diagramas de estado

24
GLOSARIO
Abstracto.- Que significa alguna cualidad con exclusión del sujeto.
Actor.- Personaje de una acción o de una obra literaria.
Agregar.- Añadir algo a lo ya dicho, escrito o creado.
Asíncrono.- Se dice del proceso o del efecto que no ocurre en completa correspondencia temporal con
otro proceso u otra causa.
Asociar.- Juntar una cosa con otra para concurrir a un mismo fin.
Bifurcar.- División de una cosa en dos ramales, brazos o puntas.
Carril.- Ranura guía sobre la que se desliza un objeto en una dirección determinada, como en una
puerta de corredera.
Clase.- En programación es un tipo de datos creados por el usuario que encapsula datos y métodos o
funciones.
Dependencia.- Relación de origen o conexión.
Despliegue.- Ejercitar, poner en práctica una actividad o manifestar una cualidad.
Diagrama.- Dibujo geométrico que sirve para demostrar una proposición, resolver un problema o
representar de una manera gráfica la ley de variación de un fenómeno.
Entidad.- Lo que constituye la esencia o la forma de una cosa.
Estructura.- Distribución y orden con que está compuesta una obra de ingenio, como un poema, una
historia, etc.
Evento.- Eventualidad, hecho imprevisto, o que puede acaecer.
Fusión.- El conjunto de métodos de fusión de información que proviene de fuentes diferentes y, algunas
veces, no homogéneas.
Herencia.- Se refiere a que la clase puede heredar sus variables y métodos a varias subclases.
Limite.- Fin o término.
Objeto.- Todo lo que puede ser materia de conocimiento o sensibilidad de parte del sujeto, incluso este
mismo.
Polimorfismo.- Capacidad que tienen los objetos de diferentes clases de responder al mismo mensaje.
Comportamientos alternos entre clases derivadas relacionadas.
Ramificar.- Derivación de un suceso o la prolongación de alguna cuestión más allá de su punto original
Sincrónico.- Dicho de un proceso o de su efecto: Que se desarrolla en perfecta correspondencia
temporal con otro proceso o causa.
Unificar.- Hacer de muchas cosas una o un todo, uniéndolas, mezclándolas o reduciéndolas a una
misma especie.

25
BIBLIOGRAFÍA
- http://designumldldr.blogspot.mx/2009/05/video-diagrama-de-actividades_21.html

- http://www.google.com.mx/url?sa=t&rct=j&q=&esrc=s&frm=1&source=web&cd=14&ved=0CFE
QFjANahUKEwjvwqWSseLHAhWEE5IKHUaFCB8&url=http%3A%2F%2Fwww.codecompiling.
net%2Ffiles%2Fslides%2FUML_clase_06_UML_secuencia.pdf&usg=AFQjCNFMEayDBgNA9
8IP7Gu2b8Gf7Lhu6w

- http://www.google.com.mx/url?sa=t&rct=j&q=&esrc=s&frm=1&source=web&cd=17&ved=0CF8
QFjAQahUKEwiarsTBuuLHAhUKBpIKHZcuCkM&url=http%3A%2F%2Fwww.codecompiling.ne
t%2Ffiles%2Fslides%2FUML_clase_04_UML_clases.pdf&usg=AFQjCNHcLjW61Tu8x15HF_u
FXzGORpbV1w&bvm=bv.102022582,d.aWw

- http://www.rae.es/recursos/diccionarios/drae

26

You might also like