Grady Booch (born February 27, 1955) is an American
software engineer
Software engineering is a systematic engineering approach to software development.
A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term ''p ...
, best known for developing the
Unified Modeling Language
The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.
The creation of UML was originally m ...
(UML) with
Ivar Jacobson
Ivar Hjalmar Jacobson (born 1939) 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.
Biography
Ivar Jacobson w ...
and
James Rumbaugh
James E. Rumbaugh (born August 22, 1947) is an American computer scientist and object-oriented methodologistcollaborative development environment
A collaborative development environment (CDE) is an online meeting space where a software development project's stakeholders can work together, no matter what time zone or region they are in, to discuss, document, and produce project deliverables. ...
s.
Education
Booch earned his
bachelor's degree
A bachelor's degree (from Middle Latin ''baccalaureus'') or baccalaureate (from Modern Latin ''baccalaureatus'') is an undergraduate academic degree awarded by colleges and universities upon completion of a course of study lasting three to six ...
in 1977 from the
United States Air Force Academy
The United States Air Force Academy (USAFA) is a United States service academy in El Paso County, Colorado, immediately north of Colorado Springs. It educates cadets for service in the officer corps of the United States Air Force and Uni ...
and a
master's degree
A master's degree (from Latin ) is an academic degree awarded by universities or colleges upon completion of a course of study demonstrating mastery or a high-order overview of a specific field of study or area of professional practice.
in electrical engineering in 1979 from the
University of California, Santa Barbara
The University of California, Santa Barbara (UC Santa Barbara or UCSB) is a Public university, public Land-grant university, land-grant research university in Santa Barbara County, California, Santa Barbara, California with 23,196 undergraduate ...
.
Career and research
Booch worked at Vandenberg Air Force Base after he graduated. He started as a project engineer and later managed ground-support missions for the space shuttle and other projects. After he gained his master's degree he became an instructor at the Air Force Academy.
Booch served as Chief Scientist of Rational Software Corporation from its founding in 1981 through its acquisition by IBM in 2003, where he continued to work until March 2008. After this he became Chief Scientist, Software Engineering in IBM Research and series editor for
Benjamin Cummings
Benjamin Cummings is a publishing imprint of Pearson Education that specializes in science. Benjamin Cummings publishes medical textbooks, anatomy and physiology laboratory manuals, biology and microbiology textbooks, and health/kinesiology textb ...
.
Booch has devoted his life's work to improving the art and the science of software development. In the 1980s, he wrote one of the more popular books on programming in
Ada
Ada may refer to:
Places
Africa
* Ada Foah, a town in Ghana
* Ada (Ghana parliament constituency)
* Ada, Osun, a town in Nigeria
Asia
* Ada, Urmia, a village in West Azerbaijan Province, Iran
* Ada, Karaman, a village in Karaman Province, ...
. He is best known for developing the
Unified Modeling Language
The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.
The creation of UML was originally m ...
with
Ivar Jacobson
Ivar Hjalmar Jacobson (born 1939) 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.
Biography
Ivar Jacobson w ...
and
James Rumbaugh
James E. Rumbaugh (born August 22, 1947) is an American computer scientist and object-oriented methodologistIBM 1130
The IBM 1130 Computing System, introduced in 1965, was IBM's least expensive computer at that time. A binary 16-bit machine, it was marketed to price-sensitive, computing-intensive technical markets, like education and engineering, succeeding th ...
.
... I pounded the doors at the local IBM sales office until a salesman took pity on me. After we chatted for a while, he handed me a Fortran
anual
Annual may refer to:
*Annual publication, periodical publications appearing regularly once per year
**Yearbook
**Literary annual
*Annual plant
*Annual report
*Annual giving
*Annual, Morocco, a settlement in northeastern Morocco
*Annuals (band), a ...
I'm sure he gave it to me thinking, "I'll never hear from this kid again." I returned the following week saying, "This is really cool. I've read the whole thing and have written a small program. Where can I find a computer?" The fellow, to my delight, found me programming time on an IBM 1130 on weekends and late-evening hours. That was my first programming experience, and I must thank that anonymous IBM salesman for launching my career. Thank you, IBM.
Booch method
Booch developed the
Booch method
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.
The method was authored by Grady Booch wh ...
of software development, which he presents in his 1991/94 book, ''Object Oriented Analysis and Design With Applications''. He advises adding more classes to simplify complex code. The
Booch method
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.
The method was authored by Grady Booch wh ...
is a technique used in
software engineering
Software engineering is a systematic engineering approach to software development.
A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term '' ...
. It is an
object modeling language
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 define ...
and methodology that was widely used in
object-oriented analysis and design
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 proces ...
. It was developed by Booch while at
Rational Software
Rational Machines is an enterprise founded by Paul Levy and Mike Devlin in 1981 to provide tools to expand the use of modern software engineering practices, particularly explicit modular architecture and iterative development. It changed its ...
.
The notation aspect of the Booch method has now been superseded by the
Unified Modeling Language
The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.
The creation of UML was originally m ...
(UML), which features graphical elements from the Booch method along with elements from the
object-modeling technique
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 ...
(OMT) and
object-oriented software engineering
Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of pro ...
(OOSE).
Methodological aspects of the Booch method have been incorporated into several methodologies and processes, the primary such methodology being the
Rational Unified Process
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 proce ...
(RUP).
Design patterns
Booch is also an advocate of
design pattern
A design pattern is the re-usable form of a solution to a design problem. The idea was introduced by the architect Christopher Alexander and has been adapted for various other disciplines, particularly software engineering. The " Gang of Four" b ...
s. For instance, he wrote the
foreword
A foreword is a (usually short) piece of writing, sometimes placed at the beginning of a book or other piece of literature. Typically written by someone other than the primary author of the work, it often tells of some interaction between the ...
to ''
Design Patterns
''Design Patterns: Elements of Reusable Object-Oriented Software'' (1994) is a software engineering book describing software design patterns. The book was written by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, with a foreword ...
'', an early and highly influential book in the field.
IBM Research - Almaden
He now is part of
IBM Research - Almaden
IBM Research is the research and development division for IBM, an American multinational information technology company headquartered in Armonk, New York, with operations in over 170 countries. IBM Research is the largest industrial research or ...
, serving as Chief Scientist for Software Engineering, where he continues his work on the "Handbook of Software Architecture" and also leads several long-term projects in software engineering. Grady has served as architect and architectural mentor for numerous complex software-intensive systems around the world.
Publications
Grady Booch published several articles and books. A selection:
*''Software Engineering with
Ada
Ada may refer to:
Places
Africa
* Ada Foah, a town in Ghana
* Ada (Ghana parliament constituency)
* Ada, Osun, a town in Nigeria
Asia
* Ada, Urmia, a village in West Azerbaijan Province, Iran
* Ada, Karaman, a village in Karaman Province, ...
''.
*''Object Solutions: Managing the Object-Oriented Project''.
*''The Unified Software Development Process''. With
Ivar Jacobson
Ivar Hjalmar Jacobson (born 1939) 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.
Biography
Ivar Jacobson w ...
and
James Rumbaugh
James E. Rumbaugh (born August 22, 1947) is an American computer scientist and object-oriented methodologist
In 1995, Booch was inducted as a Fellow of the
Association for Computing Machinery
The Association for Computing Machinery (ACM) is a US-based international learned society for computing. It was founded in 1947 and is the world's largest scientific and educational computing society. The ACM is a non-profit professional member ...
. He was named an
IBM Fellow
An IBM Fellow is an appointed position at IBM made by IBM's CEO. Typically only four to nine (eleven in 2014) IBM Fellows are appointed each year, in May or June. Fellow is the highest honor a scientist, engineer, or programmer at IBM can achie ...
in 2003, soon after his entry into IBM, and assumed his current role on March 18, 2008. He was recognized as an
IEEE
The Institute of Electrical and Electronics Engineers (IEEE) is a 501(c)(3) professional association for electronic engineering and electrical engineering (and associated disciplines) with its corporate office in New York City and its operation ...
Fellow in 2010. In 2012, Booch was awarded the Lovelace Medal for 2012 by the British Computer Society and gave the 2013 Lovelace Lecture. He gave the Turing Lecture in 2007. He was awarded the IEEE Computer Society Computer Pioneer award in 2016 for his pioneering work in Object Modeling that led to the creation of the Unified Modeling Language (UML).