Explora Libros electrónicos
Categorías
Explora Audiolibros
Categorías
Explora Revistas
Categorías
Explora Documentos
Categorías
[Nombre de la empresa]
[Logos]
[Autores]
SRS: [Nombre del proyecto] [Logo de la empresa]
HISTORIAL DE CAMBIOS
En esta sección se presenta una tabla que describe la evolución y los cambios que se le realizan
al documento desde que se inicia hasta que se haya llegado a la versión base que es entregada
al cliente.
Sección del
Descripción de Responsable
Versión Fecha documento
cambios (corta) (S)
modificada
Indica las
Indica la versión
personas del
del documento,
Se incluye Permite Es un pequeño grupo de
que depende
la fecha en especificar las resumen de los trabajo que
según la forma
la que fue secciones del cambios más son
de
realizado el documento que relevantes que responsables
administración
cambio del fueron fueron realizados del o los
de
documento. modificadas. en la versión cambios
configuraciones
realizados en
seleccionada.
el documento.
Tabla 1: Historial de cambios
SRS: [Nombre del proyecto] [Logo de la empresa]
Contenido
SRS: [Nombre del proyecto] [Logo de la empresa]
HISTORIAL DE CAMBIOS................................................................................................................... 1
CONTENIDO..................................................................................................................................... 2
LISTA DE TABLAS........................................................................................................................... 3
LISTA DE ILUSTRACIONES........................................................................................................... 4
1. INTRODUCCIÓN...................................................................................................................... 5
1.1 PROPÓSITO.....................................................................................................................................5
1.2 ALCANCE....................................................................................................................................5
1.3 DEFINICIONES, ACRÓNIMOS, Y ABREVIACIONES.........................................................................6
1.4 REFERENCIAS..............................................................................................................................7
1.5 APRECIACIÓN GLOBAL................................................................................................................7
2. DESCRIPCIÓN GLOBAL......................................................................................................... 9
2.1 PERSPECTIVA DEL PRODUCTO.....................................................................................................9
2.1.1 Interfaces con el sistema..........................................................................................................9
2.1.2 Interfaces con el usuario........................................................................................................10
2.1.3 Interfaces con el Hardware....................................................................................................12
2.1.4 Interfaces con el Software......................................................................................................12
2.1.5 Interfaces de Comunicación...................................................................................................15
2.1.6 Restricciones de Memoria......................................................................................................15
2.1.7 Operaciones...........................................................................................................................15
2.1.8 Requerimientos de Adaptación del Sitio................................................................................16
2.2 FUNCIONES DEL PRODUCTO......................................................................................................16
2.3 CARACTERÍSTICAS DEL USUARIO..............................................................................................17
2.4 RESTRICCIONES.........................................................................................................................18
2.5 MODELO DEL DOMINIO.............................................................................................................20
2.6 SUPOSICIONES Y DEPENDENCIAS...............................................................................................22
2.7 DISTRIBUCIÓN DE REQUERIMIENTOS.........................................................................................23
3. REQUERIMIENTOS ESPECÍFICOS.....................................................................................26
3.1 REQUERIMIENTOS DE INTERFACES EXTERNAS...........................................................................30
3.1.1 Interfaces con el Usuario.......................................................................................................30
3.1.2 Interfaces con el Hardware....................................................................................................31
3.1.3 Interfaces con el Software......................................................................................................32
3.1.4 Interfaces de Comunicaciones...............................................................................................33
3.2 CARACTERÍSTICAS DEL PRODUCTO DE SOFTWARE....................................................................33
3.3 REQUERIMIENTOS DE DESEMPEÑO............................................................................................35
3.4 RESTRICCIONES DE DISEÑO......................................................................................................37
3.5 ATRIBUTOS DEL SISTEMA DE SOFTWARE (NO FUNCIONALES)...................................................38
3.5.1 Confiabilidad..........................................................................................................................38
3.5.2 Disponibilidad........................................................................................................................38
3.5.3 Seguridad...............................................................................................................................39
3.5.4 Mantenibilidad.......................................................................................................................39
3.5.5 Portabilidad...........................................................................................................................40
3.6 REQUERIMIENTOS DE LA BASE DE DATOS..................................................................................40
4. PROCESO INGENERÍA DE REQUERIMIENTOS................................................................42
SRS: [Nombre del proyecto] [Logo de la empresa]
5. ANEXOS.................................................................................................................................. 43
SRS: [Nombre del proyecto] [Logo de la empresa]
Lista de Tablas
Lista de Ilustraciones
Ilustración 1: Propósito.................................................................................................................6
Ilustración 2: Alcance...................................................................................................................7
Ilustración 3: Apreciación Global.................................................................................................9
Ilustración 4: Tipos de productos de software.............................................................................10
Ilustración 5: Interfaces con el usuario........................................................................................12
Ilustración 6: Operaciones...........................................................................................................17
Ilustración 7: Tips para definir funciones del producto...............................................................18
Ilustración 8: Características del Usuario....................................................................................19
Ilustración 9: Restricciones.........................................................................................................20
Ilustración 10: Limitaciones........................................................................................................21
Ilustración 11: Descripción documentación del modelo del dominio..........................................23
Ilustración 12: Suposiciones........................................................................................................24
Ilustración 13: Dependencias [1].................................................................................................24
Ilustración 14: Distribución de requerimientos...........................................................................26
Ilustración 15: Características de los Requerimientos.................................................................29
Ilustración 16: Documentación de Requerimientos.....................................................................31
Ilustración 17: Interfaces con el Usurario....................................................................................32
Ilustración 18: Interfaces de Hardware........................................................................................33
Ilustración 19: Interfaces con el Software...................................................................................34
Ilustración 20: División por Funcionalidades..............................................................................35
Ilustración 21: Ejemplo Enunciado Requerimientos...................................................................37
Ilustración 22: Atributos de Calidad a tener en cuenta................................................................38
Ilustración 23: Características de Confiabilidad..........................................................................39
Ilustración 24: Características de Disponibilidad........................................................................40
Ilustración 25: Características de Seguridad................................................................................40
Ilustración 26: Características de Mantenibilidad........................................................................41
Ilustración 27: Portabilidad del Sistema......................................................................................41
Ilustración 28: Características Bases de Datos............................................................................42
SRS: [Nombre del proyecto] [Logo de la empresa]
1. Introducción
1.1 Propósito
¿Qué producto se
Producto va a describir en el
documento?
¿Un subsistema?
¿Qué parte del
Alcance del SRS
NO del producto producto se va a
Propósito describir?
¿Todo?
¿Quién está
Audiencia interesado en el
documento?
Importancia del
documento
Ilustración 1: Propósito
1.2 Alcance
Se describe el alcance del producto, es decir, la sección contiene una breve descripción
del producto de software sobre el cual se realiza el SRS, indicando su nombre, las
funcionalidades que incluirá y su utilidad (objetivos, beneficios). También puede ser
incluida la relación entre el producto y las metas corporativas o estrategia de negocio
resaltando la importancia que tiene para la organización [1].
SRS: [Nombre del proyecto] [Logo de la empresa]
PRODUCTO
Ilustración 2: Alcance
1.4 Referencias
Indique aquí todas las referencias bibliográficas utilizadas en el documento. Utilice
formato IEEE para definirlas. Para administrar automáticamente las referencias, se
recomienda el uso de la herramienta Zotero (www.zotero.org).
2. Descripción Global
En general en esta sección se describe los factores generales que afectan al producto y
sus requerimientos, es importante aclarar que en esta sección NO se especifican
formalmente los requerimientos, es solo información de fondo que brinda a los lectores
una descripción de todo el sistema. Está en lenguaje de Usuario. Los elementos
presentados en esta sección se asociarán en la seccion 3 con Requerimientos
Específicos.
Enfoque de la sección: Definir que ventajas trae el nuevo sistema sobre el que ha estado
previamente en uso.
también hará parte de nuestro sistema. Para cada tipo de producto esta sección se
especifica cómo sigue.
Producto que pertenece a una familia de productos: Especificar como los
demás productos de la familia pueden comunicarse con el producto que se está
desarrollando.
que para hacer medibles los requerimientos de interfaz se debe definir métricas para
calificar la usabilidad de una interfaz en particular. Por ejemplo, para hacer medible la
interfaz gráfica de usuario asociada a la operación “Registrar Usuario” se puede medir
el tiempo necesario en entrenamiento para que el usuario pueda realizar dicha
operación mediante la interfaz gráfica [4].
A continuación, se presenta un ejemplo de las interfaces de usuario genéricas usadas en
la mayoría de proyectos de software actuales:
Interfaz GUI: tarea, ademas, al igual que en la interfaz "Pantalla" se debe definir
la resolución que tendran las diferentes GUI's de la aplicaciión.
Ejemplo: "Las interfaces gráficas de usuario tendran una resolución
de 1024 * 768, y serán implementadas en Java Swing y Java Awt."
Propósito de Asegurar que la Realizar la Utilizar una base Acceder a la base de Puesto que el lenguaje de
Uso mayoría de los administración de la de datos segura que datos por medio de un programación que se
usuarios finales base de datos con soporte múltiples manejador de usará para el desarrollo
puedan utilizar el facilidad, utilizando consultas, conexiones que de la aplicación, que es
producto sin páginas Web, Internet, proporcione una implemente las Java, no es un lenguaje
inconvenientes, pues sentencias SQL, lo capacidad de interfaces en lenguaje de bajo nivel o de
este sistema cual es proveído por respuesta y de Java, debido a que la máquina es necesario
operativo es el más este DBMS. almacenamiento aplicación requiere usar un intérprete que
difundido y usado eficiente y además, realizar operaciones de permita la correcta
en la actualidad. que asegure la consulta y actualización ejecución de estas
SRS: [Nombre del proyecto] [Logo de la empresa]
Comentarios La aplicación podría Se utilizará leguaje El equipo cuenta Puesto que JDBC es Una gran ventaja de la
Adicionales funcionar en otros SQL para realizar el con más de un independiente del S.O, JVM es la portabilidad
sistemas operativos CRUD de las tablas en servidor que tiene permite que la que le brinda a Java,
que soporten el JRE la base de datos. este gestor de base aplicación pueda permitiendo la ejecución
versión 1.6. de datos, lo que funcionar en otras de programas
brinda facilidad de plataformas diferentes a desarrollados en este
acceso y permite al Windows lenguaje en S.O que
equipo de soporten la máquina
desarrollo afrontar virtual.
contratiempos de
disponibilidad de la
base de datos.
SRS: [Nombre del proyecto] [Logo de la empresa]
2.1.7 Operaciones
Esta sección debe especificar las operaciones especiales requeridas por el usuario tales
como:
SRS: [Nombre del proyecto] [Logo de la empresa]
Se define cuando el sistema estara activo y cuando estara inactivo para procesos
de administración y mantenimiento.
Procesos de recuperación
Ilustración 6: Operaciones
En la ilustración 7 se presentan las ideas claves que se deben tener en cuenta para
definir y describir las funciones del producto.
En esta sección se recomienda hacer referencia a la plantilla HACER-USOS.
2.4 Restricciones
Debe especificar las características o restricciones del sistema entre las cuales se
encuentran las descritas en la ilustracion9:
SRS: [Nombre del proyecto] [Logo de la empresa]
Ilustración 9: Restricciones
Requisitos de
Requisitos de El
El funcionamiento
funcionamiento Las funciones de
Las funciones de
confiabilidad paralelo. auditoría.
Las políticas
Las políticas
Tolerancia
Tolerancia aa fallos
fallos Las funciones de
Las funciones de
de la aplicación corporativas o control.
de la aplicación reguladoras. control.
reguladoras.
Convenciones del
Consideraciones de Requerimientos del Los protocolos
diseño oo estandares
diseño estandares
seguridad lenguaje señalados
de programacion
de programacion
Tecnologias
Tecnologias yy
Limitaciones de Interfaces a otras Protocolos de
herramientas
hardware
hardware aplicaciones
aplicaciones comunicacion
comunicacion
especificas
Finalmente Larman termina con una conclusión muy importante para entender el
porqué de un modelo del dominio. “LOS MODELOS DEL DOMINIO NO SON
COMPONENTES DE SOFTWARE, el modelo del dominio es una representación de las
cosas reales del mundo del dominio de interés” [11].
A continuación, se presenta una forma para documentar los elementos en el diagrama
del modelo del dominio.
Objetivo
Tabla 6: Formato de documentación del Modelo del Dominio
SRS: [Nombre del proyecto] [Logo de la empresa]
ID Identificador
Identificador único
único del
del elemento
elemento del
del dominio
dominio del
del problema.
problema.
Indica el nombre del elemento del dominio del problema que será
Elemento del Dominio documentado.
documentado.
Contiene
Contiene una
una breve
breve descripción
descripción del
del elemento,
elemento, se
se debe
debe indicar
indicar el
el por
por qué
qué
Descripción del creación del mismo dentro del elemento del dominio.
Descripción Descripción
Descripción del
del objetivo del atributo
objetivo del atributo dentro
dentro del
del elemento.
elemento.
Que
Que elel cliente
cliente Previa
Previa
Cumplimiento
Cumplimiento no haga
no haga instalacion
instalacion yy
Tener
Tener una
una de
de cambios
cambios puesta
puesta en
en
maquina
maquina Una
Una conexion
conexion especificacion
especificacion Restricciones
Restricciones significaticos
significaticos funcionamient
funcionamient
virtual
virtual aa internet
internet de
de Hardware
Hardware en
en los
los o
o de
de la base de
la base de
instalada
instalada de
de la
la seccion
seccion requerimiento
requerimiento datos
datos del
del
2.4
2.4 ss servidor
servidor
Dependencias:
Por último, en esta sección se deben listar los requerimientos planeados para futuras
versiones del sistema con una breve descripción de cada uno.
SRS: [Nombre del proyecto] [Logo de la empresa]
3. Requerimientos Específicos
Esta sección es en cierto sentido la más importante del proyecto en cuanto a diseño e
implementación se refiere. La idea principal de todo el documento, es la de realizar una
conexión, un vínculo entre el cliente final y los desarrolladores de la aplicación o el
sistema y esta sección es la encargada de esa comunicación.
Para hacer de este documento una parte valiosa en el proceso de construcción del
sistema, todos los requerimientos que se ubiquen en esta sección deben cumplir con las
siguientes características son [12]:
# Tipo de
Casos de Uso Asociados
Requerimiento Requerimiento
Descripción
Razón
Autor
Criterio de
medición
Prioridad Módulo Asociado
Versión Fecha
Tabla 7: Documentación de Requerimientos
Indica
Indica el
el número
número identificador
identificador del
del requerimiento.
requerimiento.
# Requerimiento Debe
Debe ser
ser unico.
unico.
Tipo de Este
Este campo
campo especifica
especifica la
la clase
clase de
de requerimiento.
requerimiento.
Pueden ser funcionales o no funcionales entre otras clases que se hallan
Requerimiento definido en el
definido en el proyecto.
proyecto.
Casos de Uso Se
Se especifican
especifican los
los identificadores de los
identificadores de los Casos
Casos de
de Uso
Uso que
que se
se ven
ven
afectados
afectados por
por este
este requerimiento.
Asociados requerimiento.
Explicación
Explicación del
del requerimien,
requerimien, exponiendo
exponiendo situaciones
situaciones en las que
que debe
debe
Descripción manifestarce
manifestarce en
en el
el sistema.
sistema.
en las
Especifica
Especifica la
la forma
forma en
en que
que el
el requerimiento
requerimiento va
va aa ser
ser evaluado
evaluado
Criterio de medición una vez haya sido implementado en el sistema.
Indica
Indica el
el grado
grado de
de importancia de este
importancia de este requerimiento
requerimiento para el
para el
Prioridad funcionamiento de la aplicación.
Indica
Indica la
la fecha
fecha en
en la
la que fue realizada
que fue realizada esta
esta version
version del
del
Fecha requerimiento
Las interfaces deben contener la información lógica, por ejemplo formatos de pantalla
requeridos (1024*768, 800*600,600*400), distribución de elementos en la pantalla o si
tiene accesos rápidos con el teclado, por dar algunos ejemplos [12].
TCP-UDP
UTP
correcta utilización del sistema desarrollado. La Error: Reference source not found
muestra un formato que puede usarse para explicar estas interfaces.
Puesto que esta sección es la más importante del SRS, en ella se enumeran y se explican
todas las características que debe poseer el sistema a implementar, y posiblemente la
más extensa, es aconsejable tratar de dividirla por módulos, por funcionalidades o por
cumplimiento de casos de uso.
Funcionalidad 1: Jugar
Funcionalidad 2: Registro y Autenticación
Funcionalidad 3: Administración
Funcionalidad 4: Consultas
Cruce de funcionalidades
Uso de la Tabla 6: Formato de documentación del Modelo del Dominio para documentar
los requerimientos que no pueden incluirse en alguna de las funcionalidades
principales.
Tanto para esta sección como para la siguiente es muy importante tener en cuenta que
todos los requerimientos deben tener su identificador y si se desea el caso de uso al que
está asociado, esto con el fin de cumplir con la característica de trazabilidad y de esta
forma en caso de modificación o de implementación facilitar la ubicación del
requerimiento.
La actualización de
la GUI debe
La actualización de realizarse
la interfaz gráfica frecuentemente con
debe hacerse por lo el fin de mantener
menos una vez cada al usuario
minuto. informado de los
cambios gráficos de
la aplicación.
Puesto que el documento de diseño que se usa para el proyecto es el SDD, es válido
nombrar las restricciones sujetas al diseño e incluir referencia a ese documento para
futuras o más completas explicaciones.
SRS: [Nombre del proyecto] [Logo de la empresa]
3.5.1 Confiabilidad
Se deben explicar los mecanismos que se van a tener en cuenta para el manejo de la
información almacenada en el sistema. También incluye la forma en que la aplicación
se va a mantener operativa a lo largo del tiempo especificado en la sección 3.5.2.
Ejemplos de este tipo de requerimientos son:
Manejo de Recuperación o
Persistencia de
transacciones Tolerancia a
datos
concurrentes Fallos
3.5.2 Disponibilidad
Porcentaje de tiempo al día o a la semana que el sistema debe funcionar sin necesidad
de reiniciarlo. Si por ejemplo el sistema depende o necesita un módulo de comunicación
con otras aplicaciones externas, el horario o mejor la disponibilidad de estas últimas
también debe tenerse en cuenta para esta sección. Si es necesario que la aplicación o el
sistema desarrollado cuenten con un administrador, el tiempo disponible que este
posea para dedicarse a su rol debe ser incluido al mapear los requerimientos de
disponibilidad.
SRS: [Nombre del proyecto] [Logo de la empresa]
Aplicaciones Tiempo
extenas Comunicación Administrador
Ilustración 24: Características de Disponibilidad
3.5.3 Seguridad
Este atributo depende en gran cantidad de la información que se maneje en el
sistema, usualmente los métodos de seguridad más utilizados son los de permisos para
usuarios o creación de cuentas, sin embargo si es necesario también podrían
implementarse sistemas de encriptación o registros de acciones ejecutadas por los
usuarios loggeados en el sistema. Si la aplicación es susceptible a ataques de
Denegación de Servicio, mecanismos como replicación de servidores o balanceadores
de cargas también pueden ser tenidos en cuenta.
Autenticación
externa
Encriptación (Kerberos)
3.5.4 Mantenibilidad
Una característica que hace del producto de software desarrollado fácil de mantener,
es su división por funciones y por módulos, de esta forma si se necesita hacer una
modificación a un requerimiento o en general a alguna función, no es necesario volver a
implementar el sistema desde cero, ni afectar los módulos ya disponibles. Otra
característica que se debe tener en cuenta es la de la documentación del código, en
SRS: [Nombre del proyecto] [Logo de la empresa]
caso que la modificación no sea hecha por los desarrolladores originales, con el fin de
facilitar el entendimiento de la estructura interna del sistema.
Modularización Re-Utilización
3.5.5 Portabilidad
Se debe especificar si el sistema podrá ser migrado a otras plataformas de sistemas
operativos o si podrá ser ejecutado en diferentes ambientes de cómputo estos
ambientes pueden incluir hardware, software o una combinación de los dos.
También se debe tener en cuenta el lenguaje y el compilador utilizados por el equipo
desarrollador.
F
ia
n
cu
rep
lT
so
d
P
U
k
y
mtIx
Fr ecu
n zó
ti
a ciad
eso e
U so
rim
P
o sd
Tip
al acem d n
e
st
o
ad
earyk y In d
d exalo
s ió
T su
n
co
cato
n
ti
u
s d
d es
o
ltaip
li zad s
e
4. Anexos
SRS: [Nombre del proyecto] [Logo de la empresa]
SRS: [Nombre del proyecto] [Logo de la empresa]
REFERENCIAS
[1] Wiegers, Karl. , Software Requirements Specification. Process Goodies 2002,
Disponible en http://www.processimpact.com/goodies.shtml
[4] IEEE (Institute of Electrical and Electronics Engineers), IEEE Recommended Practice
for Software Requirements Specificacitions, IEEE-SA Standards Board, Junio 1998.
[10] Fowler, M. 1996. Analysis patterns: Reusable Object Models, Reading, MA:
Addison-Wesley
[12] IEEE (Institute of Electrical and Electronics Engineers), IEEE Guide for Developing
System Requirements Specifications, IEEE-SA Standards Board, Abril 1996.
[14] Pagina de Miguel Torres [homepage de Internet]. Bogotá. Ing. Miguel Eduardo
Torres Moreno MSc. Copyright - Miguel Torres 2007. [actualizado el 26 Feb 2007;
citado 2007 Septiembre 07]. Materias - Ingeniera de Software, Robertson, S. et. At.
Mastering the Requirements Process