El software se construye de la misma forma que cualquier
otro producto: aplicando un proceso de producción, dicho de otra manera
siguiendo una serie predecible de pasos, por tanto involucra modelos de calidad
de proceso y de producto.
Un proceso del software está formado por un conjunto de
actividades y resultados asociados que generan un producto de software.Aunque existen muchos procesos diferentes de
software algunas actividades fundamentales son comunes para todos ellos como lo
plantea (Sommerville, 2005):
1 Especificación
de software o ingeniería de requerimientos:
Debe definir
la funcionalidad del software y
las restricciones en su
operación.
Se debe producir software que cumple su especificación. La existencia
de un proceso de software no es garantía que el software será entregado a
tiempo, que satisfaga al cliente y cumpla con sus expectativas. Para el aseguramiento
de la calidad en los procesos del software se trabaja a la par estándares de
calidad. Los ISO 9000 y 9001 son normas genéricas que actualmente se aplican a
cualquier organización que desee conseguir el aseguramiento de la calidad de
sus productos, sistemas o servicios que provee.
-
Se debe validar el software para asegurar que
hace lo que el cliente desea.
4. Evolución
del software. El software debe evolucionar para cubrir las
necesidades cambiantes del cliente.
MODELOS DEL PROCESO DE SOFTWARE:
Un modelo de proceso del software es una descripción
simplificada de un proceso del software, es decir es el modelo o “molde, base”
del cual se basa el proceso del software. El modelo genérico o modelo básico se
denomina Ciclo de Vida del Software.
MODELO CASCADA:
Es el más conocido, está basado en el
ciclo de vida tradicional del software, el paradigma del ciclo de vida abarca
las siguientes actividades:
Análisis de
los requisitos del software:
el proceso de recopilación de los requisitos
se centra e intensifica especialmente en el software. El ingeniero de software
(Analistas) debe comprender el ámbito de la información del software, así como la
función, el rendimiento y las interfaces requeridas.
El diseño del software se enfoca en
cuatro atributos distintos del programa: la estructura de los datos, la arquitectura
del software, el detalle procedimental y la caracterización de la interfaz. El
proceso de diseño traduce los requisitos en una representación del software con
la calidad requerida antes de que comience la codificación.
Codificación:
el diseño debe traducirse
en una forma legible para la máquina. El paso de codificación realiza esta tarea.
Si el diseño se realiza de una manera detallada la codificación puede
realizarse mecánicamente.
Una vez que se
ha generado el código comienza la prueba del programa. La prueba se centra en
la lógica interna del software, y en las funciones externas, realizando pruebas
que aseguren que la entrada definida produce los resultados que realmente se
requieren.
El
software Sufrirá cambios después de que se entrega al cliente. Los cambios
ocurrirán debido a que hayan encontrado errores, a que el software deba adaptarse
a cambios del entorno externo (sistema operativo o dispositivos periféricos), o
debido a que el cliente requiera ampliaciones funcionales o del rendimiento.
Modelo de proceso del desarrollo del software lineal
secuencial que enfatiza un ciclo de desarrollo extremadamente cortó. Es una
adaptación a “Alta velocidad” en el que se logra el desarrollo rápido
utilizando un enfoque de construcción basado en componentes. Si se comprenden
bien los requisitos y se limita el ámbito del proyecto, el proceso DRA permite
al equipo de desarrollo crear un “sistema completamente funcional” dentro de
periodos cortos de tiempo.
MODELOS DE PROCESOS EVOLUTIVOS:
Es un modelo de proceso de software evolutivo que conjuga
la naturaleza iterativa de construcción de prototipos con los aspectos
controlados y sistemáticos del modelo lineal secuencial. Proporciona el
potencial para el desarrollo rápido de versiones incrementales del software.
Cuando se aplica el modelo en espiral, el software se desarrolla en una serie
de entregas evolutivas. Durante las primeras iteraciones, la entrega tal vez
sea un documento del modelo o un prototipo. Durante las últimas iteraciones se
producen versiones cada vez más completas del sistema desarrollado. Un proceso
en espiral se divide en un conjunto de actividades del marco de trabajo que
define el equipo de ingeniería del software.
La reutilización es a menudo indispensable para el
desarrollo rápido de sistemas. Esta reutilización informal es independiente del
proceso genérico que se utilice. Sin embargo, en años recientes, ha surgido un
enfoque de desarrollo de software (ingeniería de software basada en
componentes) que se basa en la reutilización, el cual se está utilizando de
forma amplia. El modelo orientado a la reutilización tiene la ventaja obvia de
reducir la cantidad de software a desarrollarse y también reduce los costos y
los riesgos.
PROCESOS DEL SOFTWARE COMERCIALES O METODOLOGÍAS DE DESARROLLO:
PROCESOS TRADICIONALES:
Procesos donde lo importante es la documentación
detallada de cada parte del desarrollo del producto software, usualmente estos procesos
involucran aseguramiento de la calidad. La interacción con el cliente es
planificada y acordada previamente. Denominados también procesos pesados o no
ágiles. Ejemplos de estos procesos se tienen: Proceso Unificado de Desarrollo (RUP),
Métrica 3, MSF.
Procesos cuya característica es la gran interacción que
tienen los analistas con todos los implicados en el desarrollo. La
documentación que se realiza de los componentes del software se reduce a lo más
mínimo pasando a un segundo plano. Ejemplos de estos procesos: XP, SCRUM, FDD
entre otros.
No hay comentarios:
Publicar un comentario