jueves, 16 de julio de 2009

Documento guía para el desarrollo académico de sistemas informáticos

Documento guía para el desarrollo académico de sistemas informáticos, con un ejemplo de Plan del Desarrollo de Software y ejemplos del Análisis y Diseño Funcional de Requerimientos. Este ejemplo lo tenía en mi página web anterior y lo desarrollé en el 2004, pero la metodología y ejemplos bien siguen vigentes y son de utilidad.

Tema: Elaboración del sistema informático para la aplicación de la norma de evaluación educativa en el “Instituto de Estudios Superiores Virgen María”

1. PROYECTO

1.1 Objetivo General

Realizar el Análisis, Diseño e Implementación del Sistema Informático para la automatización de la aplicación de la Norma de Evaluación Educativa para el “Instituto de Estudios Superiores Virgen María”

1.2 Objetivos Específicos

1.2.1 Realizar el análisis de la situación actual y levantar formalmente los requerimientos.

1.2.2 Realizar el Análisis y Diseño del Sistema.

1.2.3 Realizar el Desarrollo, Implantación y Pruebas del Sistema.

1.2.4 Elaborar las Conclusiones y Recomendaciones para el uso y mantenimiento del Sistema, así como otras recomendaciones pertinentes observadas.

1.3 Alcance

El proyecto cubre los aspectos de Análisis, Diseño, Desarrollo e Implantación del Sistema Informático para la automatización de la aplicación de la norma de evaluación educativa empleada en el Instituto de Estudios Superiores Virgen María.

Será una aplicación web a la que se podrá acceder con un usuario y una clave desde cualquier sitio que tenga conexión a Internet. Quienes accederán serán: docentes, directivos, educandos, egresados y padres de familia.

El sistema permitirá:

-Llenar cuestionarios para evaluación a profesores, evaluaciones de satisfacción de los estudiantes, evaluaciones de satisfacción con la infraestructura del Instituto y cualquier tipo de cuestionario que se desee cargar en el sistema. A través de una página web, controlando los niveles de acceso de acuerdo a en cuál categoría se encuentra el ingresante a la página, por ejemplo categoría de estudiante, padre de familia o profesor del Instituto.

-Procesar la información: contabilizar los resultados y generar cuadros y diagramas estadísticos.

-Agregar, modificar o eliminar preguntas; esto lo harán las personas que estén a cargo del sistema.

1.4 Planificación de Recursos

1.4.1 Estimaciones

Etapa Esfuerzo(meses) Horario (meses) Costo

Análisis 1 0.5 x
Diseño de Producto 2 1.5 x
Codificación 7 7 x
Pruebas de Código y Unidad 4 0.5 x
Integración y Pruebas 2 1 x

Total costo: xxxx

(Se puede emplear por ejemplo el método de estimación COCOMO para obtener métricas de los parámetros sobre los que se realiza la planificación de recursos.)

1.4.2 Herramientas a utilizar

-Computador tecnología de punta
-Impresora
-Microsoft Visual .NET
-CDs y DVDs
-Grabadora
-Papel 5 resmas

1.4.2 Cronograma

Insertar aquí cronograma que puede ser realizado usando barras de tiempo.

2. ANÁLISIS DEL SISTEMA

2.1 Marco Teórico

2.1.1 Información relacionada con el tema del proyecto

2.1.2 Información descriptiva con definiciones de las herramientas a utilizar

(2.1.2 Puede ir después del levantamiento de requerimientos al saber exactamente qué herramientas brindan las facilidades requeridas, o caso contrario ir aquí en caso de que se hayan seleccionado las herramientas a priori.)








2.2 Definición del Problema

2.2.1 Análisis de la Situación Actual

2.2.1.1 Valoración del Estudio de la Situación Actual

El Departamento de Investigación Educativa del “Instituto de Estudios Superiores Virgen María” ejecuta varias funciones, pero una de las principales es la de realizar la evaluación del estado de la educación y la gestión e infraestructura proporcionada por la Institución para los fines educativos.

Para cumplir con este fin viene ejecutando una aplicación anual de cuestionarios en papel a las personas en las diferentes áreas de la Institución.

Los encuestados llenan los cuestionarios y posteriormente el Departamento de Investigación tabula una por una las respuestas empleando Microsoft Excel.

Con estos datos se generan gráficos y se prepara un informe para uso interno y revisión de las autoridades pertinentes.

2.2.1.2 Identificación de Participantes en el Proceso de la Situación Actual

-Director del Departamento de Investigación Educativa: encargado de generar las directrices de procedimiento, de supervisar el trabajo, de administrar las funciones y colaboración del personal del departamento y de presentar los informes hacia el exterior del departamento.

-Especialista en Investigación: encargado de elaborar la metodología de aplicación de los cuestionarios y de análisis estadístico de los datos, así como de los contenidos de los cuestionarios.

-Especialista en Educación: encargado de procesar la información y elaborar los informes.

-Digitador: encargado de tabular los datos de los cuestionarios y pasarlos a Microsoft Excel.

2.2.1.3 Deficiencias del Proceso Actual

Existen dos deficiencias principales debidas a que la tabulación de los datos es manual:

-Costo y Tiempo: estos dos factores van juntos y en este caso rivalizan, pues si se invierte en un personal numeroso para la tabulación de los datos, el procedimiento se vuelve fuera de presupuesto, y caso contrario, con una sola persona encargada de la tabulación el procedimiento es lento para la entrega de resultados.

-Precisión (integridad) de la información: al ser un procedimiento manual en el que se repiten muchas acciones juntas de tipo humano, los resultados se ven sujetos a errores de tabulación.

2.2.2 Especificación de Requerimientos

2.2.2.1 Referencias

Se empleará el estándar IEEE Std 830-IEEE Guide to Software Requirements Specifications. IEEE Standards Board.

2.2.2.2 Catalogación de Requerimientos Funcionales

La notación sugerida para la catalogación de requerimientos funcionales es un mecanismo útil para entender los requerimientos a la vez que se plantea un bosquejo a modo de prediseño de lo que serán las funciones y procedimientos más adelante.

2.2.2.2.1 Switch de ingreso

Función: Switch de ingreso
Introducción: El objetivo de esta función es el enviar al usuario a la pantalla de inicio que le corresponde, y guardar el usuario activo para control del programa mientras el usuario está en línea.
Entradas: nombre de usuario y clave
Proceso:
o BEGIN switch ingreso
o RECIBE nombre de usuario, clave
o PROCESO: IF nombre de usuario, clave están registrados como administrador THEN guardar usuario activo en una cookie AND llamar a la función de despliegue de opciones administrativas ELSE IF nombre de usuario, clave están registrados como categoría configurada de usuario THEN llamar a la función de despliegue de cuestionarios por categoría de usuario respectiva (por ejemplo, las categorías actuales serían: directivos, docentes, educandos y egresados) ELSE IF nombre de usuario, clave están registrados como usuario investigación educativa THEN llamar a la función de despliegue de opciones de investigación END IF END IF, ELSE llamar a la función de despliegue de aviso para usuario no registrado END IF.
o END switch ingreso
Salidas:

o Pantalla de opciones administrativas
o Pantalla de cuestionario respectivo de acuerdo a la categoría
o Pantalla de aviso de usuario no registrado
o Pantalla de opciones de investigación educativa


2.2.2.2.2 Despliegue de opciones administrativas

Función: Despliegue de opciones administrativas
Introducción: El objetivo de esta función es el desplegar la pantalla principal de administración del sistema, con las opciones: preguntas y respuestas, con hipervínculos en cada una de las dos opciones, que llevarán a hojas desde las cuales se las pueda ver, editar, borrar y agregar.
Entradas: nombre de usuario (tomado de cookie)
Proceso:
o BEGIN despliegue de opciones administrativas
o RECIBE nombre de usuario
o PROCESO: IF nombre de usuario es administrador THEN despliegue de una página que contenga hipervínculos a las opciones: configuración de respuestas y configuración de preguntas. El primer vínculo llama a la función pantalla principal de configuración de respuestas, y el segundo a la función pantalla principal de configuración de preguntas. END IF
o END despliegue de opciones administrativas
Salidas:

o Pantalla estática

2.2.2.2.3 Pantalla principal de configuración de respuestas



2.2.2.2.4 Borrar respuestas/opciones

Función: Borrar respuestas/opciones
Introducción: El objetivo de esta función es el de borrar de la base de datos las respuestas u opciones seleccionadas.
Entradas: código de cada respuesta u opción seleccionada
Proceso:
o BEGIN borrar respuestas
o RECIBE código de respuesta u opción
o PROCESO: IF código de respuesta u opción es válido THEN IF código pertenece a respuesta THEN elimina de la base de datos la respuesta y todas sus opciones ELSE IF código pertenece a opción THEN elimina de la base de datos la opción END IF. END IF. Llamar a función desplegar pantalla de confirmación de cambios ELSE mensaje de error END IF.
o END borrar respuestas
Salidas:

o Pantalla estática

2.2.2.2.5 Editar respuestas/opciones

Función: Editar respuestas/opciones
Introducción: El objetivo de esta función es el habilitar en la pantalla principal del administración del sistema, que la respuesta habilitada se pueda editar y aparezca el botón guardar los cambios.
Entradas: código de respuesta u opción
Proceso:
o BEGIN editar respuestas
o RECIBE código de respuesta u opción
o PROCESO: IF código de respuesta u opción es válido THEN habilita la edición de la respuesta u opción AND despliega botón guardar. END IF. IF clic en botón guardar THEN guardar los cambios en la base de datos AND llamar a función desplegar pantalla de confirmación de cambios. END IF ELSE mensaje de error. END IF.
o END editar respuestas
Salidas:

o Pantalla estática

2.2.2.2.6 Agregar respuestas + opciones

Función: Agregar respuestas+opciones
Introducción: El objetivo de esta función es el agregar la respuesta y sus opciones con la información –la respuesta en sí misma con su configuración, que describe el tipo de opción de respuesta (booleana o de texto)- escrita en el espacio inferior de la pantalla secundaria de administración del sistema, configuración de respuestas.
Entradas: nombre del tipo de respuesta, opciones, tipo de cada opción
Proceso:
o BEGIN agregar respuestas
o RECIBE texto del tipo de respuesta, texto de cada opción, tipo de cada opción
o PROCESO: IF entradas de respuesta y de opciones son de tipo alfanumérico THEN guardar la respuesta + opciones en la base de datos AND llamar a función desplegar pantalla de confirmación de cambios. ELSE mensaje de error. END IF.
o END agregar respuestas
Salidas:

o Pantalla estática

2.2.2.2.7 Pantalla principal de configuración de preguntas

Función: Pantalla principal de configuración de preguntas
Introducción: El objetivo de esta función es el desplegar la pantalla secundaria de administración del sistema, configuración de preguntas, con todas las preguntas cargadas, incluida la opción de respuesta para cada pregunta (Ej. - Categoría: “Evaluación de Infraestructura Institucional”, Pregunta: “¿Considera que existe suficiente número de computadores en los laboratorios?”, Opción de respuesta: “Muy de acuerdo MA, de Acuerdo A, Parcialmente de Acuerdo, PA, en Desacuerdo D”), y las opciones editar, borrar y agregar, con un espacio en la parte inferior de las preguntas para agregar nuevas preguntas y cargarlas al sistema.
Entradas:
Proceso:
o BEGIN configuración de preguntas
o RECIBE nombre de usuario
o PROCESO: IF nombre de usuario es administrador THEN despliegue de una página que contenga las opciones borrar, editar y agregar preguntas. Al cargar la página se despliegan todas las preguntas cargadas, con un botón para agregar las preguntas por áreas de evaluación (y dentro de esta opción, la ordenación por cuestionarios como segundo elemento de ordenación) y la opción de ordenación por cuestionarios, con la ordenación predefinida al agregar las preguntas. Junto a las preguntas se encuentra una casilla de verificación. También en la parte inferior de la pantalla está un espacio para agregar las preguntas. IF casilla está marcada AND clic en borrar THEN llamar a la función borrar preguntas, ELSE IF casilla está marcada AND clic en editar THEN llamar a editar preguntas. END IF. IF espacio inferior está lleno AND clic en agregar THEN llamar a agregar preguntas. END IF. --.
o END configuración de preguntas
Salidas:

o Datos estáticos
o Preguntas cargadas + opciones de tipos de pregunta

2.2.2.2.8 Borrar preguntas

Función: Borrar preguntas
Introducción: El objetivo de esta función es el borrar de la base de datos las preguntas seleccionadas.
Entradas: código de cada pregunta
Proceso:
o BEGIN borrar preguntas
o RECIBE código de pregunta
o PROCESO: IF código de pregunta es válido THEN elimina de la base de datos la pregunta AND llamar a función desplegar pantalla de confirmación de cambios ELSE mensaje de error END IF.
o END borrar preguntas
Salidas:

o Pantalla estática


2.2.2.2.9 Editar preguntas

Función: Editar preguntas
Introducción: El objetivo de esta función es el habilitar en la pantalla principal de administración del sistema, que la pregunta seleccionada se pueda editar y aparezca el botón guardar los cambios.
Entradas: código de pregunta
Proceso:
o BEGIN editar preguntas
o RECIBE código de pregunta
o PROCESO: IF código de pregunta es válido THEN habilita la edición de la pregunta AND despliega botón guardar. END IF. IF clic en botón guardar THEN guardar los cambios en la base de datos AND llamar a función desplegar pantalla de confirmación de cambios. END IF ELSE mensaje de error. END IF.
o END editar preguntas
Salidas:

o Pantalla estática


2.2.2.2.10 Agregar preguntas

Función: Agregar preguntas
Introducción: El objetivo de esta función es el agregar la pregunta con la información –la pregunta en sí misma con su configuración, que describe el cuestionario, el área y el tipo de opción de respuesta- escrita en el espacio inferior de la pantalla principal de administración del sistema.
Entradas: nombre de usuario (tomado de cookie)
Proceso:
o BEGIN agregar preguntas
o RECIBE texto de pregunta, código de cuestionario, código de tipo de opción de respuesta
o PROCESO: IF espacio de texto de pregunta no está vacío THEN guardar la pregunta + código de cuestionario + código de tipo de respuesta AND llamar a función desplegar pantalla de confirmación de cambios. ELSE mensaje de error. END IF.
o END agregar preguntas
Salidas:

o Pantalla estática


2.2.2.2.11 Desplegar pantalla de confirmación de cambios

Función: Desplegar pantalla de confirmación de cambios
Introducción: El objetivo de esta función es el desplegar la pantalla estática de confirmación de cambios.
Proceso:
o BEGIN despliegue
o PROCESO: desplegar en pantalla el mensaje: “Los cambios fueron realizados”.
o END despliegue
Salidas:
o Pantalla estática

2.2.2.2.12 Despliegue de cuestionarios por categoría de usuario respectiva

Función: Despliegue de cuestionarios por categoría de usuario respectiva.
Introducción: El objetivo de esta función es el desplegar en pantalla, una pregunta a la vez, todas las preguntas de un cuestionario respectivo de acuerdo al usuario; ordenadas las preguntas de acuerdo a la configuración establecida al crear o editar la pregunta. Y llama a una función que irá guardando las respuestas al cuestionario, manteniéndolo como usuario anónimo para asegurar la veracidad en las respuestas, en los cuestionarios que no sean creados para evaluación académica, sino con fines de encuesta, que es el propósito principal de esta aplicación.
Entradas: nombre de usuario (tomado de cookie).
Proceso:
o BEGIN despliegue de cuestionarios
o RECIBE nombre de usuario
o PROCESO: IF nombre de usuario pertenece a categoría configurada (por ejemplo categoría “estudiantes”, o categoría “padres de familia”) THEN despliegue de una página con la bienvenida a la encuesta y llama a la función desplegar siguiente pregunta, para desplegar la primera pregunta. IF clic en siguiente THEN llamar a la función guardar respuesta de cuestionario a esa pregunta como usuario anónimo y llama a la función desplegar siguiente pregunta. END IF. IF pregunta es última AND clic en siguiente THEN llamar a la función desplegar pantalla de agradecimiento. END IF.--
o END despliegue de cuestionarios
Salidas:

o Datos estáticos
o Preguntas cargadas


2.2.2.2.13 Desplegar siguiente pregunta

Función: Desplegar siguiente pregunta
Introducción: El objetivo de esta función es el desplegar en la pantalla la pregunta siguiente del cuestionario correspondiente.
Entradas: código de pregunta anterior
Proceso:
o BEGIN desplegar siguiente pregunta
o RECIBE código de pregunta anterior
o PROCESO: IF código de pregunta anterior no es la última pregunta THEN desplegar la pregunta siguiente con los datos y formato adecuados. ELSE devolver flag de última pregunta. END IF.
o END desplegar siguiente pregunta
Salidas:

o Datos estáticos
o Pregunta correspondiente
o Código de la pregunta actual o flag de última pregunta

2.2.2.2.14 Guardar respuesta de cuestionario

Función: Guardar respuesta de cuestionario
Introducción: El objetivo de esta función es el guardar en la base de datos la respuesta de cada pregunta a medida que le va respondiendo el usuario encuestado.
Entradas: código de pregunta actual, respuesta booleana, texto
Proceso:
o BEGIN guardar respuesta de cuestionario
o RECIBE código de pregunta actual, respuesta booleana, texto
o PROCESO: guarda en la base de datos, en el registro correspondiente al código de la pregunta actual, la respuesta booleana AND IF texto en observaciones THEN guarda el texto de observaciones en ese registro. END IF.
o END guardar respuesta de cuestionario
Salidas:
o Flag de guardado (guardado o no guardado)


2.2.2.2.15 Desplegar pantalla de agradecimiento

Función: Desplegar pantalla de agradecimiento
Introducción: El objetivo de esta función es el desplegar la pantalla de agradecimiento al usuario X por llenar el cuestionario.
Proceso:
o BEGIN despliegue
o PROCESO: desplegar en pantalla el mensaje: “Gracias por participar en esta encuesta para mejorar los servicios del Instituto”.
o END despliegue
Salidas:

o Pantalla estática



2.2.2.2.16 Despliegue de opciones de investigación

Función: Despliegue de opciones de investigación
Introducción: El objetivo de esta función es el desplegar la pantalla de usuarios de Investigación Educativa con las opciones: revisar resultados de las encuestas en pantalla, enviar a documento de Microsoft Word o imprimir.
Entradas: nombre de usuario (tomado de cookie)
Proceso:
o BEGIN despliegue de opciones de investigación
o RECIBE nombre de usuario
o PROCESO: IF nombre de usuario es usuario investigación educativa THEN despliegue de una página que contenga hipervínculos a las opciones: ver en pantalla, enviar a documento de Word. IF clic en el primer vínculo THEN llama a la función ver resultados investigación END IF. ELSE IF clic en el segundo THEN llama a la función resultados investigación en Microsoft Word END IF. END IF.
o END despliegue de opciones de investigación
Salidas:

o Datos estáticos


2.2.2.2.17 Ver resultados investigación

Función: Ver resultados investigación
Introducción: El objetivo de esta función es el desplegar en pantalla la cuantificación de resultados por cada pregunta de cada cuestionario y su respectiva graficación en forma de pastel. Además el informe contendría un cuadro (tabla) de resultados para cada pregunta y cada área evaluada, con los totales para cada grupo.
Entradas: nombre de usuario (tomado de cookie)
Proceso:
o BEGIN ver resultados investigación
o RECIBE nombre de usuario
o PROCESO: IF nombre de usuario es usuario investigación educativa THEN despliegue en pantalla de la cuantificación de resultados por cada pregunta de cada cuestionario y su respectiva graficación en forma de pastel + un cuadro (tabla) de resultados para cada área evaluada (ejemplo: Perfil Profesional), con los totales para cada grupo. END IF.
o END ver resultados investigación
Salidas:

o Cálculos del sistema para cuantificar los datos y crear los gráficos.



2.2.2.2.18 Resultados investigación en Microsoft Word

Función: Ver resultados investigación en Microsoft Word
Introducción: El objetivo de esta función es el crear un archivo de formato Microsoft Word con la información de la función ver resultados investigación.
Entradas: nombre de usuario (tomado de cookie)
Proceso:
o BEGIN resultados en Microsoft Word
o RECIBE nombre de usuario
o PROCESO: IF nombre de usuario es usuario investigación educativa THEN guardar informe con la cuantificación de resultados por cada pregunta de cada cuestionario y su respectiva graficación en forma de pastel + un cuadro (tabla) de resultados para cada área evaluada (ejemplo: Perfil Profesional), con los totales para cada grupo, en formato de Microsoft Word y desplegar la opción de guardar el archivo en un directorio seleccoionado. END IF.
o END resultados en Microsoft Word.
Salidas:

o Datos estáticos
o Archivo con resultados estadísticos


2.2.2.2.19 Despliegue aviso para usuarios no registrados

Función: Despliegue de aviso para usuarios no registrados
Introducción: El objetivo de esta función es el desplegar la pantalla estática de aviso de que el usuario no está registrado, llamada al ingreso al sistema.
Proceso:
o BEGIN despliegue usuarios no registrados
o PROCESO: desplegar en pantalla el mensaje: “Verifique el nombre de usuario y/o clave y vuelva a intentarlo, o si no contáctese con el Administrador del Sistema (Centro de Cómputo Instituto de Estudios Superiores Virgen María)”.
o END despliegue usuarios no registrados
Salidas:

o Pantalla estática


2.1.2.3 Catalogación de Requerimientos No Funcionales

2.1.2.3.1 Interfaces de hardware

Servidor
-Computador con :
(características del computador; procesador, memoria, disco duro, etc.)
Cliente
-Computador con:
(características del computador; procesador, memoria, disco duro, etc.)
2.1.2.3.2 Interfaces de software

Servidor

-Sistema operativo XXXX

Cliente

-Sistema operativo XXXX
-Interfaces de Navegación XXXX

2.3 Tecnología, Metodología y Herramientas para hacer frente al Problema

En esta sección, fruto del análisis de requerimientos, debe ir una enumeración de tecnologías a emplear para el diseño e implementación del código, junto con una introducción a cada una para ser entendida por los participantes y como información para quienes aprueban y tienen que ver con el proyecto.

Ejemplo:
Tecnología web:

HTML
DHTML
XML

Lenguajes de desarrollo:

Lenguaje de programación
Framework .NET
Visual Basic .NET
ASPX

Metodología de desarrollo:

Metodología OMT

Etc.

2.4 Cronograma

En el planteamiento del proyecto (1. Proyecto) se requiere un cronograma tentativo, pero en realidad es después del análisis que se puede saber cómo programar las actividades.

Ejemplo de actividades a ir en el cronograma:

Día 1 Día 2 Día 3 …(fechas)

-Diseño de Modelo de Objetos x x
-Diseño de Modelo Dinámico x x
-Diseño de Diagrama de Estados x x x
Modelo Funcional
-Diagramas de Flujo de Datos DFDs x x x
Modelado de Sistemas UML
-Diagramas de Casos de Uso
-Diagramas de Secuencia
-Diagramas de Colaboración
-Diagramas de Estado
-Diagramas de Actividad
-Diagramas de Clases
-Diagramas de Objetos
-Diagramas de Componentes
-Diagramas de Implementación

-Implementación de Código
Etc.
--------

Es lo principal en cuanto al Plan de Proyecto y Análisis de Requerimientos Funcionales de este proyecto tentativo. En otra entrega explicaré a través de ejemplos el diseño de clases como parte del Diseño del Software, siguiendo este mismo ejemplo.

Autora de este documento: Clara Placencia -
claraluecuador@yahoo.com
Diciembre 2004

No hay comentarios:

Publicar un comentario