Modelado del sistema
Capítulo 5 Modelado del sistema 1
Presentación
Actividades que aprenderás
Patrones para el modelado
1
Modelado para Webapps
2
5
Mapa conceptual
Modelado de sistemas
El modelado de sistemas es el proceso de desarrollo de
modelos abstractos de un sistema, en el que cada
modelo presenta una visión o perspectiva diferente de
dicho sistema.
El modelado de sistemas ha pasado a significar la
representación de un sistema mediante algún tipo de
notación gráfica, que ahora se basa casi siempre en las
notaciones del Lenguaje Unificado de Modelado (UML).
El modelado de sistemas ayuda al analista a
comprender la funcionalidad del sistema y los modelos
se utilizan para comunicarse con los clientes.
Capítulo 5 Modelado del sistema 3
Perspectivas del sistema
Una perspectiva externa, en la que se modela el
contexto o el entorno del sistema.
Una perspectiva de interacción, en la que se modelan
las interacciones entre un sistema y su entorno, o entre
los componentes de un sistema.
Una perspectiva estructural, en la que se modela la
organización de un sistema o la estructura de los datos
que procesa el sistema.
Una perspectiva de comportamiento, en la que se
modela el comportamiento dinámico del sistema y cómo
responde a los eventos.
Capítulo 5 Modelado del sistema 5
Uso de modelos gráficos
Como medio para facilitar el debate sobre un sistema
existente o propuesto
Los modelos incompletos e incorrectos están bien, ya que su
función es apoyar el debate.
Como forma de documentar un sistema existente
Los modelos deben ser una representación exacta del sistema,
pero no tienen por qué ser completos.
Como descripción detallada del sistema que puede
utilizarse para generar una implementación del sistema
Los modelos deben ser correctos y completos.
Capítulo 5 Modelado del sistema 7
Modelos de contexto
Capítulo 5 Modelado del sistema 8
Límites del sistema
Los límites del sistema se establecen para definir lo que
está dentro y lo que está fuera del sistema.
Muestran otros sistemas que se utilizan o dependen del sistema
que se está desarrollando.
La posición de los límites del sistema tiene un efecto
profundo en los requisitos del sistema.
Definir un límite del sistema es un juicio político
Puede haber presiones para desarrollar límites del sistema que
aumenten/disminuyan la influencia o la carga de trabajo de
diferentes partes de una organización.
Capítulo 5 Modelado del sistema 10
El contexto del sistema Mentcare
Capítulo 5 Modelado del sistema 11
Perspectiva del proceso
Los modelos de contexto se limitan a mostrar los demás
sistemas del entorno, no cómo se utiliza el sistema que
se está desarrollando en ese entorno.
Los modelos de proceso revelan cómo se utiliza el
sistema que se está desarrollando en procesos
empresariales más amplios.
Los diagramas de actividad UML pueden utilizarse para
definir los modelos de procesos de negocio.
Capítulo 5 Modelado del sistema 12
Modelo de proceso de detención involuntaria
Capítulo 5 Modelado del sistema 13
Modelos de interacción
Capítulo 5 Modelado del sistema 14
Modelado de casos de uso
Los casos de uso se desarrollaron originalmente para
apoyar la obtención de requisitos y ahora se han
incorporado al UML.
Cada caso de uso representa una tarea discreta que
implica una interacción externa con un sistema.
Los actores en un caso de uso pueden ser personas y
otros sistemas.
Representado en forma de diagrama para proporcionar
una visión general del caso de uso y en forma de texto
más detallado.
Capítulo 5 Modelado del sistema 16
Caso de uso de transferencia de datos
Un caso de uso en el sistema Mentcare
Capítulo 5 Modelado del sistema 17
Descripción tabular del caso de uso
"Transferencia de datos
MHC-PMS: Transferencia de datos
Actores Recepcionista médico, sistema de registro de pacientes
(PRS)
Descripción Un recepcionista puede transferir datos del sistema
Mentcase a una base de datos general de registros de
pacientes que mantiene una autoridad sanitaria. La
información transferida puede ser información personal
actualizada (dirección, número de teléfono, etc.) o un
resumen del diagnóstico y tratamiento del paciente.
Datos Información personal del paciente, resumen del
tratamiento
Estímulo Orden del usuario emitida por la recepcionista médica
Respuesta Confirmación de la actualización del PRS
Comentarios El recepcionista debe tener los permisos de seguridad
adecuados para acceder a la información del paciente y
al PRS.
Capítulo 5 Modelado del sistema 18
Casos de uso en el sistema Mentcare que
implican el rol "Recepcionista médico
Capítulo 5 Modelado del sistema 19
Diagramas de secuencia
Los diagramas de secuencia forman parte del UML y se
utilizan para modelar las interacciones entre los actores
y los objetos de un sistema.
Un diagrama de secuencia muestra la secuencia de
interacciones que tienen lugar durante un caso de uso
particular o una instancia de caso de uso.
Los objetos y actores implicados se enumeran en la
parte superior del diagrama, con una línea de puntos
trazada verticalmente a partir de ellos.
Las interacciones entre los objetos se indican con
flechas anotadas.
Capítulo 5 Modelado del sistema 20
Diagrama de secuencia para Ver información del
paciente
Capítulo 5 Modelado del sistema 21
Modelos estructurales
Capítulo 5 Modelado del sistema 23
Diagramas de clase
Los diagramas de clase se utilizan al desarrollar un
modelo de sistema orientado a objetos para mostrar las
clases de un sistema y las asociaciones entre estas
clases.
Una clase de objeto puede considerarse como una
definición general de un tipo de objeto del sistema.
Una asociación es un enlace entre clases que indica que
hay alguna relación entre estas clases.
Cuando se desarrollan modelos durante las primeras
etapas del proceso de ingeniería de software, los
objetos representan algo en el mundo real, como un
paciente, una receta, un médico, etc.
Capítulo 5 Modelado del sistema 25
Clases y asociaciones UML
Capítulo 5 Modelado del sistema 26
Clases y asociaciones en el MHC-PMS
Capítulo 5 Modelado del sistema 27
La clase Consulta
Capítulo 5 Modelado del sistema 28
Generalización
La generalización es una técnica cotidiana que
utilizamos para gestionar la complejidad.
En lugar de aprender las características detalladas de
cada entidad que experimentamos, colocamos estas
entidades en clases más generales (animales, coches,
casas, etc.) y aprendemos las características de estas
clases.
Esto nos permite inferir que diferentes miembros de
estas clases tienen algunas características comunes,
por ejemplo, las ardillas y las ratas son roedores.
Capítulo 5 Modelado del sistema 29
Una jerarquía de generalización
Capítulo 5 Modelado del sistema 31
Una jerarquía de generalización con detalles
añadidos
Capítulo 5 Modelado del sistema 32
Modelos de agregación de clases de objetos
Un modelo de agregación muestra cómo las clases que
son colecciones se componen de otras clases.
Los modelos de agregación son similares a la relación
parte-de en los modelos de datos semánticos.
Capítulo 5 Modelado del sistema 33
La asociación de agregación
Capítulo 5 Modelado del sistema 34
Modelos de comportamiento
Capítulo 5 Modelado del sistema 35
Modelado basado en datos
Muchos sistemas de negocio son sistemas de
procesamiento de datos que son impulsados
principalmente por los datos. Son controlados por la
entrada de datos al sistema, con relativamente poco
procesamiento de eventos externos.
Los modelos basados en datos muestran la secuencia
de acciones involucradas en el procesamiento de los
datos de entrada y la generación de una salida
asociada.
Son especialmente útiles durante el análisis de los
requisitos, ya que pueden utilizarse para mostrar el
procesamiento de extremo a extremo en un sistema.
Capítulo 5 Modelado del sistema 37
Un modelo de actividad del funcionamiento de la
bomba de insulina
Capítulo 5 Modelado del sistema 38
Procesamiento de pedidos
Capítulo 5 Modelado del sistema 39
Modelado basado en eventos
Los sistemas en tiempo real suelen estar basados en
eventos, con un procesamiento de datos mínimo. Por
ejemplo, un sistema de conmutación de teléfonos fijos
responde a eventos como "receptor descolgado"
generando un tono de llamada.
El modelado basado en eventos muestra cómo un
sistema responde a eventos externos e internos.
Se basa en la suposición de que un sistema tiene un
número finito de estados y que los eventos (estímulos)
pueden causar una transición de un estado a otro.
Capítulo 5 Modelado del sistema 40
Modelos de máquinas de estado
Modelan el comportamiento del sistema en respuesta a
eventos externos e internos.
Muestran las respuestas del sistema a los estímulos, por
lo que suelen utilizarse para modelar sistemas en tiempo
real.
Los modelos de máquinas de estado muestran los
estados del sistema como nodos y los eventos como
arcos entre estos nodos. Cuando se produce un evento,
el sistema pasa de un estado a otro.
Los Statecharts son una parte integral del UML y se
utilizan para representar modelos de máquinas de
estado.
Capítulo 5 Modelado del sistema 41
Diagrama de estado de un horno microondas
Capítulo 5 Modelado del sistema 42
Funcionamiento de un horno de microondas
Capítulo 5 Modelado del sistema 43
Estados y estímulos del horno de microondas
(a)
Estado Descripción
En espera El horno está esperando la entrada. La pantalla muestra la hora actual.
Media potencia La potencia del horno está ajustada a 300 vatios. La pantalla muestra "Media
potencia".
Potencia total La potencia del horno está ajustada a 600 vatios. La pantalla muestra
"Potencia máxima".
Tiempo de ajuste El tiempo de cocción se ajusta al valor introducido por el usuario. La pantalla
muestra el tiempo de cocción seleccionado y se actualiza a medida que se
ajusta el tiempo.
Desactivado El funcionamiento del horno está desactivado por seguridad. La luz interior del
horno está encendida. La pantalla muestra "No está listo".
Activado El funcionamiento del horno está activado. La luz interior del horno está
apagada. La pantalla muestra "Listo para cocinar".
Operación Horno en funcionamiento. La luz interior del horno está encendida. La pantalla
muestra la cuenta atrás del temporizador. Al finalizar la cocción, el zumbador
suena durante cinco segundos. La luz del horno está encendida. La pantalla
muestra "Cocción completa" mientras suena el zumbador.
Capítulo 5 Modelado del sistema 44
Estados y estímulos del horno microondas (b)
Estímulo Descripción
Media potencia El usuario ha pulsado el botón de media potencia.
Potencia total El usuario ha pulsado el botón de máxima potencia.
Temporizador El usuario ha pulsado uno de los botones del temporizador.
Número El usuario ha pulsado una tecla numérica.
Puerta abierta El interruptor de la puerta del horno no está cerrado.
Puerta cerrada El interruptor de la puerta del horno está cerrado.
Inicio El usuario ha pulsado el botón de inicio.
Cancelar El usuario ha pulsado el botón Cancelar.
Capítulo 5 Modelado del sistema 45
Ingeniería basada en modelos
Capítulo 5 Modelado del sistema 46
Uso de la ingeniería basada en modelos
La ingeniería dirigida por modelos se encuentra todavía en una fase
temprana de desarrollo, y no está claro si tendrá o no un efecto
significativo en la práctica de la ingeniería del software.
Pros
Permite considerar los sistemas a niveles de abstracción más altos
La generación automática de código hace que sea más barato adaptar
los sistemas a nuevas plataformas.
Contras
Modelos de abstracción y no necesariamente adecuados para la
implementación.
El ahorro en la generación de código puede verse superado por los
costes de desarrollo de traductores para nuevas plataformas.
Capítulo 5 Modelado del sistema 48
Modelos específicos de plataformas múltiples
Capítulo 5 Modelado del sistema 52
Métodos ágiles y MDA
Los desarrolladores de MDA afirman que está pensado
para apoyar un enfoque iterativo del desarrollo y que,
por tanto, puede utilizarse dentro de los métodos ágiles.
La noción de un extenso modelado por adelantado
contradice las ideas fundamentales del manifiesto ágil y
sospecho que pocos desarrolladores ágiles se sienten
cómodos con la ingeniería dirigida por modelos.
Capítulo 5 Modelado del sistema 53
Adopción de MDA
Los modelos son una buena forma de facilitar las
discusiones sobre el diseño de un software. Sin
embargo, las abstracciones que son útiles para las
discusiones pueden no ser las adecuadas para la
implementación.
Para la mayoría de los sistemas complejos, la
implementación no es el principal problema: la ingeniería
de requisitos, la seguridad y la fiabilidad, la integración
con sistemas heredados y las pruebas son más
importantes.
Capítulo 5 Modelado del sistema 55
Puntos clave
Un modelo es una visión abstracta de un sistema que ignora los detalles
del mismo. Se pueden desarrollar modelos de sistemas complementarios
para mostrar el contexto, las interacciones, la estructura y el
comportamiento del sistema.
Los modelos de contexto muestran cómo el sistema que se está
modelando se sitúa en un entorno con otros sistemas y procesos.
Los diagramas de casos de uso y los diagramas de secuencia se utilizan
para describir las interacciones entre los usuarios y los sistemas en el
sistema que se está diseñando. Los casos de uso describen las
interacciones entre un sistema y los actores externos; los diagramas de
secuencia añaden más información a estos mostrando las interacciones
entre los objetos del sistema.
Los modelos estructurales muestran la organización y la arquitectura de un
sistema. Los diagramas de clase se utilizan para definir la estructura
estática de las clases de un sistema y sus asociaciones.
Capítulo 5 Modelado del sistema 57
Puntos clave
Los modelos de comportamiento se utilizan para describir el
comportamiento dinámico de un sistema en ejecución. Este
comportamiento puede ser modelado desde la perspectiva de los datos
procesados por el sistema, o por los eventos que estimulan las respuestas
de un sistema.
Los diagramas de actividad pueden utilizarse para modelar el
procesamiento de datos, donde cada actividad representa un paso del
proceso.
Los diagramas de estado se utilizan para modelar el comportamiento de un
sistema en respuesta a eventos internos o externos.
La ingeniería dirigida por modelos es un enfoque del desarrollo de software
en el que un sistema se representa como un conjunto de modelos que
pueden transformarse automáticamente en código ejecutable.
Capítulo 5 Modelado del sistema 58