# Introduction equirements engineering (RE) [1] is activities set concerning identifying/communicating a software-intensive system's purpose and contexts of use. So, RE spans users real-world needs, customers, and other constituencies affected by software systems and capabilities/opportunities provided by software-intensive technology. An abstract description of how a specific organization conducts activities, resource usage focused and dependencies between activities is a process model. Methods and process models difference is that while methods focus on technical activities (activities content), process models focus on activities management (how activities can be measured/improved). A software system's success measure [2] is the degree to which it meets its intended purpose. Generally, software systems requirements engineering discovers that purpose through identification of stakeholders, their needs and documenting them in a process amenable to analysis, communication, and implementation. There are many difficulties in this. Stakeholders (paying customers, users and developers) could be numerous and distributed. "Requirements engineering is that branch of software engineering dealing with real-world goals for, functions of, and constraints on software systems. It concerns these factors, relationship to precise software behavior and to its evolution with time across software families." A requirement is a condition/capability to be met/fulfilled by a system satisfying a contract, specification, standard, or formally imposed documents. Requirements for a system should be verifiable, consistent, correct, and traceable. RE specifies, understands, elicits, and validates customers/users requirements. It identifies technological restrictions through which an application should be built/run. An iterative/co-operative process, it aims to analyze a problem, document results in various formats, evaluating results precision. RE iterative process includes 3 activities [3]: ? Requirements elicitation ? Requirements specification ? Requirements validation The process starts with requirements elicitation. A developers' set collect users and customers information. Information is got from documents, legacy applications, interviews used in preparation of requirements catalogue. Finally, requirements validation finds out if there are inconsistencies/mistakes/undefined requirements. Specification-validation is iterative being executed many times in complex projects. Activities which are basic to all RE processes [4]: ? Elicitation : Identify information sources about system and discover requirements from them. ? Analysis : Understand requirements, their overlaps, and conflicts. Functional requirements [5] capture a system's intended behavior which could be expressed as services, tasks or functions the system has to perform. It is useful to distinguish between baseline functionality required for a system to compete in that product domain, in product development. Features differentiate a system from competitors' products, and from the company's own product line/family variants. Features may be added functionalities, or differ from basic functionality along some quality attribute (performance or memory utilization). Functional requirements of early (nearly concurrent) releases need to be considered. Later releases can be accommodated through architectural qualities like extensibility and flexibility. # b) Non Functional Requirements A semantic definition would be "any requirement that is not functional" [6]. Non -functional requirements are those which cannot be categorized in Functional, Data or Process requirements. Generally, ? They are requirements ? They are not functional, data or process requirements Non-functional requirements define overall qualities/attributes of the system that results. Nonfunctional requirements restrict product under development, development process, specifying external constraints to be met by that product. Some of the non-functional requirements are, Usual approaches to information retrieval system evaluation include relevant and non-relevant documents notion. Regarding user information need, a test collection document is provided a binary classification either as relevant/non relevant. This decision is called the gold standard or ground truth relevance judgment. ? Availability Requirements ? Capacity Requirements ? Performance Requirements ? Reliability Requirements ? Security Requirements NFR Locator extracts NFR sentences in unconstrained natural language documentation. The process takes project related natural language document as input. The former parses natural language into an internal representation based upon relevant features, to classify sentences into particular NFR categories or returns "not applicable" when it does not specify a NFR [7]. Step 1 : Parse Natural Language The process enters text into a system, parsing it and converting parsed representation into NFR Locator's sentence representation (SR). SR represents every sentence as directed graph where vertices are words and edges the relationships between them. Step 2 : Classify Sentences Once parsing and initial sentence analysis is finished, a k-NN classification algorithm classifies every sentence into one/more NFR categories. Sentences classified other than "not applicable" appear on generated reports for use outside the system. A k-NN classifier predicts classification by taking a majority vote of existing k nearest neighbors' classification to the item under test. It should identify all non-functional requirements of stakeholders. Many approaches are unavailable for this. Rao and Gopich and [8] suggested a 4 layered analysis approach to identify non-functional requirements. The approach has advantages over nonlayered approach. Rules were proposed for use in each layer as part of the approach which was successfully applied on 2 case studies. The identified non-functional requirements were validated through the use of a check list. Also, a metric ensured computation of completeness of the identified non-requirements. # II. # Related Works Functionality and non-functional characteristics determine a software system's utility. Also usability, flexibility, performance, interoperability and security add to the score. There is currently a lop-sided emphasis on software functionality, though it was not useful or usable without non-functional characteristics. Chung and do Prado Leite [9] reviewed state of the art on treating nonfunctional requirements (NFRs), when providing prospects for future directions. Liu et al [10] proved that continuous randomization spectrum existed where most existing tree randomizations operated around the spectrum's two ends leaving a major portion of the spectrum unexplored. The authors proposed A base learner VR-Tree generating trees with variable-randomness. VR-Trees spanned from conventional deterministic trees to complete-random trees by using a probabilistic parameter. Using VR-Trees as base models, the spectrum of randomized ensembles was explored along with Bagging and Random Subspace. It discovered that spectrum's two halves have distinct characteristics; understanding which led to the proposal of a new approach to build better decision tree ensembles. It was named Coalescence, as it coalesces many points in spectrum's random-half. Coalescence behaves like an experts committee to cater to unforeseeable conditions in training data. Coalescence performed better than the spectrum's any single operating point, without needing to tune in to a specific randomness level. The proposed empirical study ranks Coalescence top among benchmarking ensemble methods including Random Forests, Random Subspace and C5 Boosting. Coalescence was significantly better than Bagging and Max-Diverse Ensemble when compared with other methods. Though Coalescence was not greater than Random Forests, it identified conditions under which one can perform better than the other. Pavlovski and Zou [11] proposed application of 2 new artifacts to model linked with a business process. This was operating condition denoting a business process constraint. Control case defined controlling criteria to mitigate the risk associated with an operational condition. Modeling constraints thus was an opportunity to capture such business process characteristics early in a systems development cycle. This contributes to a model providing a more through overall business process representation. The methods assist in risk mitigation and facilitate non-functional requirements early recovery during systems development. Though all systems have non-functional requirements (NFRs), they are not clearly stated in formal specification requirements. Further, NFRs may be externally imposed through government regulations/industry standards. Slankas and Williams [12] examined document types (data use agreements, installation manuals, regulations, proposals requests, requirements specifications, and user manuals) containing NFRs categorized in 14 NFR categories (capacity, reliability, and security) measuring how to effectively identify/classify NFR statements in those documents. In documents evaluated, NFRs were present. Using a NFR word vector representation, a support vector machine algorithm performed twice as effectively compared to the same input on a multinomial Naïve Bayes classifier. The k nearest neighbor classifier with a unique distance metric had an F1 measure of 0.54, outperforming in experiments, optimal Naïve Bayes classifier which had a F1 measure of 0.32. It was also found that stop word lists beyond common determiners lacked minimal performance effect. Asghar and Umar [13] discussed/critically evaluated RE challenges highlighted by researchers and provided a model encapsulating 7 major challenges recurring in a RE phase. The challenges were further categorized as problems. Further, the model was linked to earlier research elaborating challenges not specified earlier. Anticipating RE challenges could help RE engineers prevent software tower from destruction. RE is an effective phase in software development aiming to collect good requirements from stakeholders correctly. It is important for an organization to develop quality software products satisfying user needs. RE for software development is a complex exercise taking into account product demands from many viewpoints, roles, responsibilities, and objectives. Hence, it is necessary to apply RE practices in all software development phases. Pandey et al [14] proposed an effective RE process model to produce quality software development requirements. Requirement management/planning were executed independently for effective requirements management. It was iterative for better RE and maintenance later. Successful implementation of the proposed RE process has good impact on quality software production. # III. # Methodology For classifier validation, NFR dataset available in the promise data repository [15] Features extraction was from each requirement document using word occurrence criteria. Extracted data was used to investigate bagging and boosting methods. # a) Boosting Boosting [16] is a method to improve learning algorithms accuracy. Given a training set of labeled examples, {( x 1; y 1); (x 2; y2),?,(xm; ym)}, where each xi is drawn from an underlying distribution D on a universe X, and yi ? {+1,-1}, a learning algorithm produces a hypothesis h : X ? {+1,-1}. Ideally, h "describes" not just given samples, but also underlying distribution. Boosting converts a weak learner, producing a hypothesis that is slightly better than random guessing, into a strong/accurate learner. Many boosting algorithms share a basic structure. First, the sample set is given an initial (typically uniform) probability distribution. Computation proceeds in rounds. In each round t: (1) base learner is run on current distribution Dt, producing a classification hypothesis ht; and (2) the hypotheses h1,?, ht reweight samples, defining Dt+1. The process halts after predetermined rounds or when combining of hypotheses is accurate. Main design decisions on how to modify probability distribution from one round to next, and how to combine hypotheses {ht} t=1,..,T to form a final output hypothesis. Bagging [17] is based on bootstrapping and aggregating. Bootstrapping is based on random sampling with replacement. Hence, taking a bootstrap replicate S i = (X i 1 ,X i 2 , ...,X i n ) of the training set S = (X 1 ,X 2 , ... E E ? 0 for i = 1 to B do S i ? BootstrapSample (S ) C i ? ConstructClassifier (S i ) E ? E ? {C i } end for return E c) Random Forest Random forests [18] are a recursive partitioning method suiting small n large p problems. They involve a classification ensemble (aka: set) or regression trees calculated on random data subsets, using a randomly restricted and selected predictor's subset for splits in each classification tree. The posterior probability that a random tree predicts class j at X, given the training data (xi, yi) , i = 1,?, n, is ( ) ( ) ( ) , j Q X P h X j ? ? = = Note that h depends on training data. In practice, Qj is estimated using ( ) ( ) ( ) 1 1 ?, N j k k Q X I h X j N ? = = = ? where I denotes indicator function. The ensemble predicts class at X by ( ) ( ) arg max j j h X Q X = ? ? d) REP TREE Reptree uses regression tree logic to create multiple trees in varied iterations. It then selects the best from generated trees which is then considered as representative. In tree pruning the measure used is mean square error on the tree's predictions. # IV. # Experimental Results The classification accuracy and the Root Mean Squared Error (RMSE) are shown in Table 1. # Experimental Results RE activities occur across multiple phases. Of the 7 suggested activities, only elicitation is performed clearly in all projects. Interpreting & Structuring, and Negotiation were also performed in the projects, but they varied between implicit and explicit performance. When RE was considered as a continual task through the project, RE process model was iterative. RE activities occurred across multiple phases, making process models appear iterative. Boosting and Bagging classifiers were used in experiments with Reptree, Random forest and resampling. The results showed the performance variation between classifiers. Bagging with Random Forest and resampling achieves the best performance accuracy of 82.37%. 1![Figure 1 : The requirements engineering activity cycle Requirements are software system's foundation. Functional requirements indicate what a system can do, data requirements indicate what it can store while quality requirements indicate how quickly /easily it performs. a) Functional RequirementsFunctional requirements[5] capture a system's](image-2.png "?Figure 1 :") 2![Figure 2 : Classification of Non-functional requirements To measure ad hoc information retrieval effectiveness requires a test collection of three things: 1. A document collection. 2. Information needs test suite, expressible as queries. 3. A relevance judgments set, usually a binary assessment of either relevant or non-relevant for a query-document pair.Usual approaches to information retrieval](image-3.png "Figure 2 :") ![Non-functional requirements identification is important for development/deployment of softwareGlobal Journal of Computer Science and TechnologyVolume XIII Issue VIII Version I ( software product acceptance depends on non-functional requirements incorporated in the software.](image-4.png "") ![was used. It consists of 15 requirement specifications of MS student projects Performance Evaluation of Non Functional Requirements with a total of 326 NFRs and 358 FRs. NFR categories included availability, scalability, usability and security.](image-5.png "C") ![,X n ), sometimes has less misleading training instances in bootstrap training set. Thus, a classifier constructed on such training sets provides better performance. Aggregating means combining classifiers, Bagging provides good results when unstable learning algorithms (decision trees) are used as base-level classifiers, with small changes in training sets resulting in different classifiers. b) The bagging algorithm Input : Training examples S, Bag size B Output : Ensemble](image-6.png "") 1under considerationClassifiersClassification accuracy %Root mean squared error59.290.2362.820.217470.830.19782.370.156259.940.22860.420.223271.470.197278.370.1739In 10132Year © 2013 Global Journals Inc. (US) * What is Requirements Engineering? SEasterbrook 2004 * BNuseibeh SEasterbrook Requirements engineering: a roadmap 2000. May * Proceedings of the Conference on the Future of Software Engineering the Conference on the Future of Software Engineering ACM * Requirements engineering for web applications-a comparative study MJEscalona NKoch J. Web Eng 2 3 2004 * Integrated requirements engineering: A tutorial. Software ISommerville 2005 IEEE 22 * Functional requirements and use cases. functreq. pdf, 39k RMalan DBredemeyer BConsulting 1999. June * Business Analysis -Delivering the Right Solution for the Right Problem GBeauchamp Smart BA 2009. February 20. 2007 * Automated Extraction of Non-functional Requirements in Available Documentation SJohn WLaurie 2013 * AARao MGopichand arXiv:1201.6141 Four Layered Approach to Non-Functional Requirements Analysis 2012 arXiv preprint * On non-functional requirements in software engineering LChung JC SDo Prado Leite Conceptual modeling: Foundations and applications Berlin Heidelberg Springer 2009 * Spectrum of Variable-Random Trees F TLiu K MTing YYu Z HZhou Journal of Artificial Intelligence Research 32 2008 * Nonfunctional requirements in business process modeling CJPavlovski JZou Proceedings of the fifth Asia-Pacific conference on Conceptual Modelling-Volume the fifth Asia-Pacific conference on Conceptual Modelling-Volume Australian Computer Society, Inc 2008. January 79 * Automated Extraction of Non-functional Requirements in Available Documentation SJohn WLaurie 2013 IEEE * Requirement engineering challenges in development of software applications and selection of customer-off-the-shelf (COTS) components SAsghar MUmar International Journal of Software Engineering 1 1 2010 * An effective requirement engineering process model for software development and requirements management DPandey USuman AKRamani Advances in Recent Technologies in Communication and Computing (ARTCom), 2010 International Conference on IEEE 2010. October * Performance Evaluation of Requirements Engineering Methodology for Automated Detection of Non Functional Requirements JSelvakumar MRajaram International Journal 3 2011 * Boosting and differential privacy CDwork GNRothblum SVadhan Foundations of Computer Science (FOCS), 2010 51st Annual IEEE Symposium on IEEE 2010. October * Combining Bagging and Random Subspaces to Create Better Ensembles PPance DSaso 2007 Springer-Verlag Berlin Heidelberg * Reptree Classifier For Identifying Link Spam In Web Search Engines SKJayanthi SSasikala Ictact Journal On Soft Computing 3 2 2013