Requisitos Software


Anuncios


Los requisitos software son la descripcin de las caractersticas y las funcionalidades del sistema 'target'. Los requisitos nos comunican las expectativas de los consumidores de productos software. Los requisitos pueden ser obvios o estar ocultos, conocidos o desconocidos, esperados o inesperados, des del punto de vista del cliente.

Ingeniera de requisitos

El proceso de recogida de informacin, anlisis y documentacin sobre los requisitos software des del cliente, se conoce como ingeniera de requisitos.

El objetivo de este tipo de Ingeniera es el de desarrollar y mantener un documento de especificacin de requisitos del sistema de forma sofisticada y descriptiva.

Proceso de la Ingeniera de requisitos

Es un proceso que consta de cuatro pasos

  • Estudio de viabilidad
  • Recogida de requisitos
  • Requisitos del Software
  • Validacin de los requisitos de Software

Veamos el proceso de manera breve -

Estudio de viabilidad

Cuando el cliente se acerca a la organizacin para obtener el producto deseado desarrollado, expone una idea aproximada de las funciones que el sofware debe cumplir y qu caractersticas se esperan del software.

Refirindose a esta informacin, los analistas elaboran un estudio detallado sobre la viabilidad del sistema deseado y de sus funcionalidades, para proceder a desarrollarlo.

Este estudio de viabilidad se centra en el objetivo de la organizacin. El estudio analiza la materializacin prctica del producto software respecto a su implementacin, la contribucin de proyecto a la organizacin, los lmites de costes, y segn los objetivos y valores de la organizacin. Explora aspectos tcnicos del proyecto y del producto, como la utilidad, el mantenimiento, la productividad y la capacidad de integracin.

El resultado o output de esta fase debe ser un informe del estudio de viabilidad, conteniendo comentarios adecuados y recomendaciones para la gestin sobre si se debe tirar adelante o no el proyecto.

Recogida de requisitos

Si el informe de viabilidad es positivo en relacin a tomar el proyecto, la siguiente fase empieza con la recoleccin de requisitos por parte del consumidor. Analistas e Ingenieros se comunican con el cliente y los consumidores para conocer sus ideas sobre qu debe aportar el software y qu caractersticas quieren que incluya ste.

Requisitos del Software

El SRS es un documento creado por los analistas de sistema despus de recoger los requisitos.

El SRS define cmo va a interactuar el sofware que quiere crearse con el hardware, las interfaces externas, la velocidad operativa, el tiempo de respuesta del sistema, la portabilidad del software en las diversas plataformas, el mantenimiento, la velocidad de reponerse despus de estropearse, su seguridad, calidad, limitaciones, etc.

Los requisitos recibidos por parte del cliente se escriben en lenguaje natural. Es responsabilidad del analista de sistemas documentar sobre los requisitos en lenguaje tecnolgico para que puedan ser tiles y comprendidos por el equipo de desarrollo de software.

El SRS debe venir con las siguientes caractersticas:

  • Los requisitos del usuario se deben expresar en lenguaje natural.
  • Los requisitos tcnicos se deben expresar en lenguaje estructurado, el cual se usar dentro de la organizacin.
  • La descripcin del diseo se debe escribir en pseudocdigo.
  • El formato de Forms y GUI impresiones de pantalla.
  • Anotaciones condicionales y matemticas para DFDs etc.

Validacin de los requisitos de Software

Despus del desarrollo de los requisitos, los que se mencionen en este documeno sern vlidados. El usuario puede que pida soluciones ilegales y poco prcticas, y los expertos puede que interpreten los requisitos de forma incorrecta. Estos resultados se incrementan en coste si no se cortan de raz. Los requisitos se pueden evaluar en contraste con las siguientes condiciones -

  • Si pueden ser implementados de manera prctica.
  • Si son vlidos a nivel de funcionalidad y dominio del software
  • Si hay alguna ambiguedad
  • Si se han completado
  • Si se pueden demostrar

Proceso de educcin de requisitos

El Proceso de educcin de requisitos se puede representar usando el siguiente diagrama:

Proceso de obtencin Requisito
  • Recogida de requisitos - Los desarrolladores hablan con el cliente y los consumidores finales para conocer sus expectativas respecto al software.

  • Organizar requisitos - Los desarrolladores priorizan y organizan los requisitos en orden de importancia, urgencia, y conveniencia.

  • Negociacin y debate - Si los requisitos son ambiguos o hay algn conflicto en los requisitos de varios accionistas, hay una negociacin y un debate con ellos. Los requisitos entonces, se priorizan y se acuerdan de manera razonable.

    Los requisitos vienen de varios accionistas. Para eliminar cualquier ambiguedad o conflicto, se debate para encontrar claredad y correcin. Los requisitos surrealistas se acuerdan de forma razonable.

  • Documentacin - Los requisitos formales y no formales, funcionales y no funcionales, son documentados y se ponen disponibles para procesar en la siguiente fase.

Tcnicas de educcin de requisitos

Las educcin de requisitos es un proceso para encontrar los requisitos para un sistema de software que se intenta desarrollar, usando la comunicaci con el cliente, los consumidores finales, usuarios del sistema y otros que tienen algn papel en el desarrollo del sistema de software.

Hay varios caminos para descubrir requisitos

Entrevistas

La entrevistas son medios de recogida de requisitos medianamente fuertes. La organizacin puede conducir muchos tipos de entrevistas, tales como:

  • Entrevistas estructuradas (cerradas), donde cada informacin que se recoge es decidida con antelacin, siguen patrones y temas de debate de forma firme.

  • Las entrevistas no estructuradas (abiertas), donde la informacin que se busca no se decide con antelacin, es ms flexible y menos tendenciosa.

  • Entrevistas orales

  • Entrevistas por escrito

  • Entrevistas cara a cara entre 2 personas

  • Entrevistas de grupo que se llevan a cabo entre grupos de participantes. Ayudan a destapar cualquier requisito que falte, ya que mucha gente est includa.

Encuestas

La organizacin puede conducir encuestas o sondeos entre varios accionistas pidiendo sus expectativas y requisitos para el sistema que se va a desarrollar.

Cuestionarios

Un documento con preguntas objetivas definidas previamente con sus opciones respectivas. Se entrega a todos los accionistas para que las respondan, se recogen y se recopilan.

Una limitacin de esta tcnica es que si una opcin por algn asunto no se menciona en el cuestionario, el asunto puede quedar desatendido.

Anlisis de tareas

El equipo de ingenieros y de desarrolladores puede analizar la operacin por la cual se requiere el nuevo sistema. Si el cliente ya tiene algn software para realizar ciertas operaciones, se estudia y los requisitos del sistema propuesto se recogen.

Anlisis de dominio

Cada software pertenece a una categors de dominio. Los expertos en dominio pueden ser de gran ayuda para analizar requisitos generales y especficos.

Lluvia de ideas

Un debate informal se lleva a cabo entre varios accionistas y todos los inputs o entradas se graban para el anlisis de requisitos posterior.

Modelo de prototipos

Se basa en construir interfaces de usuario sin aadir detalles de las funcionalidades para que el usuario interprete las caractersticas del producto software que se quiere desarrollar. Ayuda aportando una mejor idea de los requisitos. Si el consumidor final no tiene el software instalado para que el desarrolador lo tome como referencia y el cliente no sabe culs son sus propios requisitos, el desarrollador crea un prototipo basado en los requisitos mencionados al inicio. El prototipo se muestra al cliente y el feedback que se obtiene se registra. El feedback del cliente sirve d input o entrada para la recogida de requisitos.

Observacin

El equipo de expertos visita la organizacin o el lugar de trabajo de los clientes. Observan el funcionamiento de los sistemas instalados ya existentes. Tambin observan el flujo de trabajo y cmo se tratan los problemas de ejecucin. El equipo traza las conclusiones que ayudan a formar los requisitos esperados para el software.

Carcatersticas de los requisitos del Software

La recogida de requisitos de sofware es la fundacin de la totalidad del proyecto de desarrollo software. Por ello, debe de ser clara, correcta y bien definida.

Una completa especificacin de requisitos Software debe ser:

  • Clara
  • Correcta
  • Consistente
  • Coherente
  • Comprensible
  • Modificable
  • Verificable
  • Priorizada
  • sin ambiguedades
  • Trazable
  • Origen creble

Requisitos de Software

Debemos intentar entender qu tipo de requisitos pueden aparecer en la fase de educcin de requisitos y qu tipo de requisitos se esperan del sistema de software.

En lneas generales los requisitos de software se deben caracterizar en dos categoras:

Requisitos funcionales

Requisitos que se relacionan a aspectos funcionales del software iran en esta categora.

Definen las funciones y la funcionalidad en y desde el sistema de software.

Ejemplos -

  • Buscar una opcin dada al usuario para buscar desde varias facturas.

  • El usuario debe ser capaz de enviar por correo electrnico cualquier informe a la Direccin.

  • Los usuarios se pueden dividir en grupos y los grupos pueden tener derechos diferentes.

  • Debe cumplir reglas empresariales y funciones administrativas.

  • El Software se desarrolla manteniendo intacta la compatibilidad en descenso.

Requisitos no funcionales

Los requisitos, los cuales no estn relacionados con aspectos funcionales del software, estn en esta categora. Son caractersticas del software implcitas o esperadas, asumidas por los usuarios.

Los requisitos no funcionales incluyen -

  • Seguridad
  • Acceso
  • Almacenaje
  • Configuracin
  • Actuacin
  • Coste
  • Interoperabilidad
  • Flexibilidad
  • Recuperacin de desatre
  • Accessibilidad

Los requisitos se categorizan de forma lgica como

  • Tienen que tener : El Software no puede ser operacional sin ellos.

  • Deben tener : Motivando la funcionalidad del software.

  • Pueden tener : El Software an puede funcionar bien con estos requisitos.

  • Lista de deseo : Estos requisitos no contienen ningn objetivo de software.

Mientras se desarrolla el software, el tiene que tener se debe implementar, el debe tener es un asunto de debate y negociacin, en cambio el puede tener y la lita de deseo se pueden mantener para futuras actualizaciones del software.

Requisitos de la interfaz de usuario

La UI es uan parte importante de cualquier software, hardware o sistema hbrido. Un software es ampliamente aceptado si es -

  • Fcil de manejar
  • rpido en responder
  • efectivo tratando errores operacionales
  • aportando interfaces de usuario simples y consistentes

La aceptacin del usuario mayormente depende de cmo ste pueda usar el software. La UI es el nico camino para percibir el sistema por parte de los usuarios. Un sistema software de buena actuacin tambin debe estar equipado con interfaces de usuario atractivas, claras, consistentes y receptivas. En caso contrario las funcionalidades del sistema softwar no pueden usarse de una manera conveniente. A system is said be good if it provides means to use it efficiently. User interface requirements are briefly mentioned below -

  • Presentacin de contenido
  • De fcil navegacin
  • Interfaces simples
  • Receptivo
  • Elementos consistentes de UI
  • Mecanismo de retroalimientacin
  • Configuracin Default
  • Disposicin significante
  • Uso estratgico del color y la textura.
  • Aportar informacin de ayuda
  • Aproximacin centrada en el usuario
  • Vista de la configuracin basada en el grupo.

Analista de sistemas Software

El analista de sistemas es una persona de una organizacin informtica, que analiza los requisitos del sistema propuesto y asegura que los requisitos sean concebidos y documentados correctamente. El papel del analista empieza durante la fase del SDLC de anlisis del Software. El analista tiene la responsabilidad de asegurar que el software que se desarrolle cumpla los requisitos del cliente.

Los analista de sistemas tienen las siguientes responsabilidades:

  • Analizar y entender los requisitos del software deseado
  • Entender cmo ser la contribucin del proyecto en los objetivos de la organizacin
  • Identificar el origen de los requisitos
  • Validacin de requisitos
  • Desarrollo e implementacin el plan de gestin de requisitos
  • Documentacin empresarial, tcnica, de proceso, y requisitos del producto.
  • Coordinacin con los clientes para priorizar requisitos y eliminar ambiguedad
  • Terminar la aceptacin de criterios con el cliente y otros accionistas

Mtricas y medidas de Software

Las medidas de Software se pueden entender como un proceso para cuantificar y simbolizar varios atributos y aspectos del software.

Las mtricas de Software aportan medidads para varios aspectos del proceso y del producto software.

Las medidads de Software son requisitos fundamentales de la ingeniera de software. No solamente ayudan a controlar el desarrollo del proceso software sino que tambin contribuyen a mantener la calidad del producto final excelente.

Segn Tom DeMarco, un ingeniero de Software, No se puede controlar lo que no se puede medir. Con esta frase, deja muy clara la gran importancia de las medidas de software.

Veamos algunas mtricas de software:

  • Mtrica de tamao - Las LOC (Lneas de cdigo), se calculan mayoritariamente en miles de lneas de cdigo de origen entregadas, llamado KLOC.

    La medida del punto de funcin, se focaliza en la funcionalidad aportada por el software. La medida del punto del funcin define el tamao de los aspectos funcionales del software.

  • Mtrica de complejidad - La complejidad ciclomtica de McCabe cuantifica el nivel ms alto en cuanto al nmero de caminos independientes en un programa, lo que se percibe como complejidad del programa o de sus mdulos. Se representa siguiendo los conceptos de teora grfica usando grficos de flujo de control.
  • Mtrica de calidad - Defectos, tipos y causas, consecuencias, intensidad en la severidad y sus implicaciones definen la calidad del producto.

    El nmero de defectos encontrados en el proceso de desarrollo y el nmero de defectos encontrados por el cliente despus de la instalacin o entrega al consumidor final, define la calidad del producto.

  • Mtrica de Proceso - En varias fases del SDLC, los mtodos y herramientas usados, los estndares y la actuacin de desarrollo de la compaa, son mtrica de procesos software.
  • Mtrica de recursos - El esfuerzo, el tiempo y varios recursos usados, representan la mtrica para la medidad de recursos.