Especificación de Requerimientos de Software (SRS) Proyecto: PAyMA Número Interno de Versión: Alpha. Formas Anexas: SRS > Casos de uso SRS > Conjunto de características Documentos Relacionados: Propuesta de proyecto Conjunto de características Requerimientos del proyecto Impacto del proceso Especificación de Requerimientos de Software (SRS) define de forma precisa el producto de software que se va a construir. Las decisiones hechas escribiendo la SRS están basadas en información de los documentos de la propuesta del proyecto y requerimientos del usuario. El conjunto de requerimientos de SRS deben ser satisfechos en el diseño del sistema. La SRS es verificada y validada por las actividades marcadas en el plan de calidad. Introducción El problema que se pretende resolver desarrollando el sistema PAyMA, es el mal control de préstamo de aulas multidisciplinarias y material audio-visual, ya que hasta ahora todo se hace por escrito y manualmente, esto es importante resolver ya que mediante la “entrevista a los usuarios” determinamos que la principal molestia sobre el actual sistema es que es tedioso y tardado. Para más información, vea la propuesta del proyecto. Casos de Uso Usuarios/Actores Mediante el “análisis preliminar” se determino que los siguientes tipos de usuarios tendrán acceso al sistema PAyMA: Alumnos Docentes Administrador Visitantes Alumnos Los alumnos son todos aquellos usuarios que están inscritos en el Instituto Tecnológico de Jiquilpan, así como también sus egresados; este tipo de usuario puede hacer las siguientes actividades: Ver estado de aulas por semana Ver estado de aulas por día Apartar aulas de lunes a viernes (especificando clave del docente; los egresados solo podrán apartar el sábado) Cancelar apartado de aulas (solo la(s) que este usuario haya hecho) Docentes Estos usuarios son todo el personal que se desempeña como docente en el Instituto Tecnológico de Jiquilpan; estos usuarios pueden realizar lo siguiente: Ver estado de aulas por semana Ver estado de aulas por día Apartar aulas de lunes a sábado Cancelar apartado de aulas (solo la(s) que este usuario haya hecho o el usuario alumno utilizando su clave) Administrador Es el encargado de la administración del sistema, puede ser cualquier persona capacitada para utilizar el sistema en la sección administrativa, pero se recomienda que sea el jefe de departamento de “Desarrollo Académico”; este usuario podrá hacer: Importar datos de la base de datos del Instituto Tecnológico de Jiquilpan (en formato de FoxPro® (dbase)) Agregar o quitar aulas Modificar datos de las aulas Cancelar apartado de aulas Reestablecer contraseñas Cambiar estilo visual Impresión de reportes (ver “Solicitud del Sistema”) Visitantes Es cualquier otro tipo de persona que acceda al sistema; estos podrán realizar lo siguiente: Ver información del departamento Directivos Estos usuarios, por su baja ocurrencia, fueron descartados para acceder al sistema PAyMA, sin embargo, el usuario “administrador” podrá realizar un apartado de aula a su nombre. Este usuario es el que tiene más alta prioridad en el apartado de aulas, por lo que si un usuario “alumno/docente” tiene apartada un aula y este usuario necesita apartarla se desplazara el usuario “alumno/docente”. Requerimientos Funcionales El sistema deberá permitir a un usuario “alumno” o “docente” el apartado de aulas multidisciplinarias, por lo que este deberá de activar su cuenta con los siguientes datos: Clave (en el caso de alumnos, numero de control) Contraseña Últimos 4 dígitos del CURP (para comprobar autoria de la cuenta) Correo electrónico Cabe destacar que todos los alumnos y docentes del Instituto Tecnológico de Jiquilpan ya estarán pre-registrados a partir de la base de datos del Tecnológico (esta será proporcionada al jefe del departamento de “Desarrollo Académico” e ingresada al sistema por el usuario “administrador”). Después de activar su cuenta, el usuario procederá a autentificarse ante el sistema con clave (o número de control) y contraseña. Al autentificarse correctamente, el sistema mostrara los días y horas disponibles para el apartado de aulas, así como también los que están apartados o en proceso de apartado. Los alumnos, solo podrán apartar aulas si ingresan correctamente la clave del profesor con el que tendrán clases. El número total de aulas disponibles para el apartado por los docentes, es proporcional a la cantidad de horas y materias impartidas en un 50% Un usuario administrador podrá cancelar cualquier apartado, pero solo podrá realizar apartados cuando el usuario especial “Directivo” lo solicite. Requerimientos No-Funcionales Requerimientos de uso La dificultad del sistema actual reside en la alta frecuencia de las actividades, el número de pasos y la mecánica de estos (como escribir el horario, la fecha, el maestro, etc.) por lo que el sistema deberá simplificar estas tareas (como con simples clicks, listas desplegables,… por ejemplo). La interfaz grafica del usuario deberá ser tan familiar como al de otras aplicaciones Web (agendas por ejemplo) u otras aplicaciones de escritorio. Por ejemplo, los menús, botones y cajas de dialogo, siempre que sea posible, lo mas deducible, intuible, entendible... Además de que los usuarios sepan donde y que datos poner de una manera amigable. Requerimientos de confiabilidad La información sobre el estado de las aulas (apartadas, libres, en proceso de apartado), debe estar actualizada en todo momento, además, eliminar la concurrencia durante el apartado de un aula y además, que los datos sean precisos, correctos y estén disponibles en cualquier momento; creando así un ambiente de confiabilidad en el sistema y evitar posibles disgustos o problemas, evitando así el posible abandono del sistema en un futuro. Requerimientos de precaución Se deberán validar los datos proporcionados por los usuarios. Detalles: No aceptar caracteres especiales donde no se requieran (nombres, número de control, etc.). No aceptar ningún código de algún lenguaje Web (HTML, Java Script, PHP, etc.) en los campos. Delimitar el tamaño de los campos Requerimientos de seguridad El acceso al apartado de aulas será controlado con clave o número de control y contraseña. Solo los usuarios con derechos de administrador podrán accesar las funciones administrativas del sistema. Detalles: Las contraseñas deberán tener de 6 a 15 caracteres de longitud, incluyendo números y caracteres especiales. Las contraseñas deberán ser cifradas utilizando el algoritmo MD5 para ser almacenadas en la base de datos No se utilizaran comunicaciones encriptadas (en esta versión) (SSL) para este sitio Las “cookies“ deberán guardarse cifradas con MD5 Requerimientos de escalabilidad El sistema deberá ser fácilmente escalable, y utilizar el diseño modular para agregar/quitar módulos fácilmente, además de poder utilizar varios temas diseñados por personas externas al proyecto. Requerimientos de mantenimiento y actualización La capacidad de mantenimiento es nuestra habilidad para realizar cambios al producto en el tiempo. Necesitamos una capacidad de mantenimiento fuerte para dar un buen servicio a nuestros primeros usuarios. Resolveremos esto anticipando varios tipos de cambios y documentando cuidadosamente nuestro diseño y nuestra implementación. La capacidad de actualización es nuestra habilidad para entregar nuevas versiones del producto a bajo costo a los usuarios con un mínimo de tiempo de descarga o disrupción. Una característica clave para apoyar este objetivo es la descarga automática de actualizaciones del equipo del usuario final. También debemos utilizar formatos para archivos de datos que incluyan suficientes meta-datos para permitirnos trasformar con seguridad la información existente del usuario durante una actualización. Requerimientos de soporte y operabilidad El soporte es nuestra habilidad de proveer soporte técnico eficiente. Las características de actualización automática del producto no ayudarán a entregar fácilmente parches a los usuarios finales. La guía del usuario y el sitio Web del producto incluyen una guía de resolución de problemas y una lista de información que debe tener a la mano antes de contactar a soporte técnico. Las caracteristicas del sistema deberan ayudarnos a alcanzar nuestros objetivos de 99.9% en línea (con 43 minutos máximo fuera de línea por mes). Las características principales que soporten esto son la capacidad de crear respaldos de datos en tiempo de operación, y el monitoreo de la aplicación. ¿Cuáles son los requerimientos del ciclo de vida del negocio? El ciclo de vida del negocio de un producto incluye todo lo que le pasa a ese producto sobre un periodo de varios años, desde la decisión inicial de compra, a través de importantes pero poco frecuentes casos de uso, hasta el retiro del producto. Los requerimientos principales de del ciclo de vida son listados abajo. Detalles: Los clientes deberán ser capaces de manejar el número de licencias con el que ya cuentan y de hacer decisiones informadas sobre las compras de más licencias cuando sea necesario el producto deberá soportar operación diaria y nuestra auditoría de fin de año La información del cliente deberá ser almacenada en un formato que sea accesible incluso después de que la aplicación sea retirada. Requerimientos Ambientales TAREAS: Describa los requerimientos ambientales para esta entrega. Los requerimientos ambientales describen el sistema más grande hardware, software, y los data con el que este producto debe trabajar. Se proveen algunos ejemplos más abajo. ¿Cuáles son los requerimientos de hardware del sistema? PÁRRAFO PÁRRAFO Detalles: DETALLE DETALLE DETALLE ¿Cuáles son los requerimientos de software del sistema? PÁRRAFO PÁRRAFO Detalles: DETALLE DETALLE DETALLE ¿Qué Interfaces de Aplicación del Programa (APIs) deben incluirse? PÁRRAFO PÁRRAFO Detalles: Debemos implementar esta API estándar. DETALLE DETALLE ¿Cuáles son los requerimientos de importación y exportación de datos? PÁRRAFO PÁRRAFO Detalles: El sistema deberá almacenar todos los datos en una base de datos SQL estándar, donde pueda ser accesado por otros programas. El sistema podrá almacenar todos los datos en un archivo XML, usando una DTD estándar. El sistema deberá leer y escribir archivos .XYZ válidos para ser usados por OTRA APLICACIÓN DETALLE