Tabla de Estado


Se definen todos los detalles del comportamiento de un estado de un VFSM. Se compone de tres columnas: en los nombres de los estados primeras columnas se utilizan, en el segundo las condiciones virtuales construidas a partir de los nombres de entrada utilizando el álgebra de la lógica positiva y se colocó en la tercera columna aparecen los nombres de salida:


Lea la tabla de la siguiente manera: las dos primeras líneas de definir las acciones de entrada y salida de la situación actual. Las siguientes líneas que no proporcionan el siguiente estado representan las acciones de entrada. Finalmente las líneas que proporcionan el siguiente estado representan las condiciones de transición de estado y acciones de transición. Todos los campos son opcionales. Un VFSM combinatoria pura es posible en caso de que sólo cuando las acciones de que se utilicen, pero no se definen las transiciones de estado. La acción de transición puede ser sustituida por el uso adecuado de otras acciones.



Álgebra de la Lógica Positiva.


Los nombres de las acciones del desencadenador de salida (acciones de entrada, las acciones de salida, las acciones de entrada o las acciones de transición).

Álgebra lógica positiva
Para construir un estado de virtual utilizando los nombres de entrada de las operaciones booleanas AND y OR se les permite. El operador NOT no es posible porque los nombres de entrada no puede ser negada, aun cuando al parecer, describirlos valores booleanos. Simplemente existen o no.

Modelo de Ejecución VFSM


Diagrama de flujo Ejecutor VFSM

Un subconjunto de todos los nombres definidos de entrada, que sólo pueden existir en una situación determinada, se conoce como la entrada virtual (VI). Por ejemplo, la temperatura puede ser "demasiado bajo", "buena" o "demasiado alto". Aunque hay tres nombres de entrada definidos, sólo uno de ellos puede existir en una situación real. Este se construye el VI.Un subconjunto de todos los nombres definidos de salida, que sólo pueden existir en una determinada situación se conoce como salida virtual (VO). VO se construye por la acción de corriente (s) de la VFSM. La especificación de la conducta se construye una tabla de estado que describe todos los detalles de un solo estado de la VFSM.El ejecutor VFSM se desencadena por VI y el estado actual de la VFSM. En consideración de la especificación comportamiento del estado actual, el VO se establece.La figura 2 muestra una posible implementación de un ejecutor VFSM. Basándose en esta aplicación unas características de comportamiento típicas deben ser considerados.


Control de Propiedades

Una variable en el entorno VFSM puede tener uno o más valores que son relevantes para el control - en este caso es una variable de entrada. Esos valores son las propiedades de control de esta variable. Propiedades de control no son necesariamente los valores de datos específicos, pero son los estados más ciertos de la variable. Por ejemplo, una variable digital podría proporcionar tres propiedades de control: TRUE, FALSE y UNKNOWN en función de sus posibles valores booleanos. Un numérica (analógico) variable de entrada tiene propiedades de control tales como:bajo, según ALTO, OK, BAD, sin que su gama de valores deseados. Un contador de tiempo puede tener su estado Sobre (tiempo de espera se produjo) como su valor de control más importante, los demás valores se pudo detener, correr, etc.

Acciones
Una variable en el entorno VFSM puede ser activado por acciones - en este caso es una variable de salida. Por ejemplo, una salida digital tiene dos acciones: Verdadero y Falso. Un numérica (analógico) variable de salida tiene una acción: Conjunto. Un contador de tiempo, que es a la vez: una variable de entrada y salida pueden ser desencadenados por acciones como: iniciar, detener o reiniciar.


Roles en RUP


Analistas: 

  • Analista de procesos de negocio. 
  • Diseñador del negocio. 
  • Analista de sistema. 
  • Especificador de requisitos. 

Desarrolladores: 

  • Arquitecto de software. 
  • Diseñador 
  • Diseñador de interfaz de usuario 
  • Diseñador de cápsulas. 
  • Diseñador de base de datos. 
  • Implementador. 
  • Integrador. 

Gestores: 

  • Jefe de proyecto 
  • Jefe de control de cambios. 
  • Jefe de configuración. 
  • Jefe de pruebas 
  • Jefe de despliegue 
  • Ingeniero de procesos 
  • Revisor de gestión del proyecto 
  • Gestor de pruebas. 

Apoyo: 

  • Documentador técnico 
  • Administrador de sistema 
  • Especialista en herramientas 
  • Desarrollador de cursos 
  • Artista gráfico 

Especialista en pruebas: 

  • Especialista en Pruebas (tester) 
  • Analista de pruebas 
  • Diseñador de pruebas 
Otros roles: 
  • Stakeholders. 
  • Revisor 
  • Coordinación de revisiones 
  • Revisor técnico 
  • Cualquier rol 

Notas: 

     • Para grandes organizaciones con un números equipos  de ingenieros y la comunicación  entre cada equipo es crítica por lo tanto es necesario que los artefactos sean completos y bastante comprensivos 

     • En tanto que para pequeños proyectos no es recomendable presentarse tanto rigor en las preparaciones de los artefactos, la eficiencia del proceso depende más de las habilidades de cada trabajador 

El ciclo de vida de RUP

RUP divide el proceso en 4 fases, dentro de las cuales se realizan varias iteraciones en número variable según el proyecto y en las que se hace un mayor o menor hincapié en los distintas actividades.

  • Inicio: Se hace un plan de fases, se identifican los principales casos de uso y se identifican los riesgos. Se define el alcance del proyecto 
  • Elaboración: se hace un plan de proyecto, se completan los casos de uso y se eliminan los riesgos 
  • Construcción: se concentra en la elaboración de un producto totalmente operativo y eficiente y el manual de usuario 
  • Transición: se Instala el producto en el cliente y se entrena a los usuarios. Como consecuencia de esto suelen surgir nuevos requisitos a ser analizados. 





Control de la evolución del proyecto


Scrum controla de forma empírica y adaptable la evolución del proyecto, empleando las siguientes prácticas de la gestión ágil:  

Revisión de las Iteraciones 
Al finalizar cada iteración (normalmente 30 días) se lleva a cabo una revisión con todas las personas implicadas en el proyecto. Este es el periodo máximo que se tarda en reconducir una  desviación en el proyecto o en las circunstancias del producto  

Desarrollo incremental 
Durante el proyecto, las personas implicadas no trabajan con diseños o abstracciones. El desarrollo incremental implica que al final de cada iteración se dispone de una parte del producto operativa que se puede inspeccionar y evaluar. 

Desarrollo evolutivo 
Los modelos de gestión ágil se emplean para trabajar en entornos de incertidumbre e inestabilidad de requisitos. Intentar predecir en las fases iniciales cómo será el producto final, y sobre dicha predicción desarrollar el diseño y la arquitectura del producto no es realista, porque las circunstancias obligarán a remodelarlo muchas veces. 
Para qué predecir los estados finales de la arquitectura o del diseño si van a estar cambiando. En Scrum se toma a la inestabilidad como una premisa, y se adoptan técnicas de  trabajo para permitir esa evolución sin degradar la calidad de la arquitectura que se irá generando durante el desarrollo. 
El desarrollo Scrum va generando el diseño y la arquitectura final de forma evolutiva durante todo el proyecto. No los considera como productos que deban realizarse en la primera “fase” del proyecto. (El desarrollo ágil no es un desarrollo en fases) 

Auto-organización 
Durante el desarrollo de un proyecto son muchos los factores impredecibles que surgen en todas las áreas y niveles. La gestión predictiva confía la responsabilidad de su resolución al gestor de proyectos. En Scrum los equipos son auto-organizados (no auto-dirigidos), con margen de decisión suficiente para tomar las decisiones que consideren oportunas.


Colaboración 
Las prácticas y el entorno de trabajo ágiles facilitan la colaboración del equipo. Ésta es necesaria, porque para que funcione la autoorganización como un control eficaz cada  miembro del equipo debe colaborar de forma abierta con los demás, según sus capacidades y no según su rol o su puesto. 






Características SCRUM


  • Enfatiza valores y prácticas de gestión, sin pronunciarse sobre requerimientos, prácticas de desarrollo, implementación y demás cuestiones técnicas
  • Hace uso de Equipos auto-dirigidos y auto-organizados
  • Puede ser aplicado teóricamente a cualquier contexto en donde un grupo de gente necesita trabajar junta para lograr una meta común.
  • Desarrollo de software iterativos incrementales basados en prácticas agiles
  • Iteraciones de treinta días; aunque se pueden realizar con mas frecuencia, estas iteraciones, conocidas como Sprint
  • Dentro de cada Sprint se denomina el Scrum Master al Líder de Proyecto quien llevará a cabo la gestión de la iteración
  • Se convocan diariamente un “Scrum Daily Meeting” el cual representa una reunión de avance diaria de no más de 15 minutos con el propósito de tener realimentación sobre las tareas de los recursos y los obstáculos que se presentan. En la cual se responden preguntas como: ¿Qué has hecho desde el ultimo encunetro? ¿Qué obstaculos hay para cumplir la meta? ¿Qué haras antes del proximo encuentro?