Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Look up keyword
Like this
6Activity
0 of .
Results for:
No results containing your search query
P. 1
Analysis & Selection of Requirements Elicitation Techniques for OSSD

Analysis & Selection of Requirements Elicitation Techniques for OSSD

Ratings: (0)|Views: 228|Likes:
Published by ijcsis
Open Source Software development (OSSD) is unlike traditional software development in many aspects. Requirements elicitation is the most critical phase in software development as it is the basis for developing software. The requirements elicitation phase in OSSD is different from traditional software development process and somehow a difficult process as the developer is the only person that has to elicit the requirements and then make the software open for review from the user community. The users can add or modify the product according to their own needs and requirements. The focus of this paper is on the requirements elicitation phase and elicitation techniques for open source software development. In this paper, requirements elicitation phase model for OSSD is proposed as well as best suited requirements elicitation techniques for OSSD are discussed and a framework for choosing and comparing these techniques is developed and the selected techniques for OSS are analyzed in the context of the criteria mentioned in the framework. A formula is proposed using the framework and the proposed model for the
requirements elicitation process and selection of techniques for OSSD.
Open Source Software development (OSSD) is unlike traditional software development in many aspects. Requirements elicitation is the most critical phase in software development as it is the basis for developing software. The requirements elicitation phase in OSSD is different from traditional software development process and somehow a difficult process as the developer is the only person that has to elicit the requirements and then make the software open for review from the user community. The users can add or modify the product according to their own needs and requirements. The focus of this paper is on the requirements elicitation phase and elicitation techniques for open source software development. In this paper, requirements elicitation phase model for OSSD is proposed as well as best suited requirements elicitation techniques for OSSD are discussed and a framework for choosing and comparing these techniques is developed and the selected techniques for OSS are analyzed in the context of the criteria mentioned in the framework. A formula is proposed using the framework and the proposed model for the
requirements elicitation process and selection of techniques for OSSD.

More info:

Published by: ijcsis on Aug 19, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

12/13/2012

pdf

text

original

 
(IJCSIS) International Journal of Computer Science and Information Security,Vol. 10, No. 7, July 2012
Analysis & Selection of RequirementsElicitation Techniques for OSSD
Munazza Ishtiaq
#1
, Fareeha Choudhry
#2
, Fahim Ashraf Awan
#3
, Aasia Khanum
#4
 
#1, 2, 3, 4
 Department of Computer Engineering, College of Electrical & Mechanical Engineering National University of Sciences and Technology (NUST) Rawalpindi, Pakistan
1
munazza.ishtiaq@gmail.com
2
fareeha.choudhry@seecs.edu.pk 
3
fahimawan18@yahoo.com
4
aasia@ceme.nust.edu.pk 
 Abstract —
Open Source Software development (OSSD)is unlike traditional software development in manyaspects. Requirements elicitation is the most criticalphase in software development as it is the basis fordeveloping software. The requirements elicitation phasein OSSD is different from traditional softwaredevelopment process and somehow a difficult process asthe developer is the only person that has to elicit therequirements and then make the software open forreview from the user community. The users can add ormodify the product according to their own needs andrequirements. The focus of this paper is on therequirements elicitation phase and elicitationtechniques for open source software development. Inthis paper, requirements elicitation phase model forOSSD is proposed as well as best suited requirementselicitation techniques for OSSD are discussed and aframework for choosing and comparing thesetechniques is developed and the selected techniques forOSS are analyzed in the context of the criteriamentioned in the framework. A formula is proposedusing the framework and the proposed model for therequirements elicitation process and selection of techniques for OSSD
.
 Keywords
framework, OSSD, requirementselicitation process model, requirements elicitationtechniques, traditional software development
I.
 
INTRODUCTIONOpen source software development refers to aprogram or software in which programmers developsoftware and make it available to public for studying,modifying or changing the code under an open sourcesoftware license agreement. In this way the code isbeing improved by the public and becomes moreerror free as well as quality of software also getsbetter, then these changes are again shared with thepublic [1]. Open source software can be developedwhen there is a need for that software but itsrequirements are not clear or there is a room forsoftware improvement, so the developer developssoftware with some limited functionality and makes itpublic for the community to use it and modify thecode to improve software or add functionality to it.For developing a software product the first stepshould be planning about what is to be developed andhow it is to be developed. The next and most criticalstep in software development is requirementselicitation. Requirements elicitation is done to gatherthe requirements by interacting with the customers orsystem users for developing a project. It is the mostvital phase of software development. Requirementselicitation provides a developer with complete andconsistent set of requirements through which he/shecan develop the project. Many methods have beenproposed for requirements elicitation but still there isa need to develop a more comprehensive and stablemethod to develop a quality product. For OSSdevelopment requirements elicitation phase is carriedout by the developers themselves because the users of the product to be developed are not known at thattime. Even if OSS is developed for some projectedcommunity, it is complex to gather requirementsfrom the whole community. For OSS, requirementscontinue to evolve as community members discussand then reveal what they exactly want [2]. There is aneed to understand how to select a technique forgathering requirements for open source softwareprojects. This paper discusses the criteria forselecting an elicitation technique for OSSD bydefining a criteria framework and analyzes eachtechnique in the light of these criteria to judge which
12http://sites.google.com/site/ijcsis/ISSN 1947-5500
 
(IJCSIS) International Journal of Computer Science and Information Security,Vol. 10, No. 7, July 2012
technique is most appropriate for OSSD. This paperalso presents a rule for elicitation technique selectionusing the criteria discussed in framework and theproposed model for requirements elicitation processfor OSSD to provide the OSS developers a betterunderstanding of each technique as well as to helpthem choose an appropriate technique for theirproject.The organization of the paper is as follows: literaturereview is presented in Section II of the paper, sectionIII describes a brief introduction of OSS and OSSD,section IV describes the difference between classicaland OSS requirement engineering process, section Vdescribes the proposed framework for the selection of elicitation techniques. Section VI presents selectionof elicitation techniques for OSSD. Section VIIexplains the framework and proposed model in detail.Conclusion and Future work are provided in sectionVIII of the paper.II.
 
LITERATURE REVIEWOSS development has proved itself to be an effectiveand flourishing development but the problem withthis development is that there is no proper lifecyclemodel for building OSS products. The mostimportant phase of OSSD is to gather requirements asthe users of the OSS product are not known at thedevelopment time. The developer has to elicit therequirements by keeping in mind the users of theproduct. A lot of work has been done in OSSdevelopment field to study the requirementselicitation process. In [2] the author has studieddifferent OSSD communities and has described thatdeveloping requirements for OSS is a communitybuilding process that must be done by keeping theusers of a particular community in mind. Therequirements for OSSD continue to evolve and theauthor has provided a framework that depicts howOSS and their relevant communities are interlinkedwith each other. One of the success factors of OSSproducts is that the developers of the product are theusers of the product so they elicit the requirementsaccording to their own needs and based on their deepunderstanding [10]. In [9] the authors have discussedthat there is no proper documentation for OSSproducts instead the requirements are discussed overthe Internet through emails or blogs. Therequirements for OSSD are not elicited at thebeginning of the project rather they are clarified asthe development proceeds. A single developer thinksof an idea and starts the project based on his ownexperience [11]. In [3] the authors have presentedseveral requirements elicitation techniques which canbe helpful in OSSD which are: Discussion,introspection, questionnaire interview, protocolanalysis, discourse analysis, open ended interviews.III.
 
WHAT IS OSSD & OSS?OSSD stands for Open Source SoftwareDevelopment. It refers to such type of developmentin which the developers identifies a problem and triesto develop a product by eliciting requirementsthemselves and then developing the product. Theproduct along with the source code is freely availablefor use by the public and they can modify the code,add functionality and use it or redistribute itaccording to some defined policies. Apache casestudy [8] has differentiated between OSS andcommercial products. Differences are describedbelow:
 
OSS products are developed by volunteersnot by professional developers.
 
In OSSD tasks are not assigned to particularpersons instead volunteers carry out thedevelopment.
 
OSS does not have any design phase.
 
In OSSD, there is no planning, time or costscheduling nor any deliverables.Figure 1: Life cycle model for OSS development(source: Wikipedia)
13http://sites.google.com/site/ijcsis/ISSN 1947-5500
 
(IJCSIS) International Journal of Computer Science and Information Security,Vol. 10, No. 7, July 2012
Open Source Initiative (OSI) has identified severalterms and standards that the open source softwaremust fulfill [1]. These terms and standards arediscussed below1.
 
RedistributionOSS is freely available to everyone and it does notlimit any one from redistributing it without any cost.2.
 
Free Source CodeThe OSS program must contain the source code. If due to any reason the source code is not providedalong with OSS, then it should be possible to get itfrom some authorized source.3.
 
Derived Work The OSS source code should be freely available toeveryone for variations in code as well as to add anyrequired functionality. The product will be thenavailable to the public under the same licenseagreement.4.
 
No discrimination against usersOSS must not discriminate among people. It is freelyavailable to everyone and anyone can modify it andredistribute it according to the policies.5.
 
No discrimination against a specific fieldOSS can be used in any field of study and there is norestriction of its use in commerce, business, andresearch or any other field.6.
 
Distribution of LicenseOSS license is distributed among its users so thatthey can make changes to the code, add functionalityand then redistribute the code. Every person thatcontributes code to the OSS does it according to thepolicies described in the license.IV.
 
CLASSICAL VS. OSS REQUIREMENTENGINEERING PROCESSRequirements elicitation is defined as the process of gathering the requirements from the stakeholders orend users of the product. Fox C. defines the processof requirements elicitation as “the activity of determining stakeholder’s needs and desires for aproduct” [13]. Open source software development(OSSD) process is unlike traditional softwareengineering development process. OSSD is carriedout by some volunteers who find the need to developsome software and then make it public for the usersto review and modify it. Whereas the traditionalsoftware development process is carried out by someprofessional developers and it is developed for someparticular customers [12]. Therefore the requirementsphase of OSSD and traditional software developmentalso differs to some extent. Requirements phase is themost fundamental and complicated phase in softwaredevelopment, as stating what is needed becomescomplex for the clients. Classical requirementsengineering process includes Eliciting requirements,Modeling or specifying requirements, Analyzingrequirements, Validating requirements,Communicating requirements [2]. For open sourcesoftware development, requirements phase can bedivided into sub phases which include requirementselicitation or more specifically it can be called asrequirements assertion from the open sourcecommunity using different techniques available,analyzing those requirements to remove duplicates,ambiguity and inconsistencies. After analyzing,requirements are again altered to maintainconsistency among them and to include or excluderequirements; these requirements are then finalized.Figure 2: Proposed Requirements Elicitation Phase inOSSDRequirements elicitation phase in OSS developmentrequires identifying the stakeholders of the product,their goals and expectations. For this purposetechnique like introspection, questionnaires,discussions, open ended interviews are most suitableas they can be easily implemented but all thesetechniques have their own merits and demerits.
14http://sites.google.com/site/ijcsis/ISSN 1947-5500

Activity (6)

You've already reviewed this. Edit your review.
1 hundred reads
Daud Gill liked this
Daud Gill liked this
Mariam Wasif liked this
martin@1971 liked this
Munazza Ishtiaq liked this

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->