Modulo 3 Modelo de Proceso de Sw

21
MODULO 3 3.1 MODELO DE PROCESO DE SW Un modelo de proceso de software es una descripción simplificada de un proceso del software que presenta una visión de ese proceso. Estos modelos pueden incluir actividades que son parte de los procesos y productos de software y el papel de las personas involucradas en la ingeniería del software. Algunos ejemplos de estos tipos de modelos que se pueden producir son: * Modelo de flujo de trabajo. * Modelo de flujo de datos o de actividad. * Modelo de rollación MODELO DE FLUJO DE DATOS O ACTIVIDAD 1

Transcript of Modulo 3 Modelo de Proceso de Sw

Page 1: Modulo 3 Modelo de Proceso de Sw

MODULO 3

3.1 MODELO DE PROCESO DE SW

Un modelo de proceso de software es una descripción simplificada de un proceso del software que presenta una visión de ese proceso. Estos modelos pueden incluir actividades que son parte de los procesos y productos de software y el papel de las personas involucradas en la ingeniería del software. Algunos ejemplos de estos tipos de modelos que se pueden producir son:

* Modelo de flujo de trabajo.* Modelo de flujo de datos o de actividad.* Modelo de rollación

MODELO DE FLUJO DE DATOS O ACTIVIDADRepresenta el proceso como un conjunto de actividades, cada una de las cuales realiza alguna transformación en los datos. Muestra como la entrada en el proceso, tal como una especificación se transforma en una salida tal como un diseño. Pueden representar transformaciones llevadas a cabo por las personas o por las computadoras.

1

Page 2: Modulo 3 Modelo de Proceso de Sw

2

Page 3: Modulo 3 Modelo de Proceso de Sw

ACTIVIDADES

3.1 Modelos de procesos de softwareUn modelo de proceso de software es una descripción simplificada de un proceso del software que presenta una visión de ese proceso. Estos modelos pueden incluir actividades que son parte de los procesos y productos de software y el papel de las personas involucradas en la ingeniería del software. Algunos ejemplos de estos tipos de modelos que se pueden producir son:

Flujo de datos: Muestra las entradas, salidas y dependencias del proceso de software, además de actividades a realizar.

Flujo de datos o actividad: Representa el proceso como un conjunto de actividades, en las que se realizan transformaciones de los datos.

Rolación: Muestra el rol de cada de las personas involucrada en el desarrollo.

RESUMENUn modelo de proceso de software es una descripción simplificada de un proceso del software que presenta una visión de ese proceso. Estos modelos pueden incluir actividades que son parte de los procesos y productos de software y el papel de las personas involucradas en la ingeniería del software.Para resolver los problemas reales de una industria, un ingeniero del software debe incorporar una estrategia de desarrollo que acompañe al proceso.Los modelos de procesos ayudan al control y a la coordinación de un proyecto de software real.

REFERENCIASMitotecnologico, referencia electrónica revisada, marzo, 10, 2010, en: http://www.mitecnologico.com/Main/ElProcesoDelSoftwareSe recomienda la lectura: Modelos de Procesos de Ciclo de Vida del Software, recuperado el 5 de mayo de 2010, de: http://www.uaa.mx/investigacion/memoria/ponencias/mesa_ieisc/pdf/rodriguez_martinez.pdf

3

Page 4: Modulo 3 Modelo de Proceso de Sw

3.2 MEJORA DE PROCESOSMODELO IDEAL

4

Page 5: Modulo 3 Modelo de Proceso de Sw

MODELO ISO/IEC 15504

ISPI

5

Page 6: Modulo 3 Modelo de Proceso de Sw

ACTIVIDADESACTIVIDAD 1. Realizar el ejercicio interactivo que se incluye en la presentación del tema "Mejora de Procesos".ACTIVIDAD 2. Identifique las características más importantes de ISO/IEC 15504 con el fin comparar con IDEAL e ISPI. Publicar una conclusión de la utilidad de estos modelos en el foro 3.2.1

3.21. MEJORA DE PROCESOSISO / IEC 15504 ISO, nos proporciona un marco de trabajo diseñado exclusivamente para la evaluación de los procesos, permitiéndonos establecer los requisitos mínimos para llevar a cabo una evaluación de forma consistente. Sin embargo cada una de las fases representa varias similitudes con los otros modelos de procesos de software descritos IDEAL e ISPI, teniendo pasos genéricos identificados.Establecer una planeación del proyecto.Evaluar el proceso.Proponer mejora.Implementar mejoras

A diferencia del modelo IDEAL el cual nos proporciona una guía para la implementación al adoptar nuevos métodos, herramientas y procesos de ingeniería de software. Estos dos modelos aunque ambos realizan algunas actividades similares, se pueden complementar con el modelo ISPI el cual dentro de sus fases nos permite compartir recursos necesarios para el éxito en la ejecución del proyecto de mejora, de igual manera que el ISO nos permite evaluar los procesos determinando su estado actual, identificando sus fortalezas y debilidades, en base a esta evaluación generar planes de acción para la mejora a partir del análisis de las evaluaciones. Por lo que podemos decir que estos tres modelos se complementas y se puede hacer uso de cada uno de ellos para llevar a cabo la mejora continua de los procesos de software

RESUMENIDEAL por sus siglas en inglés (Initiating, Diagnosing, Establishing, Acting, y Learning) es un modelo elaborado por SEI que ha surgido debido a la necesidad de las organizacion por tener una guía de implementación al adoptar nuevos métodos, herramientas y procesos de ingeniería de software.La norma ISO/IEC 15504 proporciona un marco de trabajo para la evaluación de los procesos y establece los requisitos mínimos para realizar una evaluación de forma consistente.Los modelos IDEAL e ISO 15504 tienen un conjunto de etapas similares y pueden resumirse según el modelo genérico de ISP.

REFERENCIASLectura recomendada, noviembre, 27, 2009, en: http://www.revista.unam.mx/vol.7/num6/art47/art47-2.htm

Referencia electrónica revisada, noviembre, 27, 2009, en: http://www.procesix.com/v1/ideal_ciclo.pdfReferencia electrónica revisada, noviembre, 27, 2009, en: http://www.iso15504.es/

6

Page 7: Modulo 3 Modelo de Proceso de Sw

3.3 Modelos de mejora de procesos de software en pequeñas empresas y proyectos

SITUACION DE LA MEJORA DE PROCESOS EN PyMESLa industria del software es de suma importancia para todo el mundo y esta formada en mayor medida

por micros, pequeñas y medianas empresas (PyMEs) desarrolladoras de software. Este tipo de empresas tiene problemas de madurez en sus procesos de desarrollo, esto conlleva a falta de competitividad y limitaciones de crecimiento.

La comunidad de Ingeniería del Software desde hace unos años expreso su interés en la mejora de procesos de software (Software Process Improvement -SPI-) en PyMEs. La mayoría de las PyMEs de desarrollo de software se han planteado al posibilidad de obtener una acreditación de organismos como el Software Engineering Institute -SEI- y la International Organization for Standardization -ISO-. El problema es que la acreditación en estos estándares es larga y costosa porque los modelos de éstas organizaciones son aplicables a grandes empresas.

ESTANDARES UTILIZADOS PARA SPY EN PyMESA pesar de que implementar los estándares del SEI e ISO requieren gran inversión en tiempo, dinero y recursos, las PyMEs utilizan estos estándares para continuar con sus esfuerzos de mejora. En la figura 1 se muestran los estándares más utilizados por las PyMEs.

El método de valoración más usado por las PyMEs es el ISO/IEC 15504. Cuando se trata del CMM, las PyMEs tienen como meta lograr el nivel de madurez 2. Es importante resaltar que de las 122 empresas involucradas, solo dos medianas lograron la evaluación formal como CMM-SW nivel 2.

7

Page 8: Modulo 3 Modelo de Proceso de Sw

FACTORES A CONSIDERAR PARA EL ÉXITO DE SPI EN PyMESEs necesario asegurar que la empresa es estable para iniciar con un programa SPI. Llevar a cabo la mejora

mediante la guía de procedimientos concretos combinando diferentes enfoques, así como priorizar los aspectos de mejora.

Gestionar la adquisición de ayuda financiera externa.Minimizar la resistencia al cambio en la mejora de procesos, informando al personal sobre las mejoras que les traerá a ellos y a la empresa.Involucrar a todo el personal en la búsqueda constante de la calidad.Supervisar el programa SPI evaluando siempre su eficiencia.Fomentar un ambiente de comunicación eficiente entre los involucrados.Medir las actividades mediante evaluaciones guiadas por las métricas adaptadas a la organización.Comprometer a los directivos de la empresa en el programa SPI.Llevar a cabo el programa SPI mediante la asesoría de un experto.

ACTIVIDADESACTIVIDAD 1. Realizar el ejercicio interactivo que se incuye en la presentación del tema "Modelos de mejora de procesos de software en pequeñas empresas y proyectos".ACTIVIDAD 2. De acuerdo con lo aprendido en el tema previamente visto, realizar una síntesis y publicarla en el foro 3.3.1 "Modelos de mejora de procesos de software en PyMEs".

331 MODELOS DE MEJORA DE PROCESOS DE SW EN PyMESLa industria del sw hoy en dia ha tomado gran importancia para toda empresa ya sea micro, pequeñas y medianas empresas (Pymes) desarrolladoras de sw, ya que estas tienen problemas de madurez de sus procesos en desarrollo, lo que los lleva a generar malas estrategias competitivas y con ello generan limitaciones en su crecimiento organizacional.

8

Page 9: Modulo 3 Modelo de Proceso de Sw

Por lo que la comunidad de Ingeniería de software se ha dado a la tarea de mejorar los procesos de software en Pymes, con ello poder obtener una acreditación con el software a través de las normas de ISO, sin embargo este proceso es largo y costoso ya que estos modelos son aplicables a grandes empresas.

ESTANDARES UTILIZADOS PARA SPI Y PYMESLas Pymes utilizan estándares tales como SEI e ISO para continuar con sus esfuerzos en cuanto a mejora de procesos de software. El nivel más usado por estas pequeñas empresas es el ISO/IEC 15504 cuando se trata del CMM, por lo que se pretende alcanzar un nivel de madurez de 2.

PROPUESTAS PARA GUIAR SPI EN PYMESAlgunas de las propuestas para guiar spi en pymes son:

guiar electrónica de procesos tales como los ERPs y repositorios de experiencias-eradaptar y utilizar prácticas de rup, xp, scrumpriorizar los esfuerzos de spievaluación de un programa sip (identifican y usan un programa de métrica)guiar los esfuerzos de spiadaptación y utilización de Framework para pruebasConducción de un experimento de spi. Usar gestión de conocimientos para spi. Adquirir infraestructura lista para usar. Mejorar la relación y cooperación con el cliente.

Los enfoques de mejora puedan ser de dos tipo:A nivel organizacional en costo es menor pero las mejoras se ven reflejadas a largo plazoA nivel técnico las mejoras son costosas pero se ven reflejadas a corto plazo

Los procesos mejorados en las Pymes mediante SPI son:Gestión del conocimientoObtención de requisitosEstablecimiento del procesoGestión de cambios de requisitosDocumentaciónGestión de proyecto

FACTORES A CONSIDERAR PARA EL ÉXITO DE SPI EN PYMESEs necesario asegurar que la empresa es estable para iniciar con un programa SIP. Llevar a cabo la mejora

mediante la guía de procedimientos concretos combinando diferentes enfoques, así como priorizar los aspectos de mejora, por otra parte se debe gestionar la adquisicion de ayuda financiera externa, minimizar la resistencia al cambio en la mejora de procesos, e informar al personal sobre las mejoras que les traerá a ellos y a la empresa, e involucrarlos en la búsqueda constante de calidad, supervisar el programa ISP evaluando su eficiencia, medir las actividades mediante evaluaciones guiadas por las métricas adaptadas a la organización, comprometer a los directivos de la empresa en el programa SPI y por ultimo llevar a cabo el programa SPI mediante la asesoría de un experto.

La industria del software es de suma importancia para todo el mundo y esta formada en mayor medida por micros, pequeñas y medianas empresas (PyMEs) desarrolladoras de software. Este tipo de empresas tiene problemas de madurez en sus procesos de desarrollo, esto conlleva a falta de competitividad y limitaciones de crecimiento.

El método de valoración más usado por las PyMEs es el ISO/IEC 15504. Cuando se trata del CMM, las PyMEs tienen como meta lograr el nivel de madurez 2. Es importante resaltar que de las 122 empresas involucradas, solo dos medianas lograron la evaluación formal como CMM-SW nivel 2.Los enfoques de mejora pueden darse de dos maneras:

A nivel organizacional, el costo es menor pero las mejoras se ven reflejadas a largo plazo.A nivel técnico, las mejoras son costosas pero se ven reflejadas a corto plazo

9

Page 10: Modulo 3 Modelo de Proceso de Sw

Factores a considerar para el éxito de SPI en PyMEsEs necesario asegurar que la empresa es estable para iniciar con un programa SPI. Llevar a cabo la mejora

mediante la guía de procedimientos concretos combinando diferentes enfoques, así como priorizar los aspectos de mejora.

RESUMENLa industria del software es de suma importancia para todo el mundo y está formada en mayor medida por micros, pequeñas y medianas empresas (PyMEs) desarrolladoras de software. Este tipo de empresas tiene problemas de madurez en sus procesos de desarrollo, esto conlleva a falta de competitividad y limitaciones de crecimiento.

A pesar de que implementar los estándares del SEI e ISO requiere gran inversión en tiempo, dinero y recursos, las PyMEs utilizan estos estándares para continuar con sus esfuerzos de mejora.

REFERENCIASOktaba, H., et al. (2008). COMPETISOFT Mejora de Procesos de Software para Pequeñas y Mediana Empresas y Proyectos, AlfaOmegaPressman, R. S., Ingeniería de Software un enfoque práctico, McGraw-Hill/ Interamericana de España, S. A., 5ª Edición, 2002.Referencia electrónica revisada, noviembre 30, 2009 en:http://alarcos.inf-cr.uclm.es/Competisoft/Se recomienda la lectura: http://afrodita.unicauca.edu.co/~ecaldon/docs/spi/COMPETISOFT_v02_27-11_2315.pdf

3.4 MEDICION Y METRICAS DE SWLas métricas son parte esencial de la ingeniería, en el caso de los ingenieros de software, las usan para

mediciones de líneas de código, número de clases, número de funciones, número de defectos en un sistema, etcétera.

El IEEE Standard Glossary of Software Engineering Terms define métrica como una medida cuantitativa del grado en que un sistema, componente o proceso posee un atributo dado.

Las revisiones de la calidad del software son caras, consumen tiempo y en algunos casos retrasan la entrega del sistema.

Las mediciones del software son de utilidad para:Hacer predicciones generales acerca del sistema.Identificar componentes anómalos. Por ejemplo podemos medir componentes e identificar los de

complejidad alta, puesto que se supone que en estos pueden ocurrir la mayor cantidad de errores.Una métrica del software es cualquier tipo de medida que se relaciona con el sistema, proceso o

documentos.Para que una compañía pueda utilizar métricas se necesita que sus procesos de software sean lo

suficientemente maduros y además que existan estándares a seguir para las métricas.Las métricas pueden ser de control o predicción. Las métricas de control son aquellas que suelen estar

asociadas con los procesos, mientras que las métricas de predicción lo están a los productos.Cuando se habla de medir la calidad del software, frecuentemente se refiere a aquellos atributos externos

como: la mantenibilidad, la compresión y la usabilidad, pero contamos con la dificultad de que no existe un camino simple para medirlos, por lo que recurrimos a medir los atributos internos, tratando siempre y cuando de que exista una relación entre lo que vamos a medir y lo que en realidad queremos medir (lo que queremos saber).

Para que la medida del atributo externo sea un indicador útil de la característica externa, se deben cumplir las siguientes condiciones:

Se debe medir de forma exacta el atributo interno.Debe existir una relación entre lo que se puede medir y el atributo de comportamiento externo.Esta relación se comprende, ha sido validada y se puede expresar en términos de una fórmula o método.

10

Page 11: Modulo 3 Modelo de Proceso de Sw

11

Page 12: Modulo 3 Modelo de Proceso de Sw

EL PROCESO DE MEDICION

12

Page 13: Modulo 3 Modelo de Proceso de Sw

METRICAS DE PRODUCTO

Las métricas de un producto se refieren a las características de los mismos. Las métricas relacionadas con la calidad del producto se dividen en dos clases:

1.- Métricas dinámicas, las métricas se hacen en un programa en ejecución y ayudan a valorar la eficiencia y fiabilidad de un programa.2.- Métricas estáticas, las métricas se realizan en las etapas de diseño o documentación del sistema, y ayudan a valorar la complejidad, comprensión y mantenibilidad de un sistema de software.

La figura 3 describe varias métricas estáticas utilizadas para mejorar los atributos de calidad. En la figura 4 se observa la propuesta de varias métricas específicas para la programación orientada a objetos.Las métricas mostradas en las figuras 3 y 4 pueden sernos de utilidad en algúna situación, pero si por algún motivo no llegan a serlo, es necesario hacer experimentos con el fin de descubrir las métricas apropiadas a nuestras necesidades.

13

Page 14: Modulo 3 Modelo de Proceso de Sw

ACTIVIDADESACTIVIDAD 1. Realizar el ejercicio interactivo que se incluye en la presentación del tema "Medición y métricas del software"ACTIVIDAD 2. Identificar las principales características de las métricas, así como su función respecto a la calidad del software. Tomar como base el archivo proporcionado en la plataforma de MOODLE y cargarlo en el foro 3.4.1.

341 MEDICION Y METRICAS DE SWIEEE Standard Glossary of Software Engineering Terms define métrica como una medida cuantitativa del grado en que un sistema, componente o proceso posee un atributo dado.

* Las métricas de control son aquellas que suelen estar asociadas con los procesos, mientras que las métricas de predicción lo están a los productos.*Se debe medir de forma exacta el atributo interno.*Debe existir una relación entre lo que se puede medir y el atributo de comportamiento externo..METRICAS DE PRODUCTO

Las métricas relacionadas con la calidad del producto se dividen:

1.- Métricas dinámicas: hacen en un programa en ejecución y ayudan a valorar la eficiencia y fiabilidad de un programa.

14

Page 15: Modulo 3 Modelo de Proceso de Sw

2.- Métricas estáticas: etapas de diseño o documentación del sistema, y ayudan a valorar la complejidad, comprensión y mantenimiento de un sistema de software.

PROCESO DE MEDICION:

*Elegir *Seleccionar *Medir características de los componentes *Identificar anomalías *AnalizarPrincipales características de las métricas.Externas Mantenibilidad, la compresión, eficiencia, fiabilidad y usabilidad, etcInternas. Líneas de código, numero de funciones, numero de clases, numero de módulos, manejo interno de estructuras, de control, legibilidad del código, documentación, nivel de cohesión.Al realizar un conjunto de mediciones tanto cualitativas como cuantitativas, sabemos que tanto hemos alcanzado los estándares de calidad, así como los requerimientos del cliente para satisfacer sus necesidades.

RESUMENLas métricas son parte esencial de la ingeniería, en el caso de los ingenieros de software, las usan para

mediciones de líneas de código, número de clases, número de funciones, número de defectos en un sistema, etcétera.

Las revisiones de la calidad del software son caras, consumen tiempo y en algunos casos retrasan la entrega del sistema.

Las mediciones del software son de utilidad para:Hacer predicciones generales acerca del sistema.

Identificar componentes anómalos. Por ejemplo podemos medir componentes e identificar los de complejidad alta, puesto que se supone que en estos pueden ocurrir la mayor cantidad de errores.

Una métrica del software es cualquier tipo de medida que se relaciona con el sistema, proceso o documentos.Para que una compañía pueda utilizar métricas se necesita que sus procesos de software sean lo suficientemente maduros y además que existan estándares a seguir para las métricas.

Las métricas pueden ser de control o predicción. Las métricas de control son aquellas que suelen estar asociadas con los procesos, mientras que las métricas de predicción lo están a los productos.

Cuando se habla de medir la calidad del software, frecuentemente se refiere a aquellos atributos externos como: la mantenibilidad, la compresión y la usabilidad, pero contamos con la dificultad de que no existe un camino simple para medirlos, por lo que recurrimos a medir los atributos internos, tratando siempre y cuando de que exista una relación entre lo que vamos a medir y lo que en realidad queremos medir (lo que queremos saber).

REFERENCIASMi tecnológico, referencia electrónica revisada, marzo, 10, 2010, en: http://www.mitecnologico.com/Main/ElProcesoDelSoftwareSe recomienda la lectura: Calidad del software, recuperado el 5 de mayo de 2010, de: http://gidis.ing.unlpam.edu.ar/downloads/pdfs/Calidad_software.PDF

15

Page 16: Modulo 3 Modelo de Proceso de Sw

EVALUACION 86%¿Qué es una métrica?

Un modelo a seguir para llevar a cabo un proyecto

Una medida cuantitativa del grado en que un sistema, componente o proceso posee un atributo dado

Una revisión de calidad en el software

¿Cuál es la utilidad de hacer mediciones en el software?

Hacer predicciones generales acerca del sistema e identificar componentes anómalos.

Determinar la calidad del sistema

Predecir las fallas del sistema de software

¿Cuáles son las métricas de control?

Son aquellas que suelen estar asociadas con los productos

Son aquellas que suelen estar asociadas con los procesos

Son aquellas que suelen estar asociadas con los requerimientos

¿Cuáles son las métricas de predicción?

Son aquellas que suelen estar asociadas con los requerimientos

Son aquellas que suelen estar asociadas con los procesos

Son aquellas que suelen estar asociadas con los productos

¿En cuántas clases se dividen las métricas relacionadas con la calidad?

2

3

5

¿Cuál es el estándar de desarrollo de software que se recomienda a las PyMEs usar?

CMM

ISO/IEC 15504

IDEAL

¿Cuál es uno de los factores a considerar para el éxito de SPI en las PyMEs?

Comprometer a los directivos de la empresa en el programa SPY

Medir las actividades mediante evaluaciones guiadas por las métricas adaptadas a la organización

Involucrar a todo el personal en la búsqueda constante de proyectos

16