Based on the documentation and use of the applications, we identified the nonfunctional requirements (i.e. quality attributes) described below. The descriptions of nonfunctional requirements were either copied or adapted from Healthwatcher Requirements [18], Aspect-oriented Requirements Engineering (AORE) models [21], AORE viewpoints [22], and Multi-dimensional Separation of Concerns (MDSOC) [23].
- Usability [NFR01]. Priority: Important. The system should have an easy to use GUI, as any person who has access to the internet should be able to use the system [18]. The user interface must be implemented using Servlets [18];
- Availability/Exception Handling [NFR02]. Priority: Essential. The system should be available 24 hours a day, 7 days a week. The nature of the system not being a critical system, the system might stay off until any fault is fixed [18]. Several functionalities might raise errors while the user interacts with the system and require different handling techniques. General errors that apply to most cases are due to missing information (e.g. users do not fill in the required fields in an entry form) and the system signals the error and show which fields need to be provided. Other error might be related to entering invalid data and the error handling mechanism should try either to avoid that or to raise the error and suggest the correction [21]. According to Bass et al. [24, Chapter 4.1], availability is closely related to reliability and one technique to improve reliability is exception handling;
- Performance/Response time [NFR03]. Priority: Essential. The system must be capable to handle 20 simultaneous users. The response time must not exceed 5 seconds [18,25];
- Encryption/Security [NFR04]. Priority: Important. The system should use a security protocol when sending data over the internet. To have access to the complaint registration features, access must be allowed by the access control sub-system [21,18];
- Standards/Compatibility [NFR05]. Priority: Important. The system must be developed according to the standards established by X7, responsible for the norms and standardization of systems for the City Hall [18,25].
- Harware and Software/Operational environment [NFR06]. This section lists the hardware and software to be used for the system to operate in a desirable fashion [18]. Software: Ubuntu 12.04 LTS for the workstation. Hardware: One computer with: 2.0 GHz processor, 1 GB of RAM memory, net card 3Com 10/100. This equipment shall be used by the attendant as a workstation;
- Distribution [NFR07]. Priority: Essential. The system should be capable of running on separate machines. For example, the system core could be running on one machine and the Servlets on another [18];
- (Flexible) Storage medium/Persistence [NFR08]. Priority: Essential. The persistence mechanism should store data about the complaints, employees, health units, deceases, specialities and citizens that complaint. The system must be capable of extension on the storage matter, making possible to use, arrays or different databases (MySQL, Oracle, etc.) [21,18].
- Concurrency [NFR09]. Priority: Essential. The system must be capable to handle 20 simultaneous users [21].
Leonardo Tizzei
2013-02-18