{'fraction_non_alphanumeric': 0.017364657814096015, 'fraction_numerical': 0.0, 'mean_word_length': 5.405228758169935, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A Survey of Non-Functional Requirements in Software Development Process

Due to the enormous pressure towards deploying software as fast as possible, functional requirements have been the main focus of software development process at the expense of implementing non-functional requirements (NFRs) such as performance and security. Thus, in practice, NFRs have been observed to be frequently neglected or forgotten in the software development process. However, NFRs is an important concept in requirements engineering which plays an essential role in the success or the failure of systems. NFRs introduce quality characteristics, but they also represent constraints under which the system must operate. So, the chances of success for the software system are maximized when NFRs are modeled since the initial phases of the development process. This article reviews the NFR concepts, relates them to the overall software development process and identifies new areas of further work.