requerimientos del software

6
REQUERIMIENTOS DEL SOFTWARE ¿Qué son Requerimientos? Normalmente, un tema de la Ingeniería de Software tiene diferentes significados. De las muchas definiciones que existen para requerimiento, ha continuación se presenta la definición que aparece en el glosario de la IEEE: (1) Una condición o necesidad de un usuario para resolver un problema o alcanzar un objetivo. (2) Una condición o capacidad que debe estar presente en un sistema o componentes de sistema para satisfacer un contrato, estándar, especificación u otro documento formal. Los requerimientos puedes dividirse en requerimientos funcionales y requerimientos no funcionales. Los requerimientos funcionales definen las funciones que el sistema será capaz de realizar. Describen las transformaciones que el sistema realiza sobre las entradas para producir salidas. Los requerimientos no funcionales tienen que ver con características que de una u otra forma puedan limitar el sistema, como por ejemplo, el rendimiento (en tiempo y espacio), interfaces de usuario, fiabilidad (robustez del sistema, disponibilidad de equipo), mantenimiento, seguridad, portabilidad, estándares, etc. Características de los requerimientos Las características de un requerimiento son sus propiedades principales. Un conjunto de requerimientos en estado de madurez, deben presentar una serie de características tanto individualmente como en grupo. A continuación se presentan las más importantes. Necesario: Un requerimiento es necesario si su omisión provoca una deficiencia en el sistema a construir, y además su capacidad,

Upload: jonathan-nicolas-hernandez-serrano

Post on 27-Sep-2015

212 views

Category:

Documents


0 download

DESCRIPTION

Requerimientos de un buen software

TRANSCRIPT

REQUERIMIENTOS DEL SOFTWARE

Qu son Requerimientos?

Normalmente, un tema de la Ingeniera de Software tiene diferentes significados. De las muchas definiciones que existen para requerimiento, ha continuacin se presenta la definicin que aparece en el glosario de la IEEE:

(1) Una condicin o necesidad de un usuario para resolver un problema o alcanzar un objetivo.

(2) Una condicin o capacidad que debe estar presente en un sistema o componentes de sistema para satisfacer un contrato, estndar, especificacin u otro documento formal.

Los requerimientos puedes dividirse en requerimientos funcionales y requerimientos no funcionales.

Los requerimientos funcionales definen las funciones que el sistema ser capaz de realizar. Describen las transformaciones que el sistema realiza sobre las entradas para producir salidas.

Los requerimientos no funcionales tienen que ver con caractersticas que de una u otra forma puedan limitar el sistema, como por ejemplo, el rendimiento (en tiempo y espacio), interfaces de usuario, fiabilidad (robustez del sistema, disponibilidad de equipo), mantenimiento, seguridad, portabilidad, estndares, etc.

Caractersticas de los requerimientos

Las caractersticas de un requerimiento son sus propiedades principales. Un conjunto de requerimientos en estado de madurez, deben presentar una serie de caractersticas tanto individualmente como en grupo. A continuacin se presentan las ms importantes.

Necesario: Un requerimiento es necesario si su omisin provoca una deficiencia en el sistema a construir, y adems su capacidad, caractersticas fsicas o factor de calidad no pueden ser reemplazados por otras capacidades del producto o del proceso.

Conciso: Un requerimiento es conciso si es fcil de leer y entender. Su redaccin debe ser simple y clara para aquellos que vayan a consultarlo en un futuro. Completo: Un requerimiento est completo si no necesita ampliar detalles en su redaccin, es decir, si se proporciona la informacin suficiente para su comprensin. Consistente: Un requerimiento es consistente si no es contradictorio con otro requerimiento. No ambiguo: Un requerimiento no es ambiguo cuando tiene una sola interpretacin. Verificable: Un requerimiento es verificable cuando puede ser cuantificado de manera que permita hacer uso de los siguientes mtodos de verificacin: inspeccin, anlisis, demostracin o pruebas.

El proceso de recopilar, analizar y verificar las necesidades del cliente para un sistema es llamado Ingeniera de Requerimientos. La meta de la ingeniera de requerimientos (IR) es entregar una especificacin de requisitos de software correcta y completa.

Los requerimientos son la Pieza fundamental en un proyecto de desarrollo de software, para: Planear el proyecto y los recursos que se usarn en l. Los lderes de proyecto usan los requerimientos como una base para la estimacin del esfuerzo necesario en un proyecto.

Caractersticas de un requerimiento

Los requerimientos deben ser:

Especificados por escrito. Como todo contrato o acuerdo entre dos partes Posibles de probar o verificar. Si un requerimiento no se puede comprobar, entonces cmo sabemos si cumplimos con l o no?

Descritos como una caracterstica del sistema a entregar. Esto es: que es lo que el sistema debe de hacer (y no como debe de hacerlo) Lo ms abstracto y conciso posible. Para evitar malas interpretaciones.

* Tareas del Anlisis *

El anlisis de requerimientos puede dividirse en cuatro reas:

1.- Reconocimiento del problema

2.- Evaluacin y sntesis

3.- Especificacin

4.- Revisin.

Inicialmente, el analista estudia la especificacin del sistema (si existe) y el plan de proyecto. Es importante comprender el contexto del sistema y revisar el mbito de los programas que se us para generar las estimaciones de la planificacin. A continuacin, debe establecerse la comunicacin necesaria para el anlisis, de forma que se asegure el reconocimiento del problema.

La evaluacin del problema y la sntesis de la solucin es la siguiente rea principal de trabajo del anlisis. El analista debe evaluar el flujo y estructura de la informacin, refinar en detalle todas las funciones del programa, establecer las caractersticas de la interfase del sistema y descubrir las ligaduras del diseo, Cada una de las tareas sirven para descubrir el problema de forma que pueda sintetizarse un enfoque o solucin global.

Para definir las caractersticas y atributos del software se escribe una especificacin de requerimientos formal. Adems, para los casos en los que se desarrolle un prototipo se realiza un manual de usuario preliminar.

El manual permite al usuario / cliente revisar el software desde una perspectiva de ingeniera humana y frecuentemente produce el comentario: "La idea es correcta pero esta no es la forma en que pens que se podra hacer esto". Es mejor descubrir tales comentarios lo ms tempranamente posible en el proceso.

* Obteniendo de la informacin *

Esto es, mediante entrevistas con el cliente o recabando documentacin que describa la manera que el cliente desea que funcione el sistema de software.

* Especificacin de Requisitos de Software *(SRS)

La especificacin de requisitos de software es la actividad en la cual se genera el documento, con el mismo nombre, que contiene una descripcin completa de las necesidades y funcionalidades del sistema que ser desarrollado; describe el alcance del sistema y la forma en cmo har sus funciones, definiendo los requerimientos funcionales y los no funcionales.

En la SRS se definen todos los requerimientos de hardware y software, diagramas, modelos de sistemas y cualquier otra informacin que sirva de soporte y gua para fases posteriores.

Clasificacin de los requerimientos

Requerimientos del "entorno"

El entorno es todo lo que rodea al sistema. Aunque no podemos cambiar el entorno, existen cierto tipo de requerimientos que se clasifican en esta categora porque:

El sistema usa el entorno y lo necesita como una fuente de los servicios necesarios para que funcione. Ejemplos del entorno podemos mencionar: sistemas operativos, sistema de archivos, bases de datos.

Requerimientos ergonmicos"

l ms conocido de los requerimientos ergonmicos es la interfase con el usuario o GUI (Graphic User Interface). En otras palabras, los requerimientos ergonmicos son la forma en que el ser humano interacta con el ser sistema.

Requerimientos de Interfase

La interfase es como interacta el sistema con el ser humano o con otros sistemas (el enfoque es prcticamente el opuesto a los requerimientos ergonmicos), La interfase es la especificacin formal de los datos que el sistema recibe o manda al exterior. Usualmente se especifica el protocolo, el tipo de informacin, el medio para comunicarse y el formato de los datos que se van a comunicar.

Requerimientos de desempeo

Estos requerimientos nos informan las caractersticas de desempeo que deben de tener el sistema. Qu tan rpido?, Que tan seguido?, Cuntos recursos?, Cuantas transacciones?

Este tipo de requerimientos es de especial importancia en los sistemas de tiempo real en donde el desempeo de un sistema es tan crtico como su funcionamiento.

Disponibilidad (en un determinado periodo de tiempo)

Este tipo de requerimientos se refiere a la durabilidad, degradacin, potabilidad, flexibilidad, contabilidad y capacidad de actualizacin. Este tipo de requerimientos es tambin muy importante en sistemas de tiempo real puesto que estos sistemas manejan aplicaciones crticas que no deben de estar fuera de servicio por periodos prolongados de tiempo. Entrenamiento

Este tipo de requerimientos se enfoca a las personas que van usar el sistema. Qu tipo de usuarios son?, Qu tipo de operadores?, Que manuales se entregarn y en qu idioma?

Este tipo de requerimientos, aunque muchas veces no termina en un pedazo de cdigo dentro del sistema, son muy importantes en el proceso de diseo ya que facilitan la introduccin y aceptacin del sistema en donde ser implementado.

BIBLIOGRAFA Senn, James A. "Anlisis y Diseo de Sistemas de Informacin". Segunda Edicin. McGraw Hill. 1992.

IEEE Task Force on Requirements Engineering. Software Engineering Resources by Roger S. Pressman & Associates Edward - Yourdon (1993) - Anlisis Estructurado Moderno, Prentice Hall Hispanoamericana, S. A., pp. 136-147, 500-511.

Pressman, R.S., "Ingeniera del Software. Un enfoque prctico.", McGraw-Hill.