Streaming en Linux, ¿cómo montar un servidor de radio

Anuncio
ITZOFT, una metodología de desarrollo de sistemas basada en el Proceso
Unificado de Rational.
Sergio Valero Orea, svalero@utim.edu.mx, UTIM, Izúcar de Matamoros, Puebla.
Resumen
El desarrollo de sistemas de software no es una tarea fácil. Históricamente nos hemos
visto perjudicados al desarrollar este tipo de proyectos por no seguir una metodología de
desarrollo, y al intentar implementar el software, caemos en el mismo error de los
trabajadores de la construcción al no planificar y seguir las órdenes de los arquitectos y
optan por pegar tabiques o crear cimientos al por mayor y sin un orden. Al proponer una
metodología de desarrollo, se intenta generar una cultura de calidad para el desarrollo de
sistemas, siguiendo una serie de prácticas bien definidas para que podamos medir el
avance de nuestro trabajo desde que éste se concibe. Este documento pretende eso, se
presenta al lector la metodología propuesta para el desarrollo de software basándose en
RUP.
Introducción
El Proceso Unificado de Rational (RUP, por sus siglas en inglés) propone una serie de
prácticas para el desarrollo de proyectos de software basado en fases, a través de una
serie de disciplinas que nos permitirán ir generando artefactos en cada una de las
iteraciones por fases. Esta metodología es cíclica, es decir, por cada ciclo se generan
documentos entregables que nos permitirán medir el avance de nuestros proyectos,
inclusive desde las etapas iniciales.
Teoría
Una metodología de desarrollo de sistemas, nos permitirá desarrollar software de
calidad, de la misma manera en que un arquitecto construye sus planos para edificar una
vivienda o edificio, el desarrollo de sistemas se beneficia al utilizar una serie de pasos
estructurados y metodológicos para que se pueda medir el avance de nuestro proyecto.
El ciclo de vida propuesto se desarrollará con base en RUP. Esta metodología de
desarrollo propone una serie de fases que se muestran a continuación.
Desarrollo
Comenzaremos por definir cada una de las disciplinas de esta metodología, para
adecuarla a la nuestra, indicando los documentos entregables que se generan en cada
una de ellas.
Modelado del negocio. El objetivo de esta disciplina es entender a la organización
donde se va a implementar el software, pensando en el que software sea algo útil y no
un obstáculo consiguiendo que el sistema se adapte de la mejor forma posible.
Las actividades de esta disciplina serán las siguientes:
-
Describir el negocio actual
-
Desarrollar el modelo del dominio
Los documentos entregables de esta disciplina serán el documento de visión, el modelo
del dominio y los mapas conceptuales.
Ingeniería de requerimientos. El objetivo de esta disciplina es dejar claramente
especificado qué es lo que quiere y no quiere que haga el sistema que se va a construir.
Para obtener los requerimientos se deben aplicar prácticas de licitación a los
involucrados en el proyecto, anotar y validar todas sus solicitudes.
Las actividades de esta disciplina serán las siguientes:
-
Realizar entrevistas con el cliente
-
Analizar el problema
-
Clasificar y priorizar los requerimientos
Los documentos entregables de esta disciplina serán el documento de especificación de
requerimientos y el documento de entrevistas con el cliente.
Análisis y Diseño. El objetivo de esta disciplina es transformar los requerimientos en
una especificación que diga cómo se va a implementar el sistema. El análisis se ocupa
de los requerimientos funcionales e implica obtener una visión general de ver qué hace
el sistema que se va a desarrollar. El diseño es un refinamiento que toma en cuenta los
requerimientos no funcionales, por lo cual se centra en cómo el sistema cumple los
objetivos.
Las actividades de esta disciplina serán las siguientes:
-
realizar diagramas de casos de uso
-
realizar la especificación de casos de uso
-
realizar diagramas de clase
-
realizar diagramas de secuencia
-
realizar el modelo de datos
-
realizar el prototipo
Los documentos entregables de esta disciplina serán:
Análisis: modelo de casos de uso, especificación de casos de uso y realización de casos de
uso (diagramas de secuencia)
Diseño: modelo de diseño (diagramas de clase), modelo de datos (base de datos),
pantallas (prototipos).
Implementación. El objetivo de esta disciplina es convertir los elementos del diseño en
elementos de implementación, dichos elementos son códigos fuentes, ejecutables, etc.
De esta disciplina, se obtiene un sistema ejecutable estable, constituido por los
resultados producidos por los programadores.
Las actividades de esta disciplina serán:
-
Implementar componentes
-
Integrar el sistema
Los artefactos entregables de esta disciplina son el sistema ejecutable y la base de datos
(en caso de generarse).
Pruebas. El objetivo de esta disciplina es evaluar la calidad del producto que se está
desarrollando a través de las diferentes fases por las cuales este pasa, mediante la
aplicación de pruebas concretas para validar que las suposiciones hechas en el diseño y
los requerimientos se estén cumpliendo satisfactoriamente, esto quiere decir que se
verifica que el producto funcione como se diseñó y que los requerimientos son
satisfechos cabalmente. Esta disciplina debe estar presente en todo el ciclo de vida del
desarrollo del sistema para ir refinándolo y no al final del mismo.
Las actividades de esta disciplina serán:
-
Elaboración de un plan de pruebas
-
Realizar un estudio de los resultados de pruebas
El documento entregable de esta disciplina será el plan de pruebas, en el que se
especificarán las conclusiones a las cuales se llegan unas ves ejecutadas y previas a la
implantación del sistema.
Administración de configuración y cambios. El objetivo de esta disciplina es mantener
la integridad de todos los objetos que se crean en el proceso y controlar los cambios. Se
debe identificar elementos de configuración, restringir y auditar los cambios a esos
elementos, y definir y dirigir la distribución de los mismos.
Las actividades de esta disciplina serán:
-
Gestionar los cambios de requerimientos
-
Planear la configuración del proyecto y el control de cambios
-
Registrar y almacenar los cambios
Los documentos entregables de esta disciplina son el plan de gestión de configuración
y el documento solicitud de cambio, este último, en caso de aplicar. El plan de gestión
de configuración describe todas las actividades de gestión de configuración y cambios
que serán realizadas durante todo el ciclo de vida del proyecto.
Gestión del proyecto. El objetivo de esta disciplina es alcanzar las metas propuestas con
el desarrollo del sistema, administrar el riesgo y superar las restricciones para
desarrollar un producto que sea acorde con los requerimientos de los clientes y usuarios.
Las actividades principales de esta disciplina son:
-
Planear el proyecto
-
Evaluar el alcance y los riesgos
-
Monitorear y controlar el proyecto
El documento entregable de esta disciplina es la planificación del proyecto (plan de
desarrollo). Este documento está compuesto por toda la información necesaria para
llevar a cabo la dirección del proyecto. Es utilizado para dirigir las actividades a realizar
durante todo el proceso. Comprende un conjunto de artefactos que son desarrollados
durante la fase de inicio y que son utilizados durante todo el ciclo de vida del proyecto.
Resultados y conclusiones
La implementación de ITZOFT se encuentra a discusión y es debatible, existen otra
metodologías de desarrollo denominadas ‘agiles’ en las que se intentar evitar a toda
costa el diseño, pero en lo personal, y dadas las ventajas que ofrece el análisis y diseño
orientado a objetos (entre ellas la reutilización) considero una buena base que nos
permitirá generar software de calidad, y sobre todas las cosas: se puede medir.
Es altamente recomendable también, generar un plan de aseguramiento de calidad para
evaluar cada una de las fases propuestas en la metodología y así, complementar el
trabajo propuesto en este documento. Seguir al pie de la letra la metodología propuesta
anteriormente, garantiza realizar los pasos básicos para desarrollar sistemas, y de alguna
manera realizar ‘los planos’ de la construcción, como lo hacen los arquitectos.
Bibliografía
[1] Metodología de la Red Nacional de Integración y Desarrollo de Software Libre, Gobierno
Bolivariano
de
Venezuela,
[en
línea];
2009
[consulta
10
Febrero
2009]
Disponible:
http://merinde.rinde.gob.ve/
[2] Ejemplo de desarrollo software utilizando la metodología RUP, Universidad Politécnica de Valencia,
[en
línea];
2009
[consulta
10
http://www.dsic.upv.es/asignaturas/facultad/lsi/ejemplorup/
Febrero
2009]
Disponible:
Descargar