Capítulo 1

Ciclo de vida de desarrollo de sistemas (SDLC)
En forma general el ciclo de vida de un sistema se resumen en las siguientes etapas:
El ISO9001 aplicado a una casa desarrolladora de software contiene elementos de importancia comparativa a lo
descrito en este capítulo. Un resumen de los elementos importantes de la norma ISO9001 se encuentra detallado
en el Anexo A.

Identificación de problemas, oportunidades y objetivos
- Se define como una etapa crítica para el buen diseño e implementación
del sistema.
- Involucrados: usuarios, analistas y administradores de sistemas.
- Actividades a desarrollar:
- Entrevista a los administradores de los usuarios
- Sumarización del conocimiento obtenido
- Estimación del alcance del proyecto
- Documentación de los resultados
- Resultados a arrojar:
- Estudio de factibilidad: definición del problema y la sumarización de los objetivos, el cual
es analizado por el (los) administrador(es) para la toma de decisiones.
Determinación de los requerimientos de información
- Herramientas a utilizar para alcanzar el objetivo de esta etapa
- Muestreo e investigación de los datos relevantes
- Entrevistas
- Cuestionarios
- Comportamiento de los tomadores de decisiones y su ambiente de oficina
- Elaboración de prototipos
- Involucrados: analistas y usuarios (administradores y trabajadores de operación).
- Actividades a desarrollar:
- Preguntar a detalle de las funciones actuales
- Quién? (...están involucrados?)
- Qué? (...actividad del negocio)
- Dónde? (...ambiente donde se lleva el trabajo)
- Cuándo? (...momento?)
- Cómo? (...desarrollo de los procedimientos actuales)
- Porqué se usa el sistema actual?
Análisis de las necesidades del sistema
- Herramientas:
- Diagrama de flujos: entrada, proceso y salida de las funciones del negocio en formato gráfico-estructurado.
Se desarrolla un diccionario de datos (conceptos de datos del sistema y especificaciones técnicas)
- Decisiones estructuradas:
- Aquellas para las que pueden ser determinadas las condiciones, acciones y reglas de acción.
- Métodos: lenguajes estructurados, tablas de decisión y árboles de decisión.
- Decisiones semiestructuradas (decisiones tomadas bajo riesgo):
- Sustentada por los sistemas de apoyo a decisiones. Se examinan en base al grado de habilidad, el grado de complejidad
y la cantidad de criterios.
- Decisiones de criterios múltiples (balanceo de muchos factores):
- Técnicas: proceso de compromiso y métodos ponderados.
- Resultados a arrojar:
- Propuesta que sumariza lo encontrado, proporciona análisis de costo/beneficio de las alternativas y
hace recomendaciones.
- El analista continua en base a algunas de las recomendaciones aceptadas.
Diseño del sistema recomendado
- Diseño lógico del sistema:
- Procedimientos precisos para la captura de datos.
- Técnicas para el buen diseño de formas y pantallas.
- Otros factores de diseño:
- Interfaz de usuario.
- Diseño de archivos o base de datos (bien organizada es la base para todos los sistemas de información).
- Diseño de salida, con ayuda del usuario: en pantalla y/o en impresora.
- Procedimientos de control y respaldo para proteger al sistema y a los datos.
- Producir paquetes de especificaciones del desarrollo del sistema para los programadores. Cada paquete incluye:
- Diseño de entrada y salida
- Especificaciones de archivos y detalles de procesamiento. Incluso: árboles o tablas de decisiones, diagramas
de flujo de datos, diagrama del flujo del sistema y los nombres y funciones de cualquiera de las rutinas del código
que hayan sido escritas.
Desarrollo y documentación del software
- Analista y programadores trabajan para desarrollar cualquier software original que se requiera.
- Técnicas para desarrollo y documentación:
- Diagramas estructurados
- Método HIPO
- Diagramas de flujo
- Diagramas Nassi-Schneiderman y Warnier-Orr
- Pseudo-código
- Analista y usuario(s) trabajan para desarrollar la documentación efectiva para el software incluyendo
manuales de procedimiento.
- Pieza importante: el programador diseña, codifica y elimina errores de sintaxis.
- Desarrollo en ambiente de macrocomputadora, se debe crear el lenguaje de control de trabajos (JCL).
- Asegurar la calidad: un programador realiza un diseño o diseño de código, explicando las
partes complejas al equipo.
Pruebas y mantenimiento del sistema
- Detectar problemas antes de ser entregado evita que los costos aumenten.
- Pruebas:
- Programadores
- Analista y programadores (Check list)
- Proceso:
- Serie de pruebas con datos ejemplo.
- Eventualmente con datos reales del sistema actual.
- El mantenimiento y documentación del sistema comienza en esta fase.
Implementación y evaluación del sistema
- El analista ayuda a implementar el sistema incluyendo el entrenamiento de los usuarios.
- Se requiere de un plan para la conversión suave del sistema antiguo al nuevo:
- Conversión de archivos o base de datos
- Instalación del equipo
- Puesta del sistema en producción
- Evaluación para los efectos de discusión.
- Debe hacerse notar que a veces los sistemas trabajan en forma cíclica: el descubrimiento de un problema
puede obligar a regresar a fases anteriores.