Date post: | 02-Feb-2016 |
Category: |
Documents |
Upload: | angeles-maidana-benitez |
View: | 233 times |
Download: | 0 times |
Informatica II - 2002 1
Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso
UML
Informatica II - 2002 2
Necesidad modelado Use cases Diagramas de clase Diagramas de secuencia
UML
Informatica II - 2002 3
Objetivos al desarrollar software
Satisfacer las necesidades de los usuarios.
Entregar el software en tiempo y con un costo predecible.
Comprender mejor el sistema que se está construyendo.
Informatica II - 2002 4
Acciones para alcanzar los objetivos
Realizar una buena elicitación de requerimientos.
Desarrollar un modelo del sistema.
Informatica II - 2002 5
¿Que es un modelo? Simplificación de la realidad. Incluir los elementos que son
importantes y omitir los elementos que no son relevantes para ese nivel de abstracción.
Informatica II - 2002 6
Diferentes modelos Modelos estructurales Modelos de comportamiento
¿Que es un modelo?
Informatica II - 2002 7
Construcción de una casa para “fido”
Puede hacerlo una sola personaRequiere:
Modelado mínimoProceso simpleHerramientas simples
Informatica II - 2002 8
Construcción de una casa
Construida eficientemente y en un tiempo razonable por un equipoRequiere:
ModeladoProceso bien definidoHerramientas más sofisticadas
Informatica II - 2002 9
Claves en Desarrollo de SI
Herramientas Proceso
Notación
Informatica II - 2002 10
Sistema Computacional
Proceso de Negocios
Orden
Item
envío
“El modelado captura laspartes esenciales del sistema”
Abstracción - Modelado Visual (MV)
Informatica II - 2002 11
Múltiples Sistemas
MV promueve la reutilización
Componentes Reutilizados
Informatica II - 2002 12
Interfaz de Usuario(Visual Basic,
Java, ..)
Lógica del Negocio(C++, Java, ..)
Servidor de BDs(C++ & SQL, ..)
“Modelar el sistema independientemente del lenguaje de implementación”
MV para definir la Arquitectura del SW
Informatica II - 2002 13
¿Qué es lo que va a construir?
¿Cómo lo va a construir?
¿Qué tecnología usará?
¿Cómo lo documentará?
Etapas en la construcción de un proceso de software
Informatica II - 2002 14
Etapas en la construcción de un proceso de software Análisis Diseño Refinamiento del diseño Implementación Documentación
Informatica II - 2002 15
UML
Es una notación gráfica para modelar.
Es un lenguaje de modelado.
Informatica II - 2002 16
UML “aglutina” enfoques OO
UML
Rumbaugh
Jacobson
Meyer
Harel
Wirfs-BrockFusion
Embly
Gamma et. al.
Shlaer-Mellor
Odell
Booch
Pre- and Post-conditions
State Charts
Responsabilities
Operation descriptions, message numbering
Singleton classes
Frameworks, patterns, notes
Object life cycles
Informatica II - 2002 17
... Diagramas de UML
Use CaseDiagramsUse Case
DiagramsDiagramas de Casos de Uso
ScenarioDiagramsScenario
DiagramsDiagramas deColaboración
StateDiagramsState
DiagramsDiagramas deComponentes
ComponentDiagramsComponent
DiagramsDiagramas deDistribución
StateDiagramsState
DiagramsDiagramas de Objetos
ScenarioDiagramsScenario
DiagramsDiagramas deEstados
Use CaseDiagramsUse Case
DiagramsDiagramas deSecuencia
StateDiagramsState
DiagramsDiagramas deClases
Diagramas deActividad
Modelo
II. Breve Tour por UML
Los diagramas expresan gráficamente partes de un modelo
Informatica II - 2002 18
... Diagramas seleccionados
Diagramas deSecuencia
Diagramas deClases
Diagramas de Casos de Uso
Informatica II - 2002 19
Modelos y Diagramas Un modelo captura una vista de un
sistema del mundo real. Es una abstracción
de dicho sistema, considerando un cierto
propósito. Así, el modelo describe
completamente aquellos aspectos del
sistema que son relevantes al propósito del
modelo, y a un apropiado nivel de detalle.
Informatica II - 2002 20
Diagrama: una representación gráfica de una colección de elementos de modelado.
Modelos y Diagramas
Informatica II - 2002 21
Un proceso de desarrollo de software debe ofrecer un conjunto de modelos que permitan expresar el producto desde cada una de las perspectivas de interés
El código fuente del sistema es el modelo más detallado del sistema (y además es ejecutable). Sin embargo, se requieren otros modelos ...
... Modelos y Diagramas
Informatica II - 2002 22
Necesidad modelado Casos de uso Diagramas de clase Diagramas de secuencia
UML
Informatica II - 2002 23
Casos de Uso
Un caso de uso es una interacción entre el usuario y el sistema para lograr cierto objetivo.
Objetivo de los mismos. Son de tamaño variable. Se debe especificar todos los cursos
alternativos.
Informatica II - 2002 24
… Casos de UsoActores:
Roles de los usuarios
Otros sistemas: sistemas con los que el sistema interactúa (el otro sistema necesita algo del sistema que se desarrolla)
Informatica II - 2002 25
Ejemplos
Supervisor Verificar Situación del Cliente
Administrativo Preparar Catálogo Sistema Inventario
Informatica II - 2002 26
… Casos de Uso Ejemplo:
Actor ACaso de Uso A
Actor BCaso de Uso B
III. El Paradigma OO: Diagrama de Casos de Uso
Informatica II - 2002 27
Identificación de casos de usos Eventos ante los cuales se debe
reaccionar Actores que intervienen
… Casos de Uso
Informatica II - 2002 28
Representación de escenarios alternativos
… Casos de Uso
Informatica II - 2002 29
… Ejemplos
Venta Normal
Venta en Rebajas
Venta en Ofertas
Vendedor
Ventas
Informatica II - 2002 30
Casos de Uso Los Casos de Uso (Ivar Jacobson) describen
bajo la forma de acciones y reacciones el comportamiento de un sistema desde el p.d.v. del usuario
Permiten definir los límites del sistema y las relaciones entre el sistema y el entorno
Los Casos de Uso son descripciones de la funcionalidad del sistema independientes de la implementación
Informatica II - 2002 31
… Casos de Uso Los Casos de Uso se determinan observando y
precisando, actor por actor, las secuencias de interacción, los escenarios, desde el punto de vista del usuario
Un escenario es una instancia de un caso de uso
Los casos de uso intervienen durante todo el ciclo de vida. El proceso de desarrollo estará dirigido por los casos de uso
Informatica II - 2002 32
Casos de Uso: Relaciones UML define tres tipos de relación en los
Diagramas de Casos de Uso:
Comunicación
ActorCaso de Uso
Informatica II - 2002 33
… Casos de Uso: Relaciones
Inclusión(uses) : una instancia del Caso de Uso origen incluye también el comportamiento descrito por el Caso de Uso destino
<<include>> reemplazó al denominado <<uses>>
Caso de Uso Origen Caso de Uso Destino
<<include>>
III. El Paradigma OO: Diagrama de Casos de Uso
Informatica II - 2002 34
… Casos de Uso: Relaciones
Extensión : el Caso de Uso origen extiende el comportamiento del Caso de Uso destino
Caso de Uso Origen Caso de Uso Destino
<<extend>>
Informatica II - 2002 35
… Casos de Uso: Relaciones Ejemplo:
Identificación
Transferencia en Internet
ClienteTransferencia
<<include>>
<<extend>>
Informatica II - 2002 36
Casos de Uso: Construcción Un caso de uso debe ser simple,
inteligible, claro y conciso Generalmente hay pocos actores
asociados a cada Caso de Uso
Informatica II - 2002 37
Preguntas clave: ¿cuáles son las tareas del actor? ¿qué información crea, guarda,
modifica, destruye o lee el actor? ¿debe el actor notificar al sistema
los cambios externos? ¿debe el sistema informar al actor
de los cambios internos?
Casos de Uso: Construcción
Informatica II - 2002 38
… Casos de Uso: Construcción
La descripción del Caso de Uso comprende: el inicio: cuándo y qué actor lo
produce? el fin: cuándo se produce y qué valor
devuelve? la interacción actor-caso de uso: qué
mensajes intercambian ambos?
Informatica II - 2002 39
objetivo del caso de uso: ¿qué lleva a cabo o intenta?
cronología y origen de las interacciones repeticiones de comportamiento: ¿qué
operaciones son iteradas? situaciones opcionales: ¿qué escenarios
alternativos se presentan en el caso de uso?
… Casos de Uso: Construcción
Informatica II - 2002 40
Necesidad modelado Casos de uso Diagramas de clase Diagramas de secuencia
UML
Informatica II - 2002 41
Implementación
Clases: abstracciones del mundo real. Perspectiva más usada
Informatica II - 2002 42
Clasificación El mundo real puede ser visto desde
abstracciones diferentes (subjetividad)
Mecanismos de abstracción:
Clasificación / Instanciación Composición / Descomposición Agrupación / Individualización Especialización / Generalización
Informatica II - 2002 43
Clases: Notación Gráfica Cada clase se representa en un
rectángulo con tres compartimientos:
nombre de la clase atributos de la clase operaciones de la clase
cuenta
titular
saldo
depositarextraertransferir
Informatica II - 2002 44
Clases: Notación Gráfica Otros ejemplos:
lista
primeroultimoañadirquitarcardinalidad
conjunto
intersecarunircardinalidad
Informatica II - 2002 45
Diagrama de Clases
El Diagrama de Clases es el diagrama principal para el análisis y diseño
Un diagrama de clases presenta las clases del sistema con sus relaciones estructurales y de herencia
La definición de clase incluye definiciones para atributos y operaciones
II. Breve Tour por UML
Informatica II - 2002 46
El modelo de casos de uso aporta información para establecer las clases, objetos, atributos y operaciones
Diagrama de Clases
Informatica II - 2002 47
… Ejemplos (Generalización)
II. Breve Tour por UML
Trabajador
Directivo Administrativo Obrero
{ disjunta, completa }
Informatica II - 2002 48
… Ejemplos (Clase Asociación)
II. Breve Tour por UML
Empresa Empleado
1..** 1..**
trabajadoresempleador
Cargo
nombresueldo 0..1
1..*
superior
subordinado 1..*
0..1
Informatica II - 2002 49
Ejemplos (Clase y Visibilidad)
Alumno
DNI : char[10]número_exp : intnombre : char[50]
alta()poner_nota(asignatura : char , año : int, nota : float)matricular(cursos : asignatura, año : int)listar_expediente()
Informatica II - 2002 50
… Ejemplos (Asociación)
ProfesorDepartamento
10..1
director
1
dirige
0..1
Informatica II - 2002 51
Necesidad modelado Casos de uso Diagramas de clase Diagramas de secuencia
UML
Informatica II - 2002 52
Diagrama de Secuencia Muestra la secuencia de mensajes
entre objetos durante un escenario concreto.
Cada objeto viene dado por una barra vertical. Se llama línea de vida.
El tiempo transcurre de arriba abajo.
Informatica II - 2002 53
Cada mensaje se representa mediante una flecha entre las líneas de vida.
Cuando existe demora entre el envío y la atención se puede indicar usando una línea oblicua.
Cada mensaje se etiqueta con el nombre del mensaje y pueden incluirse los argumentos.
Diagrama de Secuencia
Informatica II - 2002 54
Los rectángulos en las líneas de vida indican el tiempo en el cual un método está activo.
Diagrama de Secuencia
Informatica II - 2002 55
Diagrama de Secuencia
: Encargado:WInPréstamos :Socio :Video :Préstamo
prestar(video, socio)
verificar situación socio
verificar situación video
registrar préstamo
entregar recibo
Informatica II - 2002 56
Diagrama de Secuencia
Ventana de entrada de pedidos
Un Pedidouna Líneade pedido
un artículode inventario
prepara( )*[para cada líneade pedido] prepara( )
hayExistencia:=revisa( )
[hayExistencia]
descuenta( )
ObjetoMensaje
Condición
necesitaReorden:
=necesitaReordenar ( )
Autodelegación
Informatica II - 2002 57
… Diagrama de Secuencia
Informatica II - 2002 58
Modelado de SI: Algunas Reflexiones
Modelar para la comprensión del sistema y/o para el mantenimiento y la documentación.
Pragmatismo, los modelos deben ser útiles.
Sencillez y Elegancia.
Distintos nivel de abstracción, diferentes modelos.
Seguimiento de transformaciones durante el proceso (Traceability).
Informatica II - 2002 59
Sincronización de modelos.
Dificultades para la introducción de técnicas y herramientas de modelado.
Modelado de SI: Algunas Reflexiones
Informatica II - 2002 60
Resumen
UML define una notación que se expresa como diagramas sirven para representar modelos/subsistemas o partes de ellos
El 80 por ciento de la mayoría de los problemas pueden modelarse usando alrededor del 20 por ciento de UML-- Grady Booch