An Integrated Approach to Software Redocumentation Based

Download Report

Transcript An Integrated Approach to Software Redocumentation Based

Software Engineering Method and Theory
Capturing the Essence of Software Engineering
– A Reflection on Semat Initiative
Shihong Huang
[email protected]
Dept. of Computer & Electrical Engineering and Computer Science
Florida Atlantic University
Spring/Summer Young Researchers’ Colloquium
on Software Engineering
May 12-13, 2011 Yekaterinburg Russia
Florida Atlantic University on the Map
Florida Atlantic
University
SYRCoSE May 12-13, 2011
2
Florida Atlantic University
Florida: A Different Map
SYRCoSE May 12-13, 2011
3
Florida Atlantic University
Outline





Motivation of Semat – the Grant Vision
The basis for Semat
The concept of method, practices and kernel
Current status
Get involved
SYRCoSE May 12-13, 2011
4
Florida Atlantic University
Motivation




Software community has developed software for over
five the past five decades
Applications of software has generated enormous
impact on both our society and our lives
However, have we advanced our own discipline over
these years?
 improve the way we develop software
SYRCoSE May 12-13, 2011
5
Florida Atlantic University
The buzz words of software development







OO development – 50 years ago
Components, UML, Unified Process – 10 years ago
RUP and CMMI – 5 years ago
XP – a few years ago
Scrum – recent years
Kanban – now “the talk in town”
And more …
SYRCoSE May 12-13, 2011
6
Florida Atlantic University
SPEM
SOA
Web Services
Coudsilver bullet?
What will be the next
EDA
Computering
CMMI
SYRCoSE May 12-13, 2011
7
Florida Atlantic University
The concerns and challenges


Software engineering is gravely hampered today by
immature practices.
Specific problems include:





The prevalence of fads more typical of fashion industry than
of an engineering discipline.
The lack of a sound, widely accepted theoretical basis.
The huge number of methods and method variants, with
differences little understood and artificially magnified.
The lack of credible experimental evaluation and validation.
The split between industry practice and academic research.
Source: Semat Call for Action
SYRCoSE May 12-13, 2011
8
Florida Atlantic University
The men from the future …
Ivar Jacobson
Bertrand Meyer
Richard Soley
Software Engineering Method and
Theory
Jacobson, Meyer, & Soley “Call for Action: The Semat
Initiative” Dr. Dobb’s Journal, December 10, 2009
SYRCoSE May 12-13, 2011
9
Florida Atlantic University
The Grant Vision

Semat supports a process to refound software
engineering based on a solid theory, proven principles
and best practices that:




Include a kernel of widely-agreed elements, extensible for
specific uses
Addresses both technology and people issues
Are supported by industry, academia, researchers and users
Support extension in the face of changing requirements and
technology
At its hear is a kernel of widely agreed elements.
The kernel would provides the common ground help
practitioners to compare methods and make better
decisions of their practices.
Source: Semat Vision Statement
SYRCoSE May 12-13, 2011
10
Florida Atlantic University
Semat one-line goal
The goal is to create a kernel and a language that are
scalable, extensible, and easy to use, and that allow
people to describe the essentials of their existing and
future methods and practices so that they can be
composed, compared, evaluated, tailored, used,
adapted, simulated and measured by practitioners as
well as taught and researched by academics and
researchers.
Being able to design a method from a set of relevant
practices, all described using a kernel of essential
elements are key requirements of Semat.
SYRCoSE May 12-13, 2011
11
Florida Atlantic University
Software primary users
Pragmatic, seeking
available
methods that are
easy to use
Concerned about
getting
software
better, faster cheaper &
happier
Practitioners
(Engineers and
Managers)
Industry
Software
engineering
Academia
Teach and research
Software Engineering
Signatories as May 13, 2011












Pekka Abrahamsson
Scott Ambler
Victor Basili
Jean Bézivin
Dines Bjorner
Barry Boehm
Alan W. Brow
Larry Constantine
Steve Cook
Bill Curtis
Donald Firesmith
Erich Gamma











Carlo Ghezzi
Tom Gilb
Robert L. Glass
Ellen Gottesdiener
Martin Griss
Sam Guckenheimer
David Harel
Brian HendersonSellers
Ivar Jacobson
Capers Jones
Philippe Kruchten












Harold "Bud" Lawson
Robert Martin
Bertrand Meyer
James Odell
Meilir Page-Jones
Dieter Rombach
Ken Schwaber
Alec Sharp
Richard Soley
Andrey Terekhov
Fuqing Yang
Edward Yourdon
Represent different camps:
agile, Iterative, RUP, computer science, Metrics, CMMI,
academia …
SYRCoSE May 12-13, 2011
13
Florida Atlantic University
Corporate signatories as May 13, 2011







ABB
Chalmers University of
Technology
Ericsson
Fujitsu UK
IBM
KAIST
Microsoft
SYRCoSE May 12-13, 2011








14
Peking University
SAAB
Samsung SDS
SINTEF
SW Engineering Center
Telecom Italia
Toronto, Ontario
WellPoint
Florida Atlantic University
Semat events





1st Workshop on March 17-18, 2010, Zurich
2nd Workshop on July 13– 14, 2010, Washington D.C.
3rd Workshop on September 29 - October 1,
2010 in Milan
RPF draft presented at OMG meeting March 14-18,
2011
Next RFP presentation at OMG June 2011
SYRCoSE May 12-13, 2011
15
Florida Atlantic University
Semat key concepts
Method
 Practice
 Kernel
 Kernel language

SYRCoSE May 12-13, 2011
16
Florida Atlantic University
Method in a traditional sense



As being instantiated
The activities -- created from the definition -- are
executed by practitioners in some order to get result,
specified by the definition
This view – “the team is the computer, the process is
the program” - is not suitable for creative work like
software engineering

which requires support for work, which is agile, trial-anderror based and collaboration intensive
SYRCoSE May 12-13, 2011
17
Florida Atlantic University
The concept of method






A method is a composition of practices
as opposed to an interconnection of process/method
components, disciplines, or similar
Methods are dynamic and used
Methods are not just descriptions for developers to
read, they are dynamic, supporting their day-to-day
activities
This changes the conventional definition of a method
A method is not just a description of what is expected
to be done, but a description of what is actually done
SYRCoSE May 12-13, 2011
18
Florida Atlantic University
Semat key concepts
Method
 Practice
 Kernel
 Kernel language

SYRCoSE May 12-13, 2011
19
Florida Atlantic University
The concept of practice







A practice is an approach to doing something with a
specific purpose in mind
There are several kinds of practices
but the basic and most important kind of practices are
the concrete practices
A concrete practice is a complete end-to-end activity
with a clear beginning and end supporting software
practitioners in getting their job done
These practices give value one-by-one
They are what users want to make lean
They are what you want to measure and provide
metrics for
Source: Semat Three Year Vision
SYRCoSE May 12-13, 2011
20
Florida Atlantic University
Method and practice



Basically every software development team, with some
exceptions, has its own method
There to be probably over 100,000 methods in
existence, with many of them never being described
but the number of relevant separate practices in use
should be much smaller
Being able to design a method from a set of relevant
practices, all described using a kernel of essential
elements are key requirements of Semat.
SYRCoSE May 12-13, 2011
21
Florida Atlantic University
From the Essential Unified Process to The Essentials
The Essentials
$
ArchitectureIteration
Use Case Component Product
up
up
Process
Team
ModelingUnified Process
The Kernel
Source: EssWork
Lifecycle
Many more practices:
-Scrum
-User Stories
-Test-Driven Design
-Continuous
Integration
-Self-Organizing
Teams
-Pair Programming
-PLA
-EA
Technical
Practices
CrossCutting
Practices
Method evolution
Change starts by harvesting your best practices from your own
method
Existing Method
New Method
+
Kerne
l
You get a method structured for the future
Source: EssWork
Your Own
Best
Practices
Semat key concepts
Method
 Practice
 Kernel
 Kernel language

SYRCoSE May 12-13, 2011
24
Florida Atlantic University
What is in the Kernel


The Kernel we harvested is very small, extracted from
a large number of methods
The Kernel is practice and method agnostic
Kernel
The Kernel includes the essence of software engineering
Improve your method by adding other, proven practices
Use Case
+
+
Architecture Iterative
Team
Kernel
Component
+++
PLA
Your Own
Other Practices
Best Practices
From Many Sources
OK, there is a kernel! Maybe there are many?
But none is widely-accepted! That needs to be changed!
Source: EssWork
To establish the common ground
Source: mopo.ca
SYRCoSE May 12-13, 2011
27
Florida Atlantic University
The Kernel – the essence of software engineering






The common ground
Identify and specify a kernel including the essential
elements in software engineering – key requirement
Irrespective of code, software system, solution,
methods, organization
A kernel of elements: pervasive concepts and qualities
– the common ground
Always prevalent in any software endeavors
Separate of concerns: separating kernel from specifics
of different methods
SYRCoSE May 12-13, 2011
28
Florida Atlantic University
The nature of the kernel




Finding the constituents of the kernel is critical
Uncover universal, significant and relevant elements
Need to be widely agreed upon
The kernel is defined using a domain-specific
language The domain being practices
for software development


The kernel and the language are small and light at
their base
But extensible to cover advanced uses (e.g., safetycritical systems)
SYRCoSE May 12-13, 2011
29
Florida Atlantic University
What the kernel is not:





A new unified methodology
A new software process meta-model
A new body of knowledge
A new modeling language
A trick to get people to build or buy more tools
SYRCoSE May 12-13, 2011
30
Florida Atlantic University
The concept of kernel
The kernel should be as simple as a map of when we
develop software:




Irrespective of




what we already have (e.g. teams and projects)
what we already do (e.g. specify and implement)
what we already produce (e.g. software systems)
the way we work
whether we write documentation, or
even if the result is good or bad
The kernel should be concrete, focused and light
SYRCoSE May 12-13, 2011
31
Florida Atlantic University
Finding the kernel
“You have achieved perfection not when there is nothing left
to add, but when there is nothing left to take away”
-- Antoine de Saint-Exupéry
Example of essential elements:
 Work
 Team
 Requirements
 Software system
 Opportunity
 Stakeholder
SYRCoSE May 12-13, 2011
32
Florida Atlantic University
Realizing the kernel
Area of concerns
Customer
Solution
Endeavor
Source: Spence, S.: “On the area of concern”
Kernel: “Things to Produce” diagram
Alpha
Area of
concern
Source: Spece, S.: “On the area of concern”
Kernel: “Things to Do” diagram
Activity
space
Area of
concern
Source: Spece, S.: “On the area of concern”
Kernel: “Competencies” diagram
Competency
Competency level
Colors denote
area of concern
Source: Spece, S.: “On the area of concern”
Current set of suggested kernel elements (WIP)
< provide
Requiremen
ts
Software
System
< fulfils
Work
<
perform
s
Team
Way of
Working
1..*
Source: Semat working group document
Practice
support
>
focuses
>
Use and
consume
>
External
Stakeholde
rs
Scope
and
constrai
n>
Set up to address
>
Opportun
ity
The governance of the kernel






The responsibility for this work has been moved to the
Object Management Group (OMG)
Provide proper governance
To ensure the openness and fairness of the selection
process
Ensures the results benefit the entire community
A RFP entitled “A Domain-Specific Language and a
Kernel of Essentials For Software Engineering
(ESSENSE) has been prepared by a group of people at
OMG and presented
Next meeting will be in June 2011
SYRCoSE May 12-13, 2011
38
Florida Atlantic University
Semat key concepts
Method
 Practice
 Kernel
 Kernel language

SYRCoSE May 12-13, 2011
39
Florida Atlantic University
The language definition




The Language shall have an abstract syntax model
defined in a formal modeling language
The Language shall have formal static and operational
semantics defined in terms of the abstract syntax
The Language shall have a graphical concrete syntax
that formally maps to the abstract syntax
The Language shall also have a textual concrete syntax
that formally maps to the abstract syntax
Source: OMG RFP draft
SYRCoSE May 12-13, 2011
40
Florida Atlantic University
The language features




Description: The Language shall support the description of
practices and methods in terms of the essential elements of the
Kernel.
Composition: The Language shall support the composition of
practices to describe existing and new methods.
Work Progress: The Language shall allow the representation
of work progress. (For example, describing a practice that
involves iterative development requires describing the starting
and ending states of every iteration.)
Enactment: The Language shall support the enactment of
methods, both as used to help plan endeavors and as applied
(or executed) as part of the day-to-day activities in real
projects.
Source: OMG RFP draft
SYRCoSE May 12-13, 2011
41
Florida Atlantic University
The kernel and language



The kernel is defined using a domain-specific
language
which has a static base (syntax and well-formed-ness
rules) to let us define methods effectively, and
with an additional dynamic concern (operational
semantics) to let us use, adapt and simulate them
The domain being practices for software development
SYRCoSE May 12-13, 2011
42
Florida Atlantic University
Putting together
Source: Semat Three Year Vision
SYRCoSE May 12-13, 2011
43
Florida Atlantic University
Semat products






The Kernel and the Language
Tools (including open source)
The Practice Market Place
Curricula
Text Books and Papers
Research
SYRCoSE May 12-13, 2011
44
Florida Atlantic University
Welcome to the world of Semat


Sign up to become a supporter
To get involved with group activities
www.semat.org.cn
www.semat.org
SYRCoSE May 12-13, 2011
45
Florida Atlantic University
References
1. Ivar Jacobson and Bertrand Meyer: “Methods need theory” Dr. Dobb's Journal, August 06,
2.
3.
4.
5.
6.
7
8.
2009. Online at http://www.drdobbs.com/architecture-and-design/219100242
Ivar Jacobson and Ian Spence: “Why we need a theory for software engineering” Dr. Dobb's
Journal, October 02, 2009. Online at http://www.drdobbs.com/architecture-anddesign/220300840
Ivar Jacobson, Bertrand Meyer, and Richard Soley: “Call for Action: The Semat Initiative” Dr.
Dobb's Journal December 10, 2009. Online at http://www.drdobbs.com/architecture-anddesign/222001342
Ivar Jacobson, Bertrand Meyer, and Richard Soley: “The Semat Vision Statement” online at
http://www.semat.org/pub/Main/WebHome/SEMAT-vision.pdf
Shihong Huang, the 1st Semat Workshop report, online at:
http://www.semat.org/pub/Main/SematZurichMarch2010/Zurich_meeting_report.pdf
Shihong Huang, the 2nd Semat Workshop Report, online at:
http://www.semat.org/pub/Main/WebHome/2nd_Semat_Workshop_Report.pdf
Shihong Huang and Paul McMahon, the 3rd Semat Workshop Report, online at:
http://www.semat.org/pub/Main/WebHome/3rd_Semat_Workshop_Report.pdf
Ivar Jacobson, Shihong Huang, Mira Kajko-Mattsson, Paul McMahon, Ed Seymour, “Semat –
Three Year Vision” in the Proceedings of the Spring/Summer Young Researchers' Colloquium
on Software Engineering by Institute for Systems Programming, Russia Academy of Sciences
(SYRCoSE 2011: May 12 – 13, 2011, Yekateringburg, Russia).
SYRCoSE May 12-13, 2011
46
Florida Atlantic University
谢谢
(Xie Xie)
Shihong Huang
[email protected]
SYRCoSE May 12-13, 2011
47
Florida Atlantic University