PROCESOS DE INGENIERIA DEL SW

Preview:

DESCRIPTION

describe los proceso, modelos y métodos principales que se sigue durante el ciclo de vida del software

Citation preview

Mayra Montalván

Raquel Solano

CONTENIDOCONTENIDO

PROCESOSWPersonal

Herramientas y Metodologías.

Métodos y Procedimientosque definen la relaciones

entre las Tareas.

BA D

C

Que hacer?Como hacerlo?

Qué va a utilizar para hacerlo??Quien lo va a

hacer??

PROCESOS DE INGENIERIA DEL PROCESOS DE INGENIERIA DEL SOFTWARESOFTWARE

INTRODUCCIÓNINTRODUCCIÓN

El proceso de ingeniería del software puede ser visto desde dos enfoques: El primero: ciclo de vida del software,

procesos durante la adquisición, desarrollo, mantenimiento y cierre.

El segundo con definición, implementación, evaluación, manejo, cambio y mejora del ciclo de vida del software

El objetivo del manejo del proceso de vida de software es implementar nuevos o mejores procesos en practicas actuales

¿Que es el proceso de ¿Que es el proceso de Ingeniería del Software?Ingeniería del Software? Según Piatini [9] El proceso de

ingeniería de software es un conjunto coherente de: políticas, estructuras organizacionales, tecnologías, procedimientos y artefactos, Son necesarios para: concebir, desarrollar, instalar y mantener un producto

software.

PROCESO DE PROCESO DE IMPLEMENTACIÓN Y CAMBIOIMPLEMENTACIÓN Y CAMBIO Se refiere al cambio organizacional Describe infraestructura, modelos y

actividades Los procesos son desarrollados por

primera vez Proceso actual cambiado

Proceso de InfraestructuraProceso de Infraestructura

Infraestructura apropiada para el ciclo de vida del software.

Existen 2 tipos de infraestructura: Grupo de Proceso de Ingeniería del

Software(SEPG).- Enfoque central del proceso de ingeniería del software

Experiencia de Fabrica(EF).- Tiene que ver con mejora en el proceso de IS, intención del aprendizaje colectivo de una organización por el desarrollo, entregar a la organización paquetes de experiencia

Proceso del ciclo de manejo Proceso del ciclo de manejo del softwaredel software

Cuatro actividades secuenciales

Establecer el proceso de infraestructura Planificación Proceso de implementación y cambio Proceso de evaluación

Modelos para procesos de Modelos para procesos de implementación y cambioimplementación y cambio

Existen dos modelos:

Mejoramiento de la Calidad del paradigma (QIP) “Quality Improvement Paradigm"

Fig. 3: Modelo IDEAL [7]

Fig. 2: Modelo QIP [8]

Modelo IDEAL

DEFINICIÓN DE PROCESOSDEFINICIÓN DE PROCESOS

Procedimiento, política o estándar.

Razones del ciclo de vida del software: Incremento de calidad del producto, Facilidad de entendimiento humano y

comunicación, Mejora en los procesos de soporte, Procesos automatizados, Soporte en la gestión de procesos,

Modelos del ciclo de vida del Modelos del ciclo de vida del software…software…

Modelo Cascada

Sirven como definición de alto nivel de las fases que se producen durante el desarrollo:

Prototipado

Fig 4. Modelo en Cascada [1]

Fig 5. Modelo Prototipado [1]

Modelos del ciclo de vida del Modelos del ciclo de vida del software…software…

Incremental

En espiral

Fig 6. Modelo Incremental [1]

Fig 7. Modelo en Espiral [1]

Modelos del ciclo de vida del Modelos del ciclo de vida del software…software…

Modelo de software reutilizable

Síntesis Automática

Fig 8. Modelo de Reutilización [1]

Fig 9. Modelo Síntesis Automática [1]

Procesos del ciclo de vida Procesos del ciclo de vida del software…del software…

El estándar IEEE provee procesos del ciclo de vida del software. El estándar IEEE 1074 puede ser usado

para construir procesos de acuerdo a cualquier modelo del ciclo de vida.

Estándares que se enfocan en procesos de mantenimiento son: IEEE 1219-1998 y ISO 14764: 1998. ISO/IEC 90003 interpreta los

requerimientos anteriores para organizaciones de desarrollo de software

… … Procesos del ciclo de vida Procesos del ciclo de vida del softwaredel software

Otros estándares que proveen definiciones de procesos:

IEEE Std 1540: Manejo de Riesgos del SW IEEE Std 1517: Procesos de rehúso del

software ISO/IEC 15939: Define el proceso de

medición, identifica actividades y tareas. ISO 9001: Provee requerimientos para el

manejo de calidad

Notaciones para definiciones Notaciones para definiciones de procesosde procesos

Varios elementos de un proceso pueden ser definidos por ejemplo: actividades, productos y recursos.

La ingeniería del software debería enfocarse en: Diagramas de flujo de datos, lista de procesos descompuestos en actividades y tareas definidas en lenguaje natural

Adaptación de procesosAdaptación de procesos

Es importante notar que los procesos y estándares deberían ser adaptables a necesidades como: contexto organizacional, tamaño del proyecto, requerimientos regulatorios, practicas industriales y culturas corporativas. Los estándares como IEEE/EIA 12207,

contiene mecanismos y recomendaciones para lograr la adaptación

EVALUACIÓN DEL PROCESO EVALUACIÓN DEL PROCESO

La evaluación del proceso se lleva mediante modelos y métodos de evaluación.

Analiza y evalúa el proceso con el propósito general de buscar debilidades y problemas referentes a la inefectividad o ineficiencia

Sirve para lograr las metas del proceso establecidas.

Los resultados obtenidos de la evaluación facilitan el rediseño del proceso

Modelos de Evaluación del Modelos de Evaluación del Proceso …Proceso …

Estos modelos de evaluación, pertenecen a técnicas de actividades de ingeniería del software, por ejemplo: gestión, ingeniería de sistemas y gestión de recursos humanos.

Los modelos de evaluación son: Sw-CMM CMMi Bootstrap

… … Modelos de Evaluación del Modelos de Evaluación del Proceso Proceso Han sido diseñados para diseño,

documentación y métodos formales. Arquitecturas para el modelo de

evaluación: continúa y en escena, son diferentes y deberían ser aplicadas considerando las necesidades y objetivos de la organización.

Métodos de evaluación del Métodos de evaluación del procesoproceso Un método de evaluación necesita ser

seguido para reducir una puntuación cuantitativa que caracteriza la capacidad del proceso.

Los métodos son: CBA-IPI [4]: Se centra en la mejora de

proceso. SCE [5]: Se centra en evaluar la

capacidad de los proveedores. SCAMPI [6]: Gira en torno a las

valororaciones CMMI.

MEDIDAS DE PROCESOS Y MEDIDAS DE PROCESOS Y PRODUCTOSPRODUCTOS

La aplicación de estos procesos puede ser complejo sobre todo en métodos de modelado y análisis.

El logro de mejoras de proceso y producto pueden ser evaluados si un conjunto de medidas de referencia han sido establecidas.

Los métodos de medida y medición han sido definidas en ISI/IEC 15939 en base a la ISO internacional, provee procesos de estándares para medición de características de proceso y producto.

Qué se puede Medir? El proceso del software. Calidad del producto.

Los esfuerzos para mejorar el logro de procesos y productos sólo pueden valorarse si se han establecido un conjunto de medidas base.

La ISO/IEC 15939 basados en el vocabulario ISO internacional de metrología.

Medición del Proceso y Medición del Proceso y ProductoProducto

Medición del Proceso Medición del Proceso [ISO 15539-02]

Identificar las fuerzas y las debilidades de los procesos.Evaluar los procesos después de que hayan sido implementados y/o cambiados. Gestionar un proyecto de ingeniería de software.

Medición del Proceso Medición del Proceso En la mayoría de los proyectos de ingeniería del software, se indica que normalmente el proceso tiene un impacto muy grande en los resultados de un proyecto.

PROCESOPROCESO

CONTEXTOCONTEXTO

RESULTADOS

RESULTADOS

Medición del Proceso Medición del Proceso No todo proceso va a tener un impacto positivo en todas sus salidas.Las principales mediciones del interés son la productividad de los equipos o procesos y sus niveles asociados de experiencia en la ingeniería del software en general.Las salidas del proceso pueden ser:

Calidad del producto o Punto Función. Mantenibilidad. Productividad. Satisfacción del cliente.

Otros factores como la capacidad del equipo y las herramientas que utilizan juegan un importante papel.

[ISO9126-01]

Medición de un Producto Medición de un Producto SoftwareSoftware

Es evaluado por:Medidas de longitud. (directo)Funcionalidad. (indirecto)

El Estándar IEEE Std 13 14143.1 proporciona los principios de medición funcional del software. Con base en este estándar se han declarado, como métodos estándares de recuento, los siguientes:

ISO/IEC 20926:2003 IFPUG 4.1 ISO/IEC 19761:2003 COSMIC-FFP ISO/IEC 20968 ISO/IEC 24570:2004

Medición del TamañoMedición del Tamaño

Problemas de la utilización de LDC:

No existe definición estándar de LDC (p.ej., ¿se consideran LDC los comentarios?). Líneas físicas o lógicas. Contabilización del código reutilizable. Aplicaciones en diferentes lenguajes. Estilos individuales de programación.

Medición del TamañoMedición del Tamaño

Flujo de control Flujo de datos Estructura de datos

Complejidad ciclomática: (complejidad computacional) Sirve para predecir los módulos que son más propensos a errores. Predecir el esfuerzo en mantenimiento. Predecir la reutilización.

Determina el número de casos de prueba para asegurarse que todas las sentencia de un componente han sido ejecutadas al menos una vez.

Medición de la EstructuraMedición de la Estructura

Medición de la EstructuraMedición de la Estructura

La medida de calidad es menos fácil de definir que las anteriores, algunas mediciones de calidad probablemente van a requerir una forma de medición cualitativa más que cuantitativa. ISO 9126: es un estándar internacional para la evaluación del Software, está dividido en cuatro partes:

Modelo de calidad, Métricas externas, Métricas internas y Calidad en las métricas de uso.

Medición de la CalidadMedición de la Calidad

Funcionalidad: Un conjunto de atributos que se relacionan con la existencia de un conjunto de funciones y sus propiedades específicas, implica necesidades de: Idoneidad, Exactitud, Interoperabilidad, Seguridad y Cumplimiento de normas.Fiabilidad: conjunto de atributos relacionados con la capacidad del software de mantener su nivel de prestación bajo condiciones establecidas durante un período de tiempo establecido: Madurez, Recuperabilidad, Tolerancia a fallos y Conformidad de Fiabilidad.

Modelo de la CalidadModelo de la Calidad

Usabilidad: conjuntos de atributos relacionados con el esfuerzo necesitado para el uso, y en la valoración individual de tal uso, por un establecido o implicado conjunto de usuarios: Aprendizaje, Comprensión, Operatividad, Atractividad y Conformidad de Usabilidad.Eficiencia: Conjunto de atributos relacionados con la relación entre el nivel de desempeño del software y la cantidad de recursos necesitados bajo condiciones establecidas. Comportamiento en el tiempo, Comportamiento de recursos, conformidad de Eficiencia.

Modelo de la CalidadModelo de la Calidad

Mantenibilidad: Conjunto de atributos relacionados con la facilidad de extender, modificar o corregir errores en un sistema software: Estabilidad, Facilidad de análisis, Facilidad de cambio, Facilidad de pruebas y Conformidad de facilidad de mantenimiento.

Portabilidad: Conjunto de atributos relacionados con la capacidad de un sistema software para ser transferido desde una plataforma a otra: Capacidad de instalación, Capacidad de reemplazamiento, Adaptabilidad, Co-Existencia y Conformidad de Portabilidad.

Modelo de la CalidadModelo de la Calidad

Métricas internas son aquellas que no dependen de la ejecución del software (medidas estáticas).

Métricas externas son aquellas aplicables al software en ejecución.

Métricas Internas y ExternasMétricas Internas y Externas

La calidad en las métricas de uso están sólo disponibles cuando el producto final es usado en condiciones reales.

IMPORTANTE: Idealmente, la calidad interna determina la calidad externa y esta a su vez la calidad en el uso.

Calidad en las Métricas de UsoCalidad en las Métricas de Uso

Dentro del proceso de Ingeniería del Software los tres factores más importantes son: Personal, Métodos y Procedimientos y Herramientas y Técnicas. El proceso de ingeniería del software esta basado en procesos y modelos a la definición, evaluación y medición del software. Existen modelos y procesos aplicados en las diferentes etapas del proceso de software.La facilidad de entendimiento humano y comunicación, ayuda a llevar una buena definición de los procesos.

ConclusionesConclusiones

REFERENCIASREFERENCIAS

[1]http://personales.unican.es/ruizfr/is1/doc/teo/02/is1-t02-trans.pdf

[2]http://se.sjtu.edu.cn/sites/se/gb/CCSE/Swebok_Ironman_June_23_%202004.pdf

[3] Roger S.Pressman, Ingeniería del Software, Un enfoque practico, Sexta Edición

[4]http://www.geocities.com/SiliconValley/Lab/3629/cbaipi.htm

[5]http://en.wikipedia.org/wiki/Standard_CMMI_Appraisal_Method_for_Process_Improvement

[6]http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.23.5716

[7]https://www.mytconsulting.com/principal/images/12207_5.png

[8]http://www.cs.umd.edu/users/basili/qip/img007.gif

[9]http://www.aemes.org/rpm/descargar.php?volumen=4&numero=2&articulo=1

ReferenciasReferencias

[10] Departamento de Lenguajes y Sistemas Informáticos, Gestión de Proyectos Software Métricas, http://www.lsi.us.es/docencia/get.php?id=2271

[11] ISO/IEC 9126, http://es.wikipedia.org/wiki/ISO_9126