Lessons learned from the OS/400 OO project

  title={Lessons learned from the OS/400 OO project},
  author={W. Berg and M. Cline and M. Girou},
  journal={Commun. ACM},
This article describes some of the lessons learned when a team of 150 developers with a minimal prior exposure to object-oriented (OO) technology undertook a large development project. Team members became proficient in OO design, using C++ as an OO language rather than just using C++ as a better C, and developed IBM's RISC version of the AS/400 and System/36 operating systems from 1992 to 1994 in Rochester, Minnesota. The project contains 14,000 thousand classes, 90,000 thousand methods, and 2… Expand
Surveying object technology usage and benefits: A test of conventional wisdom
It is found that many vendor-touted benefits are upheld by professionals using these tools, yet not always to the extent predicted, and the techniques were harder to learn than expected and do not give a novice an anticipated edge in acquiring professional expertise. Expand
Introducing the object-oriented paradigm in a medium size software development company
The process of introducing the Object-Oriented approach to a medium size software development company as well as the experience gained through this transition are described. Expand
The pros and cons of adopting and applying design patterns in the real world
This sidebar shows project managers and object-oriented (OO) designers some of the organizational as well as technical issues that come up when design patterns are introduced into a software production shop. Expand
Experience report: using design patterns in the development of JB system
Some uses of design patterns are introduced in the design of theJBOO system (a key subsystem of the JB system), then the experience of using design patterns is described and some points that should be paid attention to are described. Expand
An industry analysis of developer beliefs about object-oriented systems development
This study examines a wide variety of specific beliefs about OOSD as provided by a survey of 150 systems developers to determine which specific beliefs are indeed salient indicators of three fundamental concepts that should influence acceptance: the usefulness of O OSD, social pressure to use OOSd, and the ease of using OOSS. Expand
The abstraction-first approach to encouraging reuse
The case is argued for re-ordering a traditional data structures and algorithms course, using an object-oriented language, so that it starts from abstraction and reuse, and postpones coding from scratch as far as possible. Expand
Profile-Directed Restructuring of Operating System Code
This work demonstrates how a profiling system can be successfully used to restructure the components of an operating system for improved overall performance, while preserving maintainability of the operating system in the customer's environment. Expand
Teaching Java backwards
This paper takes the idea of abstraction-first teaching a step further, by using Bloom's Taxonomy to design a course to present factual content early, followed by higher-level cognitive skills, successful in relatively rapidly bringing a class doing a ''bridging'' diploma up to the level required for dealing with a second-year course. Expand
The object is in other words an entity that is clearly delimited from its environment, although objects of course have contact with the environment, and at runtime an object-oriented information system can usually be seen as a network of communicating objects, which cooperate to achieve the overall functionality of the information system. Expand
Managing Object-Oriented Software Development
This issue covers the many ways that 00 complicates the project manager’s role in such areas as planning, staffing, training, scheduling, cost estimation, documentation, development, legacy systems, and metrics, as shown in Figure 1. Expand


Object-oriented development at Brooklyn Union Gas
It is shown that CRIS-II's implementation in a Smalltalk-like execution environment with object-oriented features lessened coupling between components, compared with other object systems. Expand
C++ Programming Language
Bjarne Stroustrup makes C even more accessible to those new to the language, while adding advanced information and techniques that even expert C programmers will find invaluable. Expand
Using Annotated C
This paper shows how A++ provides arbitrarily fine granularity to the C++ type system, how it automates and streamlines exception testing,How it can aid in standardization of software components, and how it can safely remove redundant exception tests. Expand
The notion of inheritance in object-oriented programming
An object-oriented view (OOV) of inheritance is proposed that replaces the term “class,” “subclass” and “superclass�” with “object type,’ “extension type’ and ‘base type” respectively, respectively, and turns out to be a more complex issue on deeper reflection. Expand
The Behavior of C++ Classes
the current lexical scope doesn't have privileged access to the type T of the quantied variable, the annotation is a client of object v, so v is automatically constrained to be coherent (andExpand
Transition to object-oriented software development
A TRANSITION FRAMEWORK Transition Planning planning and project management activities Effective Development Planning Dealing with Culture Change and Object-Oriented Software Products Integrating Software Documentation Appendices Index. Expand
Object-Oriented Experiences. SIGS Books
  • Object-Oriented Experiences. SIGS Books
  • 1996
Object-oriented experiences
Object Lessons. SIGS Books
  • Object Lessons. SIGS Books
  • 1993
The C++ programming language (2nd ed.)