UML Diseño de Un Programa
UML Diseño de Un Programa
UML Diseño de Un Programa
DE ORIENTACIÓN A
OBJETOS
Inf-512 Programación I
UNIDAD I
OBJETIVOS DE LA UNIDAD
PROPÓSITOS
Definir los requerimientos funcionales del sistema.
Identificar los limites del sistema.
Identificar usuarios.
Describir la interación entre el sistema y los
usuarios externo.
Establecer comunicación entre clientes y desarrolladores
para describir el sistema deseado.
Dar paso al siguiente modelo (caso de uso) ofreciendo
los elementos básicos.
MODELO SRS
Especificación de Requerimiento de Software
(Software Requirement Specification –SRS-).
Una vez que haya desarrollado los casos de uso del sistema,
puede comenzar a identificar los objetos internos del
sistema que llevará a cabo los requisitos funcionales del
sistema. Esto se hace usando un diagrama de clases.
MODELO CASO DE USO
EJEMPLO. DIAGRAMA
DE CASO DE USO
SISTEMA
(diagrama genérico).
Con dos actores y tres
Actor 1 Caso de uso 1 casos de uso.
Nota: Estos casos de uso
Caso de uso 2
se convierten en
procesos del sistema.
Actor 2 Caso de uso 3
MODELO CASO DE USO
Con este modelo se representa cada interacción que ocurre
entre un actor y el sistema. Por ejemplo, para la creación de
un sistema de una aerolínea se puede considerar el siguiente
caso de uso: ver información de vuelo.
Este a su vez es uno de los requerimientos del modelo SRS.
Ver
CLIENTE (Actor) información
de vuelo
MODELO CASO DE USO
Se debe evitar los siguientes errores en el modelo de casos de uso:
1. No debe incluirse acción inicializada por el sistema.
Ejemplo: El sistema envía una confirmación al cliente vía correo
electrónico.
2. No debe incluir una descripción de los requerimientos técnicos del
sistema.
Es importante recordar que el enfoque no es cómo el sistema desarrolla
las funciones, sino cuáles funciones deben
Ser incorporadas en el sistema desde el punto de
Vista del usuario.
DIAGRAMA DE CLASE
Con el siguiente modelo (Diagrama de clase) se procede a
identificar los objetos internos del sistema que llevaran a cabo
los requerimientos funcionales del sistema (tomados del
modelo SRS).
MODELO DIAGRAMA DE CLASE
Sirve para visualizar las operaciones (métodos) y atributos
(campos) de las clases.
Ya sabemos que en la programación orientada a objeto los
conceptos de objeto y clase son fundamentales. Considerar
el siguiente ejemplo. CLASE Estudiante
Numero de vuelo
Fecha Miembros de la clase
Atributos o Origen
campos Destino
Hora despegue
Hora llegada
Capacidad de asiento
Operaciones
o métodos AsientosReservados()
AsientosSinReservar()
Notación UML para una clase
vuelo
AsientosReservados()
<métodos u operaciones> AsientosSinReservar()
{ información adicional }
Una clase esta hecha, básicamente, de un nombre único, un numero de atributos y de un conjunto de
operaciones; Toda la funcionalidad del sistema es definida por las operaciones de los objetos
de sus clases; permite tener información del estado del objeto o cambiar su estado.
Sintaxis de miembros de una clase
La sintaxis para escribir los miembros de la clase es como sigue:
Atributos o campos: es recomendable que el acceso siempre sea: -
acceso ( - , + ) ID : tipo = valor inicial { información adicional }
nombre: Inventario
atributos: registro, tipo, cantidad, control, proveedor
comportamientos: registrar, ingresar, descargar,
Proceso para identificar las clases
Contiene
VUELO ASIENTO
1 1..n
Asociación con múltiples instancias
■ Una instancia de una clase se puede asociar con múltiple instancia de
otra clase. Para representar dicha asociación se traza una línea entre
ambas clases.
■ Por ejemplo, en la aplicación RESERVACIÓN DE VUELO, cuando un
cliente realiza una reservación se establece una asociación entre la clase
cliente y la clase reservación, donde una instancia de la clase cliente se
puede asociar con múltiples instancias de la clase reservación, es decir,
un cliente puede hacer más de una reservación.
■ Se coloca la letra n al lado de la clase con varias instancias asociadas a la
otra clase. El siguiente diagrama de clase indica multiplicidad.
Realiza
Cliente Reservación
1 1..n
HERENCIA
Es cuando múltiples clases comparten
algunas de las mismas operaciones y
atributos, la clase base contiene los
Cliente
elementos en común. La clase hijo
hereda de la clase base (clase padre).
En el diagrama de clase se representa Hereda Hereda
Vuelo
ClienteMinoritario NumeroDeVuelo DIAGRAMA DE CLASE
ClienteCorporativo
Fecha Este diagrama muestra las clases,
LugarOrigen sus atributos y las DISTINTAS
NombreEmpresa RELACIONES.
TipoTargetaCredito MillasAcumuladas Destino
HoraDeSalida No muestra las operaciones
NumeroTargetaCredito NumeroFactura (métodos) relacionadas con cada
HoraDeLlegada
clase.
CapacidadAsiento
Creación del programa. Transformar el
diseño en una implementación real.
■ Para hacer el programa que dará respuesta a la situación planteada se debe profundizar
un poco mas en los datos recopilados al principio (SRS, Caso de Uso, Diagrama de
clase).
■ El primer paso en este proceso es profundizar en las descripciones de los casos de uso y
crear un escenario más detallado de cómo se llevará a cabo el caso de uso.
■ Ver el ejemplo del sistema de pedido de suministro donde presenta un escenario que
describe una secuencia posible para llevar a cabo el caso de uso de inicio de sesión.
Ejemplo 1 Ejemplo 2
Evitar algunos errores comunes de diseño
de programación orientada a objetos
Cuando comience a modelar sus propios diseños de programación
orientada a objetos, querrá asegurarse de seguir las mejores prácticas.
Las siguientes son algunas de las trampas comunes que debe evitar: