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

12

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

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? ¿Son definidos por los usuarios? ¿Cómo puedo identificarlos?

    
pregunta Hugo Assanti 27.04.2011 - 05:39

3 respuestas

9

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

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

El sistema DEBE responder para iniciar sesión en las solicitudes dentro de 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 vienen. 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.

    
respondido por el Pemdas 27.04.2011 - 06:40
9

La regla es simple y clara.

Los requisitos funcionales son cosas que el sistema 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)
  • probabilidad
  • escalabilidad

Lee esto. Esta muy claro enlace

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 redes, administradores de sistemas, administradores de bases de datos. Todo aquel que sea una 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 un 80% de requisitos no funcionales y menos de un 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 plataforma, soporte, copias de seguridad y restauraciones, sistemas operativos y bases de datos, estándares y operaciones, y muchas cosas que el sistema no hizo .

    
respondido por el S.Lott 27.04.2011 - 11:54
3

Los requisitos no funcionales y los atributos de calidad son los mismos

La idea detrás del cambio de nombre en los últimos tiempos es que, los llamados requisitos no funcionales son de hecho una funcionalidad del sistema (o un conjunto de funcionalidades 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 toma 5 ms para hacer su parte en el procesamiento, afectará el rendimiento del sistema en su totalidad.

Al igual que la seguridad no se trata solo de un inicio de sesión y cuando se ve afectada, afecta a todo el sistema.

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

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

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

respondido por el mimsugara 03.06.2015 - 15:14

Lea otras preguntas en las etiquetas