James Rumbaugh

Last updated

James E. Rumbaugh (born August 22, 1947) is an American computer scientist and object-oriented methodologist [1] who is best known for his work in creating the Object Modeling Technique (OMT) and the Unified Modeling Language (UML).

Contents

Biography

Born in Bethlehem, Pennsylvania, Rumbaugh received a B.S. in physics from the Massachusetts Institute of Technology (MIT), an M.S. in astronomy from the California Institute of Technology (Caltech), and received a Ph.D. in computer science from MIT under Professor Jack Dennis. [1]

Rumbaugh started his career in the 1960s at Digital Equipment Corporation (DEC) as a lead research scientist. From 1968 to 1994 he worked at the General Electric Research and Development Center developing technology, teaching, and consulting. At General Electric he also led the development of Object-modeling technique (OMT), an object modeling language for software modeling and designing.

In 1994, he joined Rational Software, where he worked with Ivar Jacobson and Grady Booch ("the Three Amigos") to develop Unified Modeling Language (UML). Later they merged their software development methologies, OMT, OOSE and Booch into the Rational Unified Process (RUP). In 2003 he moved to IBM, after its acquisition of Rational Software. He retired in 2006. [1]

He has two grown up children and (in 2009) lived in Saratoga, California with his wife. [2]

Work

Rumbaugh's main research interests are formal description languages, "semantics of computation, tools for programming productivity, and applications using complex algorithms and data structures". [1]

In his graduate work at MIT, Rumbaugh contributed to the development of data flow computer architecture. His thesis described parallel programming language, parallel processor computer and a basis for a network architecture, which orients itself at data flow. [3] Rumbaugh made further contributions to Object Modeling Technique, IDEF4, the Rational Unified Process and Unified Modeling Language.

Publications

Rumbaugh has written a number of books about UML and RUP together with Ivar Jacobson and Grady Booch. A selection includes:

Related Research Articles

<span class="mw-page-title-main">Booch method</span>

The Booch method is a method for object-oriented software development. It is composed of an object modeling language, an iterative object-oriented development process, and a set of recommended practices.

<span class="mw-page-title-main">Object-modeling language</span> Component in software development

An object-modeling language is a standardized set of symbols used to model a software system using an object-oriented framework. The symbols can be either informal or formal ranging from predefined graphical templates to formal object models defined by grammars and specifications.

<span class="mw-page-title-main">Unified Modeling Language</span> Software system design modeling tool

The unified modeling language (UML) is a general-purpose visual modeling language that is intended to provide a standard way to visualize the design of a system.

<span class="mw-page-title-main">Object-modeling technique</span>

The object-modeling technique (OMT) is an object modeling approach for software modeling and designing. It was developed around 1991 by Rumbaugh, Blaha, Premerlani, Eddy and Lorensen as a method to develop object-oriented systems and to support object-oriented programming. OMT describes object model or static structure of the system.

The rational unified process (RUP) is an iterative software development process framework created by the Rational Software Corporation, a division of IBM since 2003. RUP is not a single concrete prescriptive process, but rather an adaptable process framework, intended to be tailored by the development organizations and software project teams that will select the elements of the process that are appropriate for their needs. RUP is a specific implementation of the Unified Process.

In software and systems engineering, the phrase use case is a polyseme with two senses:

  1. A usage scenario for a piece of software; often used in the plural to suggest situations where a piece of software may be useful.
  2. A potential scenario in which a system receives an external request and responds to it.
<span class="mw-page-title-main">Grady Booch</span> American software engineer

Grady Booch is an American software engineer, best known for developing the Unified Modeling Language (UML) with Ivar Jacobson and James Rumbaugh. He is recognized internationally for his innovative work in software architecture, software engineering, and collaborative development environments.

<span class="mw-page-title-main">Computer-aided software engineering</span> Software Quality Engineering Practices

Computer-aided software engineering (CASE) was a domain of software tools used to design and implement applications. CASE tools were similar to and were partly inspired by Computer-Aided Design (CAD) tools used for designing hardware products. CASE tools were intended to help develop high-quality, defect-free, and maintainable software. CASE software was often associated with methods for the development of information systems together with automated tools that could be used in the software development process.

<span class="mw-page-title-main">Ivar Jacobson</span>

Ivar Hjalmar Jacobson is a Swedish computer scientist and software engineer, known as major contributor to UML, Objectory, Rational Unified Process (RUP), aspect-oriented software development and Essence.

The Shlaer–Mellor method, also known as object-oriented systems analysis (OOSA) or object-oriented analysis (OOA) is an object-oriented software development methodology introduced by Sally Shlaer and Stephen Mellor in 1988. The method makes the documented analysis so precise that it is possible to implement the analysis model directly by translation to the target architecture, rather than by elaborating model changes through a series of more platform-specific models. In the new millennium the Shlaer–Mellor method has migrated to the UML notation, becoming Executable UML.

Object-oriented analysis and design (OOAD) is a technical approach for analyzing and designing an application, system, or business by applying object-oriented programming, as well as using visual modeling throughout the software development process to guide stakeholder communication and product quality.

UML Partners was a consortium of system integrators and vendors convened in 1996 to specify the Unified Modeling Language (UML). Initially the consortium was led by Grady Booch, Ivar Jacobson, and James Rumbaugh of Rational Software. The UML Partners' UML 1.0 specification draft was proposed to the Object Management Group (OMG) in January 1997. During the same month the UML Partners formed a Semantics Task Force, chaired by Cris Kobryn, to finalize the semantics of the specification and integrate it with other standardization efforts. The result of this work, UML 1.1, was submitted to the OMG in August 1997 and adopted by the OMG in November 1997.

Model-driven engineering (MDE) is a software development methodology that focuses on creating and exploiting domain models, which are conceptual models of all the topics related to a specific problem. Hence, it highlights and aims at abstract representations of the knowledge and activities that govern a particular application domain, rather than the computing concepts.

<span class="mw-page-title-main">Unified Process</span> Object oriented software development process framework

The unified software development process or unified process is an iterative and incremental software development process framework. The best-known and extensively documented refinement of the unified process is the rational unified process (RUP). Other examples are OpenUP and agile unified process.

Metadata modeling is a type of metamodeling used in software engineering and systems engineering for the analysis and construction of models applicable to and useful for some predefined class of problems.

<span class="mw-page-title-main">Rational Software Modeler</span> Unified Modeling Language design tool

Rational Software Modeler (RSM), made by IBM's Rational Software division, is a Unified Modeling Language (UML) 2.0-based visual modeling and design tool. Rational Software Modeler is based on the Eclipse open-source software framework and is used for visual modeling and model-driven development (MDD) with UML for creating applications and web services. IBM ceased marketing Rational Software Modeler in 2010 and ended support for it in 2015. Much of the same functionality is now available through Rational Software Architect.

<span class="mw-page-title-main">RUP hump</span>

A RUP ‘hump’ is a plot of effort spent over time during a particular Rational Unified Process (RUP) discipline. The RUP hump chart consists of a collection of humps for all RUP disciplines. This diagram was created in 1993 during a workshop on architecture and process and was inspired by work by Grady Booch and Boehm. It has been part of the Rational Objectory Process after reviews by Dyrhage and Bylund and moved on to play a more important role in the RUP in 1998 when it served as the initial page for using the digital version of the process. Its final form was published by Philippe Kruchten in 1998. An older version as later used by Jacobson, Booch and Rumbaugh and an altered version was used by Royce.

Information technology architecture is the process of development of methodical information technology specifications, models and guidelines, using a variety of information technology notations, for example Unified Modeling Language (UML), within a coherent information technology architecture framework, following formal and informal information technology solution, enterprise, and infrastructure architecture processes. These processes have been developed in the past few decades in response to the requirement for a coherent, consistent approach to delivery of information technology capabilities. They have been developed by information technology product vendors and independent consultancies, such as for example the Open Group, based on real experiences in the information technology marketplace and collaboration amongst industry stakeholders. Best practice information technology architecture encourages the use of open technology standards and global technology interoperability. Information technology architecture can also be called a high-level map or plan of the information assets in an organization, including the physical design of the building that holds the hardware.

<span class="mw-page-title-main">Applications of UML</span>

UML is a modeling language used by software developers. UML can be used to develop diagrams and provide users (programmers) with ready-to-use, expressive modeling examples. Some UML tools generate program language code from UML. UML can be used for modeling a system independent of a platform language. UML is a graphical language for visualizing, specifying, constructing, and documenting information about software-intensive systems. UML gives a standard way to write a system model, covering conceptual ideas. With an understanding of modeling, the use and application of UML can make the software development process more efficient.

The entity-control-boundary (ECB), or entity-boundary-control (EBC), or boundary-control-entity (BCE) is an architectural pattern used in use-case driven object-oriented software design that structures the classes composing a software according to their responsibilities in the use-case realization.

References

  1. 1 2 3 4 Biography on InformIT Accessed 22 Jan 2010.
  2. Masterminds of Programming: Conversations with the Creators of Major ... - Federico Biancuzzi, Chromatic - Google Books Retrieved 2016-12-12.
  3. James E. Rumbaugh (1975) A Parallel Asynchronous Computer Architecture For Data Flow Programs.