June 28, 2009Doug Hadden
Non-Functional Requirements include reliability, availability, compatibility and performance. These are used for FreeBalance product requirements and are designed to match the range of government customer needs. Many of these requirements differ from needs in the private sector. The following is a summary of non-functional requirements used in the development and testing of the FreeBalance Accountability Platform and web-based applications.
Deployment and installation of FreeBalance applications covers typical government needs including decentralization:
- Centralized, decentralized and hybrid deployment.
- Named, concurrent, occasional, site and government-wide licensing and licensing combinations.
- Simplified license keys for rapid upgrading.
- Use of test, training and production environments.
- Version upgrades and downgrades.
- Software as a Service (SaaS) and Cloud Computing deployment.
- Government shared services deployment.
- Support for low bandwidth setups such as dial-up and VSAT for remote government offices.
- Optimized technical footprint to ensure that FreeBalance software can operate on a stand-alone laptop.
- Ability to deploy to training centers, testing environments and disaster recovery sites.
Compatibility describes compatibility with industry and international government accounting standards. This ensures compatibility with a wide range of equipment and systems to protect the government investment. Compatibility requirements cover:
- Portability to other operating systems, application servers, computer systems and databases.
- Compatibility with JBoss, Tomcat, WebSphere and WebLogic application servers.
- Compatibility with Microsoft, Oracle and MySQL databases.
- Support for multiple web browsers including Mozilla and Microsoft and web standards like W3C and CSS.
- Support for Microsoft and Linux operating systems.
- Support for Web Services (SOAP, UDDI, WSDL).
- Support for Unicode.
- Support for security standards including LDAP, PKI, SSL, and Kerberos.
- Support for IPSAS, GASB, IFRS, GaaP and GFS standards for public sector accounting.
Maintainability refers to the ability of governments to maintain software and the FreeBalance ability to support customers easily. The maintainability requirements cover:
- Rapid deployment of code fixes and service packs.
- Support for configurable system logging and auditing.
- Parameterization for configuration and configuration changes.
- Migration, upgrading and backward compatibility.
- Systems management functionality and support for systems management standards like SNMP for 3rd party tools.
- Archive and backup functionality.
- Remote management capabilities.
Application usability and the user interface are key elements to ensure the successful implementation of a government financial management system. FreeBalance applications are sometimes used in countries with lower human capacity. Usability requirements cover:
- User-centric design criteria to ensure simple functions oriented to the user’s objective, ease of use and ease of remembering.
- Options for user interface changes and customization, including forms adjustment, translation, and templates.
- Structure, skeleton, navigation and page layout standards for the user interface.
- Use of expected web conventions.
- Behavior for data input.
- Localization and internationalization including multiple language and multiple calendar support.
- Multi-lingual documentation and the ability to adapt documentation to meet government and capacity needs.
- Support for linking help, documentation, courseware and e-learning together.
Reliability, Performance, Capacity and Quality
These requirements are designed to support government needs:
- Availability of FreeBalance software, independent of network and server availability at better than 99.9% other than for scheduled maintenance and upgrading.
- Scales well under load with high concurrency to over 10,000 users.
- Fault tolerance for loss of connectivity, loss of computing resources and invalid data entry.
- Recoverability to hardware, network or software faults including exception handling.
- Software encryption and access control support.
- Over 99.9% Data and transactional integrity. Tools that support transaction recreation from audit trail.