¿Cuál es la diferencia entre un requisito no funcional y un atributo de calidad?


13

Estoy tratando de entender la diferencia entre los requisitos no funcionales y los atributos de calidad. ¿Son la misma cosa?

Puede encontrar un conjunto de atributos de calidad en el estándar ISO9126.

Sé que cada sistema está definido por un conjunto de requisitos funcionales y cada uno de estos requisitos tiene asociados uno o más atributos de calidad. Por ejemplo, suponga que tiene el requisito que describe la funcionalidad de inicio de sesión de un sistema. Puede asociar a ese requisito los atributos de seguridad y rendimiento.

Si digo que el sistema no puede tardar más de 1 segundo en responder, estoy hablando de una restricción.

Entonces, ¿dónde entra en juego el concepto de requisitos no funcionales? ¿Están definidos por los usuarios? ¿Cómo puedo identificarlos?


3
Para responder a su pregunta: sí, los requisitos no funcionales y los atributos de calidad son lo mismo.
Devorado elysium

Respuestas:


9

Creo que estás pensando demasiado en esto. Los requisitos funcionales y no funcionales no son realmente tan separables como sugiere, tome el caso de inicio de sesión, por ejemplo.

El usuario DEBERÁ poder iniciar sesión a través de una interfaz web. Técnicamente, este es un requisito funcional.

El sistema DEBE responder a las solicitudes de inicio de sesión en 1 segundo. Técnicamente, este es un requisito no funcional.

De cualquier manera, ambos son igual de importantes independientemente de la clasificación específica.

Los requisitos pueden provenir de cualquier número de lugares. Es posible que desee tener un mejor rendimiento que un competidor. Un cliente puede tener necesidades específicas. Puede haber una solicitud de marketing o ventas. No hay un solo lugar de donde provienen. Sin embargo, probablemente podría abstraer todas las diferentes fuentes y referirse a ellas como clientes. En definitiva eso es lo que son.

Puede identificar la diferencia utilizando la siguiente métrica. Los requisitos funcionales describen lo que hará un sistema. Un requisito no funcional especifica cómo lo hace.



9

La regla es simple y clara.

Requisitos funcionales son cosas que el sistema lo hace .

Los requisitos no funcionales son atributos de calidad o aspectos de cómo se diseña, construye o implementa el sistema.

  • Rendimiento (1 segundo)
  • Mantenibilidad
  • Adaptabilidad
  • Costo
  • seguridad
  • usabilidad (que es una propiedad del sistema en su conjunto)
  • comprobabilidad
  • escalabilidad

Lee esto. Está muy claro. http://en.wikipedia.org/wiki/Non-functional_requirement

Los requisitos no funcionales se muestran de la misma manera que los requisitos funcionales. Usuarios El contexto en el que se implementará el sistema. Un montón de lugares. Administración. Otras organizaciones Administradores de red, administradores de sistemas, administradores de bases de datos. Toda persona que sea parte interesada o simplemente un espectador contribuirá con requisitos no funcionales.

Al mirar los "documentos de requisitos" en los últimos 30 años, puedo decir esto. Muchos documentos de requisitos escritos por grandes organizaciones de TI internas son declaraciones políticas con quizás 80% de requisitos no funcionales y menos del 20% de requisitos funcionales.

Leí una que tenía una sola oración que era un requisito funcional. El resto del documento de 30 páginas hablaba de la plataforma y el soporte, y las copias de seguridad y restauraciones, y los sistemas operativos y la base de datos, y los estándares, y las operaciones, y un montón de cosas que el sistema no hizo .


LOL, he tenido la experiencia opuesta de muchos requisitos funcionales y ninguno no funcional hasta que se hace el sistema y no es lo suficientemente rápido (o lo suficientemente seguro, etc.), pero nuestros requisitos están escritos por personas en el lado comercial.
HLGEM

4

Los requisitos no funcionales y los atributos de calidad son uno y el mismo

La idea detrás del cambio de nombre en los últimos tiempos es que estos llamados requisitos no funcionales son, de hecho, la funcionalidad del sistema (o un conjunto de funciones del sistema) que tiene un impacto transversal en el sistema. Es decir, el impacto transversal que este tipo de "funcionalidad especial" tiene en un sistema lo convierte en un atributo de calidad de ese sistema. Como ejemplo:

Un sistema con 5 componentes debe procesar una solicitud en 10 ms. Si un componente tiene un defecto que tarda 5 ms en participar en el procesamiento, afectará el rendimiento del sistema en su conjunto.

Así como la seguridad no se trata solo de un inicio de sesión y cuando se ve afectado, afecta a todo el sistema.

En resumen, los atributos de calidad (es decir, requisitos no funcionales) tienen que ver con la funcionalidad, cómo implementa algo y cómo esta implementación afecta sus sistemas. Por lo general, la diferencia con los "requisitos normales" está en su impacto, alcance y visibilidad.

Aquí hay un enlace interesante sobre cómo identificarlos de manera estructurada:

Y un libro sobre cómo documentarlos y definirlos correctamente:

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.