Professional Documents
Culture Documents
1. INTRODUCCiÓN 1
ii
Proyecto de Software Especificación de Requerimientos
1. INTRODUCCiÓN
El presente documento entrega algunos de los elementos necesarios para realizar una
especificación de requerimientos adecuada de un proyecto de software.
Los requerimientos bien establecidos permiten realizar un análisis adecuado del problema,
identificar las soluciones más apropiadas y, por sobre todo, permiten delimitar la aplicación.
La delimitación de la aplicación evita esfuerzos innecesarios, permite identificar claramente
el objetivo y además permite obtener un consenso entre el cliente y el equipo de desarrollo.
El proyecto de desarrollo de software debe ser exitoso y para ello debe conocerse
claramente el objetivo final, es decir, el sistema que se desea construir. Si el objetivo fin.al
no está claramente definido, difícilmente se podrá cumplir con él. Además, ninguna otra
parte del trabajo deja como inválido al sistema resultante sino está hecha correctamente.
En la actualidad la mayoría de los recursos se destinan a la elaboración de los documentos
de especificación o de requerimientos. La especificación de requerimientos es el resultado
de la comunicación entre el equipo de trabajo y el cliente. El documento de requerimientos
además, define el primer punto de referencia para la validación del software. Así, si se
quiere verificar que un software cumple con exigencias determinadas, se debe saber contra
que se quiere comparar.
2
Proyecto de Software Especificación de Requerimientos
. Inversos: indican lo que el software "no debe hacer". Son de mucha importancia en el
software de misión crítica.
. Restricciones de Diseño e Implementación: corresponden a condiciones impuestas
por el usuario para el diseño y la implementación de la aplicación.
Requerimientos
No Funcionales
Requerimientos
del Proceso
Requerimientos Requerimientos
de Seguridad Eticos
Requerimientos
de Seguridad
Por otro lado los requerimientos no deben poseer ninguna de las características siguientes:
..Ruido: datos que sin aportar nueva información, sólo causan confusión.
Omisión: no describir algo que sí debe contemplarse.
. Contradicción: el tener dos o más requerimientos en conflicto entre ellos.
. Ambigüedad: presencia de texto que se presta para dos o más interpretaciones.
. Que no sea comprobable: un requisito que no se pueda comprobar, debe reescribirse
de forma que tenga una prueba objetiva.
3
Proyecto de Software Especificación de Requerimientos
Algunas de las técnicas y métodos que apoyan esta actividad son el IBIS (Issue Based
Informaction System), el JAD (joint Application Design) y las Inspecciones Formales o
Walk-Throughs y PD (Participating Design).
Algunas de las técnicas y métodos que apoyan esta actividad son el SADT (Structured
Analysis and Design Technique), Análisis Estructurado y Análisis Orientado al Objeto.
La manera más fácil de realizar la especificación del sistema es mediante entrevistas con
el cliente, reuniones de trabajo y/o investigación en terreno. Más adelante se describe en
términos generales cómo deben realizarse las entrevistas. Con la información obtenida se
realiza la construcción del Documento de Especificación de Requerimientos (DER).
4
Proyecto de Software Especificación de Requerimientos
Las entrevistas son realizadas para obtener las necesidades del cliente. Para determinar
las necesidades del cliente se puede proceder mediante preguntas y respuestas, la
presentación de prototipos o una combinación de ambas.
Las entrevistas deben ser establecidas con tiempo de tal manera que el equipo de trabajo
pueda prepararla y el cliente pueda asistir. Normalmente el cliente no posee la misma
disponibilidad de tiempo que el equipo de desarrollo por lo que debe ser avisado con
anticipación. Cada entrevista debe ser acompañada de una minuta de reunión.
Las minutas no sólo permiten hacer las reuniones más productivas, sino que permiten
registrar el proceso de entrevistas y los compromisos del cliente y del equipo de trabajo.
Este registro puede ser útil para resolver diferencias posteriores en el proceso de
desarrollo.
Las preguntas y respuestas son útiles al comienzo de la interacción con el cliente para
obtener información importante del sistema. En esta etapa es fundamental que las
preguntas permitan "obtener" información, es decir, se deben evitar aquellas preguntas que
no son relevantes para la etapa de requerimientos. Por ejemplo, para determinar (y
especificar) la funcionalidad de la aplicación no es relevante conocer el lenguaje de
implementación. Se debe intentar obtener la funcionalidad (lo que debe hacer el sistema)
que desea el cliente. Es responsabilidad del grupo de trabajo elegir a las personas idóneas
para las entrevistas además de la elaboración de las preguntas adecuadas.
5
Proyecto de Software Especificación de Requerimientos
VENTAJAS
.
. Fácil de administrar y evaluar
Evaluación más objetiva tanto de
quienes responden como de las
. El entrevistador puede explotar áreas
que surgen espontáneamente
entrevista
durante la
.
.
pequeñas
Alto costo de preparación
Los que responden pueden o no
. Puede utilizarse negativamente el
tiempo, tanto de quien responde como
aceptar el nivel en la estructura y del entrevistador
carácter mecánico de las preguntas. . Los entrevistadores pueden introducir
. Un alto nivel en la estructura puede sus sesgos en las preguntas o al
DESVENTAJAS
.
o no ser adecuado para todas las
situaciones
El alto nivel en la estructura reduce
. informar los resultados
Puede recopilarse información extraña
. El análisis y la interpretación de los
responder en forma espontánea, asi resultados puede ser largo
como la habilidad del entrevistador . Toma tiempo extra recabarlos hechos
para continuar con comentarios esenciales
hacia el entrevistado
3.2 PROTOTIPOS
Los prototipos constituyen la manera más fácil de validar los requerimientos del sistema
dado que el usuario puede trabajar sobre un elemento concreto y no abstracto como son
los modelos. Según el área de aplicación que se esté analizando el prototipo puede ser
distinto. Por ejemplo, en el caso de una aplicación interactiva la descripción de la
funcionalidad podría realizarse mediante la presentación de las pantallas, menús, diálogos,
etc. En el caso de una aplicación de procesamiento de información el prototipo podría
mostrar la información de entrada y la información de salida, sin detallar, necesariamente,
el algoritmo asociado. En el caso de una aplicación web, el prototipo podria incluir las
páginas del sistema con una simulación de la navegación deseada.
6
Proyecto de Software Especificación de Requerimientos
4.1 ARQUITECTURA
Normalmente los DJF permiten representar la interacción que es posible realizar con el
usuario por medio de menús. Inicialmente los DJF fueron utilizados para representar la
interacción con sistemas de tipo consola en los cuales las opciones eran presentadas por
pantalla y el usuario debía elegir una opción para acceder a otro menú o para realizar la
acción correspondiente. En la actualidad esta interacción puede ser apreciada en los
cajeros automáticos. En la Figura 2 se muestra un ejemplo de jerarquía funcional para un
cajero automático.
Cajero Automático
Retiro de dinero
Cierre de Cajero
Informes
7
Proyecto de Software Especificación de Requerimientos
Para sistemas modernos que poseen interfaces con ventanas, menús, diálogos, etc. el
diagrama anterior no permite representar la funcionalidad del sistema claramente. Para
sistemas de este tipo se puede utilizar un diagrama de jerarquía funcional como el que se
muestra en la Figura 3. Este diagrama corresponde un parte de la funcionalidad que
provee el Word.
ti ~~,t;~~lr~r!l~.Jn.:~- E2i~J2.!m~!1t~~fa¡) !¡¡.b~,V.~~~
J l
A M...f'..n!e... ~< Qrtografiay gra.matica.:. .~7 ~ Q..;lh.. ídlJ~...
~ P:'.r ;>fo... f~bm;) ---+ . 51"OI1lno :. M.yú;+F-7
c.\)I'1~palb'¡¡¡,., !jul1ne3... .
~~;;;i::f;~:'~.,:3r':_~,:
§ ~k!~:.;:' .' '..,>, '::.' '. ~.;::i;;t~:
: .¡jf;':~ R~n.r,é#ros... .
. l?11J""'~~'" .
CQn'1\)léI~J;á~~~:
'¡J 1---+ :;.~ptilroi~;zamll1bm...
t~~~i
ifj M16ferrni;t;:..'~:'.? ':' .
:':L;;;~~::'I.E;'
":c?rr,Q~~~~'"
..
.c:;J"sotr~ y,e~ta~,;"
. ~¿,rparartttu~moos...
. PlJl'WOJ"¡ar,,':..
O¡:;cio~ .
Los diagramas de flujo de datos (OFO) permiten desarrollar los modelos del ámbito de la
información y del ámbito funcional al mismo tiempo. Los OFO's muestran el flujo de la
información (datos) y la transformación (mediante procesos) de ésta en el sistema. Es
gracias a los OFO que el análisis estructurado posee las cualidades de ser gráfico, conciso
y particionado.
Los OFO están compuestos por cuatro elementos: el flujo de datos, el proceso, el
repositorio, y el productor/consumidor. Estos elementos se muestran en la Figura 4.
8
Proyecto de Software Especificación de Requerimientos
Los DFD pueden ser refinados para reflejar mayor conocimiento sobre el sistema. El DFD
de nivelO debe reflejar el sistema como una sola burbuja. Para el desarrollo de los
siguientes refinamientos se deben tomar en cuenta las siguientes consideraciones:
Los procesos deben ser refinados de tal manera de generar un DFD para cada proceso. La
descomposición no debe reflejar demasiados detalles o aspectos procedurales sobre la
información. Se debe refinar hasta un nivel que permita aislar o describir plenamente cada
proceso. Para evitar confusiones se pueden numerar los procesos como se muestra en la
Figura 6.
~~
.1
1 1.2
1.3
10
Proyecto de Software Especificación de Requerimientos
4.4 PROCESOS
El lenguaje estructurado corresponde a una versión reducida del lenguaje que usamos
habitualmente con la incorporación de construcciones de programación estructurada (if-
then-else, while, etc.). El vocabulario comprende:
. Verbos imperativos (los adjetivos y adverbios son eliminados debido a que son
subjetivos y susceptibles de ser mal interpretados.
. Términos del diccionario de datos
. Palabras reservadas para reflejar lógica.
11
Proyecto de Software Especificación de Requerimientos
Hay tipos de procesos para los cuales el lenguaje estructurado no permite la especificación
clara y precisa de la transformación realizada a la información. Por ejemplo, si las acciones
del usuario dependen de un número importante de variables que a su vez pueden generar
un número grande de combinaciones, entonces la descripción mediante lenguaje
estructurado será confusa y muy anidada. En esta situación es conveniente utilizar un árbol
de decisión que es una herramienta gráfica que separa las condiciones independientes y
muestra las acciones resultantes a cada combinación.
"En nuestra empresa, Ficticia Ltda., incentivamos el ahorro de nuestros empleados. Para
ello hacemos una contribución a la cantidad que pongan en nuestro plan de ahorro.
Además del interés normal, los empleados participantes reciben del Departamento de
Finanzas una contribución del 50% de lo que inviertan - siempre y cuando mantengan el
monto por más de dos años.
Sin embargo, nosotros limitamos el monto que los empleados pueden ahorrar, dependiendo
de sus ingresos y el tiempo de permanencia en la empresa. Un empleado puede ahorrar el
cinco, seis o siete por ciento de los primeros $200.000 de su ingresos si ha estado con
nosotros un año, dos años, o más, respectivamente. Si ha estado con nosotros un año,
puede ahorrar hasta un cuatro por ciento de los siguientes $100.000 Y hasta tres por ciento
de cualquier exceso. Los empleados que han estado con nosotros dos ai10S pueden ahorrar
el cinco por ciento de cualquier cantidad desde $200.000 a $400.000 y cuatro por ciento
para cifras mayores. Personas que han estado mucho tiempo con nosotros pueden ahorrar
hasta el siete por ciento de los primeros $200.000 y cinco y seis por ciento para el resto. "
El árbol de decisión de la Figura 8 es mucho más claro y preciso que la versión narrada
anterior.
Tiempo de Pocentaje
Permanenciaen Rango de de Ahorro
la Empresa Ingreso Autorizado
Menos de $ 200.00 ~5%
~
(
1 año Más de $300.000 ~3'10
_6%
Polilica de
Ahorrode - 1Añoa L Menos de $200.000 -5%
Ficticia
LIda. 2Años
~ $200.00 a $400.00
Más de $400 00 _4%
Más de
2 Años
~ $200.000 a $400.000
~5'10
Una tabla de decisión es una forma tabular de un árbol de decisión. Una tabla de decisión
es más manejable que un diagrama, . sin embargo, es menos comprensible
12
Proyecto de Software Especificación de Requerimientos
"El diccionario de datos es un listado organizado de todos los datos que son relevantes para
el sistema, con definiciones precisas y rigurosas, de tal manera que, tanto el usuario como
el analista, puedan tener una comprensión común de las entradas, salidas, estructuras de
almacenamiento y cálculos intermedios"
. Nombre: nombre identificador del dato, ítem de control, repositorio o entidad externa.
. Alias: otros nombres o sinónimos utilizados para el nombre.
. Usado-donde/Usado-como: un listado de los procesos que utilizan el dato o ítem de
control y cómo es utilizado (por ejemplo, entrada para un proceso, salida de un
proceso, como repositorio, como entidad externa)
. Descripción: representación gramatical del contenido.
. Valores/Significados: información adicional sobre tipos de datos, valores predefinidos,
restricciones, limitaciones, precisión, etc.
13
Proyecto de Software Especificación de Requerimientos
Los ítems del DO pueden ser definidos de muchas maneras. Sin embargo, algunas
definiciones son más claras que otras. Por ejemplo, las definiciones siguientes:
El modelo de datos permite modelar las entidades (datos) del sistema y las asociaciones
(relaciones) existentes entre ellas. Además permite representar las características
(atributos) de las entidades y de las relaciones. Normalmente este diagrama se asocia con
la representación del modelo conceptual (lógico) de una base de datos, pero puede ser
14
Proyecto de Software Especificación de Requerimientos
Nombre
Atributos
I Entidad A ~ rc:::J
ENTIDAD RELACION
t t Relación 1 a 1
t q- Relación 1 a 1 (opcional)
t ~ Relación 1 a muchos
EJEMPLOS DE RELACIONES
Las relaciones representan asociaciones entre distintas entidades, pueden tener distintas
cardinalidades y pueden ser opcionales. Para reflejar las cardinalidades de las relaciones
se agregan símbolos en el extremo de la relación. En la Figura 11 se pueden apreciar
algunas combinaciones posibles. La opcionalidad se denota con una "o" en el (los)
extremo(s) correspondientes de la relación. En el diagrama entidad-relación se puede
incluir información adicional que permite identificar las naturaleza de las relaciones entre
las entidades. Por ejemplo, el diagrama de la Figura 12 posee las entidades EMPRESA y
PERSONA. La relación entre las entidades posee dos títulos: "Contrata a" y "Trabaja en".
La manera de leer las relaciones no está estandarizada, sin embargo, se sugiere que se
esto se haga de izquierda a derecha y de arriba hacia abajo. Para el ejemplo anterior, se
lee EMPRESA Contrata a PERSONA y PERSONA Trabaja en EMPRESA. Además queda
reflejado (para el modelo de la figura) que una empresa contrata a muchas personas y que
una persona trabaja en una sola empresa.
15
Proyecto de Software Especificación de Requerimientos
EMPRESA PERSONA
Conlrala a #rul
# rul
razon social nombre
dirección dirección
leléfono Trabaja en leléfono
PERSONA
EMPRESA
# sec_persona inleger
# sec_empresa
rul
inleger
varchar( 1O) 4
sec_empresa =sec_empresa sec_empresa inleger
rul varchar(12)
razon_social varchar(30) nombre varchar(20)
direccion varchar(100) direccion varchar(100)
lelefono varchar(7) teléfono varchar(7)
En la elaboración del modelo lógico se debe intentar identificar toda la información (datos)
relevantes del problema. Además de las entidades y relaciones, que corresponden al
ámbito del sistema y del negocio, hay otros elementos que deben ser identificados.
Algunos de éstos elementos son:
. Usuarios/Roles/Permisos
. Dominios
. Parámetros
16
- - - - ..,.
éjúe--éieiermiría-
enüñdonamienf6-'deTñifsrrio-:-
En--Ia -Ti:ib"ias¡~jüieñ(e"se-müestran-'a(gunos
..o.~.~oo:\.l~.~ ..~~".6..~"'o:.-?oC". - ~-- -- - +-- -----
18
Proyecto de Software Especificación de Requerimientos
4~::i~~l~i~~t1..;liti:~f¿:ftI~~~~j~¿;2~
" ..'\\tml~:;:~.'J.,~IO('.>f
¡ '_It
; ~.4Itnio, ' " rt""' , ;t~n¡\~1
I ". tu:Ht.t.V"
..,."..tMt, , ,,-~.,.: . ~~I~~~'~;,~rf--.U.U
..,w, t..tft!ON............
"""- : it~~:~~,~\~:',~~~:~:;:..:.~~'ti Pwd ..."" ,
,.....
~r..,t¡;;r4...t,.!..«U1!-~
.' ;.;t.
i~=-':::~:,
. 'H
'1 rt1 ~
Ok
. ..". ~ ,
..Jv>
";'''':.:\,''~
,.,
,...............
.',
.' ~... '" '.,,- A "-'-
Compose Inbox
Proyecto de Software Especificación de Requerimientos
Pendiente
Pendiente
4.12 ARCHIVOS
En algunas ocasiones el cliente puede requerir que el sistema sea capaz de trabajar con
archivos con un formato determinado. Esto con el fin de:
TEXTO BINARIO
CLIENTE (
SEPARADOR DE CAMPOS I char[12] rut
------------------------------------------------------- char[30] ra::on social
109875431 I Ficticia Ltda. I Av. Departamental .. . char[50] direccion
)
24
Proyecto de Software Especificación de Requerimientos
ARCHIVO DESCRIPCION
N A Número de Nadas (N), Número de Arcos (A)
1 SANTIAGO
: N líneas con información sobre los nadas.
: Cada línea posee el número del nodo y su descripción.
N PUERTO MONTT
1 1 2 45.00
2 1 3 23.12 A líneas con información sobre los arcos.
: Cada línea posee el número del arco, nodo inicial, nodo final
: y peso.
A 20 18 34.23
En el caso anterior la dependencia queda establecida por el hecho de que cada línea
posee un número variable de colores y que depende exclusivamente del tipo de poliedro.
Esto se traduce en que el programa que lee o escribe el archivo debe considerar el tipo de
poliedro para poder leer o escribir correctamente.
El Formato y Precisión debe dejar claro el formato de los datos (alineación, mayúsculas,
minúsculas, etc.) y la precisión. La precisión está relacionada con la manera en que
guardarán los número con decimales. Por ejemplo, el número 3.14 puede ser escrito como
3.14 o como 314E-2. También es importante determinar el número de decimales que
deben ser incorporados.
Las Condiciones de Error tienen relación con las condiciones de integridad del archivo, es
decir, cuáles son las circunstancias que determinan que un archivo sea válido o no.
Siguiendo el ejemplo anterior sobre la descripción del grafo, una condición de integridad
sería el hecho de que debe haber tantas líneas de nadas y de arcos como las indicadas en
la primera línea. Otro ejemplo seria el hecho de que el programa sólo acepta 50 nadas
como máximo (por restricciones de diseño por ejemplo) y por lo tanto se debe validar el
número de nadas indicados en la primera línea.
25
Proyecto de Software Especificación de Requerimientos
Debido a que el DER debe ser "alidado por el cliente, éste debe poseer las siguientes
características:
. Modular: debe permitir la modificación fácil de las distintas secciones de tal manera de
permitir mantener el documento actualizado ante los cambios en los requerimientos
surgidos durante la ejecución del proyecto.
. Compacto: la información debe ser entregada completa y reducida de tal manera de
no aumentar el tamaño del documento innecesariamente. Para ello es fundamental la
utilización de diagramas, tablas, figuras, etc. Esto es un elemento fundamental ya que
el documento debe ser leído y validado por el cliente. Si el documento es muy extenso
puede provocar retrasos innecesarios en el proyecto.
. Coherente: los requerimientos deben estar descritos de un manera legible y de menor
a mayor detalle de tal manera de facilitar la comprensión del problema.
La sección Introducción debe proveer una visión general del DER. A continuación se
describen las secciones que contiene.
26
Proyecto de Software Especificación de Requerimientos
. La sección Alcance del Proyecto debe identificar el software que se va a producir por
medio de un nombre (por ejemplo, Generador de Reportes, Host DBMS, etc.). Debe
explicar lo que hará y, en caso de ser necesario, lo que no hará el software. Además
debe describir los objetivos, beneficios relativos y metas del producto.
. La sección Referencias debe proveer una lista de todos los documentos externos
utilizados para la elaboración del documento. Debe identificar cada documento por
medio de un título, fecha y organización que lo publica. Además, debe identificar las
fuentes de las cuales pueden obtenerse los documentos. Por ejemplo, si se utiliza
algún estándar de programación externo o se utiliza información proveída por el cliente
para la elaboración del documento, entonces debe quedar consignado en esta sección.
La información se puede incluir como referencias a anexos del DER o como
referencias a otros documentos.
La sección Descripción General debe describir los factores que afectan el software y los
requerimientos. Esta sección no incluye descripciones de los requerimientos específicos,
sino que provee una base para la comprensión de los mismos (que son descritos en la
sección siguiente del DER).
. La sección Contexto del Producto debe describir la interrelación del software con otros
sistemas. Si el producto es totalmente independiente, esto deberá consignarse de igual
forma. Si el DER describe un software que es componente de un sistema mayor,
entonces esta sección deberá relacionar requerimientos del sistema mayor con
funcionalidad del software y deberá identificar las interfaces entre ese sistema y el
software.
. La sección Funciones del Producto debe proveer un resumen de las funciones más
importantes del software. Por ejemplo, una aplicación de contabilidad podría hacer
mención a la mantención de cuentas corrientes, balances de cuentas y estados de
cuenta sin mencionar los detalles que cada una de las funciones anteriores requiere.
Las funciones deben ser organizadas de tal manera que la lista de funciones sea
entendible por el cliente o por cualquier otra persona que lea el documento por primera
vez.
. La sección Restricciones debe incluir toda la información que limita en algún sentido la
implementación del sistema. Esta información puede incluir normas de regulación,
limitaciones de hardware, limitaciones de software, interfaces hacia otras aplicaciones,
operaciones paralelas, funciones de auditoría, funciones de control, protocolos de
comunicación, requerimientos de funcionamiento, factores críticos y/o consideraciones
de seguridad.
27
Proyecto de Software Especificación de Requerimientos
. La sección Dependencias y Supuestos debe describir aquellos factores que afectan los
requerimientos establecidos en el DER. No corresponden a factores que pueden
afectan el diseño, sino más bien a aquellos factores que al ser modificados afectan los
requerimientos. Por ejemplo, un supuesto podría ser la existencia de algún sistema
operativo particular para la plataforma de desarrollo. En caso de que este sistema
operativo no estuviera disponible, entonces el DER debería ser modificado
adecuadamente.
. La sección Interfaces de Usuario debe describir los requerimientos del cliente para la
interacción de la aplicación co,, el(los) usuario(s). En el caso más simple, esta sección
puede verse reducida a una referencia al estándar de interfaz, definido por el cliente, al
interior de su organización. En el caso más complejo, puede ser necesario definir un
estándar nuevo o adecuado a la nueva aplicación. En caso de ser así, éste deberá ser
discutido y autorizado por el cliente.
28
Proyecto de Software Especificación de Requerimientos
Cada uno de los elementos descritos en las secciones anteriores debiera incorporar la
siguiente información:
a) Validaciones en la entrada
b) Secuencia exacta de las operaciones
c) Reacciones ante situaciones anómalas, incluyendo
Overflow
Facilidades de Comunicación
Manejo y Recuperación de Errores
d) Efecto de los parámetros
e) Relación de las salidas a las entradas, incluyendo
Secuencias de Entradas/Salidas
Fórmulas para convertir las entradas en salidas
29
Proyecto de Software Especificación de Requerimientos
Cada uno de los requerimientos anteriores deberá especificarse en términos medibles. Por
ejemplo, "95% de las transacciones deberán ser procesadas en menos de 1 s" en vez de
"Un operador no deberá tener que esperar a que la transacción termine". Todas los
requerimientos anteriores deben especificarse en común acuerdo con el cliente y deben
reflejar sus necesidades.
La sección Restricciones de Diseño debe describir las restricciones de diseño que pueden
producirse debido a estándares específicos, limitaciones de hardware, software, etc.
La sección Atributos de Sistema debe describir los atributos del sistema de tal manera que
éstos puedan ser verificados objetivamente. A continuación se incluyen algunos ejemplos:
. Seguridad: debe especificar los factores que protegerán al sistema de uso accidental,
modificación y/o destrucción. Ejemplos de esto podrían ser técnicas de criptografía,
mantención de registros históricos, asignación de ciertas funciones a distintos módulos,
restricción de las comunicaciones entre distintos módulos del programa, revisión de
integridad para variables críticas.
. Portabilidad: debe especificar atributos del sistema relacionados con el traspaso del
sistema a otro hardware y/o sistema operativo. Esto podría incluir:
30
Proyecto de Software Especificación de Requerimientos
El punto 4.1 debe contener los Use-Case para todas las interacciones con el sistema. Lps
diagramas pueden ser incorporados aquí directamente o en los anexos.
El punto 4.2 corresponde a los reportes que debe generar el sistema. El punto 4.3
corresponde a los díagramas de secuencia asociados a los use-case existentes. El punto
4.4. corresponde a la descripción del modelo conceptual de clases. Aqui se debe
incorporar el modelo conceptual completo y posteriormente una descripción de las clases
existentes.
31
Proyecto de Software Especificación de Requerimientos
Archivos Graficos
Páginas HTML
19
--------
u
Contactos
Revista
Usualmente las distinciones entre los distintos niveles no son claras produciendo
dificultades para el desarrollo y la mantención del software.
Para el caso de aplicaciones web, los elementos que las componen son los siguientes:
a) Páginas HTML
b) Modelo E-R,
e) Estructura de Directorios.
d) Mapa de Navegación
a) Links
b) Formularios
e) Imágenes
d) Applets
e) Elementos dinámicos: JavaScript, Jscript, VBScript, etc.
El punto 4.2 corresponde a la descripción de los reportes que debe generar el sistema.
El unto 4.3 corresponde a la descripción de los procesos que deben ser realizados durante
la utilización del sistema. Aquí es importante destacar en que condiciones se realiza la
activación de las procesos. Por ejemplo, algunos procesos pueden ser realizados al seguir
un link, al cargar una página, al responder un formulario, al presionar un botón, etc.
32
Proyecto de Software Especificación de Requerimientos
6. COMENTARIOS FINALES
El documento de requerimientos debe ser validado por parte del cliente y no será aceptado
hasta que el cliente no haya dado su aprobación.
Este manual está en construcción y las sugerencias, comentarios, dudas y/o consultas los
pueden hacer llegar a abertini@dcc.uchile.cl.
33
Proyecto de Software Anexo A
Anexo A
1. Introducción
1.1. Propósito
1.2. Alcance del Proyecto
1.3. Glosario: Definiciones,Acrónimosy Abreviaciones
1.4. Referencias
1.5. Contenidos
2. Descripción General
2.1. Contexto del Producto
2.2. Funciones del Producto
2.3. Características de los Usuarios
2.4. Restricciones
2.5. Dependencias y Supuestos
3. Requerimientos de Interfaces Externas
3.1. Interfacesde Usuario
3.2. Interfacesde Hardware
3.3. Interfacesde Software
3.4. Interfacesde Comunicación
4. Requerimientos Funcionales
4.1. Funcionalidad
4.1.1. Pantalla1/lnteracción1
4.1.2. Pantalla2/lnteracción2
4.2. Reportes
4.2.1. Reporte 1
4.2.2. Reporte 2
34
Proyecto de Software Anexo A
9. Anexos
. Flujos de Datos
. Jerarquía Funcional
. Modelo de Datos Lógico
. Descripción de Procesos
. Pantallas del Prototipo
. Descripción de Archivos
35
Proyecto de Software Anexo B
Anexo 8
1. Introducción
1.1. Propósito
1.2. Alcance del Proyecto
1.3. Glosario: Definiciones, Acrónimos y Abreviaciones
1.4. Referencias
1.5. Contenidos
2. Descripción General
2.1. Contexto del Producto
2.2. Funciones del Producto
2.3. Características de los Usuarios
2.4. Restricciones
2.5. Dependencias y Supuestos
3. Requerimientos de Interfaces Externas
3.1. Interfaces de Usuario
3.2. Interfaces de Hardware
3.3. Interfaces de Software
3.4. Interfaces de Comunicación
4. Requerimientos Funcionales
4.1. Use-Case
4.1.1. Use-Case 1
4.1.2. Use-Case 2
4.2. Reportes
4.2.1. Reporte 1
4.2.2. Reporte 2
5. Requerimientos de Rendimiento
6. Restricciones de Diseño
7. Atributos de Sistema
8. Requerimientos Adicionales
9. Anexos
. Modelo Conceptual
. Diagramas Use-Case
. Diagramas de Secuencia
36
Proyecto de Software Anexo B
. Diagramas de Clase
. Modelo de Datos Lógico
. Diccionario de Datos
. Pantallas del Prototipo
. Descripción de Archivos
37
Proyecto de Software Anexo e
Anexoe
1. Introducción
1.1.Propósito
1.2.Alcance del Proyecto
1.3.Glosario: Definiciones, Acrónimos y Abreviaciones
1.4.Referencias
1.5.Contenidos
2. Descripción General
2.1. Contexto del Producto
2.2. Funciones del Producto
2.3. Características de los Usuarios
2.4. Restricciones
2.5. Dependencias y Supuestos
3. Requerimientos de Interfaces Externas
3.1. Interfaces de Usuario
3.2. Interfaces de Hardware
3.3. Interfaces de Software
3.4. Interfaces de Comunicación
4. Requerimientos Funcionales
4.1. Descripción de Páginas
4.1.1. Página 1
4.1.2. Página 2
4.2. Reportes
4.2.1. Reporte 1
4.2.2. Reporte 2
38
Proyecto de Software Anexo e
. Diccionario de Datos
. Descripción de Archivos
39
Proyecto de Software Anexo O
Anexo D
Los requerimientos deben intentar describir completamente el sistema que se desea construir.
Las preguntas siguientes son una ayuda para determinar si se ha realizado un trabajo completo
en la etapa de especificación de requerimientos.
40
Proyecto de Software Anexo O
41