Especificación de requisitos de software · Presentar requerimientos y planeacion de dicho...
Transcript of Especificación de requisitos de software · Presentar requerimientos y planeacion de dicho...
Especificación de requisitos de software
Rev.
Pág. 1
Especificación de requisitos desoftware
Proyecto:Revisión [1.3]
Descripción de requisitos del sofware
Especificación de requisitos de software
Rev.
Pág. 2
Ficha del documento
Fecha Revisión Autor Verificado dep. calidad.Febrero 262013
1.4 SoftwareOne
Documento validado por las partes en fecha: [Fecha]
Por el cliente Por la empresa suministradora
Fdo. D./ Dña [Nombre] Fdo. D./Dña [Nombre]
Descripción de requisitos del sofware
Especificación de requisitos de software
Rev.
Pág. 3
Contenido
Ficha del documento
Contenido
1 Introducción
1.1 Propósito
1.2 Alcance
1.3 Personal involucrado
1.4 Definiciones, acrónimos y abreviaturas
1.5 Referencias
1.6 Resumen
2 Descripción general
2.1 Perspectiva del producto
2.2 Funcionalidad del producto
2.3 Características de los usuarios
2.4 Restricciones
2.5 Suposiciones y dependencias
2.6 Evolución previsible del sistema
3 Requisitos específicos
3.1 Requisitos comunes de los interfaces
3.1.1 Interfaces de usuario3.1.2 Interfaces de hardware3.1.3 Interfaces de software3.1.4 Interfaces de comunicación
3.2 Requisitos funcionales3.2.1 Requisito funcional 13.2.2 Requisito funcional 23.2.3 Requisito funcional 3
Descripción de requisitos del sofware
Especificación de requisitos de software
Rev.
Pág. 4
3.2.4 Requisito funcional n
3.3 Requisitos no funcionales3.3.1 Requisitos de rendimiento3.3.2 Seguridad3.3.3 Fiabilidad3.3.4 Disponibilidad3.3.5 Mantenibilidad3.3.6 Portabilidad
3.4 Otros requisitos
4 Apéndices
Descripción de requisitos del sofware
Especificación de requisitos de software
Rev.
Pág. 5
Introducción
Este documento inicia principalmente detallando las actividades necesarias de información para realizar un control detallado de las notas de los estudiantes utilizando herramientas básicas de modelado y la propuesta que contribuirá a solventar la problematica de muchas instituciones educativas en nuestro país aportanto tambien una buena alternativa de seguridad para el manejo de las notas
Propósito
Recolectar información para la elaboración del sistema de control de nota . Diseñar el sistema para el control de notas que sea compatible con la mayoria de las
instituciones educativas del pais Realizar las pruebas correspondientes para detectar las fallas del Implantar el sistema de control de notas e tiempos costos y de forma exitosa Este proyecto se encuentra enfocado a las instituciones educativas de nivel
secundario, técnico, tecnólogo y superior.
Alcance
Proporcionar al complejo educativo los recursos necesarios de un sistema de información para llevar a cabo el registro de notas mas eficiente y oportuno y que se beneficien ambas partes , directivos y estudiantes.
Proporcionar los lineamientos necesarios a los usuarios del sistema a través de manuales bien elaborados, contribuyendo así, a un uso eficiente del sistema propuesto.
Personal involucrado
Nombre Compañia DesigSoftwareRol Desarrolladores de SoftwareCategoríaprofesional
Desarrolladores Web , Bases de datos
Responsabilidades
Desarrollo del producto
Información decontacto
DesigSoftware
Aprobación
Nombre SoftwareOnuUccRol Planeadores ProyectoCategoríaprofesional
Arquitectura de software, Calidad
Responsabilidades
Presentar requerimientos y planeacion de dicho proyecto,responsable de probar el Software, infraestructura para elsoftware
Información decontacto
SoftwareOnuUcc
Aprobación
Descripción de requisitos del sofware
Especificación de requisitos de software
Rev.
Pág. 6
1. Definiciones, acrónimos y abreviaturas
Sistema de información (SI) : es un conjunto de elementos orientados al tratamiento y administración de datos e información, organizados y listos para su uso posterior, generados para cubrir una necesidad u objetivo. Dichos elementos formarán parte de alguna de las siguientes categorías:
Personas Datos Actividades o técnicas de trabajo
Red informática mundial: es un sistema de distribución de información basado en hipertexto o hipermedios enlazados y accesibles a través de Internet. Con un navegador web, un usuario visualiza sitios web compuestos de páginas web que pueden contener texto, imágenes, vídeos u otros contenidos multimedia, y navega a través de ellas usando hiperenlaces.
Institucion Educativa :Es un conjunto de personas y bienes promovida por las autoridades públicas o por particulares, cuya finalidad será prestar un año de educación preescolar y nueve grados de educación básica como mínimo y la media.
ReferenciasReferencia Titulo Ruta Fecha Autor
Web Requerimiento Blog softwareoneucc.wordpress.com
Feb/2013 GVP
Relación completa de todos los documentos relacionados en la especificación derequisitos de software, identificando de cada documento el titulo, referencia (si procede),fecha y organización que lo proporciona.
2. Resumen
Descripción del contenido del resto del documento Explicación de la organización del documento
Descripción general3. Perspectiva del producto
Indicar si es un producto independiente o parte de un sistema mayor. En el caso detratarse de un producto que forma parte de un sistema mayor, un diagrama que sitúe elproducto dentro del sistema e identifique sus conexiones facilita la comprensión.
4. Funcionalidad del producto
Diseño de Entrada Pantalla de bienvenida Pantalla de control de usuario
Descripción de requisitos del sofware
Especificación de requisitos de software
Rev.
Pág. 7
Pantalla de menu Pantalla de captura de datos Pantalla de ingreso de notas Pantallas de creación y modificación de datos Pantallas de borrado de datos Pantalla guardando datos
Diseño de Salida
Pantalla de Estudiantes Reporte de notas al director Reporte de notas al estudiante Enviar mail a los estudiantes del estado de notas
El desarrollo de esta herramienta puede ser realizado en java o php , motor de base dedatos postgress o mysql .
5. Características de los usuariosTipo de usuario Ing Sistemas ,o Ultimos semestreFormación Universitario , PostgradoHabilidades Experiencia en programacion , trabajo en equipoActividades
6. Restricciones
El desarrollo de esta aplicacion debe manejarle bajo la arquitectura 3 capas
Deben utilizarse herramientas GPL tipo Java , Php motor de base de datos MySql ,Prostgress entre otros
Solución tendra escenarios de pruebas y produccion Se acoplara junto al proveedor los requerimientos nescearios para desarrollar el sotware.
Descripción de aquellas limitaciones a tener en cuenta a la hora de diseñar y desarrollar elsistema, tales como el empleo de determinadas metodologías de desarrollo, lenguajes deprogramación, normas particulares, restricciones de hardware, de sistema operativo etc.
7. Suposiciones y dependencias
En dado caso que se cambiara el desarrollador del sotfware se veria afectado el mismo
Si es el caso que el enfoque del software cambie afectaria notablemente la planeaciondel mismo y logicamente el desarrollo
Descripción de aquellos factores que, si cambian, pueden afectar a los requisitos. Porejemplo una asunción puede ser que determinado sistema operativo está disponible para elhardware requerido. De hecho, si el sistema operativo no estuviera disponible, la SRSdebería modificarse.
Descripción de requisitos del sofware
Especificación de requisitos de software
Rev.
Pág. 8
8. Evolución previsible del sistema
Identificación de futuras mejoras al sistema, que podrán analizarse e implementarse en unfuturo.
Requisitos específicosEsta es la sección más extensa y más importante del documento.Debe contener una lista detallada y completa de los requisitos que debe cumplir el sistema adesarrollar. El nivel de detalle de los requisitos debe ser el suficiente para que el equipo dedesarrollo pueda diseñar un sistema que satisfaga los requisitos y los encargados de laspruebas puedan determinar si éstos se satisfacen.
Los requisitos se dispondrán en forma de listas numeradas para su identificación,seguimiento, trazabilidad y validación (ej. RF 10, RF 10.1, RF 10.2,...).
Para cada requisito debe completarse la siguiente tabla:
Número de requisitoNombre de requisitoTipo Requisito RestricciónFuente del requisitoPrioridad del requisito Alta/Esencial
Media/Deseado Baja/Opcional
y realizar la descripción del requisito
La distribución de los párrafos que forman este punto puede diferir del propuesto en estaplantilla, si las características del sistema aconsejan otra distribución para ofrecer mayorclaridad en la exposición.
9. Requisitos comunes de los interfaces
Descripción detallada de todas las entradas y salidas del sistema de software.
1. Interfaces de usuario
Describir los requisitos del interfaz de usuario para el producto. Esto puede estaren la forma de descripciones del texto o pantallas del interfaz. Por ejemploposiblemente el cliente ha especificado el estilo y los colores del producto.Describa exacto cómo el producto aparecerá a su usuario previsto.
2. Interfaces de hardware
Especificar las características lógicas para cada interfaz entre el producto y loscomponentes de hardware del sistema. Se incluirán características deconfiguración.
3. Interfaces de software
Indicar si hay que integrar el producto con otros productos de software.Para cada producto de software debe especificarse lo siguiente:
Descripción de requisitos del sofware
Especificación de requisitos de software
Rev.
Pág. 9
Descripción del producto software utilizado Propósito del interfaz Definición del interfaz: contiendo y formato4. Interfaces de comunicación
Describir los requisitos del interfaces de comunicación si hay comunicaciones conotros sistemas y cuales son las protocolos de comunicación.
10. Requisitos funcionales
Definición de acciones fundamentales que debe realizar el software al recibir información,procesarla y producir resultados.En ellas se incluye: Comprobación de validez de las entradas Secuencia exacta de operaciones Respuesta a situaciones anormales (desbordamientos, comunicaciones, recuperación
de errores) Parámetros Generación de salidas Relaciones entre entradas y salidas (secuencias de entradas y salidas, formulas para
la conversión de información) Especificación de los requisitos lógicos para la información que será almacenada en
base de datos (tipo de información, requerido)
Las requisitos funcionales pueden ser divididos en subsecciones.
1. Requisito funcional 12. Requisito funcional 23. Requisito funcional 34. Requisito funcional n
11. Requisitos no funcionales1. Requisitos de rendimiento
Especificación de los requisitos relacionados con la carga que se espera tenga quesoportar el sistema. Por ejemplo, el número de terminales, el número esperado deusuarios simultáneamente conectados, número de transacciones por segundo quedeberá soportar el sistema, etc.Todos estos requisitos deben ser mesurables. Por ejemplo, indicando “el 95% delas transacciones deben realizarse en menos de 1 segundo”, en lugar de “losoperadores no deben esperar a que se complete la transacción”.
2. Seguridad
Especificación de elementos que protegerán al software de accesos, usos ysabotajes maliciosos, así como de modificaciones o destrucciones maliciosas oaccidentales. Los requisitos pueden especificar: Empleo de técnicas criptográficas. Registro de ficheros con “logs” de actividad. Asignación de determinadas funcionalidades a determinados módulos. Restricciones de comunicación entre determinados módulos. Comprobaciones de integridad de información crítica.
Descripción de requisitos del sofware
Especificación de requisitos de software
Rev.
Pág. 10
3. Fiabilidad
1. Niveles de Seguridad
Los niveles de seguridad se deben de ajustar a las existentes en la E Business Suite de Intermex.Para prevenir errores, perdida, modificaciones no autorizadas o mal uso de la información en las aplicaciones, es necesario que existan controles diseñados e implementados en las aplicaciones para asegurar el correcto procesamiento de la información. A continuación se describe los estándares de seguridad a nivel de aplicación que se deben cubrir:
AutenticaciónEl software debe tener un método de autenticación basado en usuarios y contraseñas, los elementos que deberán de considerar para el control de accesos son: Sincronización de contraseñas, caducidad, cifrado, complejidad Etc.
AutorizaciónEl sistema debe contar con una validación de los privilegios de los usuarios para asegurar que los usuarios sólo pueden realizar las funciones y operaciones que tienen permitidas; Dicha administración en la utilización del software debe realizarse por medio de roles y privilegios previamente definidos.
Administración de UsuariosSe deben establecer procedimientos y mecanismos que ayuden en la administración/Gestión de los usuarios. Deben existir procedimientos documentados y funciones que maximicen la operación.
Cifrado de InformaciónLa comunicación entre los componentes del software (clientes, servidores, manejadores de base de datos, etc.), independientemente del tipo de arquitectura o del número de capas que estén definidas, debe realizarse por medio de protocolos de comunicación cifrados. Se deben utilizar algoritmos de cifrado robustos, conocidos, probados; por ejemplo: 3DES, AES, RSA, ElGamal, etc.El uso de la información debe poseer controles adecuados para asegurar la protección de la misma. Los controles deben ser para trasmisión de información internamente y de forma externa también.
Validación de la InformaciónEstablecer un mecanismo de programación para validar que los datos que se estáningresando, procesando y saliendo de la aplicación son válidos.La validación debe ser aplicada siempre que exista una interface de intercambio deinformación que pueda ser manipulable.Deberán de tenerse en consideración las siguientes validaciones:
Integridad de los datos Validación del dato en general (coherencia del dato) Validación de las reglas de negocio.
Descripción de requisitos del sofware
Especificación de requisitos de software
Rev.
Pág. 11
Administración de la ConfiguraciónDeben existir procedimientos documentados, autorizados e implantados de administración de cambios y liberaciones para que se asegure la implantación de todos los controles mencionados en este documento, en cualquier liberación, y mantenimiento relacionados al sistema.Debe existir una adecuada segregación de funciones o deberes para que los desarrolladores no puedan realizar liberaciones y para que el código sea probado y liberado adecuadamente, con el objetivo de evitar problemas de confidencialidad, integridad y disponibilidad de la información
ConfiguraciónLa solución de software debe estar dividida en capas de acuerdo a su funcionalidad y debe evaluarse la posibilidad de instalar servidores detrás de Firewalls y en zonas desmilitarizadas, siempre que la aplicación se vaya a exponer a redes públicas o de entidades externas.Es importante tomar en consideración la separación de servidores de presentación, de procesamiento y de bases de datos en diferentes servidores de acuerdo a la criticidad de la información.Se deben separar los servidores de desarrollo, pruebas y producción en diferentes servidores y ambientes.
BitácorasEl software debe generar los registros necesarios de uso y transaccionalidad, de acuerdo al nivel de confidencialidad, integridad y disponibilidad de la información que maneje el mismo.Por lo tanto, se debe realizar un requerimiento explícito de las bitácoras respecto a acceso al software, consulta y modificación de información sensible, transacciones críticas, alta y baja de usuarios, alta y cambios en privilegios de acceso, etc.
Manejo de SesionesEl software debe realizar un manejo adecuado de las sesiones, de manera que un usuario no pueda utilizar la aplicación sin pasar por los procesos de autenticación y autorización necesarios.Para esto se deben programar los mecanismos necesarios para abrir y cerrar sesión por parte de los usuarios, así como cierres de sesión automáticos en caso de cierres excepcionales del sistema y de tiempo excedido de inactividad.
Cuentas InactivasLos responsables de los aplicativos y dueños de la información deberán asegurar que se tomen acciones oportunas y apropiadas con respecto a cambios de puesto y despidos, de tal manera que los controles internos y la seguridad no se vean perjudicados por estos eventos.Para el caso de renuncias y despidos, existen procedimientos para asegurar que el acceso a aplicaciones y sistemas es revocado de manera oportuna una vez que el usuario ha abandonado su función a fin de minimizar el abuso o el sabotaje.
4. Disponibilidad
Descripción de requisitos del sofware
Especificación de requisitos de software
Rev.
Pág. 12
El software estará alojado en un hosting (preferiblemente en un servidor en EEUU) el cual estará disponible las 24/7 con tiempo activo de un 100% .
5. Mantenibilidad
Para el mantenimiento o actualizaciones los cambios se harán preferiblemente los domingos en las horas de la noche. De esta forma manejarlo de forma transparente para el usuario final , Los cambios o mantenimientos realizados se harán única y exclusivamente cuando se encuentren validados y/o comprobados . El usuario que debe hacer mantenimiento y sera un administrador de nuestra compañía .
6. Portabilidad
Los componentes del software son completamente transparentes ya que se utiliza todos los controles y referencias del Framework de Java . Al momento de su compilacion podra ser alojado en el panel de la pagina para que esta solucion pueda ser vista desde cualquier sistema operativo haciendo funcional el interpretador que es un explorador de internet.
Apéndices
Pueden contener todo tipo de información relevante para la SRS pero que, propiamente, noforme parte de la SRS.
Descripción de requisitos del sofware