Você está na página 1de 8

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. (3) Una representacin documentada de una condicin o capacidad como en (1) o (2). Los requerimientos puedes dividirse requerimientos no funcionales. en requerimientos funcionales y

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. CARATERISTICAS DE LOS REQUERIMIENTOS PARA CREARLOS Y FORMULARLOS Ya que visualizamos la importancia de los requerimientos en un sistema de informacin, debemos definir que caractersticas deben poseer los requerimientos para formularlos adecuadamente. Los requerimientos deben ser: POSIBLES DE PROBAR O VERIFICAR: Si un requerimiento no se puede comprobar, entonces cmo sabemos si cumplimos con l o no? ESPECIFICADOS POR ESCRITO: Como todo contrato debe ser realizado de acuerdo entre las dos partes. DEBEN TENER COMO FUNDAMENTO LAS NECESIDADES DE LOS USUARIOS ACTUALES O POTENCIALES DEL SISTEMA DE INFORMACIN. 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 CLARO Y CONCISO POSIBLE . Para evitar malas interpretaciones.

CARACTERSTICAS DE LOS REQUERIMIENTOS DE ACUERDO A SUS PROPIEDADES 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. Necesarios: 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. Concisos: 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. Completos: Un requerimiento est completo si no necesita ampliar detalles en su redaccin, es decir, si se proporciona la informacin suficiente para su comprensin. Consistentes: Un requerimiento es consistente si no es contradictorio con otro requerimiento. No ambiguos: Un requerimiento no es ambiguo cuando tiene una sola interpretacin. El lenguaje usado en su definicin, no debe causar confusiones al lector. Verificables: 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.

Dificultades para definir los requerimientos .- Los requerimientos no son obvios y vienen de muchas fuentes. .- Son difciles de expresar en palabras (el lenguaje es ambiguo). .- Existen muchos tipos de requerimientos y diferentes niveles de detalle. .- La cantidad de requerimientos en un proyecto puede ser difcil de manejar. .- Nunca son iguales. Algunos son ms difciles, ms riesgosos, ms importantes o ms estables que otros. .- Los requerimientos estn relacionados unos con otros, y a su vez se relacionan con otras partes del proceso.

.- Cada requerimiento tiene propiedades nicas y abarcan reas funcionales especficas. .- Un requerimiento puede cambiar a lo largo del ciclo de desarrollo. .- Son difciles de cuantificar, ya que cada conjunto de requerimientos es particular para cada proyecto.

ESPECIFICACIN Y MANEJO DE LOS REQUERIMIENTOS DEL SISTEMA DE INFORMACIN Esta es solo una gua elemental para el proceso de bsqueda de requerimientos. En este se habla acerca del primer paso que se debe adelantar en este proceso, es la bsqueda de las necesidades de los usuarios, proceso que se denomina anlisis de requerimientos. Los requerimientos son las necesidades de los usuarios. Los requerimientos son la Pieza fundamental en un proyecto de desarrollo de software, ellos son la gua para: Construir software de alta calidad, en tiempo y presupuesto estimados. Planear el proyecto y los recursos que se usarn en l . Los lderes del proyecto usan los requerimientos como una base para la estimacin del esfuerzo necesario en un proyecto. Especificar el tipo de verificaciones que se habrn de realizar al sistema. Por ejemplo: cuando se est tratando de alinearse a cierta norma oficial o estndar. Planear la estrategia de prueba a la que habr de ser sometido el sistema . Los requerimientos son la base sobre la cual se decide si un caso de prueba fue ejecutado exitosamente por el sistema o no. Son el fundamento del ciclo de vida del proyecto . Los requerimientos documentados son la base para crear la documentacin del sistema De ah su importancia de que se deban definir y manejar de la forma ms adecuada posible.

COMO REALIZAR EL ANLISIS DE REQUERIMIENTOS. Los requerimientos de un sistema de software, cuando se ven en su conjunto son extensos y detallados, y adems contienen mltiples relaciones entre si .

Obtenemos la posibilidad de especificar sistemas complejos al documentar especificaciones simples y concisas para el sistema. Esto se logra mediante la clasificacin, estructuracin y organizacin de todo lo que el sistema debe de hacer. En otras palabras el anlisis de requerimientos consiste brevemente en lo siguiente: 1. Obtener informacin por diferentes medios de lo que los usuarios desean y dejar escritas esas necesidades. 2. Clasificar esas necesidades para poder estructurar los requerimientos o necesidades del sistema. 3. Identificar los niveles de jerarqua del sistema y empezar a alojar los requerimientos en el nivel que les corresponda. 4. Especificar los requerimientos de acuerdo al nivel de audiencia que se requiera 5. Especificar completamente cada necesidad, sin ahorrar tiempo y espacio en su descripcin. 6. Entender correctamente las necesidades y cuando afecten dos o mas usuarios, para llegar a acuerdos entre las partes. 7. Manejar las expectativas y estar dispuesto a realizar cambios. 8. Involucrar a todos los que tengan inherencia en el proyecto (Jefes, subalternos, usuarios en general) 9. Se debe mantener una perfecta comunicacin entre todos quienes participan en el proceso de levantamiento de los requerimientos COMO OBTENER INFORMACIN Los requerimientos son el punto de acuerdo entre el usuario y el proyecto de desarrollo de software, este entendimiento es necesario para poder construir software que satisfaga las necesidades de los usuarios. Si los requerimientos se enfocan a describir las necesidades del usuario, entonces es lgico que para recabarlos haya que obtener la informacin de primera mano. Esto es, mediante entrevistas con el usuario o recabando documentacin que describa la manera que el usuario desea que funcione el sistema de software. Las necesidades y/o requerimientos del usuario evolucionan con el tiempo y cada cambio involucra un costo. Por eso es necesario tener archivada una copia de la documentacin original del usuario, as como cada revisin o cambio que se haga a esta documentacin. Para poder establecer o estimar el costo de un proyecto es necesario contar con los requerimientos iniciales en su mejor nivel de detalle

Como cada necesidad del sistema de informacin es tratada de diferente forma, es necesario clasificar estas necesidades para saber cuales de ellas sern satisfechas por el software que se quiere desarrollar y cuales por algn otro producto del sistema. TOPICOS BSICOS REQUERIMIENTOS PARA REALIZAR EL LEVANTAMIENTO DE

1. Un problema puede surgir de la diferencia entre las cosas como se realizaron y como se desean. Por eso es necesario tener en cuenta que en el proceso de levantamiento o bsqueda de requerimientos se pueden presentar problemas que es necesario solucionar. 2. Para solucionar el problema se deben tener en cuenta: a. Generar acuerdo entre las partes involucradas b. Construir un vocabulario comn c. Identificar los involucrados d. Definir los lmites del sistema e. Identificar restricciones f. Dejar todo claro y definido en un documento. 3. Manejar diferentes tcnicas de levantamiento a. Entrevistas b. Encuestas c. Talleres de requerimientos d. Lluvia de ideas e. Prototipos f. Escenarios 4. Mecanismos de fcil comunicacin Durante el proceso se debe facilitar la comunicacin entre todos los participantes, de tal forma que todos los usuarios puedan participar aportando sus puntos de vista y sus necesidades. 5. Se debe realizar una especificacin formal de todos los acuerdos con las diferentes personas, para que quede constancia expresa de que se tuvieron en cuenta los puntos de vista de los diferentes usuarios.

6. Administrar los cambios. Se debe estar presto a realizar las modificaciones que se presenten durante el proceso de anlisis de requerimientos. Despus puede ocasionar costos o demoras en el proceso de desarrollo. RESUMEN Para avanzar en esta fase preliminar se deben realizar en resumen las siguientes actividades. 1. Analizar la situacin de cada una de las dependencias teniendo en cuenta la participacin de todos y cada uno de los involucrados en los procesos. 2. Generar acuerdo entre los involucrados si hay diferencias, de tal forma que se trabaje en el mismo sentido. 3. Hacer el proceso de anlisis de requerimientos, utilizando tcnicas como las descritas, teniendo en cuenta especialmente quin usa o va a utilizar el sistema. 4. Especificar completamente los requerimientos, en forma escrita y clara para cada una de las dependencias, sin omitir posibles o potenciales usuarios. 5. Manejar las expectativas de cambios que se puedan presentar en el transcurso del proceso de levantamiento. 6. Controlar el alcance, para que se pueda limitar el proyecto. 7. Comunicar a todos los usuarios acerca de que se est adelantando el proceso de levantamiento de los requerimientos, mediante encuestas, etc. Segn se mencion anteriormente. 8. Almacenar en archivos de bases de datos preferiblemente los requerimientos, de tal forma que se puedan procesar fcilmente. 9. Los errores en el proceso de obtencin de requerimientos son de los mas costosos por eso es importante tener cuidado en este proceso. 10. Por ltimo los requerimientos deben ser: No ambiguos, concretos, completos y consistentes.

CLASIFICACIN DE LOS REQUERIMIENTOS El clasificar requerimientos es una forma de organizarlos, hay requerimientos que por sus caractersticas no pueden ser tratados iguales. Por ejemplo, los requerimientos de entrenamiento de personal no son tratados de la misma manera que los requerimientos de una conexin a Internet.

La siguiente es una recomendacin de como pueden ser clasificados los requerimientos aunque cada proyecto de software pueda usar sus propias clasificaciones.

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 por que: 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. El sistema debe de ser robusto y tolerar los errores que puedan ocurrir en el entorno, tales como congestin en los dispositivos y errores de entrada de datos, por lo tanto el entorno se debe de considerar dentro de los requerimientos.

Requerimientos "ergonmicos"

El mas conocido de los requerimientos ergonmicos es la interface con el usuario o GUI (Graphic User Interface). En otras palabras, los requerimientos ergonmicos son la forma en que el ser humano interactua con el ser sistema.

Requerimientos de Interface

La interface es como interactua el sistema con el ser humano o con otros sistemas (el enfoque es prcticamente el opuesto a los requerimientos ergonmicos), La interface 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 funcionales

Estos son los que describen lo que el sistema debe de hacer. Es importante que se describa el Que? Y no el Como?. Estos requerimientos al tiempo que avanza el proyecto de software se convierten en los algoritmos, la lgica y gran parte del cdigo del sistema.

Requerimientos de desempeo

Estos requerimientos nos informan las caractersticas de desempeo que deben de tener el sistema. Que tan rpido?, Que tan seguido?, Cuantos 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. Que tipo de usuarios son?, Que tipo de operadores?, Que manuales se entregarn y en que idioma? Este tipo de requerimientos, aunque muchas veces no termina en un pedazo de cdigo dentro de el sistema, son muy importantes en el proceso de diseo ya que facilitan la introduccin y aceptacin de el sistema en donde ser implementado.

Restricciones de diseo

Muchas veces las soluciones de un sistema de software son normadas por leyes o estndares, este tipo de normas caen como "restricciones de diseo".

Materiales

Aqu se especifica en que medio se entregara el sistema y como esta empaquetado. Es importante para definir los costos de industrializacin del sistema.

Você também pode gostar