Framework development for large systems
Dirk Bäumer, Guido Gryczan, Rolf Knoll, Carola Lilienthal, Dirk Riehle, Heinz Züllighoven · Communications of the ACM · 1997
Experiences with successful large-scale industrial banking projects provide the basis for the concepts and techniques presented here.We have been designing and implementing software solutions for various application domains and by using object-oriented technology, frameworks now largely support the development of new applications.However, frameworks alone don't solve all the problems.The construction and use of frameworks is so highly complex that software developers are confronted with almost insurmountable difficulties (see [5]).In this article, we describe the problems encountered, and the concepts and techniques used to overcome them.The work reported here is based on a series of object-oriented software projects that were conducted at the RWG 1 [2, 3], a company providing software and computing services to a heterogeneous group of approximately 450 banks in southern Germany.The projects have produced a family of applications covering almost the entire area of banking: tellers, loans, stocks and investment departments as well as self-service facilities.The entire Gebos 2 system, including several frameworks, consists of 2,500 C++ classes and was developed over the past five years.Against this background, conclusions can be drawn about how to further develop, reuse, and adapt frameworks.The presented solution could be applied to any kind of graphic workplace system embedded in the context of human work.We begin by looking at the main problems encountered when designing large software systems.A large software system addresses and correlates the various tasks needed to run a business.It should be possible to configure and adapt the system to the requirements of individual workplaces in several different enterprises.This can only be achieved by