Trends in Software Engineering a personal view - PowerPoint PPT Presentation

About This Presentation
Title:

Trends in Software Engineering a personal view

Description:

Component-Based Architectures. Originated 1967-70 at Ericsson. for real ... Function Distribution in Computer System Architectures, Harold 'Bud' Lawson (1976) ... – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 28
Provided by: chuckb87
Category:

less

Transcript and Presenter's Notes

Title: Trends in Software Engineering a personal view


1
Trends in Software Engineeringa personal view
  • Ivar Jacobson
  • Vice President e-Development
  • Rational Software Corporation
  • ivar_at_rational.com

2
Virtual Agenda
  • Yesterday
  • Today
  • Tomorrow
  • The best way to predict the future is to invent
    it!

3
The 1980 Letter to The CEO of Ericsson
Björn Svedberg
  • The component-based development approach used for
    AKE/AXE will evolve into a world standard
  • Go further in three steps
  • 1983 present a standard method including a
    modeling language like SDL, UML, a process
    like RUP supported by a first generation
    tool-set
  • 1985 the modeling language becomes a formal
    executable language like UML with action
    semantics
  • 1990 expert system support on top of process,
    language and tool talked about layman
    programming

4
Component-Based Architectures
  • Originated 1967-70 at Ericsson
  • for real-time, distributed systems
  • blocks a k o components,
  • design
  • code
  • executables
  • run-time objects
  • interfaces based on signals,
  • functions crossed blocks -- or realized as
    collaborations among blocks
  • Components have become the standard.
  • No new development paradigm to replace components
    in sight!

5
Modeling Languages -- a personal view
  • 1967-70 The AKE/AXE modeling language
  • block diagrams
  • collaboration diagrams
  • sequence diagrams
  • state transition diagrams (state overviews,
    activity diagrams, concurrent states)
  • 1974-82 the first object modeling standard SDL
    adopts those techniques
  • nicknamed The Ericsson Language
  • In parallel Entity-Relationship modeling emerged
  • 1987 Objectory modeling language combined SDL
    and ER technologies, added Use Cases and
    Multi-Modeling.
  • 1996 The Unified Modeling Language
  • based on Objectory, Booch and OMT from 1991
  • plus many other modeling ideas
  • The standard modeling language
  • UML 2.0 a major new release, followed by more...

6
Development Process -- a personal view
  • 1967-70 The AKE/AXE method
  • functional specs
  • software architecture description
  • functional descrs, block descriptions, separate
    from interface (signal) descriptions
  • functional tests and system test
  • 1987-95 The Objectory Process
  • engineered process to facilitate specializations
    and instantiations (projects)
  • use cases drive the business track, the system
    track and the user track
  • 1996-2000 The Rational Unified Process
  • iterative development
  • architecture-centric
  • tool support for process engineering and process
    instantiations
  • de-facto standard for e-development
  • Plus a process without integral tools is just an
    academic idea!

7
Future of Software
  • We have the standard modeling language
  • We have a standard development process
  • What next?
  • A Software Component Marketplace
  • Quality from the Beginning
  • Give Soul to Software Process
  • A Complete UML Based Software Platform

8
A Software Component Marketplace
  • A component industry including
  • Component factories provide components
  • System Integrators reuse these components
  • Components are component systems used to build
    families of application systems
  • We need a standard for playing on this
    marketplace
  • How to design for reuse
  • How to design with reuse
  • We have a standard language, we have a standard
    process and there are tools.
  • Nows the time!

9
Reuseable Assets
  • Reuse of all models, that is of everything
  • architecture -- most important but just a
    fraction of what is reusable
  • use cases, analysis, design, implementation and
    test
  • user interface models, business models, etc.
  • Reuse of technology
  • process with tools
  • projects
  • guidelines

10
The Reuse Initiative e-Development Accelerator
ReusableFrameworks
Technology or domain specific reusable assets
with associated guidelines on usage.
Reuse Standards
Open UML-based standard expressing how to
document and produce reusable assets.
Automation
Tool support for creating, managing, and reusing
software assets.
11
Layered System Architecture
Examples of reusable object
Car Sales Management
Application-specific layer
Customer profileOrder management
Application-general layer
Shopping cartCredit card authorization
Middleware layer
System-software layer
Object persistency mechanism
12
Quality from the Beginning
  • We have lost two generations of developers who
    think they just need to debug at the end, when
    they instead shouldnt introduce any defects
    along the way.
  • An attitude problem
  • bugs are nice, defects are bad
  • some developers make the dirt, others
    (customers) clean up
  • Process change
  • verify and test along the way -- activity-based
    verification
  • there is no test model, test artifacts are part
    of all models
  • New tools
  • generate test cases from requirements, analysis,
    design...

13
Activity-Based Verification
  • Whatever you do, you are not done until you have
    verified that you did what you wanted to do.
  • Introduce verification on activities
  • Each activity-artifact pair needs a Verification
    Case
  • Each Verification Case has a corresponding
    Verification Step
  • Test Cases are specializations of Verification
    Cases, related to the executable system

14
Software Process Comes Alive
  • Development steps
  • The process at your fingertips
  • The process gets soul
  • the third step 20 years ago
  • a software engineering breakthrough technology

15
The Process at Your Fingertips
Rational Unified Process (RUP)
Is specialized to
My Unified Process
Is enacted as
My Project
And to
My tasks
16
Process gets soul people may be humans
  • Traditional processes hold static rules and
    regulations, but lacks soul and adaptive
    capabilities. They appeal to structured
    reasoning, but not to the creative (lateral)
    spirit.

Structured Re-Invent Generic Long-Term Learn
Creative Reuse Streamlined and Personalized Short-
Term Do
17
Agents
  • Software Components, but
  • Autonomous
  • Pro-Active
  • Encapsulate Knowledge as Rules
  • Adaptive

Agent (in software)
18
Each Developer has its Own Personal Agent
Agent System
Personal Agent (for Joe)
Joe (Developer)
  • Individuals play roles in software development

www.jaczone.com
19
Every Role in RUP is Matched to One Agent
Agent System
Role Agent (for System Analyst)
System Analyst
www.jaczone.com
20
Personal Agents and Role Agents
Agent System
Role Agent (for System Analyst)
Joe (Developer)
Personal Agent (for Joe)
Role Agent (for Business-Process Analyst)
  • Since a developer can play many roles his/her
    personal agent may collaborate with several role
    agents

21
Specialist Agents
  • Rule agents
  • Reuse agents suggest candidate patterns,
    frameworks, etc
  • Workflow agents suggest micro-activities based on
    state
  • Conversation agents for conversational modeling
  • Model completion agents
  • Round-trip modeling agents between all kinds of
    models
  • Evaluation agents
  • Broker agents

www.jaczone.com
22
A Complete UML Based Platform
  • An executable UML
  • a programming language (or a set of PLs)
  • Java, C become superfluous
  • combines graphical and program-like syntax
  • Semantics of changes -- functional and structural
    -- defined by UML
  • language defined configuration and version
    management
  • Removing seams (or gaps) between UML and
  • operating systems and database mgmt systems
  • computer architectures

"Function Distribution in Computer System
Architectures, Harold Bud Lawson, 1976
23
Every Layer of Components described in UML
  • Systemware components
  • operating systems
  • database management systems
  • Middleware components
  • Customer relationship management
  • Content management
  • Change management
  • Application general components
  • Subscriber management
  • Digit analysis node
  • Route data

24
Trend Focus moves upwards
Analysis
Req.ts
Impl.
Test
Design
More generationwork elimination
Now
Tomorrow
  • Use cases generate test cases and input to
    analysis
  • Analysis will generate implementation design
    will become superfluous

25
Tomorrow, Life will be Much Better!
Summary
  • We have UML, RUP and tools
  • Eventually we will get a Component Industry
  • We will do things right from the beginning
  • Process will get soul -- developers are people
    and people are humans
  • We will get rid of seams and gaps between levels

26
Readings by Ivar Jacobson
  • Unified Software Development ProcessJacobson,
    Booch, Rumbaugh, Addison Wesley Longman (1999)
  • Object-Oriented Software Development--A Use Case
    Driven Approach (Addison Wesley)Ivar Jacobson,
    Addison Wesley Longman (1992)
  • The Object Advantage Business Process
    Reengineering with Objects (Addison Wesley)Ivar
    Jacobson, Addison Wesley Longman (1994)
  • Software Reuse Architecture, Process and
    Organization for Business Success (Addison
    Wesley) Ivar Jacobson, Addison Wesley Longman
    (1997)
  • The Road to the Unified Software Development
    Process Ivar Jacobson, Stefan Bylund, Cambridge
    University Press, 2000

27
Special readings
  • Software Reuse Architecture, Process and
    Organization for Business Success (Addison
    Wesley) Ivar Jacobson, Addison Wesley Longman
    (1997)
  • Function Distribution in Computer System
    Architectures, Harold Bud Lawson (1976)
Write a Comment
User Comments (0)
About PowerShow.com