The key to successful software development is that all stake holders develop a clear and uniform understanding of application requirements.
Software requirements can be broadly classified into two groups:
Functional or problem domain requirements
Non-functional or solution domain requirements
In a problem domain, the focus is on the functional or business requirements. It is recommended that you create a domain model of your functional requirements before you start thinking of the solution domain.
In a solution domain, we focus on how to deliver the solution for functional or business requirements.
Some of the important non-functional requirements of a WLI application are:
Quality attributes such as security, high availability, scalability, performance, and reliability.
User interface
Integration
Message format, transport, and protocol
Data format and transformation
Internationalization or i18n
Legal and compliance
Runtime infrastructure
Networking and communication
Constraints such as the use of specific RDBMS System, protocols, and standards