lunes, 30 de marzo de 2015

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.


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