Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES...
-
Upload
nieve-tadeo -
Category
Documents
-
view
215 -
download
0
Transcript of Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES...
![Page 1: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/1.jpg)
Ingeniería de Software IIInformación obtenida de Internet
UNIVERSIDAD DE SAN MARTIN DE PORRESFACULTAD DE INGENIERIA Y ARQUITECTURA
Profesor: Ing. Luis Palacios Quichíz
![Page 2: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/2.jpg)
Caso Práctico UML
Curso de UML para el Servicio de Informática
Universidad de Murcia
Julio de 2.000
![Page 3: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/3.jpg)
Curso UML 3
Contenido
• Requisitos de la aplicación
• Casos de uso
• Modelo conceptual
• Modelo de Análisis y Diseño
• Aspectos Avanzados del Diseño
![Page 4: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/4.jpg)
Curso UML 4
Requisitos de la aplicación
• Servicio de Tutorías Virtuales para la Universidad.
• Requisitos:– El alumno accederá a la aplicación a través del web.
– Los usuarios se identificarán en el sistema utilizando tarjetas inteligentes.
– Permitirá a los alumnos realizar consultas electrónicas.
– Sistema de consultas on-line.
– El alumno tendrá un buzón de nuevas respuestas.
– El profesor tendrá un buzón de nuevas consultas.
![Page 5: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/5.jpg)
Curso UML 5
Requisitos de la aplicación
• Requisitos (continuación):– El alumno organizará las consultas por asignatura,
profesor y tema. – El profesor organizará las consultas por asignatura,
alumno y tema.– El profesor podrá determinar cuando desea establecer las
tutorías on-line para una asignatura.– La Universidad desea conocer para cada profesor:
• Cumplimiento horario tutorías.• Número de horas de tutorías on-line.• Número de horas de consultas on-line.• Número de consultas respondidas.
![Page 6: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/6.jpg)
Curso UML 6
Reglas de Negocio
• Restricciones que afectan a las informaciones y acciones de la organización:– Horas de tutorías del profesor >= 6
– Un usuario no puede fallar durante el proceso de identificación más de 3 veces
![Page 7: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/7.jpg)
Curso UML 7
Diagrama de Casos de Uso
Explorar Consultas Alumno Crear Tema Consulta
Realizar Consulta
Consultar Buzon Entrada Alumno
Explorar Consultas Profesor
Responser Consulta
Consulta en linea
Consultar Buzon Entrada Profesor
Establecer Tutorias
Alumno
(from Alumno)
Profesor
(from Profesor)
Identificacion Alumno Identificación Profesor
Identificación
<<extend>> <<extend>>
Universitario
![Page 8: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/8.jpg)
Curso UML 8
Plantilla Casos de Uso
• Caso de uso: nombre del caso de uso• Objetivo: propósito del caso de uso• Actores: actores que intervienen• Precondiciones: condiciones que deben cumplirse
para poder comenzar el caso de uso• Pasos: secuencia normal de acciones• Variaciones: variaciones de la secuencia normal• Extensiones: extensiones del caso de uso
![Page 9: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/9.jpg)
Curso UML 9
CDU: Realizar Consulta
• Objetivo: el alumno realiza una consulta electrónica al profesor de una asignatura
• Actores: Alumno • Pasos:
– 1. A: Selecciona el tema
– 2. A: Escribe la consulta y su título
– 3. S: Registrar consulta asociada al tema
![Page 10: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/10.jpg)
Curso UML 10
CDU: Crear Tema Consulta
• Objetivo: establecer un nuevo tema de consulta para las tutorías con un profesor
• Actores: Alumno• Pasos:
– 1. A: Selecciona la asignatura y el profesor
– 2. A: Establece nuevo tema de consulta
– 3. S: Registrar el tema de consulta asociado al profesor y la asignatura
![Page 11: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/11.jpg)
Curso UML 11
CDU: Crear Tema Consulta
• Variaciones:– 1.a. El tema de consulta existe
• 1.a.1: Indicar error
• 1.a.2: Finalizar cdu.
![Page 12: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/12.jpg)
Curso UML 12
CDU: Consultar Buzón Entrada Alumno
• Objetivo: el alumno consulta las nuevas consultas contestadas por los profesores
• Actores: Alumno• Pasos:
– 1. S: Muestra todas las consultas recién contestadas por los profesores.
– 2. A: Lee las consultas del buzón.
![Page 13: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/13.jpg)
Curso UML 13
CDU: Explorar Consultas Alumno
• Objetivo: el alumno explora las consultas, junto con sus respuestas, realizadas a los profesores
• Actores: Alumno• Pasos: *
– 1. S: Muestra las asignaturas para las que está matriculado el alumno
– 2. A: Selecciona Asignatura
– 3. S: Muestra los profesores de la asignatura seleccionada
– 4. A: Selecciona Profesor
![Page 14: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/14.jpg)
Curso UML 14
CDU: Explorar Consultas Alumno
• Pasos (continuación):– 5. S: Muestra los temas para la Asignatura-Profesor-
Alumno
– 6. A: Selecciona Tema
– 7. S: Muestras las consultas para ese Tema
![Page 15: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/15.jpg)
Curso UML 15
CDU: Consulta en Línea
• Objetivo: el alumno realiza una consulta en línea con el profesor.
• Actores: Alumno (iniciador), Profesor• Precondiciones: profesor está en línea y no
ocupado• Pasos:
– 1. A Alumno: Solicita la consulta al profesor.
– 2. S: Avisa al Profesor
– 3. A Profesor: Acepta la consulta.
– 4. S: Avisa al Alumno
![Page 16: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/16.jpg)
Curso UML 16
CDU: Consulta en Línea
• Pasos (continuación):– 5. A Alumno-Profesor: Intercambian mensajes.
– 6. S: Envía mensajes al otro interlocutor
– 7. A Alumno-Profesor: Finaliza la consulta.
– 8. S: Notifica la finalización al otro interlocutor
– 9. S: Registrar periodo de tutoria asociado al Profesor y al Alumno
• Variaciones:– 2. a. El profesor no acepta la consulta
• 2.a.1: Finaliza cdu.
![Page 17: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/17.jpg)
Curso UML 17
CDU: Responder Consulta
• Objetivo: el profesor responde una consulta electrónica de un alumno
• Actores: Profesor • Pasos:
– 1. A: Selecciona la consulta a responder
– 2. S: Muestra el contenido de la consulta para su edición
– 3. A: Escribe la respuesta dentro de la consulta
– 4. S: Registra la respuesta y la asocia a la consulta
![Page 18: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/18.jpg)
Curso UML 18
CDU: Consultar Buzón Entrada Profesor
• Objetivo: el profesor examina las consultas no contestadas
• Actores: Profesor• Pasos:
– 1. S: Muestra todas las consultas no contestadas del profesor
– 2. A: Leer consultas del buzón.
![Page 19: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/19.jpg)
Curso UML 19
CDU: Explorar Consultas Profesor
• Objetivo: el profesor explora las consultas, contestadas o no, de los alumnos
• Actores: Profesor• Pasos: *
– 1. A: Selecciona la Asignatura
– 2. S: Muestra los alumnos matriculados para la Asignatura
– 3. A: Selecciona el Alumno
– 4. S: Muestra los temas del Alumno para la Asignatura y el Profesor
![Page 20: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/20.jpg)
Curso UML 20
CDU: Explorar Consultas Profesor
• Pasos: (continuación)– 5. A: Selecciona el Tema
– 6. S: Muestra las consultas de ese tema
![Page 21: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/21.jpg)
Curso UML 21
CDU: Establecer Tutorías
• Objetivo: permite a un profesor establecer las asignaturas para las que estará en tutoría
• Actores: Profesor• Pasos:
– 1. A: Seleccionar asignatura y establecer estado (en línea o fuera de línea)
– 2. S: Registrar el cambio de tutorías y actualizar las estadísticas (cumplimiento horario tutorías y horas de tutorías)
![Page 22: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/22.jpg)
Curso UML 22
CDU: Identificación
• Objetivo: obtener y validar la identidad de un usuario de la Universidad
• Actores: Universitario• Pasos:
– 1. S: Solicita tarjeta inteligente
– 2. A: Introduce tarjeta inteligente
– 3. S: Solicita el PIN
– 4. A: Introduce el PIN
– 5. S: Comprobar identidad
– 6. S: Devolver identidad
![Page 23: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/23.jpg)
Curso UML 23
CDU: Identificación
• Variaciones:– 5. a. El PIN no es correcto
• 5.a.1: Solicitar el PIN hasta 3 veces
• Extensiones:– Tipo de usuario
![Page 24: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/24.jpg)
Curso UML 24
CDU: Identificación Alumno
• Identificación Alumno extends Identificación• Objetivo: comprobar la identidad del alumno• Actores: Alumno• Precondiciones: • Pasos:
– 1: Pasos cdu Identificación
– 2: S: Obtener identidad alumno
![Page 25: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/25.jpg)
Curso UML 25
CDU: Identificación Profesor
• Identificación Profesor extends Identificación• Objetivo: comprobar la identidad del profesor• Actores: Profesor• Precondiciones: • Pasos:
– 1: Pasos cdu Identificación
– 2: S: Obtener identidad profesor
![Page 26: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/26.jpg)
Curso UML 26
Interfaces Gráficas (Pantallas)
• Una manera adecuada de validar los requisitos del usuario es construir las interfaces gráficas
• Nos ayudan a ver las conexiones entre casos de uso
• Permiten definir los llamados casos de uso reales: – Hacen referencia a los elementos de interacción actor-
sistema
– Ejemplo de elementos: cuadros de edición, botones, listbox, ...
![Page 27: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/27.jpg)
Curso UML 27
Pantallas: Realizar Consulta
![Page 28: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/28.jpg)
Curso UML 28
Pantallas: Crear Tema Consulta
![Page 29: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/29.jpg)
Curso UML 29
Pantallas: Buzón de Entrada Alumno
![Page 30: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/30.jpg)
Curso UML 30
Pantallas: Explorador Alumno
![Page 31: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/31.jpg)
Curso UML 31
Pantallas: Consulta en Línea
![Page 32: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/32.jpg)
Curso UML 32
Pantallas: Consulta en Línea
![Page 33: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/33.jpg)
Curso UML 33
Pantallas: Consulta en Línea
![Page 34: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/34.jpg)
Curso UML 34
Pantallas: Responder Consulta
![Page 35: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/35.jpg)
Curso UML 35
Pantallas: Buzón de Entrada Profesor
![Page 36: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/36.jpg)
Curso UML 36
Pantallas: Explorador Profesor
![Page 37: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/37.jpg)
Curso UML 37
Pantallas: Establecer Tutorías
![Page 38: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/38.jpg)
Curso UML 38
Pantallas: Identificación
![Page 39: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/39.jpg)
Curso UML 39
Modelo Conceptual
• Conceptos y Atributos:– Alumno:
• DNI
• Nombre
– Profesor:• DNI
• Nombre
– Asignatura:• Código
• Nombre
![Page 40: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/40.jpg)
Curso UML 40
Modelo Conceptual
• Conceptos y Atributos:– Consulta:
• Título
• Fecha
• Hora
• Mensaje
– Respuesta:• Fecha
• Hora
• Mensaje
– Tema:• Nombre
![Page 41: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/41.jpg)
Curso UML 41
Modelo Conceptual
• Conceptos y atributos:– Horario Tutorías
– Franja Horaria:• hora de inicio
• hora de fin
• día de la semana
![Page 42: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/42.jpg)
Curso UML 42
Modelo Conceptual
• Asociaciones entre conceptos:– Consulta tiene asociada Respuesta
– Alumno realiza Consulta
– Profesor responde Consulta
– Consulta realizada a Profesor
– Profesor tiene Horario Tutorías
– Horario Tutorías definido mediante Franja Horaria
– Consulta relacionada con Asignatura
– Alumno matriculado en Asignatura
– Profesor imparte Asignatura
![Page 43: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/43.jpg)
Curso UML 43
Modelo Conceptual
• Asociaciones entre conceptos:– Alumno tutoría en línea Profesor
– Profesor establece tutoría Asignatura
– Tema tiene Consulta
– Tema organiza consultas Asignatura
– Tema organiza consultas Profesor
![Page 44: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/44.jpg)
Curso UML 44
numeroHoras >= 6
FranjaHoraria
inicio : Timefin : Timedia : Day
(from Profesor)
HorarioTutorias
/ numeroHoras : Integer
(from Profesor)
11
definido mediante
Profesor
DNI : StringNombre : String
(from Profesor) 11
tiene
Respuesta
mensaje : String
fecha : Datehora : Time
(from Comun)
Profesor
(from Profesor)
Asignatura
codigo : Stringnombre : String
(from Universidad)
imparte
establece tutoría
Consulta
titulo : Stringfecha : Datehora : Timemensaje : String
estado : String
(from Comun)
responde
realizada a
relacionada con
0..11 0..11
tiene asociada
Asignatura(from Universidad)
Profesor
(from Profesor)
Alumno
DNI : StringNombre : String
(from Alumno)
tutoria en linea
1..*
1..*
1..*
1..*
matriculado enrealiza
Tema
nombre : String
(from Comun)
1
0..*
1
0..*
contiene
organiza consultas
organiza consultas
tema de consulta
![Page 45: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/45.jpg)
Curso UML 45
Modelado de Análisis y Diseño
• Diagramas de Secuencia de Sistema
• Contratos de operaciones
• Diagramas de interacción
• Diagramas de clases
![Page 46: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/46.jpg)
Curso UML 46
Diagramas de Secuencia del Sistema
• Describen los eventos que envía el actor al sistema• Conviene realizar un Diagrama de Secuencia de
Sistema (DSS) para cada caso de uso.• Ejemplo:
: Alumno : Sistema
seleccionarConsulta( )
marcarConsultaLeida( )
![Page 47: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/47.jpg)
Curso UML 47
Contratos
• Los contratos nos permiten establecer las responsabilidades de cada operación.
• Definen explícitamente los cambios en el sistema después de finalizar la operación.
• Realizaremos contratos para todas las operaciones del sistema
• Para las operaciones del sistema debemos encontrar una clase Controlador (alternativas):– Clase que representa al Sistema.
– Clase que representa un manejador del caso de uso.
![Page 48: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/48.jpg)
Curso UML 48
Plantilla Contratos
• Nombre: signatura de la operación• Responsabilidades: responsabilidades de la
operación • Tipo: clase que contiene la operación• Notas: notas• Excepciones: excepciones• Salida: salida que no sea por pantalla
![Page 49: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/49.jpg)
Curso UML 49
Plantilla Contratos
• Precondiciones: condiciones que han de cumplirse antes de ejecutar la operación
• Postcondiciones: estado del sistema después de la ejecución del método.
![Page 50: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/50.jpg)
Curso UML 50
Diagramas de Interacción
• Para cada operación del sistema construimos un Diagrama de Interacción (DI): – Diagrama de Colaboración
– Diagrama de Secuencia
• En los diagramas obviamos al acceso a los objetos controlador: – Se realiza a través de un objeto Singleton.
Equivalentes
objeto : GestorAlumno
G
1: getInstancia( )
instancia : GestorAlumno
2: getExplorador( )
![Page 51: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/51.jpg)
Curso UML 51
DSS: Realizar Consulta
: Alumno
: Sistema
nuevaConsulta( )
![Page 52: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/52.jpg)
Curso UML 52
Contratos: Realizar Consulta
• Nombre: nuevaConsulta (titulo: String; mensaje: String, tema: Tema)
• Responsabilidades: crea una nueva consulta y la asocia a un tema (asignatura-profesor)
• Tipo: GestorConsultas• Postcondiciones:
– Un objeto Consulta es creado
– Consulta.titulo = titulo y Consulta.mensaje = mensaje
– Una asociación tema-consulta es creada.
![Page 53: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/53.jpg)
Curso UML 53
DI: nuevaConsulta
: Alumno :
GestorConsultasnuevaConsulta
: Consultatema : Tema
nuevaConsulta(String, String, Tema)
create( )
setTitulo(String)
setMensaje(String)
addConsulta(Consulta)
![Page 54: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/54.jpg)
Curso UML 54
DSS: Crear Tema Consulta
: Alumno : Sistema
nuevoTema()
![Page 55: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/55.jpg)
Curso UML 55
Contratos : Crear Tema Consulta
• Nombre: nuevoTema (tema: String, asignatura: Asignatura, profesor: Profesor)
• Responsabilidades: crear un nuevo tema de consulta asociandolo al alumno, al profesor y a la asignatura
• Notas: acceso al objeto Alumno a través de la clase Singleton
• Tipo: GestorConsultas• Excepciones: nombre del tema existe
![Page 56: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/56.jpg)
Curso UML 56
Contratos : Crear Tema Consulta
• Postcondiciones:– Objeto Tema es creado
– Asociación Tema-Asignatura es creada
– Asociación Tema-Profesor es creada
– Asociación Alumno-Tema es creada
![Page 57: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/57.jpg)
Curso UML 57
DI: nuevoTema
: Alumno : GestorConsultas nuevoTema :
Temaalumno : Alumno
nuevoTema(String, Profesor, Asignatura)create( )
setProfesor(Profesor)
setAsignatura(Asignatura)
addTema(Tema, Profesor, Asignatura)
![Page 58: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/58.jpg)
Curso UML 58
DSS: Consultar Buzón Entrada Alumno
: Alumno : Sistema
seleccionarConsulta( )
marcarConsultaLeida( )
![Page 59: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/59.jpg)
Curso UML 59
Contratos: Consultar Buzón Entrada Alumno
• Nombre: String seleccionarConsulta (consulta: Consulta)
• Responsabilidades: recordar la consulta seleccionada y devolver su contenido
• Tipo: BuzonAlumno• Postcondiciones:
– Asociación BuzonAlumno-Consulta es creada
![Page 60: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/60.jpg)
Curso UML 60
DI: seleccionarConsulta
: Alumno :
BuzonAlumno : Consulta
seleccionarConsulta(Consulta)
setConsulta(Consulta)
getMensaje( )
![Page 61: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/61.jpg)
Curso UML 61
Contratos: Consultar Buzón Entrada Alumno
• Nombre: marcarConsultaLeida()• Responsabilidades: cambiar el estado de la
consulta seleccionada• Tipo: BuzonAlumno• Precondiciones: consulta seleccionada
(seleccionarConsulta)• Postcondiciones:
– consulta.estado = “leída”
![Page 62: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/62.jpg)
Curso UML 62
DI: marcarConsultaLeida
: Alumno :
BuzonAlumnoconsulta : Consulta
marcarConsultaLeida( )
setLeida( )
![Page 63: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/63.jpg)
Curso UML 63
DSS: Explorar Consultas Alumno
: Alumno : Sistema
seleccionarAsignatura( )
seleccionarProfesor( )
seleccionarTema( )
seleccionarConsulta( )
nuevaConsulta( )
nuevoTema(String, Profesor, Asignatura)
cdu "Realizar Consulta"
cdu "Crear Tema Consulta"
![Page 64: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/64.jpg)
Curso UML 64
Contratos: Explorar Consultas Alumno
• Nombre: List (Profesor) seleccionarAsignatura (asignatura: Asignatura)
• Responsabilidades: recordar la asignatura y devolver los profesores de la asignatura
• Tipo: ExploradorAlumno• Postcondiciones:
– Asociación ExploradorAlumno-asignatura es creada
![Page 65: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/65.jpg)
Curso UML 65
DI: seleccionarAsignatura
: Alumno : ExploradorAlumno : Asignatura
seleccionarAsignatura(Asignatura)
getProfesores( )
setAsignatura( Asignatura)
![Page 66: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/66.jpg)
Curso UML 66
Contratos: Explorar Consultas Alumno
• Nombre: List (Tema) seleccionarProfesor (profesor: Profesor)
• Responsabilidades: recordar el profesor seleccionado y mostrar los temas para la asignatura-profesor-alumno
• Tipo: ExploradorAlumno• Notas: acceso al Alumno a través del Singleton• Postcondiciones:
– Asociación ExploradorAlumno-profesor es creada
![Page 67: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/67.jpg)
Curso UML 67
DI: seleccionarProfesor
: Alumno : ExploradorAlumno alumno : Alumno
seleccionarProfesor(Profesor)
setProfesor(Profesor)
getTemas(Asignatura, Profesor)
![Page 68: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/68.jpg)
Curso UML 68
Contratos: Explorar Consultas Alumno
• Nombre: List(Consulta) seleccionarTema (tema: Tema)
• Responsabilidades: recordar el tema seleccionado y devolver todas las consultas para ese tema
• Tipo: ExploradorAlumno• Postcondiciones:
– Asociación ExploradorAlumno-tema es creada
![Page 69: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/69.jpg)
Curso UML 69
DI: seleccionarTema
: Alumno :
ExploradorAlumno : Tema
seleccionarTema(Tema)
getConsultas( )
setTema(Tema)
![Page 70: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/70.jpg)
Curso UML 70
Contratos: Explorar Consultas Alumno
• Nombre: String seleccionarConsulta (consulta: Consulta)
• Responsabilidades: recordar la consulta y devolver el contenido del mensaje
• Tipo: ExploradorAlumno• Postcondiciones:
– Asociación ExploradorAlumno-consulta es creada
![Page 71: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/71.jpg)
Curso UML 71
DI: seleccionarConsulta
: Alumno :
ExploradorAlumno : Consulta
seleccionarConsulta(Consulta)
setConsulta(Consulta)
getMensaje( )
![Page 72: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/72.jpg)
Curso UML 72
DSS: Consulta en Línea
: Alumno : Sistema
: Profesor
solicitarCosulta(Profesor)
solicitarConsulta(Alumno)
aceptarConsulta( )
enviarMensaje(String)
enviarMensaje(String)
terminarConsultaEnLinea( )
terminarConsultaEnLinea( )
rechazarConsulta( )
![Page 73: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/73.jpg)
Curso UML 73
Contratos: Consulta en Línea
• Nombre: solicitarConsulta (profesor: Profesor)• Responsabilidades: solicita al profesor una
consulta en línea• Tipo: GestorConsultas• Notas: acceso al GestorCentral y al Alumno a
través del Singleton• Postcondiciones:
– Objeto ConsultaEnLinea es creado
– Asociación ConsultaEnLinea-Profesor es creada
![Page 74: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/74.jpg)
Curso UML 74
Contratos: Consulta en Línea
• Postcondiciones (continuación):– Asociación ConsultaEnLinea-Alumno es creada
– Asociaciones entre ConsultaEnLinea y Gestores de Consultas (profesor y alumno) son creadas
– Asociación GestorConsultas-OyenteConsultasEnLinea es creada
![Page 75: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/75.jpg)
Curso UML 75
DI: solicitarConsulta : Alumno
gestorAlumno : GestorConsultas
nuevaConsultaEnLinea : ConsultaEnLinea
: GestorCentral
gestorProfesor : GestorConsultas
solicitudConsultaEnLinea(Profesor, OyenteConsultaEnLinea)
solicitarConsultaEnLinea(Alumno, Profesor, GestorConsultas)
solicitudConsultaEnLinea(ConsultaEnLinea)
create( )
setAlumno(Alumno)
setProfesor(Profesor)
setGestores(GestorConsultas, GestorConsultas)
getGestorProfesor(Profesor)
getAlumno( )
setOyente(OyenteConsultaEnLinea)
![Page 76: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/76.jpg)
Curso UML 76
Contratos: Consulta en Línea
• Nombre: aceptarConsulta ()• Responsabilidades: notificar al alumno que la
consulta ha sido aceptada por el profesor• Tipo: GestorConsultas• Postcondiciones:
– Objeto Periodo es creado
– Asociación GestorConsultas-OyenteGestorConsultas es creada
– Asociación ConsultaEnLinea-Periodo es creada
![Page 77: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/77.jpg)
Curso UML 77
DI: aceptarConsulta
profesor : Profesor
gestorAlumno : GestorConsultasAlumno
nuevaConsultaEnLinea : ConsultaEnLinea
gestorProfesor : GestorConsultas
aceptarConsulta(OyenteConsultaEnLinea )
consultaAceptada( )
consultaAceptada(ConsultaEnLinea)
periodo : Periodo
create( )
setInicioPerido( )
setOyente(OyenteConsultaEnLinea)
![Page 78: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/78.jpg)
Curso UML 78
Contratos: Consulta en Línea
• Nombre: rechazarConsulta ()• Responsabilidades: notificar al alumno que la
consulta ha sido rechazada por el profesor• Tipo: GestorConsultas• Postcondiciones:
– Objeto ConsultaEnLinea es destruido.
![Page 79: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/79.jpg)
Curso UML 79
DI: rechazarConsulta
gestorAlumno : GestorConsultas
profesor : Profesor
nuevaConsultaEnLinea : ConsultaEnLinea
gestorProfesor : GestorConsultas
rechazarConsulta( )
consultaRechazada( )
consultaRechazada( )
destroy( )
![Page 80: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/80.jpg)
Curso UML 80
Contratos: Consulta en Línea
• Nombre: enviarMensaje (mensaje: String)• Responsabilidades: envía un mensaje al otro
interlocutor• Tipo: GestorConsultas
![Page 81: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/81.jpg)
Curso UML 81
DI: enviarMensaje
: Alumno
gestorAlumno : GestorConsultas
gestorProfesor : GestorConsultas
: OyenteConsultaEnLinea
consultaEnLinea : ConsultaEnLinea
enviarMensaje(String)
Este diagrama describe la secuencia de mensajes iniciada por el alumno. El diagrama para el profesor sería equivalente
Referencia al Gestor que realiza la llamada
enviarMensaje(String, GestorConsultas)
enviarMensaje(String)setMensaje(String)
![Page 82: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/82.jpg)
Curso UML 82
Contratos: Consulta en Línea
• Nombre: terminarConsultaEnLinea ()• Responsabilidades: notifica al otro interlocutor
que la consulta ha finalizado y registra la consulta asociada al profesor
• Tipo: GestorConsultas• Postcondiciones:
– Asociación Profesor-ConsultaEnLinea es creada.
![Page 83: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/83.jpg)
Curso UML 83
DI: terminarConsultaEnLinea
profesor : Profesor : Alumno
gestorAlumno : GestorConsultas
: GestorCentral
: ConsultaEnLinea
gestorProfesor : GestorConsultas
: OyenteConsultaEnLinea
periodo : Periodo
terminarConsultaEnLinea( )
terminarConsultaEnLinea(ConsultaEnLinea, GestorConsultas)
terminarConsultaEnLinea(GestorConsultas)
consultaEnLineaFinalizada( )
profesor := getProfesor( )
addConsultaEnLinea(ConsultaEnLinea)
setFinPeriodo( )
consultaFinalizada( )
![Page 84: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/84.jpg)
Curso UML 84
DSS: Responder Consulta
: Profesor : Sistema
responderConsulta( )
![Page 85: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/85.jpg)
Curso UML 85
Contratos: Responder Consulta
• Nombre: responderConsulta (consulta: Consulta, mensaje: String)
• Responsabilidades: crear una Respuesta y asociarla a la consulta
• Tipo: GestorConsultas• Postcondiciones:
– Objeto Respuesta es creado
– Asociación consulta-Respuesta es creada
– consulta.estado = “respondida”
![Page 86: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/86.jpg)
Curso UML 86
DI: responderConsulta
: Profesor
: GestorConsultas
nuevaRespuesta : Respuesta
consulta : Consulta
responderConsulta(Consulta, String)create(String)
setRespuesta(Respuesta)
![Page 87: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/87.jpg)
Curso UML 87
DSS: Consultar Buzón Entrada Profesor
: Profesor : Sistema
seleccionarConsulta( )
responderConsulta( )
CDU Responder Consulta
![Page 88: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/88.jpg)
Curso UML 88
Contratos: Consultar Buzón Entrada Profesor
• Nombre: String seleccionarConsulta (consulta: Consulta)
• Responsabilidades: recordar la consulta seleccionada y devolver el contenido
• Tipo: BuzonProfesor• Postcondiciones:
– Asociación BuzonProfesor-consulta es creada
![Page 89: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/89.jpg)
Curso UML 89
DI: seleccionarConsulta
: Profesor :
BuzonProfesor : Consulta
seleccionarConsulta(Consulta)
setConsulta(Consulta)
getMensaje( )
![Page 90: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/90.jpg)
Curso UML 90
Contratos: Consultar Buzón Entrada Profesor
• Nombre: responderConsulta (respuesta: String)• Responsabilidades: crear una respuesta y
asociarla a la consulta• Tipo: BuzonProfesor• Notas: Ver CDU “Responder Consulta”• Precondiciones: una consulta ha sido
seleccionada (seleccionarConsulta)
![Page 91: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/91.jpg)
Curso UML 91
Contratos: Consultar Buzón Entrada Profesor
• Postcondiciones:– Objeto Respuesta es creado
– Asociación consulta-Respuesta es creada
– consulta.estado = “respondida”
![Page 92: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/92.jpg)
Curso UML 92
DI: responderConsulta
: Profesor :
BuzonProfesor :
GestorConsultas
responderConsulta(String)
responderConsulta(Consulta, String)
CDU "Responder Consultas"
Consulta es un atributo de BuzonProfesor
![Page 93: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/93.jpg)
Curso UML 93
DSS: Explorar Consultas Profesor
: Profesor : Sistema
seleccionarAsignatura( )
seleccionarAlumno( )
seleccionarTema( )
seleccionarConsulta( )
responderConsulta( )
![Page 94: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/94.jpg)
Curso UML 94
Contratos: Explorar Consultas Profesor
• Nombre: List(Alumno) seleccionarAsignatura (asignatura: Asignatura)
• Responsabilidades: recordar la asignatura y devolver los alumnos matriculados en ella
• Tipo: ExploradorProfesor• Postcondiciones:
– Asociación ExploradorProfesor-asignatura es creada
![Page 95: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/95.jpg)
Curso UML 95
DI: seleccionarAsignatura
: ExploradorProfesor : Profesor
: Asignatura
seleccionarAsignatura(Asignatura)
getAlumnos( )
setAsignatura(Asignatura)
![Page 96: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/96.jpg)
Curso UML 96
Contratos: Explorar Consultas Profesor
• Nombre: List(Tema) seleccionarAlumno (alumno: Alumno)
• Responsabilidades: recordar alumno seleccionado y mostrar sus temas de consulta
• Tipo: ExploradorProfesor• Postcondiciones:
– Asociación ExploradorProfesor-alumno es creada
![Page 97: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/97.jpg)
Curso UML 97
DI: seleccionarAlumno
: Profesor :
ExploradorProfesor : Alumno
seleccionarAlumno(Alumno)
getTemas(Asignatura, Profesor)
setAlumno(Alumno)
![Page 98: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/98.jpg)
Curso UML 98
Contratos: Explorar Consultas Profesor
• Nombre: List(Consulta) seleccionarTema (tema: Tema)
• Responsabilidades: recordar el tema seleccionado y devolver las consultas asociadas
• Tipo: ExploradorProfesor• Postcondiciones:
– Asociación ExploradorProfesor-tema es creada
![Page 99: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/99.jpg)
Curso UML 99
DI: seleccionarTema
: Profesor :
ExploradorProfesor : Tema
seleccionarTema(Tema)
setTema(Tema)
getConsultas( )
![Page 100: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/100.jpg)
Curso UML 100
Contratos: Explorar Consultas Profesor
• Nombre: String seleccionarConsulta (consulta: Consulta)
• Responsabilidades: recordar la consulta seleccionada y devolver su contenido
• Tipo: ExploradorProfesor• Postcondiciones:
– Asociación ExploradorProfesor-consulta es creada
![Page 101: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/101.jpg)
Curso UML 101
DI: seleccionarConsulta
: Profesor :
ExploradorProfesor : Consulta
seleccionarConsulta(Consulta)
setConsulta(Consulta)
getMensaje( )
![Page 102: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/102.jpg)
Curso UML 102
Contratos: Explorar Consultas Profesor
• Nombre: responderConsulta (respuesta: String)• Responsabilidades: crear una respuesta y
asociarla a la consulta• Tipo: ExploradorAlumno• Notas: ver CDU “Responder Consulta”• Precondiciones: una consulta ha sido
seleccionada (seleccionarConsulta)
![Page 103: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/103.jpg)
Curso UML 103
Contratos: Explorar Consultas Profesor
• Postcondiciones:– Objeto Respuesta es creado
– Asociación consulta-Respuesta es creada
– consulta.estado = “respondida”
![Page 104: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/104.jpg)
Curso UML 104
DI: responderConsulta
: Profesor :
ExploradorProfesor :
GestorConsultas
responderConsulta(Respuesta)
responderConsulta(Consulta, String)
CDU "Responder Consultas"
El Explorador posee una referencia a la consulta seleccionada
![Page 105: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/105.jpg)
Curso UML 105
DSS: Establecer Tutorías
: Profesor : Sistema
seleccionarAsignatura( )
setAsignaturaEnTutoria( )
setAsignaturaSinTutoria( )
![Page 106: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/106.jpg)
Curso UML 106
Contratos: Establecer Tutorías
• Nombre: seleccionarAsignatura (asignatura: TutoriaAsignatura)
• Responsabilidades: recordar la asignatura seleccionada
• Tipo: GestorTutorias• Postcondiciones:
– Asociación GestorTutorias-asignatura es creada
![Page 107: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/107.jpg)
Curso UML 107
DI: seleccionarAsignatura
: Profesor :
GestorTutorias
seleccionarAsignatura(TutoriaAsignatura)
setAsignatura(TutoriaAsignatura)
![Page 108: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/108.jpg)
Curso UML 108
Contratos: Establecer Tutorías
• Nombre: setAsignaturaEnTutoria (asignatura: TutoriaAsignatura)
• Responsabilidades: establecer que un profesor está en tutorías de una asignatura
• Tipo: GestorTutorías• Postcondiciones:
– Si no estaba en tutorías de la asignatura:• Objeto Perido es creado
• PeridoTutoria.horaInicio = horaActual
• Asociación TutoriaAsignatura-Periodo (periodoActual)
![Page 109: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/109.jpg)
Curso UML 109
DI: setAsignaturaEnTutoria
asignatura : TutoriaAsignatura : Profesor
: GestorTutorias
nuevoPeriodoTutoria : Periodo
setAsignaturaEnTutoria( )
setEnTutoria( )
enTutoria := estaEnTutoria( )
[enTutoria]
create( )
setInicioPerido( )
setPeridoActual(PeriodoTutoria)
![Page 110: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/110.jpg)
Curso UML 110
Contratos: Establecer Tutorías
• Nombre: setAsignaturaSinTutoria (asignatura: TutoriaAsignatura)
• Responsabilidades: establecer que un profesor no está en tutorías de una asignatura
• Tipo: GestorTutorías• Postcondiciones:
– Si estaba en tutorías de la asignatura:• TutoriaAsignatura.periodoActual.horaFin = horaActual
• Asociación TutoriaAsignatura-Periodo es creada (periodos)
![Page 111: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/111.jpg)
Curso UML 111
DI: setAsignaturaSinTutoria
: Profesor :
GestorTutoriasasignatura :
TutoriaAsignaturaperiodoActual :
Periodo
setAsignaturaSinTutoria( )
setSinTutoria( )
enTutoria := estaEnTutoria( )
[not enTutoria]
setFinPeriodo( )
addPeriodoTutoria(PeriodoTutoria)
![Page 112: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/112.jpg)
Curso UML 112
DSS: Identificación Alumno
: Alumno : Sistema
identificacionAlumno( )
![Page 113: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/113.jpg)
Curso UML 113
Contratos: Identificación Alumno
• Nombre: Alumno identificacionAlumno (pin: PIN)
• Responsabilidades: validar y obtener la identificación del Alumno
• Tipo: GestorIdentificacion• Notas: acceso al gestor central utilizando el
Singleton• Excepciones: PINIncorrecto, AlumnoNoExiste
![Page 114: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/114.jpg)
Curso UML 114
DI: identificacionAlumno
: Profesor :
GestorCentral : Tarjetero :
GestorIdentificacion
identificacionAlumno(PIN)
ok := comprobarPIN(PIN)
getAlumno(DNI)
dni := getDNI( )
[not ok]
Excepcion
![Page 115: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/115.jpg)
Curso UML 115
DSS: Identificación Profesor
: Profesor : Sistema
identificacionProfesor( )
![Page 116: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/116.jpg)
Curso UML 116
Contratos: Identificación Profesor
• Nombre: Profesor identificacionAlumno (pin: PIN)
• Responsabilidades: validar y obtener la identificación del Profesor
• Tipo: GestorIdentificacion• Notas: acceso al gestor central utilizando el
Singleton• Excepciones: PINIncorrecto, ProfesorNoExiste
![Page 117: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/117.jpg)
Curso UML 117
DI: identificacionProfesor
: GestorIdentificacion : Profesor
: Tarjetero : GestorCentral
identificacionProfesor(PIN)
ok := comprobarPIN(PIN)
[not ok]
dni := getDNI( )
getProfesor(DNI)Excepción
![Page 118: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/118.jpg)
Curso UML 118
Aplicación Patrones GRASP
• ¿Se ha violado algún patrón GRASP en los anteriores diagramas de interacción?
• Sí. La clase GestorConsultas no está cohesionada:– Incluye funcionalidad para el Alumno
– Incluye funcionalidad para el Profesor
• Solución: crear dos gestores de consultas:– GestorConsultasAlumno
– GestorConsultasProfesor
![Page 119: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/119.jpg)
Curso UML 119
Visibilidad
• Visibilidad: capacidad de un objeto para hacer referencia a otro
• Tipos:– Visibilidad de atributos: declarada mediante
asociaciones
– Visibilidad de parámetros: utilizar dependencias
– Visibilidad local: declaración local• Durante el análisis/diseño es difícil identificarla
– Visibilidad global: utilizar dependencias• Clases Singleton y objetos que obtenemos a partir de ellas. En
nuestro ejemplo los objetos Controlador
![Page 120: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/120.jpg)
Curso UML 120
Arranque del Sistema
• El arranque del sistema es un aspecto que hay que tener en cuenta.
• Durante el arranque se crean objetos y asociaciones entre ellos
• Nuestro sistema está dividido en 3 partes:– Aplicación Alumno
– Aplicación Profesor
– Servidor Central (Gestor Central)
![Page 121: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/121.jpg)
Curso UML 121
Arranque del Sistema
• Las aplicaciones del alumno y profesor deben:– Validar la identidad del usuario.
– Obtener un objeto que los identifique.
• El objeto que identifica a los usuarios es conveniente que sea accesible de forma global (patrón Singleton).
• Ambas aplicaciones comenzaran validando a los usuarios. Si este proceso falla, no continuará la aplicación.
![Page 122: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/122.jpg)
Curso UML 122
Arranque del Sistema
• También hay que tener en cuenta las operaciones que demandan las interfaces durante la creación:– Consultar Buzón Entrada Alumno:
• getConsultasNoLeidas
– Explorar Consultas Alumno:• getAsignaturasMatriculado
– Consulta en línea:• getProfesoresEnLinea
– Consultar Buzón Entrada Profesor:• getConsultasNoRespondidas
– Explorar Consultas Profesor:• getAsignaturasProfesor
![Page 123: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/123.jpg)
Curso UML 123
Contrato: Consultar Buzón Entrada Alumno
• Nombre: List (Consulta) getConsultasNoLeidas()• Responsabilidades: obtener las consultas no
leídas para un determinado alumno• Tipo: BuzonAlumno• Notas: acceso al Alumno a través del Singleton
![Page 124: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/124.jpg)
Curso UML 124
DI: getConsultasNoLeidas
: BuzonAlumno : Alumno alumno : Alumno
: Tema consulta : Consulta
getConsultasNoLeidas( )
getConsultasNoLeidas( )
Para cada Tema del Alumno:
consultas := getConsultas( )
Para cada consulta en consultas:
leida := estaLeida( )
if (not leida) resultado.add(consulta)
resultado
resultado := create Coleccion()
![Page 125: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/125.jpg)
Curso UML 125
Contratos: Explorar Consultas Alumno
• Nombre: List (Asignatura) getAsignaturasMatriculado ()
• Responsabilidades: devolver las asignaturas en las que esta matriculado el alumno
• Tipo: ExploradorAlumno• Notas: acceso a Alumno a través del Singleton
![Page 126: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/126.jpg)
Curso UML 126
DI: getAsignaturasMatriculado
: Alumno
: ExploradorAlumno
alumno : Alumno
getAsignaturasMatriculado( )
getAsignaturas( )
![Page 127: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/127.jpg)
Curso UML 127
Contratos: Consulta En Línea
• Nombre: List (Profesores) getProfesoresEnLinea ()
• Responsabilidades: devolver una colección con los profesores que están disponibles para una consulta
• Tipo: GestorConsultasAlumno• Notas: acceso a Alumno a través del Singleton
![Page 128: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/128.jpg)
Curso UML 128
DI: getProfesoresEnLinea
: GestorConsultasAlumno
: Alumno profesor : Profesor
asignatura : Asignaturaalumno : Alumno
getProfesoresEnLinea( )
asignaturas := getAsignaturas( )
Para cada asignatura en asignaturas:
profesoresEnLinea = create Coleccion()
profesores := getProfesores( )
Para cada profesor en profesores:
enLinea := estaEnLinea( )
if (enLinea) profesoresEnLinea.add(profesor)profesoresEnLinea
![Page 129: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/129.jpg)
Curso UML 129
Contratos: Consultar Buzón Entradas Profesor
• Nombre: List (Consulta) getConsultasNoRespondidas()
• Responsabilidades: devolver una colección con las consultas no respondidas por el profesor
• Tipo: BuzonProfesor• Notas: acceso a Profesor a través del Singleton
![Page 130: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/130.jpg)
Curso UML 130
DI: getConsultasNoRespondidas
: Profesor :
BuzonProfesor profesor : Profesor
asignatura : Asignatura
alumno : Alumnotema : Tema consulta :
Consulta
getConsultasNoRespondidas( )
asignaturas := getAsignaturas( )
alumnos := getAlumnos( )
temas := getTemas(Asignatura, Profesor)
consultas := getConsultas( )
consultasNoRespondidas := create Coleccion()
Para cada asignatura en Asignaturas:
Para cada alumno en Alumnos:
Para cada consulta en consultas:
Para cada tema en Temas:
respondida := estaRespondida( )
if (not respondida) consultasNoRespondidas.add(consulta)
consultasNoRespondidas
![Page 131: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/131.jpg)
Curso UML 131
Contratos: Explorar Consultas Profesor
• Nombre: List (Asignatura) getAsignaturasProfesor()
• Responsabilidades: devolver las asignaturas que imparte el profesor
• Tipo: ExplorarProfesor• Notas: acceso a Profesor a través del Singleton
![Page 132: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/132.jpg)
Curso UML 132
DI: getAsignaturasProfesor
: Profesor :
ExploradorProfesor profesor : Profesor
getAsignaturasProfesor( )
getAsignaturas( )
![Page 133: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/133.jpg)
Curso UML 133
Organización en Paquetes
• Conviene organizar las clases en paquetes.• En nuestra aplicación, para las clases del modelo
creamos 4 paquetes:– Alumno
– Profesor
– Comun
– Universidad
• Creamos un paquete más para las interfaces gráficas, pantallas, que a su vez contiene los paquetes PAlumno, PProfesor y PComun.
![Page 134: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/134.jpg)
Curso UML 134
Organización en Paquetes
• Paquetes del modelo: (incluye clases controlador)– Alumno: Alumno, GestorAlumno, BuzonAlumno,
ExploradorAlumno
– Profesor: Profesor, TutoriaAsignatura, HorarioTutorias, FranjaHoraria, GestorProfesor, BuzonProfesor, ExploradorProfesor, GestorTutorias
– Universidad: Asignatura, Tarjetero, GestorCentral, GestorIdentificacion
– Común: Consulta, Tema, Respuesta, ConsultaEnLinea, GestorConsultas, Periodo
![Page 135: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/135.jpg)
Curso UML 135
Diagramas Controladores
• Creamos un diagrama de clases para mostrar las asociaciones y dependencias de las clases controlador.
• Dos diagramas:– Diagrama Controladores Alumno
– Diagrama Controladores Profesor
![Page 136: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/136.jpg)
Curso UML 136
Alumno
GestorCentral(from Universidad)
ConsultaEnLinea(from Comun)
Tema(from Comun)
Profesor
(from Profesor)
Tarjetero
comprobarPIN()getDNI()getInstancia()
(from Universidad)
<<Singleton>>
0..1
-instancia
0..1
Consulta(from Comun)
Consulta(from Comun)
Asignatura(from Universidad)
Profesor
(from Profesor)
Tema(from Comun)
BuzonAlumno
marcarConsultaLeida()getConsultasNoLeidas()
<<controlador>>
0..1
-consulta
0..1
ExploradorAlumno
seleccionarAsignatura()seleccionarProfesor()setProfesor()getAsignaturasMatriculado()
<<controlador>>
0..1
-consulta
0..1
0..1-asignatura
0..1
0..1
-profesor
0..1
0..1
-tema
0..1
GestorCentral
terminarConsultaEnLinea()solicitarConsultaEnLinea()getGestorProfesor()asignaturaEnTutoria()getAlumno()getProfesor()GestorCentral()
(from Universidad)
GestorIdentificacion
identificacionAlumno()identificacionProfesor()
(from Universidad)
<<controlador>>
GestorConsultasAlumno
nuevaConsulta()nuevoTema()solicitudConsultaEnLinea()consultaAceptada()consultaRechazada()getProfesoresEnLinea()
<<controlador>>
GestorAlumno
getInstancia()getExplorador()getGestorConsultas()getBuzon()getGestorCentral()getGestorIdentificacion()getAlumno()
(from GestorConsultasAlumno)
<<Singleton>> 1
-buzon
1
1
-explorador
1
0..1
-instancia
0..1
1
-gestorCentral
1
0..1
-gestorIdentificacion
0..1
1-gestorConsultas
1
Alumno
Asignatura(from Universidad)
Profesor
(from Profesor)
![Page 137: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/137.jpg)
Curso UML 137
TutoriaAsignatura
BuzonProfesor
responderConsulta()getConsultasNoRespondidas()
<<controlador>>
ExploradorProfesor
seleccionarAsignatura()seleccionarAlumno()setAlumno()getAsignaturasProfesor()
<<controlador>>
GestorCentral
terminarConsultaEnLinea()solicitarConsultaEnLinea()getGestorProfesor()asignaturaEnTutoria()getAlumno()getProfesor()GestorCentral()
(from Universidad)
GestorTutorias
seleccionarAsignatura()setAsignatura()setAsignaturaEnTutoria()setAsignaturaSinTutoria()
<<controlador>>
0..1
-asignatura
0..1
GestorConsultasProfesor
aceptarConsulta()rechazarConsulta()responderConsulta()
<<controlador>>
GestorProfesor
getGestorTutorias()getInstancia()getExplorador()getGestorConsultas()getBuzon()getGestorCentral()getGestorIdentificacion()getProfesor()
<<Singleton>>
1-buzon
1
1
-explorador
1
0..1
-instancia
0..1
1-gestorCentral
1
1
-gestorTutorias
1
1-gestorConsultas
1
ConsultaEnLinea(from Comun)
GestorConsultasProfesor
aceptarConsulta()rechazarConsulta()responderConsulta()
<<controlador>>
Alumno
(from Alumno)
Tema(from Comun)
Asignatura(from Universidad)
Consulta(from Comun)0..1
-consulta
0..1
0..1
-consulta
0..1
Alumno
(from Alumno)
0..1
-alumno
0..1
Tema(from Comun)
0..1
-tema
0..1
Asignatura(from Universidad)
0..1
-asignatura
0..1
Profesor
![Page 138: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/138.jpg)
Curso UML 138
Diagrama de Clases
• En el diagrama de clases nos aparecen sólo los conceptos del modelo conceptual que hayan intervenido en los diagramas de interacción.
• Incluímos los métodos de las clases.• Añadimos a las asociaciones la navegabilidad,
cardinalidades, roles, agregación, ....
![Page 139: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/139.jpg)
Curso UML 139
FranjaHoraria
inicio : Timefin : Timedia : Day
(from Profesor)
Profesor
(from Profesor)
HorarioTutorias
/ numeroHoras : Integer
(from Profesor)
1
-franjasHorarias
1
Asignatura
codigo : Stringnombre : String
getProfesores()getAlumnos()
(from Universidad)
1..*
1..*
-asignaturas 1..*
-profesores1..*
imparte
Profesor
addConsultaEnLinea()estaEnLinea()
getAsignaturas()
(from Profesor)
1-horarioTutorias
1
tiene
Alumno
addTema()getTemas()
getConsultasNoLeidas()getAsignaturas()
(from Alumno)1..*
1..*
-alumnos
1..*
-asignaturas
1..*
matriculado en
0..* 0..*
+alumno
0..*
+profesor
0..*tutoria en linea
Tema
nombre : String
addConsulta()create()setProfesor()setAsignatura()getConsultas()
(from Comun)
profesor : Profesorasignatura : Asignatura
1
0..*
1
profesor : Profesorasignatura : Asignatura
-temas 0..*
organiza consultas por
Consulta
titulo : Stringfecha : Datehora : Timemensaje : Stringestado : String
create()setTitulo()setMensaje()getMensaje()setLeido()setRespuesta()estaLeida()estaRespondida()
(from Comun)
0..*
1 -consultas
0..*
1
contiene
Respuesta
mensaje : Stringfecha : Datehora : Time
create()
(from Comun)
1 0..11
-respuesta
0..1
TutoriaAsignatura
estaEnTutoria()setEnTutoria()setPeridoActual()setSinTutoria()addPeriodoTutoria()
(from Profesor)
GestorConsultas(from Comun)
<<controlador>>
Periodo
inicio : Timefin : Time
create()setInicioPerido()setFinPeriodo()
(from Comun)
0..*
1
-periodos
0..*
1
ConsultaEnLinea
terminarConsultaEnLinea()getProfesor()create()setAlumno()setProfesor()setGestores()getAlumno()getGestorAlumno()enviarMensaje()destroy()consultaAceptada()consultaRechazada()
(from Comun)
1-gestorAlumno
1
1-gestorProfesor
10..1
-periodo
0..1
![Page 140: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/140.jpg)
Curso UML 140
Herencia
• Hasta ahora no hemos tenido en cuenta la herencia.
• En nuestra aplicación surge la necesidad de la herencia con las clases controlador:– ExploradorAlumno-ExploradorProfesor
– BuzonAlumno-BuzonProfesor
– GestorConsultasAlumno-GestorConsultasProfesor
– GestorAlumno-GestorProfesor Factorizar comportamiento común
• También con Alumno y Profesor
![Page 141: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/141.jpg)
Curso UML 141
Herencia
• Aparecen nuevas clases:– Explorador
– Buzon
– GestorConsultas
– Gestor
– Universitario
• Las clases que teníamos serán subtipos de estas últimas
![Page 142: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/142.jpg)
Curso UML 142
Alumno
addTema()getTemas()
getConsultasNoLeidas()getAsignaturas()
(from Alumno)
GestorConsultas
enviarMensaje()terminarConsultaEnLinea()consultaEnLineaFinalizada()setOyente()
(from Comun)
<<controlador>>Explorador
seleccionarAsignatura()setAsignatura()seleccionarConsulta()setConsulta()seleccionarTema()setTema()
(from Comun)
<<controlador>>
Buzon
seleccionarConsulta()setConsulta()
(from Comun)
<<controlador>>
Gestor
getInstancia()getExplorador()getGestorConsultas()getBuzon()getGestorCentral()getGestorIdentificacion()
(from Comun)
BuzonProfesor
responderConsulta()getConsultasNoRespondidas()
(from Profesor)
<<controlador>>
GestorConsultasProfesor
aceptarConsulta()rechazarConsulta()responderConsulta()
(from Profesor)
<<controlador>>
GestorProfesor
getGestorTutorias()getInstancia()getExplorador()getGestorConsultas()getBuzon()getGestorCentral()getGestorIdentificacion()getProfesor()
(from Profesor)
<<Singleton>>BuzonAlumno
marcarConsultaLeida()getConsultasNoLeidas()
(from Alumno)
<<controlador>>
GestorConsultasAlumno
nuevaConsulta()nuevoTema()solicitudConsultaEnLinea()consultaAceptada()consultaRechazada()getProfesoresEnLinea()
(from Alumno)
<<controlador>>
GestorAlumno
getInstancia()getExplorador()getGestorConsultas()getBuzon()getGestorCentral()getGestorIdentificacion()getAlumno()
(from GestorConsultasAlumno)
<<Singleton>>
Universitario
DNI : StringNombre : String
(from Universidad)
ExploradorAlumno
seleccionarAsignatura()seleccionarProfesor()setProfesor()getAsignaturasMatriculado()
(from Alumno)
<<controlador>>ExploradorProfesor
seleccionarAsignatura()seleccionarAlumno()setAlumno()getAsignaturasProfesor()
(from Profesor)
<<controlador>>
Profesor
addConsultaEnLinea()estaEnLinea()
getAsignaturas()
(from Profesor)
![Page 143: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/143.jpg)
Curso UML 143
Pantallas
• Las interfaces de usuario están relacionadas• Poseen una relación de creación• Las interfaces utilizan un controlador
(dependencia)• Es conveniente mostrar un diagrama que contenga
estas relaciones
![Page 144: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/144.jpg)
Curso UML 144
Pantallas: Alumno
PBuzonAlumno
PSolicitudConsulta
PNuevoTema
PConsulta
PPrincipal
<<create>>
PExploradorAlumno
<<create>>
<<create>>
<<create>><<create>>
GestorConsultasAlumno(from Alumno)
<<controlador>>
ExploradorAlumno(from Alumno)
<<controlador>>
BuzonAlumno(from Alumno)
<<controlador>>
GestorAlumno(from Alumno)
<<Singleton>>
Todas las pantallas tienen una relación de dependencia con el Singleton
![Page 145: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/145.jpg)
Curso UML 145
Pantallas Alumno
PExploradorProfesor
PEstablecerTutorias
PBuzonProfesor
PRespuesta
PPrincipal
BuzonProfesor(from Profesor)
<<controlador>>
ExploradorProfesor(from Profesor)
<<controlador>>
GestorTutorias(from Profesor)
<<controlador>>
GestorConsultasProfesor(from Profesor)
<<controlador>>
GestorProfesor(from Profesor)
<<Singleton>>
<<create>>
<<create>>
<<create>>
<<create>>
<<create>>
PAceptarConsulta
Todas las pantallas tienen una relación de dependencia con el Singleton
![Page 146: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/146.jpg)
Curso UML 146
Distribución
• La mayor parte de los objetos de la aplicación necesitan ser distribuidos.
• Para conseguir la distribución de los objetos utilizaremos CORBA
• Necesitamos definir las interfaces CORBA para los objetos.
• Modificaciones: definir interfaces CORBA y las clases renombrarlas con el sufijo Impl.
![Page 147: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/147.jpg)
Curso UML 147
Distribución
ConsultaEnLineaImpl
terminarConsultaEnLinea()getProfesor()create()
setAlumno()setProfesor()setGestores()getAlumno()getGestorAlumno()enviarMensaje()destroy()consultaAceptada()consultaRechazada()
(from Comun)
ConsultaEnLinea
terminarConsultaEnLinea()getProfesor()setAlumno()setProfesor()setGestores()getAlumno()
enviarMensaje()consultaAceptada()
consultaRechazada()
![Page 148: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/148.jpg)
Curso UML 148
Codificación
• Con la herramienta Rational Rose podemos generar código a partir de los diagramas de clases. Lenguajes: Java, C++, Visual Basic, IDL,...
• Genera todo el código excepto la implementación de los métodos.
• Permite conectar la herramienta con cualquier IDE del lenguaje de programación utilizado.
• Ingeniería Inversa: cualquier modificación en el código se verá reflejada en el modelo
• Round Trip Engineering.
![Page 149: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/149.jpg)
Curso UML 149
Fin Primer Ciclo Desarrollo
• Es recomendable realizar un proceso de desarrollo iterativo e incremental
• Al final de cada fase obtenemos un producto totalmente funcional (con simplificaciones)
• Temas pendientes:– Realizar los cálculos necesarios para la universidad:
porcentaje de cumplimiento de tutorías, consultas respondidas, etc.
– Distribución– Persistencia– ...
![Page 150: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/150.jpg)
Curso UML 150
Persistencia
• La mayor parte de los objetos de la aplicación deben ser persistentes.– Los controladores no deben ser persistentes
• Alternativas:– Utilizar un servidor de aplicaciones Enterprise
JavaBeans.• La mayor parte de los objetos serían EJB Entity (persistentes)
• Modificaciones en el diseño:– Creación, localización y destrucción de los objetos utilizando las
interfaces home.
– Framework de persistencia basado en CORBA
![Page 151: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/151.jpg)
Curso UML 151
Persistencia
• Framework de persistencia basado en CORBA:– En nuestro sistema existe un servidor CORBA
– Definimos interfaces home para los objetos CORBA
– Modificación en el diseño:• Creación, localización y destrucción de los objetos utilizando
las interfaces home.
![Page 152: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/152.jpg)
Curso UML 152
Diagrama de Despliegue
Ordenador Alumno
Ordenador Profesor
Servidor Central
<<CORBA>>
InternetInternet
Internet
<<ORB>>
<<ORB>><<ORB>>
![Page 153: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/153.jpg)
Curso UML 153
Componentes
• Cuando modelemos una aplicación debemos pensar en los componentes.
• En nuestra aplicación podemos identificar algunos componentes reutilizables. Por ejemplo, el Buzón.
• Lo ideal sería desarrollar un componente gráfico Buzón que fuera reutilizable.– En nuestra aplicación los buzones tienen un Director
que indicará los elementos a listar.
– Los elementos de la lista deben tener un Descriptor y un Contenido.
![Page 154: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/154.jpg)
Curso UML 154
Componentes
• Definimos dos interfaces (en Java):– IDirectorBuzon
• String [] etiquetas ()
• IElementoBuzon [] elementos ()
– IElementoBuzon• String [] descriptor ()
• String contenido ()
• Nuestro componente tendrá la siguiente interface:– void setDirector (IDirectorBuzon)
– IElementoBuzon getElementoSeleccionado ()
![Page 155: Ingeniería de Software II Información obtenida de Internet UNIVERSIDAD DE SAN MARTIN DE PORRES FACULTAD DE INGENIERIA Y ARQUITECTURA Profesor: Ing. Luis.](https://reader036.fdocuments.ec/reader036/viewer/2022070417/5665b4451a28abb57c9091b0/html5/thumbnails/155.jpg)
Curso UML 155
Componentes
• Desarrollaremos un interfaz gráfico basado en los componentes Swing de Java:
IBuzon
setDirector()getElementoSeleccionado()
IElementoBuzon
descriptor()contenido()
IDirectorBuzon
etiquetas()elementos()
JScrollPane(from Swing)
JPane(from Swing)
JTable(from Swing)
JTextArea(from Swing)
BuzonGrafico
0..*1
11
1
1
-elementos
0..*-director
1
-contenido
1
-descriptores
1-scrollpane1
-panel
1
BuzonGrafico
IBuzon