Font Size: a A A

Research On Automatic Construction Of Goal Requirement Model Based On Natural Language Processing In Agile Development

Posted on:2024-04-06Degree:MasterType:Thesis
Country:ChinaCandidate:C WuFull Text:PDF
GTID:2568307142466224Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
In the process of the software development,developers make plans and design features based on the software requirements.Numerous experiences in the past that was either delayed or failed in software projects have shown that without effective communication and understanding between developers and clients/users,it would be challenging to produce software products that truly cater to user needs.The success of a software project hinges on genuinely discovering and comprehending the goals and requirements of clients and users.To understand clients’ and users’ goals and requirements,continuous communication is essential.In the traditional waterfall software development approach,the development team,initially conducts face-to-face requirements gathering and negotiations with users or clients.This leads to the creation of requirement specification documents.Subsequently,the software development team creates the software according to these specifications,resulting in a product delivered to clients and users.However,if the needs of clients,users,or other stakeholders change after the requirements gathering phase,this waterfall model software development approach struggles to adapt to the evolving requirements.Agile software development is an iterative process model that emphasizes flexibility.Unlike the waterfall process,agile requirements development does not rely on extensive software requirement specifications to define and guide implementation.Instead,it adopts lighter documents and models,such as user story documents and use case models,to establish an initial understanding of the requirements.Based on these preliminary documents,the process iteratively uncovers the "actual user requirements."In agile development,user stories are frequently employed to articulate requirements.User stories concentrate on system functionality requirements from the user’s perspective,typically encompassing the stakeholder’s role,the desired system functionality,and the rationale behind the necessity for that functionality.Each user story represents a relatively independent requirement,allowing stakeholders to write them individually based on their specific business needs.Different stakeholders propose multiple user story requirements,which are then consolidated,and their priorities determined through negotiation and discussion.Developers schedule development iterations according to the priority of these requirements.As software scale and complexity continue to expand,the number of user stories increases accordingly,posing challenges for stakeholders in negotiating,discussing,and integrating these stories.To better comprehend user stories,various methods are employed for organization and analysis,such as user story mapping,priority ranking,and goal models.Goal modeling,a prevalent requirements modeling technique,views "goals" as the foundation and driving force behind software requirements.Goals serve as the primary clue for eliciting requirements,guiding providers to construct system goals and/or trees through decomposition,refinement,and abstraction.Goal modeling offers a representational structure and a top-down requirements analysis approach,aiding in organizing fragmented and scattered requirement information into an easily understandable hierarchical format.This thesis aims to clarify user stories and their interrelationships within agile projects,enabling continuous analysis of user story changes.It focuses on identifying goal model elements from user stories and representing them as goal models.It employs natural language processing technology to identify entities such as goals,intents,and qualities expressed in user stories;uses a BERT-based similarity calculation model to identify and merge similar entities;adopts a rule-based approach to discover relationships between entities;and ultimately combines entities and relationships to generate a goal model.We conducted two sets of experiments in this study.First,we analyzed the effectiveness of the fine-tuning BERT-based entities identification and merging in user stories.Second,we assessed the performance of our proposed method in generating goal models from real user story datasets.Experimental results demonstrate that our approach achieved favorable outcomes across five datasets,providing an efficient solution for automatically constructing goal models from user stories.
Keywords/Search Tags:Agile development, User stories, Goal model, Natural language processing, iStar model
PDF Full Text Request
Related items