Documentos de Académico
Documentos de Profesional
Documentos de Cultura
4094 17168 1 PB PDF
4094 17168 1 PB PDF
Resumen
£J1 presente documento proporciona una visión general de la manera
como ha evolucionado el desarrollo de software, mos-
trando la necesidad e importancia que tiene el hecho de
implementar software desde una concepción de gestión
de proyectos. Adicionalmente, se aclaran los términos
proceso de desarrollo de software, modelos de ciclo de
vida, metodologías y métodos, debido, principalmente,
a que algunos autores los utilizan indiscriminadamente,
sin establecer claramente las diferencias que existen en-
tre estos conceptos y crean confusión a la hora de estruc-
turar un proyecto de software.
Palabras claves
Abstract
S Tecnológica de
Distrital, coordinador del grupo de Investigación Metis, docente investigador adscrito a la Facultad
News proposals have been appeared and the role of client, the
development team and the different management topics has
today greater importance. Additionally, they clarify the terms
of development software process, models of the software life
cycle, methodologies and methods, had mainly to that some
authors use indiscriminately without settling down clearly
the differences that exist between these concepts and create
confusion at the time of structuring a software project.
Key words
Cycle of life of the software, model of cycle of life, methodo-
logy of development of software, process of development of
software and project of software.
Figura 1. Ciclo
de gestión de
proyectos de
software
Figura 2.
Elementos de la gestión
de proyectos de
software
tes, dentro de las que encontramos los 4. Ciclo de vida del software
CASE.
El ciclo de vida del software es una descrip-
La calidad de software y los modelos de ma- ción del conjunto de actividades y procesos
dures del proceso son dos elementos adicio-
que permiten dirigir el desarrollo de un pro-
nales que se deben tener en cuenta en el de-
ducto de software [11].
sarrollo de proyectos de software y ayudan
a mejorarlo.
En la norma ISO 12207-1 [12] las activida-
El concepto de calidad de software tiene di- des que se pueden realizar, durante el ciclo
ferentes signifi cados [8], por ejemplo: para de vida del software, se agrupan en cinco
la IEEE software [9] es el grado en que un procesos principales, ocho procesos de so-
sistema, componente o proceso cumple con porte y cuatro procesos generales de la or-
los requerimientos especifi cados y las nece- ganización. En la figura 3, se muestran los
sidades del cliente o usuario. Para la norma procesos del ciclo de vida del software.
ISO-9000 [10] la calidad del software es el
grado en que un conjunto de características Los procesos principales son aquellos que
inherentes al software cumplen con los re- resultan útiles e inician o realizan el desa-
quisitos del sistema. La calidad de éste de- rrollo, la explotación o el mantenimiento del
pende, en gran medida, del proceso de desa- software durante su ciclo de vida; los proce-
rrollo que se siga. sos de soporte son los que sirven de apoyo
Los modelos de madurez de la producción al resto y se aplican en cualquier punto del
de software nos permiten evaluar las capaci- ciclo de vida, y los procesos de la organi-
dades de ingeniería de software de los indi- zación son los que se emplean para llevar
viduos, equipos y organizaciones y determi- a cabo funciones tales como la gestión, la
nar la calidad de los procesos de software. formación del personal o la mejora del pro-
Algunos modelos importantes son PSP, TSP ceso. En la tabla 1, se describen de manera
y CMM. general los procesos principales.
Figura 3.
87
Tabla 1. Procesos
del ciclo de vida del
software
Tabla 2. Componentes de
un modelo de ciclo de
vida de software
89
DESCRIPCIÓN
COMPONENTE
DE UN MODELO
Arquitectura Describe los elementos de la estructura de un programa o sistema
(subsistemas, clases, componentes y nodos), sus interrelaciones,
y los principios y reglas que gobiernan su diseño y evolución a
largo plazo.
Actividad Describe un paso del proceso de software necesario para lograr los
objetivos. Las actividades básicas de un proceso de desarrollo de
software son: requisitos, análisis, diseño, implementación, prue-
bas, documentación y mantenimiento.
Métodos Describen los procedimientos que defi nen las tareas o acciones
que permiten realizar las transformaciones internas de cada ac-
tividad.
Metodologías Describe el conjunto de métodos, técnicas, herramientas y sopor-
tes documentales, que defi nen las reglas para realizar las trans-
formaciones internas de las actividades de un modelo de ciclo
de vida, que permiten a los desarrolladores implementar nuevo
producto de software [14] y [15].
Estrategia Describe el plan de trabajo y las decisiones que se deben tomar
para el logro del objetivo como: la selección de la tecnología, del
lenguaje de programación, la especifi cación, entre otras.
Figura 3.
Etapas del modelo del
proceso en cascada
Fuente [12]: Piattini, Mario. Análisis y diseño detallado de Aplicaciones Informáticas de Gestión.
Alfaomega. 2000.
Figura 4.
Etapas del modelo
del proceso
incremental
Fuente [12]: Piattini, Mario. Análisis y diseño detallado de Aplicaciones Informáticas de Gestión.
Alfaomega. 2000.
91
cada refi namiento amplía los requisitos y 5.3. Modelo del proceso en espiral
las especifi caciones derivadas de la fase
anterior [12] Descripción
Actividades El modelo en espiral del ciclo de vida fue
desarrollado por B. Boehm. En éste el es-
El primer incremento a menudo es un pro- fuerzo de desarrollo es iterativo: tan pronto
ducto esencial, es decir, se afrontan requisitos como se completa una iteración (un módulo
básicos, pero muchas funciones suplemen- o un esfuerzo de desarrollo) se da inicio a la
tarias (algunas conocidas, otras no) quedan siguiente.
sin extraer. El cliente utiliza el producto cen-
tral (o sufre la revisión detallada). Como un Al igual que todos los modelos evolutivos,
resultado de utilización y/o de evaluación el Modelo en Espiral es un modelo iterativo
se desarrolla un plan para el incremento si- que proporciona en cada iteración una ver-
guiente. El plan afronta la modifi cación del sión evolutiva del producto. En cada itera-
producto central, con el fi n de cumplir me- ción se siguen cuatro pasos: determinar qué
jor las necesidades del cliente y la entrega de se desea lograr; determinar las alternativas
funciones, y características adicionales. Este que pueden ser tomadas, para lograr esas
proceso se repite siguiendo la entrega de cada metas (para cada una, analizar los riesgos y
incremento, hasta que se elabore el producto resultados fi nales, con el fi n de seleccionar
completo [13]. la mejor), y seguir la alternativa selecciona-
Figura 5.
Modelo de ciclo de vida
en espiral de Bohem
Tabla 3. Ventajas y
desventajas de los
modelos de desarrollo
de software
6. Metodologías
Una metodología es un conjunto de méto- Una metodología puede seguir uno o va-
dos, procedimientos, técnicas, herramien- rios modelos de ciclos de vida, esto es: el
tas y soportes documentales que defi nen ciclo de vida indica qué es lo que hay que
las reglas para realizar las transformaciones obtener, a lo largo del desarrollo del pro-
internas de las actividades de un modelo yecto, pero no cómo. Esto sí lo debe in-
de ciclo de vida, que permiten a los desa- dicar la metodología. Los enfoques meto-
rrolladores implementar nuevo producto dológicos han ido evolucionando a través
de software [14] y [15]. del tiempo, en los que se destacan las me-
todologías estructuradas, las orientadas a
Una metodología está conformada por un objetos y las ágiles En la tabla 4, se descri-
conjunto de componentes que especifi can: ben algunas generalidades de las metodo-
cómo se debe dividir el proyecto en etapas, logías estructuradas o tradicionales y las
qué tareas se llevan a cabo en cada etapa, orientadas a objetos.
qué salidas se producen y cuándo se deben
producir, qué restricciones se aplican, qué En la tabla 5 se muestran algunas de las prin-
herramientas se van a utilizar y cómo se cipales metodologías estructuras y orien-
94 gestiona y controla un proyecto. tadas a objetos [12].
Tabla 4. Descripción de
las metodologías
estructuradas y orientadas
a objetos
Tabla 5. Metodologías
estructuras y orientadas a
objetos
Tabla 6.
Características
del RUP
96
CARACTERÍSTICAS DESCIPCIÓN
Está dirigido por casos de uso Un proyecto progresa a través de las iteraciones, en las que se
llevan a cabo los fl ujos de trabajo, los cuales inician a partir de
los casos de uso. Un caso de uso es una descripción de las
acciones de un sistema, desde el punto de vista del usuario.
Los casos de uso ayudan a los desarrolladores a encontrar las
clases e implementar las interfaces.
Es centrado en la arquitectura Un proyecto se centra en la arquitectura, es decir, en la defi -
nición de decisiones signifi cativas acerca de la organización
del sistema de software, la defi nición de los elementos es-
tructurales (subsistemas, clases, componentes y nodos), de
los que se compone y las interfaces entre ellos, junto con su
comportamiento, que permitan la construcción del sistema,
garantizando un progreso continuo, no sólo para la versión en
curso, sino también para la vida entera del producto.
Es iterativo e incremental Un proyecto se construye a través de las iteraciones, que
permiten generar los modelos resultantes incremento por in-
cremento. Cada iteración añade algo más a cada modelo, a
medida que la iteración fl uye a lo largo de requisitos, análisis,
diseño, implementación y prueba.
Figura 6.
Proceso de Desarrollo
Unifi cado
Las fases y las principales actividades que se 6.2. Metodología Métrica Versión 3
desarrollan en cada una de ellas se describen a
continuación en la tabla 7. Métrica Versión 3 fue desarrollada por el
Ministerio de Administraciones Públicas de
Por su parte los fl ujos de trabajo y cada una de España, está orientada al desarrollo de sis-
sus respectivas actividades que se realizan den- temas de información y da soporte al ciclo
tro de las fasesse encuentran en la tabla 8 [19]: de vida de sistemas en una organización,
ACTIVIDADES
Identifi cación de los requerimientos generales del proyecto.
Identifi cación y especifi cación de todos los casos de uso. Tabla 7.
FASES
Identifi cación de actores.
Fases de un ciclo
Identifi cación de recursos necesarios tanto económicos como humanos,
de acuerdo al
Inicio proyecto.
Realizar una estimación detallada de tiempos y recursos.
Defi nición de la arquitectura de acuerdo con los principales casos de uso
Análisis del dominio del problema o negocio.
Elaboración
Determinar la viabilidad del proyecto y decidir si se continúa con él.
Escribir los planes de trabajo de las etapas de construcción y transición.
Completar la funcionalidad del sistema, clarifi cando los requerimientos pendientes.
Construcción Administrar el cambio de artefactos construidos. Ejecutar plan de administración
de recursos.
Asegurar la disponibilidad del software para los usuarios fi nales.
Hacer un proceso de detección y corrección de errores.
Transición
Capacitación de usuarios y provisión de soporte técnico.
Verifi car concordancia entre el producto fi nal y los requerimientos de los usuarios. 97
Tabla 8.
Flujo de trabajo
para garantizar la calidad y efi ciencia de los Por otra parte, Métrica Versión 3, cubre dos
productos desarrollados. Esta metodología tipos de desarrollo: estructurado y orientado
se basa en las versiones anteriores (Métrica a objetos, de esta forma, el proyecto puede
versión inicial, métrica versión 2 y versión incorporar diferentes puntos de vista y faci-
2.1) e incorpora métodos de desarrollo más litar el proceso de desarrollo.
extendidos, así como los últimos estándares
de ingeniería del software y calidad y refe- Conclusiones
rencias específi cas referentes a seguridad y
gestión de proyectos. Además, se han teni- Una metodología puede seguir uno o varios
do en cuenta las opiniones de los usuarios, modelos de ciclo de vida, es decir, el ciclo de
para mejorar algunos problemas y defi cien- vida indica qué es lo que hay que obtener a
cias detectados [20]. lo largo del desarrollo del proyecto, pero no
98
100