Font Size: a A A

Optimization problems in the development and maintenance of software systems

Posted on:2015-02-05Degree:Ph.DType:Dissertation
University:The University of Texas at DallasCandidate:Xia, HaoFull Text:PDF
GTID:1478390017993079Subject:Business Administration
Abstract/Summary:
This dissertation studies two optimization problems that arise in the development and maintenance of software systems.;The first essay develops a role refinement scheme that reconstructs a system of roles to reduce the cost of role management in Role-Based Access Control Systems, e.g., enterprise resource planning (ERP) systems. Given the dynamic nature of organizations, a fixed set of roles cannot usually meet the demands that users have to conduct business. To cope with this problem, a typical response is to myopically create new roles to meet immediate demand that cannot be satisfied by an existing set of roles. This ad-hoc creation of roles invariably leads to a proliferation in the number of roles and a corresponding increase in the accompanying administrative overhead. We first show that the role refinement problem is strongly NP-hard and then provide two polynomial-time approximation algorithms (a greedy algorithm and a randomized rounding algorithm) and establish their performance guarantees. Finally, numerical experiments - based on a real data set from a firm's ERP system - are conducted to demonstrate the applicability and performance of our refinement scheme. This essay is adapted from a journal article accepted for publication by INFORMS Journal on Computing..;The second essay investigates optimal coordination policies in distributed software development (DSD). Coordination in DSD exists both within one sub-team and across different sub-teams. The latter type of coordination involves communication across spatial boundaries and possibly temporal boundaries, and is a major challenge that DSD faces. We model both inter- and intra-sub-team coordination in DSD based on the characteristics of the subsystems, the deadline for completion, and the nature of division with respect to development and integration activities. Our analysis shows that integration activities by one sub-team not only benefit that sub-team (as is the case in co-located development) but can also help the other sub-teams, thus resulting in a higher integration frequency as compared to collocated development. Analytical results are presented to demonstrate how various project characteristics and team properties affect coordination and productivity. We also investigate the pros and cons of using specialized integration sub-teams. Decentralized decisions and asymmetric subsystems are briefly discussed.
Keywords/Search Tags:Development, Systems, Software, DSD, Integration
Related items