Para comprender mejor el sistema que estamos desarrollando.
Para comunicar a los clientes y entre los mismos desarrolladores cuál es la estructura y el comportamiento deseado de nuestro sistema.
Para visualizar y controlar la arquitectura del sistema.
Para controlar el riesgo.
Para lidiar con la complejidad.
Formas de enfocar el modelado de un sistema en software
Perspectiva orientada algorítmica.
El bloque principal es el proceso o función.
Perspectiva orientada a objetos.
El principal bloque de construcción es la clase.
Lenguaje Unificado de Modelado (UML).
Origen de UML
Desarrollos individuales de metodologías para el análisis y diseño orientado a objetos.
OMT (Object-modeling technique) de Rumbaugh
Método Booch de Grady Booch
OOSE (Object Oriented Software Engineering) de
Jacobson
En 1996 la empresa Rational Software Corporation solicita a Booch, Rumbaugh y Jacobson el desarrollo de un método unificado. Así nace UML (Unified Modeling Language).
Introducción a UML
UML es un lenguaje para:
Visualizar
Especificar
Construir
Documentar
¿Donde puede ser utilizado UML?
Software
Telecomunicaciones
Transporte
Defensa
Científico
Venta al por menor
Electrónica médica
Servicios distribuidos basados en web
Sistemas de información empresarial
Diseño de hardware
Diagramas de UML
Diagrama de Maquina de Estados
Utilizados para:
Modelar aspectos dinámicos de un sistema.
Modelar el tiempo de vida de un sistema reactivo.
Describir los diferentes estados de un objeto durante
su tiempo de vida.
Modelar estados de un objeto.
Composición de un Diagrama de Máquina de Estado
Un diagrama de máquina de estado está compuesto por:
Estados
Transiciones
Eventos
Estado
Condición o situación durante la vida de un objeto durante la
cual satisface alguna condición, desarrolla alguna actividad o espera por algún
evento.
Estados especiales: estado inicial y estado final.
Partes de un estado:
Nombre
Acciones de entrada y salida
Transiciones internas
Eventos diferidos
Estado historia.
Estados concurrentes.
Transiciones
Relación entre dos estados indicando que un objeto en el primer estado llevará a cabo una determinada acción y entrará en el segundo estado cuando el evento especificado ocurra y condiciones especificadas sean satisfechas.
Partes de una transición:
Estado origen
Evento disparador
Condición de guardar
Acción
Estado objetivo
Eventos
Ocurrencia de un estímulo que puede dispara una transición de un estado
Relación con las Máquinas de Mealy y Moore
Apoyan acciones que dependen tanto del estado del sistema y del evento de activación. Máquina de Mealy.
Apoyan acciones que dependen de las acciones de entrada y salida, que están asociados con los estados en
lugar de transiciones. Máquinas de Moore.