<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JSEA</journal-id><journal-title-group><journal-title>Journal of Software Engineering and Applications</journal-title></journal-title-group><issn pub-type="epub">1945-3116</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jsea.2014.74023</article-id><article-id pub-id-type="publisher-id">JSEA-44682</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  Proposing a Systematic Approach to Verify Software Requirements
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>uhoor</surname><given-names>Abdullah Salim Al-Khanjari</given-names></name><xref ref-type="aff" rid="aff1"><sub>1</sub></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib></contrib-group><aff id="aff1"><label>1</label><addr-line>Department of Computer Science, College of Science, Sultan Qaboos University, Muscat, Oman</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>zuhoor@squ.edu.om</email></corresp></author-notes><pub-date pub-type="epub"><day>10</day><month>04</month><year>2014</year></pub-date><volume>07</volume><issue>04</issue><fpage>218</fpage><lpage>224</lpage><history><date date-type="received"><day>28</day>	<month>February</month>	<year>2014</year></date><date date-type="rev-recd"><day>22</day>	<month>March</month>	<year>2014</year>	</date><date date-type="accepted"><day>29</day>	<month>March</month>	<year>2014</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
     
   Identifying stakeholder’s needs, eliciting, categorizing and translating them into specifications is the requirement analysis process. Requirement analysis can be a long and arduous process during which many delicate psychological skills are involved. For any software, it is important to identify all stakeholders, collect their requirements and ensure they understand the implications of the software. The gap between stakeholders’ vision of the proposed software and the analysis's depiction of that software is the cause of shortcomings in analysis. If the requirements specified by analysts can be tested against stakeholders' expectations, then this gap might be narrowed, and better solutions might be resulted. This paper discusses the impact of the activities of the analysis phase on the development process and on the software itself. It describes the development of the ReqVerifier tool and proposes a systematic approach on how to test software requirements and verify them against stakeholders’ vision in order to develop a good software requirement for a quality software.  
    
 
</p></abstract><kwd-group><kwd>Requirement Analysis</kwd><kwd> Requirement Elicitation</kwd><kwd> Requirement Management</kwd><kwd> Requirement Testing</kwd><kwd> CASE</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Software requirements are actually customer’s statements of scope. They are defined as a set of guidelines, conditions, capabilities or abilities that a system must provide, conform or be consistent with. They deal with functional and nonfunctional requirements of a system. They should be documentable, actionable, measurable, testable, traceable, related to identified business needs or opportunities and defined to a level of detail sufficient for software design.</p><p>In requirement finalization process, the stakeholders play an important role. A stakeholder can be defined as anyone who is directly or indirectly affected by the system being developed or deployed. Stakeholders are broadly classified into two major categories: 1) user, who uses the system and 2) customer, who requests for the development of the system and be responsible for approving it. Requirement analysis plays an important role in the software development process. It serves as a baseline for any software project. It must consider the system in all of its stages. From the small units (e.g. objects or modules) to the integration phase, it fits in a broader and a bigger picture. Requirement analysis is critical to the success of a software project. It depends on the correctness and completeness of the software requirements [<xref ref-type="bibr" rid="scirp.44682-ref1">1</xref>] [<xref ref-type="bibr" rid="scirp.44682-ref2">2</xref>] . Failing to successfully analyze the requirements will be fatal for the software at hand and will lead to problems in delivering the required products on time with the right quality. Realizing a high quality application is a tedious development activity. Many projects fail because the analysis phase was immature and did not fully address the system’s specifications. A number of studies conducted on this issue have reported that the main reason of project failure is due to employing bad requirement engineering practices. In [<xref ref-type="bibr" rid="scirp.44682-ref3">3</xref>] , it has been reported that 70% of the systems errors are ordinarily due to the improper requirements and remaining 30% are because of the design faults.</p><p>The introduction of modern technological applications can enhance and improve the software development process. In the IT community, this was realized through the usage of computer aided software engineering (CASE) tools. CASE tools are being used to facilitate activities during software development process [<xref ref-type="bibr" rid="scirp.44682-ref4">4</xref>] . As a result, productivity can be increased and quality can be improved. CASE tools can help in managing the complex tasks of the requirement analysis process.</p><p>This paper introduces the activities of the analysis process and the impact of each activity on the development process and on the software itself. It proposes a systematic approach and describes the development of the ReqVerifier tool to test and verify the analyzed requirements of the software against the stakeholders’ needs and expectations.</p><p>This paper is structured into five sections. Section 2 introduces the literature review. Section 3 discusses the requirement analysis and its related issues. Section 4 demonstrates the development of the ReqVerify tool. Finally, Section 5 provides the concluding remarks and future prospects.</p></sec><sec id="s2"><title>2. Literature Review</title><p>The requirement analysis is an important phase in the software development process. In 1992, Christel and Kang [<xref ref-type="bibr" rid="scirp.44682-ref5">5</xref>] identified the following problems that indicate the challenges of the requirement analysis:</p><p>1) Problems of scope: The boundary of the system is ill-defined.</p><p>2) Problems of understanding: The users are not completely sure of what is needed?</p><p>3) Problems of volatility: The requirements change over time. The rate of change is sometimes referred to as the level of requirement volatility.</p><p>In 1997, Alfeche [<xref ref-type="bibr" rid="scirp.44682-ref6">6</xref>] published a guide on good requirement engineering practices. He considered requirement elicitation as a major part of a systems analysis.</p><p>In 1998, Kotonya and Sommerville [<xref ref-type="bibr" rid="scirp.44682-ref7">7</xref>] have mentioned that any software development process has to involve some requirement analysis.</p><p>In 2001, Pressman [<xref ref-type="bibr" rid="scirp.44682-ref4">4</xref>] specified that the analysts job is to assure that proper function of the system will be achieved, and that the requirement analysis process is intensified and focused specifically on software.</p><p>In 2003, Wiegers [<xref ref-type="bibr" rid="scirp.44682-ref8">8</xref>] stated that most IT systems fail to meet expectations because the requirements didn’t address the right issues. He showed how to collect and present a good requirement specification.</p><p>In 2005, Stellman and Greene [<xref ref-type="bibr" rid="scirp.44682-ref9">9</xref>] described requirement management to be the process of documenting, tracing, prioritizing and agreeing on requirements and then controlling change and communicating to relevant stakeholders. In the same year, Abran and Moore [<xref ref-type="bibr" rid="scirp.44682-ref10">10</xref>] stressed the fact that requirement analysis involves frequent communication with system users to determine specific feature expectations, resolution of conflict or ambiguity in requirements as demanded by the users.</p><p>In 2007, Gorschek and colleagues [<xref ref-type="bibr" rid="scirp.44682-ref11">11</xref>] indicated the importance of analysis in comparing incoming requirements to the production strategies of the organization. In the same year, Zagajsek and colleagues [<xref ref-type="bibr" rid="scirp.44682-ref12">12</xref>] proposed a requirement management process model for software based legacy systems. They mentioned that using incomplete requirement specification and adopting improper requirement management techniques are the main reason behind any failed project.</p><p>In 2008, Jiang [<xref ref-type="bibr" rid="scirp.44682-ref13">13</xref>] presented requirement engineering process as a research object by proposing a formal method for describing the processes. He also highlighted different tools and technologies that can be used during the requirement engineering process. In the same year, Cheng and Liu [<xref ref-type="bibr" rid="scirp.44682-ref14">14</xref>] presented a framework, which uses view-based requirement elicitation techniques to merge different viewpoints of the stakeholders. Also in this year, Mishra and colleagues [<xref ref-type="bibr" rid="scirp.44682-ref15">15</xref>] highlighted the importance of requirement engineering and indicated that the backbone for the project success is selecting the right technique.</p><p>In 2009, Berkovich and colleagues [<xref ref-type="bibr" rid="scirp.44682-ref16">16</xref>] wrote about requirement analysis, specifically about validation and verification and stakeholder integration in the development process. They explained that requirement validation and verification ARE the process of checking whether the requirements, as identified, do not contradict the expectations about the system of various stakeholders, and do not contradict each other. It is sort of a requirement quality control.</p><p>In 2010, Pandey and colleagues [<xref ref-type="bibr" rid="scirp.44682-ref17">17</xref>] emphasized that it is extremely important to execute planning phase independently to achieve an effective requirement management. In the same year, Pavanasam and colleagues [<xref ref-type="bibr" rid="scirp.44682-ref18">18</xref>] proposed a model for requirement inspection and stated that the requirements change management and requirement analysis phases play an important role in software development process.</p><p>In 2012, Torkar and colleagues [<xref ref-type="bibr" rid="scirp.44682-ref19">19</xref>] described how analysis can predict the impact of requirement change. Also in 2012, Gorschek and colleagues [<xref ref-type="bibr" rid="scirp.44682-ref20">20</xref>] have concluded that if analysis is performed, then implementation costs and resources can be estimated for requirement comparison and prioritization.</p><p>In 2013, Khan and colleagues [<xref ref-type="bibr" rid="scirp.44682-ref21">21</xref>] discussed software requirement issues and provided a review on how to manage them. They studied existing methodologies for resolving and managing software requirements.</p></sec><sec id="s3"><title>3. Requirement Analysis</title><p>Requirement analysis is an early stage in the more general activity of requirement engineering which encompasses all activities concerned with eliciting, analyzing, documenting, validating and managing software or system requirements [<xref ref-type="bibr" rid="scirp.44682-ref7">7</xref>] . These activities are described in the following sections.</p><sec id="s3_1"><title>3.1. Requirements</title><p>Requirements are actually customer’s statement of scope or interest. One peculiar aspect of human nature is that we fail to understand each other completely since the human communications are imprecise naturally. Requirement gathering is also a form of human communications in which an attempt is made to pass on complex ideas from one mind to another. Requirements are also a sparse form of communications, using simple written words to attempt for precision [<xref ref-type="bibr" rid="scirp.44682-ref22">22</xref>] . These requirements must be quantifiable, relevant and detailed. In software engineering, requirements could be divided into functional and non-functional requirements.</p></sec><sec id="s3_2"><title>3.2. Requirement Elicitation</title><p>Requirement elicitation is non-trivial because you can never be sure you get all requirements from the users by just asking them what the system should do. Requirement elicitation practices include interviews, questionnaires, user observation, workshops, brain storming, use cases, role playing and prototyping. Requirement elicitation is essential because it is the source of raw data about the problem domain [<xref ref-type="bibr" rid="scirp.44682-ref6">6</xref>] .</p></sec><sec id="s3_3"><title>3.3. Requirement Management</title><p>Requirement management is a continuous process throughout any project. Its purpose is to ensure that an organization documents verify and meet the needs and expectations of its users and internal or external stakeholders [<xref ref-type="bibr" rid="scirp.44682-ref9">9</xref>] .</p></sec><sec id="s3_4"><title>3.4. Requirement Change Control</title><p>A good process for managing change is essential. Lack of process change control leads to confusion and accordingly leads to bad quality products, overruns and overspends. Change control in requirement management is the process by which any needed changes to the requirement baseline are managed. Whether the change is big and complex or small and simple they still need to travel the same initial route into the change control process. With this in mind, it seems that change is inevitable and therefore a systematic way is needed to deal with it. To create awareness, this process should be agreed on and in place before the baseline is agreed upon.</p></sec><sec id="s3_5"><title>3.5. Requirement Validation &amp; Verification (V &amp; V)</title><p>V &amp; V phase is critical to successful system product development. It is necessary because the designers and implementers of computer based systems are human; who could make errors. These errors might result in undetected faults in delivered systems. Faults can result in dangerous failures causing loss of life, financial loss or property damage. The mission of V &amp; V is therefore to find and correct errors as early as possible in the development life cycle [<xref ref-type="bibr" rid="scirp.44682-ref8">8</xref>] [<xref ref-type="bibr" rid="scirp.44682-ref16">16</xref>] .</p></sec><sec id="s3_6"><title>3.6. Role of an Analyst</title><p>To understand the nature of the program(s) to be built, the analyst must understand the information domain for the software, as well as required function’s behavior, performance, and interface [<xref ref-type="bibr" rid="scirp.44682-ref11">11</xref>] . Analyst should ensure that the final system or product fits users’ needs [<xref ref-type="bibr" rid="scirp.44682-ref10">10</xref>] .</p></sec></sec><sec id="s4"><title>4. Requirement Verifier (ReqVerifier) Tool</title><p>The gap between stakeholders’ vision of the proposed solution and the analysts’ depiction of that solution is the cause of shortcomings in analysis. To narrow this gap, researchers were challenged to find a way to verify the requirement specifications against stakeholders’ expectations. As a step forward in this direction, the current author proposes the ReqVerifier tool, which is developed for this purpose. The intension of the current author is to make the design of the tool simple and straight forward.</p><p>The tool depends on three perspectives: 1) analyst perspective; 2) stakeholder perspective and 3) tester perspective. The testing team could use the ReqVerifier tool to test and verify the requirement specification prepared by the analysts against the results and feedback on the requirement specifications received by the stakeholders. The ReqVerifier tool offers three main processes in accordance to the three perspectives: 1) Manage analysts’ perspective; 2) Manage stakeholder perspective and 3) Manage tester perspective. These processes are further discussed below. Using this tool, the analysts, software developers and testers are expected to gain some knowledge about the product, which is to be developed. It could help them in making their discussion with the stakeholders more organized and focused.</p><sec id="s4_1"><title>4.1. Managing Analysts Perspectives</title><p>With respect to the analysts’ perspective, analysts use the ReqVerifier tool to prepare two types of tests. The first type is true or false statements about the system and its functional and non-functional specifications. The second type is a scenario based test. This test will introduce input values to a predefined process and the user is requested to input the value or the behavior of the system, which he expects the system should be able to do.</p><p>These tests are uploaded to and stored in the database of the ReqVerifier tool. Also, in this perspective, analysts prepare and store the expected answers of these tests. <xref ref-type="fig" rid="fig1">Figure 1</xref> shows the analysts workflow.</p></sec><sec id="s4_2"><title>4.2. Managing Stakeholders’ Perspective</title><p>With respect to this perspective, stakeholders download the two types of tests, which were prepared by the ana-</p><p>lysts and stored in the ReqVerifier database. For the first type of tests (e.g. True/False questions), the stakeholders provide the answers and store them in the ReqVerifier database. However, for the second type of tests (e.g. the Input Output Scenario test), the stakeholder could download the multiple input-process-output scenarios for verification. The stakeholder does a series of input-process-output scenarios pre-loaded by analysts. The stakeholder stores the answers in the ReqVerifier database. Stakeholders can also add extra feedbacks about the specifications of the test scenarios and extra concerns and observations about the desired and expected facilities, which were not specified or covered in the tests. This feedback is also stored in the ReqVerifier database. <xref ref-type="fig" rid="fig2">Figure 2</xref> demonstrates the workflow for the stakeholders.</p></sec><sec id="s4_3"><title>4.3. Managing Testers’ Perspective</title><p>With respect to the testers’ perspective, testers request the report from the Req Verifier tool. Once this request is received, the ReqVerifier tool compares the analysts’ expectations of the tests with the tests’ answers received from the stakeholders. It calculates a percentage out of the True Or False Specification Test of how well the stakeholder knows the system. This could give an indication of how well stakeholders’ requirements have been understood by the analysts. On the other hand, for the second type of the tests, the tool compares the output desired by the stakeholder in the Input Output Scenario with the analysts’ expectations entered by the analysts. The tool will compile a report about the comparisons’ results of the conducted tests. The tool compiles this result together with the stakeholders’ feedback as a report stored in the database of the tool for the testing team. The reports add the additional feedback from the stakeholder for the analysts to see. This comparison will show how close the analysts’ expectations were with the test answers of the stakeholders. This would also give an indication of how close the analysis was to what the users expected of the system. In addition, the users can add feedback about the system. <xref ref-type="fig" rid="fig3">Figure 3</xref> illustrates the workflow for the testers.</p></sec></sec><sec id="s5"><title>5. Conclusions and Future Work</title><p>All software requirements must be defined to develop high quality software. The basic technique used is requirement elicitation which is a critical part of the project and different techniques are required to determine the requirements. Fundamental way is to perform analysis in order to identify people, processes and different resources involved in the project. Every project should have been given an amount of analysis. Failure of a project is due to lack of some functional and non-functional requirements.</p><p>This paper attempted to study the requirement analysis phase and some of its related issues. The current author proposed the ReqVerifier tool as one effort of CASE to help the software engineering community to resolve or at least to reduce the conflicts that might occur between the software developers and the stakeholders. The tool helped in providing information in both sides to the software developers and the stakeholders as a cross check technique. This would eventually lead to the development of a quality software. Analysts, software developers and testers could view reports of the test cases’ results and stakeholders’ feedback to make conclusions about the specifications they had derived from the stakeholders’ requirements and how close they were from the stakeholders’ expectations.</p><p>As a future work, the author would like to enhance the tool to be able to: classify reports according to results, associate priority with test cases, represent tests as XML files derived from development itself and store them in the tool’s database and add specifications interrelations.</p></sec></body><back><ref-list><title>References</title><ref id="scirp.44682-ref1"><label>1</label><mixed-citation publication-type="book" xlink:type="simple">Saeed, S., Khawaja, F.M. and Mahmood, Z. (2012) A Review of Software Quality Methodologies. In: Alsmadi, I., Ed., Advanced Automated Software Testing: Frameworks for Refined Practice, Information Science Reference, Hershey, 129-150.</mixed-citation></ref><ref id="scirp.44682-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Alsmadi, I. and Saeed, S. (2013) A Software Development Process for Open Source and Open Competition Projects. International Journal of Business Information Systems, 12, 110-122. http://dx.doi.org/10.1504/IJBIS.2013.050662</mixed-citation></ref><ref id="scirp.44682-ref3"><label>3</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Beichter</surname><given-names> F.W.</given-names></name>,<name name-style="western"><surname> Herzog</surname><given-names> O. and Petzsch</given-names></name>,<name name-style="western"><surname> H. </surname><given-names>  </given-names></name>,<etal>et al</etal>. (<year>1994</year>)<article-title>SLAN-4 A Software Specification and Design Language</article-title><source> IEEE Transaction on Software Engineering</source><volume> 10</volume>,<fpage> 155</fpage>-<lpage>162</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref><ref id="scirp.44682-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Pressman, R. (2001) Software Engineering: A Practitioner’s Approach. McGraw-Hill, New York.</mixed-citation></ref><ref id="scirp.44682-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Christel, M. and Kang, K. (1992) Issues in Requirements Elicitation. Technical Report, CMU/SEI-92-TR-012, ESCTR-92-012.</mixed-citation></ref><ref id="scirp.44682-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Alfeche, R. (1997) Requirements Engineering: A Good Practice Guide. John Wiley &amp; Sons, Hoboken.</mixed-citation></ref><ref id="scirp.44682-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Kotonya, G. and Sommerville, I. (1998) Requirements Engineering: Processes and Techniques. John Wiley &amp; Sons, Chichester.</mixed-citation></ref><ref id="scirp.44682-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Wiegers, K.E. (2003) Software Requirements. 2nd Edition, Microsoft Press, Redmond.</mixed-citation></ref><ref id="scirp.44682-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Stellman, A. and Greene, J. (2005) Applied Software Project Management. O’REILLY, Sebastopol.</mixed-citation></ref><ref id="scirp.44682-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Abran, A. and Moore, J. (2005) Chapter 2: Software Requirements. John Wiley &amp; Sons, Hoboken.</mixed-citation></ref><ref id="scirp.44682-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Gorschek, T., Garre, P., Larsson, S. and Wohlin, C. (2007) Industry Evaluation of the Requirements Abstraction Model. Requirements Engineering Journal, 12, 163-190. http://dx.doi.org/10.1007/s00766-007-0047-z</mixed-citation></ref><ref id="scirp.44682-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Zagajsek, B. Separovic, K. and Car, Z. (2007) Requirements Management Process Model for Software Development Based on Legacy System Functionalities. 9th International Conference on Telecommunications (ConTEL 2007), Zagreb, 13-15 June 2007, 115-122.</mixed-citation></ref><ref id="scirp.44682-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Jiang, X. (2008) Modeling and Application of Requirements Engineering Process Metamodel. IEEE International Symposium on Knowledge Acquisition and Modeling Workshop (KAM Workshop, 2008). Wuhan, 21-22 December 2008, 998-1001.</mixed-citation></ref><ref id="scirp.44682-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Cheng, J. and Liu, Q. (2008) Using Stakeholder Analysis for Improving State Chart Merging in Software Requirement Management. The 9th International Conference for Young Computer Scientists (ICYCS, 2008), Beijing, 18-21 November 2008, 1217-1222,</mixed-citation></ref><ref id="scirp.44682-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">Mishra, D., Mishra, A. and Yazici, A. (2008) Successful Requirement Elicitation by Combining Requirement Engineering Techniques. International Conference on the Applications of Digital Information and Web Technologies (ICADIWT’08), Ostrava, 4-6 August 2008, 258-263.</mixed-citation></ref><ref id="scirp.44682-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Berkovich, M., Leimeister, J. and Krcmar, H. (2009) Suitability of Product Development Methods for Hybrid Products as Bundles of Classic Products, Software and Service Elements. Proceedings of the ASME 2009 International Design Engineering Technical Conferences &amp; Computers and Information in Engineering Conference. IDETC/CIE 2009, 30 August-2 September 2009, San Diego, 885-894.</mixed-citation></ref><ref id="scirp.44682-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Pandey, D., Suman, U. and Ramani, A. (2010) An Effective Requirement Engineering Process Model for Software Development and Requirements Management. International Conference on Advances in Recent Technologies in Communication and Computing (ARTCom, 2010), Kottayam, 16-17 October 2010, 287-291.</mixed-citation></ref><ref id="scirp.44682-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Pavanasam, V., Subramaniam, C., Srinivasan, T. and Jain, J. (2010) Membrane Computing Model for Software Requirement Engineering. 2nd International Conference on Computer and Network Technology (ICCNT), Chennai, 23-25 April 2010, 487-491.</mixed-citation></ref><ref id="scirp.44682-ref19"><label>19</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Torkar</surname><given-names> R.</given-names></name>,<name name-style="western"><surname> Gorschek</surname><given-names> T.</given-names></name>,<name name-style="western"><surname> Feldt</surname><given-names> R.</given-names></name>,<name name-style="western"><surname> Svahnberg</surname><given-names> M.</given-names></name>,<name name-style="western"><surname> Akbar Raja</surname><given-names> U. and Kamran</given-names></name>,<name name-style="western"><surname> K. </surname><given-names>  </given-names></name>,<etal>et al</etal>. (<year>2012</year>)<article-title>Requirements Traceability: A Systematic Review and Industry Case Study</article-title><source> IJSEKE</source><volume> 22</volume>,<fpage> 1</fpage>-<lpage>49</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref><ref id="scirp.44682-ref20"><label>20</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Gorschek</surname><given-names> T.</given-names></name>,<name name-style="western"><surname> Gomes</surname><given-names> A.</given-names></name>,<name name-style="western"><surname> Pettersson</surname><given-names> A. and Torkar</given-names></name>,<name name-style="western"><surname> R. </surname><given-names>  </given-names></name>,<etal>et al</etal>. (<year>2012</year>)<article-title>Introduction of a Process Maturity Model for Market-Driven Product Management and Requirements Engineering</article-title><source> Journal of Software: Evolution and Process</source><volume> 24</volume>,<fpage> 83</fpage>-<lpage>113</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref><ref id="scirp.44682-ref21"><label>21</label><mixed-citation publication-type="other" xlink:type="simple">Khan, M., Khalid, M. and Haq, S. (2013) Review of Requirements Management Issues in Software Development. International Journal of Modern Education and Computer Science.</mixed-citation></ref><ref id="scirp.44682-ref22"><label>22</label><mixed-citation publication-type="other" xlink:type="simple">Young, R. (2004) The Requirements Engineering Handbook. Artech house. Inc., Norwood.</mixed-citation></ref></ref-list></back></article>