Você está na página 1de 56

INGENIERIA DE REQUERIMIENTOS

Introduccin
Ej. Si alguien nos pide realizar un programa para

nomina. Como hara para solucionar el problema? Para crear una solucin es necesario primero tener claro y comprender el problema

REQUISITOS/REQUERIMIENTO S
Es todo lo que el cliente quiere, exactamente lo

que quiere y como de lugar y a cualquier precio Que es un requisito? Los requisitos expresan lo que el sistema debe hacer para satisfacer las necesidades de sus clientes o usuarios. Es un aspecto de un sistema o una descripcin de aquello que el sistema es capaz de hacer a fin de cumplir su propsito(Pfiegger 1998). Un requerimiento es un servicio que el sistema de software debe satisfacer o una restriccin bajo la cual el sistema debe operar.(Sommerville 2002)

REQUISITOS/REQUERIMIENTO S
Los requerimientos se concentran en el cliente y

el problema a resolver. Definen sobre el sistema: Lo que el cliente quiere que haga Todo lo que el cliente quiere que haga Nada mas que lo que el cliente quiere que haga Los requisitos se concentran en que debe hacer el sistema, no en como debe hacerlo. Se debe dejar de pensar por el momento en como se lo va ha programar o implementar.

CLASIFICACION DE LOS REQUISITOS


Los datos que debe capturar y almacenar
Las funciones que debe ejecutar Aplicacio n Restricciones de operacion

La informacion que debe producir La plataforma de operacin del sistema (Hardware/Softwar e) La tecnologa de informacion que debe usar
Las interfaces con otros sistemas

Interaccion Usuario/siste ma La interfaz grafica usuariosistema(GUI)

Atributos de calidad Seguridad, facilidad de uso, documentacion,utilidad, etc.

Funcionales Dependiendo si definen o no funcionalidad No funcionales Tipos de Requisitos De usuario Dependiendo de a quienes estn dirigidos De sistema

Los requerimientos funcionales describen:


La funcionalidad o los servicios que se

espera que el sistema de software proveer. La interaccin entre el sistema de software y su ambiente o contexto. Como el sistema deber actuar bajo ciertos estmulos o eventos.

Ejemplo de requisitos funcionales:


R-010

El sistema debe permitir el registro de nuevos usuarios en el foro, los nuevos usuarios deben ser aprobados o rechazados por un moderador antes de publicar mensajes. R-011 Los usuarios deben poder intercambiar mensajes y comunicarse por medio del foro, toda la comunicacin debe estar moderada para evitar conductas inapropiadas por parte de los usuarios, mensajes basura y publicidad no deseada.

Requisitos no funcionales:
No se refieren directamente a las propiedades

funcionales del sistema, sino a sus propiedades emergentes(resultan del sistema como un todofiabilidad, usabilidad, etc.) o a las restricciones adicionales en el sistema o en el proyecto de desarrollo de software. Definen restricciones adicionales al sistema, tales como: proceso de desarrollo a utilizar, herramientas, lenguaje de programacin, limitaciones de presupuesto, de tiempo, de interfaz, etc.

Ej. Requerimientos no funcionales


R-050

El sistema debe ser utilizado por medio de una interfaz web. R-051 Se debe utilizar RUP como proceso de desarrollo de software. R-060 El tiempo de respuesta del sistema al solicitar un reporte nunca debe ser mayor a 10 segundos.

Requerimientos de Usuario

Son aquellos que estn dirigidos a los usuarios y clientes(interesados en general) del sistema. Se redactan usando lenguaje natural (generalmente) de forma no tcnica, con el objetivo de que el personal no tcnico los pueda entender. Requerimientos de Sistema: Son aquellos dirigidos a personal tcnico: analistas, programadores, arquitectos, ingenieros, etc. Generalmente estn escritos en un lenguaje mucho mas tcnico y mucho mas preciso que los requerimientos de usuario.

Documento de Especificacin de Requerimientos

(DER) Es un documento en el que usualmente se especifican los requerimientos de usuario. Documento de Definicin de Requerimientos (DDR) Es un documento en el que usualmente se especifican los requerimientos de sistema.

Por que son importantes los requisitos?


Se estima que un alto porcentaje de proyectos de desarrollo de software fallan por: Requisitos incompletos Falta de participacin del usuario Expectativas poco realistas Cambios en los requisitos y las especificaciones El sistema dej de ser necesario

Hoy en da la ingeniera de requisitos se

considera la etapa clave en el desarrollo de software. Actualmente, se considera que la satisfaccin de los clientes es la mejor mtrica de calidad de un sistema.

Costo del cambio de requisitos

10 Razones para que un proyecto de software falle


El proyecto est mal especificado. El tiempo de desarrollo est estimado por personas que no son programadores. 3. Los programadores son demasiado optimistas en sus estimaciones. 4. Cada fase del proyecto es demasiado grande. 5. Los programadores usan todo el tiempo que se les da para completar una tarea. 6. Se comete el error de pensar que ms desarrolladores equivalen a menos tiempo de desarrollo. 7. Las especificaciones del proyecto cambian. 8. El tiempo estimado no cambia cuando cambian las especificaciones de proyecto. 9. Se olvida el tiempo de pruebas. 10. Las estimaciones se toman demasiado literalmente.
1. 2.

Factores de exito en los proyectos


Usuarios involucrados en el proyecto Soporte de los ejecutivos Requerimientos claros Planificacin adecuada Expectativas realistas

Hitos pequeos y poco espaciados en el tiempo


Personal competente Control sobre el proyecto por parte del personal

Visin clara y objetivos


Trabajo duro, personal enfocado y comprometido

Factores que mas amenazan a los proyectos


Falta de informacin de los usuarios Especificacin de requerimientos incompleta Requerimientos y especificacin compleja Falta de soporte ejecutivo Mala tecnologia, mal uso de la tecnologia

Falta de recursos
Expectativas poco realistas Objetivos poco claros

Tiempos de desarrollo poco realistas

(planificacion) Tecnologia nueva (desconocimiento)

Como obtener los requisitos?


Ingenieria de Requisitos

Proceso de establecimiento de los servicios que

debe proporcionar un sistema, asi como las restricciones sobre las cuales debe operar.

Proceso de la ingenieria de requisitos


Vision I
Captura Analisis Especificacion Validacion

Vision II

Analisis del problema

Descripcion del problema

Prototipado

Documentacion y validacion

Captura

Analisis

Especificacion

Validacion

Es la actividad por medio de la cual se obtienen

(capturan) los requerimientos.

Entrevistas

Observacion directa

Modelo de negocios

Lectura / analisis de documentos

Prototipos

Otros

Algunas preguntas que se pueden realizar:


Quien esta detrs de la solicitud de este trabajo?(clientes) Quien usara la solucin?(usuarios) Cual ser el beneficio econmico de una solucin exitosa? Existe otra fuente para la solucin requerida? Como podra caracterizarse un buen resultado generado

por una solucin?(como se que una solucin es buena?) Cuales problemas debera atacar la solucin? Podra usted mostrar o describir el ambiente de negocios en el que se utilizara la solucin? Hay aspectos o restricciones especiales del rendimiento que afecten la manera de enfocar la solucin?

En este punto, cuando el cliente ya esta

hablando, salen ya las siguientes cuestiones: Por que? Y por que? Que es esto? Y este otro? Como hacen esto? Y este otro? Quien hace esto? .

Otras preguntas(pressman):
Es usted la persona adecuada para contestar

esta pregunta? Sus respuestas son oficiales? Mis preguntas son relevantes para su problema? Estoy haciendo demasiadas preguntas? Alguien mas puede proporcionar informacin adicional? Debera preguntarle alguna otra cosa? Como se soluciona el problema actualmente? Entre que bandas de costos se debera mover una solucin para ser rentable? En cuanto tiempo espera usted entrar en operacin?

Recuerde:
Una vez que comprenda algo, reptalo al cliente

con sus propias palabras, y si este lo entiende, entonces usted estar seguro de que loa ha entendido correctamente

Consejo:

Nunca vaya a una reunin de negocios o a una

entrevista de requerimientos solo, dos es un numero mgico!. Por que cree usted que esto es as?
Consejo: Tome notas/ grabe la entrevista de ser posible, y

mantenga las grabaciones para futuras referencias

Captura

Analisis

Especificacion

Validacion

Es la actividad por medio de la cual se extiende el

modelo de requisitos, se buscan y localizan errores, inconsistencias, limitaciones, carencias, etc.

Inspeccion de documentos

Discuciones, entrevistas, talleres Muchas de las tecnicas de la actividad de captura

Desarrollo de prototipos

Captura

Analisis

Especificacion

Validacion

Es la actividad por medio de la cual se

documentan (escriben / se ponen en blanco y negro) los requerimientos


Documento de definicion de requerimientos Documento de especificacion de requerimientos

Si los requerimientos no estn por escrito (de

alguna manera), entonces NO SIRVEN

Captura

Analisis

Especificacion

Validacion

Es la actividad por medio de la cual se validan

los requerimientos con el cliente


Inspecciones de documentos Discusiones, entrevistas, talleres Muchas de las tecnicas de la actividad de captura

Esta actividad es critica. Si los requerimientos no

se han validado, entonces no sirven

Quienes participan en la ingeniera de requisitos

Participantes en el desarrollo del software

Interezados/Actores/Protagonistas (stakeholders)

Problemas con los requisitos

Requisitos: tres reglas

Documentacin de los requisitos


Que Necesito Saber? Los objetivos de negocios que se desean satisfacer con el

sistema(modelo del negocio del cliente) La visin general del sistema Ud. Que cree? El propsito del sistema para que lo necesito? Los objetivos del proyecto (como mido si se cumplieron o no) Los involucrados Restricciones impuestas(por el cliente o el entorno) Otros hechos relevantes El alcance del proyecto El alcance del producto Otros aspectos Soluciones ya existentes Riesgos(algunos tratan la gestin de riesgos como algo aparte) Costos estimados(valoracin inicial) Ideas de posibles soluciones

Como documentar
Descripcin en lenguaje natural

Listas de features (caractersticas)

Que ventajas / desventajas tendrn las listas de features sobre las descripciones textuales en lenguaje natural?

Plantillas para definir requisitos: Volere

Historias de usuario (modelos agiles - xp,

scrum)

Notaciones graficas

Notaciones graficas y su descripcin textual

Gestin de requerimientos

Como se que tengo requisitos de calidad?

Você também pode gostar