EL CICLO DE VIDA DEL DESARROLLO DE SISTEMAS
La metodología sistemática con la que los analistas llevan a cabo el análisis y diseño de los sistemas de información se expresa en lo que conocemos como el ciclo de vida del desarrollo de sistemas (SDLC). El SDLC es una metodología en fases para el análisis y diseño, de acuerdo con la cual los sistemas se desarrollan mejor al utilizar un ciclo específico de actividades del analista y los usuarios.
Incorporación de las consideraciones de la interacción humano-computadora
En años recientes, el estudio de la interacción humano-computadora (HCI) se ha vuelto cada vez más importante
para los analistas de sistemas. Se define como el “aspecto de una computadora que permite las comunicaciones e interacciones entre ella y los
humanos. Es el nivel de la computadora que está entre ella y los humanos” (Zhang, Carey, Te’eni & Tremaine,
2005,). La interacción entre humano y computadora se concentra en las necesidades humanas en vez
de enfocarse primero en las necesidades de la organización y del sistema.
Analiza los “factores
humanos ergonómicos, cognitivos, afectivos y de comportamiento involucrados en las tareas de los usuarios,
los procesos de solución de problemas y el contexto de la interacción”.Cuando los analistas de sistemas adoptan una metodología HCI, pueden erradicar o minimizar las malas
apreciaciones y los errores de diseño que provocan el rechazo de los usuarios hacia los nuevos sistemas o su
abandono poco tiempo después de la implementación.
Los investigadores de la HCI observan ventajas al incluir la HCI en cada fase del SDLC.
Identificación de los problemas, oportunidades y objetivos
En esta primera fase del ciclo de vida del desarrollo de sistemas, el analista se encarga de identificar correctamente
los problemas, las oportunidades y los objetivos. Esta etapa es imprescindible para el éxito del resto del proyecto. En la primera fase el analista debe analizar con honestidad lo que está ocurriendo en la empresa. Después,
junto con otros miembros de la organización, debe comenzar a señalar los problemas.La identificación de los objetivos también es un componente importante de la primera fase.
Las personas involucradas en la primera fase son los usuarios, los analistas y los administradores de sistemas
que coordinan el proyecto. En esta fase las actividades consisten en entrevistar a los encargados de la administración
de los usuarios, sintetizar el conocimiento obtenido, estimar el alcance del proyecto y documentar los resultados. El resultado de esta fase es un informe de viabilidad, el cual contiene la definición de un problema y
sintetiza los objetivos. Después, la administración de la empresa debe tomar una decisión en cuanto a proceder o
no con el proyecto propuesto.
Determinación de los requerimientos de información del factor humano
La siguiente fase a la que entra el analista es determinar las necesidades de los usuarios involucrados, mediante
el uso de varias herramientas ( como entrevistas, muestreos e
investigación de datos duros), para comprender la forma en que interactúan en el contexto laboral con
sus sistemas de información actuales.
En este punto el analista examina cómo hacer que el sistema sea útil para
las personas involucradas. Las personas involucradas en esta fase son los analistas y los usuarios. El analista de sistema debe conocer los detalles sobre las funciones del sistema actual:
el quién (las personas involucradas), el qué (la actividad de la empresa), el dónde (el entorno en el que se lleva a
cabo el trabajo), el cuándo (la coordinación) y el cómo (de qué manera particular se realizan los procedimientos
actuales) de la empresa a la que está estudiando.
No obstante, si la razón de seguir con las operaciones actuales es que “siempre se ha hecho de esa forma”, el
analista querrá mejorar los procedimientos.
Análisis de las necesidades del sistema
Las herramientas como los diagramas de flujo de datos (DFD) para graficar la entrada, los
procesos y la salida de las funciones de la empresa, o los diagramas de actividad o de secuencia para mostrar la
secuencia de los eventos, sirven para ilustrar a los sistemas de una manera estructurada y gráfica. Durante esta fase, el analista de sistemas también analiza las decisiones estructuradas llevadas a cabo.
Hay tres métodos principales para el análisis de las decisiones estructuradas: inglés/
español estructurado, tablas de decisión y árboles de decisión. En este punto del SDLC, el analista de sistemas prepara una propuesta de sistemas en la que sintetiza todo
lo que ha averiguado sobre los usuarios, la capacidad de uso y la utilidad de los sistemas actuales; incluye un
análisis de costo-beneficio de las alternativas y, si se requiere, hace recomendaciones.
Diseño del sistema recomendado
El analista diseña los procedimientos para ayudar a que los usuarios introduzcan
los datos con precisión, de manera que los datos que entren al sistema de información sean los correctos. Además, el
analista debe ayudar a que los usuarios completen la entrada de datos efectiva al sistema de información mediante
el uso de las técnicas del buen diseño de formularios y páginas Web o pantallas.
La fase de diseño también incluye el diseño de bases de datos que almacenarán gran parte de los datos necesarios
para los encargados de tomar las decisiones en la organización. Por último, el analista debe diseñar controles y procedimientos de respaldo para proteger el sistema y los
datos, y para producir paquetes de especificación de programas para los programadores.
Desarrollo y documentación del software
En la quinta fase del SDLC, el analista trabaja con los programadores para desarrollar el software original requerido. Como los usuarios están involucrados desde el principio, la fase de
documentación debe lidiar con las preguntas que hicieron y resolvieron junto con el analista. La documentación
indica a los usuarios cómo deben usar el software y qué deben hacer en caso de que ocurran problemas.
Prueba y mantenimiento del sistema
Es mucho menos costoso detectar los problemas antes
de entregar el sistema a los usuarios. Una parte del procedimiento de prueba es llevado a cabo por los programadores
solos; la otra la realizan junto con los analistas de sistemas. Primero se completa una serie de pruebas
para señalar los problemas con datos de muestra y después se utilizan datos reales del sistema actual. A menudo,
los planes de prueba se crean en las primeras etapas del SDLC y se refinan a medida que el proyecto progresa.Ciertos procedimientos de mantenimiento, como las actualizaciones de los programas, se pueden llevar a cabo a
través del sitio Web del distribuidor.
Implementación y evaluación del sistema
En esta última fase del desarrollo de sistemas, el analista ayuda a implementar el sistema de información. En esta
fase hay que capacitar a los usuarios para operar el sistema. Los distribuidores se encargan de una parte de la
capacitación, pero la supervisión de la capacitación es responsabilidad del analista de sistemas. La evaluación se incluye como parte de esta fase final del SDLC principalmente por cuestiones informativas.
El impacto del mantenimiento
Una vez instalado el sistema hay que darle mantenimiento, lo cual implica que tal vez haya que realizar modificaciones
en los programas de computadora y mantenerlos actualizados. Las estimaciones
del tiempo invertido por los departamentos en el mantenimiento varían desde un 48 hasta un 60 por ciento del
tiempo total invertido en el desarrollo de los sistemas. Queda muy poco tiempo libre para el desarrollo de nuevos
sistemas.
El mantenimiento se lleva a cabo por dos razones. La primera es para corregir los errores de software. Y la segunda es para mejorar las capacidades del software en
respuesta a las necesidades cambiantes de la organización, que por lo general implica una de las siguientes tres
situaciones:
1. Con frecuencia los usuarios solicitan características adicionales a medida que se familiarizan con el sistema
computacional y sus capacidades.
2. La empresa cambia con el tiempo.
3. El hardware y el software cambian a un ritmo acelerado.
La siguiente figura muestra la cantidad de recursos (por lo general tiempo y dinero) que se invierten en el desarrollo
y mantenimiento de sistemas.
El área bajo la curva representa la cantidad total invertida en dólares. Podemos ver que, a través del tiempo, es probable que el costo total del mantenimiento exceda al costo del
desarrollo de sistemas.
el mantenimiento es un proceso continuo que se realiza a lo largo del ciclo de vida de un sistema
de información. Una vez que se instala el sistema de información, por lo general el mantenimiento implica
corregir los errores del programa que no se habían detectado antes. Una vez corregidos, el sistema se acerca a un
estado estable para proveer un servicio confiable a sus usuarios. Durante este periodo, el mantenimiento puede
consistir en eliminar unos cuantos ‘bugs’ que no se detectaron antes y actualizar el sistema con mejoras menores.
Sin embargo, a medida que pasa el tiempo y evolucionan tanto la empresa como la tecnología, el esfuerzo de
mantenimiento aumenta en forma considerable.
USO DE HERRAMIENTAS CASE
Los analistas que adoptan la metodología SDLC a menudo se benefician de las herramientas de productividad,
conocidas como herramientas de Ingeniería de Software Asistida por Computadora (CASE), las cuales se crearon
de manera explícita para mejorar el trabajo rutinario a través del uso del soporte automatizado. Los analistas
emplean herramientas CASE para aumentar la productividad, comunicarse con los usuarios de una manera más
efectiva e integrar el trabajo que realizan en el sistema, desde el inicio hasta el fin del ciclo de vida.
Algunos analistas marcan la diferencia entre las herramientas CASE superiores e inferiores. Una herramienta
CASE superior permite al analista crear y modificar el diseño del sistema. Toda la información sobre
el proyecto se almacena en una enciclopedia conocida como repositorio CASE, una extensa colección de
registros, elementos, diagramas, pantallas, informes y demás información relacionada Es
posible producir informes del análisis mediante el uso de la información del repositorio para mostrar en qué
partes está incompleto el diseño o dónde hay errores. Las herramientas CASE superiores también ayudan a
sustentar el modelado de los requerimientos funcionales de una organización, auxiliar a los analistas y usuarios
para dibujar los límites de un proyecto dado y ayudarlos a visualizar la forma en que el proyecto encaja
con otras partes de la organización.
LA METODOLOGÍA ÁGIL
La metodología ágil es una metodología de desarrollo de software que se basa en valores, principios y prácticas
básicas. Los cuatro valores son comunicación, simpleza, retroalimentación y valentía. Recomendamos que
los analistas de sistemas adopten estos valores en todos los proyectos que emprendan y no sólo cuando adopten
la metodología ágil.
Proceso de desarrollo para un proyecto ágil
Dos palabras que caracterizan a un proyecto realizado mediante una
metodología ágil son interactivo e incremental. Hay cinco etapas: exploración,
planeación, iteraciones para la liberación de la primera versión, puesta en producción y mantenimiento.
EXPLORACIÓN: Durante ella usted explorará su entorno para evaluar su convicción de que puede y debe lidiar
con el problema mediante el desarrollo ágil, ensamblará el equipo y evaluará las habilidades de sus miembros. Todo en esta etapa tiene que ver con adoptar una actitud juguetona y curiosa
hacia el entorno de trabajo, sus problemas, tecnologías y personas.
PLANEACIÓN: Todo el proceso de planeación ágil se ha caracterizado mediante la idea de un juego de planeación según
la idea de Beck. El juego de planeación establece reglas que pueden ayudar a formular la relación del equipo de
desarrollo ágil con sus clientes empresariales. El objetivo del juego es maximizar
el valor del sistema producido por el equipo ágil. La estrategia que persigue el equipo de desarrollo ágil siempre tiene una incertidumbre limitante (minimización
del riesgo).
ITERACIONES PARA LA LIBERACIÓN DE LA PRIMERA VERSIÓN: Uno de los objetivos es realizar pruebas funcionales escritas por el cliente al final de cada iteración. Durante la etapa de las iteraciones también debe preguntarse si hay que alterar el itinerario de trabajo o si está lidiando con demasiadas historias. Convierta cada iteración exitosa en pequeños rituales e involucre en ellos tanto a los clientes como a los desarrolladores.
PUESTA EN PRODUCCIÓN: El ciclo de retroalimentación se agiliza de manera que en vez de recibir retroalimentación por una iteración cada tres semanas, las revisiones de software se entregan en una semana. Puede instituir sesiones informativas diarias para que todos sepan lo que los demás están haciendo. Poner un sistema en producción es un suceso emocionante; disponga de tiempo para celebrar con sus compañeros de equipo la ocasión. Uno de los lemas de la metodología ágil con el que todos estamos sinceramente de acuerdo es que ¡desarrollar sistemas debe ser divertido!
MANTENIMIENTO: Una vez liberado el sistema, debe seguir funcionando sin problemas. Es posible agregar características, considerar las sugerencias más riesgosas de los clientes y a rotar los miembros del equipo. Ahora tiene que desempeñar el papel de “guardián de la llama” en vez de ser el juguetón y curioso de la fase de exploración.
ITERACIONES PARA LA LIBERACIÓN DE LA PRIMERA VERSIÓN: Uno de los objetivos es realizar pruebas funcionales escritas por el cliente al final de cada iteración. Durante la etapa de las iteraciones también debe preguntarse si hay que alterar el itinerario de trabajo o si está lidiando con demasiadas historias. Convierta cada iteración exitosa en pequeños rituales e involucre en ellos tanto a los clientes como a los desarrolladores.
PUESTA EN PRODUCCIÓN: El ciclo de retroalimentación se agiliza de manera que en vez de recibir retroalimentación por una iteración cada tres semanas, las revisiones de software se entregan en una semana. Puede instituir sesiones informativas diarias para que todos sepan lo que los demás están haciendo. Poner un sistema en producción es un suceso emocionante; disponga de tiempo para celebrar con sus compañeros de equipo la ocasión. Uno de los lemas de la metodología ágil con el que todos estamos sinceramente de acuerdo es que ¡desarrollar sistemas debe ser divertido!
MANTENIMIENTO: Una vez liberado el sistema, debe seguir funcionando sin problemas. Es posible agregar características, considerar las sugerencias más riesgosas de los clientes y a rotar los miembros del equipo. Ahora tiene que desempeñar el papel de “guardián de la llama” en vez de ser el juguetón y curioso de la fase de exploración.
ANÁLISIS Y DISEÑO DE SISTEMAS ORIENTADO A OBJETOS
El análisis y diseño de sistemas orientado a objetos (O-O) es una metodología diseñada para facilitar el desarrollo
de sistemas que deben cambiar con rapidez en respuesta a los entornos empresariales dinámicos. Las metodologías
orientadas a objetos utilizan el estándar de la industria para modelar sistemas orientados a objetos,
conocido como lenguaje de modelado unificado (UML), para descomponer un sistema en un modelo de caso
de uso. La programación orientada a objetos difiere de la programación tradicional por procedimientos en cuanto
a que examina a los objetos que forman parte de un sistema.
Las fases en el UML son similares a las del SDLC. Como estos dos métodos comparten un modelado rígido
y exigente, se realizan a un ritmo más lento y reflexivo que las fases del modelado ágil. El analista pasa por las
fases del problema y de identificación, una fase de análisis y una fase de diseño.
los siguientes pasos muestran
una descripción breve del proceso del UML:
1. Definir el modelo de caso de uso.
El analista identifica a los actores y los eventos principales iniciados por los actores. A menudo el analista empieza por dibujar un diagrama con figuras hechas con líneas que representan a los
actores y flechas que muestran las relaciones entre ellos. A esto se le conoce como diagrama de caso de uso y representa el flujo estándar de eventos en el sistema.
2. Durante la fase de análisis de sistemas, empezar a dibujar diagramas de UML.
El analista dibujará Diagramas de actividad, los cuales ilustran todas las
principales actividades en el caso de uso. Ésta es una
oportunidad para regresar y revisar los casos de uso, replantearlos y modificarlos si es necesario.
3. Continuar en la fase de análisis, desarrollar diagramas de clases.
Los sustantivos en los casos de uso son objetos que se pueden agrupar potencialmente en clases.
4. Aún en la fase de análisis, dibujar diagramas de estado.
Los
diagramas de estado son en extremo útiles para modificar los diagramas de clases, por lo que continúa el
proceso iterativo de modelado de UML.
5. Empezar el diseño de sistemas mediante la modificación de los diagramas de UML; después, completar las
especificaciones.
El analista tendrá que escribir especificaciones de
clase para cada una de las clases e incluir los atributos, métodos y sus descripciones. También desarrollará
especificaciones de los métodos en las que se detallen los requerimientos de entrada y salida para cada
método, junto con una descripción detallada del procesamiento interno del método.
6. Desarrollar y documentar el sistema.
Un analista podrá crear modelos maravillosos, pero
si el sistema no se desarrolla no tiene mucho sentido crearlos.Entre
más completa sea la información que usted proporcione al equipo de desarrollo por medio de la
documentación y los diagramas de UML, más rápido será el desarrollo y más sólido será el sistema de
producción final.
CÓMO ELEGIR QUÉ MÉTODO DE DESARROLLO DE SISTEMAS USAR
En
las tres metodologías, el analista necesita comprender primero a la organización. Después el analista
o el equipo del proyecto necesitan elaborar un presupuesto del tiempo y los recursos necesarios para desarrollar
la propuesta del proyecto. A continuación deben entrevistar a los miembros de la organización y recopilar
información detallada mediante el uso de cuestionarios , obtener muestras de los datos de los
informes existentes y observar cómo se lleva a cabo la actividad empresarial actual . Las tres metodologías
tienen todas estas actividades en común.
Incluso los mismos métodos tienen similitudes. La metodología SDLC y la metodología orientada a objetos requieren
de un proceso exhaustivo de planeación y elaboración de diagramas. La metodología ágil y la metodología orientada
a objetos permiten crear subsistemas uno a la vez hasta que se complete todo el sistema. La metodología ágil y
la metodología SDLC se interesan por la forma lógica en que los datos se desplazan a través del sistema.
La siguiente figura muestra un conjunto de
lineamientos para ayudarlo a elegir qué método utilizar para desarrollar su siguiente sistema.
No hay comentarios.:
Publicar un comentario