Sunteți pe pagina 1din 23

Primer avance de proyecto de software

para la gestion de inscripciones en cursos


Andres Felipe Bustamante Garc
a, Carolina Sarmiento Gonzalez

1.

Introduccion

En este documento se presentan los resultados del primer avance


realizado con el proyecto relacionado con el sistema de informacion para
la gestion academica de inscripciones en cursos, luego de la propuesta
presentada en semanas anteriores.
En la seccion 2 se presentan las descripciones de los requisitos espec
ficos para el problema propuesto, tanto funcionales como no
funcionales. En la seccion 3 se define la metodologa a utilizar a lo largo
del proyecto, teniendo en cuenta los requisitos presentados, para luego
describir en la seccion 4 los alcances y limitaciones encontrados para el
desarrollo del mismo. Posterior- mente, se hace la identificacion de los
casos de uso en la seccion 5, con la claridad de cuales casos de todos los
identificados van a ser tenidos en cuenta para la implementacion del
prototipo entregable al final del curso. Finalmen- te, en la seccion 6 se
describe el avance tenido en las actividades relacionadas con la primera revisi
on del analisis y diseno del sistema de informacion, con el enfoque
arquitectural de orientacion a servicios visto en clase aplicado al
entendimiento del negocio, la arquitectura del sistema y un diseno inicial
de los servicios a implementar en el sistema.

2.

Especificacion de Requisitos

A continuacion se presentan los requisitos funcionales y no


funcionales del sistema de informacion a presentar, con el fin de que
1

sirvan como base para las fases de la metodologa que se seleccione


posteriormente para llegar al prototipo final.

2.1.

Requisitos funcionales

2.1.1.

FRQ-01: Gestionar usuarios

Version: 1.0
Autores : Andres Bustamante y Carolina Sarmiento
Fuentes : Andres Bustamante y Julian Higuera [1]
Descripcion: El prototipo de software debe estar en la capacidad
de gestionar los usuarios que pueden utilizarla, los cuales son:
adminis- tradores, profesores y estudiantes. La gestion incluye
agregar usuarios, gestionar sus permisos, y modificar la informacion
de estos.
Importancia: Alta
Comentarios : Ninguno
2.1.2.

FRQ-02: Gestionar cursos

Version: 1.0
Autores : Andres Bustamante y Carolina Sarmiento
Fuentes : Andres Bustamante y Julian Higuera [1]
Descripcion: El prototipo de software debe estar en la capacidad de
per- mitir crear cursos, borrarlos, y configurarlos, por parte de los
usuarios segun los permisos que se les hayan asignado.
Importancia: Alta
Comentarios : Ninguno
2.1.3.

FRQ-03: Gestionar la inscripcion en programas y cursos

Version: 1.0
Autores : Andres Bustamante y Carolina Sarmiento

Fuentes : Andres Bustamante y Julian Higuera [1]

Descripcion: El prototipo de software debe permitirle a los usuarios


del mismo, solicitar la inscripcion en un programa que le resulte de
interes, de forma que sea inscrito por un usuario autorizado para
tal fin. Asi- mismo, los estudiantes ya inscritos en un programa
deben poder, por medio del sistema, inscribirse en los distintos cursos
que lo conforman. La aplicacion tambien debe permitirle a los
usuarios inscritos solici- tar la eliminacion de la inscripcion que
posean a los cursos segun este lo considere necesario, para ser
procesada por un usuario autorizado posteriormente.
Importancia: Alta
Comentarios : Ninguno
2.1.4.

FRQ-04: Autenticar usuarios

Version: 1.0
Autores : Andres Bustamante y Carolina Sarmiento
Fuentes : Andres Bustamante y Julian Higuera [1]
Descripcion: El prototipo de software debe estar en la facultad de
au- tenticar los usuarios que ingresan a la aplicacion por medio de
contra- senas proporcionadas por el administrador inicialmente o
que hayan sido cambiadas a peticion por los mismos usuarios.
Importancia: Alta
Comentarios : Ninguno
2.1.5.

FRQ-05: Asistir en inscripcion de programa

Version: 1.0
Autores : Andres Bustamante y Carolina Sarmiento
Fuentes : Ninguna

Descripcion: El prototipo de software debe poder asistir a los


usuarios externos al momento de solicitar la inscripcion a un
programa de los

distintos programas ofertados, de acuerdo a sus intereses


personales y su perfil academico.
Importancia: Media
Comentarios : La asistencia debe ser solicitada explcitamente por el
usuario.

2.2.

Requisitos No Funcionales

2.2.1.

NFR-01: Usabilidad

Version: 1.0
Autores : Andres Bustamante y Carolina Sarmiento
Fuentes : Ninguna
Descripcion: El producto de software debe tener una interfaz de
usua- rio sencilla e intuitiva, orientada a las tecnologas de
presentacion en Web, y manteniendo coherencia logica con el
contexto educativo que involucra, en lo que a navegacion en el
sistema se refiere.
Importancia: Alta
Comentarios : Ninguno
2.2.2. NFR-02: Extensibilidad
Version: 1.0
Autores : Andres Bustamante y Carolina Sarmiento
Fuentes : Ninguna
Descripcion: El prototipo de software debe ser disenado de modo
que permita la facil extension a nuevas funcionalidades, en el menor
tiempo de desarrollo posible, haciendo reutilizacion de los
componentes base implementados en el prototipo inicial.
Importancia: Alta

Comentarios : Ninguno

2.2.3. NFR-03: Portabilidad


Version: 1.0
Autores : Andres Bustamante y Carolina Sarmiento
Fuentes : Ninguna
Descripcion: El prototipo final debe poder ser utilizado desde un
nave- gador Web convencional en cualquier computador conectado
a la red, independientemente del sistema operativo que utilice.
Importancia: Alta
Comentarios : Ninguno
2.2.4. NFR-04: Optimizacion de Tiempos de Respuesta
Version: 1.0
Autores : Andres Bustamante y Carolina Sarmiento
Fuentes : Ninguna
Descripcion: Los tiempos de respuesta a las solicitudes realizadas
por los usuarios deben ser no mayores a dos (2) segundos. En el
caso de que se requiera un procesamiento mas extenso, debe ser
advertido de forma adecuada al usuario solicitante.
Importancia: Media
Comentarios : Ninguno
2.2.5. NFR-05: Sistema Distribuido
Version: 1.0
Autores : Andres Bustamante y Carolina Sarmiento
Fuentes : Ninguna
5

Descripcion: El diseno del sistema de software a desarrollar debe


estar orientado a la utilizacion de tecnologas para sistemas
distribuidos, de forma que se puedan distribuir los componentes,
aplicando conceptos de Ingeniera de Software Avanzada.
Importancia: Alta
Comentarios : Ninguno

3.

Metodologa

Para llevar a cabo las actividades necesarias para la exitosa culminacio


n del proyecto de software, se considero adoptar el Proceso Unificado de
Desa- rrollo como metodologa de trabajo, teniendo en cuenta el
conocimiento que se tiene de los requerimientos, y dadas las tres caracter
sticas esenciales que esta metodologa posee: es una metodologa
dirigida por casos de uso, cen- trada en la arquitectura, ademas de
iterativa e incremental [2]; que son de gran importancia en el desarrollo
de un software como el que se quiere llegar a obtener al final del curso.
Sin embargo, dada la brevedad de tiempo con que se cuenta para el
desa- rrollo de la metodologa, se va a reducir la cantidad de
documentacion a emitir al final de cada fase sugerida dentro de la
misma, y en la fase de tran- sicion se tendran en cuenta solo algunas
actividades de los flujos de trabajo sugeridos, ya que por tratarse de un
ejercicio academico, no existe un cliente directo para hacer un flujo de
pruebas completo y una implementacion y entrega formales.
Esta metodologa tendra como soporte documentacion elaborada
en el Lenguaje de Modelado Unificado (UML), en las distintas fases e
iteraciones que se logren desarrollar.

4.
4.1.

Alcances y limitaciones del proyecto


Alcances
Para la consecucion de los objetivos consignados en la propuesta
del proyecto se ha decidido seguir la metodologa propuesta en el

Proceso Unificado de Desarrollo con el apoyo de UML, haciendo


enfasis en las actividades de analisis, diseno e implementacion.

Teniendo en cuenta los requisitos presentados, se les dara prioridad


para la implementacion a casos de uso relacionados con la creacion
de entidades en el sistema, por encima de aquellos que involucren la
eliminacion o modificacion de las mismas en ese orden.
Asimismo, se les dara prioridad a los casos de uso determinados para
activacion por parte de los estudiantes, por encima de los casos de uso
relacionados con los profesores o administradores del sistema.
Los despliegues de los componentes del prototipo se haran sobre maquinas de escritorio, de forma que la capacidad de computo no sera de
escala de servidores, y el diseno
orientado a ser adecuado para
estara este tipo de maquinas.
Los datos utilizados para los listados de cursos van a ser tomados de
una base de cursos del Servicio Nacional de Aprendizaje (SENA),
pu- blicados en su pagina de Internet.

4.2.

Limitaciones
En el desarrollo del proyecto no se tendran actividades relacionadas
con las pruebas del producto, dada la brevedad de tiempo y la
connotacion que se le da al producto de prototipo.
No se van a utilizar tecnologas multimedia como Flash para la
presen- tacion del prototipo al usuario final, sino interfaces graficas
de usuario planas pero usables.
No se van a tener en cuenta para el diseno del prototipo,
consideracio- nes de clustering de los diferentes componentes a
desplegar. Se van a considerar instancias unicas de los
componentes para agilizar el desa- rrollo.

5.

Identificacion de casos de uso

Los casos de uso estan organizados por subsistemas, de la siguiente


ma- nera:
7

Figura 1: Diagrama de casos de uso para el modulo de gestion de inscripciones


Subsistema de inscripciones. En este subsistema se realizan
activida- des relacionadas con la inscripcion de usuarios externos
en programas registrados en el sistema de informacion, as como la
inscripcion de es- tudiantes en los cursos asociados a dichos
programas. Los casos de uso para este subsistema se presentan en
la figura 1.
Subsistema de cursos. Los casos de uso relacionados con la gestion
de alto nivel de los cursos y programas, as como de las
inscripciones en los mismos se encuentran en este subsistema,
como se presenta en la figura 2.
Subsistema de usuarios. La gestion de alto nivel de usuarios
(estudian- tes y profesores) se describe en este subsistema, as como
la autentica- cion del usuarios internos en el sistema, con los casos
de uso mostrados en la figura 3.

5.1.

Casos de uso para desarrollar

Teniendo en cuenta el alcance y limitaciones presentados para el


desarrollo del prototipo de software, se han seleccionado los siguientes casos
de uso para su implementacion:
Crear programa curricular

Crear curso

Figura 2: Diagrama de casos de uso para el modulo de gestion de cursos


Consultar listados de cursos
Consultar listado de programas
Inscribir estudiante en programa
Inscripcion en curso
Solicitar inscripcion en programa
Iniciar sesion
Terminar sesion
Crear usuario

Figura 3: Diagrama de casos de uso para el modulo de gestion de usuarios

6.

Analisis y Diseno del Sistema

6.1.

Entendimiento del negocio

De acuerdo a la descripcion del problema enunciado en la propuesta


del proyecto, y de acuerdo a los casos de uso recien determinados para el
sistema, se puede analizar el dominio de la forma que se presenta en la
figura 4.

6.2.

Arquitectura del sistema

El diseno de la arquitectura del sistema de informaci


on esta

guiado por

la orientacion a servicios vista en clase. De esta forma, se han


determinado componentes funcionales distribuidos para interactuar por
medio de llamadas a servicios con el protocolo SOAP (Simple Object
Access Protocol ). Esta distribucion se presenta en la figura 5

6.3.

Diseno de servicios

En esta fase, guiados por las recomendaciones de David Besemer de


Com- posite Software, y con base en los casos de uso que van a ser
implementados

Figura 4: Modelo de analisis de dominio del problema


en el prototipo final, se han determinado una serie de servicios para ser
publi- cados y utilizados en el sistema de informacion. A continuacion se
presentan y se describen estos servicios, clasificados de acuerdo al tipo de
servicio:
6.3.1.

Servicios de datos

1. Gestion de cursos
validarPrograma. Validar que un programa que va a ser creado
no exista previamente en el sistema, teniendo en cuenta que el
nombre de los programas debe ser unico.
validarCurso. Validar que un curso no haya sido creado previamente con un mismo nombre para un mismo programa.
buscarPrograma. Buscar en el listado de programas registrados en
el sistema, aquel que coincida con el criterio de identificador.

buscarCurso. Buscar en el listado de cursos de un programa,


aquel que coincida con el criterio de identificador.

Figura 5: Despliegue de los componentes arquitecturales del sistema


listarProgramas. Obtener el listado general de programas registrados en el sistema.
listarCursos. Obtener el listado de cursos registrados para un
pro- grama en particular.
2. Gestion de inscripciones
validarInscripcionPrograma. Validar que los datos ingresados
para crear una inscripcion en el sistema esten completos y en el
formato adecuado.
validarInscripcionCurso. Validar que un estudiante tenga la
posi- bilidad de inscribirse en un curso seleccionado, dadas
restricciones de negocio.
12

validarSolicitudInscripcionPrograma. Validar que una solicitud de


inscripcion propuesta por un usuario externo para un
programa, tenga la informacion requerida y correcta para ser
remitida al administrador.
3. Gestion de usuarios
validarUsuario. Validar que los datos de creacion de un
usuario (estudiante o profesor) en el sistema, esten completos y
el formato sea el adecuado.
buscarUsuarioPorNombreUsuario. Buscar entre los usuarios
regis- trados en el sistema, aquel usuario que coincida con el
criterio de nombre de usuario.
compararContrasena. Comprobar si la contrasena asociada a
un usuario coincide con una contrasena ingresada para
realizar un inicio de sesion.
6.3.2. Servicios de transacciones
1. Gestion de cursos
crearPrograma. Registrar en el sistema los datos asociados a un
nuevo programa curricular.
crearCurso. Registrar en el sistema los datos asociados a un
nuevo curso, asociado a un programa curricular existente.
2. Gestion de inscripciones
crearInscripcionPrograma. Registrar en el sistema la inscripci
on de un nuevo estudiante en un programa curricular
seleccionado.
crearInscripcionCurso. Registrar en el sistema una nueva
asocia- cion entre un estudiante determinado y un curso
seleccionado.
enviarSolicitudInscripcionPrograma. Procesar un mensaje de correo electronico con los datos para la inscripcion de un nuevo estudiante en uno de los programas registrados en el sistema.

3. Gestion de usuarios

crearUsuario. Registrar en el sistema los datos asociados a un


nuevo usuario, ya sea estudiante o profesor.
encriptarContrasena. Transformar una contrasena ingresada
en texto plano, por una contrasena segura para la aplicacion.

Referencias
[1]

BUSTAMANTE, Andres; HIGUERA, Julian. Desarrollo de un


Prototipo e-learning con Enfasis en la Gestion de Recursos
Documentales, Basada en la Utilizacion de Realidad Virtual y Met
aforas. Bogota : Universidad Distrital Francisco Jose de Caldas,
2007. Tesis de Ingeniera de Sistemas.

[2] JACOBSON, Ivar; BOOCH, Grady y RUMBAUGH, James. El proceso


unificado de desarrollo de software : la gua completa del proceso
unificado escrita por sus creadores. Madrid : Pearson Educacion, 2000.

S-ar putea să vă placă și