Você está na página 1de 61

Universidad de Oriente Ncleo de Sucre Programa de la Licenciatura en Informtica Diseo de Base de Datos (230-3354)

CONCEPTOS BSICOS DE LA ORIENTACIN POR OBJETOS Y SU NOTACIN EN UML

Profa. Ana Teresa Fuentes M. Cuman, mayo 2013.

Contenido
Qu es un lenguaje de modelado ? Qu es el Lenguaje Unificado de Modelado UML? Conceptos bsicos y su notacin en el (UML). Elementos comunes, diagramas de casos de uso, diagramas de clases, diagramas de paquetes, diagramas de actividades,

diagramas de vistas de interaccin (secuencia y comunicacin),


diagramas de mquinas de estado, diagramas temporales, y diagramas de componentes.

diagramas de despliegue

Conceptos Bsicos de la Orientacin por Objetos y su notacin en UML


Objetivos a alcanzar
Desarrollar habilidades en el modelado orientado por objetos

y su representacin con UML.

Qu es un lenguaje de modelado ?
Los lenguajes de modelado permiten representar y comunicar conocimiento acerca de un sistema. Representan conocimientos

Posee constructos (smbolos) que facilitan el modelado de diferentes aspectos de un sistema


Comunican conocimientos

Los modelos que produce son utilizados, con fines diferentes, para comunicar el conocimiento representado.

Qu es un lenguaje de modelado ?
Un lenguaje de modelado es un sistema de signos usados para representar diferentes aspectos de un sistema.
Un lenguaje de modelado consta de : Un vocabulario: Conjunto de smbolos (constructos) empleados para modelar Una sintaxis: Conjunto de reglas que describen como se usan los smbolos Una semntica: Describe el significado de los smbolos

Lenguajes de datos
Lenguajes de modelado ms recientes:

UML (Unified Modeling Language) SysML (System Modeling Language) BPML (Business Process Modeling Language) WebML (Web Modeling Language)

Las notaciones

Las notaciones son, tambin, medios tienen una semntica

para modelar; pero

menos rigurosa que los lenguajes.

Qu es UML?

UML (Unified Modeling Language):


Es un lenguaje de modelado de sistemas de software que integra y unifica diferentes notaciones y lenguajes formales.

Facilita la representacin del conocimiento acerca de un


sistema y la comunicacin de dicho conocimiento.

Qu es UML?

UML (Unified Modeling Language):


UML es un "lenguaje de modelado" para especificar o para describir procesos. Se utiliza para definir un sistema, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que est descrito el modelo.

Qu es UML ?
Es un estndar administrado por el consorcio OMG Object Management Group (www.omg.org)

Ha evolucionado agregando mayor poder y capacidad semntica a cada nueva versin Versiones ms recientes: UML 1.0, 1.4 y 1.5

UML 2.0 (Junio 2005)


UML 2.2 (Febrero 2009)

Gnesis de UML ?
Lenguaje escrito por:

Grady Booch

Ivar Jacobson

James Rumbaugh

Basado en las experiencias de los autores. Actualmente es un estndar y pertenece a la OMG (Object Managemente

Group)
Ultima Versin: 2.0 y la 2.1 es Beta.

UML
Es utilizado en la industria del software para:
Especificar,

Disear,
Visualizar,

Comunicar y
Documentar sistemas de software y aplicaciones.

UML
Permite

modelar un sistema de software desde diferentes perspectivas:

Funcional Usos del sistema. Estructural Abstracciones del sistema: Clases, objetos, relaciones e interacciones. Comportamiento Dinmica del sistema Implementacin Componentes del sistema

Despliegue (instalacin) de los componentes del sistema.

UML Mtodo Lenguaje de Modelado ?

UML es un lenguaje para hacer modelos y es independiente de los mtodos de anlisis y diseo. UML no es un mtodo ! No es

una metodologa !
Existen diferencias importantes entre un mtodo y un lenguaje de modelado. Un mtodo es una manera explcita de estructurar el pensamiento y las acciones de cada individuo.

El mtodo le dice al usuario qu hacer, cmo hacerlo, cundo


hacerlo y por qu hacerlo; mientras que el lenguaje de modelado carece de estas instrucciones.

UML
Usando UML, el sistema puede ser diseado en trminos de vistas El Modelo 4+1 de Krutchen 1995, consta de 5 vistas: La vista lgica Estructural: Describe el sistema en trminos de abstracciones (clases, entre ellos). La vista de procesos Comportamiento: Describe los procesos del sistema y cmo ellos se comunican entre s. La vista de implementacin: Describe la estructura de mdulos, archivos y paquetes que integran el sistema. La vista de despliegue Ambiente: Describe como el sistema se instala en su ambiente de operacin y como ejecuta en una red. La vista de usuarios: Describe la funcionalidad del Sistema. objetos e interacciones

UML
Estos elementos satisfacen la mayor parte de los requisitos de funcionalidad y ejecucin del sistema, as como tambin otros requisitos

no funcionales tales como confiabilidad, escalabilidad, portabilidad y


disponibilidad del sistema.

Estas vistas actan de manera concurrente

UML 2.0

Consta de 13 tipos de diagramas que se clasifican en dos grupos: Diagramas para Modelado del Comportamiento. Enfatizan en lo que debe suceder en el sistema modelado. Diagramas para Modelado Estructural.

Enfatizan en los elementos que deben existir en el sistema


modelado.

Diagramas en UML 2.0

Los Diagramas de Interaccin son un subtipo de diagramas de comportamiento, que enfatiza sobre el flujo de control y de datos entre los elementos del sistema modelado.

Vistas de UML 2.0

Los diagramas representan parte del modelo UML 2.0


Diagrama de Caso de Uso Diagrama de Secuencia Diagrama de Clases Diagrama de Objetos

Diagrama de Comunicacin

Modelo

Diagrama de Componentes

Diagrama de Estados

Diagrama de Actividad

Diagrama de Distribucin

Diagramas de UML que se requieren para representar la Vista del Usuario o Vista Funcional

casos de uso

Casos de Uso (Qu es un caso de uso?)

Caso de Uso?

Casos de Uso (Qu es un caso de uso?)

Un caso de uso es un conjunto de escenarios que tienen una meta


de usuario en comn. (Martin Fowler)

Caso de Uso: Es una descripcin de un proceso fin-a-fin, relativamente largo, que incluye varias etapas o transacciones

Es una manera especfica de utilizar el sistema, es una historia que describe un uso particular del sistema Es la imagen de una funcionalidad del sistema, desencadenada en respuesta al estmulo de un actor o rol externo

Casos de Uso (Qu es un caso de uso?)

Escenario?

Casos de Uso (Qu es un escenario?)


Escenario?

Escenario: Es una secuencia de acciones e interacciones (pasos) entre los usuarios (actores) y el sistema ...por ejemplo:

El usuario introduce su nombre de usuario y su contrasea. El


sistema verifica la validez del nombre de usuario y de la contrasea y permite al usuario el acceso al sistema. El sistema muestra la pantalla principal del sistema. El usuario selecciona la opcin de aadir nuevo empleado. El sistema muestra...

Casos de Uso (Qu es un actor?)


Actor, Rol?

Un actor representa el rol jugado por una persona o cosa que acta con el sistema.
Cliente, Administrador, Usuario no Registrado (Autenticado), Usuario
Registrado (Autenticado), Jefe de Compras, Jefe de Personal, Moderador, Jefe de Departamento, Obrero de Planta, Supervisor...

Actor o Rol?: Sera mejor usar la palabra rol, pero algunos piensan que Actor fue usado debido a una mala traduccin.

Casos de Uso (Algunas Caractersticas)


Actualmente, mucha gente considera que los casos de uso son de vital
importancia en los proyectos de software (Procesos Guiados por Casos de Uso)

Describen bajo la forma de acciones y reacciones el comportamiento


de un sistema desde el punto de vista de un usuario Se puede considerar que hasta cierto punto, cada caso de uso es independiente de los dems Permiten definir los lmites del sistema y las relaciones entre el

sistema y su entorno
(MUY IMPORTANTE)

Descripcin Textual de los Actores del Sistema


(Requerimientos: Quines interactan con el sistema?)

Nombre:

<nombre del actor>

Descripcin: <descripcin del actor>

Nombre:

Usuario no Autenticado

Descripcin: Representa a un usuario que no se a identificado frente al sistema. Generalmente estos usuarios deberan poder registrarse (crear un nuevo usuario) o ingresar al sistema para transformarse en usuarios autenticados, en moderadores o en administradores del sistema
...

Descripcin Textual de un Caso de Uso (Requerimientos: Qu debe hacer el sistema?)


Nombre: Autor: Fecha:

29 <nombre del caso de uso>


<nombre del autor (o autores) del caso de uso> <fecha de creacin del caso de uso>

Descripcin: <breve descripcin del caso de uso> Actores: <actores participantes en el caso de uso> Precondiciones: <condiciones que deben cumplirse para poder ejecutar el caso de uso> Flujo Normal: <flujo normal (feliz) de ejecucin del caso de uso> Flujo Alternativo: <flujos alternativos de ejecucin del caso de uso> Poscondiciones: <condiciones que deben cumplirse al finalizar la ejecucin del caso de uso>

Planillas de Casos de Uso (Generales)

Descripcin Textual de un Caso de Uso(Requerimientos: Qu debe hacer el sistema?)


Nombre: Autor: Fecha: Crear mensaje foro Pedro Prez 04/21/09

Descripcin: Permite crear un nuevo mensaje (hilo) en el foro de discusin. Actores: Usuario / Moderador Precondiciones: El usuario debe de estar autenticado en el sistema.

contina...

Descripcin Textual de un Caso de Uso (Requerimientos: Qu debe hacer el sistema?)

...continuacin
Flujo Normal: 1.- El actor pulsa sobre el botn para crear un nuevo mensaje. 2.- El sistema muestra una caja de texto para introducir el ttulo del mensaje y una zona de mayor tamao para introducir el cuerpo del mensaje. 3.- El actor introduce el ttulo del mensaje y el cuerpo del mismo. 4.- El sistema comprueba la validez de los datos y los almacena. 5.- El moderador recibe una notificacin de que hay un nuevo mensaje. 6.- El moderador acepta y el sistema publica el mensaje si ste fue aceptado por el moderador. Flujo Alternativo: 4.A.- El sistema comprueba la validez de los datos, si los datos no son correctos, se avisa al actor de ello permitindole que los corrija. 7.B.- El moderador rechaza el mensaje, de modo que no es publicado sino devuelto al usuario. Poscondiciones: El mensaje ha sido almacenado en el sistema y fue publicado.

Descripcin Textual de un Caso de Uso (Requerimientos: Qu debe hacer el sistema?)


En general, hay muchas variaciones sobre como se puede describir un caso de uso

UML no especifica ningn estndar al respecto

Seleccione o disee una o ms plantillas que considere adecuadas para sus necesidades Conozca bien la plantilla que va a utilizar, sepa para que sirve cada campo (argumente sobre su utilidad y sea coherente a lo largo de todas las plantillas)

Descripcin Textual de un Caso de Uso (Requerimientos: Qu debe hacer el sistema?)


Por ejemplo, en la plantilla anterior sera bueno aadir un
campo prioridad...
Nombre: Autor: Fecha: Crear mensaje foro Pedro Prez 04/21/09

Prioridad: 5 Descripcin: Permite crear un nuevo mensaje (hilo) en el foro de discusin. Actores: Usuario / Moderador Precondiciones: El usuario debe de estar autenticado en el sistema.

Modelo de Casos de Uso

Cmo se desarrolla un modelo de Casos de Uso?

Diagrama de Casos de Usos (Requerimientos: Qu debe hacer el sistema?)


Antes de hacer un caso de uso es necesario tratar de entender los requerimientos del sistema. Trate de expresar lo que el sistema debe hacer: ...el sistema debe permitir a los usuarios registrarse. El administrador debe poder validar las peticiones de registro antes de que los usuarios puedan publicar nuevos mensajes... En base a esto, trate de responder las preguntas: Cuales son las tareas del/los actores involucrados? Debe el actor informar al sistema de cambios externos ocurridos? Que datos debe el actor crear, guardar, modificar, destruir, leer? Debe el sistema informar al actor de cambios internos?

Diagrama de Casos de Usos


Lmites del Sistema Caso de Uso

Generalizacin / Especializacin de Actores

Asociacin Caso de Uso / Actor

Colaboracin entre casos de uso

Actor

Diagrama de Casos de Usos


Usado para compartir comportamiento comn entre varios casos de uso

Usado para modelar relaciones de Generalizacin / Especializacin entre casos de uso

Usado para modelar por separado el comportamient o excepcional (o adicional) del caso de uso base

Haciendo un parntesis... (Estereotipos)


planillas de casos de uso

CRUD es un acrnimo
que viene de Create, Read, Update, Delete

Haciendo un parntesis... (Estereotipos)

Los estereotipos se pueden utilizar en casi todos los elementos disponibles de UML, de manera que se puede extender y enriquecer el lenguaje con su uso

En este caso los estereotipos se utilizan para diferenciar los distintos tipos de actores (<<client>>, <<internal>>, <<system>>). Algunas personas reemplazan el monigote por iconos personalizados (Ej. Una computadora, monigotes de distintos colores, etctera)

Haciendo un parntesis... (Estereotipos)

Se pueden utilizar imgenes para representar cierto tipo especial de actores

Diagrama de Casos de Usos(Ejemplo / Include / Extends / Especializacin)


Algunas personas utilizan la inclusin para expresar que el caso de uso asociado debe de invocarse de manera obligatoria

Mltiples casos de uso reutilizan otros casos de uso. De esta forma no es necesario describir varias veces el mismo caso de uso incluido

Diagrama de Casos de Usos (Ejemplo / Include / Extends / Especializacin)

Puntos de extensin explcitos Puntos de extensin explcitos

Diagrama de Casos de Usos (Ejemplo / Include / Extends / Especializacin)

Las notas son un elemento comn de UML, se pueden asociar a casi todos elementos disponibles de UML
Una extensin puede estar asociada a varios puntos de extensin

Algunas Reglas de Estilo (Para los Diagramas de Casos de Uso)


Cada actor y caso de uso debe tener un nombre nico Los actores deben tener nombres y/o iconos representativos. Los nombres de los actores deben representar roles El nombre de un caso de uso debe indicar accin y debe ser

claro y conciso

Verbo (Infinitivo) + Predicado

Forma General:

Imprimir
Reporte de Ventas

Algunas Reglas de Estilo (Para los Diagramas de Casos de Uso)


Mantener todos los casos de uso de un diagrama al mismo nivel de abstraccin Evitar el cruce de lneas (En general, mantenga el diagrama ordenado)

Evite tener demasiados casos de uso en el mismo diagrama (Regla


5 2) (Esto es relativo!) Evite el uso complejo de relaciones de extensin, especializacin e

inclusin (No ms de tres niveles)

En general, use el sentido comn !

Algunas Reglas de Estilo (Para la Descripcin Textual de Casos de Uso)


Narrar el flujo de eventos usando voz activa, en tiempo presente y desde la perspectiva del actor:

Evitar el uso de la voz pasiva:

La clave es introducida por el usuario

El usuario introduce la clave Preferir la voz activa: El sistema valida la clave

Algunas Reglas de Estilo (Para la Descripcin Textual de Casos de Uso)


Exprese cada paso del flujo usando la forma llamada y respuesta (reflejar el hecho de que el actor ejecuta algo y el sistema responde a la solicitud del actor): El actor introduce su nombre de usuario y su contrasea. El sistema verifica si los datos concuerdan con lo que est almacenado en la base de datos El caso de uso que se describe debe expresar un slo requisito

funcional (No trate de expresar ms de un requisito funcional en el


mismo caso de uso) Sin embargo, un caso de uso puede expresar ms de un requisito

NO funcional (Esto est bien)

Ejemplo: Qu esta terriblemente mal en este diagrama?

Qu errores puede encontrar en el diagrama?

Ejemplo: El Sistema Anterior Mucho Mejor Representado


Foro Web

Ejemplo: El Sistema Anterior Mucho Mejor Representado

Foro Web

Detalle del Flujo de Eventos (Listar Solicitudes Pendientes)


Flujo Normal: 1.- El actor selecciona la opcin para listar las Solicitudes Pendientes . 2.- El sistema presenta una lista de todas las Solicitudes Pendientes (tanto de Registro de Usuario como de Publicacin de Mensaje ) junto con una opcin para ver ms detalles sobre una solicitud en particular. Flujo Alternativo: En caso de un Registro de Usuario: 3A.- El usuario selecciona una solicitud. 4A.- Si se trata de una solicitud de Registro de Usuario el sistema le enva al caso de uso Procesar Solicitud de Registro (CU-06) En caso de una Publicacin de Mensaje: 3B.- El usuario selecciona una solicitud. 4B.- Si se trata de una solicitud de Publicacin de Mensaje el sistema le enva al caso de uso Procesar Publicacin de Mensaje (CU-07)

Ejemplo: Otra Representacin

Detalle del Flujo de Eventos (Procesar Solicitud de Registro)


Flujo Normal: 1.- El actor selecciona la opcin para procesar las solicitudes de Registro de Usuario . 2.- El sistema invoca al caso de uso Listar Solicitudes Pendientes (CU-08), lo que permite al usuario seleccionar una solicitud para procesar. 3.- El sistema presenta la informacin de la solicitud de Registro de Usuario. 4.- El usuario decide si aprueba o rechaza la solicitud. 5.- Una vez aceptada la solicitud el sistema registra al nuevo usuario y ste queda ya listo para acceder al foro. Flujo Alternativo: En caso de que la solicitud de Registro de Usuario sea Rechazada: 5A.- El sistema notifica al correo correspondiente a la solicitud que sta ha sido rechazada.

Ejemplo: Una mquina expendedora de caf (1)


Mquina Expendedora de Caf

Ejemplo: Una mquina expendedora de caf (2)


Mquina Expendedora de Caf

Ejemplo: Una mquina expendedora de caf (3)


Mquina Expendedora de Caf

El cliente enfrenta distintos escenarios dependiendo de lo que pretende comprar, pero en general, comprar un producto es algo muy general con muchas acciones comunes

Ejemplo: Una mquina expendedora de caf (4)


Mquina Expendedora de Caf

Cada despacho tiene particularidades acordes con el producto solicitado por el cliente

En Resumen Qu Modelan los Diagramas de Casos de Usos?


Actores del Sistema Los Casos de Uso (Escenarios / Interaccin Usuario - Sistema) Relaciones entre: Actores con Actores, Actores con Casos de Uso, Casos de Uso con Casos de Uso

Los lmites del sistema, el alcance del sistema


El refinamiento o descomposicin de los casos de uso

Resumen de la Clase

Casos de Uso (Descripcin Textual)


Casos de Uso (Diagramas) Elementos Comunes de UML: Estereotipos, Notas, Generalizacin (Especializacin)

Qu hemos estudiado.
Qu es un lenguaje de modelado ? El Lenguaje Unificado de Modelado UML? Lo s conceptos bsicos y su notacin en el (UML). Los elementos que conforman UML: diagramas de casos de uso, diagramas de clases, diagramas de paquetes, diagramas de actividades, diagramas de vistas de interaccin (secuencia y comunicacin), diagramas de mquinas de estado, diagramas diagramas de despliegue y diagramas de componentes.

Bibliografa

Martin Fowler. Uml gota a gota Addison-Wesley 2da. Edicin 1999.

James Rumbaugh, Ivar Jacobson, Grady Booch . El Lenguaje Unificado de Modelado. Manual de Referencia.

James Rumbaugh, Ivar Jacobson, Grady Booch . El Lenguaje Unificado de Modelado. Manual de Usuario.

Prof. Domingo Hernndez. Postgrado en Computacin Universidad de Los Andes.

Você também pode gostar