Documentos de Académico
Documentos de Profesional
Documentos de Cultura
REQUERIMIENTO:
v
Es una característica del sistema o una descripción
de algo que el sistema es capaz de hacer con el
objetivo de satisfacer el propósito del sistema.
v
Los requerimientos identifican el qué del sistema,
mientras que el diseño establece el cómo del
sistema.
Atributos que debe cumplir un requerimiento antes de entregar
al equipo de desarrollo
CARACTERÍSTICAS
Ø
CORRECTOS: Tanto el cliente como el desarrollador
deben revisar los requerimientos para asegurar que
no tienen errores.
Las características de Ø
INCONSISTENTES: Dos requerimientos son
inconsistentes cuando es imposible satisfacerlos
los requerimientos simultáneamente.
mencionados en el Ø
COMPLETOS: El conjunto de requerimientos está
completo si todos los estados posibles, cambios de
estándar de estado, entradas, productos y restricciones están
descritos en alguno de los requerimientos.
Especificación de Ø
REALISTAS: Todos los requerimientos deben ser
requerimientos revisados para asegurar que son posibles.
La verificación formal es una
rigurosa demostración matemática
de la concordancia del código fuente
con sus especificaciones.
La validación es la evaluación del
software al final del proceso de
desarrollo del software para
determinar su conformidad con los
requisitos.
Objetivos de V&V
Descubrir defectos (para corregirlos)
Provocar fallas (una forma de detectar defectos)
Revisar los productos (otra forma de detectar defectos)
Evaluar la calidad de los productos
El probar o revisar el software da una idea de la calidad del
mismo
COMO REALIZAR EL ANÁLISIS DE REQUERIMIENTOS
v
Si los requerimientos se enfocan a describir las necesidades del usuario,
entonces es lógico que para recabarlos haya que obtener la información de
primera mano. Esto es, mediante entrevistas con el usuario o recabando
documentación que describa la manera que el usuario desea que funcione el
sistema de software.
v
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 documentación original del usuario, así como cada revisión o cambio que
se haga a esta documentación. Para poder establecer o estimar el costo de un
proyecto es necesario contar con los requerimientos iniciales en su mejor nivel
de detalle
COMO OBTENER INFORMACIÓN
LA ENTREVISTA
La entrevista es una forma de recoger información
de otra persona a través de una comunicación
interpersonal que se lleva a cabo por medio de una
conversación estructurada .
FASES DE LA ENTREVISTA
FASES DE LA ENTREVISTA
Las entrevistas con los involucrados con el sistema son parte de la mayoría de los procesos de
la ingeniería de requerimientos. En estas entrevistas, el equipo de la ingeniería de
requerimientos hace preguntas sobre el sistema que utilizan y sobre el sistema a desarrollar.
Los requerimientos provienen de las respuestas a estas preguntas.
COMO OBTENER INFORMACIÓN
TIPOS DE ENTREVISTA:
v
ENTREVISTAS CERRADAS:
donde los entrevistados responden a un
conjunto predefinido de preguntas.
COMO OBTENER INFORMACIÓN
TIPOS DE ENTREVISTA:
v
ENTREVISTAS ABIERTAS:
donde no hay un programa predefinido. El
equipo de la ingeniería de requerimientos
examina una serie de cuestiones con los
involucrados con el sistema y, por lo tanto,
desarrolla una mejor comprensión de sus
necesidades.
COMO OBTENER INFORMACIÓN
•
No tienen prejuicios, evitan ideas preconcebidas sobre los
requerimientos y están dispuestos a escuchar a los
entrevistados. Si el entrevistado propone requerimientos
sorprendentes, están dispuestos a cambiar su opinión del
sistema.
•
Ayudan al entrevistado a empezar las discusiones con una
pregunta, una propuesta de requerimientos o sugiriendo
trabajar juntos en un prototipo del sistema. Preguntar al cliente
por lo que quiere de manera general normalmente no
proporciona información útil. Para la mayoría de la gente es
mucho más fácil hablar de algo en particular que en términos
generales.
COMO OBTENER INFORMACIÓN
DEFINICIÓN DE REQUERIMIENTOS:
ü
Es un documento que debe escribirse en términos que
el cliente pueda entender. Es decir, este documento es
un listado completo de todas las cosas que el cliente
espera que haga el sistema propuesto.
ü
Este documento es escrito en forma conjunta por el
cliente y el desarrollador.
DOCUMENTOS DE REQUERIMIENTOS
ESPECIFICACIÓN DE REQUERIMIENTOS:
ü
Documento que reitera la definición de los
requerimientos en los términos técnicos apropiados
para el desarrollador del diseño de un sistema.
ü
Es la contrapartida técnica al documento de definición
de requerimientos y es escrito por los analistas de
requerimientos.
Es muy importante, que al usar ambos documentos exista un correspondencia directa entre cada
requerimiento del documento de definición y aquellos documentos en la especificación.
CLASIFICACION DE LOS REQUERIMIENTOS
SEGÚN EL TIPO:
Requerimientos funcionales
•
Describen la funcionalidad o los servicios que se espera que el sistema proveerá. Dependen del
tipo de software, del sistema que se desarrollo y de los posibles usuarios.
•
Cuando se expresan como Requerimientos del usuarios, se definen de forma general.
•
Cuando se expresan como requerimiento del sistema describen con detalle la función de éste, sus
entradas y salidas, excepciones, etc.
CLASIFICACION DE LOS REQUERIMIENTOS
Requerimientos no funcionales
•
Son los requerimientos que no se refieren
directamente a las funciones específicas que entrega
el sistema, sino a las propiedades emergentes de
éste, como la fiabilidad, la respuesta en el tiempo y
la capacidad de almacenamiento.
•
Muchos requerimientos no funcionales se refieren al
sistema como un todo más que a rasgos particulares
del mismo.
CLASIFICACION DE LOS REQUERIMIENTOS
Ø
Del producto: especifican comportamiento del producto. Ej.: de desempeño en la rapidez de
ejecución del sistema, cuanta memoria se requiere; los de fiabilidad que fijan la tasa de fallas para el
sistema sea aceptable, los de portabilidad y de usabilidad.
Ø
Organizacionales: se derivan de las políticas y procedimientos existentes en la organización del
cliente y del desarrollador. Ej.: estándares en los procesos que deben utilizarse, requerimientos de
implementación como los lenguajes de programación o el método de diseño a utilizar.
Ø
Externos: cubre todos los requerimientos que se derivan de los factores externos al sistema y de su
proceso de desarrollo. Ej.: requerimientos de interoperabilidad, requerimientos legales,
requerimientos éticos.
Un problema común con los requerimientos no funcionales es que algunas veces son difíciles de
verificar.
CLASIFICACION DE LOS REQUERIMIENTOS
Ø
¿los requerimientos son correctos?. Cliente
y desarrollador deben revisarlos para
asegurarse que no tienen errores.
Ø
¿los requerimientos son consistentes?. Es
decir, ¿los requerimientos planteados son
no conflictivos ni ambiguos?. Dos
requerimientos son inconsistentes cuando
es imposible satisfacerlos
simultáneamente.
CLASIFICACION DE LOS REQUERIMIENTOS
Requerimientos de Usuario
•
Declaraciones en lenguaje natural y en diagramas de los servicios
que se espera que el sistema provea y de las restricciones bajo
las cuales debe operar.
•
Describen los requerimientos funcionales y no funcionales de tal
forma que sean comprensibles por los usuarios del sistema que
no posean un conocimiento técnico detallado.
•
Únicamente especifican el comportamiento externo del sistema
y evitan, tanto como sea posible, las características de diseño del
sistema.
CLASIFICACION DE LOS REQUERIMIENTOS
•
Establecen con detalle los servicios y restricciones del sistema.
•
El documento de requerimientos del sistema, algunas veces
denominado especificación funcional, debe ser preciso.
•
Éste sirve como un contrato entre el comprador del sistema y el
desarrollador del software.
•
Son descripciones más detalladas de los requerimientos del
usuario.
•
Sirven como base para definir el contrato de la especificación
del sistema y, por lo tanto, debe ser una especificación
completa y consistente del sistema.
•
Son utilizados por los ingenieros de software como el punto de
partida para el diseño del sistema.
IMPORTANCIA DE LA DEFINICIÓN FORMAL DE REQUERIMIENTOS.
En la siguiente tabla se ilustra el conflicto que encontró (Scharer, 1990) cuando los
desarrolladores y los usuarios se limitan a ver el problema desde su particular
punto de vista sin tomar en cuenta la situación del otro.
COMO VEN LOS DESARROLLADORES A
LOS COMO VEN LOS USUARIOS A LOS
USUARIOS. DESARROLLADORES.
Los usuarios no saben lo que quieren Los desarrolladores no comprenden las
necesidades operacionales.
Los usuarios no pueden articular lo que Los desarrolladores ponen demasiado
quieren. énfasis en la técnica.
Los usuarios tienen muchas necesidades Los desarrolladores pretenden decirnos
motivadas políticamente. como hacer nuestro trabajo.
Los usuarios lo quieren todo bien y ahora Los desarrolladores no pueden traducir
nuestras necesidades claramente
establecidas a un sistema exitoso.
TÉCNICAS DE VERIFICACION DEL REQUERIMIENTO
WALKTHROUGHS
WALKTHROUGHS
•
Su función principal no es establecer
ninguna clase de intercomunicación
entre partes, como parece que
debería de ser el objetivo de una
reunión
•
al contrario lo que se pretende es
establecer una evaluación del
trabajo de una persona por parte del
Equipo de Proyecto.
TÉCNICAS DE VERIFICACION DEL REQUERIMIENTO
WALKTHROUGHS
INSPECCIONES
CONCEPTO
Introducido por Michael Fagan de IBM en 1972, la inspección de software es una técnica para eliminar
defectos lo más tempranamente posible en el ciclo de vida del Software, siguiendo un plan bien definido
y detallado, para asegurar de que esa un proceso repetible y mejorable.
Las inspecciones se llevan a cabo al final de cada una de las fases de desarrollo: requerimientos,
especificación, diseño, implementación, e integración y testing.
ROLES
Los siguientes roles son utilizados en una inspección:
1. Autor: La persona que creó el producto que se inspecciona.
2. Moderador: Este es el líder de la inspección. El moderador tiene previsto la inspección.
3. Lector: La persona que lee a través de los documentos, un elemento a la vez.
4. Documentador: La persona que documenta los defectos que se encuentren durante la inspección.
5. Inspector: La persona que examina el producto para identificar posibles defectos. El Proceso
TÉCNICAS DE VERIFICACION DEL REQUERIMIENTO
ETAPAS
•
Es muy importante realizar procesos de verificación del requerimiento,
ya que estos, desde las primeras etapas, nos dan una visión clara de
cómo está avanzando el proyecto de acuerdo a los requerimientos de
los usuarios.
•
Ahora, podemos ver lo necesario que es entender las diferencias de
conceptos entre validación y verificación, y aplicar técnicas como
Comprobación de escritorio, Walkthroughs e inspección para examinar
el avance de las especificaciones, con un bajo riesgo y un bajo costo.