Introducción
Quién hace qué, cuándo y cómo lo hace
para alcanzar cierto objetivo es lo que un proceso define. En general, el éxito de las empresas u organizaciones
depende en gran medida de la definición y seguimiento adecuado de sus procesos.
En el caso de una empresa que se dedica al desarrollo de software, se requieren
procesos especializados que abarquen desde la creación hasta la administración
de un sistema de software.
Un modelo de proceso de software define cómo resolver la
problemática del desarrollo de sistemas de software. Para desarrollar software
se requiere resolver ciertas fases de un proceso que se conocen en su conjunto
como el ciclo de vida del desarrollo de software. Un modelo de proceso debe considerar
una variedad de aspectos, como el conjunto de personas, estructuras
organizacionales, reglas, políticas, actividades, componentes de software,
metodologías y herramientas utilizadas.
Desarrollo
Modelo de Cascada
Es el enfoque metodológico que ordena rigurosamente las
etapas del ciclo de vida del software, de forma tal que el inicio de cada etapa
debe esperar a la finalización de la inmediatamente anterior. De esta forma,
cualquier error de diseño detectado en la etapa de prueba conduce
necesariamente al rediseño y nueva programación del código afectado, aumentando
los costos del desarrollo.
Análisis del sistema: Debido a que el software es siempre
parte de un sistema mayor el trabajo comienza estableciendo los requisitos de
todos los elementos del sistema y luego asignando algún subconjunto de estos
requisitos al software.
Desarrollo Evolutivo
Este modelo es efectivo en proyectos pequeños o medianos con
poco tiempo para su desarrollo y sin generar documentación para cada versión.
Para proyectos largos es mejor combinar lo mejor del modelo de cascada y
evolutivo: se puede hacer un prototipo global del sistema y posteriormente
reimplementarlo con un acercamiento más estructurado. Los subsistemas con requisitos
bien definidos y estables se pueden programar utilizando cascada y la interfaz
de usuario se puede especificar utilizando un enfoque exploratorio.
Ingeniería de Software Basada en Componentes
En general, el desarrollo de software basado en componentes
puede verse como una extensión natural de la programación orienta a objetos
dentro del ámbito de los sistemas abiertos y distribuidos. Este paradigma se
basa en el uso de los componentes software como entidades básicas del modelo,
entendiendo por componente “una unidad de composición de aplicaciones software
que posee un conjunto de requisitos, y que ha de poder ser desarrollado,
adquirido, incorporado al sistema y compuesto con otros componentes, de forma
independiente en tiempo y espacio”.
A continuación presento un mapa conceptual sobre el proceso de software así como un cuestionario contestado de evaluación.
Conclusión
Creo que la diversidad de los proyectos que se desarrollan ha sido el principal factor en la creación de distintos métodos de desarrollo de software. Por eso es importante conocer los métodos existentes para así saber cuál utilizar a la hora de desarrollar algún software, eligiendo o creando el que mejor se adapte a las características y necesidades únicas del proyecto; de esta manera garantizaremos nuestra mejor respuesta al problema de desarrollo planteado.
Referencias
- Esteller Víctor, Procesos de desarrollo de software y materiales educativos compuratizados, Revista de Tecnología de Informática, Venezuela, 2012.
- Metodologías y procesos de análisis de software, Capítulo 2, UNAM.
- Bertoa Manuel F., Troya José M., Vallecillo Antonio; Aspectos de Calidad en el Desarrollo de Software Basado en Componentes; Departamento de Lenguajes y Ciencias de la Computación; Universidad de Málaga.
- Weitzenfeld Ridel, Ingeniería de software: el proceso para el desarrollo de software, ITAM, 2007.


No hay comentarios.:
Publicar un comentario