ingenieriadelsoftwarealumnosfgyro.files.wordpress.com…  · Web viewLos modelos de proceso...

24

Click here to load reader

Transcript of ingenieriadelsoftwarealumnosfgyro.files.wordpress.com…  · Web viewLos modelos de proceso...

Page 1: ingenieriadelsoftwarealumnosfgyro.files.wordpress.com…  · Web viewLos modelos de proceso permiten que el líder del proyecto para el desarrollo de aplicaciones de baja y complejidad

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.

Page 2: ingenieriadelsoftwarealumnosfgyro.files.wordpress.com…  · Web viewLos modelos de proceso permiten que el líder del proyecto para el desarrollo de aplicaciones de baja y complejidad

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

Page 3: ingenieriadelsoftwarealumnosfgyro.files.wordpress.com…  · Web viewLos modelos de proceso permiten que el líder del proyecto para el desarrollo de aplicaciones de baja y complejidad

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

Page 4: ingenieriadelsoftwarealumnosfgyro.files.wordpress.com…  · Web viewLos modelos de proceso permiten que el líder del proyecto para el desarrollo de aplicaciones de baja y complejidad

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

Page 5: ingenieriadelsoftwarealumnosfgyro.files.wordpress.com…  · Web viewLos modelos de proceso permiten que el líder del proyecto para el desarrollo de aplicaciones de baja y complejidad

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

Page 6: ingenieriadelsoftwarealumnosfgyro.files.wordpress.com…  · Web viewLos modelos de proceso permiten que el líder del proyecto para el desarrollo de aplicaciones de baja y complejidad

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

Page 7: ingenieriadelsoftwarealumnosfgyro.files.wordpress.com…  · Web viewLos modelos de proceso permiten que el líder del proyecto para el desarrollo de aplicaciones de baja y complejidad

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

Page 8: ingenieriadelsoftwarealumnosfgyro.files.wordpress.com…  · Web viewLos modelos de proceso permiten que el líder del proyecto para el desarrollo de aplicaciones de baja y complejidad

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

Page 9: ingenieriadelsoftwarealumnosfgyro.files.wordpress.com…  · Web viewLos modelos de proceso permiten que el líder del proyecto para el desarrollo de aplicaciones de baja y complejidad

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

Page 10: ingenieriadelsoftwarealumnosfgyro.files.wordpress.com…  · Web viewLos modelos de proceso permiten que el líder del proyecto para el desarrollo de aplicaciones de baja y complejidad

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

Page 11: ingenieriadelsoftwarealumnosfgyro.files.wordpress.com…  · Web viewLos modelos de proceso permiten que el líder del proyecto para el desarrollo de aplicaciones de baja y complejidad

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

Page 12: ingenieriadelsoftwarealumnosfgyro.files.wordpress.com…  · Web viewLos modelos de proceso permiten que el líder del proyecto para el desarrollo de aplicaciones de baja y complejidad

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

Page 13: ingenieriadelsoftwarealumnosfgyro.files.wordpress.com…  · Web viewLos modelos de proceso permiten que el líder del proyecto para el desarrollo de aplicaciones de baja y complejidad

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…*

Page 14: ingenieriadelsoftwarealumnosfgyro.files.wordpress.com…  · Web viewLos modelos de proceso permiten que el líder del proyecto para el desarrollo de aplicaciones de baja y complejidad

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

Page 15: ingenieriadelsoftwarealumnosfgyro.files.wordpress.com…  · Web viewLos modelos de proceso permiten que el líder del proyecto para el desarrollo de aplicaciones de baja y complejidad

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

Page 16: ingenieriadelsoftwarealumnosfgyro.files.wordpress.com…  · Web viewLos modelos de proceso permiten que el líder del proyecto para el desarrollo de aplicaciones de baja y complejidad

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

Page 17: ingenieriadelsoftwarealumnosfgyro.files.wordpress.com…  · Web viewLos modelos de proceso permiten que el líder del proyecto para el desarrollo de aplicaciones de baja y complejidad

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

Page 18: ingenieriadelsoftwarealumnosfgyro.files.wordpress.com…  · Web viewLos modelos de proceso permiten que el líder del proyecto para el desarrollo de aplicaciones de baja y complejidad

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