Ieee 830

25
NORMA IEEE 830 PARA ESPECIFICACIÓN DE REQUERIMIENTOS DE SOFTWARE AYODORO BALTAZAR LEONEL CORONADO ROJAS GRACIELA GARCIA TORRES CESAR

Transcript of Ieee 830

Page 1: Ieee 830

NORMA IEEE 830 PARA

ESPECIFICACIÓN DE

REQUERIMIENTOS DE

SOFTWAREAYODORO BALTAZAR LEONEL

CORONADO ROJAS GRACIELA

GARCIA TORRES CESAR

Page 2: Ieee 830

IEEE 830

El estándar 830-1998 fue generado por un equipode trabajo del IEEE (Instituto de Ingenieros Eléctricosy Electrónicos), su finalidad es la integración de losrequerimientos del sistema desde la perspectiva delusuario, cliente y desarrollador.

El propósito principal es ayudarnos a elaborar undocumento muy útil: el SRS (Especificación deRequerimientos de Software).

Es esencialmente una guía para redacción.

Page 3: Ieee 830

IEEE 830

Quién la puede usar:

Un cliente/usuario que vaya a definir requerimientos(características) de un software que necesite

Un desarrollador (interno/externo) que haga software“a la medida” mediante proyecto

Un desarrollador que haga software “de paquete” quese venda masivamente

Page 4: Ieee 830

IEEE 830 SIRVE PARA:

Un cliente describa claramente lo que quiere

Un proveedor entienda claramente lo que el cliente quiere

Se establezcan bases para un contrato de desarrollo (o de compra-venta)

Se reduzca el esfuerzo de análisis, diseño, y programación (evitando re-trabajos)

Se tenga una base o referencia para validar o probar el software solicitado

Se facilite el traspaso del software a otros clientes/usuarios

Se le puedan hacer mejoras (o innovaciones) a ese software

Page 5: Ieee 830

CONSIDERACIONES PARA REDACTAR

EL SRS

Su naturaleza

Su ambiente

Características deseables del documento

Preparación conjunta del SRS

Evolución del documento

Prototipos

Diseño “implícito” en el SRS

Requerimientos de proyecto “implícitos”

Page 6: Ieee 830

NATURALEZA DEL SRS

El SRS es una especificación para un producto desoftware en particular, ya sea un sólo programa, o unconjunto de programas, que realicen ciertas funcionesen un ambiente específico

A veces el usuario no sabe si necesitará un soloprograma o más de uno

El SRS puede escribirse por uno o más representantesdel proveedor, uno o más del cliente, o por ambos

Lo más recomendable es que haya representantes deambas partes

El usuario/cliente puede redactar un borrador inicial ydespués revisarlo con el proveedor

Page 7: Ieee 830

NATURALEZA DEL SRS

Funcionalidades deseadas

Interfaces externas

Desempeño

Atributos(seguridad, portabilidad, mantenibilidad, etc.)

Restricciones de diseño impuestas a laimplementación (estándares técnicos propios ointernacionales, lenguaje de progr., sistemaoperativo, límites de recursos, políticas internas).

Page 8: Ieee 830

AMBIENTE DEL SRS

El SRS es la fuente principal para hacer el plan detallado de unproyecto de software

Un SRS puede referirse a los requerimientos deseados de todos loscomponentes de un sistema grande, o a componentes (módulos)individuales del mismo

Si se hacen SRS por separado para varios módulos, tiene quemantenerse la consistencia en los documentos

Si un software necesita interactuar con otro, tienen que especificarselos requerimientos de esa interacción (interfaces), definiendo susfuncionalidades y el nivel de desempeño deseado

Page 9: Ieee 830

CARACTERÍSTICAS DE UN BUEN SRS

Correcto

No ambiguo

Completo

Consistente

Ordenado con base en importancia y/o estabilidad

Verificable

Modificable

Rastreable

Page 10: Ieee 830

CARACTERISITICAS DE UN BUEN SRS

El SRS es correcto si losrequerimientos escritos sonaquellos que el softwaredeberá cumplir.

No hay un método parasaber si el SRS escorrecto; lo importante esque se pida lo querealmente se necesita.

Un SRS es no ambiguo si cadarequerimiento establecido en éltiene una sola interpretaciónposible, tanto por elcliente/usuario como por eldesarrollador

En casos donde alguna palabrapudiera tener múltiplessignificados, se debe incluir sudefinición precisa en un glosarioque se adicione al SRS.

Ejemplos:planta, obra, maestro, carga,flecha

CORRECTEZ NO AMBIGUO

Page 11: Ieee 830

CARACTERISTICAS DE UN BUEN SRS

El SRS es completo si incluye:

Todos los requerimientos significativossobrefuncionalidades, desempeño, restricciones de diseño, atributos, o interfacesexternas.

Las respuestas que debería dar elsoftware a todas las posiblesentradas de datos en todas lassituaciones posibles (entradasaceptables o no aceptables:validación).

Especificación de unidades demedida (si son aplicables).

En caso de que el SRS tengadiagramas o tablas informativas, hayque darles número o identificación.

Los diversos requerimientos escritostienen que ser compatibles entre sí;no debe haber contradicciones niconflictos entre ellos.

Para lograr la consistencia debenevitarse los siguientes conflictos:

En características especificadasde objetos del mundo real.

De lógica o de tiempo entre dosactividades.

Referencia a un mismo objeto delmundo real pero usandodiferentes palabras para elmismo objeto.

COMPLETO CONSISTENTE

Page 12: Ieee 830

CARACTERISITICAS DE UN BUEN SRS

Cada requerimiento especificado debetener alguna identificación(número, letra, secuencia alfanumérica)para indicar su grado de importancia ode estabilidad.

Algunos requerimientos son másimportantes que otros.

Grado de estabilidad: número decambios que se podrían esperar para unrequerimiento, debido a eventos futurosque afecten a la organización, lasresponsabilidades, y las personas queusarán el software.

Grado de necesidad:

Esencial

Condicional

Opcional

Un requerimiento es verificable siexiste algún método rentablemediante el cual se puedaanalizar si el software cumpleese requerimiento.

Si no existe algún método parasaber si el software cumple o noun requerimiento, entonces eserequerimiento debe ser revisadoo eliminado.

ORDENADO CON BASE DE IMPORTANCIA O ESTABILIDAD

VERIFICABLE

Page 13: Ieee 830

CARACTERISTICAS DE UN BUEN SRS

Es modificable si la estructura yestilo de redacción permiten larealización de cambios en formafácil, completa y consistente

Para esto es recomendable:

Incluir índice, tabla de contenido ytabla de referencias cruzadas.

Cada requerimiento debe aparecersólo una vez (la redundancia propiciaerrores de inconsistencia).

Poner cada requerimiento separadode los demás.

Un SRS es rastreable si el origende cada requerimiento esclaro, y si facilita el seguimientode cada requerimiento a lolargo del proyecto de software.

Dos tipos de rastreabilidad: Hacia atrás: en cada

requerimiento se mencionaexplícitamente su fuentedocumental

Hacia delante: los documentosque se deriven del SRS debenusar las identificaciones derequerimientos como fuerondadas en el SRS

MODIFICABLE RASTEABLE

Page 14: Ieee 830

PREPARACIÓN CONJUNTA DEL SRS

El desarrollo de un software solamente debería

iniciar cuando el cliente y el proveedor estén de

acuerdo acerca de lo que el software deberá

hacer.

Page 15: Ieee 830

EVOLUCIÓN DEL SRS

Un SRS puede necesitar cambios mientras el software está en etapas dediseño o de desarrollo.

Los cambios pueden estar motivados por: deficiencias, errores, omisiones oimprecisiones en el documento original.

Cada requerimiento debe documentarse tan completo como seaposible, aún si pudiera necesitar cambios posteriormente.

Los cambios en los requerimientos tienen que documentarse con el propósitode: identificarlos, controlarlos, rastrearlos, y reportarlos.

Tanto el cliente como el proveedor deben designar a su respectivoresponsable de autorizar (o rechazar) cambios en los requerimientos.

Page 16: Ieee 830

CREACIÓN DE PROTOTIPOS

Un prototipo es un pequeño programa parecido al

software solicitado que sirve de ejemplo, muestra o

modelo para que el cliente vaya especificando sus

requerimientos en forma progresiva junto con el

desarrollador.

Page 17: Ieee 830

PROTOTIPOS

El prototipo es útil para:

Que el cliente/usuario vea y describa más fácilmente las funcionalidades quedesea.

Prever aspectos de la conducta del sistema, haciendo que el SRS sea máscompleto y preciso.

Reducir la cantidad de cambios durante las etapas de diseño o desarrollo.

Un prototipo puede ayudar al usuario a definir detalles específicos de la interfazhumana o de las funcionalidades que requiera.

Puede facilitarle al desarrollador el diseño y la programación del software.

Page 18: Ieee 830

DISEÑO IMPLÍCITO EN EL SRS

Aunque el SRS no constituye un documento de

diseño, implícitamente está diciéndole a los

desarrolladores lo que se espera que ellos diseñen

Establece restricciones

El SRS tiene que especificar las funcionalidades que

se aplicarán sobre ciertos datos para producir

resultados en cierto lugar para determinados

usuarios

Page 19: Ieee 830

REQUERIMIENTOS DE PROYECTO

IMPLÍCITOS

El SRS se enfoca en el software como producto, no en su proceso de creación.

Implícitamente establece restricciones sobre la planeación y administración del proyecto correspondiente.

El SRS da origen a otros documentos (por separado) relacionados con el ciclo de vida de un software

Estimación de costos

Fechas de entrega

Reportes de avances

Métodos de desarrollo

Aseguramiento de la calidad

Criterios de validación y verificación

Procedimientos de aceptación

Page 20: Ieee 830

CONTENIDO Y

ORGANIZACIÓN TÍPICOS DE

UN SRS

Page 21: Ieee 830

CONTENIDO DE UN SRS

SECCIÓN 1: INTRODUCCIÓN

Debe incluir una descripción general del

SRS, mostrando lo siguiente:

1.1 Propósito del documento

1.2 Alcance

1.3 Definiciones, acrónimos, y abreviaturas

1.4 Referencias

1.5 Descripción general del documento

Page 22: Ieee 830

CONTENIDO DE UN SRS

SECCIÓN 2: DESCRIPCIÓN GRAL. DEL SOFTWARE

Usualmente se incluyen estas 6 subsecciones:

2.1 Perspectiva del software

2.2 Funciones del software

2.3 Características del usuario

2.4 Restricciones

2.5 Suposiciones y dependencias

2.6 Posposición de requerimientos

Page 23: Ieee 830

CONTENIDO DE UN SRS

2.1 Perspectiva del software

Describir las condiciones (restricciones) dentro de las cuales deberá funcionar el software:

2.1.1 Interfaces de sistema

2.1.2 Interfaces de usuario

2.1.3 Interfaces de hardware

2.1.4 Interfaces de software

2.1.5 Interfaces de comunicaciones

2.1.6 Restricciones de memoria

2.1.7 Operaciones

2.1.8 Requerimientos de adaptación a un lugar

Page 24: Ieee 830

ORGANIZACIÓN DE LOS

REQUERIMIENTOS ESPECÍFICOS

Para lograr un mejor entendimiento de los requerimientos, conviene organizarlos con base en alguno de los siguientes criterios:

Por modo de operación del sistema

Por clase de usuario

Por objetos

Por características

Por estímulos

Por respuestas

Por jerarquía funcional

Page 25: Ieee 830

GRACIAS POR SU

ATENCIÓN