Ivar Jacobson

Last updated
Ivar Jacobson
Ivar Jacobson (4759834031).jpg
Born (1939-09-02) September 2, 1939 (age 84)
Nationality Swedish, American
Alma mater Chalmers Institute of Technology in Gothenburg, Royal Institute of Technology in Stockholm
Known forcomponents and component architecture, use-cases and use-case driven development, SDL, a major contributor to UML, Objectory, RUP, aspect-oriented software development, SEMAT, Essence
Scientific career
Fields Electrical Engineering, Computer Science, Software Engineering
Institutions Ericsson, Objective Systems, Rational Software, IBM, Ivar Jacobson International

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

Contents

Biography

Ivar Jacobson was born in Ystad, Sweden, on September 2, 1939. He received his Master of Electrical Engineering degree at Chalmers Institute of Technology in Gothenburg in 1962. After his work at Ericsson, he formalized the language and method he had been working on in his PhD at the Royal Institute of Technology in Stockholm in 1985 on the thesis Language Constructs for Large Real Time Systems.[ citation needed ]

After his master's degree, Jacobson joined Ericsson and worked in R&D on computerized switching systems AKE [1] and AXE including PLEX. After his PhD thesis in April 1987, he started Objective Systems with Ericsson as a major customer. A majority stake of the company was acquired by Ericsson in 1991, and the company was renamed Objectory AB. Jacobson developed the software method Object-Oriented Software Engineering (OOSE) published 1992, which was a simplified version of the commercial software process Objectory (short for Object Factory).

In October, 1995, Ericsson divested Objectory to Rational Software [2] and Jacobson started working with Grady Booch and James Rumbaugh, known collectively as the Three Amigos.

When IBM bought Rational in 2003, Jacobson decided to leave, after he stayed on until May 2004 as an executive technical consultant.

In mid-2003 Jacobson formed Ivar Jacobson International (IJI) [3] which operates across three continents with offices in the UK, the US, Sweden, Switzerland, China, and Singapore.

Work

Ericsson

In 1967 at Ericsson, Jacobson proposed the use of software components in the new generation of software controlled telephone switches Ericsson was developing. In doing this he invented sequence diagrams, and developed collaboration diagrams. He also used state transition diagrams to describe the message flows between components.[ citation needed ]

Jacobson saw a need for blueprints for software development. He was one of the original developers of the Specification and Design Language (SDL). [4] In 1976, SDL became a standard in the telecoms industry. [5]

At Objectory he also invented use cases as a way to specify functional software requirements. [6] [7]

Rational Software

At Rational, Jacobson and his friends, Grady Booch and James Rumbaugh, designed the UML and his Objectory Process evolved to become the Rational Unified Process under the leadership of Philippe Kruchten. [7]

Essential Unified Process

In November 2005, Jacobson announced the Essential Unified Process or “EssUP” for short. EssUP was a new “Practice”-centric[ clarification needed ] software development process derived from established software development practices. It integrated practices sourced from three different process camps: the unified process camp, the agile software development camp and the process improvement camp. Each one of them contributed different capabilities: structure, agility and process improvement.

Ivar has described EssUP as a "super light and agile" RUP.[ citation needed ] IJI[ who? ] have integrated EssUP into Microsoft Visual Studio Team System and Eclipse.[ citation needed ]

EssWork

Standing on the experience of EssUP Ivar and his team, in particular Ian Spence and Pan Wei Ng, developed EssWork starting in 2006. EssWork is a framework for working with methods. It is based on a kernel of universal elements always prevalent in software development endeavors. On top of the kernel some fifteen practices have been defined. A team can create their own method by composing practices.

SEMAT and Essence

In November 2009, Jacobson, Bertrand Meyer and Richard Soley ("the Troika") started an initiative called SEMAT (Software Engineering Method and Theory) to seek to develop a rigorous, theoretically basis for software engineering practice, and to promote its wide adoption by industry and academia. SEMAT has been inspired by the work at IJI, but with a fresh new start. Essence, an OMG standard since November 2014, is the end result. [8] Methods are seen by Essence as combining software engineering and development techniques. It seeks to make it possible to separate practices from methods, making it easier for them to be combined and reused to create methods that are best suited to the situation. [9]

Publications

Jacobson has published several books and articles, [10] a selection:

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> Object modeling approach for software modeling

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.

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

A stereotype is one of three types of extensibility mechanisms in the Unified Modeling Language (UML), the other two being tags and constraints. They allow designers to extend the vocabulary of UML in order to create new model elements, derived from existing ones, but that have specific properties that are suitable for a particular domain or otherwise specialized usage. The nomenclature is derived from the original meaning of stereotype, used in printing. For example, when modeling a network you might need to have symbols for representing routers and hubs. By using stereotyped nodes you can make these things appear as primitive building blocks.

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.

Objectory Systems was a software company based in Sweden that was instrumental in the development of Object-oriented program design. Founded in 1987 by Ivar Jacobson, the company developed Objectory, an object-oriented development method which was an extension of what is known as the Ericsson Approach, a modeling language developed at Ericsson. This language featured state charts with activity diagrams, as well as sequence diagrams.

<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">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.

SEMAT is an initiative to reshape software engineering such that software engineering qualifies as a rigorous discipline. The initiative was launched in December 2009 by Ivar Jacobson, Bertrand Meyer, and Richard Soley with a call for action statement and a vision statement. The initiative was envisioned as a multi-year effort for bridging the gap between the developer community and the academic community and for creating a community giving value to the whole software community.

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 programming that structures the classes composing high-level object-oriented source code according to their responsibilities in the use-case realization.

References

  1. "The Ericsson story - Ericsson". 18 August 2016.
  2. DBMS Interview - October 1996 Archived 2008-05-09 at the Wayback Machine
  3. "Home". ivarjacobson.com.
  4. Møller-Pedersen, Birger (2010-10-18). "Scandinavian Contributions to Object-Oriented Modeling Languages". History of Nordic Computing 3. IFIP Advances in Information and Communication Technology. Vol. AICT-350. Springer. pp. 339–349. doi: 10.1007/978-3-642-23315-9_38 . ISBN   978-3-642-23314-2.
  5. Rockstrom, A.; Saracco, R. (1982). "SDL--CCITT Specification and Description Language" . IEEE Transactions on Communications. 30 (6): 1310–1318. doi:10.1109/TCOM.1982.1095599. ISSN   0096-2244. S2CID   14451600.
  6. Object-oriented development in an industrial environment | Conference proceedings on Object-oriented programming systems, languages and applications. Oopsla '87. December 1987. pp. 183–191. doi:10.1145/38807.38824. ISBN   9780897912471 . Retrieved 2020-08-10.{{cite book}}: |website= ignored (help)
  7. 1 2 The unified software development process. Jacobson, Ivar., Booch, Grady., Rumbaugh, Jim. Reading, Massachusetts: Addison-Wesley. 1999. pp. xx–xxvi. ISBN   0-201-57169-2. OCLC   636807532.{{cite book}}: CS1 maint: others (link)
  8. "About the Essence Specification Version 1.2". www.omg.org. Retrieved 2020-08-10.
  9. Ivar Jacobson International; Jacobson, Ivar; Lawson, Harold "Bud"; Ng, Pan-Wei; McMahon, Paul E.; Goedicke, Michael (2019). "Essentializing practices". The Essentials of Modern Software Engineering: Free the Practices from the Method Prisons!. Association for Computing Machinery. pp. 31–81. doi:10.1145/3277669.3277694. ISBN   978-1-947487-27-7. S2CID   243575665.
  10. Ivar Jacobson at DBLP Bibliography Server OOjs UI icon edit-ltr-progressive.svg