INGENIERIA DE REQUERIMIENTOS DE SOFTWARE Integrante: Leidy Garzón Email:
[email protected] Universidad: Corporación universitaria minuto de dios
ABSTRACT: A process used by the client to provide services to develop and reach a system under which it operates to achieve a goal through a contract or formal document, whose product is a model that is generated by a series of tools that keep changes and agreements of the same. The requirements are classified into functional and nonfunctional: FUNCTIONAL REQUIREMENTS: Describe the functions performed by the system to be able to transform inputs into outputs. NON-FUNCTIONAL REQUIREMENTS: Restrict regarding system performance, interfaces and availability that is to make use of this system.
2 CARACTERISTICAS: De acuerdo a la definición de requerimientos podemos extraer las siguientes características:
• •
•
PALABRAS CLAVES: Robusto, confiable, facilidad de uso, y buena funcionalidad.
•
1 INTRODUCCION: La Ingeniería de Requerimientos de Software juega un papel muy importante dentro del sistema y su tarea principal consiste en enfocarse en este y analizar su comportamiento, logrando reducir los problemas que se generan durante su uso. Desde mi punto de vista la Ingeniería de Requerimiento es la base fundamental del sistema ya que a través de esta el usuario puede hacer un uso rápido y efectivo; y evitar complicaciones durante su proceso de transformación.
•
Consistente: Un requerimiento suele ser consistente cuando no existe ninguna contradicción con otros. Confiable: Es confiable cuando el sistema funciona perfectamente y sin ninguna complicación en el sistema.
Extracción: Es el comienzo de un ciclo donde se involucran actividades importantes para el sistema. Análisis: En esta fase se describen problemas que se vallan identificando constantemente con los requerimientos. Especificación: En esta fase se documentan apropiadamente los requerimientos según lo que lo que sea acordado por el cliente. Validación: Esta es la etapa final de la IR y se encarga de verificar que el sistema tenga los requerimientos adecuados que se van a implementar en la documentación.
De este trabajo podemos destacar los siguientes objetivos:
•
Importante: La información debe ser clara concisa y con buena redacción para que el usuario lea y entienda cada uno de los mecanismos del sistema.
3 ACTIVIDADES DE LOS REQUERIMIENTOS: Existen actividades fundamentales para realizar un buen requerimiento y cabe destacar las siguientes:
Aunque en Colombia compramos tecnología de otros países para personalizarla y hacerle modificaciones al sistema en cuanto al cambio de plataforma, esto genera un problema porque retrasa el proyecto de la empresas, según estudios realizados el 53% de proyectos de Software fracasan debido al mal manejo que realiza el usuario del sistema y por no hacer un estudio previo con sus debidos requerimientos.
•
Necesario: Un requerimiento es necesario ya que le ayuda al sistema cuando tiene alguna inconsistencia.
4 VENTAJAS DE UN REQUERIMIENTO: •
Dar a conocer las facilidades de uso de un sistema y su software. Enseñar al usuario las ventajas y desventajas de un Software con problemas. Describir los procesos que tiene un sistema desde su inicio hasta su salida.
• •
1
Permite que cada paso de la IR se haga en una forma bien estructurada, organizada y con unos pasos bien definidos. Se disminuyen costos y retrasos o problemas con el proyecto. Mejoras en la calidad del Software en cuanto al diseño la funcionalidad y facilidad de uso que se puede hacer de este IR.
•
•
Fácil comunicación entre el usuario y el equipo. Involucra al cliente para que revise si el requerimiento tiene problemas o no, lo cual lo involucra en el desarrollo de todo el proyecto. 6 PERSONAL INVOLUCRADO EN LA IR: Lo más importante de la IR es involucrar a la persona según sus conocimientos para una buena planificación del ciclo de vida del sistema.Si la comunicación entre el cliente y el desarrollador del Software no es buena la IR no será muy buena.Los roles mas importantes pueden clasificarse así:
• • Esta imagen es tomada de la siguiente página: http://1.bp.blogspot.com/_GwOkaHzK2ps/SbV04wo eilI/AAAAAAAAADE/_6G4NjEzAsE/s200/profesiona les.jpg
•
5 DESVENTAJAS REQUERIMIENTO:
UN
•
Los requerimientos son difíciles de expresar por medio de palabras. Usan un lenguaje confuso e indeciso. Existen bastantes tipos de requerimientos y bastantes detalles, por esto son difíciles de manejar.
•
• • •
• • •
PARA
DEFINIR
USUARIO FINAL: Son los que están en contacto con el equipo y están pendientes del software y la interfase de usuario. USUARIO LÌDER: Ellos comprenden el medio del sistema, se encargan del desarrollo técnico y el análisis del problema de la interfase. PERSONAL DE MANTENIMIENTO: Como su nombre lo indica se encargan del mantenimiento del equipo y están pendientes para resolver alguna anomalía que se encuentre y entregar el producto terminado. ANALISTAS Y PROGRAMADORES: Se encargan del desarrollo del proyecto y de interactuar con el cliente. PERSONAL DE PRUEBA: Se encargan de supervisar y analizar el proyecto para que sea de la satisfacción del cliente.
7 PUNTO DE VISTA DE LOS CLIENTES: Los sistemas suelen tener diferentes tipos de clientes y cada cliente tiene diferentes grupos de requerimientos, tomando en cuenta que se pueden presentar inconvenientes en este proceso.La complejidad de los requerimientos ocasiona problemas y dificultades para enfocarse solo en un aspecto.Entre los requerimientos encontramos:
No son iguales unos suelen ser mas arriesgado y difíciles que otros. Algunos requerimientos se ligan con otros y pueden ocasionar problemas en la salida del proceso. Un requerimiento cambia de acuerdo a su ciclo de desarrollo.
Esta imagen es tomada de la siguiente página: http://4.bp.blogspot.com/_GwOkaHzK2ps/SbbIWSu mIDI/AAAAAAAAAEc/NChuZbkPqCg/s1600h/ingenieria.jpg
2
•
Barreras de comunicación:En la ingeniería de requerimientos la comunicación es fundamental entre el cliente y el analista pero hay que tener en cuenta que no siempre se va a lograr tener una buena comunicación, por lo cual hay que desarrollar otros métodos para superar estas barreras y así llegar a nuevas experiencias.
•
Evolución e integración del sistema: En la práctica de los proyectos de ingeniería de requerimientos los analistas por lo general comprenden estos sistemas que suelen ser de distintos proveedores. Para encontrar soluciones a estos problemas es importante planear muy bien la fase del diseño para minimizar las fallas del código.
Tabla 1. Actividades de la IR para diferentes modelos de procesos de Ingeniería de Software MODELO
Actividades
Oliver and Steiner EIA / IS-632 1996
IEEE Std 12201994
CMM nivel Repetitivo (2)
RUP
Evaluar la información disponible
Análisis de requerimientos
Análisis de Requerimientos
Identificación de requerimientos
Análisis del Problema
Definir métricas efectivas
Análisis funcional Estudio de los requerimientos
Identificación de restricciones del sistema a desarrollar
Comprender las necesidades de los involucrados
Crear un modelo del comportamiento del sistema
Síntesis
Análisis de los requerimientos
Definir el sistema
Crear un modelo de los objetos
Análisis y control Análisis funcional Representación del sistema de los requerimientos
Validación de requerimientos
Analizar el alcance del proyecto
Ejecutar el análisis
Evaluación y estudio de funciones
Comunicación de Modificar la los requerimientos definición del sistema
Crear un plan secuencial de construcción y pruebas
Verificación de funciones
Validación de requerimientos
Administrar los cambios de requerimientos
Síntesis Estudio y evaluación del diseño Verificación física Control
•
muy bien el sistema y estos errores son analizados hasta después de que el sistema esta completamente terminado.
Documentación de requerimientos: La documentación de Ingeniería de requerimientos suele ser larga y contiene detalles profundos en el resto del sistema.Esto trae problemas para el usuario ya que al momento de leer tantas paginas no puede memorizar
Esta tabla es tomada de la siguiente página: http://www.monografias.com/trabajos6/resof/resof.shtml
3
determinar si se acerca a lo esperado por los clientes.En esta etapa se pretende limitar las expectativas del cliente para que no se presenten problemas en el sistema. Los principales pasos para esta actividad son: Descubrir problemas potenciales: En este paso se aseguran características presentes en cada requerimiento y se identifican requerimientos incompletos e inconsistentes.
7
ANALISIS DE UN PROBLEMA: Durante el análisis de un problema se realizan una serie de pasos basados en problemas reales y son los siguientes:
•
Comprender el problema a resolver: Determinar quien tiene el problema y buscar soluciones desde diferentes puntos de vista.
•
Construir un vocabulario común: Realizar un glosario que le ayude al cliente a reconocer el significado de cada palabra adecuado en el documento, y cuando las personas necesiten información la puedan encontrar allí, el glosario es de ayuda para ahorrar tiempo y ayudar a conocer palabras ambiguas, además es reutilizable para otros proyectos.
•
Identificar a los afectados por el sistemas: Antes de que se termine el proyecto se debe identificar a los sistemas afectados para evitar sorpresas en el avance del proyecto.Las necesidades de cada sistema se realizan mediante un debate aunque no garantiza que la información este completa y sea adecuada para especificar un sistema adecuado. Para saber cuales son las personas encargadas de los departamentos internos y externos de del sistema se realizan una serie de preguntas como:
•
Esta imagen es tomada de la siguiente página: http://www.webkadoodle.com/productImages/11913635 83_Web%20Master.jpg 9 CONCLUSIONES: De lo anterior podemos concluir lo siguiente: • •
¿Quién diseñara el sistema y como lo hará?
•
¿Quién documentara el sistema y quien le dará mantenimiento?
•
¿Quién lo venderá y quien se beneficiara con este sistema?
•
•
Definir limites y restricciones del sistema: Este punto es importante para saber lo que se esta construyendo y las estrategias que se usan para esto ya sea a corto y largo plazo.
Dejar que el usuario comprenda por si mismo los problemas que trae el sistema y trate de arreglarlos. El usuario esta capacitado para encontrar solución a un problema, y es el encargado del proyecto para resolverlo. El usuario es capaz de manejar bien un equipo, reconociendo las entradas los procesos y las salidas de un sistema. Enseñar al usuario un producto que le permita hacer un buen uso de su sistema y las dificultades que se presentaron para llevarlo a cabo.
REFERENCIAS [1] http://www.monografias.com/trabajos6/resof/resof.shtml [2]http://www.rodolfoquispe.org/blog/que-es-la-ingenieria-derequerimientos.php [3]http://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_ software
Evaluación y negociación: La fuentes hacen una evaluación adecuada para
4