IEEE 830 Plantilla
IEEE 830 Plantilla
IEEE 830 Plantilla
DISEO DE SISTEMAS
2014
Resumen
Este documento presenta el conjunto de caractersticas necesarias para la
obtencin de una buena especificacin de requisitos. Asimismo, presenta el formato de
Especificacin de Requisitos Software segn la versin de 1998 del estndar IEEE 830.
En la IEEE se indica que un buen documento de requisitos debe contemplar toda la
informacin presentada en dicho estndar y, aunque propone una organizacin de dicha
informacin, no exige estrictamente el formado de dicha informacin.
Palabras Clave
Requisito, software, IEEE, anlisis de requisitos.
ndice
1
Introduccin ................................................................................................................1
Correccin ............................................................................................................3
3.2
Ambigedad .........................................................................................................3
3.3
Completitud ...............................................................................................................4
3.4
Verificabilidad ......................................................................................................4
3.5
Consistencia..........................................................................................................4
3.6
Clasificacin .........................................................................................................5
3.7
Modificabilidad .........................................................................................................5
3.8
3.9
Conclusiones ........................................................................................................... 11
Bibliografa ............................................................................................................. 12
1 Introduccin
El anlisis de requisitos es una de las tareas ms importantes en el ciclo de vida del
desarrollo de software, puesto que en ella se determinan los planos de la nueva
aplicacin.
En cualquier proyecto software los requisitos son las necesidades del producto
que se debe desarrollar. Por ello, en la fase de anlisis de requisitos se deben identificar
claramente estas necesidades y documentarlas. Como resultado de esta fase se debe
producir un documento de especificacin de requisitos en el que se describa lo que el
futuro sistema debe hacer. Por tanto, no se trata simplemente de una actividad de
anlisis, sino tambin de sntesis.
El anlisis de requisitos se puede definir como el proceso del estudio de las
necesidades de los usuarios para llegar a una definicin de los requisitos del sistema,
hardware o software, as como el proceso de estudio y refinamiento de dichos
requisitos, definicin proporcionada por el IEEE [Piattini, 1996]. Asimismo, se define
requisito como una condicin o capacidad que necesita el usuario para resolver un
problema o conseguir un objetivo determinado [Piattini, 1996]. Esta definicin se
extiende y se aplica a las condiciones que debe cumplir o poseer un sistema o uno de
sus componentes para satisfacer un contrato, una norma o una especificacin.
En la determinacin de los requisitos no slo deben actuar los analistas, es muy
importante la participacin de los propios usuarios, porque son stos los que mejor
conocen el sistema que se va a automatizar. Analista y cliente se deben poner de
acuerdo en las necesidades del nuevo sistema, ya que el cliente no suele entender el
proceso de diseo y desarrollo del software como para redactar una especificacin de
requisitos software (ERS) y los analistas no suelen entender completamente el
problema del cliente, debido a que no dominan su rea de trabajo.
As pues, el documento de especificacin de requisitos debe ser legible por el
cliente, con lo que se evita el malentendido de determinadas situaciones, ya que el
cliente participa activamente en la extraccin de dichos requisitos.
Basndose en estos requisitos, el ingeniero de software proceder al modelado de
la futura aplicacin. Para ello, se pueden utilizar diferentes tipos de metodologas tales
como la metodologa orientada a objetos (por ejemplo DFDs y UML respectivamente).
En la metodologa orientada a objetos se utiliza el UML [Pierre-Alain, 1997],
mediante el cual podemos representar diagramas (casos de uso) que permiten definir el
sistema desde el punto de vista del usuario estableciendo las relaciones entre el futuro
sistema y su entorno. Estas relaciones se establecen en forma de acciones del usuario y
reacciones del sistema.
2 Objetivos de la ERS.
Los principales objetivos que se identifican en la especificacin de requisitos software
son [Chalmeta, 2000]:
1. Ayudar a los clientes a describir claramente lo que se desea obtener mediante un
determinado software: El cliente debe participar activamente en la especificacin
de requisitos, ya que ste tiene una visin mucho ms detallada de los procesos
que se llevan a cabo. Asimismo, el cliente se siente partcipe del propio desarrollo.
2. Ayudar a los desarrolladores a entender qu quiere exactamente el cliente: En
muchas ocasiones el cliente no sabe exactamente qu es lo que quiere. La ERS
permite al cliente definir todos los requisitos que desea y al mismo tiempo los
desarrolladores tienen una base fija en la que trabajar. Si no se realiza una buena
especificacin de requisitos, los costos de desarrollo pueden incrementarse
considerablemente, ya que se deben hacer cambios durante la creacin de la
aplicacin.
3. Servir de base para desarrollos de estndares de ERS particulares para cada
organizacin: Cada entidad puede desarrollar sus propios estndares para definir
sus necesidades.
Una buena especificacin de requisitos software ofrece una serie de ventajas entre
las que destacan el contrato entre cliente y desarrolladores (como ya se ha indicado con
anterioridad), la reduccin del esfuerzo en el desarrollo, una buena base para la
estimacin de costos y planificacin, un punto de referencia para procesos de
verificacin y validacin, y una base para la identificacin de posibles mejoras en los
procesos analizados.
La ERS es una descripcin que debe decir ciertas cosas y al mismo tiempo debe
decirlas de una determinada manera. En este documento se presentar una de las formas
que viene especificada por el estndar IEEE 830.
Una ERS forma parte de la documentacin asociada al software que se est
desarrollando, por tanto debe definir correctamente todos los requerimientos, pero no
ms de los necesarios. Esta documentacin no debera describir ningn detalle de
diseo, modo de implementacin o gestin del proyecto, ya que los requisitos se deben
describir de forma que el usuario pueda entenderlos. Al mismo tiempo, se da una mayor
flexibilidad a los desarrolladores para la implementacin.
As pues, el grado y el lenguaje utilizado para la documentacin de los requisitos
estarn en funcin del nivel que el usuario tenga para entender dichas especificaciones.
Correcta
No ambigua
Completa
Verificable
Consistente
Clasificada
Modificable
Explorable
3.1 Correccin
La ERS es correcta si y slo si todo requisito que figura en ella refleja alguna necesidad
real. La correccin de la ERS implica que el sistema implementado ser el sistema
deseado.
3.2 Ambigedad
Un documento es no ambiguo si y solo si cada requisito descrito tiene una nica
interpretacin. Cada caracterstica del producto final debe ser descrita utilizando un
trmino nico y, en caso de que se utilicen trminos similares en distintos contextos, se
deben indicar claramente las diferencias entre ellos. Incluso se puede incluir un glosario
en el que indicar cada significado especficamente.
Los analistas deben poner un cuidado especial a la hora de especificar los
requisitos. El hecho de utilizar el lenguaje natural para hacer la ERS comprensible a los
usuarios supone un riesgo muy elevado, porque el lenguaje natural puede llegar a ser
muy ambiguo.
Ejemplo:
Todos los clientes tienen el mismo campo de control
1.- Todos tienen el mismo valor en el campo de control?
2.- Todos los campos de control tienen el mismo formato?
3.- Un campo de control se usa para todos los clientes?
3.3 Completitud
Una ERS es completa si:
Existe una definicin de respuestas a todas las posibles entradas, tanto vlidas
como invlidas, en todas las posibles situaciones.
Cumple con el estndar utilizado. Si hay alguna parte del estndar que no se
utiliza, se debe razonar suficientemente el porqu no se ha utilizado dicho
apartado.
La ERS debe ser siempre completa, aunque en ocasiones esto no ser posible. Por
ejemplo si todava no se han determinado los formatos de los informes finales o por
cualquier razn se est esperando la publicacin de una ley o un reglamento sobre
impuestos.
3.4 Verificabilidad
Un requisito se dice que es verificable si existe algn proceso no excesivamente costoso
por el cual una persona o una mquina puedan chequear que el software satisface
dicho requerimiento.
Ejemplo
No verificables:
El producto debera funcionar bien
El producto debera tener una buena interfaz de usuario
Verificable:
La salida se suministra dentro de los 20 segundos siguientes al evento en el
60% de las veces, y en los 30 segundos siguientes en el 100%
3.5 Consistencia
Una ERS es consistente si y slo si ningn conjunto de requisitos descritos en ella son
contradictorios o entran en conflicto. Se pueden dar tres casos:
3.6 Clasificacin
No todos los requisitos son igual de importantes. Los requisitos pueden clasificarse por
diversos criterios:
3.7 Modificabilidad
Una ERS es modificable si cualquier cambio puede realizarse de manera fcil, completa
y consistente. Para ello, es deseable tener una organizacin coherente y fcil de usar en
la que aparezca el ndice o una tabla de contenidos fcilmente accesible.
Tambin es deseable evitar la redundancia, es decir que no aparezca un mismo
requisito en ms de un lugar de la ERS. No es un error, pero si se tiene que modificar
alguna cosa ser mucho ms cmodo si no tenemos que buscar el mismo requisito en
varios lugares.
El
de
la
el
Introduccin
1.1 Propsito
1.2 mbito del Sistema
1.3 Definiciones, Acrnimos y Abreviaturas
1.4 Referencias
1.5 Visin general del documento
Descripcin General
2.1 Perspectiva del Producto
2.2 Funciones del Producto
2.3 Caractersticas de los usuarios
2.4 Restricciones
2.5 Suposiciones y Dependencias
2.6 Requisitos Futuros
Requisitos Especficos
3.1 Interfaces Externas
3.2 Funciones
3.3 Requisitos de Rendimiento
3.4 Restricciones de Diseo
3.5 Atributos del Sistema
3.6 Otros Requisitos
Apndices
ndice
Figura 1. Estructura de una ERS
1 Introduccin
En esta seccin se proporcionar una introduccin a todo el documento de
Especificacin de Requisitos Software. Consta de varias subsecciones, las cuales son
propsito, mbito del sistema, definiciones, referencias y visin general del documento.
1.1 Propsito
Se definir el propsito del documento ERS y se especificar a quin va dirigido
el documento.
1.4 Referencias
Se
ERS.
2 Descripcin General
En esta seccin se describen todos aquellos factores que afectan al producto y a
sus requisitos. En esta seccin no se describen los requisitos, sino su contexto. Los
detalles de los requisitos de describen en la seccin 3, detallndolos y haciendo ms
fcil su comprensin.
Normalmente podemos encontrar las siguientes subsecciones: Perspectiva del
producto, funciones del producto, caractersticas de los usuarios, restricciones,
suposiciones y futuros requisitos.
2.4 Restricciones
Se debe indicar aqu cualquier tipo de limitacin como pueden ser polticas de la
empresa, limitaciones hardware, seguridad, protocolos de comunicacin, interfaces con
otras aplicaciones, estndares de la empresa en cuanto a interfaces, etc. Sern las
limitaciones que se imponen sobre los desarrolladores del producto.
los
un
de
los
3 Requisitos Especficos
Esta seccin de la especificacin de requisitos software contiene todos los
requerimientos hasta un nivel de detalle suficiente para permitir a los diseadores
disear un sistema que satisfaga dichos requisitos, y que permita disear las pruebas que
ratifiquen que el sistema cumple con las necesidades requeridas.
Los requisitos que se aqu se indiquen deben describir comportamientos externos
del sistema, observables por el usuario as como por parte de los operadores y otros
sistemas.
Puesto que deben indicarse todos los requisitos, esta seccin es la ms larga de la
ERS y debe cumplir los principios descritos en los primeros apartados de este informe.
Estos principios son la correccin, no ambigedad, completitud, consistencia,
clasificacin, verificabilidad, modificabilidad,
explorabilidad
y
facilidad
de
mantenimiento.
Asimismo, ste documento debe ser perfectamente legible por el cliente y por
personas de muy distinta formacin. Otra de las cuestiones a tener en cuenta en esta
seccin es la identificacin de cada uno de los requisitos mediante algn cdigo o
sistema de numeracin.
3.2 Funciones
En este subseccin de deben especificar todas aquellas acciones o funciones que
deber llevar a cabo el sistema a desarrollar. Las acciones que se indican como el
sistema deber ... son las que deben incluirse en este apartado.
La estructuracin de las funciones a desarrollar por el nuevo sistema no est del
todo claro. Se debe tener en cuenta que en el estndar de IEEE 830 de 1983 se
estableca que las funciones de deberan expresar como una jerarqua funcional (vase
anexo II), puesto que es la que mejor se adaptaba a los DFDs que propona el anlisis
estructurado. Con la evolucin de la programacin y los nuevos mtodos de anlisis se
puede observar como esta estructura no se adapta, por tanto es necesaria la modificacin
de los estndares.
El estndar IEEE 830, en sus ltimas versiones, permite la organizacin de esta
subseccin de mltiples formas y simplemente sugiere alguna manera para hacerlo,
dejando la oportunidad de utilizar cualquier otra justificando suficientemente la
utilizacin de sta.
Alguna de las formas sugeridas por el estndar son:
Por objetos: Los objetos son entidades del mundo real que son reflejadas
en el sistema. Por tanto, para cada objeto se detallan sus atributos y sus
funciones. Los objetos se pueden agrupar en clases. A pesar de realizar el
anlisis con objetos no obliga a que el diseo del sistema siga el
paradigma Orientado a Objetos, aunque lo facilita en gran medida.
10
Como se puede apreciar, el estndar propone una serie de plantillas segn el tipo
de sistema con el que nos enfrentemos. Pero en muchas ocasiones la eleccin se realiza
por eliminacin, o lo que es lo mismo, se escoge aquel que mejor se adapta a lo que se
busca.
4 Apndices
Se incluir aqu cualquier tipo de informacin relacionada con la ERS, pero que
no forme parte de la misma. Por ejemplo, se incluiran los resultados del anlisis de
costos, restricciones especiales acerca del lenguaje de programacin...
5 ndice
Se proporciona un ndice para poder tener un acceso rpido a la documentacin
presentada en la ERS.
11
5 Conclusiones
Para conseguir el xito en cualquier desarrollo de software es esencial la comprensin
total de los requisitos del usuario. No importa lo bien diseado o codificado que pueda
estar, si no se ha analizado correctamente puede defraudar al usuario y frustrar al
desarrollador.
El anlisis y la especificacin de los requisitos puede parecer una tarea
relativamente sencilla, pero, en realidad, el contenido del anlisis es muy denso y
abundan las malas interpretaciones o la falta de informacin. Es muy difcil evitar la
ambigedad.
El anlisis de requisitos es la fase ms importante en el desarrollo de un proyecto
software, ya que es en esta fase en la que el usuario indica las especificaciones del
futuro sistema, porque de un correcto anlisis depender la correcta implementacin de
la aplicacin.
El documento de especificacin de requisitos software supone una especie de
contrato entre cliente y desarrolladores en el que unos indican sus necesidades, mientras
que los otros se limitan a implementar lo que se indica en el documento. Principalmente
por esta razn tiene tanta importancia la fase de anlisis de requisitos.
La tarea del anlisis de requisitos es un proceso de descubrimiento, refinamiento,
modelado y especificacin y, por tanto, el desarrollador y el cliente tienen un papel
activo en la obtencin de estas necesidades.
La mejor manera de acercar ambas partes es hacer que el cliente forme parte
activa del anlisis de requisitos permitiendo que pueda interpretarlo y revisarlo. Las
ltimas tecnologas utilizadas para la obtencin de requisitos permiten una mejor
comprensin de los documentos de especificaciones, que hasta ahora eran demasiado
tcnicos para la correcta comprensin por parte del usuario.
Estas tcnicas modernas son los casos de uso, que forman parte del UML. sta es
la principal herramienta utilizada para el diseo completo de proyectos software
orientado a objetos. Los casos de uso modelan el sistema desde el punto de vista del
usuario, permitindole as la comprensin completa del futuro sistema. El nuevo
producto se muestra en forma de historieta.
El hecho de enfocar el anlisis de requisitos hacia el usuario tiene una doble
ventaja: por un lado evita las tendencias del informtico hacia un diseo tcnico que
permita optimizaciones innecesarias o complicaciones aadidas; por otro lado, la
participacin del usuario en el proceso y la utilizacin de su lenguaje cotidiano en la
redaccin de los casos de uso facilita la identificacin de las necesidades del sistema.
Finalmente, se debe indicar que esta fase es posiblemente la ms costosa
(temporalmente) en el desarrollo de un producto software. Esto se debe a que, en
general, el cliente no sabe realmente lo que quiere y requiere la ayuda de los analistas
para concretar las funciones que realmente se han de implementar. Por tanto, de la
calidad del documento de ERS depender el desarrollo y calidad del producto final. La
existencia de un estndar, como es el presentado en este trabajo, para la ERS (IEEE
830) permite la coherencia en la especificacin de requisitos y ayuda a no dejar cabos
sueltos.
12
6 Bibliografa
[Chalmeta, 1999]: Chalmeta R. ADSI II. 2 Boletn de transparencias. UJI,
1999.
[Davis A., 1995]: Davis A. 201 Principles of Software Development. 1 ed.
McGraw-Hill, 1995.
[Gause, 1989]: Gause D.C. y G.M. Weinberg. Exploring Requirements: Quality
before design. Dorset House, 1989.
[Piattini, 1996]: Piattini Mario G. Anlisis y diseo detallado de aplicaciones
informticas de gestin. 1 ed. RA-MA Editorial, Madrid, 1996.
[Pierre -Alain, 1997]: Pierre-Alain M. Modelado de objetos con UML. 1 ed.
Ediciones Gestin 2000 S.A, Barcelona, 1997.
[cern, 2000]: Web con un amplio glosario de trminos de Ingeniera del software.
http://dxsting.cern.ch/sting/glossary.html
[IEEE, 1998]: IEEE Recommended practice for software
requirements
specification. Artculo obtenido de la web del instituto de
ingenieros elctricos y electrnicos (Institute
of
Electrical
and
Electronics Engineers). http://www.computer.org/
[thehath, 2000]: Sitio web con
http://www.thehathway.com/
abundante
informacin
sobre
anlisis.
13
14
Modelo 1
3.
Requerimientos especficos
3.1. Requerimientos funcionales
3.1.1. Requerimiento funcional 1.
3.1.1.1. Introduccin
3.1.1.2. Entradas
3.1.1.3. Proceso
3.1.1.4. Salidas
3.1.2. Requerimiento funcional 2.
..........
3.1.n. Requerimiento funcional n
3.2. Requerimientos de interfaces externos.
3.2.1. Interfaces de usuario
3.2.2. Interfaces hardware
3.2.3. Interfaces software
3.2.4. Interfaces de comunicaciones
3.3. Requerimientos de eficiencia
3.4. Restricciones de diseo
3.4.1. Estndares cumplidos
3.4.2. Limitaciones Hardware
.......
3.5. Atributos
3.5.1. Seguridad
3.5.2. Mantenimiento
.......
3.6. Otros requerimientos
3.6.1. Bases de Datos
3.6.2. Operaciones
3.6.3. Requerimientos de adaptacin a situaciones
.......
Modelo 2
3.
Requerimientos especficos
3.1. Requerimientos funcionales
3.1.1. Requerimiento funcional 1.
3.1.1.1. Especificacin.
3.1.1.1.1.
Introduccin
3.1.1.1.2.
Entradas
3.1.1.1.3.
Proceso
3.1.1.1.4.
Salidas
Interfaces de usuario
3.1.1.2.2.
Interfaces hardware
3.1.1.2.3.
Interfaces software
3.1.1.2.4.
Interfaces de comunicaciones
15
Modelo 3
3.
Requerimientos especficos.
3.1. Requerimientos funcionales.
3.1.1. Requerimiento funcional 1
3.1.1.1. Introduccin
3.1.1.2. Entradas
3.1.1.3. Proceso
3.1.1.4. Salidas
3.1.1.5. Requerimientos de eficiencia
3.1.1.6. Restricciones de diseo
3.1.1.6.1.
Estndares cumplidos
3.1.1.6.2.
Limitaciones hardware
3.1.1.7. Atributos3.1.1.7.1.
Seguridad
3.1.1.7.2.
Mantenimiento
.........
3.1.1.8. Otros requerimientos
3.1.1.8.1.
Bases de Da tos
3.1.1.8.2.
Operaciones
3.1.1.8.3.
Requerimientos de adaptacin a situaciones
........
3.1.2. Requerimiento funcional 2.
.......
3.1.n. Requerimiento funcional n.
.......
3.2. Requerimientos de interfaces externos.
3.2.1. Interfaces de usuario
3.2.1.1. Requerimientos de eficiencia.
3.2.1.2. Restricciones de dis eo.
3.2.1.2.1.
Estndares cumplidos
3.2.1.2.2.
Limitaciones hardware
3.2.1.3. Atributos.
3.2.1.3.1.
Seguridad
3.2.1.3.2.
Mantenimiento
.......
3.2.1.4. Otros requerimientos
3.2.1.4.1.
Bases de datos
3.2.1.4.2.
Operaciones
3.2.1.4.3.
Requerimientos de adaptacin a situaciones
.......
3.2.2. Interfaces hardware.
3.2.3. Interfaces software.
3.2.4. Interfaces de comunicaciones.
16