Anda di halaman 1dari 35

Ian Sommerville 1995 Ingeniera de Software, 5a.

edicin Capitulo 4 Diapositiva 1


Ingeniera de Requerimientos
Estableciendo lo que el cliente
requiere de un Sistema de
Software.
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 2
Objetivos
Introduccin a la Nocin de Ingeniera de
Requerimientos.
Explicacin de los diferentes niveles de detalle de
requerimientos que se necesiten.
Describir como deben ser organizados los
documentos de un Sistema de Requerimientos.
Describir la validacin del Proceso de
Requerimientos.
Explicar porque los Requerimientos se involucran
durante el tiempo de vida de un sistema.
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 3
Tpicos
El Proceso de Ingeniera de Requerimientos
Los Documentos de Requerimientos de software
Validacin de Requerimientos
Evolucin de Requerimientos
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 4
Ingeniera de Requerimientos
El proceso de establecer los servicios que el
cliente requiere de un sistema y los limites bajo
los cuales opera y se desarrolla.
Los Requerimientos pueden ser Funcionales o
No-Funcionales
Los Requerimientos funcionales describen servicios o funciones
Los Requerimientos No-funcionales son un lmite en el sistema
o en el proceso de desarrollo.
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 5
Qu es un Requerimiento?
Es un rango de instrucciones abstractas de alto
nivel de un servicio o de un sistema, limitado a
detallar una especificacin funcional matemtica.
As es inevitable como los Requerimientos
pueden servir en una funcin dual
Puede ser la base para una declaracin de un contrato, por lo
tanto, deber estar abierto a interpretacin.
Puede ser la base para el contrato en s, por lo tanto, debe ser
definido en detalle.
Ambas declaraciones sern llamadas Requerimientos.
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 6
Requerimientos
Definicin/Especificacin
Definicin de Requerimientos
Una declaracin en un Lenguaje Natural incluye los diagramas
de los servicios del sistema y sus lmites operacionales. Escrito
para clientes.
Especificacin de Requerimientos
Un documento estructurado con descripcin o detalle de los
servicios del sistema. Escrito como un contrato entre el cliente y
el contratista.
Especificacin de Software
Descripcin detallada de software, la cual, puede servir como
una base para diseo o implementacin. Escrito para
desarrolladodres.
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 7
Definiciones y Especificaciones
Definicin de Requerimientos
1. El Software proporciona significado de representacin y acceso a
archivos externos creados por otras herramientas.
Especificacin de Requerimientos
1.1 El usuario debe proporcionar facilidades para definir el tipo de archivos externos.
1.2 Cada tipo de archivo externo puede tener una herramienta asociada. La cual, ser
aplicada para el archivo.
1.3 Cada tipo de archivo externo ser representado como un icono especfico mostrado al
usuario.
1.4 Las facilidades proporcionadas para la representacin del icono en un tipo de archivo
externo ser definido por el usuario.
1.5 Cuando un usuario selecciona una representacin de icono de un archivo externo, el
efecto de la seleccin es aplicar las herramientas asociadas con el tipo de archivo ex-
terno al archivo representado por la seleccin del icono.
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 8
Lectores de Requerimientos
Gerencia de Cliente
Usuarios Finales del Sistema
Ingenieros de Clientes
Gerencia de Contratistas
Arquitectos del Sistema
Definicin de
Requerimientos
Requerimientos
Especificacin de
Usuarios Finales del Sistema
Ingenieros de Cliente
Arquitectos del Sistema
Desarrolladores de Software
Especificacin de
Software
(Quiz) Ingenieros de Clientes
Arquitectos del Sistema
Desarrolladores de Software
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 9
Problemas Desagradables
Sistemas de Software grandes con problemas de
direccionamiento.
Problemas de tal manera complejos que puede ser
que nunca se comprendan completamente y
donde los desarrolladores van comprendiendo el
sistema durante su desarrollo
Por lo tanto, los requerimientos son normalmente
incompletos e inconsistentes.
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 10
Razones de Inconsistencia
Los sistemas de software grandes deben mejorar
su actual situacin. Es difcil anticipar los efectos
que el sistema tendr en la organizacin.
Usuarios diferentes tienen requerimientos y
prioridades diferentes. Hay constantemente
compromiso de cambios en los requerimientos.
Los usuarios finales del sistema y la organizacin
que paga por el sistema tienen requerimientos
diferentes.
El prototipado es requerido para clarificar
requerimientos
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 11
Proceso de Ingeniera de
Requerimientos
Estudio de Factibilidad
Encuentran los usuarios actuales que sus necesidades son
satisfechas dada la tecnologa y el presupuesto disponible?
Anlisis de Requerimientos
Encontrar que el sistema requiere del mantenimiento de
intereses.
Definicin de Requerimientos
Definir los requerimientos en una forma comprensible para el
cliente.
Especificacin de Requerimientos
Define los requerimientos en detalle.
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 12
El Proceso de Ingeniera de
Requerimientos
Estudio de
Factibilidad
Anlisis de
Requerimientos
Definicin de
Requerimientos
Especificacin
de Requerimientos
Reporte de
Factibilidad
Modelos del
Sistema
Documento de
Requerimientos
Definicin de
Requerimientos
Especificacin de
Requerimientos
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 13
Documento de Requerimientos
Es la declaracin oficial de lo que es requerido
para que el sistema sea desarrollado.
Incluye la definicin y especificacin de
requerimientos.
No es un documento de diseo. Tanto como sea
posible, es un conjunto de lo que es el sistema y
como lo har.
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 14
Requerimientos del Documento de
Requerimientos
Especificacin de la conducta externa del
sistema.
Especificar los lmites de la implementacin.
Fcil de cambiar.
Sirve como una herramienta de referencia para
mantenimiento.
Recuerda el ciclo de vida del sistema, esto es,
predice cambios.
Proporciona respuestas caractersticas a un evento
no esperado.
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 15
Estructura del Documento de
Requerimientos
Introduccin.
Describe la necesidad de crear el sistema y cuales son sus
objetivos.
Glosario.
Define los trminos tcnicos usados.
Modelos del Sistema.
Define los modelos que muestran los componentes del sistema y
las relaciones entre ellos.
Definicin de Requerimientos Funcionales.
Define los servicios que sern proporcionados.
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 16
Estructura del Documento de
Requerimientos
Definicin de Requerimientos No-funcionales.
Definir las limitantes del sistema y el proceso de desarrollo.
Evolucin del Sistema.
Definir las suposiciones fundamentales en las cuales el sistema
se basa y se anticipan los cambios.
Especificacin de Requerimientos.
Especificacin detallada de los requerimientos funcionales del
sistema.
Apndices.
Descripcin de la plataforma de Hardware del Sistema.
Requerimientos de la base de Datos (quiz como un modelo
ER)
Indice.
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 17
Identificacin de Requisitos
Preguntar al cliente, a los usuarios y a los que estn
involucrados en los objetivos del sistema o producto y sean expertos,
investigar como los sistemas o productos se ajustan a las necesidades
del negocio, y finalmente, cmo el sistema o producto va a ser
utilizado en el da a da.
Una relacin de necesidades y caractersticas
Un informe del alcance del sistema
Una lista de clientes, usuarios y otros intervinientes
Prototipos para definir mejor los requisitos
Escenarios que permiten ver al sistema o producto bajo diferentes condiciones operativas.
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 18
Identificacin de Requisitos
La tcnica de obtencin de requisitos mas usada
es llevar a cabo una reunin o entrevista
preliminar.

Preguntas de contexto libre : Se enfocan sobre el cliente, los objetivos
generales y los beneficios esperados.

Preguntas de identificacin de participantes y beneficios medibles.

Preguntas dirigidas a la eficacia de la reunin
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 19
Tcnicas para facilitar las especificaciones de
la aplicacin
Directrices bsicas :
La reunin se celebra en un lugar neutral y acuden tanto los clientes como
los desarrolladores.
Se establecen normas de preparacin y de participacin
Se sugiere una agenda lo suficientemente formal como para cubrir todos los
puntos importantes, pero informal para el libre flujo de ideas
Un coordinador que controle la reunin
Mecanismos de definicin (carteles, pizarras, hojas de trabajo..)
El objetivo es identificar el problema, proponer elementos de solucin,
negociar diferentes enfoques y especificar un conjunto preliminar de
requisitos.
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 20
Despliegue de la funcin de calidad
Es una tcnica de gestin de calidad que traduce las
necesidades del cliente en requisitos tcnicos del
software

Hace nfasis en entender lo que resulta valioso para
el cliente y despus desplegar estos valores a lo largo
del proceso de ingeniera.

Utiliza observaciones y entrevistas con el cliente,
emplea encuestas y examina datos histricos.
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 21
Despliegue de la funcin de calidad
Requisitos Normales
Se declaran objetivos y metas para un producto o sistema. Si los
requisitos estn presentes, el cliente quedar satisfecho.

Requisitos Esperados
Son implcitos al producto o sistema y son tan fundamentales que el
cliente no los declara. Su ausencia sera motivo de una insatisfaccin
significativa.

Requisitos Innovadores
Van mas all de las espectativas del cliente y suelen ser muy
satisfactorias
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 22
Anlisis y Negociacin de
Requisitos
Una vez recopilados, los requisitos se agrupan
por categoras y se organizan en
subconjuntos, se estudia cada requisito en
relacin con el resto.

Utilizando un proceso iterativo, se irn
eliminando requisitos, se irn combinando y/o
modificando para conseguir satisfacer los
objetivos planteados.
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 23
Anlisis de requerimientos
Mtodos de anlisis. Caractersticas comunes.
Realizan una abstraccin de las caractersticas del sistema, es decir, consisten en desarrollar un modelo del mismo.
Representan el sistema de forma jerrquica, basndose en mecanismos de particin del problema y estableciendo
varios niveles de detalle.
Definen cuidadosamente las interfaces del sistema, tanto las interfaces externas, que relacionan el sistema con su
entorno, como de las internas, las que se establecen entre los distintos mdulos definidos.
Sirven de base para las etapas posteriores de diseo y de implementacin.
Distinguen entre requisitos esenciales y de implementacin.
No prestan demasiada atencin a la representacin de las restricciones o de criterios de validacin (exceptuando
los mtodos formales).
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 24
Validacin de Requerimientos
Demostracin de que los requerimientos que
definen el sistema son lo que el cliente realmente
quiere.
Los costos de errores en los requerimientos son
altos, por lo cual, la validacin es muy
importante.
Fijar un error de requerimiento despus del desarrollo puede
resultar en un costo 100 veces mayor que fijar un error en la
implementacin.
El Prototipado es una tcnica importante de la
validacin de requerimientos.
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 25
Chequeando Requerimientos
Validacin. Provee al sistema las funciones que
mejor soporten las necesidades del cliente?
Consistencia. Existe cualquier conflicto en los
requerimientos?
Completo. Estn incluidas todas las funciones
requeridas por el cliente?
Realismo. Pueden los requerimientos ser
implementados con la tecnologa y el presupuesto
disponible?
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 26
Revisin de Requerimientos
Una revisin regular puede ayudar mientras la
definicin de requerimientos est siendo hecha.
Tanto el cliente como el staff de contratistas
deben estar involucrados en la revisin.
La revisin debe ser formal (con los documentos
completos) o informal. Una buena comunicacin
entre desarrolladores, clientes y usuarios puede
resolver problemas en las primeras etapas.
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 27
Chequeo de la Revisin
Verificabilidad. Es el Requerimiento realmente
probable?
Entendibilidad. Es el Requerimiento
comprendido propiamente?
Probabilidad. Es el origen de los requerimientos
claramente establecido?
Adaptabilidad. Puede el requerimiento ser
cambiado sin causar un gran impacto en otros
requerimientos?
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 28
Evolucin de Requerimientos
Los requerimientos siempre involucran como
comprender mejor el desarrollo de las
necesidades de los usuarios y como los objetivos
de la organizacin pueden cambiar.
Es esencial planear posibles cambios en los
requerimientos cuando el sistema sea
desarrollado y utilizado.
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 29
Evolucin de Requerimientos
Comprensin Inicial
del Problema
Comprensin de los
Cambios del Problema
Requerimientos
Iniciales
Cambios en los
Requerimientos
Tiempo
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 30
Clases de Requerimientos
Requerimientos Durables. Establecer
requerimientos derivados de las actividades de la
organizacin del cliente. Por ejemplo, un hospital
siempre tendr doctores, enfermeras, etc. Puede
ser derivado de modelos de dominio.
Requerimientos Voltiles. Los requerimientos
cambian durante el desarrollo o cuando el sistema
est en uso. En un hospital, los requerimientos se
derivan de las polticas salud-cuidados.
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 31
Clasificacin de Requerimientos
Requerimientos Cambiantes.
Los requerimientos que cambian por el ambiente del sistema.
Surgimiento de los Requerimientos.
Requerimientos que surgen como una comprensin del
desarrollo del sistema.
Requerimientos en Consecuencial.
Requerimientos que resultan de la introduccin del sistema a la
computadora.
Requerimientos Compatibles.
Requerimientos que dependen de otros sistemas o de otros
procesos de la organizacin.
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 32
Cambios en el Documento de
Requerimientos
El documento de requerimientos debe ser
organizado, de tal forma que los cambios en los
requerimientos puedan ser hechos sin tener que
re-escribir demasiado.
Las referencias externas deben ser minimizadas y
las secciones del documento deben ser tan
modulares como sea posible.
Los cambios son fciles cuando se trata de un
documento electrnico. Sin embargo, la falta de
estndares para documentos electrnicos lo hace
difcil.
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 33
Evolucin Controlada
Documento VI de
Requerimientos
Implementacin V1
del Sistema
Implementacin V2
del Sistema
Documento V1
de Requerimientos
Documento V2
De Requerimientos
Implementacin
V1 del Sistema
Implementacin
V2 del Sistema
Cambio en los
Requerimientos
Cambio en los
Requerimientos
Inconsistencia de los
Requerimientos y del
Sistema
Consistencia de los
Requerimientos y del
Sistema
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 34
Resumen
Es muy difcil formular una especificacin de
requerimientos completa y consistente.
Una definicin de requerimientos, una
especificacin de requerimientos y una
especificacin de Software son una manera de
especificar el Software para diferentes tipos de
lectores.
El Documento de Requerimientos es una
descripcin para clientes y desarrolladores.
Ian Sommerville 1995 Ingeniera de Software, 5a. edicin Capitulo 4 Diapositiva 35
Resumen
Los errores en los requerimientos son usualmente
muy caros de corregir una vez desarrollado el
sistema.
La revisin debe involucrar al cliente y al staff de
contratistas para validar los requerimientos del
sistema.
El establecer requerimientos est relacionado con
las actividades del cliente para el Software.
Los requerimientos voltiles dependen del
contexto en que se use el sistema.

Anda mungkin juga menyukai