Skip to content

c) Quality Attributes & Non Functional Requirements

Fabian C. Annaheim edited this page Mar 24, 2023 · 6 revisions

To ensure a high-quality software product, it is essential to define what quality means in a certain domain and how quality should be measured.

Prioritized Attributes

For the targeted product, the project team defined reliability, security, and extendability as the most important quality attributes. The application will be used just once a year for one afternoon. In this time it will be essential that the programs work reliable and as expected without errors, interruptions or anything similar. In addition, security is also considered as extremely important due to the sensitive nature of data the application is working on. Private data of students is legally very protected and any leaks or related events would be completely unaccceptable. Finally, extendability seems to be highly relevant because the project at hand aims to develop a prototype only. Hence, for any further success it is crucial that the prototype can be extended as easy as possible. Any difficulties to extend the application would result in financial losses, at least from the perspective of opportunity costs.

Other Attributes

On the other hand, there are tons of quality attributes which definitely are not irrelevant at all, but not that crucial for 3ES. For example, performance and scalability can get extremely important when levelling up 3ES to a full-fledged product which is deployed on a real market. But for now, both attributes are negligible due to the low computing power an application like 3ES will need. The application will provide amazing help for teachers, but for this purpose, only some data has to be sent between client and server and for each image, a computer vision algorithm has to be executed. Modern computers can handle such computing tasks without any performance issues.

Clone this wiki locally