Está en la página 1de 34

PROCESO DE LA

INGENIERIA DE
SOFTWARE (PIS)

INGENIERÍA DE SOFTWARE II
CONTENIDO
CONTENIDO ................................................................................................................................................... 1
PROCESOS DE LA INGENIERIA DE SOFTWARE ............................................................................................... 4
1. INTRODUCCION ................................................................................................................................. 4
2. OBJETIVOS ......................................................................................................................................... 5
3. CONCEPTOS DE PROCESOS DE INGENIERIA DE SOFTWARE .............................................................. 5
3.1. Proceso de Software ..................................................................................................................... 6
3.2. Ingeniería del Software ................................................................................................................. 6
3.3. Proceso de Ingeniería del Software............................................................................................... 7
Concepción ............................................................................................................................................ 7
Elaboración ............................................................................................................................................ 7
Construcción .......................................................................................................................................... 7
Transición .............................................................................................................................................. 7
3.4. Ciclo de vida del Software ............................................................................................................. 8
4. PROCESOS DE IMPLEMENTACION Y CAMBIOS.................................................................................. 8
4.1. Modelo IDEAL ................................................................................................................................ 8
1. Iniciar ............................................................................................................................................. 9
2. Diagnosticar ................................................................................................................................... 9
3. Establecer ...................................................................................................................................... 9
4. Actuar ............................................................................................................................................ 9
5. Difundir ........................................................................................................................................ 10
4.2. Modelo QIP.................................................................................................................................. 10
5. DEFINICION DE PROCESOS .............................................................................................................. 12
5.1. Modelos del ciclo de Vida del Software ...................................................................................... 12
5.1.1. Cascada .................................................................................................................................... 12
Ventajas ............................................................................................................................................... 13
Desventajas ......................................................................................................................................... 13
5.1.2. Prototipado ............................................................................................................................. 14

1
Función ................................................................................................................................................ 15
Características ..................................................................................................................................... 15
Ventajas ............................................................................................................................................... 15
Desventajas ......................................................................................................................................... 16
5.1.3. Iterativo e Incremental ............................................................................................................ 16
El modelo iterativo .............................................................................................................................. 16
El modelo incremental ........................................................................................................................ 16
Características ..................................................................................................................................... 16
Ventajas ............................................................................................................................................... 17
Desventajas ......................................................................................................................................... 18
5.1.4. En Espiral ................................................................................................................................. 18
Características ..................................................................................................................................... 19
Ventajas ............................................................................................................................................... 19
Desventajas ......................................................................................................................................... 20
5.2. Metodologías de desarrollo de Software .................................................................................... 20
5.2.1. RUP .......................................................................................................................................... 20
5.2.1.1. Ciclo de vida de RUP ............................................................................................................ 21
5.2.1.2. Fase de Inicio ....................................................................................................................... 21
Objetivos ............................................................................................................................................. 21
Resultados de la Fase .......................................................................................................................... 22
5.2.1.3. Fase de Elaboración ............................................................................................................. 22
Objetivos ............................................................................................................................................. 22
Resultados ........................................................................................................................................... 23
5.2.1.4. Fase de Construcción........................................................................................................... 23
Objetivos ............................................................................................................................................. 23
Resultados ........................................................................................................................................... 23
5.2.1.5. Fase de Transición ............................................................................................................... 24
Objetivos ............................................................................................................................................. 24
Resultados ........................................................................................................................................... 25
Criterios de evaluación ........................................................................................................................ 25
2
5.2.2. Modelo Ágil ............................................................................................................................. 25
Objetivo ............................................................................................................................................... 26
Ventajas ............................................................................................................................................... 27
Desventajas ......................................................................................................................................... 28
6. EVALUACION DE PROCESOS ............................................................................................................ 28
6.1. Modelos de Evaluación del proceso ............................................................................................ 28
6.1.1. CMMI ....................................................................................................................................... 28
6.2. Métodos de evaluación del proceso ........................................................................................... 29
6.2.1. CBA-IPI ..................................................................................................................................... 29
6.2.2. CAMPI ...................................................................................................................................... 29
7. MEDIDAS DE PRODUCTOS Y PROCESOS .......................................................................................... 29
Actividades de la ISO/IEC 15939.......................................................................................................... 30
8. BIBLIOGRAFIA .................................................................................................................................. 32

3
PROCESOS DE LA INGENIERIA DE
SOFTWARE
1. INTRODUCCION
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 y el
segundo con definición, implementación, evaluación, manejo, cambio y mejora del ciclo de vida
del software El principal objetivo del manejo del proceso de vida de software es implementar
nuevos o mejores procesos en prácticas actuales y que sean aplicados en el desarrollo de
software, tales modelos como CMMI, IDEAL, QIP, entre otros.

“Cuando puedas medir lo que estás diciendo y expresarlo en números, sabrás algo acerca de eso;
pero cuando no puedes medirlo, cuando no puedes expresarlo en números, tus conocimientos
serán escasos y no satisfactorios”Lord Kelvin

La medición en general tiene tres principales objetivos: entender qué ocurre durante el desarrollo
y el mantenimiento, mejorar nuestros procesos y nuestros productos y controlar lo que ocurre
en nuestros proyectos.

Dentro de la gestión de proyectos de desarrollo de software las métricas juegan un papel


importante para entender, monitorizar, controlar, predecir y probar el desarrollo de software.
Las métricas son medio para asegurar la calidad en los PRODUCTOS / PROCESOS / PROYECTOS
SOFTWARE.

4
2. OBJETIVOS
Los principales objetivos del desarrollo de este trabajo son:

 Comprender los conceptos principales relacionados con el proceso de ingeniería de


software y ciclo de vida del software.

 Conocer los métodos y modelos que se aplican actualmente en la ingeniería del software.

 Conocer los principales ciclos de vida del software.

3. CONCEPTOS DE PROCESOS DE INGENIERIA DE SOFTWARE

5
3.1. Proceso de Software
El proceso de software es un conjunto coherente de: políticas, estructuras organizacionales,
tecnologías, procedimientos y artefactos; que son necesarios para: concebir, desarrollar, instalar
y mantener un producto software.

3.2. Ingeniería del Software


Se puede decir que Ingeniería de software, es la disciplina o área de la informática que ofrece
métodos y técnicas para desarrollar y mantener software de calidad.

Existen algunos conceptos de Ingenierita del Software, a continuación, se lista conceptos de


autores más reconocidos:

6
• Ingeniería de Software es el estudio de los principios y metodologías para el desarrollo y
mantenimiento de sistemas software (Zelkovitz, 1978)

• Ingeniería de software es la aplicación práctica del conocimiento científico al diseño y


construcción de programas de computadora y a la documentación asociada requerida para
desarrollar, operar y mantenerlos. Se conoce también como Desarrollo de Software o Producción
de Software (Bohem, 1976).

• Ingeniería de Software trata del establecimiento de los principios y métodos de la ingeniería a


fin de obtener software de modo rentable, que sea fiable y trabaje en máquinas reales (Bauer,
1972).

• Es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación


y mantenimiento del software; es decir, la aplicación de la ingeniería al software (IEEE, 1993).

3.3. Proceso de Ingeniería del Software


El proceso de ingeniería de software, se define como "un conjunto de etapas parcialmente
ordenadas con la intención de lograr un objetivo, en este caso, la obtención de un producto de
software de calidad" [Jacobson 1998]. A este proceso también se le llama el ciclo de vida del
software que comprende cuatro grandes fases: concepción, elaboración, construcción y transición.

Concepción: Define el alcance del proyecto y desarrolla un caso de negocio.

Elaboración: Define un plan del proyecto, especifica las características y fundamenta la arquitectura.

Construcción: Crea el producto.

Transición: Transfiere el producto a los usuarios.

7
3.4. Ciclo de vida del Software
Un concepto dado por IEEE 1074 [6] es, el ciclo de vida del software es una aproximación lógica a
la adquisición, el suministro, el desarrollo, la explotación y el mantenimiento del software”

Y otro concepto dado por ISO 12207 “Es un marco de referencia que contiene los procesos, las
actividades y las tareas involucradas en el desarrollo, la explotación y el mantenimiento de un
producto de software, abarcando la vida del sistema desde la definición de los requisitos hasta la
finalización de su uso”

4. PROCESOS DE IMPLEMENTACION Y CAMBIOS


A continuación, se trata dos modelos principales para mejoramiento de procesos:

4.1. Modelo IDEAL

8
El modelo IDEAL [4], es un ciclo de mejoramiento de procesos, proporciona un conjunto de
actividades coherentes para sustentar la adopción de las prácticas recomendadas por el CMM,
teniendo variaciones de una entidad a otra dependiendo del tipo de industria de software,
tamaño de organización y modalidades de operación.

Las 5 fases principales que componen el modelo son:

1. Iniciar: Establece los fundamentos básicos para garantizar la iniciativa de mejoramiento


de procesos. Cuyas actividades son:
1.1. Estimulo para iniciar el mejoramiento
1.2. Establecimiento del contexto
1.3. Establecer patrocinio de la gerencia
1.4. Establecer infraestructura para el mejoramiento
1.5. Evaluar y caracterizar el estado actual de las practicas
1.6. Desarrollar recomendaciones y documentar los resultados de la fase
2. Diagnosticar Evalúa mediante un método formal las fortalezas y debilidades del
proceso seguido por los proyectos. Las principales actividades son:
2.1. Evaluar y caracterizar el estado actual de las practicas
2.2. Desarrollar recomendaciones y documentar los resultados de la fase
3. Establecer realiza la planificación especifica de los mejoramientos que desea alcanzar.
Principales actividades:
3.1. Establecer los equipos de acción de procesos
3.2. Elaboración del Plan de Acción
4. Actuar Implementa el mejoramiento de procesos llevando a cabo el plan de acción. Sus
características son:
4.1. Planificar, ejecutar y seguir la instalación
4.2. Planificar y ejecutar proyectos piloto c. Refinar la solución

9
4.3. Implementar la solución
5. Difundir Aprende de la experiencia del ciclo recién realizado y aumenta la habilidad de
la empresa u organización para mejorar los procesos en forma continua.
Sus características son:
5.1. Documentar y analizar las lecciones.
5.2. Revisar el enfoque seguido y proponer acciones futuras.

4.2. Modelo QIP


Otro de los modelos reconocidos es el modelo QIP

El propósito de este modelo es apoyar el proceso de mejora continua y la ingeniería de los


procesos de desarrollo, para ayudar en la tecnología de perfusión.

Una forma de ver el modelo es también verlo como un modelo para la organización de
aprendizaje, donde la organización establece una forma de desarrollar las prácticas a través de la
experimentación con ellos y, a continuación, la captura y el paquete en una forma que pueden
ser reutilizados en otras partes, dentro de ciertos límites.

QIP esta basado en las principales disciplinas del software, por eso es natural, revolucionario y
experimental. El trabajo para desarrollo de software se basa en los humanos y su diseño de
trabajo.

10
Otro de los modelos reconocidos es el modelo QIP [5] El propósito de este modelo es apoyar el
proceso de mejora continua y la ingeniería de los procesos de desarrollo, para ayudar en la
tecnología de perfusión. Una forma de ver el modelo es también verlo como un modelo para la
organización de aprendizaje, donde la organización establece una forma de desarrollar las
prácticas a través de la experimentación con ellos y, a continuación, la captura y el paquete en
una forma que pueden ser reutilizados en otras partes, dentro de ciertos límites.

QIP esta basado en las principales disciplinas del software, por eso es natural, revolucionario y
experimental. El trabajo para desarrollo de software se basa en los humanos y su diseño de
trabajo.

11
5. DEFINICION DE PROCESOS

5.1. Modelos del ciclo de Vida del Software


Existen varios modelos del ciclo de vida del software, sin embargo, los más utilizados son:
Cascada, Prototipado, Incremental y en Espiral

5.1.1. Cascada

Este modelo es conocido también como ciclo de vida lineal o básica. Este modelo admite la
posibilidad de hacer iteraciones. Se define como una secuencia de fases como se muestra en la
Figura, en la que al final de cada una de ellas se reúne la documentación para garantizar que
cumple las especificaciones y los requisitos antes de pasar a la fase siguiente.

Sus principales características son:

 Cada fase empieza cuando se ha terminado la fase anterior

12
 Para pasar de una fase a otra es necesario conseguir todos los objetivos de la etapa previa
 Al final de cada fase el personal técnico y los usuarios tienen la oportunidad de revisar el
progreso del proyecto

Las ventajas y desventajas, de este modelo se describen a continuación:

Ventajas

 Ayuda a prevenir que se sobrepasen las fechas de entrega y los costes esperados
 Bajo riesgo para desarrollos bien comprendidos utilizando tecnología conocida.
 Este modelo es sencillo ya que sigue los pasos intuitivos necesarios a la hora de desarrollar
el software.

Desventajas

 Su inflexibilidad en la división del proyecto en distintas etapas


 Esto hace difícil poder responder a los cambios en los requerimientos del cliente.
 Se tarda mucho tiempo en pasar por todo el ciclo
 El mantenimiento se realiza en el código fuente
 Las revisiones de proyectos de gran complejidad son muy difíciles
 Para obtener resultados se debe llegar a la etapa final del proyecto. Un error importante
no detectado hasta que el programa este funcionando puede ser desastroso.

13
5.1.2. Prototipado

El modelo prototipado, modela el producto final y permite efectuar un test sobre determinados
atributos del mismo sin necesidad de que este disponible.

Se trata, simplemente, de testear haciendo uso del modelo. Esta técnica puede ser utilizada en
cualquier etapa de desarrollo.

A medida que el proceso progresa y el producto se completa, el prototipo ha de abarcar, cada vez
más las características del producto final.

Existen varios tipos como:

14
 Prototipado – Rápido
 Prototipado – Evolutivo
 Prototipado – Operacional
 Prototipado – Reutilizable

Función
Los prototipos, tienen una doble función:

 El cliente ve el producto y refina sus requisitos


 El desarrollador comprende mejor lo que necesita hacer

Características
Sus principales características son:

 Reduce el riesgo de construir productos que no satisfagan las necesidades de los usuario
 Reduce costos y aumenta la probabilidad de éxito
 Exige disponer de las herramientas adecuadas
 No presenta calidad ni robustez
 Suele utilizarse principalmente en dos áreas:
 Prototipado de la interfaz de usuario
 Prototipado del rendimiento

Las ventajas y desventajas, se listan a continuación:

Ventajas
 Es mucho mejor y conveniente usar este modelo porque es el único apto para desarrollos
en los que se utiliza nueva tecnología.
 El prototipado es un medio excelente para recoger la realimentación del usuario final, así
como también es mucho más rápido de desarrollarse.
 El cliente se va familiarizando con el nuevo producto.

15
 Permite proporcionar una funcionalidad útil en manos del cliente sin tener la aplicación
finalizada.

Desventajas
 No hay que usar en casos experimentales ya que no puede funcionar.
 La gestión de desarrollo que es lenta porque da vueltas hasta que el usuario este de
acuerdo, o se pongan limites.
 Imposibilidad de conocer a priori el tiempo de desarrollo
 Es muy difícil y complejo realizarlo

5.1.3. Iterativo e Incremental


Estos modelos disminuyen riesgos y nos ayudan a tener un mejor desarrollo de software ya que
se basan en la retroalimentación por lo que nos ayudan a tener una mejor arquitectura del
software y son muy útiles cuando el usuario tiene más requerimientos.

El modelo iterativo: Este modelo mejora cada versión es decir mejora la función que tiene
la versión.

El modelo incremental: Este modelo mantiene la función anterior y aumenta otra, ya que
puede ser que el primer incremento no hubiera tenido todos los requerimientos que necesitaba
el proyecto.

Características
Sus principales características son:

 Corrige la necesidad de una secuencia no lineal de pasos de desarrollo


 El sistema se crea añadiendo componentes funcionales al sistema incrementos
 El sistema no se ve como una entidad monolítica con una fecha fija de entrega, sino que
es una integración de resultados sucesivos obtenidos después de cada iteración
 Se ajusta a entornos de alta incertidumbre
16
Las ventajas y desventajas de este modelo son:

Ventajas
 Se evitan proyectos largos y se entrega “algo de valor” a los usuarios con cierta
frecuencia.
 El usuario se involucra más.
 Mayor retorno de la inversión.
 Disminuyen riesgos
 Se puede cambiar los requerimientos pues como nos basamos en una versión a esta la
aumentamos o la modificamos.

17
 Reduce costos, si algo sale mal solo volvemos a la antigua versión y comenzamos de
nuevo.
 Al usuario se le entrega parte del producto, es decir una versión con la cual el puede
trabajar.

Desventajas
 Difícil de evaluar el coste total.
 Requiere gestores experimentados.
 Difícil de aplicar a sistemas transaccionales que tienden a ser integrados y a operar como
un todo.
 Los errores en los requisitos se detectan tarde y su corrección resulta costosa
 Necesitan una gran planeación.
 Debido a la interacción con los usuarios finales, cuando sea necesaria la
retroalimentación hacia el grupo de desarrollo, utilizar este modelo de desarrollo puede
llevar a avances extremadamente lentos.
 No es una aplicación ideal para desarrollos en los que de antemano se sabe que serán
grandes en el consumo de recursos y largos en el tiempo.
 Al requerir constantemente la ayuda de los usuarios finales, se agrega un costo extra a
la compañía, pues mientras estos usuarios evalúan el software dejan de ser directamente
productivos para la compañía.

5.1.4. En Espiral
El modelo en Espiral, es un modelo de proceso de software evolutivo que combina la naturaleza iterativa
de construcción de prototipos con los aspectos controlados y sistemáticos del modelo lineal secuencial.

Las actividades de este modelo se conforman en una espiral, en la que cada bucle o iteración representa
un conjunto de actividades.

18
Las actividades no están fijadas a priori, sino que las siguientes se eligen en función del análisis de riesgo,
comenzando por el bucle interior. El software se desarrolla en una serie de versiones incrementales.

 Durante las primeras iteraciones, la versión incremental podría ser un modelo en papel o un
prototipo.
 Durante las últimas iteraciones, se producen versiones cada vez más completas del sistema
diseñado.

Características
Sus principales características son:

 Cada ciclo empieza identificando:


 Los objetivos de la porción correspondiente
 Las alternativas
 Restricciones
 Se evalúan las alternativas respecto a los objetivos y las restricciones.
 Se formula una estrategia efectiva para resolver las fuentes de riesgos (simulación, prototipado,
etc.).
 Se plantea el próximo prototipo.
 Una vez resueltos los riesgos se sigue el ciclo en cascada
 Cada ciclo se completa con una revisión que incluye todo el ciclo anterior y el plan para el
siguiente.

Las ventajas y desventajas de este modelo son:

Ventajas
 No necesita una definición completa de los requisitos para empezar a funcionar.
 Al entregar productos desde el final de la primera iteración es mas fácil validar los
requisitos
 El riesgo en general es menor, porque si todo se hace mal , solo se ha perdido el tiempo
y recursos invertidos en una iteración

19
 El riesgo de sufrir retrasos es menor ya que al identificar los problemas en etapas
tempranas hay tiempo de subsanarlos,
 El análisis del riesgo se hace de forma explícita y clara. Une los mejores elementos de los
restantes modelos.
 Reduce riesgos del proyecto
 Incorpora objetivos de calidad
 Integra el desarrollo con el mantenimiento, etc.

Desventajas
 Es difícil evaluar los riesgos
 Necesita de la participación continua por parte del cliente
 Cuando se subcontrata hay que producir previamente una especificación completa de lo
que se necesita y esto lleva tiempo.
 Genera mucho tiempo en el desarrollo del sistema
 Modelo costoso requiere experiencia en la identificación de riesgos

5.2. Metodologías de desarrollo de Software

5.2.1. RUP
RUP es un proceso para el desarrollo de un proyecto de software que define quien, como, cuando
y que debe hacerse en el proyecto, con 3 características esenciales como: Casos de uso, centrado
n la arquitectura y es iterativo e incremental.

El RUP maneja 6 principios clave:

 Adaptación del proceso.


 Balancear prioridades.
 Colaboración entre equipos.

20
 Demostrar valor iterativamente.
 Elevar el valor de abstracción.
 Enfocarse en la calidad.

5.2.1.1. Ciclo de vida de RUP


El proceso del RUP está dividido en 4 fases, en estas fases se realiza varias iteraciones de acuerdo al
proyecto, gráficamente las 4 fases del RUP, cuyas iteraciones están representadas con líneas verticales y
marcadas con la letra correspondiente a la inicial de la fase, la fase Inicial tiene una sola iteración.

5.2.1.2. Fase de Inicio


En esta fase se define el modelo del negocio y el alcance del proyecto, se identifican los autores
y casos de usos y se diseñan los casos de uso esenciales.

Objetivos
Los objetivos son:
21
 Establecer el ámbito del proyecto y sus limites
 Encontrar los casos de uso críticos del sistema, los escenarios básicos.
 Mostrar una arquitectura para los escenarios principales.
 Estimar el coste en recursos y tiempo en todo el proyecto.
 Estimar los riesgos, las fuentes de incertidumbre.

Resultados de la Fase
Los resultados de la fase son:

 Documento de visión
 Modelo inicial de casos de uso
 Glosario inicial
 Caso de negocio
 Lista de riesgos y plan de contingencia
 Plan del proyecto
 Modelo de negocio

5.2.1.3. Fase de Elaboración


En esta fase se analiza el dominio del problema, establece los cimientos de la arquitectura,
desarrolla el plan del proyecto y elimina los riesgos mayores.

Se construye un prototipo de la arquitectura que evoluciona en iteraciones sucesivas hasta


convertirse en el sistema final.

Objetivos
Los objetivos de esta fase son:

 Definir, validar y cimentar la arquitectura.


 Completar la visión
 Crear un plan para la fase de construcción
22
 Demostrar que la arquitectura propuesta soportara la visión

Resultados
Los resultados son los siguientes:

 Un modelo de casos de uso al menos el 80%


 Requisitos adicionales que capturan los requisitos no funcionales.
 Descripción de la arquitectura software
 Prototipo ejecutable de la arquitectura.
 Lista de riesgos y caso de negocio revisados
 Plan de desarrollo para el proyecto
 Manual de usuario preliminar.

5.2.1.4. Fase de Construcción


En esta fase la finalidad es alcanzar la capacidad operacional del producto de forma incremental
a través de las sucesivas iteraciones, en esta fase todas las componentes, características y
requisitos deben ser implementados, integrados y cambiados en su totalidad.

Objetivos
Los objetivos son:

 Minimizar los costes de desarrollo mediante la optimización de recursos.


 Conseguir calidad adecuada.
 Conseguir versiones funcionales tan rápido como sea práctico.

Resultados
Los resultados de la fase de construcción deben ser:

 Modelos completos(casos de uso, análisis, diseño, despliegue e implementación)


 Arquitectura integra.
 Riesgos presentados mitigados
23
 Plan del proyecto para la fase de transición.
 Manual inicial de usuario.
 Prototipo operacional.
 Caso del negocio actualizado.

5.2.1.5. Fase de Transición


En esta fase se pone el producto en manos de los usuarios finales, para lo que se requiere
desarrollar nuevas versiones actualizadas del producto, completar la documentación, entrenar al
usuario en el manejo del producto y tareas relacionadas con el ajuste, configuración, instalación
y facilidad de uso del producto.

En esta fase también se realiza:

 La prueba de la versión beta para validar al nuevo sistema frente a las expectativas del
usuario.
 Funcionamiento paralelo con los sistemas legados que están siendo sustituidos por el
nuevo proyecto.
 Conversión de las bases de datos operacionales.
 Entrenamiento de los usuarios y técnicos de mantenimiento.
 Traspaso del producto a los equipos de marketing, distribución y venta.

Objetivos
Los objetivos de esta fase son:

 Conseguir que el usuario se valga por si mismo.


 Un producto final que cumpla los requisitos esperados, que funcione y satisfaga
suficientemente al usuario.

24
Resultados
Los resultados son:

 Prototipo operacional
 Documentos legales
 Caso del negocio completo
 Línea base del producto completa y corregida que incluye todos los modelos del sistema
 Descripción de la Arquitectura completa y corregida.
 Las iteraciones de esta fase irán dirigidas normalmente a conseguir una nueva versión.

Criterios de evaluación
Los criterios de evaluación de esta fase son:

 El usuario se encuentra satisfecho.


 Son aceptables los gastos actuales versus los gastos planificados.

5.2.2. Modelo Ágil


El Modelo de Desarrollo Ágil se originó a mediados de los años 1990 y se podría decir que fue
extraído del modelo de desarrollo en cascada, pues éste último era visto como burocrático, lento,
degradante e inconsistente por lo exigente y muy estructurado en sus formas de desarrollo de
software que sin embargo realizaban un trabajo eficiente.

En el año 2001, miembros prominentes de la comunidad de la industria del software se reunieron


en Sonwbird, Utah, y adoptaron el nombre de "Metodologías ágiles".

El modelo de desarrollo ágil es un paradigma de Desarrollo de Software que utiliza procesos ágiles
(pequeñas y frecuentes entregas con ciclos rápidos) enfocados en la gente y resultados, se podría
decir que es:

 Cooperativo, clientes y desarrolladores trabajan constantemente con una comunicación


muy fina y constante,
25
 Sencillo, método fácil de aprender y modificar para el equipo pues la reducción de
documentación se reemplaza por la constante comunicación, y
 Adaptativo, capaz de permitir cambios de último momento.

Objetivo
El objetivo de este modelo es desarrollar software rápidamente, respondiendo a los cambios que
puedan surgir a lo largo del proyecto.

Esta metodología propone que un pequeño grupo de personas (10 como máximo) conformado
de los más experimentados y capaces ingenieros de software, trabajen en el desarrollo de
iteraciones (software desarrollado en una unidad de tiempo) con una duración máxima de hasta
4 semanas y desarrollando una serie de “user stories” (Casos de Uso) que al final cumplan con los
requerimientos establecidos en línea directa por los usuarios finales del sistema .

26
Ventajas
 Métodos de comunicación más eficaces en este tipo de metodologías.
 Es posible identificar y atacar los problemas más críticos y controversiales del proyecto
en las primeras etapas.
 El cliente comenzará a ver su sistema lo más pronto posible y verificar que se están
cubriendo sus requerimientos de forma adecuada.

27
 Entrega de resultados tangibles en etapas tempranas del proyecto.

Desventajas
 Proceso menos controlado y con pocos principios.
 No existe contrato tradicional o al menos es bastante flexible.
 Grupos pequeños, trabajando en el mismo sitio y no distribuidos adecuadamente.
 Menos énfasis en la arquitectura del software, siendo ésta primordial para el éxito del
proyecto de software

6. EVALUACION DE PROCESOS

6.1. Modelos de Evaluación del proceso

6.1.1. CMMI
CMMi intenta proveer una guía para los procesos.

Las áreas específicas relacionadas son:

• Calidad de proceso y producto

• Verificación del proceso

• Validación del proceso

Hubo inicialmente algún debate sobre si la ISO 9001 o CMMi podrían ser usadas por los ingenieros
del software para asegurar la calidad. Este debate fue publicado y como resultado la decisión ha
sido tomada que los dos son complementarios y que teniendo certificación ISO 9001 puede
ayudar grandiosamente en altos niveles de madurez del CMMi.

28
El modelo CMMI es un modelo de calidad del software que clasifica las empresas en niveles de
madurez. Estos niveles sirven para conocer la madurez de los procesos que se realizan para
producir software.

6.2. Métodos de evaluación del proceso


Estos medos fueron desarrollados por el SW-CMM

6.2.1. CBA-IPI
El CBA-IPI, es un método de evaluación basado en CMM sirve para mejorar internamente los
procesos, fue desarrollado por el Softare Engneer Institute de la Universidad Carnegie Mellon.

Es una herramienta de diagnostico que permite a las organizaciones y proyectos el poder


determinar las fortalezas y de sus procesos de desarrollo de software, utiliza el método de
madurez de capacidades para software desarrollado por el SEI

6.2.2. CAMPI
Los métodos SCAMPI son grandes torres de evaluación CMMi. Las actividades ejecutadas durante
una evaluación, la distribución de esfuerzo en estas actividades como la atmosfera durante una
evaluación son diferentes cuando son de mejora para la adjudicación de un contrato.

7. MEDIDAS DE PRODUCTOS Y PROCESOS


La medición de software es una disciplina relativamente joven, consenso general sobre la
definición exacta de los conceptos y terminología que maneja, aunque términos clave de
medición del software y métodos de medición han sido definidos en la ISO/IEC 15939 basados en
el vocabulario ISO internacional de metrología. A pesar de todo, los lectores encontrarán
diferencias terminológicas en la literatura; por ejemplo, el término “métrica” se utiliza a veces en
vez de “medida”. En la Figura1 se muestra el ámbito de ISO/IEC 15939: [10]

29
Actividades de la ISO/IEC 15939
Las actividades de la ISO/IEC 15939 son:

 Establecer y Mantener el Compromiso de Medición que implica tareas como:


 Aceptar los requisitos de medición. o Asignar recursos.
 Planificar el Proceso de Medición que implica tareas como:
 Obtener características de la Organización.
 Identificar las necesidades de la Información.
 Seleccionar las medidas.
 Definir los procedimientos de recolección de datos, análisis e informes.
 Definir los criterios de evaluación de los productos de información y el proceso de
medición.
 Revisar, aprobar y proporcionar recursos para las tareas de medición.
 Adquirir y utilizar tecnologías de apoyo.
30
 Realizar el Proceso de Medición que implica tareas como:
 Integrar los procedimientos, o Recoger los datos,
 Analizar los datos y desarrollar productos de información.
 Comunicar los resultados.
 Evaluar la Medición que implica tareas como:
 Evaluar productos de información y el proceso de medición,
 Identificar las mejoras potenciales.

31
8. BIBLIOGRAFIA
[1] Mario Piattini, Francisco J. Pino y Félix García, “Contribución de los estándares
internacionales a la gestión de procesos software”, Facultad de Ingeniería Electrónica y
Telecomunicaciones, Universidad del Cauca, Colombia
http://www.aemes.org/rpm/descargar.php?volumen=4&nume ro=2&articulo=1

[2] Wikipedia, “Ingeniería de software”,


http://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_softwar e

[3] Zavala R. 2000. Diseño de un Sistema de Información Geográfica sobre internet. Tesis de
Maestría en Ciencias de la Computación. Universidad Autónoma
MetropolitanaAzcapotzalco. México, D.F. En prensa,
http://www.angelfire.com/scifi/jzavalar/apuntes/IngSoftware. html#IngSoft

[4] Luciano Guerrero, Monerreal: Canadá, 1999, “Ciclo de Mejoramiento de Procesos, El


modelo IDEAL,”www.geocities.com/SiliconValley/Lab/3629/IDEA L_ciclo.pdf

[5] “Software process engineering systems: models and industry cases”,


http://herkules.oulu.fi/isbn9514265084/html/x287.html

[6] Francisco Ruiz, Procesos de Ingeniería del Software,


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

[7] IEEE, “IEEE 1074-2006”, http://www.techstreet.com/cgibin/detail?product_id=1277365

[8] IEEE Standard Association, “IEEE Std 1074-1997 IEEE Standard for Developing Software
Life Cycle Processes - Description”,
http://standards.ieee.org/reading/ieee/std_public/description/s e/1074-1997_desc.html

[9] Jin Lyu, Kyle Hancock y Linus Luotsinen, IEEE Standard 1219-1998 Software Maintenance,
http://classes.cecs.ucf.edu/eel6883/berrios/slides/ch%209%2 0-%20art%202%20-
%20IEEE%20Standard%201219- 1998.ppt
32
[10] “Métricas”, disponible en: http://alarcos.infr.uclm.es/doc/Calidad/capitulo09.ppt

[11] “ISO/IEC 9126” disponible en: http://es.wikipedia.org/wiki/ISO/IEC_9126

[12]Fernanda Scalone, Software Quality Management, disponible en:


http://softqm.blogspot.com/2007/01/visingeneral-acerca-de-iso-9126.html

[13]María Del Carmen Sosa Sierra, “Inteligencia artificial en la gestión financiera


empresarial”, http://ciruelo.uninorte.edu.co/pdf/pensamiento_gestion/23/6_
Inteligencia%20artificial.pdf

[14]Carlos J. Alonso González, Departamento de Informática, “Inducción de Reglas


Proposicionales”, http://www.infor.uva.es/~calonso/IAII/Aprendizaje/Induccio
nReglasProposicionales.pdf

33

También podría gustarte