Font Size: a A A

Requirements Engineering And Software Product Line A Number Of Key Technologies

Posted on:2008-06-13Degree:DoctorType:Dissertation
Country:ChinaCandidate:Y Q LiFull Text:PDF
GTID:1118360215984435Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Software product line engineering is a systematic approach to realize large scale software reuse. Software product line engineering includes domain engineering and application engineering. Requirements engineering in turn is the primary as well as a very important phase of domain analysis. Domain requirements are fundamental for software reuse and are the products of domain analysis. Software product lines deal with reusable assets across a domain by exploring domain requirements commonality and variability, so domain requirements is very important role in software product line engineering.The paper mainly researches influence on software product line development by domain requirements engineering. It includes domain elicitation and analysis, analysis and management of requirements dependencies, influence on product line core assets by requirements dependencies, modeling and management of variability of software product lines, and requirements traceability in product lines. Domain requirements' influence on all phases of a product line is related together, in order to represent domain requirements in all phases of product lines and guide development of product lines effectively.To start with, this paper presents an approach to elicit and analyze domain requirements based on ontology. Using the subjective decomposition method, a problem domain is decomposed into several sub-problem domains. The top-down refinement method is used to refine each sub-problem domain into primitive requirements, which are specified using an ontology definition. Not only are domain commonality, variability and qualities presented, but reasoning logic is used as well, to detect and handle incompleteness and inconsistency in domain requirements.Domain requirements dependencies have very strong influence on all development phases of member products in a product line. Taking aim at the fact that requirements dependencies in software product lines are limited in question area and domain modeling is limited in modeling with requirements dependencies, this paper presents a feature oriented approach to manage domain requirements dependencies. A requirements dependencies model is presented, and a directed graph-based approach is developed to analyze domain requirements dependencies for effective configuration of member products in a product line. This approach uses a simpler directed graph, and gives an effective algorithm to get a set of requirements for a member product.Based on a feature dependencies classification as defined above, mapping rules from requirements to features and mapping rules from features to architecture are developed to decrease inconsistencies between assets and increase reuse in a product line. This approach validates whether consistencies between product line assets are coincidental with those between requirements based on mapping rules. This approach supports easy generation of product line architecture from domain requirements, and keeps consistencies between product line assets along with those between domain requirements.The paper researches variability of software product lines. The paper gives a meta-model of variability, and how to manage variability based on this meta-model. By managing dependencies between a separated variability model and product line artifacts, consistency between variability and other artifacts is guaranteed.Finally, a requirement trace model, and forward and backward trace algorithms are given to manage requirements implementation and requirements change in different phases of product line.In order to illustrate practicability of key technologies, the paper uses a case of 'spot and future transaction system' to analyze and design.The paper concludes and points out future development and potential research direction.
Keywords/Search Tags:software product line, requirements engineering, software reuse, requirements elicitation, requirements refinement, requirements analysis, ontology, domain requirements dependencies, feature oriented, managing requirements dependencies, architecture
PDF Full Text Request
Related items