Grady Booch#Booch method

{{short description|American software engineer|bot=PearBOT 5}}

{{Infobox scientist

| name =

| native_name =

| native_name_lang =

| image = Grady Booch, CHM 2011 2 cropped.jpg

| image_size =

| alt =

| caption = Grady Booch in 2011

| birth_date = {{birth date and age|1955|02|27}}

| birth_place = Amarillo, Texas, U.S.

| death_date =

| death_place =

| resting_place =

| resting_place_coordinates =

| other_names =

| residence =

| citizenship =

| nationality =

| fields =

| workplaces = {{Plainlist|

| patrons =

| education = U.S. Air Force Academy (B.S.)
University of California, Santa Barbara (M.S.)

| thesis_title =

| thesis_url =

| thesis_year =

| doctoral_advisor =

| academic_advisors =

| doctoral_students =

| notable_students =

| known_for = {{Plainlist|

| influences =

| influenced =

| awards = {{Plainlist|

| signature =

| signature_alt =

| website = {{URL|1=http://researcher.watson.ibm.com/researcher/view.php?person=us-gbooch}}

| footnotes =

| spouse =

| children =

| honorific_prefix =

| honorific_suffix =

| death_cause =

| partner =

}}

Grady Booch (born February 27, 1955) 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.{{Cite web|url=https://se-radio.net/index.php?post_id=183380|title=Software Engineering Radio – The Podcast for Professional Software Developers|website=se-radio.net}}{{cite web|url=http://video.yahoo.com/video/play?vid=577305 |title="The Promise, The Limits, The Beauty of Software" talk at Yahoo! |url-status=dead |archive-url=https://web.archive.org/web/20070601175423/http://video.yahoo.com/video/play?vid=577305 |archive-date=2007-06-01 }}{{cite web |url=http://domino.research.ibm.com/comm/research.nsf/pages/r.plansoft.grady.booch.html |title=There is joy in software. Podcast|date=9 May 2008 }}{{cite web |url=http://www.computer.org/portal/web/computingnow/onarchitecture |title=Grady Booch On Architecture podcast series |access-date=2010-08-05 |archive-url=https://web.archive.org/web/20180803014315/https://www.computer.org/portal/web/computingnow/onarchitecture |archive-date=2018-08-03 |url-status=dead }}

Education

Booch earned his bachelor's degree in 1977 from the United States Air Force Academy and a master's degree in electrical engineering in 1979 from the University of California, Santa Barbara.{{cite web|url=http://www.ddj.com/java/197801612|title=Dr. Dobb's Excellence in Programming Award|date=2007-03-09|first=Michael|last=Swaine|author-link=Michael Swaine (technical author)|publisher= Dr. Dobb's Journal}}

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.{{cite web |last1=Murphy |first1=Kieron |title=Grady Booch: A man of methods |url=https://www.developer.com/java/other/article.php/607781 |website=developer.com |access-date=13 August 2020 |archive-date=10 March 2003 |archive-url=https://web.archive.org/web/20030310055420/https://www.developer.com/java/other/article.php/607781 |url-status=dead }}

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.

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. He is best known for developing the Unified Modeling Language with Ivar Jacobson and James Rumbaugh in the 1990s.

=IBM 1130=

Booch got his first exposure to programming on an IBM 1130.{{cite web | url=http://www-106.ibm.com/developerworks/library/i-booch/ | title=Quote from interview: Grady Booch polishes his crystal ball | first=Grady |last=Booch | date=2003-04-03 | publisher=IBM |access-date=2007-01-16}}

... 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 [manual]. 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=

File:Booch-diagram.png

Booch developed the 'Booch method' of software development, which he presents in his 1991/94 book, Object Oriented Analysis and Design With Applications.{{cite book| first = Grady| last = Booch| author-link = Grady Booch| year = 1993| title = Object-oriented Analysis and Design with Applications| edition = 2nd| location = Redwood City| publisher = Benjamin Cummings| isbn = 0-8053-5340-2| url = https://archive.org/details/objectorientedan00booc}} The method was authored by Booch when he was working for Rational Software (acquired by IBM), published in 1992 and revised in 1994.

The method is composed of an object modeling language,{{cite book|last=Booch|first=Grady|title=Object-Oriented Analysis and Design with Applications|year=1994|publisher=Addison-Wesley|isbn=0-8053-5340-2|chapter=Chapter 5:Notation|edition=2nd |url=https://archive.org/details/objectorientedan00booc}} an iterative object-oriented development process,{{cite book |last=Booch |first=Grady |url=https://archive.org/details/objectorientedan00booc |title=Object-Oriented Analysis and Design with Applications |publisher=Addison-Wesley |year=1994 |isbn=0-8053-5340-2 |edition=2nd |chapter=Chapter 6:The process}} and a set of recommended practices.{{cite book |last=Booch |first=Grady |url=https://archive.org/details/objectorientedan00booc |title=Object-Oriented Analysis and Design with Applications |publisher=Addison-Wesley |year=1994 |isbn=0-8053-5340-2 |edition=2nd |chapter=Chapter 7:Pragmatics}} The recommended practices include adding more classes to simplify complex code. The methodology was widely used in software engineering for object-oriented analysis and design and benefited from ample documentation and support tools.{{cite book| first = Robert Cecil| last = Martin| author-link = Robert Cecil Martin| year = 1995| title = Designing Object-Oriented C++ Applications using the Booch Method| publisher = Prentice-Hall| isbn = 0-13-203837-4| url = https://archive.org/details/designingobjecto00mart}}

The Booch notation is characterized by cloud shapes to represent classes and distinguishes the following diagrams:

class="wikitable"
ModelTypeDiagramUML correspondence
LogicalStaticClass diagramClass diagram
Object diagramObject diagram
DynamicState transition diagramState chart diagram
Interaction diagramSequence diagram
PhysicalStaticModule diagramComponent diagram
Process diagramDeployment diagram

The process is organized around a macro and a micro process.

The macro process identifies the following activities cycle:

  • Conceptualization : establish core requirements
  • Analysis : develop a model of the desired behavior
  • Design : create an architecture
  • Evolution: for the implementation
  • Maintenance : for evolution after the delivery

The micro process is applied to new classes, structures or behaviors that emerge during the macro process. It is made of the following cycle:

  • Identification of classes and objects
  • Identification of their semantics
  • Identification of their relationships
  • Specification of their interfaces and implementation

The notation aspect of the Booch method has now been superseded by the Unified Modeling Language (UML), which features graphical elements from the Booch method along with elements from the object-modeling technique (OMT) and object-oriented software engineering (OOSE).

Methodological aspects of the Booch method have been incorporated into several methodologies and processes, the primary such methodology being the Rational Unified Process (RUP).

=Design patterns=

Booch is also an advocate of design patterns. For instance, he wrote the foreword to Design Patterns, an early and highly influential book in the field.

=IBM Research - Almaden=

He now is part of IBM Research - Almaden, 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:

{{div col|colwidth=35em}}

  • Software Engineering with Ada.Benjamin/Cummings (1983) {{ISBN|0-8053-0604-8}}.
  • Object Solutions: Managing the Object-Oriented Project.Pearson Education (1995) {{ISBN|0-8053-0594-7}}.
  • The Unified Software Development Process. With Ivar Jacobson and James Rumbaugh.Prentice Hall (1999) {{ISBN|978-0-201-57169-1}}.
  • The Complete UML Training Course. With James Rumbaugh and Ivar Jacobson.Prentice Hall (2000) {{ISBN|0-13-087014-5}}.
  • The Unified Modeling Language Reference Manual, Second Edition. With James Rumbaugh and Ivar Jacobson.Addison-Wesley (2004) {{ISBN|978-0-321-24562-5}}.
  • The Unified Modeling Language User Guide, Second Edition. With James Rumbaugh and Ivar Jacobson.Addison-Wesley (2005) {{ISBN|978-0-321-26797-9}}.
  • Object-Oriented Analysis and Design with Applications.Addison-Wesley (2007) {{ISBN|0-201-89551-X}}.

{{div col end}}

Awards and honors

File:GradyBoochAtIEEETechIgnite2017.jpg's first TechIgnite conference]]

In 1995, Booch was inducted as a Fellow of the Association for Computing Machinery.{{cite web |url=http://fellows.acm.org/fellow_citation.cfm?id=2030153&srt=all |title=ACM: Fellows Award / Grady Booch |publisher=Fellows.acm.org |access-date=2013-03-19 |url-status=dead |archive-url=https://web.archive.org/web/20120527041404/http://fellows.acm.org/fellow_citation.cfm?id=2030153&srt=all |archive-date=2012-05-27 }} He was named an IBM Fellow in 2003, soon after his entry into IBM, and assumed his current role on March 18, 2008. He was recognized as an IEEE Fellow in 2010.{{cite web |url=http://www.ieee.org/membership_services/membership/fellows/chronology/fellows_2010.html |title=Fellow Class of 2010 |publisher=IEEE |access-date=2013-03-19 |url-status=dead |archive-url=https://web.archive.org/web/20130516075924/http://www.ieee.org/membership_services/membership/fellows/chronology/fellows_2010.html |archive-date=2013-05-16 }} In 2012, Booch was awarded the Lovelace Medal for 2012 by the British Computer Society{{cite web |url = http://www.bcs.org/content/conWebDoc/45240 |archive-url=https://web.archive.org/web/20150923183348/http://www.bcs.org/content/conWebDoc/45240 |archive-date=2015-09-23 |title = Grady Booch presented with BCS Lovelace Medal |publisher = BCS |date = 29 May 2012 |access-date= 11 December 2013 }} and gave the 2013 Lovelace Lecture.{{Cite web |url=https://www.bcs.org/articles-opinion-and-research/trends-in-programming/ |title=Trends in programming |quote=Grady Booch, who gave 2013’s BCS Lovelace Lecture, has, ... |publisher=BCS}} 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).{{Cite web|url=https://www.computer.org/profiles/grady-booch/|title=Grady Booch {{!}} IEEE Computer Society|date=11 April 2018 |language=en-US|access-date=2019-06-06}}

References

{{Reflist|35em}}