72
1 www.dsic.upv.es/~uml Caso de Estudio Guiado usando UML y Rational Rose Pedro Sánchez Palma Patricio Letelier Torres {ppalma, letelier}@dsic.upv.es Departamento Sistemas Informáticos y Computación Universidad Politécnica de Valencia (España)

Curso Uml Caso Estudio Terry Quatrani

Embed Size (px)

Citation preview

Page 1: Curso Uml Caso Estudio Terry Quatrani

1 www.dsic.upv.es/~uml

Caso de Estudio Guiado usandoUML y Rational Rose

Pedro Sánchez PalmaPatricio Letelier Torres

{ppalma, letelier}@dsic.upv.es

Departamento Sistemas Informáticos y ComputaciónUniversidad Politécnica de Valencia (España)

Page 2: Curso Uml Caso Estudio Terry Quatrani

2 www.dsic.upv.es/~uml

Descripción del ejemploGestión de Cursos UPV

� Se asignan profesores a cursos.

� Los estudiantes se registran en los cursos.

� Los profesores deciden qué cursos dar el próximo semestre.

� La oficina de registro introduce la información en el sistema.

� Se imprime un informe para los profesores indicando qué cursos y cuándo.

Page 3: Curso Uml Caso Estudio Terry Quatrani

3 www.dsic.upv.es/~uml

Descripción del ejemplo

� Se imprime un catálogo por curso programado y se entrega a los estudiantes.

� Los estudiantes se apuntan a los cursos.� La oficina de registro introduce los

formularios con los cursos solicitados.� Un proceso batch asignará estudiantes a

cursos.� Cuando exista conflicto en la asignación la

oficina de registro informará a los estudiantes las opciones disponibles.

Page 4: Curso Uml Caso Estudio Terry Quatrani

4 www.dsic.upv.es/~uml

Descripción del ejemplo

� Tras el periodo de inscripción los profesores reciben la lista de estudiantes apuntados a cada curso que van a impartir.

Riesgos� La capacidad de almacenamiento y acceso

a la información curricular de manera eficiente.

� El desarrollo de prototipos permitirá deducir que el riesgo puede ser mitigado.

Page 5: Curso Uml Caso Estudio Terry Quatrani

5 www.dsic.upv.es/~uml

Registro de los cursos

� Al principio del semestre los estudiantes reciben la información de los cursos, profesores, departamentos, prerrequisitos, etc.

� El estudiante incluirá dos alternativas por si un curso está lleno o se cancela.

� Un curso se cancela si no alcanza un mínimo de 3 alumnos.

� El máximo de alumnos por curso es de 10.

Page 6: Curso Uml Caso Estudio Terry Quatrani

6 www.dsic.upv.es/~uml

Registro de los cursos

� Los profesores deben poder acceder a la información de los cursos.

� Durante un periodo de tiempo fijado los estudiantes pueden cambiarse o borrarse de los cursos.

Page 7: Curso Uml Caso Estudio Terry Quatrani

7 www.dsic.upv.es/~uml

Actores

� La identificación de actores no suelen ser inmediata sino más bien iterada.

� Una misma persona física puede usar el sistema de dos formas distintas apareciendo entonces como dos actores diferentes.

� Examinamos los diferentes actores y documentamos cómo usan el sistema.

Page 8: Curso Uml Caso Estudio Terry Quatrani

8 www.dsic.upv.es/~uml

Actores

� Actores:

• Los estudiantes desean apuntarse a los cursos.• Los profesores quieren seleccionar cursos para

impartirlos.• El secretario debe crear el catálogo del semestre.• El secretario debe mantener toda la información

sobre los cursos, profesores y estudiantes.• El sistema de faturación debe recibir la facturación

generada.

Page 9: Curso Uml Caso Estudio Terry Quatrani

9 www.dsic.upv.es/~uml

Creación de actores en RS

� Introduzca los actores anteriores en Rational Rose.

� Introduzca las descripciones:• Estudiante: Una persona que se matricula para

recibir clases en la Universidad.• Profesor: Una persona acreditada para dar clases

en la universidad.• Secretario: Una persona responsable del

mantenimiento de la información de los cursos.• Sistema de Facturación: Sistema externo

responsable de la facturación a los estudiantes.

Page 10: Curso Uml Caso Estudio Terry Quatrani

10 www.dsic.upv.es/~uml

Casos de Uso

� Registrarse en los cursos.� Seleccionar los cursos a impartir.� Solicitar lista de apuntados a un curso.� Mantener información de un curso.� Mantener información de un profesor.� Mantener información de un

estudiante.� Crear un catálogo de curso.

Page 11: Curso Uml Caso Estudio Terry Quatrani

11 www.dsic.upv.es/~uml

Creación de Casos de Uso

� Cree los distintos casos de uso.� Añada una breve descripción de cada

caso de uso.

Page 12: Curso Uml Caso Estudio Terry Quatrani

12 www.dsic.upv.es/~uml

Flujo de eventos para cada caso de uso

� El flujo de eventos de un caso de uso es una descripción de los eventos que necesita para llevar a cabo el comportamiento descrito en el caso de uso.

� Escrito en términos del qué y no del cómo.� Debe incluir:

• Cuándo y cómo empieza o acaba el CU.• Interacción con actores.• Datos que necesita el CU.• Secuencia normal de eventos para el CU.• Descripción de cualquier flujo alternativo o excepcional.

Page 13: Curso Uml Caso Estudio Terry Quatrani

13 www.dsic.upv.es/~uml

Flujo de eventos para cada caso de uso

� Normalmente se crea en la fase de elaboración de manera iterativa.

� Debería seguir una plantilla tal como:X Flujo de eventos para el caso de uso <nombre>X.1 PrecondicionesX.2 Flujo principalX.3 SubflujosX.4 Flujos alternativos

siendo X un iterador para cada caso de uso

Page 14: Curso Uml Caso Estudio Terry Quatrani

14 www.dsic.upv.es/~uml

Flujo de eventos para el CU “seleccionar cursos a impartir”

1.0 Flujo de eventos del CU “seleccionar curso a impartir”

1.1 PrecondicionesEl subflujo “Crear oferta de cursos” del caso de uso “Mantener

información de un curso” debe ejecutarse antes.

1.2 Flujo principalEste CU empieza cuando el profesor se conecta al sistema e

introduce su password. El sistema verifica su password (E-1) y le solicita seleccione un curso del semestre actual o futuro (E-2). El profesor introduce el semestre. El sistems entonces solicita la actividad deseada: ADD, DELETE, REVIEW, PRINT o QUIT.

Page 15: Curso Uml Caso Estudio Terry Quatrani

15 www.dsic.upv.es/~uml

Flujo de eventos para el CU “seleccionar cursos a impartir”

Si la actividad es ADD se hace el subflujo S-1 “Añadir curso”

Si la actividad es DELETE se hace el subflujo S-2 “Borrar curso”

Si la actividad es REVIEW se hace el subflujo S-3 “Revisar planificación”

Si la actividad es PRINT se hace el subflujo S-4 “Imprimir planificación”

Si la actividad es QUIT el caso de uso termina.

1.3 SubflujosS-1: Añadir curso.

El sistema muestra la pantalla de cursos con dos campos (nombre y número). El profesor introduce ambos campos (E-3). El sistema muestra los datos del curso seleccionado (E-4).

Page 16: Curso Uml Caso Estudio Terry Quatrani

16 www.dsic.upv.es/~uml

Flujo de eventos para el CU “seleccionar cursos a impartir”

El sistema enlace profesor y curso (E-5). El caso de uso comienza de nuevo.

S-2: Borrar un curso.

El sistema muestra la oferta de cursos y el profesor introduce el nombre y número de un curso (E-6). El sistema deshace la relación entre el profesor y el curso (E-7). El caso de uso empieza de nuevo.

S-3: Revisar una planificación

El sistema obtiene (E-8) y muestra la información: nombre del curso, número, días de la semana, hora y lugar. Cuando el profesor indica que la revisión ha terminado el CU empiza de nuevo.

Page 17: Curso Uml Caso Estudio Terry Quatrani

17 www.dsic.upv.es/~uml

Flujo de eventos para el CU “seleccionar cursos a impartir”

S-4: Imprimir una planificaciónEl sistema imprime la planificación de los cursos para el

profesor (E-9). El caso de uso comienza.

1.4 Flujos alternativosE-1: El identificador de profesor no es válido. El usuario puede

intentarlo de nuevo o salir.E-2: El código de semestre no es valido. Repetir o salir.E-3: Número/nombre de curso no válido. Repetir o salir.E-4: La oferta de cursos no puede mostrarse. Se informa al

usuario de que la información no está disponible. El caso de uso comienza.

E-5: No se puede crear el enlace profesor-curso. Se guarda la información para crear el enlace posteriormente. El caso de uso continúa.

Page 18: Curso Uml Caso Estudio Terry Quatrani

18 www.dsic.upv.es/~uml

Flujo de eventos para el CU “seleccionar cursos a impartir”

E-6: Nombre/número de curso no válidos. Reintentar o salir.

E-7: No se puede borrar el enlace. Se salva la información para reintentarlo más tarde. El caso de uso continúa.

E-8: El sistema no puede extraer la información para la planificación. El caso de uso comienza.

E-9: La planificación no puede imprimirse. El caso de uso comienza.

Esta información se mantiene aparte y se enlaza porteriormente con Rational Rose.

Page 19: Curso Uml Caso Estudio Terry Quatrani

19 www.dsic.upv.es/~uml

Flujo de eventos

� Establezca un enlace entre el caso de uso “seleccionar curso a impartir” y el fichero anterior de flujo de eventos.

Page 20: Curso Uml Caso Estudio Terry Quatrani

20 www.dsic.upv.es/~uml

Relaciones en los casos de uso

� Las relaciones de asociación entre el actor y el caso de uso puede ser bidireccionalmente navegable o en una sóla dirección.

� Entre casos de uso tenemos el incluye y el extiende.

� Por ejemplo, todos los casos de uso anteriores empiezan con la verificación del acceso (es decir, “lo incluyen”).

Page 21: Curso Uml Caso Estudio Terry Quatrani

21 www.dsic.upv.es/~uml

Relaciones en los casos de uso

� La relación “extiende” se usa para:• Comportamiento opcional.• Comportamiento que se lleva a cabo bajo ciertas

circunstancias.• Diferentes flujos que se ejecutan en función de la

selección del actor.

Page 22: Curso Uml Caso Estudio Terry Quatrani

22 www.dsic.upv.es/~uml

Creación del diagrama de CU principal

� Incorpore al diagrama cada uno de los actores involucrados.

� Incorpore al diagrama cada uno de los casos de uso involucrados (arrastrando el CU).

� Establezca la comunicación entre actores y casos de uso (unidireccional o bidireccional con la asociación).

� Podemos establecer el estereotipo <<se comunica con>>

Page 23: Curso Uml Caso Estudio Terry Quatrani

23 www.dsic.upv.es/~uml

Creación del diagrama de CU principal

� Incorpore al diagrama las relaciones de uso.

Page 24: Curso Uml Caso Estudio Terry Quatrani

24 www.dsic.upv.es/~uml

Creación del diagrama de CU principal

Estudiante

seleccionar cursos a impartir

Profesor

crear lista de cursos

mantener inf estudiante

crear catalogo cursomantener inf curso

Secretario

mantener inf profesor

registrarse en cursos

S. Facturación

<<se comunica con>>

Valida usuario

<<usa>>

<<usa>>

Page 25: Curso Uml Caso Estudio Terry Quatrani

25 www.dsic.upv.es/~uml

Creación de Clases

� Considerando que análisis y diseño son procesos iterativos es incrementales, la identificación de las clases cambiará con el tiempo.

� Las clases entidad modelan información y comportamiento que perdura en el tiempo. Suelen ser clases del mundo real o bien internas al sistema. Suelen poder usarse en varias aplicaciones (son aplicación-independientes).

Page 26: Curso Uml Caso Estudio Terry Quatrani

26 www.dsic.upv.es/~uml

Creación de Clases

� Las clases entorno manejan la comunicación entre la frontera del sistema y el interior del sistema. Proporcionan un interface a usuarios o a otros sistemas. Documentan los interfaces.

� En la fase de elaboración estas clases entorno no se detallan apenas.

Page 27: Curso Uml Caso Estudio Terry Quatrani

27 www.dsic.upv.es/~uml

Creación de Clases

� Las clases control modelan conducta secuencial específica a uno o más casos de uso. Coordinan los eventos necesarios para llevar a cabo el caso de uso.

� En la fase de elaboración se suele incluir una clase control para cada par actor/caso de uso.

Page 28: Curso Uml Caso Estudio Terry Quatrani

28 www.dsic.upv.es/~uml

Clases en RS

� Cree la clase “InformaciónEstudiante” y asocie el estereotipo <<entidad>>, y la siguiente documentación:

Información necesaria para registrar y facturar a los estudiantes. Un estudiante es alguien que es registrado para ir a clases a la universidad.

� Haga lo mismo para la clase “InformacionProfesor”.

Page 29: Curso Uml Caso Estudio Terry Quatrani

29 www.dsic.upv.es/~uml

Paquetes en RS

� Cree el paquete “InformacionPersonas”.

� Reubique las clases InformaciónEstudiante e InformaciónProfesor en el paquete creado.

Page 30: Curso Uml Caso Estudio Terry Quatrani

30 www.dsic.upv.es/~uml

Clases del escenario “añadir oferta de curso para enseñar”

� El escenario “añadir oferta de curso para enseñar” es uno de los subflujos del caso de uso “seleccionar cursos a impartir”.

� Este caso de uso interacciona sólo con el actor profesor.

� Es necesaria una clase (de entorno) que ofrezca todas las posibilidades del caso de uso (la clase OpcionesCursoProfesor).

� Identificamos también la clase (de entorno) AñadirOfertaCurso para este escenario.

Page 31: Curso Uml Caso Estudio Terry Quatrani

31 www.dsic.upv.es/~uml

Clases del escenario “añadir oferta de curso para enseñar”

� Identificamos tres clases tipo entidad: Curso, OfertaCurso e InformacionProfesor.

� Identificamos una clase tipo control para manejar el flujo de eventos para el caso de uso (la clase GestorCursosProfesor).

Page 32: Curso Uml Caso Estudio Terry Quatrani

32 www.dsic.upv.es/~uml

Clases del escenario “añadir oferta de curso para enseñar”

� Las clases de entorno las ubicamos en el paquete que creemos llamado Interfaces.

� Las clases entidades las ubicamos en el paquete llamado Universidad.

Page 33: Curso Uml Caso Estudio Terry Quatrani

33 www.dsic.upv.es/~uml

Diagrama de clases principal

� Hacer doble-click en el diagrama de clases principal del logical-view y añadir los paquetes creados.

Interfaces

Universidad InformacionPersonas

Page 34: Curso Uml Caso Estudio Terry Quatrani

34 www.dsic.upv.es/~uml

Diagrama de clases principal

� Hacer doble-click en el paquete Universidad e incluir las clases Cursos y GestorCursosProfesor.

� Añadir en el paquete Interfaces las dos clases de entorno indicadas.

� Los diagramas de clases también pueden añadirse en la vista de casos de uso y suelen corresponder a clases que participan en el caso de uso.

Page 35: Curso Uml Caso Estudio Terry Quatrani

35 www.dsic.upv.es/~uml

Diagrama de clases caso de uso

� Situado sobre el caso de uso “seleccionar cursos a impartir” crear un diagrama de clases que se llame igual en el que se incluyan las clases participantes: OpcionesCursoProfesor, AñadirOfertaCurso, Cursos, InformacionProfesor, GestorCursosProfesor y OfertaCursos.

Page 36: Curso Uml Caso Estudio Terry Quatrani

36 www.dsic.upv.es/~uml

Diagrama de clases caso de uso

� A cada clase especificar el estereotipo correspondiente (entorno, control o entidad).

OfertaCursos(from Universidad)

<<entidad>>

InformacionProfesor(from InformacionPersonas)

<<entidad>>

GestorCursosProfesor(from Universidad)

<<control>>

OpcionesCursoProfesor(from Interfaces)

<<entorno>>

Cursos(from Universidad)

<<entidad>>

AñadirOfertaCurso(from Interfaces)

<<entorno>>

Page 37: Curso Uml Caso Estudio Terry Quatrani

37 www.dsic.upv.es/~uml

Diagramas de secuencia

� Asociar un diagrama de secuencia para el escenario “Crear Catálogo Curso” (cree autom. el de colaboración):

: Secretario

Formulario Curso

El gestor UnCurso : Cursos

fija info curso

procesar

añadir curso

nuevo curso

Page 38: Curso Uml Caso Estudio Terry Quatrani

38 www.dsic.upv.es/~uml

Diagramas de secuencia

Cree el diagrama de secuencia para el escenario “Añadir Curso”:

: Profesor : OpcionesCurs

oProfesordisplay ofertas :

AñadirOfertaCurso : GestorCursos

ProfesorMatemáticas :

Cursos : OfertaCursos

1: introduce passw ord

2: verif ica passw ord

3: introduce semestre

4: añadir una oferta

5: display

6: select matemáticas7: obtener oferta(cursos)

8: obtener oferta(curso)9: obtener oferta

11: selecciona ofertas

10:

12: f ijar oferta(informacionProfesor, OfertaCurso)

13: añadir oferta(InformaciónProfesor, OfertaCurso)

Page 39: Curso Uml Caso Estudio Terry Quatrani

39 www.dsic.upv.es/~uml

Especificando relaciones

� En el diagrama de clases de Universidad establecer una asociación entre las clases cursos y GestorCursosProfesor.

� Indicar la agregación existente entre cursos y OfertaCursos.

OfertaCursos

AñadirProfesor()

<<entidad>>

Cursosnombredescripcioncreditoshoras

<<entidad>>

1 1..*1 1..*

0..*0..* 0..*prerrequisitos0..*

GestorCursosProfesor<<control>>

1..*0..* 1..*0..*

maneja1

Page 40: Curso Uml Caso Estudio Terry Quatrani

40 www.dsic.upv.es/~uml

Roles en relaciones

� Cree en el paquete Personas un diagrama de clases en el que incluya a OfertaCursos e InformaciónProfesor con una asociación entre ellos.

� Especificar que existe un rol llamado InformaciónProfesor en el diagrama de clases de Personas y entre las clases OfertaCursos y InformaciónProfesor.

Page 41: Curso Uml Caso Estudio Terry Quatrani

41 www.dsic.upv.es/~uml

Roles en relaciones

� Considere la cardinalidad siguiente para la asociación anterior:

1 profesor puede dar hasta 4 cursos1 curso sólo lo da un profesor

InformacionProfesor<<entidad>>OfertaCursos

AñadirProfesor()

<<entidad>>

10..4

+InformaciónProfesor

10..4

Page 42: Curso Uml Caso Estudio Terry Quatrani

42 www.dsic.upv.es/~uml

Relaciones reflexivas

� Considere que un curso está relacionado consigo mismo con el rol prerrequisito y con cardinalidad 0..* en ambos lados.

Page 43: Curso Uml Caso Estudio Terry Quatrani

43 www.dsic.upv.es/~uml

Analizando relaciones

� Consideraremos las siguiente relaciones para el diagrama de clases Universidad:

De OpcionesCursoProfesor a AñadirOfertaCurso Agregación

De AñadirOfertaCurso a GestorCursosProfesor Asociación

De GestorCursosProfesor a Cursos Asociación

De Cursos a OfertaCursos Agregación

Page 44: Curso Uml Caso Estudio Terry Quatrani

44 www.dsic.upv.es/~uml

Analizando relaciones

OfertaCursos<<entidad>>

Cursos<<entidad>>

1

1..*

0..*0..*

prerrequisitos

0..*0..*

1

1..*

OpcionesCursoProfesor<<entorno>>

AñadirOfertaCurso<<entorno>>

1 11 1

GestorCursosProfesor<<control>>

1..*0..*

1..*0..*

maneja

1

1

1

1

Page 45: Curso Uml Caso Estudio Terry Quatrani

45 www.dsic.upv.es/~uml

Relaciones entre paquetes

� Si un paquete depende de otro entonces se comunica con alguna clase de éste.

� Examinando los escenarios y las relaciones entre clases podemos descubrir las relaciones de dependencia entre paquetes.

Page 46: Curso Uml Caso Estudio Terry Quatrani

46 www.dsic.upv.es/~uml

Relaciones entre paquetes

� La clase AñadirOfertaCurso envía un mensaje a la clase GestorCursosProfesor. Esto implica una relación entre los paquetes Interfaces y Universidad. Expréselo en RS.

Interfaces

Universidad InformacionPersonas

Page 47: Curso Uml Caso Estudio Terry Quatrani

47 www.dsic.upv.es/~uml

Comportamiento y estructura

� Los atributos determinan la estructura.� Las operaciones se derivan de los

mensajes presentes en los diagramas de interacción.

� A veces, recibir un mensaje no implica implementar una operación (p.e. controles gráficos como botones, etc.).

� Tampoco se implementan los mensajes que reciben los actores.

Page 48: Curso Uml Caso Estudio Terry Quatrani

48 www.dsic.upv.es/~uml

Comportamiento y estructura

� Añada a la clase cursos las operaciones

AñadirProfesor, ObtenerOfertas y ValidarProfesor.

� Las dos primeras desde el diagrama de secuencia

introducido. La última directamente en la clase.

� Documentación para AñadirProfesor:

Añadir un profesor como docente de un curso particular de la

oferta de cursos.

Entradas: Profesor y curso ofertado

Salidas: Indicador de éxito.

Page 49: Curso Uml Caso Estudio Terry Quatrani

49 www.dsic.upv.es/~uml

Relaciones y signatura de operaciones

� La signatura de una operación puede implicar una relación si el argumento es de tipo clase.

� Esto ocurre por ejemplo en la operación AñadirProfesor de la clase curso que tiene como argumentos a InformaciónProfesor y a OfertaCurso. Entonces surgen las relaciones:

Curso con InformaciónProfesorCurso con OfertaCursos

Page 50: Curso Uml Caso Estudio Terry Quatrani

50 www.dsic.upv.es/~uml

Creación de atributos

� Añada los atributos siguientes a la clase cursos:

NombreDescripciónCréditosHoras

Page 51: Curso Uml Caso Estudio Terry Quatrani

51 www.dsic.upv.es/~uml

Clases asociación

� Una relación puede tener estructura y comportamiento. Considere que un estudiante puede coger hasta 4 cursos y un curso puede involucrar entre 3 y 10 estudiantes. Añada esta relación.

Page 52: Curso Uml Caso Estudio Terry Quatrani

52 www.dsic.upv.es/~uml

Clases asociación

� Añada las clases Examen y TarjetaInforme que se relacionen tal como se indica:

OfertaCursos

AñadirProfesor()

<<entidad>>

InformacionEstudiante

<<entidad>>

0..4 3..100..4 3..10

Examen

nota

TarjetaInforme

1

1

1

1

10..4 10..4

Page 53: Curso Uml Caso Estudio Terry Quatrani

53 www.dsic.upv.es/~uml

Herencia

� Incluya en el diagrama de clases de Personas la clase InformaciónUsuario como generalización de InformaciónProfesor e InformaciónEstudiante.

InformacionProfesor<<entidad>>

InformacionEstudiante<<entidad>>

InformacionUsuario

Page 54: Curso Uml Caso Estudio Terry Quatrani

54 www.dsic.upv.es/~uml

Herencia

� Añada a la clase InformaciónUsuario los atributos nombre e identificador, comunes a ambas subclases.

Page 55: Curso Uml Caso Estudio Terry Quatrani

55 www.dsic.upv.es/~uml

StateCharts

� Abra el diagrama de clases que contenga la clase OfertaCursos y seleccione “Browse-State Diagram”. Añada el diagrama de la figura siguiente:

Inicialización

Abrir

Cancelado

Cerradoañadir estudiante

cancelarañadir estudiante

Page 56: Curso Uml Caso Estudio Terry Quatrani

56 www.dsic.upv.es/~uml

StateCharts

� Modifique el diagrama anterior para incorporar las guardas:

contador <10 en el arco reflexivo a Abierto.contador=10 en el arco de Abierto a Cerrado

� Modifique el arco AñadirEstudiante de Inicialización a Abierto de manera que se haga set contador=0 y se envíe el mensaje Create sin argumentos a la clase ListaCursos.

Page 57: Curso Uml Caso Estudio Terry Quatrani

57 www.dsic.upv.es/~uml

StateCharts

� Modifique el estado Inicialización de manera que incluya las operaciones InicializarDatosOfertaCursos a realizar a la entrada al estado.

� Lo mismo para el estado Abierto:Al entrar: RegistrarEstudianteAl salir: enviar el mensaje AñadirEstudiante a ListaCursos

con el argumento estudiante

� Modifique el arco de Cancelado a Cerrado para enviar el mensaje Borrar a ListaCursos.

Page 58: Curso Uml Caso Estudio Terry Quatrani

58 www.dsic.upv.es/~uml

Chequeo del modelo

� Una clase puede ser eliminada del modelo si descubrimos que no tiene estructura, comportamiento o no participa en los casos de uso.

� Verifique que dos objetos que se comunican están conectados a través de asociación o agregación.

Page 59: Curso Uml Caso Estudio Terry Quatrani

59 www.dsic.upv.es/~uml

Chequeo del modelo

� Verifique que cada clase participa en al menos un escenario.

� Verifique que cada operación de una clase está incluido en algún escenario.

� Verifique que cada mensaje recibido por una clase en un diagrama de secuencia está definido en la clase receptora.

� Verifique que la clase que envía el mensaje en el D. de secuencia es responsable del envío.

Page 60: Curso Uml Caso Estudio Terry Quatrani

60 www.dsic.upv.es/~uml

Chequeo del modelo

� Verifique que las clases emisora y receptora del D. de secuencia están relacionadas por asociación o por agregación.

� Si una clase tiene un statechart asociado verifique entonces que el evento está representado en el diagrama de la clase receptora.

� Dos clases pueden llegar a fusionarse.

� Una clase puede ser dividida en dos o más independientes.

Page 61: Curso Uml Caso Estudio Terry Quatrani

61 www.dsic.upv.es/~uml

Diseño de la arquitectura

� Se decide incorporar controles GUI al modelo.

� Se considera una clase persistente de base de

datos para cada clase del modelo (incluidas

en el paquete basedatos).

� Se considera un paquete con utilidades

comerciales (paquete global a todos).

� Se considera un paquete global para la

gestión de errores (paquete ManejoErrores).

Page 62: Curso Uml Caso Estudio Terry Quatrani

62 www.dsic.upv.es/~uml

Diseño de la arquitectura

� Incluya los paquetes anteriores estableciendo una dependiencia de Universidad a BaseDatos, de Personas a BaseDatos y de Interfaces a GUI.

� Incluya también los paquetes globales.

Page 63: Curso Uml Caso Estudio Terry Quatrani

63 www.dsic.upv.es/~uml

Diseño de la arquitectura

Interfaces

Universidad InformacionPersonas

BaseDatos ManejoErrores

global

Comerciales

global

GUI

Page 64: Curso Uml Caso Estudio Terry Quatrani

64 www.dsic.upv.es/~uml

Vista de componentes

� Los paquetes de la vista de componentes corresponden a subsistemas.

� Un paquete de la vista lógica puede pasar a la vista de componentes.

� La relación entre paquetes es la siguiente:Paq. Componentes Paq. LógicoInterfaces Interfaces, GUIUniversidad Universidad, PersonasBaseDatos BaseDatosComerciales ComercialesManejoErrores ManejoErrores

Page 65: Curso Uml Caso Estudio Terry Quatrani

65 www.dsic.upv.es/~uml

Vista de componentes

� En la vista de componentes del modelo un componente representa un fichero software incluido en algún paquete (subsistema).

� El tipo de este fichero es dependiente del lenguaje (C++, .java, etc.).

Page 66: Curso Uml Caso Estudio Terry Quatrani

66 www.dsic.upv.es/~uml

Vista de Componentes

� Crear un nuevo diagrama de componentes para el paquete Universidad que incluya las especificación de paquetes:

CursosOfertaCursosInformaciónUsuarioInformaciónEstudianteInformaciónProfesor

Page 67: Curso Uml Caso Estudio Terry Quatrani

67 www.dsic.upv.es/~uml

Componentes

Cursos OfertaCursos

InformaciónUsuariosInformaciónEstudiante InformaciónProfesor

Page 68: Curso Uml Caso Estudio Terry Quatrani

68 www.dsic.upv.es/~uml

Vista de Procesos

� Esta vista de la arquitectura se centra en la implementación en tiempo de ejecución del sistema.

� Se considera productividad, escalabilidad, integridad, manejo y sincronización.

� Los componentes se incluyen con relaciones de dependencia entre ellos.

� Los componentes run-time muestran la relación de las clases con librerías de ejecución tales como applets java, Componentes Active X y DLLs.

Page 69: Curso Uml Caso Estudio Terry Quatrani

69 www.dsic.upv.es/~uml

Vista de Procesos

� Dibuje un nuevo diagrama de componentes en el que incluya dos DLL (Cursos y BaseDatos) un ejecutable (Profesor) y tres ejecutables más (OpcionesCursoProfesor, AñadirOfertaCursos e InformaciónProfesor).

Page 70: Curso Uml Caso Estudio Terry Quatrani

70 www.dsic.upv.es/~uml

Vista de ProcesosProfesor

BaseDatos

InformacionProfesor

AñadirOfertaCursos

OpcionesCursoProfesor

Cursos

Page 71: Curso Uml Caso Estudio Terry Quatrani

71 www.dsic.upv.es/~uml

Despliegue

� Tras analizar los subsistemas definidos, el HW existente y estimando la carga del sistema durante el proceso de inscripción se decide ubicar 5 procesadores, uno para el ejecutable de profesores, otro para la base de datos y tres para la matriculación de los estudiantes (en la biblioteca, edificio principal y colegio mayor).

Page 72: Curso Uml Caso Estudio Terry Quatrani

72 www.dsic.upv.es/~uml

Despliegue

� Dibuje el diagrama de despliegue siguiente:

Registro Servidor Base Datos

Colegio Mayor Edificio Principal

Biblioteca