Академический Документы
Профессиональный Документы
Культура Документы
Historia de UML
los noventa
Grady Booch, James Rumbaugh Ivar Jacobson
orientados a objetos.
Historia de UML
Booch haba escrito "ObjectOriented Analysis and Design with Applications" un libro de referencia en el anlisis y diseo orientado a objetos desarrollando su propia
notacin.
Historia de UML
desarrollado su propia notacin de diseo orientado a objetos llamada OMT (Object Modeling Technique) en su libro "Object-Oriented Modeling and Design".
Historia de UML
Jacobson
visionario (padre de los casos diseo orientado sorprendiendo a todo "Object-Oriented Engineering: A Use Approach".
enfrentamos a resolver una problemtica siendo esta efectiva y a un costo aceptable. A ello la relacin Costo / Beneficio tiene una inclinacin ms al costo, pues a veces el beneficio es pequeo. Uso de herramientas de anlisis y diseo con relacin entre analistas, desarrolladores y usuario final
6
Definicin de UML
que se usa para entender, disear, configurar, mantener y controlar la informacin sobre los sistemas a construir. Un sistema se modela como una coleccin de objetos discretos que interactan para realizar un trabajo que finalmente beneficia a un usuario externo.
7
Definicin de UML
UML
no es un lenguaje de programacin. Las herramientas pueden ofrecer generadores de cdigo de UML para una gran variedad de lenguaje de programacin, as como construir modelos por ingeniera inversa a partir de programas existentes.
8
Diagrama de casos de uso Diagrama de clases Diagrama de secuencias Diagrama de estados Diagrama de actividades Diagrama de colaboraciones Diagrama de componentes Diagrama de distribucin, etc
10
herramientas usaremos en cada momento las ms adecuadas a nuestras necesidades. Esto no ser del todo fcil, pues hay que saber para qu sirven y qu limitaciones tienen unas y otras para conocer su utilidad.
11
12
13
Documento narrativo que describe la secuencia de eventos de un ACTOR (agente externo) que utiliza un sistema para completar un proceso.[Jacobson92]
Se encargan de dirigir el proceso
de desarrollo, pues la mayor parte de estos se centra en el anlisis, diseo y prueba para un sistema.
14
Describen qu hace un sistema pero no especifica cmo lo hace Pueden ser pequeos o grandes. Logran un objetivo discreto para el usuario, pues debe ser simple, claro y
conciso Captura el comportamiento deseado del sistema sin tener que especificar como se implementa ese comportamiento
15
pues pueden ser Sistemas o Hardware Podemos encontrar generalizaciones en los actores. Se encargan de enviar o recibir mensajes hacia y desde el sistema
16
Comprar Producto
e incluyen tcitamente en la historia que narran como parte del desarrollo de un sistema.
17
Ejemplo de un CU.
VALIDACIN DE USUARIO
CU de alto nivel
Validar Usuario Usuario Primario El usuario deber ingresar su tarjeta por el cual el sistema pedir su clave de acceso, este deber ser ingresado; si se confirma el acceso se mostrar las opciones del men del sistema.
18
Ejemplo de un CU.
Ejemplo de un CU.
COMPRA PRODUCTOS EN EFECTIVO
CU Expandido
del producto.
6. El Cajero le indica el total al cliente. 7. El cliente efecta el pago en efectivo, el cual posiblemente es mayor que el total de la venta.
20
Ejemplo de un CU.
COMPRA PRODUCTOS EN EFECTIVO
CU Expandido
Cursos Alternos:
Lnea 2: Lnea 7: Introduccin de identificador invlido. Indicar Error. El cliente no tena suficiente dinero. Cancelar la transaccin de venta.
21
actividad individual
22
inician o participan.
Tipos de CU
Se tiene 4 variedades de tipos para poder analizar un CU las cuales son: Primario de Uso : Representan procesos comunes ms importantes, tales como: Comprar productos Secundario de Uso : Representan procesos menores raros, tal como: Solicitud de surtir el nuevo producto Esencial de Uso : Se expresan en forma terica con poca tecnologa e implementacin (ms abstractos), tal como: el cliente se identifica Real de Uso : Con tecnologas de E / S se describen
Comprar Producto
Registrar Producto Cajero Entregar cambio del pago Cliente
Iniciar Sesin
Gerente
Adm. sistema
Administrar usuarios
26
extiende B, significa que una instancia del caso de uso B podra incorporar el comportamiento especificado en A (si se cumplen las condiciones especificadas en la extensin).
27
28
cuando el objetivo del caso de uso base necesita de otro caso de uso.
Podr existir una relacin <<extend>>
cuando relacionamos un caso base con otro que agrega funcionalidad sin modificar la funcionalidad del caso de uso base (opcional).
29
30
Posteriormente deberemos explotar este sistema para generar el Diagrama de CU: Diagrama CU.
32
33
34
COMENZAMOS???
35
COMENZAMOS???
36
37
Describen los tipos de objetos que hay en el sistema y las diversas clases de relaciones estticas que existen entre ellos. Hay dos tipos principales de
relaciones estticas:
Asociaciones: Ejm: Rentar varios videos Subtipos: Ejm: Enfermera tipo de persona
38
Tambin muestran los atributos y operaciones de una clase y las restricciones a que se ven sujetos, segn la forma en que se conecten los objetos.
Atributos
Operaciones
39
Siguiendo
la recomendacin de Steve Cook y John Daniels se considera tres perspectivas que se pueden manejar al dibujar diagramas de clase:
Modelo Conceptual Modelo de Especificacin Modelo de Implementacin
40
Se
dibuja un diagrama que represente los conceptos del dominio que se est estudiando. Estos conceptos se relacionan de manera natural con las clases que los implementan Los modelos conceptuales se deben dibujar sin importar (Casi) el software con que se implementarn.
41
DIAGRAMAS DE CLASES
Como identificar Modelos Conceptuales? Se identifican las frases nominales (de quien hablamos) en las descripciones textuales Los casos de Uso expandidos son una excelente descripcin. Posible riesgo varias frases nominales se pueden referir a lo mismo generando ambigedad de conceptos.
42
DIAGRAMAS DE CLASES
Modelo Conceptual Especificando conceptos
Producto
44
45
La
Multiplicidad define cuantas instancias de un tipo A pueden asociarse a una instancia de tipo B en un determinado momento.
46
Ejemplo:
47
TPDV es:
48
Analyst???
49
El problema de la Matricula
50
DFDs . . .
Al crear una clase esta puede
definirse mediante estereotipos (forma de clasificar las clases a alto nivel) Modelo de especificacin.
Comenzar a asociarlas
51
52
en Visible Analyst.
El error (que por el momento
pasaremos desapercibidos) es la creacin de los atributos y Mtodos eventos, los cuales se irn definiendo en los dems modelos que faltan para las clases.
53
Se identifican los tipos de clases, y as mismo los atributos con los que trabajar la clase.
Aqu se van indicando las posibles
juegan
un
rol
54
clase Cajero tendr el siguiente comportamiento y contendr los siguientes atributos: Estereotipo: Entidad
Este tipo de clase se transformar en parte de una Base de Datos. Se utiliza para modelar informacin que posee una vida larga y que es a menudo persistente. 55
guardando los datos de un curso al cual se pueda matricular un alumno, es decir; persistir en el tiempo
56
ENTIDAD (Entity) para las dems clases en Visual Analyst, como tambin sus atributos respectivos:
58
59
clase Matricula contendr pocos atributos (en VA no se permiten) pero esta, se desenvolver con sus mtodos eventos: Estereotipo: Interfaz
Se utiliza para modelar la interaccin entre el sistema y sus actores. Representan ventanas, formularios, paneles, interfaces de comunicacin, etc.
60
Clase: Estndar
61
casi completas se debe pasar a asignar y mostrar los tipos de datos como tambin los mtodos ms importantes.
Recordemos que a medida que vayamos
implementando el sistema, se irn agregando mas clases o procesos modificndolos; refinando as el proyecto optimizado.
62
por
para ser parte de una Base de Datos debe tener 4 mtodos exclusivos:
DIAGRAMAS DE CLASES Modelo de Implementacin Para agregar un mtodo en VA debemos dirigirnos a la pestaa Methods/Friends
65
DIAGRAMAS DE CLASES Modelo de Implementacin Recuerda que todo mtodo tiene argumentos los cuales deben ser de un tipo de dato especfico:
66
DIAGRAMAS DE CLASES Modelo de Implementacin Un mtodo tambin puede retornar datos de tipo valor (respuestas de confirmacin) o de referncia (conjunto de datos para mostrarse mediante un objeto programable:
67
mencionados problema de
68
69
70
DIAGRAMAS DE SECUENCIA
Estos diagramas estn dentro del grande
el comportamiento de un nico caso de uso, esto es; nos permite ver el comportamiento que existe entre los distintos objetos del sistema, y la forma en que estos interactan entre s.
71
DIAGRAMAS DE SECUENCIA
Definicin
Un diagrama de secuencia muestra la
puede dar detalle a los casos de uso, aclarndolos, al nivel de mensajes de los objetos existentes.
72
LOS OBJETOS EN LOS DIAGRAMAS DE SECUENCIA Un objeto se representa como una lnea vertical punteada --lnea de vida--, con un rectngulo de encabezado, --objeto-y con rectngulo a travs de la lnea principal que denotan la activacin, es decir el perodo de tiempo en el cual el objeto se encuentra desarrollando alguna operacin. El rectngulo de encabezado contiene el nombre del objeto y el de su clase, en un formato nombreObjeto: nombreClase.
73
74
longitud de estos rectngulos determina segn el control de la secuencia, ya que un mtodo obtiene el control desde el inicio del rectngulo hasta el final del rectngulo.
75
LOS MENSAJES EN LOS DIAGRAMAS DE SECUENCIA El envo de mensajes entre objetos se denota mediante una lnea slida dirigida, desde el objeto que emite el mensaje hacia el objeto que lo ejecuta.
: nomClase1 Hacerfuncin( ) : nomClase2
76
LOS TIPOS DE MENSAJES EN LOS DIAGRAMAS DE SECUENCIA Un Mensaje puede variar dependiendo de la informacin que estemos enviando entre objetos, los cuales pueden ser: Mensaje Simple: Transferencia de control de un objeto a otro Mensaje Sncrono: Objeto que espera la respuesta antes de continuar con su trabajo siguiente. Mensaje Asncrono: El objeto no espera la respuesta y continua con su trayecto.
77
Mensaje Sncrono
Mensaje Asncrono
78
proceso o mtodo que se invoca dentro de la operacin de la misma lnea de vida. Es una especificacin de un mensaje.
79
80