ANALISIS Y DISEÑO DE
SISTEMAS
ING. ROBERTO JOSE VELASQUEZ HERRERA
UML
El lenguaje unificado de
modelado (UML, por sus siglas en
inglés, Unified Modeling Language) es el
lenguaje de modelado de sistemas
de software más conocido y utilizado en
la actualidad.
Es un lenguaje gráfico para visualizar,
especificar, construir y documentar un
sistema. UML ofrece un estándar para
describir un "plano" del sistema (modelo),
incluyendo aspectos conceptuales tales
como procesos, funciones del sistema.
UML
Principales Beneficios
El modelado sirve no solamente para los grandes sistemas, aun en
aplicaciones de pequeño tamaño se obtienen beneficios de modelado, sin
embargo es un hecho que entre más grande y más complejo es el sistema,
más importante es el papel de que juega el modelado por una simple razón:
"El hombre hace modelos de sistemas complejos
porque no puede entenderlos en su totalidad".
• Mejores tiempos totales de desarrollo (de 50 % o más).
• Modelar sistemas (y no sólo de software).
• Encaminar el desarrollo del escalamiento en sistemas complejos de misión
crítica.
• Crear un lenguaje de modelado utilizado tanto por humanos como por
máquinas.
• Mejor soporte a la planeación y al control de proyectos.
VERSIONES DE UML
UML - Versiones
• Esta es la lista de versiones que han sido publicadas:
•
• 1.1 – Noviembre de 1997
• 1.3 – Marzo de 2000
• 1.4 – Septiembre de 2001
• 1.5 – Marzo de 2003
• 1.4.2 – Enero de 2005
• 2.0 – Octubre de 2005
• 2.1 – Abril de 2006
• 2.1.1 – Febrero de 2007
• 2.1.2 – Noviembre de 2007
• 2.2 – Febrero de 2009
• 2.3 – Mayo de 2010
• 2.4.1 – Agosto de 2011
• 2.5 – Junio de 2015
• 2.5.1 – Diciembre de 2017 (Última versión)
Tipos de Diagramas UML – 13 DIAG. UML
d.
dominio
1. UML – Diagramas Estructurales
• Los diagramas estructurales muestran la estructura estática del sistema y sus
partes en diferentes niveles de abstracción.
• Existen un total de siete tipos de diagramas de estructura:
• Diagrama de Clases
• Muestra la estructura del sistema, subsistema o componente
utilizando clases con sus características, restricciones y relaciones:
asociaciones, generalizaciones, dependencias, etc.
1. UML – Diagramas Estructurales
• Diagrama de Componentes
• Muestra componentes y dependencias entre ellos.
• Este tipo de diagramas se utiliza para el desarrollo basado en
componentes (CDB), para describir sistemas con arquitectura
orientada a servicios (SOA).
1. UML – Diagramas Estructurales
• Diagrama de Despliegue
• Muestra la arquitectura del sistema como despliegue (distribución)
de artefactos de software.
Diagrama de Red
1. UML – Diagramas Estructurales
Diagrama de Despliegue
1. UML – Diagramas Estructurales
• Diagrama de Objetos
• Un gráfico de instancias, incluyendo objetos y valores de datos.
• Un diagrama de objeto estático es una instancia de un diagrama de
clase; muestra una instantánea del estado detallado de un sistema en
un punto en el tiempo.
1. UML – Diagramas Estructurales
• Diagrama de Paquetes
• Muestra los paquetes y las relaciones entre los paquetes.
• Representa de forma estática los componentes del sistema de
información que está siendo modelado.
• Es utilizado para definir los distintos paquetes a nivel lógico que
forman parte de la aplicación y la dependencia entre ellos
1. UML – Diagramas Estructurales
• Diagrama de Perfiles
• Diagrama UML auxiliar que permite definir estereotipos
personalizados, valores etiquetados y restricciones como un
mecanismo de extensión ligero al estándar UML.
• Los perfiles permiten adaptar el metamodelo UML para diferentes
plataformas o dominios.
• Permite extender UML para su uso con una plataforma de
programación en particular (como el framework .NET de Microsoft o la
plataforma Java Enterprise Edition), o modelar sistemas destinados a
ser usados en un dominio en particular (por ejemplo, medicina,
servicios financieros o ingeniería especializada).
1. UML – Diagramas Estructurales
• Diagrama de Perfiles
1. UML – Diagramas Estructurales
• Diagrama Estructura Compuesta
• Muestra la estructura interna (incluidas las partes y los conectores) de
un clasificador estructurado.
• Un diagrama de estructura compuesto es un tipo de diagrama
estructural que contiene clases, interfaces, paquetes y sus
relaciones, y que proporciona una vista lógica de todo, o parte de un
sistema de software.
1. UML – Diagramas de Comportamiento
• A diferencia de los diagramas estructurales, muestran como se comporta un
sistema de información de forma dinámica.
• Es decir, describe los cambios que sufre un sistema a través del tiempo cuando
está en ejecución.
• Hay un total de siete diagramas de comportamiento, clasificados de la siguiente
forma:
• Diagrama de Actividades
• Muestra la secuencia y las condiciones para coordinar los
comportamientos de nivel inferior, en lugar de los clasificadores que
poseen esos comportamientos.
• Estos son comúnmente llamados modelos de flujo de control y flujo
de objetos.
1. UML – Diagramas de Comportamiento
• Diagrama de Actividades
1. UML – Diagramas de Comportamiento
• Diagrama de Casos de Uso
• Describe un conjunto de acciones (casos de uso) que algunos sistemas
o sistemas (sujetos) deben o pueden realizar en colaboración con
uno o más usuarios externos del sistema (actores) para proporcionar
algunos resultados observables y valiosos a los actores u otros
interesados del sistema(s).
1. UML – Diagramas de Comportamiento
• Diagrama de Máquina de Estados
• Se utiliza para modelar el comportamiento discreto a través de
transiciones de estados finitos.
• Además de expresar el comportamiento de una parte del sistema, las
máquinas de estado también se pueden usar para expresar el
protocolo de uso de parte de un sistema.
1. UML – Diagramas de Comportamiento
• Diagramas de Interacción
• Es un subconjunto de los diagramas de comportamiento.
• Comprende los siguientes diagramas:
• Diagrama de Secuencia
• Diagrama de Comunicación
• Diagrama de tiempos
• Diagrama Global de Interacciones
1. UML – Diagramas de Comportamiento
• Diagramas de Interacción : Diagrama de Secuencia
• Es el tipo más común de diagramas de interacción y se centra en el
intercambio de mensajes entre líneas de vida (objetos).
1. UML – Diagramas de Comportamiento
• Diagramas de Interacción : Diagrama de Comunicación
• Se enfoca en la interacción entre líneas de vida donde la arquitectura
de la estructura interna y cómo esto se corresponde con el paso del
mensaje es fundamental.
• La secuencia de mensajes se da a través de una numeración.
1. UML – Diagramas de Comportamiento
• Diagramas de Interacción : Diagrama de Tiempos
• Se centran en las condiciones que cambian dentro y entre las líneas
de vida a lo largo de un eje de tiempo lineal.
1. UML – Diagramas de Comportamiento
• Diagramas de Interacción : Diagrama Global de Interacciones
• Los diagramas global de interacciones brindan una descripción
general del flujo de control donde los nodos del flujo son
interacciones o usos de interacción.
FASES DEL DESARROLLO DE UN SISTEMA
Programas Diseñar Diagramas UML
ArgoUML: es una herramienta desarrollada en Java que permite crear modelos UML,
los tipos de diagrama que se pueden crear con ArgoUML son nueve.
StarUML: Es una herramienta para crear diagramas
UML.
Rational Rouse: Es una herramienta de diseño orientada a objetos, que da
soporte al modelado visual, es decir, que permite representar gráficamente el
sistema
Objetivos
Modelar el comportamiento del Sistema
Aprender UML. Como notación de orientada a objetos
Diagrama de Caso de Uso
CASO DE USO
Capturan los requisitos funcionales del sistema
Elementos
- Caso de Uso
- Actor
- Comunicación
- Entorno del Sistema
Caso de Uso – Plantilla de Descripción
Cada caso de uso se describe utilizando plantillas del Lenguaje Natural
Caso de Uso
Caso de Uso – Plantilla de Descripción
Caso de Uso Reservar Libro
Actores Socio
Resumen El socio puede solicitar la reserva de un libro, para su
posterior prestamo en la fecha indicada
Precondiciones El socio no tenga ninguna reserva
Postcondiciones
Include
Extiende
Hereda
Flujo de Eventos
Actor Sistema
1. El actor socio solicita la
reserva (codigo, libro, 2. El sistema comprueba el socio no tiene reserva
fecha) 3. El sistema comprueba que el libro este libre para la fecha
solicitada
4. El sistema solicita confirmación de la reserva
5. El socio confirma la
reserva 6. El sistema Realiza la Reserva
Mas expresividad
Relaciones entre caso de uso
Inclusión
Extensión
Herencia
Relaciones entre actores
Herencia
Relaciones entre Casos de Uso -
Inclusión
Un caso de uso A incluye a un caso de uso B, si una instancia de A puede
realizar todos los eventos que aparecen descritos en B
El flujo de eventos baja socio, utiliza siempre el flujo de eventos Buscar Socio
Relaciones entre Casos de Uso –
Extensión
Un caso de uso B Extiende a un caso de uso A.
Entre el flujo de eventos Evaluar solicitud de crédito hay una condición, que si se cumple, se
ejecuta el evento Soclitar Informacion adicional
Relaciones entre Casos de Uso –
Herencia
Enviar solicitud de crédito personal, enviar solicitud de crédito empresarial son refinamientos
del flujo de evento enviar solicitud de credito
Relación de Herencia entre actores
Cliente corporativo o cliente normal, son especializaciones de cliente bancario
Diagrama de Caso de Uso
Estructurado en 3 niveles
Diagrama de contexto o diagrama inicial
Plantillas de descripción
Diagrama estructurado o modelo de caso de uso
Diagrama de Caso de uso
Diagrama de contexto
Diagrama de Caso de Uso
Diagrama Inicial
Diagrama de Caso de Uso
Diagrama estructurado o modelo completo
Conclusiones
SEGUNDO DIA
DIAGRAMA DE CASO DE USOS
Capturan los requisitos funcionales del sistema
Elementos
- Caso de Uso
- Actor
- Comunicación
- Entorno del Sistema
Caso de Uso – Plantilla de Descripción
Cada caso de uso se describe utilizando plantillas del Lenguaje Natural
Caso de Uso
Caso de Uso – Plantilla de Descripción
Caso de Uso Reservar Libro
Actores Socio
Resumen El socio puede solicitar la reserva de un libro, para su
posterior prestamo en la fecha indicada
Precondiciones El socio no tenga ninguna reserva
Postcondiciones
Include
Extiende
Hereda
Flujo de Eventos
Actor Sistema
1. El actor socio solicita la
reserva (codigo, libro, 2. El sistema comprueba el socio no tiene reserva
fecha) 3. El sistema comprueba que el libro este libre para la fecha
solicitada
4. El sistema solicita confirmación de la reserva
5. El socio confirma la
reserva 6. El sistema Realiza la Reserva
DIAGRAMA DE CASO DE USO DE UNA CLÍNICA
sistema de una clínica el cliente paga la cita a la secretaria marca la
consulta o lo nace pasar la secretaria lo registra en a la base de datos
de la clínica, el doctor receta los medicamentos luego cliente sale de
la cita.
el cliente paga una cuota ménsula al balconista de la clínica él le
genera en recibo de pago, para que preste el servicio.
Identifcar los actores casos de uso
Paciente doctor
Secretaria balconista
Caso de Uso - Buscaminas
Identificar los casos de uso
Inicio juego
Macar casilla
Descubrir mina
Identificar los actores
jugador
C. U. Ejercicio: sistema de normativas
» Actor funcionario
• Suscribirse a avisos de normativas. DEFENIR LOS ACTORES
• Buscar normativas
FUNCIONARIO
• Ver detalles de una normativa.
REGISTRADOR
Actor registrador
CASOS DE USO
• Acceder al sistema con su nombre y clave.
• Registrar normativa.
• Borrar normativa.
• Reemplazar normativa.
C. U. Encuentros virtuales
Se desea desarrollar un sistema de encuentros virtuales (parecido a un chat).
Cuando se conecta al servidor, un usuario puede entrar o salir de un
encuentro.
Cada encuentro tiene un manager.
El manager es el usuario que ha planificado el encuentro (el nombre del
encuentro, la agenda del encuentro y el moderador del encuentro).
Cada encuentro puede tener también un moderador designado por el manager.
La misión del moderador es asignar los turnos de palabra para que los usuarios
hablen.
El moderador también podrá dar por concluido el encuentro en cualquier
momento.
En cualquier momento un usuario puede consultar el estado del sistema, por
ejemplo los encuentros planeados y su información.
C.U. Juego Virtual
Un juego de teléfono móvil dónde participan dos
jugadores cada uno con su propia terminal.
Cuando dos jugadores desean jugar, uno de ellos crea una
nueva partida y el otro se conecta.
El objetivo del juego es manejar una nave y disparar al
contrario. Si uno de los dos jugadores acierta, la partida
termina.
Si uno de los dos jugadores deja la partida (o se pierde la
conexión) la partida termina.
Ejemplos de un diagrama de casos de uso
[Link]
Titulo: ok
Enunciado del problema:
Diagrama de caso de uso
Plantilla de casos de uso (máximo 5, mínimo de 3)
Bd
Modelo del dominio
Diagrama de clases
Modelo de Dominio del Problema
Un modelo de dominio es una
representación de las clases conceptuales
del mundo real, no de componentes
software. No se trata de un conjunto de
diagramas que describen clases software,
u objetos software con responsabilidades
(Larman, 2002)
Es el artefacto clave del análisis orientado
a objetos
En UML se utilizan los diagramas de clases
para representar los modelos de dominio
GUÍAS PARA HACER UN MODELO DE
DOMINIO
Listar las clases conceptuales candidatas
relacionadas con los requisitos actuales en estudio
Representar las clases en un modelo de dominio
Añadir las asociaciones necesarias para registrar
las relaciones que hay que mantener en memoria
Añadir los atributos necesarios para satisfacer los
requisitos de información
Herencia
La herencia es un intento de adaptación de estos
diagramas al paradigma orientado a objetos. La
herencia es un tipo de relación entre una entidad
"padre" y una entidad "hijo". La entidad "hijo" hereda
todos los atributos y relaciones de la entidad "padre".
Por tanto, no necesitan ser representadas dos veces en
el diagrama. La relación de herencia se representa
mediante un triángulo invertido interconectado por
líneas a las entidades. La entidad conectada por la
parte superior del triángulo es la entidad "padre".
Solamente puede existir una entidad "padre" (herencia
simple). Las entidades "hijo" se conectan por la parte
inferior del triángulo.
Ejemplo Herencia – atributos
El clásico ejemplo de herencia es el siguiente: supongamos que tenemos
una clase Animal. Esta sería una clase muy genérica. Podríamos generar otras
clases más concretas como Mamífero, Ave, Pez y Reptil, todas subclases
de la superclase Animal. A la clase Animal se le llama clase padre o
superclase y el resto serían las clases hijas o subclases. Tambien podemos
seguir creando clases como Gaviota, Paloma que heredan de Ave y Humano,
Elefante y Perro que heredan de mamífero (podríamos continuar creando las
clases Caniche, Labrador, Husky, etc como subclases de perro). Imaginemos
que nos interesa el número de patas de los animales. En la clase Animal la
variable estaría inicializada a 4 en el constructor, por ejemplo, de forma que
cualquier subclase heredará dicha variable con el valor 4, siempre que no se
indique lo contrario. La clase Pez sobreescribirá el valor de la variable “patas”
para inidicar que no tiene ninguna y la clase humano y ave también para
indicar que tienen 2. Sin embargo, la clase Perro no tendrá que modificarla y
heredará el valor por defecto.
Ejemplo
PROYECTO
Escoja un tema de su preferencia,
realizar el caso de uso (plantillas),
diagrama de clases.
DIAGRAMA DE CLASES
Los diagramas de clases son uno de los tipos de diagramas más útiles en
UML, ya que trazan claramente la estructura de un sistema concreto al
modelar sus clases, atributos, operaciones y relaciones entre objetos. La
creación de estos diagramas no es tan abrumadora como podría parecer. Esta
guía te ayudará a entender, planificar y crear tu propio diagrama de clases.
Beneficios de los diagramas de clases
Los diagramas de clases ofrecen una serie de beneficios para toda
organización. Usa los diagramas de clases UML para:
• Ilustrar modelos de datos para sistemas de información, sin importar qué tan
simples o complejos sean.
• Comprender mejor la visión general de los esquemas de una aplicación.
• Expresar visualmente cualesquier necesidades específicas de un sistema y
divulgar esa información en toda la empresa.
• Crear diagramas detallados que resalten cualquier código específico que será
necesario programar e implementar en la estructura descrita.
• Ofrecer una descripción independiente de la implementación sobre los tipos
empleados en un sistema que son posteriormente transferidos entre sus
componentes.
Componentes básicos de un diagrama de clases
El diagrama de clases estándar está compuesto por tres
partes:
• Sección superior: Contiene el nombre de la clase. Esta
sección siempre es necesaria, ya sea que estés hablando
del clasificador o de un objeto.
• Sección central: Contiene los atributos de la clase. Usa
esta sección para describir cualidades de la clase. Esto
solo es necesario al describir una instancia específica de
una clase.
• Sección inferior: Incluye operaciones de clases
(métodos). Esto está organizado en un formato de lista.
Cada operación requiere su propia línea. Las
operaciones describen cómo una clase puede interactuar
con los datos.
[Link]
Niveles de visibilidad
Metodología
La metodología hace referencia al
conjunto de procedimientos racionales
utilizados para alcanzar el objetivo o la
gama de objetivos que rige una
investigación científica, una exposición
doctrinal o tareas que requieran
habilidades, conocimientos o cuidados
específicos.
Metodología de Desarrollo
Una metodología de desarrollo de software o
metodología de desarrollo de sistemas en ingeniería de
software es un marco de trabajo que se usa para
estructurar, planificar y controlar el proceso de desarrollo
de un sistema de información.
Una Metodología para el. Desarrollo de SI es un
conjunto de actividades llevadas a cabo para desarrollar
y poner en marcha un. Sistema de Información.
Metodología RUP
RUP es una metodología
que tiene como objetivo
ordenar y estructurar el
desarrollo de software, en la
cual se tienen un conjunto de
actividades necesarias para
transformar los requisitos del
usuario en un sistema.
UML
El UML está compuesto por
diversos elementos gráficos que se
combinan para conformar
diagramas. Debido a que el UML
es un lenguaje, cuenta con reglas
para combinar tales elementos. La
finalidad de los diagramas es
presentar diversas perspectivas de
un sistema, a las cuales se les
conoce como modelo.
Diagrama de Actividades
Con el uso del Lenguaje Unificado de Modelado (UML, por sus siglas en
inglés), el diagrama de actividades UML se emplea para representar
gráficamente el orden de los pasos en un proceso y el flujo de
control.
Muestra lo que sucede durante una actividad y operación, proceso o
caso de uso
Recuerda a los diagramas de flujo
La actividad es un proceso, cada paso del proceso es una acción
Elementos
Diagrama de Actividades
Nodos Básicos
Flujo paralelos
Nodo Objeto
Pins
Transformación
Flujos Paralelos
Ejemplo
Nodo Objeto
Sirve para mostrar un objeto en particular
Que se relaciona con la actividad
El objeto cambia de estado según lo que
Sucede en la actividad
Pins
Transformación
Diagrama de Actividades
[Link]
Diagrama de Objetos
En UML, diagrama que muestra una vista completa o parcial de
los objetos de un sistema en un instante de ejecución específico.
"Un diagrama de objetos es un gráfico de instancias, incluyendo
objetos y datos. Un diagrama de objetos es una instancia de un
diagrama de clases; muestra una 'foto' del estado de un sistema
en un punto de tiempo determinado.“
Los diagramas de objeto están ligados a los diagramas de clase y
comparten virtualmente los mismos símbolos para la notación.
Diagrama de Clases y Diagrama de Objetos
Diagrama de Secuencia
Un diagrama de secuencia es un tipo de
diagrama de interacción porque describe
cómo —y en qué orden— un grupo de
objetos funcionan en conjunto. Tanto los
desarrolladores de software como los
profesionales de negocios usan estos
diagramas para comprender los requisitos de
un sistema nuevo o documentar un proceso
existente. A los diagramas de secuencia en
ocasiones se los conoce como diagramas de
eventos o escenarios de eventos.
Los beneficios de los diagramas de
secuencia
• Representa los detalles de un caso de uso en
UML.
• Modelar la lógica de una operación, una
función o un procedimiento sofisticados.
• Ve cómo los objetos y los componentes
interactúan entre sí para completar un proceso.
• Planificar y comprender la funcionalidad
detallada de un escenario actual o futuro.
• [Link]
-de-secuencia
Ejemplos
Ejemplo
Ejemplo
Diagrama de colaboración
Es un tipo de diagrama de interacción cuyo
objetivo es describir el comportamiento
dinámico del sistema de información
mostrando como interactúan los objetos entre
sí, es decir, con qué otros objetos tiene vínculos
o intercambia mensajes un determinado objeto.
Un diagrama de colaboración muestra la misma
información que un diagrama de secuencia
pero de forma diferente. En los diagramas de
colaboración no existe una secuencia temporal
en el eje vertical; es decir, la colocación de los
mensajes en el diagrama no indica cual es el
orden en el que se suceden.
Caso Practico
Diagrama de Estados
Un diagrama de estado UML (también llamado diagrama de
estado, diagrama de transición de estados o diagrama de
máquina de estados) muestra los estados por los que pasa una
máquina de estados finitos, es decir, un modelo de
comportamiento que consiste en acciones y estados o
transiciones a otros estados. El diagrama proporciona un estado
inicial y uno final, así como al menos un estado intermedio para
cada objeto. El diagrama de estado permite, de este modo,
representar el ciclo de vida completo de cualquier sistema,
subsistema o componentes o clase
Diagrama de Estados
Diagrama de Estado de Llama
Semana 5
Diagrama de Componentes
Diagrama de Paquetes
Modelo de Negocio
Caso Practico