Conceptos Esenciales en Ingeniería de Software: Evaluación, SDLC, Prototipado y Requerimientos
Evaluación de Sistemas de Software
La evaluación ocurre a lo largo de cualquiera de las siguientes dimensiones:
- Evaluación operacional: donde se valora la forma en que funciona el sistema, incluyendo la facilidad de uso, tiempo de respuesta, formatos de información, confiabilidad global y nivel de utilización.
- El impacto organizacional: Identificación y medición de los beneficios para la organización, eficiencia operacional e impacto competitivo.
- La opinión de los administradores (y usuarios finales): es la evaluación de las actitudes de directivos y administradores dentro de la organización, así como de los usuarios finales.
- Desempeño del desarrollo: La evaluación del proceso de desarrollo, de acuerdo con criterios tales como tiempo y esfuerzo de desarrollo, concordancia con los presupuestos, estándares y otros criterios de administración de proyectos.
Ciclo de Vida del Desarrollo de Software (SDLC)
Ventajas del Ciclo de Vida
- La revisión formal al final de cada fase permite el máximo control administrativo.
- Genera documentación considerable del sistema.
- La documentación formal garantiza que sea posible vincular los requisitos de sistemas con las necesidades de la empresa.
- Genera muchos productos intermedios que se pueden revisar con el fin de indagar si satisfacen las necesidades de los usuarios y si se ajustan a los estándares.
Desventajas del Ciclo de Vida
- Puede ser que el sistema no corresponda a lo que en realidad se necesita.
- La documentación es costosa y su creación requiere tiempo. Es difícil mantenerla actualizada.
- Es frecuente que las necesidades de los usuarios no se expresen o se les interprete en forma incorrecta.
- Los usuarios no pueden revisar fácilmente los productos intermedios y evaluar si un producto específico satisface sus necesidades.
Prototipado en Ingeniería de Software
Los prototipos tienen que funcionar en el mundo real. Su costo no es elevado y su desarrollo no debe superar entre los 90 y 120 días.
Etapas del Desarrollo del Prototipo
- Identificar los requerimientos de información que el usuario conoce.
- Desarrollar un prototipo funcional (un modelo funcional).
- Utilizar el prototipo.
- Revisar el prototipo.
Una vez que el prototipo está terminado, se puede:
- Abandonar la aplicación.
- Implantar la aplicación.
- Volver a desarrollar la aplicación.
- Comenzar un nuevo prototipo.
Ventajas del Prototipado
- Facilita la comunicación entre el cliente y el analista, permitiendo obtener sistemas más ajustados a la realidad.
- Permite al cliente poder concretar sus necesidades de manera óptima.
- Permite un resultado comprobado en las primeras etapas del desarrollo de un prototipo.
- Permite obtener una disminución de los errores que se cometen en el desarrollo de sistemas.
- Se puede realizar el diseño de manera rápida.
- Aumenta considerablemente la productividad del equipo de trabajo.
- Método orientado a funciones y datos.
- Evolucionan a través de un proceso iterativo.
Inconvenientes del Prototipado
- No puede ser utilizado en sistemas complejos y críticos.
- No se consideran los aspectos de calidad u otros aspectos del sistema.
- Si el tiempo invertido en el desarrollo de prototipos es elevado, el producto final pierde efectividad (lo ideal es entre 90 y 120 días).
- Las decisiones de diseño válidas para el prototipo pueden no ser necesarias para el producto final.
Determinación de Requerimientos de Software
Es el estudio de un sistema para poder conocer en profundidad cómo trabaja y donde es necesario efectuar mejoras.
Actividades Clave en la Determinación de Requerimientos
- Anticipación de los requerimientos: Esta es una fase esencial donde siempre se toma en cuenta la experiencia de los analistas; por lo tanto, esa experiencia permite anticipar cualquier tipo de problemas que se pueden presentar.
- Investigación de Requerimientos: Es la actividad más importante del análisis del sistema. Esto significa que el analista estudia el sistema actual con la ayuda de diferentes técnicas para encontrar datos y métodos para documentar las características del sistema.