tema6

Post on 28-Jun-2015

334 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Modelado del análisis de

requisitosTema 6

Tema 6.1

Análisis

• El término análisis, aplicado a sistemas,

significa descomponerlo en sus partes en sus

componentes para estudiar cada uno de ellos

tanto como un ente aislado como en interacción

con el resto.

Especificación de requisitos

• Cuando hablamos de una fase del ciclo de vida,

el análisis consiste en producir un documento

de especificación de requisitos que describa lo

que el futuro sistema debe hacer, pero no cómo

debe hacerlo.

Definición según la IEEE estándar 610

• El análisis de requisitos es el proceso del

estudio de las necesidades de los usuarios para

llegar a una definición de los requisitos del

sistema, de hardware o de software, así como el

estudio y refinamiento de esos requisitos

Requisito

• Condición o capacidad que necesita el usuario

para resolver un problema o conseguir un

objetivo determinado. Por ejemplo, poder listar

todos los clientes que tienen pagos pendientes.

• También se refiere a las condiciones que debe

cumplir o poseer un sistema o uno de sus

componentes para satisfacer un contrato, una

norma o una especificación.

Definición de requisitos como trabajo

conjunto• La definición de requisitos es un trabajo

conjunto de:

▫ Suministradores

▫ Desarrolladores del software (a través de los

analistas)

▫ Clientes

▫ Usuarios

Fases del análisis de requisitos según

el estándar IEEE 10741. Definir los requisitos del software

2. Definir los requisitos de las interfaces

3. Integrar los requisitos y asignarles prioridades

Fase 1. Definir los requisitos del

software• Tarea iterativa para crear una definición o

especificación preliminar de los requisitos que

debe cumplir el software a partir mediante la

información obtenida mediante las técnicas de

recolección de datos. (Entrevistas, JAD,

prototipado).

Fase 2. Definir los requisitos de las

interfaces• También es necesario definir las propiedades

que se deben satisfacer para obtener una

interacción eficaz con otros elementos del

sistema como el usuario, el hardware u otras

aplicaciones de software.

• Debe definirse no sólo cómo va a fluir la

información entre el software y el usuario, sino

también, cómo el usuario lo va a utilizar

Fase 3. Integrar los requisitos en un

documento de especificación y

asignarles prioridades

• Aprobación de los requisitos por parte del

usuario.

• Asignarles prioridades en función de su

importancia o los beneficios que puede aportar

su cumplimiento.

• Una vez verificados y validados, los requisitos

se deben integrar en un documento definitivo, la

ERS, que constituye el objetivo a cumplir en el

proyecto de desarrollo.

Actividades que se realizan en la fase

de análisis de requisitosA. Extracción o determinación de requisitos

B. Análisis de requisitos

C. Especificación de requisitos

D. Validación de requisitos

A. Extracción o determinación de

requisitos• Proceso mediante el cual los clientes o los

futuros usuarios del software descubren,

revelan, articulan y comprenden los requisitos

que desean.

B. Análisis de requisitos

• El proceso de razonamiento sobre los requisitos

obtenidos en la etapa anterior, detectando y

resolviendo posibles inconsistencias o

conflictos, coordinando los requisitos

relacionados entre sí, etc.

C. Especificación de requisitos

• Proceso de redacción o registro de los

requisitos. Para este proceso se puede recurrir

al lenguaje natural, lenguajes formales, modelos

gráficos, etc.

D. Validación de los requisitos

• Proceso de confirmación por parte de los

usuarios o del cliente, de que los requisitos

especificados son válidos, consistentes,

completos, etc.

Realización de las actividades

• La realización de estas tareas no es secuencial,

hay distintas iteraciones entre ellas.

• Además, se apoyan de distintas técnicas.

Técnicas para cada actividad

A. Extracción o determinación de requisitos

▫ Técnicas de recolección de información

(Observación, cuestionarios, entrevistas, etc.)

B. Análisis de requisitos

▫ Técnicas gráficas: Diagramas de flujo de datos

DFD

▫ Métodos completos: Análisis estructurado

Técnicas para cada actividad (cont.)

C. Especificación de requisitos

▫ Las mismas que para el análisis

D. Validación de requisitos

▫ Listas de comprobación de distintos aspectos

de las especificaciones que suelen usarse como

técnicas de revisión.

Tema 6.2

Términos

• Especificación.- Documento que define de

forma completa, precisa y verificable, los

requisitos, el diseño, el comportamiento u otras

características de un sistema o componente de

un sistema.

• Software.- Conjunto de programas,

procedimientos y documentación asociada a la

operación de un sistema informático.

ERS

• Se puede definir como la documentación de los

requisitos esenciales (funciones, rendimiento,

diseño, restricciones y atributos del software y

de sus interfaces externas.

Características fundamentales de una

ERS• Debe incluir información veraz, es decir,

coherente con las necesidades reales del

usuario que se desean satisfacer.

• Debe comunicar dicha información de forma

eficaz, es decir, de tal manera que se pueda

comprender perfectamente

Características fundamentales de una

ERS (cont.)• La especificación debe describir lo que hay que

desarrollar, no el cómo, cuándo, etc. Esto

implica:

• Describir correctamente todos los requisitos del

software.

• No describir ningún detalle del diseño del

software, de su verificación o de la dirección del

proyecto; excepto las restricciones impuestas al

diseño (Ej. limitación del hardware disponible).

Características de una ERS

1. No ambigua

2. Completa

3. Fácil de verificar

4. Consistente

5. Fácil de modificar

6. Facilidad para identificar el origen y las

consecuencias de cada requisito

7. Facilidad de utilización durante la fase de

explotación y de mantenimiento.

1. No ambigua

• que no se preste a distintas interpretaciones.

Si al especificar la característica de un

requisito, se usa un término que puede tener

distintos significados, se usará un glosario

para definir su significado.

2. Completa

• Incluye todos los requisitos significativos (de funcionalidad, ejecución, diseño, calidad, etc.)

• Define respuestas del software a todos los posibles datos de entrada y en todas las posibles situaciones (tanto para entradas válidas, como para no válidas).

• Se puede apegar a un estándar. Si esto es así, y alguna de las secciones del estándar para ERS no se usa, se agregará de todas formas la sección explicando su no aplicación.

• Todas las figuras, tablas y diagramas están etiquetadas y referenciadas. Así como todos los términos y unidades de medida

3. Fácil de verificar

• Una ERS es fácil de verificar si cualquier requisito al que se haga referencia se puede verificar fácilmente, es decir, si existente algún procedimiento para que una máquina o persona compruebe que existe dicho requisito.

• Ejemplo: El sistema debe permitir la búsqueda de propiedades de acuerdo a los siguientes rubros: Por ubicación, por tipo de propiedad, por costo, etc. Y el software realmente deberá realizar dichas búsquedas.

4. Consistente

• Una ERS es consistente si ningún conjunto de

requisitos descritos en ella son contradictorios o

entran en conflicto.

Tipos de conflicto:

• Dos o más requisitos describen el mismo objeto

real, pero utilizan distintos términos para designarlo.

• Las características especificadas de objetos reales

pueden estar en conflicto. (Un requisito dice que el

estatus deberá estar en alta y otro que en baja).

• Puede haber un conflicto lógico o temporal entre

dos acciones determinadas. (Un requisito dice que

dos valores deben sumarse y otro dice que deben

multiplicarse).

5. Fácil de modificar

• Una ERS es fácil de modificar si su estructura y

estilo permiten que cualquier cambio necesario

se pueda realizar fácil, completa y

consitsentemente.

• Tendrá una organización coherente y manejable

(tabla de contenidos, índice, referencias

cruzadas).

• No será redundante (que el mismo requisito no

aparezca más de una vez).

6. Facilidad para identificar el origen y

las consecuencias de cada requisito• Debe haber referencias entre los requisitos

• Tipos de referencias

• Referencias hacia atrás (documentos previos al

desarrollo)

• Referencias hacia adelante (a los documentos

originados a partir de la ERS, cada requisito

puede tener un número de referencia que ayude

a identificarlo de forma única en otros

documentos)

7. Facilidad de utilización durante la

fase de explotación y mantenimiento• La ERS debe tener en cuenta las necesidades

de mantenimiento, incluyendo la sustitución

eventual del software

1. Introducción

• 1.1 Objetivo.- Define el propósito del documento ERS y a quien va dirigido

• 1.2 Ámbito▫ Nombre del futuro sistema

▫ Se explica lo que el sistema hará y lo que no hará

▫ Se describen beneficios, objetivos y metas que se espera alcanzar con el futuro sistema.

▫ Se referencian documentos de nivel superior (Si existiera un documento global de un sistema más complejo)

1. Introducción

• 1.3 Definiciones, siglas y abreviaturas.- Se definen

los utilizados en el documento. (Ej. ERS, SGBD,

BD, DFD, etc.)

• 1.4 Referencias.- Lista completa de todos los

documentos referenciados en la ERS. (Ej.

Propuesta del proyecto, plan del proyecto, público

objetivo y beneficios, glosario de términos)

• 1.5 Visión global.- Describe brevemente los

contenidos y la organización del resto del

documento.

2. Descripción general

• Describe todos los factores que afectan al

producto y a sus requisitos.

• No se describen los requisitos sino su contexto.

Esto permite describir con detalle los requisitos

en la sección 3.

2. Descripción general (cont.)

• 2.1 Perspectiva del producto.- Relacionar el futuro sistema (producto de software) con otros productos (si los hubiera). Si el producto es independiente de otros, también se debe especificar aquí. Si la ERS define un producto que es parte de un sistema mayor, aquí se relacionarán los requisitos del sistema mayor con la funcionalidad del producto descrito en la ERS y se explicarán las interfaces entre el sistema mayor y el descrito en la ERS.

2. Descripción general (cont.)

• 2.2 Funciones del producto.- Resumen a

grandes rasgos de las funciones del sistema.

(Ej. el sistema soportará el mantenimiento del

catálogo de propiedades, propietarios y clientes,

mostrará las propiedades por distintas

características, etc.). Se debe presentar de

forma organizada

2. Descripción general (cont.)

• 2.3 Características del usuario.- Descripción de las características generales de los usuarios del producto, incluyendo nivel educacional, experiencia técnica, etc.

• 2.4 Limitaciones generales.- Limitaciones sobre los desarrolladores del producto: Políticas de la empresa, hardware, interfaces con otras aplicaciones, operaciones paralelas, funciones de auditoría, funciones de control, lenguajes de programación, aspectos de seguridad, etc.

2. Descripción general (cont.)

• 2.5 Supuestos y dependencias .- Describe

factores, que si cambian, pueden afectar los

requisitos. (Ej. Se puede presuponer que el

sistema correrá sobre cierto sistema operativo,

si este cambia, puede afectar los requisitos del

sistema en cuanto a aspectos técnicos.)

3. Requisitos específicos

• Esta sección explica los requisitos a tal detalle

que permita a los desarrolladores diseñar un

sistema que satisfaga dichos requisitos y

planear las pruebas para verificar si el sistema

satisface o no los requisitos.

• Los requisitos que se especifican aquí, deben

describir comportamientos externos que puedan

ser percibidos por los usuarios y operadores del

sistema.

3. Requisitos específicos (cont.)

• Esta sección es la más larga e importante de la ERS y se recomienda que cumpla con los siguientes principios.

1. El documento debe ser legible para personas de distintas formaciones e intereses.

2. Referenciar documentos relevantes que tengan influencia sobre los requisitos. (manuales de procedimientos, reglamentos, políticas, estándares, etc.

3. Identificar cada requisito mediante algún código o sistema de numeración adecuado

3.1Requisitos funcionales

• Esta subsección quizá es la más larga del

documento. Debe especificar todas las

funciones o acciones que deberá llevar a cabo

el software.

• Ej. El sistema deberá permitir altas, bajas,

cambios y consultas de los distintos propietarios

que desean vender o rentar una propiedad

3.1 Requisitos funcionales

• Se pueden organizar de la siguiente manera:

• Requisitos por tipos de usuario.- Cada usuario tiene distintas actividades, por lo cual se especificarán los requisitos que tengan mayor relación con las tareas de cada tipo de usuario.

• Por objetos.- Se refiere a entidades del mundo real. Para cada objeto se detallarán sus atributos y sus funciones. Ej. Objeto propiedades, atributos: m2, ubicación, habitaciones, precio venta, etc.

3.1 Requisitos funcionales

• Jerarquía funcional.- para esta clasificación se identificarán distintas funciones del sistema y se detallarán entradas, procesos y salidas. Ej. Función de cálculo de gastos por propiedad. ▫ Entradas. Datos de propiedades y medios de

publicidad, costos de cada medio, periodos de publicidad, etc.

▫ Procesos. Suma de todos los gastos relacionados con una propiedad en un periodo determinado.

▫ Salida. Listado de todos los gastos e importe total de gastos por cada propiedad en un periodo determinado.

3.2 Requisitos de interfaz externa

• Se refieren básicamente a las entradas y

salidas del sistema.

• En el caso del análisis estructurado, se pueden

identificar fácilmente con sólo fijarse en los

flujos que entran y salen del sistema en un

diagrama de contexto.

3.2 Requisitos de interfaz

externa(cont.)• Las entradas se pueden obtener por teclado,

sensores, archivos, bases de datos, etc.

• En el caso de las salidas se pueden especificar

formatos de pantallas, reportes en papel,

archivos, bases de datos, etc.

3.2 Requisitos de interfaz

externa(cont.)• La definición de interfaces de entrada / salida (E/S),

tiene como objetivo establecer el modo en el que el sistema va a interactuar con el exterior del sistema.

• Es conveniente organizar las interfaces por:▫ Interfaces de usuario (Ej. pantallas de entrada de datos, de

salida, reportes, etc.)

▫ Interfaces de hardware (Ej. Sensores, lectores de código de barras, etc.)

▫ Interfaces de software (Ej. si es un sistema de contabilidad, recibirá entradas del sistema de ventas, de compras, etc.)

▫ Interfaces de comunicaciones (Ej. Si el sistema recibirá datos a través de extranet, Internet, línea telefónica, circuito cerrado de televisión, etc.)

3.3 Requisitos de ejecución

• Requisitos relacionados con la carga que se

espera tenga el sistema. Ej. Número de

terminales, número de usuarios concurrentes,

número de transacciones por segundo.

• También requisitos de datos, como la cantidad

de registros a almacenar en la base de datos.

(decenas, cientos, miles, etc.)

3.4 Restricciones de diseño

• Restricciones impuestas por estándares,

• Limitaciones del hardware (imágenes de baja

resolución, cantidad de colores, de imágenes,

etc.)

3.5 Atributos de calidad

• Detallar los atributos de calidad:

• Fiabilidad.- Que el sistema mantenga y genere

datos congruentes, verídicos, etc.

• Mantenibilidad .- Facilidad de que el software

pueda recibir mantenimiento debido a la

documentación interna y externa generada,

organización del código, etc.

• Portabilidad .- Que el software pueda instalarse

en otras plataformas sin requerir cambios o

modificaciones drásticos.

• Seguridad .- Especificar qué tipo de usuarios

están autorizados, cuáles no para realizar

ciertas tareas y cómo se van a implementar los

mecanismos de seguridad (Ej. usuario y

contraseña).

3.6 Otros requisitos

• Otros requisitos que no se clasifiquen en las

secciones anteriores.

Apéndices

• Formatos de entrada/salida de datos por

pantalla, listados,

• Resultados de análisis de costos

• Restricciones del lenguaje de programación

top related