REQUERIMIENTOS DEL SISTEMA
Requerimientos
del sistema según el texto “Requerimientos del Software”, extraído del libro “Ingeniería
del Software” escrito por Ian Sommerville.
a. Explique que son los requerimientos funcionales.
Son
declaraciones de los servicios que debe proporcionar el sistema, de la manera
en que este debe reaccionar a entradas particulares y de cómo se debe comportar
en situaciones particulares. En algunos casos, los requerimientos funcionales
de los sistemas también pueden declarar explícitamente lo que el sistema no
debe hacer.
b. Explique que son los requerimientos no
funcionales.
Son
restricciones de los servicios o funciones ofrecidos por el sistema. Incluyen
restricciones de tiempo, sobre el proceso de desarrollo y estándares. Los
requerimientos no funcionales a menudo se aplican al sistema en su totalidad.
Normalmente apenas se aplican a características o servicios individuales del
sistema
c. Diga y explique los tipos de requerimientos no funcionales
Requerimientos
no funcionales:
1. Requerimientos
del producto: Estos requerimientos especifican el comportamiento del productor.
Algunos ejemplos son los requerimientos de rendimiento en la rapidez de
ejecución del sistema y cuánta memoria se requiere; los requerimientos de
fiabilidad que fijan la tasa de fallos para que el sistema sea aceptable; los
requerimientos de portabilidad, y los requerimientos de usabilidad.
Explicación
(Punto de vista personal): Estos requerimientos son aquellos que
evalúan el sistema, es decir, los que hacen las pruebas necesarias para comprobar
que dicho sistema está en condiciones aceptables.
2. Requerimientos
organizacionales: Estos requerimientos se derivan de políticas y procedimientos
existentes en la organización del cliente y en la del desarrollador. Algunos
ejemplos son los estándares en los procesos que deben utilizarse; los
requerimientos de implementación, como los lenguajes de programación o el
método de diseño a utilizar, y los requerimientos de entrega que especifican
cuando se entregara el producto y su documentación.
Explicación
(Punto de vista personal): Estos requerimientos son políticas y
procesos que se llevaran a cabo durante todo el desarrollo del sistema, desde
el análisis hasta la entrega de este, estos se coordinan entre el cliente y el
desarrollador.
3. Requerimientos
externos: Este gran apartado incluye todos los requerimientos que se derivan de
los factores externos al sistema y de su proceso de desarrollo. Éstos pueden
incluir los requerimientos de interoperabilidad que definen la manera en que el
sistema interactúa con sistemas de otras organizaciones; los requerimientos
legislativos que deben seguir para asegurar que el sistema funcione dentro de
la ley, y los requerimientos éticos. Estos últimos en un sistema para asegurar
que será aceptado por sus usuarios y por el público en general.
Explicación
(Punto de vista personal): Estos requerimientos son ajenos al
sistema y su proceso de desarrollo, como por ejemplo la interacción del sistema
con otro sistema
d. ¿De qué manera se debe redactar un requerimiento para que pueda ser
controlado?
Es necesario redactar los
requerimientos en diversos niveles de detalle debido a que diferentes tipos de
lectores lo utilizan de diferente manera utilizando formatos Nom,Desc, Datos de
entrada y datos de salida.
e. Explique algunas de las mediciones que se pueden hacer a los
requerimientos no funcionales
Algunas
mediciones a requerimientos no funcionales:
·
Rapidez:
Transacciones procesadas por segundo; Tiempo de respuesta al usuario y a
eventos; Tiempo de actualización de pantalla.
·
Tamaño: K
Bytes; Numero de chips de RAM.
·
Facilidad
de uso:
Tiempo de formación; Número de cuadros de ayuda.
·
Fiabilidad: Tiempo
medio entre fallos; Probabilidad de no disponibilidad; taza de ocurrencia de
fallos; Disponibilidad.
·
Robustez: Tiempo
de reinicio después de fallos; Porcentaje de eventos que provocan fallos;
Probabilidad de los datos después de
fallos.
·
Portabilidad:
Porcentaje de declaraciones dependientes del objetivo; Numero de sistemas
objetivo.
f. ¿Que son los requerimientos del dominio?
Los
requerimientos del dominio se derivan del dominio de aplicaciones del sistema
más que de las necesidades específicas de los usuarios. Normalmente incluyen
terminología especializada del dominio o referencias a conceptos del dominio.
Pueden ser requerimientos funcionales nuevos, restringir los existentes o
establecer como se deben ejecutar cálculos particulares.
g. ¿Qué son los requerimientos del usuario?
Los
requerimientos del usuario para un sistema deben describir los requerimientos
funcionales y no funcionales de tal forma que sean comprensibles por los
usuarios del sistema sin conocimiento técnico detallado. Únicamente debe
especificar el comportamiento externo del sistema y deben evitar, tanto como
sea posible, las características de diseño del sistema. Por consiguiente, si se
están redactando requerimientos del usuario, no se debe utilizar jerga del
software, notaciones estructuradas o formales, o describir los requerimientos
por la descripción de la implementación
del sistema. Deben redactarse en un lenguaje sencillo, con tablas y formularios
sencillos y diagramas intuitivos.
h. En un requerimiento de usuario, ¿para qué sirven los fundamentos?
Los
fundamentos son los que deben explicar por qué se ha incluido el requerimiento
y es particularmente útil cuando cambian estos.
i.
¿Cómo se debe escribir un requerimiento del usuario?
Para
minimizar los malentendidos al redactar los requerimientos del usuario, se
recomienda seguir algunas pautas sencillas:
1. Inventar
un formato estándar y asegurar que todos los requerimientos se adhieren al
formato. Estandarizar el formato hace que las omisiones sean menos probables y
los requerimientos más fáciles de verificar. El formato utilizado muestra el
requerimiento inicial en negrita, incluyendo una declaración del fundamento con
cada requerimiento del usuario y una referencia a la especificación más
detallada de los requerimientos del sistema. También se puede incluir
información sobre quien propuso el requerimiento (la fuente de requerimiento),
de modo que se sepa a quién consultar si se tiene que cambiar el requerimiento.
2. Utilizar
el lenguaje de forma consistente. Siempre debe distinguir entre los
requerimientos deseables y los obligatorios. Los requerimientos obligatorios
son los requerimientos a los que el sistema debe dar soporte y normalmente se
redactan en futuro simple. Los requerimientos deseables no son fundamentales y
se redactan en futuro condicional.
3. Resaltar
el texto (con negrita, cursiva o color) para distinguir las partes clave del
requerimiento.
4. Evitar
hasta donde sea posible, el uso de jerga informática. Sin embargo,
inevitablemente se incluirán términos técnicos detallados en los requerimientos
del usuario.
j.
¿Qué son los requerimientos del sistema?
Los
requerimientos del sistema son versiones extendidas de los requerimientos del
usuario que son utilizados por los ingenieros de software como punto de partida
para el diseño del sistema. Agregan detalle y explican cómo el sistema debe
proporcionar los requerimientos del usuario. Pueden ser utilizados como parte
del contrato para la implementación del sistema y, por lo tanto deben ser una
especificación completa y consistente del sistema entero.
k. ¿Es bueno redactar los requerimientos del sistema en lenguaje natural?
¿Por qué?
A
menudo se utiliza el lenguaje natural para
redactar las cuales pueden ser confusas y difíciles de entender:
1. La
comprensión del lenguaje depende de que los lectores y redactores de la especificación
utilicen las mismas palabras para el mismo concepto.
2.
Una especificación de requerimientos en
lenguaje natural es demasiado flexible. Puede decir lo mismo de formas
completamente diferentes. Se deja al lector decidir cuándo los requerimientos
son los mismos y cuando deferentes.
3. No
existe una forma fácil de modular los requerimientos en lenguaje natural. Puede
ser difícil encontrar todos los requerimientos relacionados. Para descubrir la
consecuencia de un cambio, puede ser necesario mirar todos los requerimientos
en vez de sólo un grupo de requerimientos relacionados.
l.
¿Cómo se debe declarar un requerimiento del sistema?
Explique el método.
Se declaran con el
uso del lenguaje natural estructurado,lenguaje de descripcion de
diseño,notaciones graficas y especificaciones matematicas.
m. ¿Cómo debe ser el documento de requerimientos del software? ¿Qué debe
contener?
El documento de requerimientos del software es de
declaración oficial de que deben implementar los desarrolladores del sistema.
Debe incluir tanto los requerimientos del usuario para el sistema como una
especificación detallada de los requerimientos del sistema.
El documento de requerimientos tiene un conjunto
diverso de usuarios que va desde los altos cargos de la organización que pagan
por el sistema, hasta los ingenieros responsables de desarrollar el software.
Contiene:
·
Clientes del sistema:
Especifican los requerimientos y los leen para verificar que cumplen sus necesidades. Los clientes
especifican los cambios en los requerimientos.
·
Administradores:
Utilizan el documento de requerimientos
para planificar una oferta por el sistema y para planificar el proceso de
desarrollo del sistema.
·
Ingenieros de sistemas:
Utilizan los requerimientos para comprender que sistema debe
desarrollarse.
·
Ingenieros probadores
del sistema: Utilizan los requerimientos para desarrollar las pruebas de
validación para el sistema.
·
Ingenieros encargados
del mantenimiento del sistema: Utilizan los requerimientos para comprender el
sistema y las relaciones entre sus
partes.