|
BRIEF BIOGRAPHY
Dr. Ivar Jacobson was born in Ystad,
Sweden, on Sep 2, 1939. Dr Jacobson got his Master of Electrical
Engineering at Chalmers Institute of Technology in Gothenburg
in 1962. He received his Ph.D. at the Royal Institute of Technology
in Stockholm in 1985 on a thesis on Language Constructs for
Large Real Time Systems. He was a visiting scientist at the
Functional Programming and Dataflow Architecture Group at MIT
in 1983-84. May 3, 2003 he was awarded the Gustaf Dalén Medal
by The Chalmers Alumni Association.
Ivar Jacobson founded the Swedish company, Objectory AB, which
merged with Rational Software Corp. in 1995. He departed recently
from Rational as an employee, but he is still an executive technical
consultant with the company. This relationship allows him to
pursue other ideas. One of them is symbolized by Jaczone AB,
a company he founded three years ago with his daughter, Agneta
Jacobson. Jaczone is implementing an old vision of Ivar’s –
to make the software process active instead of passive – by
using intelligent agents. |
CONTRIBUTIONS
Dr. Ivar Jacobson is a creator of modern software engineering practices.
He is one of a few individuals who have fundamentally changed the
way the software industry approaches software development today.
He makes no claim that, when he joined Ericsson Telecom in 1963
as a recent engineering graduate, such a thought was in his mind.
He was new; software development was a new field. He had to learn
to understand its problems the hard way; he had to work on the problems
he encountered in practice. Only gradually did the problems and
their solutions add up to the modern software development process.
- Component Architecture. The first task he encountered
was the substitution of software-controlled telephone switching
systems for the electromechanical switching systems then in use.
These systems had to be adaptable to the hundred countries to
which Ericsson sold this equipment; they were to last for decades.
Being adaptable meant software reuse. He realized that separate
building blocks—components—were the solution to this problem and
Ericsson started down this path in 1967. To model component interactions
he invented sequence diagrams; to model the components themselves,
he developed collaboration diagrams; he also applied state transition
diagrams for components with message semantics. Today, component-based
development using these technologies is standard practice.
- Modeling Languages. He realized early on that the software
process needed a means to make blueprints before the code itself
was written. To this end he was an original designer of SDL (Specification
Description Language), which evolved out of his component work
at Ericsson; in 1976 SDL was adopted as a standard by the telecommunication
community. In 1997 he was one of the three original designers
of the UML (Unified Modeling Language). UML has become a widely
used standard, taught at basically all software engineering classes
around the world. It is being used by close to every IT organization.
It is the basis for the new work on Model Driven Architecture
initiated by the Object Management Group.
- Use Cases and Use-Case Driven Development. At Ericsson
he also recognized the need for a means to specify functional
requirements and to drive user interface designs, architecture
design, analysis & design, and testing. For the first task,
specifying functional requirements, he invented use cases. For
the second, user interface design, etc., he provided use-case
driven development. Now use cases have been universally adopted
for not just software engineering, but also systems engineering
and business engineering.
- Software Process. These three conceptions, component architecture,
modeling languages, and use cases, cover a large portion of software
development, but in time he realized the need for process to cover
its entire course. This need was conceptualized in the 1980s as
the Objectory process for component-based software development.
This process, in turn, evolved in the late 1990s into the Unified
Process – productified under the name the Rational Unified Process.®
Unique among software processes, the Unified Process was engineered
to be adaptable to the vastly different conditions encountered
in different fields of software development. The Unified Process
can be configured, adapted, and right-sized to fit this variety
of environments.
Thus, out of the experience of nearly 40 years on the industrial
firing line, supplemented from time to time by theory tours in great
universities, Dr. Jacobson has contributed to nearly every phase
of software development. Of course, while theory is always important,
it is only in large-scale industry that one can “feel” the problems.
Still, formulating these practical insights into theoretical work
is a rare talent. It is one that Jacobson has demonstrated repeatedly.
He has described the connections between practical problem and
theoretical solution in a series of books:
BOOKS
Jacobson is the principal author of five leading books on use cases,
component-based development, software reuse, the unified process,
and business modeling. He is also a co-author on the two leading
books on the Unified Modeling Language.
- Jacobson et al, Object-Oriented Software Development--A Use
Case
Driven Approach (Addison Wesley), Addison Wesley Longman (1992),
(Winner of the Productivity Award 1994 from Software Development
magazine).
- Jacobson et al, The Object Advantage: Business Process Reengineering
with Objects (Addison Wesley), Addison Wesley Longman (1994),
- Ivar Jacobson, Martin Griss & Patrik Jonsson, Software
Reuse: Architecture, Process and Organization for Business Success
(Addison Wesley), Addison Wesley Longman (1997),
- Jacobson, Booch, Rumbaugh, The Unified Software Development
Process, Addison Wesley Longman (1999),
- Ivar Jacobson, Stefan Bylund, The Road to the Unified Software
Development Process, Cambridge University Press, 2000. (A collection
of papers)
and the UML books:
- Booch, Rumbaugh, Jacobson, The UML User Guide, Addison Wesley
Longman (1998),
- Rumbaugh, Jacobson, Booch, The UML Reference Manual, Addison
Wesley Longman (1999).
But this is not the end. Even now, his Swedish company, Jaczone,
is developing a new type of tool. It is an application of intelligent
agents to the software process. The current version is called WayPointer.
The general idea is that each developer gets what amounts to a software
assistant. That assistant is aware of every micro-step the developer
has taken and of the exact context of his work. The assistant recognizes
what the developer is trying to do, it identifies patterns of available
solutions, it suggests solutions, it applies the selected solution,
it verifies the chosen solution, and it reviews the work being done.
Today the software process is passive available only through things
like books-maybe web based but still books. This work makes process
active and assists the developer as needed. The process will become
invisible, yet very present.
He is working on this new type of tool because he believes it represents
a mega-trend in software. Today software is passive, just sitting
there, waiting for the user to take action to work on it. "Active"
software is able to recognize what the user is to do next; it is
able to teach him just that, at the time he needs it. |