Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Grady Booch
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{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|Amarillo]], [[Texas]], U.S. | death_date = <!--{{death date and age |YYYY|MM|DD |YYYY|MM|DD}} (death date then birth date)--> | death_place = | resting_place = | resting_place_coordinates = <!--{{coord|LAT|LONG|type:landmark|display=inline,title}}--> | other_names = | residence = | citizenship = | nationality = | fields = | workplaces = {{Plainlist| * [[IBM]] * [[Rational Software]]}} | patrons = | education = [[U.S. Air Force Academy]] <small>([[B.S.]])</small><br/>[[University of California, Santa Barbara]] <small>([[M.S.]])</small> | thesis_title = <!--(or | thesis1_title = and | thesis2_title = )--> | thesis_url = <!--(or | thesis1_url = and | thesis2_url = )--> | thesis_year = <!--(or | thesis1_year = and | thesis2_year = )--> | doctoral_advisor = <!--(or | doctoral_advisors = )--> | academic_advisors = | doctoral_students = | notable_students = | known_for = {{Plainlist| * [[Booch method]] * [[Unified Modeling Language]]}} | influences = | influenced = | awards = {{Plainlist| * [[BCS Lovelace Medal]] (2012) * [[IBM Fellow]] (2003)}} | signature = <!--(filename only)--> | signature_alt = | website = {{URL|1=http://researcher.watson.ibm.com/researcher/view.php?person=us-gbooch}} | footnotes = | spouse = <!--(or | spouses = )--> | children = | honorific_prefix = | honorific_suffix = | death_cause = | partner = <!--(or | partners = )--> }} '''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 environment]]s.<ref>{{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}}</ref><ref>{{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 }}</ref><ref>{{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 }}</ref><ref>{{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 }}</ref> ==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]].<ref>{{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}}</ref> ==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.<ref>{{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 }}</ref> 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 (programming language)|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]].<ref>{{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}}</ref> <blockquote>... 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.</blockquote> ===Booch method=== [[File:Booch-diagram.png|thumb|250px|Class diagram]] Booch developed the '''<nowiki/>'Booch method'''' of software development, which he presents in his 1991/94 book, ''Object Oriented Analysis and Design With Applications''.<ref name="book">{{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}}</ref> 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]],<ref>{{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}}</ref> an iterative object-oriented development process,<ref name="auto">{{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}}</ref> and a set of recommended practices.<ref name="auto1">{{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}}</ref> 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.<ref>{{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}}</ref> The Booch notation is characterized by cloud shapes to represent classes and distinguishes the following diagrams: {| class="wikitable" |- ! Model !! Type !! Diagram !! UML correspondence |- | Logical || Static || Class diagram || [[Class diagram]] |- | || || Object diagram || [[Object diagram]] |- | || Dynamic || State transition diagram || [[State diagram (UML)|State chart diagram]] |- | || || Interaction diagram || [[Sequence diagram]] |- | Physical || Static || Module diagram || [[Component diagram]] |- | || || Process diagram || [[Deployment diagram]] |} The process is organized around a macro and a micro process.<ref name="book" /> 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 pattern (computer science)|design pattern]]s. 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 (programming language)|Ada]]''.<ref>Benjamin/Cummings (1983) {{ISBN|0-8053-0604-8}}.</ref> *''Object Solutions: Managing the Object-Oriented Project''.<ref>Pearson Education (1995) {{ISBN|0-8053-0594-7}}.</ref> *''The Unified Software Development Process''. With [[Ivar Jacobson]] and [[James Rumbaugh]].<ref>Prentice Hall (1999) {{ISBN|978-0-201-57169-1}}.</ref> *''The Complete UML Training Course''. With James Rumbaugh and Ivar Jacobson.<ref>Prentice Hall (2000) {{ISBN|0-13-087014-5}}.</ref> *''The Unified Modeling Language Reference Manual, Second Edition''. With James Rumbaugh and Ivar Jacobson.<ref>Addison-Wesley (2004) {{ISBN|978-0-321-24562-5}}.</ref> *''The Unified Modeling Language User Guide, Second Edition''. With James Rumbaugh and Ivar Jacobson.<ref>Addison-Wesley (2005) {{ISBN|978-0-321-26797-9}}.</ref> *''Object-Oriented Analysis and Design with Applications''.<ref>Addison-Wesley (2007) {{ISBN|0-201-89551-X}}.</ref> {{div col end}} ==Awards and honors== [[File:GradyBoochAtIEEETechIgnite2017.jpg|thumb|Booch at the [[IEEE Computer Society]]'s first TechIgnite conference]] In 1995, Booch was inducted as a Fellow of the [[Association for Computing Machinery]].<ref>{{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 }}</ref> 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.<ref>{{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 }}</ref> In 2012, Booch was awarded the [[Lovelace Medal]] for 2012 by the [[British Computer Society]]<ref>{{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 }}</ref> and gave the 2013 Lovelace Lecture.<ref>{{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}}</ref> 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).<ref>{{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}}</ref> ==References== {{Reflist|35em}} ==External links== *{{Commons category-inline}} *{{Wikiquote-inline}} *[https://web.archive.org/web/20110826152434/http://salmosa.kaist.ac.kr/BoochReferenz/class.html Class diagrams], [https://web.archive.org/web/20110826153244/http://salmosa.kaist.ac.kr/BoochReferenz/object.html Object diagrams], [https://web.archive.org/web/20110826153701/http://salmosa.kaist.ac.kr/BoochReferenz/state.html State Event diagrams] and [https://web.archive.org/web/20110826152945/http://salmosa.kaist.ac.kr/BoochReferenz/module.html Module diagrams]. * [https://web.archive.org/web/20201106234107/https://www.slac.stanford.edu/BFROOT/www/doc/workbook_kiwi/coding/booch/method.html The Booch Method of Object-Oriented Analysis & Design] {{Software engineering}} {{UML}} {{Authority control}} {{DEFAULTSORT:Booch, Grady}} [[Category:1955 births]] [[Category:Ada (programming language)]] [[Category:American computer scientists]] [[Category:1995 fellows of the Association for Computing Machinery]] [[Category:IBM employees]] [[Category:Living people]] [[Category:American software engineers]] [[Category:Unified Modeling Language]] [[Category:United States Air Force Academy alumni]] [[Category:University of California, Santa Barbara alumni]] [[Category:Fellows of the IEEE]] [[Category:IBM Fellows]] [[Category:IBM Research computer scientists]] [[Category:Open source advocates]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Authority control
(
edit
)
Template:Cite book
(
edit
)
Template:Cite web
(
edit
)
Template:Commons category-inline
(
edit
)
Template:Div col
(
edit
)
Template:Div col end
(
edit
)
Template:ISBN
(
edit
)
Template:Infobox scientist
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Software engineering
(
edit
)
Template:UML
(
edit
)
Template:Wikiquote-inline
(
edit
)