Click here to load reader
Upload
ngohanh
View
212
Download
0
Embed Size (px)
Citation preview
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD ALEJANDRO DE HUMBOLDT
SECCION: DCN0602IIV1CATEDRA: INGENIARÍA DEL SOFTWARE
EL MÉTODO BLUE WATCH
Autor: Fabián Herrera - CI 13.127.426Claudio García- CI 13.127.426
José Luis Vázquez- CI 13.127.426 Profesor: Luis Piña
Caracas, Febrero de 2016.
INDICE
pp.INTRODUCCION.............................................................................................1EL MÉTODO WATCH......................................................................................3
Variantes del método WATCH.....................................................................5EL MÉTODO BLUE_WATCH..........................................................................7CARACTERÍSTICAS DE BLUE_WATCH........................................................7ESTRUCTURA METODOLÓGICA, ELEMENTOS PRINCIPALES DEL META-MODELO..............................................................................................9
Productos.....................................................................................................9Procesos....................................................................................................10Actores.......................................................................................................11
RELACIONES ENTRE LOS ELEMENTOS PRINCIPALES DEL MODELO. .12Ciclo de Aplicación.....................................................................................12Ciclo de Versión.........................................................................................13Ciclo de Incremento...................................................................................14
BIBLIOGRAFIA..............................................................................................16
ii
INTRODUCCION
Un proyecto de software se puede ser representado como un conjunto
de actividades interrelacionadas, agrupadas en fases y dispuestas de tal
manera que cumplan con un conjunto de características del proyecto. Los
criterios más frecuentes para la selección y agrupación de éstas actividades
son, entre otros, el tipo de software, funcionalidades y recursos necesarios,
las restricciones de tiempo y presupuesto, procedimientos técnicos y de
gestión, habilidades y experiencia del equipo de proyecto. También depende
de las situaciones contextuales particulares que vienen directamente de la
organización y de las condiciones actuales en las que se desenvolverá el
proyecto (tipo de organización y su cultura, su infraestructura tecnológica,
humana y recursos financieros, así como, el tiempo en el mercado) y del
conocimiento del líder de proyecto. En tal sentido la selección, adaptación y
la posterior promulgación de un método de desarrollo nos plantean la
incorporación de escenarios de proyecto distintos lo que se resume como
Variantes del método original.
Hoy en día, hay cientos de métodos, metodologías y frameworks
metodológicos; la mayoría de ellos son sólo una forma diferente de organizar
y detallar el ciclo de vida de desarrollo estándar para conseguir las metas
asociadas a un proyecto de desarrollo de software; hay métodos que son
más específicos y detallados, la mayoría de ellos sólo se pueden aplicar a
algunos tipos de proyectos, algunos otros cubren sólo un conjunto parcial del
ciclo de desarrollo, por lo que difícilmente puede ser adaptado a otros
proyectos similares en las mismas condiciones.
El método WATCH ofrece un conjunto de variantes que proporcionan formas
efectivas de trabajo (es decir, de conocimiento) para distintos tipos de
proyectos de software y de productos. Las variantes método pueden ser
1
adaptadas, ampliadas o mejoradas de acuerdo con la experiencia previa del
equipo, las características específicas de los proyectos y los dominios de
conocimiento, por lo tanto, el principal objetivo de este método es reducir el
conjunto de opciones y el esfuerzo que exigen un proyecto para facilitar el
escenario particular del proyectos de software.
La variante Blue Watch es el método explícitamente equilibrado de la
suite Watch. Está orientada al desarrollo de aplicaciones pequeñas y
medianas empresas de tamaño y producidas por pequeños equipos de
trabajo integrados desde dos (2) hasta diez (10) personas. Es un modelo de
tipo dirigido-orientado, es decir, los modelos producidos en una fase se
transforman en otro modelo mediante el uso de la herramienta CASE
apropiada, y se ha concebido para ser aplicado en proyectos de software
para pequeñas y medianas industrias.
2
EL MÉTODO WATCH
WATCH es un marco metodológico para proyectos de desarrollo de
software lo que se define como un conjunto de métodos de desarrollo de
software invariantes (de una manera general brinda los conceptos esenciales
de desarrollo de software necesarios para la construcción de software de alta
calidad) y, un conjunto de variantes de métodos que son el resultado de las
extensiones y / o especificaciones preparadas para el manejo de las
particularidades de un proyecto. La propuesta suite del método la podemos
definir como una colección de métodos variantes construidos sobre el mismo
grupo de conceptos de desarrollo de software, pero adaptados para
responder a determinadas categorías y dominios de ciertos tipos de
proyectos. Hasta ahora, se han definido un conjunto de seis variantes del
método, cada una de ellos ha asociada un color representativo:
Gray_Watch, White_Watch, Yellow_Watch, Blue_Watch, Cyan_Watch y
Green_Watch.
Un producto de software puede definirse en términos de su exhaustividad, es
decir como parcial; que forma parte del producto intermedio o final. En
consecuencia, para la construcción de una parte del producto (especificado
en un meta-modelo o modelo de producto) es necesario que un actor (considerado como parte de un equipo del meta-modelo o de modelo)
realiza algunos procesos y actividades (también definidas dentro de un de
meta-modelo o modelo) mediante la manipulación de algunos los recursos del proyecto y la aplicación de ciertas técnicas explícitas de campo.
3
El marco WATCH es descrito por de tres representaciones de niveles de
abstracción interrelacionados: el nivel meta-modelado, el nivel de modelado y
el nivel de su promulgación (meta-modelling, modelling y enactment). La
figura 1 muestra los niveles de abstracción y sus relaciones por medio de la
creación de instancias, la adaptación y la ejecución procesos.
Figura 1 – Niveles de Abstracción Meta-modelo Watch – Blue Watch
El nivel meta-modelo representa el conjunto de conceptos básicos
necesarios para el diseño un método de desarrollo de software; es decir, el
conjunto de elementos necesarios del método comunes, pero esenciales
para el desarrollo de productos de software de alta calidad.
4
Procesos de Desarrollo
Actividad
Producto
Meta
Proceso
Recurso
Tarea
Actor
Equipo
ResponsableUsa
Produce
Alcanza
1…*
0…*0…*
0…*
0…*
1…*
1…*
Producto – Proceso – Equipo
Meta-Modelos
Invariantes
(Adaptados)Producto – Proceso
– Equipo Modelos
Escenarios del Proyecto
Producto – Proceso – EquipoModelos
Variantes
Diseño del Método Instanciación
Promulgación del Método Adaptación
Ejecución
Variantes del método WATCH
Una variante del método es una manera alternativa de establecer,
organizar y ejecutar el trabajo de desarrollo, necesaria para alcanzar los
objetivos de un determinado tipo de proyecto de software. El conjunto de
métodos variantes define responden a los más demandas y exigencias del
contexto de la empresa de software. El proceso de definición de variantes del
método se lleva a cabo a través de un proceso de creación de instancias que
se apoya en la utilización de los conocimientos adquiridos en la práctica de
dominio y la experiencia acumulada de anteriores adaptaciones del método
de desarrollo.
En este momento, se ha diseñado un conjunto de seis versiones del
método identificadas por un color representativo (Gray_Watch,
White_Watch, Yellow_Watch, Blue_Watch, Cyan_Watch y Green_Watch);
cada una tiene su propio meta-modelo resultante de las capas de los
productos, procesos y equipos incluyendo meta-modelos adicionales de
ejemplificación, ampliación o especialización1.
La variante Gray_Watch se centra en el desarrollo de alta compleja
aplicaciones empresariales, donde el tamaño del equipo puede variar de 5 a
20 que son organizados en varios grupos de trabajo. La solicitud es un
sofisticado producto de software que le permite distribuir el acceso a los
datos empresariales almacenados en múltiples servidores con numerosos
usuarios, y muchos perfiles diferentes y la información requisitos. Se trata de
múltiples sistemas de negocio a través de varios dominios funcionales /
empresariales y múltiples niveles jerárquicos. Esta es la más completa,
detallada y disciplinada de las versiones de toda la suite Watch.
5
1Las variantes Cyan_Watch para aplicaciones Gráficas y Green_Watch para aplicaciones móviles todavía están por ser liberadas.
La variante White_Watch describe el más pequeño conjunto de
actividades necesarias para desarrollar un proyecto de software de muy baja
dificultad y con un mínimo de técnica documentación. El equipo de desarrollo
prescrito incluye una o dos personas. La idea principal es descargar al
equipo del proyecto del tedioso y lento trabajo de elaboración de software
con un preciso presupuesto. En consecuencia, los miembros del equipo
pueden lidiar mejor con las actividades técnicas de codificación y prueba de
versiones funcionales del producto de software. Esta es la versión más ligera
de la suite método.
La variante Yellow_Watch se basa completamente en Arquitectura
Orientada a Servicios (SOA) como un medio para asegurar la
interoperabilidad entre los procesos de negocio aplicaciones. Se puede
clasificar como un método disciplinado que puede ser utilizado por equipos
de pequeños y medianos tamaños para el desarrollo de aplicaciones de
basados en servicios. Los modelos de proceso permiten que el líder del
proyecto para el desarrollo de aplicaciones de baja y complejidad intermedia
de manera incremental e iterativa. Este es la más reciente versión de la suite,
y está limitada a organizaciones con al menos el segundo nivel de madurez
CMMI con el fin de asegurar un método de adaptación eficaz a las
características de proyectos específicos.
La variante Blue_Watch es el método explícitamente equilibrado de la
suite. Es orientada al desarrollo de aplicaciones para empresas pequeñas y
medianas producido por pequeños equipos integrados desde dos (2) hasta
diez (10) personas. Es un modelo impulsado-orientado por modelos, es decir,
los modelos UML producidos en una fase se transforman en otra fase
mediante el uso de las herramientas CASE apropiadas, y se ha concebido
para ser aplicado en proyectos de software para pequeñas empresas.
6
EL MÉTODO BLUE_WATCH
El método Blue_Watch es un método de desarrollo de software orientado
a aplicaciones web de mediana complejidad y/o tamaño dirigido a grupos de
desarrollo de pequeño tamaño (de dos a diez) y representa una variante
equilibrada del método Watch. El termino equilibrado se introduce ya que
este es un método que busca equilibrar los enfoques de desarrollo agiles y
disciplinados en uno solo, produciendo un mínimo de documentación para
que los recursos de desarrollos puedan enfocarse en labores técnicas de
codificación de aplicaciones y haciendo énfasis en la reutilización de
recursos. Por ser un método variante de Watch está orientado por modelos
(Model Driven Oriented) donde la transformación de los mismos se realiza a
través de las herramientas CASE necesarias optimizando sus resultados
mediante el uso de las practicas agiles y disciplinadas más eficientes.
CARACTERÍSTICAS DE BLUE_WATCH
Incremental Iterativo y controlado por versiones
La aplicación se desarrolla en una o más versiones, donde cada
versión se desarrolla gradualmente en forma incremental; es decir un mismo
proceso de desarrollo se ejecuta repetidas veces hasta lograr el resultado
esperado lo que permite proporcionar un balance entre agilidad y disciplina.
Balanceado
Emplea una combinación de prácticas y procesos ágiles, lo que
permite generas solo un mínimo de documentación; la necesaria para facilitar
el mantenimiento de la aplicación.
7
Completo
Cubre todo el ciclo de desarrollo de una aplicación empresarial e
integra los procesos técnicos del desarrollo de software con los procesos de
soporte y gestión del proyecto.
Fundamentado
Incorpora estándares como el CMMI, SWEBOK, PMBOK, algunos
componentes estándares desarrollados por IEEE.
Flexible
Permite a través de sus elementos conceptuales establecer un marco
metodológico adaptado a las necesidades particulares de cada organización,
haciendo énfasis en los distintos recursos involucrados.
8
ESTRUCTURA METODOLÓGICA, ELEMENTOS PRINCIPALES DEL META-MODELO
Productos
Un meta-modelo de producto representa el conjunto de productos que
pueden ser elaborados durante un proyecto de desarrollo de software. La
liberación versión completa y validada del software es el principal objetivo de
un proyecto de desarrollo. Los diferentes productos intermedios (técnicos de
apoyo o para gestión de proyecto) con sus documentos asociados serán
indispensables para producir la versión final del software.
9
Meta-Modelo
Producto:: Producto
IntermedioMeta-Modelo
Producto:: Producto Técnico
Meta-Modelo
Producto:: Producto Estregado
Meta-Modelo
Producto:: Producto
Meta-Modelo
Producto:: Producto Soporte
Meta-Modelo
Producto:: Aplicación Software
Meta-Modelo
Producto:: Producto
Gestión de Proyectos
Producto
Procesos
El meta-modelo de proceso representa el conjunto de conceptos
básicos para especificar las diferentes formas de trabajar; es decir, para
describir qué hacer para producir una cierta parte del producto y con qué
recursos y técnicas. El meta-modelo de proceso está inspirado en la
metáfora del reloj (Watch), cada proceso incluido en el meta-modelo se
puede descomponer en un grupo de sub-proceso; cada sub-proceso se
descompone de nuevo en un conjunto de actividades interrelacionadas, cada
actividad pueden, a su vez, pueden descomponer en una serie de tareas, de
acuerdo a los requerimientos del proyecto. Esta forma de especificar el
proceso de meta-modelo facilita la selección, adaptación y composición de
un método para satisfacer un determinado escenario de desarrollo.
10
Proceso Desarrollo:: Gestión_Pro
ceso
Proceso Desarrollo:: Soporte_Pro
ceso
Proceso Desarrollo:: SW_Proceso
Proceso
Proceso Desarrollo:: Técnico_Pro
ceso
Actores
El meta-modelo de actor identifica los principales conceptos que
deben ser manejados con el fin de organizar un equipo de proyecto; es decir,
el conjunto de actores (los desarrolladores, usuarios, expertos, consultores, y
etc.) y / o en otros grupos de interés (por ejemplo, clientes y promotores) que
están involucrados en un proyecto de desarrollo de software. Considera las
funciones, sus responsabilidades asociadas (actividades y tareas) y las
estructuras de la organización de los equipos de desarrollo de software.
Una vez una variante del procedimiento está completamente diseñado
a través de su producto, proceso y equipo modelos, que ya está preparado
para ser adaptado a fin de satisfacer las características de un escenario
particular del proyecto de software lo que fundamenta en esencia las
variantes del modelo.
11
Actor
Stakeholder
Responsabili
dadRol
Grupo EquipoDesarrollador
Actor
Cliente /
Usuario
Líder de
Proyecto
Promotor
1…*1…*
1…*
0…1
0…*
0…*
RELACIONES ENTRE LOS ELEMENTOS PRINCIPALES DEL MODELO
El método se basa en iteraciones en tres (3) ciclos principales que
definen la relación ente los procesos y los productos resultantes. Cada uno
se encuentra contenido dentro del otro. A continuación una breve de los
ciclos principales y sus actividades.
Ciclo de Aplicación
Se compone de las siguientes fases realizado de manera iterativa (Como resultado cada versión se produce de uno (1) a tres (3) meses):
1. Modelado de Negocios2. Desarrollo de Requerimientos
12
Diseño Versión
Análisis
Manejo de
Procesos Diseño
VersiónDiseño
Detallado del
Software
Diseño Versión
Codificación e
Integración
Modelado de
Negocios
Diseño Arquitec
tónico
Desarrollo de
Requerimientos
Diseño VersiónPruebas
Diseño VersiónEntrega
Nueva Versión?
Modelo Blue_Watch
3. Diseño Arquitectónico4. Desarrollo de Versiones (iterativamente desde la V1 has Vn)
Esta etapa involucra actividades asociadas a:
Gestión del Proyecto Aseguramiento de la Calidad Gestión de Riesgos Gestión de Configuración Gestión de Requisitos
Ciclo de Versión
Se compone de las siguientes fases realizado de manera iterativa (Como resultado cada incremento se produce de uno (1) a tres (3) meses):
1. Refinamiento de los Requerimientos2. Refinamiento de la Arquitectura3. Diseño detallado de la Versión i
a. Diseño de la Interfaz Gráficab. Diseño de Componentesc. Diseño de Base de Datosd. Definición de Incrementos
4. Desarrollo de Incrementos (iterativamente desde la i1 has in)a. Refinamiento de Requisitos del Incremento jb. Diseño detallado del incremento jc. Diseño de las pruebas del incremento jd. Codificación y pruebas del incremento je. Entrega del Incremento j
5. Integración de Incrementos6. Pruebas de la Versión i7. Entrega de la Versión i
Esta etapa involucra actividades asociadas a:
Planificación y Control de Versión Verificación Validación Gestión de Configuración Gestión de Requisitos
13
Ciclo de Incremento
Se compone de las siguientes fases realizado de manera iterativa:
1. Refinamiento de Requisitos del Incremento j2. Diseño detallado del incremento j3. Diseño de las pruebas del incremento j4. Codificación y pruebas del incremento j5. Entrega del Incremento j
Esta etapa involucra actividades asociadas a:
Planificación de la Iteración Verificación Validación Gestión de Configuración Gestión de Requisitos
14
CONCLUSION
Las organizaciones, sus necesidades y recursos requieren un tratamiento
particular en lo que se refiere a soluciones basadas en software,
independientemente del tipo de organización siempre es necesario analizar
el marco metodológico de desarrollo que mejor se adapte a sus necesidades.
El método Blue_Watch nos facilita a través de su meta-modelo bajo un
enfoque balanceado entre ágiles y disciplinadas un conjunto de elementos
basados en mejores prácticas para establecer una metodología de desarrollo
adaptada a las necesidades de la organización. El mismo es recomendado
para el desarrollo de aplicaciones web con un equipo de trabajo entre dos (2)
a diez (10) personas, adicionalmente nos permite reducir la documentación
sin afectar el mantenimiento de la misma simplificando los procesos técnicos
y gerenciales sin perder sus objetivos.
El marco metodológico Blue_Watch cubre todo el ciclo de desarrollo de
software, desde la definición de la implantación bajo la perspectiva de un
proyecto de software incorporando la incorporación de los elementos
técnicos, así como los procesos de gestión y de apoyo de cualquier proyecto
basado en los principios de ingeniería de software, así como de modelos de
referencia comunes incorporando algunos elementos presentes en mejores
prácticas internacionales como SWEBOK, PMBOK y CMMI entre otros. Es
perfectamente adaptable a enfoques de desarrollo como iterativo incremental
versionado e incluye las labores administrativas de gestión del proyecto;
utilizando la notación UML y UML negocios para documentar
especificaciones del software y para ayudar en transformaciones de
modelos.
15
BIBLIOGRAFIA
Berrios, J. “WATCH: Un conjunto de métodos para facilitar la adaptabilidad
del procesos de desarrollo de software”, Editorial Lases, Medellín, Colombia
2011.
Montilva, J. & Barrios, J., “Un método balanceado adaptable para el desarrollo de software en las pequeñas empresas: La variante Blue Watch”, Editorial Lases, Medellín, Colombia 2011.
Beck, Kevin. “Test-Driven Development by example”, Editorial Pearsons,
Massachusetts, USA 2003.
http://www.profesorenlinea.cl/castellano/normas_upel.htm (Septiembre 2014)
16