Font Size: a A A

Methods For Component Supplier Assignment And Component Selection Problems In Component-based Software Development

Posted on:2011-03-28Degree:DoctorType:Dissertation
Country:ChinaCandidate:L F MuFull Text:PDF
GTID:1118360302977418Subject:Systems Engineering
Abstract/Summary:PDF Full Text Request
With rapid development of software industries, to develop quickly high quality software products meet requirements of enterprise customers, and make software systems flexible and adjustable with variations of business requirements and procedures in enterprise customers, component-based software development (CBSD) is introduced in the scenario. CBSD represents a paradigm of "reuse instead of reinventing the wheel", and shifts the emphasis on software development from building systems from scratchs to reusing and assembling of ready-made components. Taking advantage of CBSD, large-sized software systems can be accomplished with lower cost and shorter time.With development of CBSD, a large amount of components rush into mature component markets. Therefore, in the community of component-based software engineering (CBSE), it becomes an important decision making problem how to select appropriate components and assemble them into the final high quality systems.Various kinds of organizations play different roles and are separately responsible of special works in the time cycle of component-based software products. To take advantage of professional techniques of component suppliers, instead of implementing software products by themselves, software enterprises involve component suppliers into software development. In this environment, how to assign component suppliers design and development tasks according to their abilities is a significant problem.In academic world, most of researches of CBSD, which were conducted by using computer science and technology, mainly focused on the topic of the specific implementation of CBSD by now. However, as for component supplier assignment problem and component selection problems, the methods of management science and operations research are more qualified than computer science technology. Therefore, mathematic methods are introduced to define and describe objectively attributions of components (compatibility, reusability, the constituents of cost, etc.) and information of component suppliers (development ability, development time cycle, etc.), basing on these measures, the optimization model are proposed to assist software engineers in making decisions.According to guideline mentioned above, the background of this thesis is located on CBSD. Basing on analysis of the present situation of component-based software industries, theories and methods of optimization are adopted to research some basic and important problems of component supplier assignment and component selection in CBSD. The major research results of the thesis include six aspects as follows:1) A literature review of optimization researches in CBSD is conducted. Background and circumstance of supplier assignment problem and component selection problems are analyzed system; the current pattern of the software component market is summarized briefly, and distinct organizaions in the market and relationships among them are clarified concisely; Basing on concluding literatures about optimization problems during the process of CBSD, software development involved by component suppliers and component selection problem are classified and summarized systemically.2) Under the background of component suppliers involving software product design and development, considering fuzziness of supplier's information, fuzzy methodology is employed to describe supplier's key criteria (development ability, cost, time cycle), Quality Function Deployment (QFD) also is introduced into CBSD process, A fuzzy multi-objective planning model is proposed to assist the software developer to assign the component suppliers tasks of design and development.3) Under the background that a software developer utilizes component developed in-house to accomplish development of a software product, and the software developer uses white-box method to reuse components into the final product, an optimization model, which considers component compatibility and cost constituent simultaneously, is proposed to help the software developer to select components. In the model, the modified either-or constraints are employed to express compatibility constraints among components. Several experiments are conducted to observe influences of key parameters on the objective value, and discuss management implication of the proposed model.4) A component selection problem, which is under the background that a software developer undertakes multiple development tasks, is characterize by adopting black-box method to reuse commercial components in software product. Aim to solving the problem, an optimization model is proposed to assist software developers in selecting components. The objective of the proposed model is to minimize the total development cost of all software products, and the component compatibility (all components in the same software system should be compatible with each other) also is considered in the proposed model. Management implication is uncovered by conducting experiments.5) The Service-Oriented Architecture (SOA) is introduced, and comparison between SOA and CBSD is made. Under the condition where SOA techniques are utilized to implement a enterprise information system, and assuming that the design plan of Service Module already has been made, an optimization model, which considers substitute sets of components and achieving loose coupling and tight cohesion of the total system, is proposed to help software developers to select and assemble components into Service Modules. According to attributions of the problem, a GA algorithm is designed, and an example is used to explain the usability of the proposed model.6) Basing on the work of Part. 5, considering that SOA techniques are utilized to achieve an enterprise information system, and assuming that the design plan of Service Module has been made already, a multi-objective optimization model is proposed to minimize coupling, maximize cohesion of individual Service Modules and minimize the total cost of the system. The proposed model can be used to help software developers to select and group components into Service Modules. SPEA2 (Improving the Strength Pareto Evolutionary Algorithm) is customized to solve the proposed model, and an example is introduced to illustrate how to use the model to make a decision.
Keywords/Search Tags:Component-based Software Development, Service-Oriented Architecture, Component Selection Problem, Component Supplier Assignment Problem, Multi-objective Evolutionary Algorithm, Service Module Design
PDF Full Text Request
Related items