jueves, 24 de mayo de 2012

Modelado con UML


PRÁCTICA 6
MODELADO CON UML

Memoria de trabajo

Herramienta case seleccionada:

Visual Paradigm for UML 9.0

Tareas realizadas por cada miembro:

Diagramas de casos de usoDiagramas de clasesDiagramas de secuenciaDiagramas de colaboraciónDiagramas de estadoDiagramas de actividad
Andrés Álvarez Hidalgo

X

X
Gerardo Rico Botella
X

X
Álvaro Sáez Montalvo
X

X



Diagramas:

Diagramas de caso de uso
Diagramas de clases
Diagramas de secuencia
Diagramas de colaboración
Diagramas de estado
Diagramas de actividad
DIAGRAMAS DE CASOS DE USO



DIAGRAMA DE CLASES



DIAGRAMAS DE SECUENCIA















DIAGRAMAS DE COLABORACIÓN


DIAGRAMAS DE ESTADO




DIAGRAMAS DE ACTIVIDAD

Registrarse:


Entrada de usuario:


Publicar mensaje:


Buscar gente:



Buscar series y películas:




Ver perfil de usuario amigo:




Ver perfil de usuario no amigo:

jueves, 8 de marzo de 2012

Metodologías

Práctica 4

MICROSOFT PROJECT 2010
Herramientas CASE

Presentacion

Es un software para administrar una amplia gama de proyectos y de programas eficazmente,  nos proporciona las herramientas de planificación, administración y colaboración empresarial, con las cuales se pueden desarrollar planes de trabajo, asignar recursos y tareas, hacer un seguimiento de los progresos, etc…
Es una herramienta Upper CASE (U-CASE) esto quiere decir que ayuda en las fases de planificación, análisis de requisitos y estrategia del desarrollo, usando, entre otros diagramas UML
Es un software multiplataforma ya que es soportado por PCs de 32 bits y de 64 bits. También tiene versión para Windows y MAC.

Microsoft Project Professional integrado con otras herramientas como puede ser con Microsoft SharePoint Foundation se pueden conectar los distintos equipos utilizados en el proyecto y sincronizándolos, para que así los colaboradores puedan actualizar fácilmente el estado de las tareas.

También con Microsoft Project Server se pueden administrar proyectos y carteras de principio a fin.

10 características principales.
  1. Estimaciones reales de tiempos.
  2. Planificación y administración guiadas.
  3. Seguimiento y reporte sobre un proyecto.
  4. Mejor asignación de recursos.
  5. Presentación efectiva de información de proyecto.
  6. Integración de datos sin problemas.
  7. interface optimizada.
  8. Asistencia inmediata.
  9. Personalización.
  10. Una amplia comunidad de usuarios y proveedores de soluciones.


PRUEBA DE LA HERRAMIENTA


En este programa encontramos la siguiente barra superior:

Con esta barra seleccionamos una de las siguientes clases de herramientas que queremos utilizar dentro de Microsoft Project:
  • Archivo
Si damos al botón de archivo nos salen las siguientes opciones:
Guardar y Guardar como os permiten guardar el proyecto que realizamos.


Abrir sirve para abrir un proyecto y cerrar para cerrarlo.


Información nos muestra información sobre algunos proyectos de Project Server y un organizador.
Reciente muestra los últimos proyectos realizados.
Nuevo nos abre un menú de los diferentes tipos de nuevos proyectos que podemos crear.
Imprimir abre un menú para configurar las opciones de impresión y para imprimir los proyectos.
Guardar y enviar nos abre un menú con opciones para enviar el proyecto por email, o para guardarlo en diferentes lugares o formatos.
Ayuda abre un menú con el que puedes obtener ayuda de microssoft office, contactar con miscrosoft, o buscar actualizaciones.

Opciones te abre el menú de configuración del programa,
y salir cierra el programa (dándote la opción de guardar antes de salir).



  • Tarea
Este botón nos abre una barra de herramientas con las siguientes opciones:

Diagrma de Gantt nos da la opción de elegir qué tipo de formato de organización queremos para nuestro proyecto (calendario, diagrama de red, diagrama de Gantt, formulario de tareas, etc..)  


      Estas opciones son las típicas de cortar, copiar y pegar.




Las herramientas de fuente cambian el tipo, tamaño color y fondo del texto.

Las herramientas de programación sirven para marcar las tareas realizadas o el porcentaje que llevan realizadas, para dividir tareas, o para actualizarlas.

Estas son las herramientas de tareas. Con ellas se pueden programan manual o automáticamente las tareas. Inspeccionar muestra información acerca de una tarea, Mover te perimite adelantar o atrasar en tiempo una tarea y Modo permite cambiar de modo de programar una tarea (manual o automáticamente).

Con Tarea puedes insertar nuevas tareas y de diferentes tipos e incluso importar tareas de Outlook. Con Resumen insertas resúmenes en el proyecto y con Hito insertas hitos.


Información abre un menú de propiedades de la tarea seleccionada donde puedes cambiar su nombre, su fecha de inicio y finalización, etc..
Notas de tareas te muestra las notas que una tarea tiene, y te permite añadir las notas que quieras.
Detalles te muestra el formulario de tareas, donde puedes ver y modificar sus detalles.


Desplazarse a tarea desplaza la visualización de las tareas a la siguiente tarea. Buscar busca una tarea por el nombre que introduzcas y Borrar borra la tarea o nota seleccionada, toda una fila, o todo el proyecto.

  • Recurso
Este botón tiene la siguiente barra de herramientas, aunque no las hemos estudiado puesto que no eran necesarias para realizar el proyecto que queríamos.
  • Proyecto
Esta barra de herramientas tampoco la hemos utilizado para el trabajo a realizar, por eso no se explican una a una las herramientas.
  • Vista
Este botón incluye herramientas para visualizar de diferentes maneras nuestro proyecto.

Por ejemplo con Vistas de tareas, podemos
cambiar el modo de ver nuestro proyecto, pudiendo ver el calendario, el diagrama de
red o el uso de tareas, etc..


También tenemos Zoom, que permite ampliar diferentes zonas, o tareas seleccionadas.


Por último tenemos Ventana, con opciones para
cambiar la vista de nuestro proyecto y mostrarnos
otros que tengamos abiertos, o para crear nuevas
ventanas de visualización.

  • Formato
Esta barra tiene herramientas para cambiar el estilo del texto, el color de las tareas, o el estilo del diagrama de gantt.
Formato te permite cambiar el estilo del texto y el diseño.
Columnas permite insertar nuevas columnas y cambiar la alineación del texto.
Estilos de barra cambia el color de las tareas.

Estilo de diagrama de Gantt cambia los colores de las tareas partiendo de unos patrones que establece el estilo seleccionado.
Mostrar u ocultar te permite mostrar o no algunas opciones.
Dibujos te permite introducir algunos dibujos.



Manual de usuario

Requisitos del sistema

Para poder usar Microsoft Project Professional 2010 es necesario que nuestro sistema cumpla con los requisitos establecidos en la siguiente tabla:
Procesador700 Mhz o superior
Memoria RAM512MB o más
Espacio en el disco duro2GB libres
MonitorResolución de 1024x768 o superior
Sistema operativoWindows XP SP 3 (32-bit)
Windows Vista SP 1
Windows Server 2003 SP 2 y MSXML 6.0

Windows Server 2008 o superior
Windows 7



Instalación

Al proceder a la instalación del programa lo primero que nos encontramos es una ventana que nos pide que introduzcamos la clave del producto.

Una vez hemos introducido la clave y el programa ha comprobado que es una clave válida le damos a continuar y nos sadrá una ventana como la que vemos en la imágen siguiente.
Pulsamos “Instalar ahora” para realizar una instalación rápida del programa. Nos saldrá una barra de progreso. Una vez haya finalizado el proceso de instalación nos saldrá la siguiente ventana. Pulsamos “Cerrar” para finalizar la instalación.

Con esto ya tenemos instalado el programa. Como vemos la instalación es rápida y sencilla. Para abrir el programa nos dirigimos a Inicio -> Todos los programas -> Microsoft Office -> Microsoft Project 2010.

Crear un proyecto

Una vez abrimos el programa nos encontramos con una interfaz como la siguiente. El programa automaticamente abre un proyecto vacio mostrado como Diagrama de Gantt.

Si queremos crear un proyecto nuevo nos situamos en la pestaña “Archivo” y pulsamos donde pone “Nuevo”. Veremos algo como lo siguiente:

Desde aquí podemos crear un proyecto desde cero, usar plantillas o incluso importarlo de Excel o de SharePoint. Simplemente tenemos que seleccionar la opción que deseemos. Si elegimos “Nuevo a partir de un proyecto existente”, “Nuevo del libro de Excel” o “Nuevo de la lista de tareas de SharePoint” se nos abrerá una ventana para que seleccionemos el archivo sobre el cual queramos trabajar. Si seleccionamos “Proyecto en blanco” simplemente tenemos que pulsar en “Crear” y automaticamente nos creará un proyecto nuevo.

Agregar tareas

Para agregar tareas al proyecto tenemos varias opciones. Podemos dibujarlas directamente sobre la vista gráfica del diagrama de Gantt o especificando directamente el nombre de la tarea en la tabla de tareas del diagrama de Gantt. Tambien podemos insertar nuevas tareas pulsando sobre el botón “Tarea” de de la barra de opciones de la pestaña “Tarea”. En la imágen siguiente estan señaladas estas opciones.

Como vemos dependiendo de como creemos la tarea se especifican automaticamente unos datos u otros. Si la creamos por el modo gráfico se generan las fechas y la duración pero no el nombre. Si especificamos el nombre solo tendremos el nombre y si lo hacemos mediante el boton “Tarea” se genera “<Tarea nueva>” como nombre automatico de la tarea y no se especifica nada más.

Modos de programación

En Microsoft Project 2010 encontramos dos modos de programación de las tareas: automático y manual.
  • Automático. El modo automatico organiza de forma automática las fechas y la posición de las tareas cuando las vinculamos entre si, ofreciendo una forma cómoda de trabajo pues el jefe del proyecto no tiene que especificar manualmente las fechas de inicio de las tareas enlazadas.
  • Manual. El modo manual ofrece un mayor control de las tareas al jefe del proyecto, permitiendo establecer fechas de inicio indeterminadas como por ejemplo “pronto”. Además ofrece la opcion de manejo de un modo facil las tareas en paralelo. Al contrario que en el modo automático, en el modo manual Project no actualiza las fechas automaticamente.

Por defecto, Project 2010 establece las tareas en el modo manual. Para cambiar el modo en que queremos programar las tareas basta con seleccionar las tareas que queremos que cambien de modo y pulsar sobre el botón “Programar manualmente” o “Autoprogramar” de la barra de opciones de la pestaña “Tarea”.

A la hora de establecer tanto la duración como las fechas depende del modo de programación que hayamos elegido. Si establecemos el modo automático, observaremos como el programa nos especifica automaticamente una fecha a la tarea, esto no quiere decir que no podamos cambiar la duración o las fechas de la tarea. Si establecemos el modo manual, tendremos que especificar fechas y duración manualmente.

Subtareas

En Project es posible generar subtareas, dejando una tarea en concreto como tarea resumen de estas tareas, por ejemplo, la tarea “Lavar los platos” podria ser una tarea resumen y dentro de esta tarea podemos establecer las subtareas “Enjabonar” y “Enjuagar”. Para traducir esto a Project basta con tabular las tareas que queremos que actuen como subtareas. Para tabularlas simplemente tenemos que seleccionarlas y pulsar sobre el botón de tabulado, indicado en la imagen siguiente.

Una vez hayamos aplicado el tabulado tendremos algo así:



Relacionar tareas

Para relacionar las tareas solo tenemos que seleccionar las tareas que queremos vincular entre sí y pulsar sobre el botón vinculo marcado en la imagen de abajo.

Como vemos, las tareas “Enjabonar” y “Enjuagar” han sido vinculadas entre sí. A consecuencia de este vinculo, podemos observar que la fecha de comienzo de la tarea “Enjabonar” se ha desplazado hasta la fecha de finalización de la tarea “Enjabonar” ya que vinculando tareas se asume automaticamente que la tarea siguiente no puede empezar hasta que finalize la anterior. Podemos cambiar el tipo de vinculación haciendo doble click sobre la flecha de la relación, permitiendonos establecer varios tipos de relación como: Fin a comienzo, fin a fin, comienzo a comienzo y comienzo a fin.

Progreso de una tarea

Project nos ofrece la opción de especificar el porcentaje en que una tarea esta completada. Esto nos permite llevar un seguimiento de la evolución del proyecto, permitiendo preveer posibles retrasos en las fechas de finalización de las tareas. Para indicar el progreso de una tarea basta con pulsar sobre el botón del porcentaje que queremos asignar como completo.

Usos

No es necesario que se trate de un proyecto muy complejo para que podamos usar Microsoft Project. También podemos usarlo para proyectos sencillos. En este manual hemos visto una iniciación a Project porque se ha considerado que explorar todas las funciones que puede brindar el programa puede llegar a ser complejo.

Valoración


En otras asignaturas hemos utilizado otros programas para realizar diagramas de Gantt, sobre todo páginas web en las que puedes creártelos sin necesidad de instalar ningún software. Esas Herramientas que por así decirlo era muy fáciles de manejar, usables, y sobre todo de aprender, ya que con un simple vistazo del programa, se podían hacer diagramas de Gantt básicos.
El problema que entonces surgió, es que cuando queríamos hacer dentro de los diagramas cosas más complejas estos programas eran muy limitados, como por ejemplo, separar las tareas por familias y dentro de estas hacer distintos tipos de tareas, que en todo momento se pudiera apreciar por la tonalidad de colores, que tareas están dentro de la misma familia (Para saber en qué fase del proyecto estamos) y a la vez distinguir las distintas tareas (Saber que hace exactamente y cuando, cada persona).
Este tipo de cosas, o también como pueda ser administrar las tareas de la forma que prefieras, por persona, tarea, tipo, etc.
Microsoft Project es una herramienta que a simple vista no parece fácil manejarla y una vez que intentas hacer algo resulta bastante lioso, pero después de ver un simple manual, o incluso trabajando un buen rato con el programa, se aprende fácilmente a hacer buenos diagramas de Gantt, dándonos cuenta cuando llegamos a este punto que es una buena herramienta para este tipo de trabajos porque no carece de todo aquello que carecen las típicas herramientas básicas para realizar diagramas de Gantt. Dejándote distribuirlo todo como mas cómodo te resulte e incluso proporcionándote herramientas con las que ni contabas, pero que al tenerlas presentes te incita a que les des uso y así hacer algo que se puede considerar verdaderamente profesional.



Bibliografia

Project 2012 - Timothy Johnson, Carl S. Chatfield - Anaya multimedia, 2011
Gestión de proyectos con Microsoft Project 2010 - Antonio Colmenar - RA-MA, 2011








Práctica 3
METODOLOGÍAS

DSDM: Dynamic Systems Development Method

Introducción

La metodología DSDM es un método que utiliza una serie de conceptos, prácticas y criterios para el desarrollo ágil de software. Tiene como objetivo desarrollar un sistema con las necesidades de la empresa tanto en tiempo como en presupuesto, por lo que es un método ideal para proyectos de sistemas de información con restricciones temporales o requerimientos cambiantes.
Además se caracteriza por su rapidez de desarrollo, por su capacidad de amoldarse a cambios de la tecnología y por ser eficaz transcurrido mucho tiempo.

Características

  • El desarrollo es iterativo e incremental
  • Cambios reversibles
  • El equipo toma decisiones sin autorización de superiores
  • Se realizan entregas del producto frecuentemente
  • Pruebas de calidad a lo largo del proceso de desarrollo integradas en el ciclo de vida
  • Cooperación entre los desarrolladores, usuarios y Stakeholders




Fases

DSDM se divide en 3 fases:
  • pre-fase del proyecto
  • fase del ciclo de vida del proyecto. Se subdivide en estas etapas:


- Estudio de requerimientos y problemas de la empresa o cliente..
- Planificación de las actividades.
- Etapa de diseño, donde se plantea una solución aceptable a la problemática.
- Realización de codificación de la solución, prueba de calidad del producto y documentación del manual de usuario y técnico.
- Entrega del producto al cliente o usuario final.
  • fase de post-proyecto


Ciclo de vida de DSDM

Roles

  • Patrocinador ejecutivo: fondos y recursos.
  • Visionario: inicializa y mantiene.
  • Embajador de usuario: conocimiento de UF.
  • Asesor de usuario: ideas diarias UF.
  • Gerente del proyecto: gestiona.
  • Coordinador técnico: diseño y calidad.
  • Jefe de equipo: mantener.
  • Escribano: registra decisiones, acuerdos o requisitos.




Principios

DSDM se basa en los siguientes principios:
  • Involucrar al cliente en la clave. Cliente y desarrlloradores comparten un entorno de trabajo para que las decisiones se tomen con precisiób.
  • El equipo del proyecto debe tener el poder. El equipo puede tomar decisiones importantes sin esperar la aprobación de supervisores.
  • Entrega frecuente de productos. Se entrega el producto frecuentemente desde una etapa temprana, y de este modo el producto es verificado y revisado para tener en cuenta los resultados en las siguientes fases.
  • Entrega de un sistema que satisface las actuales necesidades de negocio. Centra sus esfuerzos en las funcionalidades críticas.
  • Desarrollo iterativo e incremental. De modo que se consiga una solución de negocio precisa.
  • Los cambios durante el desarrollo son reversibles.
  • Alcance de alto nivel y requerimientos base-lined.
  • Pruebas realizadas durante todo el ciclo de vida del proyecto. Se hace para evitar un caro coste extraordinario en mantenimiento del sistema después de la entrega.
  • Comunicación y cooperación entre las partes interesadas en el proyecto. Con lo que conseguimos que el proyecto sea efectivo y eficiente.



Mecanismos

  • Timeboxes

Se encarga de seleccionar las funcionalidades más prioritarias del negocio.
Cada timebox tiene una fecha de finalización y un conjunto de requerimientos a satisfacer dependiendo de la prioridad de cada uno.
  • MoSCoW rules


Da prioridades a los requisitos.
  • Prototipado


Hay varios prototipos: Bussines, Usability, Performance, Capability.


Referencias




Crystal Clear

Crystal Clear es una metodología de desarrollo de software ágil creada por Alistair Cockburn, pero más que una metodología es un conjunto de ellas, todas de la misma familia (que tienen un código genético común) que se subdividen a raíz del número de personas que vayan a estar en el proyecto que se vaya a llevar a cabo.
La idea es poder montar distintas metodologías para distintos tipos de proyectos. Cada proyecto y organización usará este código genético para generar su propia metodología. Tiene que tener unas políticas de trabajo en equipo definidas. Estas políticas dependerán del tamaño del equipo, estableciéndose una clasificación por colores basándose en los minerales, color y dureza, por ejemplo Crystal Clear (3 a 8 miembros) y Crystal Orange (25 a 50 miembros).

Las propiedades de la metodología Crystal Clear:
  1. Entrega frecuente. Consiste en entregar software a los clientes con frecuencia ( esta dependerá del proyecto), no solamente en compilar el código.



La entrega puede hacerse sin despliegue, si es que se consigue algún usuario que suministre feedback.
  1. Comunicación osmótica. Todos juntos en el mismo cuarto. Lo mejor que se puede hacer es disponer en la sala de un experto diseñador senior y discutir sobre el tema que se trate.
  2. Mejora reflexiva. Tomarse un pequeño tiempo para pensar bien qué se está haciendo, reflexionar, discutir, etc.
  3. Seguridad personal. Hablar con los compañeros cuando algo no va bien o entorpece el trabajo dentro del grupo.
  4. Foco. Saber lo que se está haciendo y tener la tranquilidad y el tiempo para hacerlo.
  5. Fácil acceso a usuarios expertos. Tener alguna comunicación con expertos desarrolladores.
  6. Ambiente técnico con prueba automatizada, management de configuración e integración frecuente. Muchos equipos ágiles compilan e integran varias veces al día.



En la metodología Crystal Clear existen 8 roles:
  1. Patrocinador. Produce el “Tradeoff”, define el proyecto y consigue recursos.
  2. Usuario Experto. Sugiere ideas para mejorar el software.
  3. Diseñador Principal. Produce la descripción arquitectónica.
  4. Diseñador Programador. Diseña, programa y testea código.
  5. Experto en Negocios. produce la Lista de actores objetivos y el archivo de casos de uso y requerimiento.
  6. Coordinador. Coordina el proyecto produciendo el plan de trabajo.
  7. Verificador. produce el reporte de bugs.
  8. Escritor. produce el manual de usuario.



El código genético consiste en:
  1. Un “modelo de juegos cooperativos”. Este modelo ve al desarrollo de software como una serie de partidos que consisten en inventar y comunicar. Cada partido es diferente y tiene como objetivo entregar software y prepararse para el siguiente juego. Esto permite al equipo trabajar concentrado y en forma efectiva con un objetivo claro cada vez.


  1. Principios
  • Eficiencia en el desarrollo para que los proyectos sean rentables.
  • Seguridad en lo que se entrega.
  • Habitabilidad.
  1. Propiedades.




Obligatorias
  • Frecuencia en las entregas: entregar al usuario funcionalidad "usable" con una frecuencia de entre 2 semanas y no más de un mes.
  • Comunicación entre las distintas partes.
  • Crecimiento reflexivo: es necesario que el equipo lleve a cabo reuniones periódicas de reflexión, para aumentar la eficiencia.No obligatorias
  • Seguridad personal: lograr que cada miembro del equipo pueda sentirse cómodo en el entorno de trabajo.
  • Concentración: hacer entregas frecuentes ya que evitan las dispersiones.
  • Fácil acceso a usuarios clave: tratar de hacer que el usuario sea una parte más del equipo es fundamental para ir depurando errores de manera temprana.
  • Entorno técnico con: i - Testing automatizado (incorporación, por ejemplo, de UnitTest) - ii. Integración frecuente (uso de herramientas específicas como Cruise Control).
  1. Principios
  • El grado de detalle necesario en documentar requerimientos, diseño, planeamiento, etc.
  • Es imposible eliminar toda documentación pero puede ser reducida logrando un modo de comunicación más accesible, informal y preciso que pueda ser accedido por todos los miembros del equipo.
  • El equipo ajusta su forma de trabajo para lograr que cada personalidad encaje con los otros miembros, con el entorno y las particularidades de cada asignación.
  1. Estrategias




Tres de las estrategias que están más relacionadas son las de apuntar a tener "Victorias Tempranas", arrancar el desarrollo de lo que se denomina un "Esqueleto que Camine" y pensar siempre en hacer "Rearquitectura Incremental" van de la mano.
El poder arrancar el proceso a partir de un esqueleto sobre el cual se irá agregando funcionalidad en cada una de las entregas ayuda a que se vean los avances desde el comienzo. A medida que se avanza en el proceso, la re arquitectura permitirá ir agregando más "cuerpo" al esqueleto inicial.
Todas describen una forma de tomar ventaja del desarrollo incremental para establecer valor desde el principio.
6. TécnicasIgual que con las estrategias, hay una lista de técnicas propuestas por Crystal Clear, de las cuales se pueden ir tomando las más convenientes según el momento en que se encuentra el proceso de desarrollo del proyecto.

Las
reuniones diarias del equipo siguiendo la metodología Scrum, discutiendo y poniendo en común todo lo hecho y definiendo los próximos objetivos.

Las
reuniones de reflexión periódicas son fundamentales para que los miembros del equipo se expresen abiertamente, para revisar el trabajo hecho y evaluar qué cosas dan resultado y cuáles no.

Ventajas y desventajas de Crystal Clear
Ventajas
  • Son apropiadas para entornos ligeros
  • Al estar diseñada para el cambio experimenta reducción de costo.
  • Presenta una planificación más transparente para los clientes.
  • Se definen en cada iteración cuales son los objetivos de la siguiente.
  • Permite tener una muy útil realimentación de los usuarios.


Desventajas
  • Delimita el alcance del proyecto con el cliente.


========================
Bibliografia
http://blog.tercerplaneta.com/2007/02/ms-all-de-las-capacidades-tcnicas-que.html
http://es.scribd.com/doc/37559917/Crystal-Clear
http://www.drivetoweb.com/?p=110
http://seccperu.org/files/Metodologias%20Agiles.pdf





Agile Unified Process



Introducción

Agile Unified Process (AUP) es una versión simplificada de otro proceso de desarrollo de software, el Rational Unified Process (RUP). Describe un método fácil de entender para el desarrollo de software de aplicaciones empresariales conservando la estructura del RUP. En el AUP se aplican técnicas ágiles como Agile modeling [1] o Test Driven Development [2] entre otras.

Fases

Las fases del AUP conservan la estructura del RUP, finalizando cada una con un hito. Las fases del AUP son las siguientes:

  1. Inicio. En esta fase se identifica el alcance que va a tener el proyecto en un principio asi como la arquitectura inicial del sistema y la obtención de un presupuesto del proyecto junto con la aprobación de los involucrados (inversores). Finaliza con el hito Objetivos de Ciclo de Vida (LCO).
  2. Elaboración. Esta fase está destinada a la probación de la arquitectura seleccionada en la fase anterior. Finaliza con el hito Arquitectura del Ciclo de Vida (LCA).
  3. Construcción. La finalidad de esta fase es contruir un software funcional que cumpla con las prioridades más importantes para los involucrados o usuarios del proyecto. Finaliza con el hito Capacidad Operacional Inicial (IOC).
  4. Transición. En esta fase se valida se desplega el sistema a los usuarios finales. Finaliza con el hito Liberación del Producto (PR).


En la imágen siguiente extraida de http://www.ambysoft.com/ se ve de un modo más claro el desarrollo de las fases así como los hitos obtenidos tras cada una de ellas.

Disciplinas

El AUP tiene menos disciplinas que el RUP, lo cual ya de un principio hace que sea más rápido obtener un producto con un valor. Las disciplinas del AUP son las siguientes:

  1. Modelado. Esta disciplina trata de organizar el orden del proyecto e identificar el mayor problema que puede surgir, identificando también una solución a este problema.
  2. Implementación. Se transforma el modelo realizado en la disciplina anterior en un código ejecutable y se realizan las pruebas unitarias [3] para comprobar que al menos cada bloque del programa funciona como debe por separado.
  3. Prueba. Se llevan a cabo pruebas de calidad sobre el producto desde un punto de vista objetivo. La finalidad de esta disciplina es encontrar defectos, comprobar que el sistema funcione como debe y verificar que cumple los requisitos establecidos.
  4. Despliegue. Se planifica la entrega del proyecto ya finalizado con un valor de mercado y se lleva a cabo el plan de distribución de este al usuario final.
  5. Gestión de la configuración. Se encarga de administrar el acceso a los productos del proyecto, llevando un control de las versiones y de los cambios que hayan en cada versión.
  6. Gestión del proyecto. La función de esta disciplina es dirigir las actividades llevadas a cabo en el proyecto (gestión de riesgos, asignación de tareas, seguimiento de los procesos) además asegurarse de que se entregue a tiempo y no se pase del presupuesto.
  7. Entorno. Esta disciplina se encarga de que el equipo disponga de todo lo necesario (el proceso adecuado, las normas y directrices y las herramientas tanto hardware como software) en el momento adecuado.

Como podemos comprobar, se han eliminado las disciplinas de requisitos, analisis y diseño con respecto al RUP.

Esta otra imagen muestra como se van desarrollando las disciplinas a lo largo de las fases.


La imagen a sido extraída de esta web.

Hitos

Como hemos visto anteriormente, en AUP disponemos de 4 hitos. Cada uno de ellos se consigue al cumplir unos objetivos. Es recomendable tener a alguien que revise los hitos alcanzados para comprobar que realmente se han conseguido los objetivos de dichos hitos.
Los hitos son los siguientes:

  • Objetivos del ciclo de vida (LCO)
  • Arquitectura del Ciclo de Vida (LCA)
  • Capacidad Operacional Inicial (IOC)
  • Liberación del Producto (PR)




Objetivos del ciclo de vida

Este hito corresponde con la fase de inicio. Para conseguirlo es necesario cumplir los siguientes requisitos:

  • Acuerdo del alcance. Se ha llegado a un acuerdo sobre el alcance del proyecto.
  • Definición inicial de requisitos. Se han capturado la gran parte de los requisitos y hay un entendimiento común de estos.
  • Acuerdo del plan. Se ha llegado a un acuerdo sobre el coste inicial y la estimación sobre el tiempo que conllevará el desarrollo del proyecto.
  • Aceptación del riesgo. Se ha identificado los mayores problemas que pueden surgir a la hora de llevar a cabo el proyecto y se ha encontrado una solución a estos.
  • Aceptación del proceso. La metodologia (AUP) ha sido aceptada y adoptada por todas las partes.
  • Viabilidad. El proceso es viable a la hora de llevarse a cabo tanto en su perspectiva técnica como en la operacional y la de negocio.
  • Plan del proyecto. Se han elaborado planes para la siguiente fase (Elaboración).
  • Cumplimiento del Portafolio. Se ha comprobado que el proyecto encaja bien en su organización general del portafolio de proyectos.



Arquitectura del ciclo de vida

Este hito corresponde con la fase de elaboración. Debe de estar de acuerdo con:

  • Estabilidad de la vision. Se ha estabilizado la visión del proyecto y se ha comprobado que es realista.
  • Estabilidad de la arquitectura. Se ha prototipado apropiadamente la arquitectura y ésta es estable y suficiente para satisfacer los requerimiento establecidos.
  • Aceptación del riesgo. Se ha evaluado el riesgo del proyecto y se ha entendido y documentado adecuadamente, desarrollando estrategias para manejarlo como aceptable.
  • Viabilidad. El proyecto sigue teniendo sentido tanto desde la perspectiva técnica como operaciónal y de negocio.
  • Plan del proyecto. Se ha elaborado un plan detallado de la iteración para las proximas iteraciones de la etapa de construcción.
  • Cumplimiento de la organización. Se ha comprobado que la arquitectura del sistema refleja las realidades de la arquitectura de la empresa.




Capacidad operacional inicial

Este es el hito correspondiente a la fase de construcción. Los puntos a cumplir son:

  • Estabilidad del sistema. Tanto el software como la documentación de soporte a éste son estables y maduros para que el sistema pase a manos de los usuarios.
  • Involucrados preparados. Los involucrados en el proyecto y el propio negocio están listos para que el sistema sea implementado.
  • Aceptación del riesgo. Se ha evaluado y desarrollado estrategias para que el riesgo sea manejado como aceptable.
  • Aceptación y estimación del costo. Los gastos del desarrollo han sido aceptables y las estimaciones razonables se han calculado para los costes futuros.
  • Plan del proyecto. Se ha elaborado un plan de iteración detallado para las próxima iteraciones de la etapa de transición.
  • Cumplimiento de la organización. El producto elaborado cumple con los estandares apropiados de la organización.



Liberación del producto

Este hito corresponde con la fase de transición. Los involucrados deben estar de acuerdo con:

  • Aceptación de los involucrados del negocio. Los involucrados aceptan el sistema y estan satisfechos con él.
  • Operaciones de aceptación. Las personas se responsabilizan de operar el sistema una vez este esté en producción y están satisfechos con la documentación y los procedimientos relevantes.
  • Aceptación del soporte. Las personas se responsabilizan del soporte del sistema una vez este esté en producción y están satisfechos con los procedimientos y documentación relevantes.
  • Aceptación del costo estimado. Los gastos actuales han sido aceptados y las estimaciones realizadas han sido hechas para los costos futuros de producción.



Roles

Antes de hablar de los roles es importante entender los siguientes puntos:

  1. Las funciones pueden realizarse por varias personas.
  2. Una sola persona puede asumir múltiples roles.
  3. Un papel no es una posición.
  4. Es importante tener un conocimiento general del proceso de software en general y una buena comprensión del dominio en el que usted trabaja.


Una vez asumidos los puntos expuestos anteriormente vamos a ver algunos de los roles de un AUP en esta tabla extraida de la web ambysoft [5].


Papel

Descripción

Disciplina (s)

Agile DBA

Un administrador de base de datos (DBA), que trabaja en colaboración con los miembros del equipo del proyecto para diseñar, probar, desarrollar y apoyar el esquema de la aplicación de datos (s).

Ejecución

Agile Modeler

Alguien que crea y desarrolla modelos, ya sean dibujos, fichas, o complejos archivos de herramientas CASE, de una manera evolutiva y de colaboración.Modelos ágiles son apenas lo suficientemente bueno .

Modelo

Ejecución

Nadie

Cualquier persona en cualquier otro rol.

Gestión de la Configuración

Gestión de Proyectos

Configuration Manager

Un gestor de configuración es responsable de proporcionar la infraestructura general de CM y el medio ambiente al equipo de desarrollo.

Gestión de la Configuración

Activación

Un implementador es responsable de implementar el sistema en pre-producción y entornos de producción.

Despliegue

Promotor

Un proceso de desarrollo, escribe, las pruebas, y construye el software.







Modelo

Ejecución

Despliegue

Ingeniero de Procesos

Desarrolla, adapta y apoya a sus organizaciones los materiales de proceso de software (descripciones de procesos, plantillas, orientación, ejemplos, ...).

Medio ambiente

Gerente de Proyectos

Gestiona los miembros del equipo, protege a los miembros del equipo, se construyen las relaciones con las partes interesadas, coordina las interacciones con las partes interesadas, planes, administra y asigna los recursos, formas de prioridades, y mantiene el equipo se concentró.

Modelo

Prueba

Despliegue

Gestión de Proyectos

Crítico

Evalúa los productos de trabajo del proyecto, a menudo "obras en curso", proporcionando información al equipo.

Prueba

Las partes interesadas

A los interesados ​​del proyecto es aquel que es un usuario directo, usuario indirecto, director de los usuarios, gerente senior de operaciones de los miembros del personal, apoyo (help desk) miembro del personal, los desarrolladores que trabajan en otros sistemas que se integran o interactuar con la fase de desarrollo o mantenimiento profesionales que puedan resultar afectados por el desarrollo y / o el despliegue de un proyecto de software.

Modelo

Ejecución

Prueba

Despliegue

Gestión de Proyectos

Escritor Técnico

Los escritores técnicos son responsables de producir la documentación los interesados, tales como materiales de capacitación , la documentación de las operaciones , la documentación de soporte y documentación para el usuario .

Despliegue

Test Manager

Los administradores de los exámenes responsable del éxito de los esfuerzos de las pruebas, incluida la planificación, gestión y promoción de las actividades de ensayo y de calidad.

Prueba

Tester

Los probadores son responsables de escribir, conducir y registro de los resultados de los esfuerzos de prueba.

Prueba

Herramienta de Especialista

Herramientas de especialistas son los responsables de la selección, adquisición, configuración y herramientas de apoyo.

Medio ambiente




Entregables

En la AUP se distingue entre:

  • Entregable. Es un producto que es absolutamente necesario producir como un sistema de trabajo permanente.
  • Otros productos de trabajo del proyecto. Son descartables porque no se les quiere dar un mantenimiento en el tiempo.
  • Productos de la empresa de trabajo. Son aquellos productos que la empresa que lleva a cabo el proyecto ya tiene desarrollados y los mantiene en su departamento de las TI, compartiendolos en diversos proyectos.


A continuación vamos a ver algunos consejos para mantener un modo ágil de trabajo.

  1. Mantener los productos de trabajo de la forma más simple posible.
  2. No crear documentación excesiva y de la que se puede prescindir.
  3. Trabajar de manera cercana con los clientes para evitar perder tiempo en tareas que no se necesitan.
  4. Comunica la información cara a cara en lugar de por documentos.


Podemos encontrar más consejos y una tabla que describe los entregables mínimos para un sistema ágil en el este enlace [5].

Referencias


[3] - Universidad Nacional de Costa Rica.
[4] - Wikipedia (AUP)
[5] - Ambisoft








MEMORIA DE LA PRÁCTICA REALIZADA:

- DSDM ---> Álvaro Sáez Montalvo

- Crystal Clear ---> Andrés Álvarez Hidalgo

- AUP ---> Gerardo Rico Botella