Вы находитесь на странице: 1из 10

PARA QUIEN DESEE HACER UN BUEN PROYECTO COMO SE COMPONE UN DESARROLLO DE SOFTWARE?

Gabriel Augusto Lobato Gonzlez Maestra en Redes Universidad Euro hispanoamericana

Abstract The evolution of the software engineering discipline has led to different proposals for improving the results of the construction process. Traditional methodologies emphasizing planning, and agile methodologies emphasizing the adaptability of the process, outline the main proposals in the literature. In parallel, the issue of models for improving development processes plays an important role in finding the appropriate methodology to produce quality software development in any context. Either way, the characteristics of software projects do need to follow specific practices to optimize the results of the developments. Resumen La evolucin de la disciplina de ingeniera de software ha trado consigo propuestas diferentes para mejorar los resultados del proceso de construccin. Las metodologas tradicionales haciendo nfasis en la planeacin, y las metodologas giles haciendo nfasis en la adaptabilidad del proceso, delinean las principales propuestas presentes en la literatura. De manera paralela, el tema de modelos para el mejoramiento de los procesos de desarrollo ocupa un lugar importante en la bsqueda de la metodologa adecuada para producir software de calidad en cualquier contexto de desarrollo. De una u otra forma, las caractersticas de los proyectos de software hacen necesario seguir prcticas especficas para optimizar los resultados de los desarrollos.

Palabras clave mejorar, proyectos, software, modelo, ciclo de vida, proceso, desarrollo, software, tareas, actividad, evolucin, ISO, planeacin, sistema.
Modelos de Desarrollo Introduccin Histricamente han surgido varios enfoques que buscan abordar de manera sistemtica, la planificacin, anlisis, diseo e implementacin de los proyectos de desarrollo de software, sean estos de gran escala y pequeas aplicaciones, software a la medida o productos de software. Cada uno de estos enfoques, tiene su raz en las preconcepciones dominantes de su poca y, sobre todo, en la bsqueda incesante de mejoras a los enfoques precedentes. La construccin de un producto de software involucra varias etapas y actividades y el orden en que stas se realizan, definen el ciclo de vida del software. El proceso seguido para desarrollar, liberar y evolucionar en distintas versiones un producto de software, desde la concepcin de una idea hasta la concrecin de la misma se conoce como el proceso de software. En general, un proceso disciplinado es seguido en forma consistente cuando todos los participantes entienden el valor de hacerlo y existe en la Organizacin la infraestructura necesaria para brindar el soporte requerido para el desarrollo de cualquier producto de software, es decir, se realizan una serie de tareas entre la idea inicial y el producto final. Un modelo de desarrollo establece el orden en el que se harn las cosas en el proyecto, nos provee de requisitos de entrada y salida para cada una de las actividades. Es necesario destacar el ciclo de vida del proyecto y el modelo de desarrollo.

El ciclo de vida del proyecto ayuda a controlar las actividades del proyecto desde el inicio al fin del mismo. La norma IEEE 1040: Entiende por ciclo de vida del Software: Una aproximacin lgica a la adquisicin, el suministro, el desarrollo, la explotacin y mantenimiento del Software. La Norma ISO 12207-1: Entiende por ciclo de vida: un marco de referencia que contiene los procesos las actividades y las tareas involucradas, en el desarrollo, la explotacin y el mantenimiento de un producto de Software., abarcando la vida del sistema desde la definicin de los requisitos hasta la finalizacin de su uso. El modelo de desarrollo nos ayuda a la forma en la que vamos a construir el producto. Ambos se complementan para generar el producto desde el punto de vista tcnico y administrativo. Modelos de Desarrollo... El Modelo de Cascada. Prototipos El Modelo de Espiral. El Modelo de Procesos. Desarrollo Incremental. Etc. En el desarrollo del planteamiento aqu descrito se describen las partes que convergen en el modelo de desarrollo de software en sus diferentes fases y las relaciones entre las actividades, tambin observaremos algunos modelos propuestos para l desarrollo del software pues nos limita el espacio escrito a unos cuantos ya que son variedad: Modelo de Desarrollo Ciclo de vida del software Modelos de desarrollo: cascada, espiral, incremental, etc.

Actividades en el proceso de desarrollo de software Para las normas IEEE 1040 e ISO 12207-1 (ej. 12207 Fig 1) consideran, una actividad como un conjunto de tareas y una tarea como una accin que transforma entrada en salida. Dentro de las actividades podemos decir que: se relacionan segn determinados: modelos se desarrollan aplicando un: mtodo El mtodo se fundamenta en: principios El mtodo puede ser soportado por: herramientas

Fig 1

Para ISO 12207-1 PROCESOS PRINCIPALES PROCESOS DE SOPORTE Adquisicin Documentacin Suministro Gestin de Configur. Desarrollo Asegura.Calidad Explotacin Verificacin Mantenimient Validacin Revisin Conjunta Auditoria Resoluc. Problemas PROCESOS DE LA ORGANIZACIN Gestin Infraestructura Mejora Formacin

Desarrollo por Procesos dentro de la Norma ISO 12207 Resultan tiles a personas que realizan el desarrollo explotacin y mantenimiento del Software. (Compradores, surtidores, el personal de desarrollo, operadores, personal de mantenimiento, etc.) Proceso de Adquisicin: actividades y tareas que el comprador el cliente o usuario realiza para adquirir un sistema. Proceso de Suministro: actividades y tareas que el suministrador realiza. Inicia con decisin de preparar una respuesta a una peticin de un comprador. Proceso de Desarrollo: actividades de anlisis de requisitos, diseo, codificacin, pruebas e instalacin y aceptacin, donde cabe destacar:

El Anlisis de Requisitos: Diseo de Arquitectura del Sistema Anlisis de Requisitos del Software. Especificaciones funcionales y de capacidad Interfaces externas, requisitos de aceptacin, seguridad, Especificaciones de interaccin hombre maquina Requisitos de base de datos. Requisitos de instalacin y aceptacin del software. El Diseo de la Arquitectura Software. El Diseo detallado del Software. La Codificacin y prueba del Software. La Integracin del Software. La Prueba del software La Integracin del Sistema La Prueba del Sistema La Instalacin del Software. El Soporte de Proceso de aceptacin del Software.

tcnicos durante el ciclo de vida del sistema: Identificar definir establecer la lnea de los elementos de configuracin. Controlar modificaciones y versiones. Registrar informacin sobre peticiones de modificacin. Asegurar la complecin, la consistencia y comunicacin de los elementos. Controlar el almacenamiento, la manipulacin y entrega de elementos. Proceso de Aseguramiento de la Calidad: aporta la seguridad que los procesos y producto, cumplen con los requisitos especificados. Proceso de Verificacin: determina si los requisitos de un sistema estn completos y son correctos Proceso de Validacin: sirve para determinar si el sistema final cumple con los requisitos previstos. Proceso de Revisin Conjunta: sirve para evaluar el estado del Software., y sus productos en una actividad del ciclo de vida Proceso de Auditoria: determina los hitos predeterminados, han cumplido los requisitos, planes y contrato. Proceso de Resolucin de Problemas.: analiza y elimina los problemas descubiertos durante el desarrollo, explotacin, mantenimiento u otro proceso.

Proceso de Explotacin: incluye la explotacin del Software., y el soporte a los usuarios. Proceso de Mantenimiento: aparece cuando el Software., necesita de modificaciones en el cdigo o documentacin. Incluye actividades de migracin a un nuevo entorno. Proceso de Soporte: Sirve de apoyo al resto, y se aplica en cualquier punto del ciclo de vida del Software. Y son: Proceso de Documentacin: se registra la informacin producida por un proceso o actividad del ciclo de vida. Proceso de Gestin de la Configuracin: aplica procedimientos administrativos y

Procesos Generales o de Organizacin Estos procesos ayudan a establecer implementar y mejorar la organizacin, hacindola ms eficaz y son:

Proceso de Gestin: contiene tareas genricas para gestionar procesos. Procesos de Infraestructura: establece la infraestructura necesaria para cualquier proceso (software y hardware) Proceso de Mejora: valorar, medir controlar y mejorar los procesos del ciclo de vida Softw. Proceso de Formacin: sirve para mantener al personal formado. Material y plan de formacin.

Los proyectos de desarrollo de software varan muchos unos de otros, entran en juego: Requerimientos Actividades Tecnologas Tareas Usuarios Contexto Habilidades Y la visin a la entrega Final de Un Proyecto o Producto de Satisfaccin contempla: Visin de Contrato: el comprador y proveedor negocian y firman, empleando los procesos de adquisicin y suministro. Visin de Direccin: el comprador, proveedor, desarrollador gestionan sus procesos, para proyecto de software. Visin de Explotacin: el operador explota el software. Visin de Ingeniera: el desarrollador o personal de mantenimiento, lleva ha cabo sus tareas Visin de Soporte: unen grupos, proporciona servicios de apoyo a otros grupos Anlisis de requerimientos Documentos orientados al usuario y tiles para el analista: Comprensibles Precisos Completos Consistentes No ambiguos Fcil de modificar La principal funcin del anlisis de requerimientos es: Identificar el problema Documentar los requerimientos Involucrar a los usuarios y expertos en el dominio de aplicacin (requiere dilogo y comunicacin)

Proceso de Adaptacin Sirve para la adaptacin a la norma ISO 12207-1 con respecto a los proyectos de software. Dado que los procesos se aplican durante el ciclo de vida del software, de diferentes formas es necesario comprender los procesos, las organizaciones y sus relaciones tal como se ve en la sig. Fig2.

Fig 2

PROYECTOS Un proyecto: Tiene un principio y un fin. Debe de tener un objetivo (debe de ser medible). Requiere de un lder y de un equipo. Lo que nos indica que es: Temporal y nico, ya que involucra hacer algo que no se ha hecho antes. Proyectos de Software

Esta actividad puede mantenerse a lo largo del proceso y pueden crearse prototipos. Especificacin Descripcin orientada al desarrollador, es decir refiere en forma precisa el sistema a desarrollar y en este se observan las siguientes consideraciones tcnicas: Puede ser informal, semi-formal o formal La especificacin formal permite verificacin En algunos modelos sustituye al diseo Describe el qu y no el cmo Diseo Descripcin detallada orientada al implementador, constituye un refinamiento del anlisis donde: Se enriquece la descripcin del anlisis incorporando aspectos de la plataforma de Desarrollo Diseo arquitectnico: se desarrolla la arquitectura del sistema Diseo detallado: Se desarrollan los componentes (algoritmos, representacin de datos, etc.) Modelos de desarrollo Un modelo de desarrollo es una representacin abstracta de un proceso de software, cada modelo representa el proceso de desarrollo de software de una manera en particular. A pesar de estar definidos claramente, no representan necesariamente la realidad de cmo se debe desarrollar el software, sino que establece un enfoque comn. Un modelo puede ser modificado y adaptado de acuerdo a las necesidades del software en desarrollo. En forma general podemos clasificar los modelos de desarrollo en 3 grupos: 1. El modelo en cascada. Considera las actividades fundamentales del proceso de especificacin, desarrollo, validacin y evolucin, y los representa como fases separadas del proceso, tales como la

especificacin de requerimientos, el diseo del software, la implementacin, las pruebas, etctera. 2. Desarrollo evolutivo. Este enfoque entrelaza las actividades de especificacin, desarrollo y validacin. Un sistema inicial se desarrolla rpidamente a partir de especificaciones abstractas. ste se refina basndose en las peticiones del cliente para producir un sistema que satisfaga sus necesidades. 3. Ingeniera del software basada en componentes. Este enfoque se basa en la existencia de un nmero significativo de componentes reutilizables. El proceso de desarrollo del sistema se enfoca en integrar estos componentes en el sistema ms que en desarrollarlos desde cero. Aunque existen muchos tipos de modelos de desarrollo, de forma genrica la mayora est clasificada en una de estas 3 categoras, y estos a pesar de ser diferentes a veces son usados de manera simultneamente especialmente en sistemas grandes. Desarrollo Evolutivo El desarrollo evolutivo consta del desarrollo de una versin inicial que luego de exponerse se va refinando de acuerdo de los comentarios o nuevos requerimientos por parte del cliente o del usuario final. Las fases de especificacin, desarrollo y validacin se entrelazan en vez de separarse. Existen dos tipos de desarrollo evolutivo: 1. Desarrollo exploratorio, donde el objetivo del proceso es trabajar con el cliente para explorar sus requerimientos y entregar un sistema final. El desarrollo empieza con las partes del sistema que se comprenden mejor. El sistema evoluciona agregando nuevos atributos propuestos por el cliente.

2. Prototipos desechables, donde el objetivo del proceso de desarrollo evolutivo es comprender los requerimientos del cliente y entonces desarrollar una definicin mejorada de los requerimientos para el sistema. El prototipo se centra en experimentar con los requerimientos del cliente que no se comprenden del todo. Desde el punto de vista de desarrollo de sistema el enfoque evolutivo suele traer ms ventajas en comparacin con un enfoque en cascada ya que el sistema se va ajustando a las necesidades del cliente, a la vez que l mismo entiende mejor sus propios requerimientos. Sin embargo el enfoque evolutivo desde una perspectiva de ingeniera y gestin suele tener dos grandes problemas: 1. El proceso no es visible. Los administradores tienen que hacer entregas regulares para medir el progreso. Si los sistemas se desarrollan rpidamente, no es rentable producir documentos que reflejen cada versin del sistema. 2. A menudo los sistemas tienen una estructura deficiente. Los cambios continuos tienden a corromper la estructura del software. Incorporar cambios en l se convierte cada vez ms en una tarea difcil y costosa. Aunque supone grandes ventajas el desarrollo evolutivo solo es recomendado para sistemas pequeos y medianos. En los sistemas grandes, los constantes cambios en el desarrollo solo dificultan la estabilidad y la integracin de los avances de los distintos grupos de trabajo que puedan existir. La mayora de las empresas que desarrollan grandes sistemas usan un modelo mixto que usa las mayores fortalezas de los enfoques evolutivos y de cascada. Modelo Espiral Es un modelo de desarrollo evolutivo propuesto por Barry Boehm, que utiliza prototipos como apoyo. La forma de

espiral representa una iteracin (repeticin) de procesos que, a medida que se van entregando prototipos y stos son revisados por los clientes o usuarios finales, el tiempo empleado para desarrollar la prxima versin es cada vez mayor. Cada divisin recibe el nombre de regin de tareas. Aunque el modelo espiral representa ventajas por sobre el desarrollo lineal, el clculo de los riesgos puede ser muy complicado y no es tan usado en la realidad. Modelo Espiral WINWIN (gana & gana) Una variante interesante del Modelo Espiral es el Modelo espiral Win-Win. El Modelo Espiral previo (clsico) sugiere la comunicacin con el cliente para fijar los requisitos, en que simplemente se pregunta al cliente qu necesita y l proporciona la informacin para continuar, sin embargo, esta es una situacin que rara vez ocurre. Normalmente el cliente y desarrollador entran en una negociacin, se negocia coste frente a funcionalidad, rendimiento, calidad, etc. Las mejores negociaciones se fuerzan en obtener Victoria & Victoria (Win & Win), es decir que el cliente gane obteniendo el producto que lo satisfaga, y el desarrollador tambin gane consiguiendo presupuesto y fecha de entrega realista. Evidentemente, este modelo requiere fuertes habilidades de negociacin. Modelo de desarrollo concurrente Es un modelo de tipo de red donde todas las personas actan simultneamente o al mismo tiempo. Davis Sitaram ha descrito el modelo de desarrollo concurrente, llamado algunas veces ingeniera concurrente, de la siguiente forma: Los gestores de proyectos que siguen los pasos del estado del proyecto en lo que se refiere a las fases importantes [del ciclo de vida clsico] no tiene ideal del estado de sus proyectos. Estos son ejemplos de un

intento por seguir los pasos extremadamente simples. Tenga en cuenta que aunque un proyecto [grande] este en la fase de codificacin, hay personal de ese proyecto implicado en actividades asociadas generalmente a muchas fases de desarrollo simultneamente. Por ejemplo,...el personal est escribiendo requisitos diseando, codificando, haciendo pruebas y probando la integracin (todo al mismo tiempo). Los modelos de proceso de ingeniera del software de Humphrey y Kellner han mostrado la concurrencia que existe para actividades que ocurren para cualquier fase. El trabajo ms reciente de Kellner utiliza diagramas de estado para representar la relacin concurrente que existe entre actividades asociadas a un acontecimiento especifico, pero falla en capturar la riqueza de la concurrencia que existe en todas las actividades del desarrollo y de gestin del software en mi proyecto...La mayora de los modelos de procesos de desarrollo del software son dirigido por el tiempo; cuanto ms tarde sea, ms atrs se encontrara en el proceso de desarrollo. (Un modelo de proceso concurrente) est dirigido por las necesidades del usuario, las decisiones de la gestin y los resultados de las revisiones.
Modelo Incremental El modelo incremental es una unin de las mejores funcionalidades del modelo de cascada y del modelo de prototipos. A medida que se presenta un prototipo se produce un incremento, que es una iteracin del proceso anterior pero aplicando las

Una organizacin puede contar con uno o ms modelos de desarrollo para ser utilizados dependiendo del tipo de proyecto. El modelo seleccionado tendr influencia en el xito del proyecto y en el tipo de decisiones que se debern hacer. Eleccin del Modelo Hay varios modelos para perfilar el proceso de desarrollo, cada uno de las cuales cuenta con pros y contras. El proyecto debera escoger el ms apropiado para sus necesidades. En ocasiones puede que una combinacin de varios modelos sea apropiado. 4 Cul Seguir? Para seleccionar el modelo a adoptar habr que hacerse una serie de cuestionamientos: Qu tanto el cliente y nosotros conocemos los requerimientos? Qu tan claros estn los requerimientos? Se conoce bien la tecnologa a utilizar? Qu tantos son los riesgos del proyecto? Qu tan bien conocemos la arquitectura? Visibilidad que requiere el proyecto hacia el cliente? Visibilidad que requiere el proyecto hacia la Gerencia? Qu tanta planeacin hacia adelante es requerida? Qu restricciones se tienen? (presupuesto, fechas) Tipos de desarrollo Secuencial Lineal Cascada (clsico) RAD (Desarrollo Rpido de Aplicacin) Evolutivo Incremental Espiral Basado en reutilizacin Basado en transformaciones

experiencias aprendidas del proceso anterior. A diferencia del modelo de prototipos, los prototipos de este modelo estn orientados a ser operacionales en cada incremento y no ser solo una previa de cmo sera el sistema en su versin final. Qu Modelo? Dado que cada proyecto es nico, no existe un modelo que se aplique al 100% a todos los proyectos de una organizacin.

CASCADA Propuesto por Winston Royce en 1970 Conocido como modelo secuencial lineal Encadenamiento secuencial de las actividades Cada etapa produce documentos que son la entrada a la siguiente Para desarrollar una etapa debe concluirse la anterior Popular en la dcam Modificado Permite retroalimentacin y solapamiento entre fases. Es un modelo iterativo y no lineal. Para facilitar la terminacin de metas y tareas, es normal congelar partes del desarrollo despus de cierto punto en la iteracin Ventajas: Planificacin sencilla. Una plantilla estructurada para ingeniera de software. Desventajas: Evolucin de los Requisitos. Resultados al final. Retrasos innecesarios. til en proyectos: Todas las especificaciones claras inicialmente. Producto no novedoso Suponga: Peter y David consultan a un arquitecto para disear una casa. El arquitecto les presenta un documento tcnico de 100 pginas. Como no entienden y para no leer el documento, ellos aceptan el diseo. Un ama de casa compra cortinas por correo. Ella recibe una descripcin escrita del corte y la tela. Modelo de desarrollo Rpido de Aplicacin RAD RAD: Rapid Application Development Modelo secuencial lineal con tiempos cortos de desarrollo Varios equipos participando en el desarrollo Cada equipo maneja una parte del sistema Uso de herramientas de pruebas Automatizadas

En cada etapa de liberacin, los productos parciales son integrados, probados y liberados Desventajas: Para ciclos de desarrollo extremadamente cortos: Requerimientos bien entendidos y alcance de proyecto restringido Se requiere mltiples desarrolladores Compromiso de desarrolladores y clientes para un tiempo de entrega corto No adecuado para sistemas que no puedan ser mantenidos Modelo Evolutivo 1. Entregar al Modelo Incremental Desarrollo paso a paso donde las partes de algunas etapas se posponen. Cada etapa consiste en expandir incrementos de un producto de software operacional Incrementos pueden ser entregados al cliente Cada incremento es diseado, codificado, probado, integrado y entregado por separado Los incrementos se desarrollan uno despus de otro, basados en retroalimentacin recibida del cliente Modelo en espiral Propuesto por Barry Boehm en 1988 Desarrollo en ciclos. En cada ciclo: se define el objetivo, se analizan los riesgos, desarrollo y verificacin de la solucin obtenida, revisin de resultados y planificacin del siguiente ciclo Se centra en algunas mejores prcticas: Manejo de Riesgos Orientacin al Cliente Desarrollo Iterativo Ventajas: Resolucin temprana de riesgos. Definicin de arquitectura en sus fases iniciales.

Basado en un proceso continuo de verificacin de la calidad. Ideal para productos con nivel alto de inestabilidad de los requerimientos Desventajas: No aplicable a proyectos bajo contrato. No recomendable a proyectos simples. Modelo Basado en reutilizacin
El diseo basado en reutilizacin puro busca construir un producto software integrando componentes preexistentes. Los beneficios principales que otorga este modelo son: -Tiempos de desarrollos cortos -Disminucin de errores -Disminucin de costos y riegos ya que se reduce los componentes a desarrollar -Existe un aumento de la confiabilidad ya que los componentes a utilizar ya fueron testeados y utilizados en otro momento previo al comienzo del proyecto A modo de desventaja podemos mencionar el hecho de que al no poseer algn componente que cubra con un requisito dado por el usuario, este debe ser modificado para adaptarlo a los componentes almacenados en el repositorio de componentes. Esto se da en el modelo puro. En cambio en el modelo real si no se puede adaptar un requisito de usuario, se conseguir o se desarrollara ese modulo para que cumpla con lo pedido por el usuario. Otra desventaja de este modelo es que una vez finalizada la etapa de modificacin de requisitos, y ante la eventual necesidad de cambios en estos ltimos, puede pasar que no haya componentes que se adapten a las nuevas modificaciones Fig3.

Modelo Basado en transformaciones Conjunto de tcnicas y herramientas basadas en modelos matemticos y lgica formal que son utilizadas para especificar y verificar los requerimientos y el diseo de sistemas computarizados. Se basa en especificaciones formales Las especificaciones son refinadas hasta alcanzar el programa El mtodo formal se puede usar para verificar el sistema de una manera rigurosa usando tcnicas matemticas Una especificacin formal es una descripcin concisa del comportamiento y propiedades de un sistema escrito en un lenguaje basado en la matemtica. Una prueba formal es un argumento completo y convincente para la validez de una tesis sobre la descripcin de un sistema. Las pruebas formales se pueden realizar manualmente o con la asistencia de una herramienta automtica. Lenguajes de especificacin formal: PCS (Procesos de Comunicacin Secuencial), MDV (Mtodo de Desarrollo Vienna) y la notacin Z. Aplicar Mtodos Formales en las fases de levantamiento de requerimientos y de diseo de alto nivel. Las pruebas formales eliminan ambigedad y subjetividad del anlisis de los requerimientos El uso de especificaciones formales y pruebas formales proveen un anlisis sistemtico y repetible. Pueden ser soportadas por herramientas de computacin. Modelo a seguir Es evidente que el momento de emprender un desarrollo de software, nos hacemos la pregunta Que modelo o metodologa usar? habiendo tantas desde las ms formales hasta las agiles, ahora bien en un anlisis que tal si elegimos un modelo de

Fig3

desarrollo que no se adapte a las exigencias y caractersticas del proyecto, Qu puedo resumir? Contar con un modelo debidamente documentado. (Entradas, salidas, entregables, aprobaciones), los documentos deben de estar actualizados, la gente que participa en el proyecto debe estar capacitada en su uso. Se debe de reforzar el uso los modelos, mediantes auditorias y revisiones La alta gerencia debe soportar la utilizacin de un modelo, cualquier desviacin al modelo debe ser documentada y aprobada. Se debe de medir la eficiencia del modelo, retroalimentar y ajustar. Por ejemplo: Para sistemas bien conocidos se puede utilizar el Modelo de Cascada. La fase de anlisis de riesgos es relativamente fcil Con requisitos estables y sistemas de seguridad crticos, se recomienda utilizar modelos formales Con especificaciones incompletas, el modelo de prototipado ayuda a identificarlos y va produciendo un sistema funcional Pueden utilizarse modelos hbridos en distintas partes del desarrollo CONCLUSION De una u otra forma, las caractersticas de los proyectos de software hacen necesario seguir prcticas especficas para optimizar los resultados de los desarrollos. En este trabajo se presenta en contexto las generalidades del estado actual de evolucin de los modelos de ciclo de vida de desarrollo de software. Luego, se hace una reflexin de la importancia de las

caractersticas de cada proyecto al momento de escoger el modelo de desarrollo a seguir. La clasificacin de los proyectos de software de acuerdo a sus caractersticas especficas, es til para enmarcar contextos de desarrollo para los cuales prcticas particulares de proceso resulten en mayor probabilidad de xito. De igual forma, la adaptabilidad de los modelos propuestos de acuerdo al contexto enmarcado, y a las mtricas mantenidas, ayudan a mejorar la calidad de los productos de software desarrollados.

BIBLIOGRAFIA Ingeniera de software. Un enfoque prctico. Pressman, R. Quinta edicin. Mc. Graw Hill 2002 Ingeniera de software. Sommerville, I. Sptima edicin. Addison Wesley 2005 Roger Pressman - Ingenieria del Software (5ta Edicion) http://procesosoftware.wikispaces.com/M odelo+basado+en+Reutilizaci%C3%B3n http://www.sei.cmu.edu/cmm/obtain.cm m.html

Вам также может понравиться