Modeling and Simulating a Software Architecture Design Space
CARNEGIE-MELLON UNIV PITTSBURGH PA DEPT OF COMPUTER SCIENCE
Pagination or Media Count:
Frequently, a similar type of software system is used in the implementation of many different software applications. Databases are an example. Two software development approaches are common to fill the need for instances from a class of similar systems 1 repeated custom development of similar instances, one for each different application, or 2 development of one or more general purpose off the shelf systems that are used many times in the different applications. Each approach has advantages and disadvantages. Custom development can closely match the requirements of an application, but has an associated high development cost. General purpose systems may have a lower cost when amortized across multiple applications, but may not closely match the requirements of all the different applications. It can be difficult for application developers to determine which approach is best for their application. Do any of the existing off the shelf systems sufficiently satisfy the application requirements If so, which ones provide the best match Would a custom implementation be sufficiently better to justify the cost difference between an off the shelf solution These difficult buy versus build decisions are extremely important in todays fast-paced, competitive, unforgiving software application market. In this thesis we propose and study a software engineering approach for evaluating how well off-the-shelf and custom software architectures within the design space of a class of OODB systems satisfy the requirements for different applications. The approach is based on the ability to explicitly enumerate and represent the key dimensions of commonality and variability in the space of OODB designs.
- Computer Programming and Software