Los procesos de software real son secuencias entrelazadas de actividades tcnicas, colaborativas y administrativas con la meta general de especificar, disear, implementar y probar un sistema de software. Las cuatro actividades bsicas de proceso: especificacin, desarrollo, validacin y evolucin se organizan de diversa manera en diferentes procesos de desarrollo. En el modelo en cascada se organizan en secuencia, mientras que se entrelazan en el desarrollo incremental. Especificacin de software (o ingeniera de requerimientos) Consiste en el proceso de comprender y definir qu servicios se requiere del sistema, as como la identificacin de las restricciones sobre la operacin y el desarrollo del sistema. Es una capa crtica del proceso de software, ya que los errores en esta etapa conducen a problemas posteriores tanto en diseo como en implementacin del sistema. El proceso de ingeniera de requerimientos se enfoca en producir un documento de requerimientos que especifique los requerimientos que cumplira el sistema. Existen cuatro actividades principales en el proceso de ingeniera de requerimientos: 1) Estudio de factibilidad: Se realiza una estimacin sobre si las necesidades del usuario se cubre con las actuales tecnologas. Se considera si el sistema propuesto tendr un costo-beneficio y si ste puede desarrollarse dentro de las restricciones. El resultado debe informar sobre la decisin de si se contina o no. 2) Obtencin y anlisis de requerimientos: ste es el proceso de derivar los requerimientos del sistema mediante observacin, discusiones con los usuarios, anlisis de tareas, etc. 3) Especificacin de requerimientos: Se transcribe la informacin recopilada durante la actividad de anlisis en un documento que define un conjunto de requerimientos. Se incluyen los requerimientos del usuario (informes abstractos de requerimientos para el cliente) y de sistema (descripcin detallada de la funcionalidad a ofrecer) 4) Validacin de requerimientos: se verifican que los requerimientos sean realistas, coherentes y completos. Es inevitable encontrar errores. Las actividades en el proceso de requerimientos no se realizan simplemente en una secuencia estricta. El anlisis contina durante la definicin y especificacin, y a lo largo del proceso salen a la luz nuevos requerimientos. En los mtodos giles los requerimientos se desarrollan de manera incremental segn las prioridades del usuario.
2
VALIDACIN DE REQUERIMIENTOS La validacin de requerimientos es el proceso de verificar que los requerimientos definan realmente el sistema que el cliente quiere. Se interesa por encontrar problemas con los requerimientos. La validacin es importante porque los errores en un documento de requerimientos pueden conducir a grandes costos por tener que rehacer cuando dichos problemas se descubren durante el desarrollo del sistema o cuando se halle en servicio. Durante el proceso de validacin tienen que realizarse diferentes tipos de comprobaciones, que incluyen: 1) Comprobacin de validez: un usuario quiz crea que necesita un determinado sistema. Sin embargo con un mayor anlisis se logran identificar funciones adicionales o diferentes. 2) Comprobaciones de consistencia: los requerimientos en el documento no deben estar en conflicto, no debe haber restricciones contradictorias o descripciones diferentes de la misma funcin 3) Comprobaciones de totalidad: el documento de requerimientos debe incluir requerimientos que definan todas las funciones y las restricciones pretendidas por el usuario 4) Comprobacin de realismo: los requerimientos deben comprobarse para garantizar que en realidad pueden implementarse. Se debe considerar el presupuesto y la fecha para el desarrollo del sistema. 5) Verificabilidad: para reducir el potencial de disputas entre clientes y contratista, los requerimientos deben escribirse siempre de manera que sean verificables. Se debe ser capaz de escribir un conjunto de pruebas que demuestren que el sistema entregado cumpla cada requerimiento especificado. Otras tcnicas de validacin: 1) Revisin de requerimientos 2) Creacin de prototipos: se muestra un modelo ejecutable del sistema a los usuarios y clientes. As podrn experimentar y constatar si cubre sus necesidades reales. 3) Generacin de casos de prueba: se disean pruebas para los requerimientos como parte del proceso de validacin. Esto revela problemas en los requerimientos. Si una prueba es difcil o imposible de disear significa que los requerimientos sern difciles de implementar, por lo que deberan reconsiderarse.