Capturing the Essence of Software Engineering - PowerPoint PPT Presentation

About This Presentation
Title:

Capturing the Essence of Software Engineering

Description:

Title: An Integrated Approach to Software Redocumentation Based on XML Subject: Talk Author: Shihong Huang Keywords: Software documentation, reverse engineering, MSR ... – PowerPoint PPT presentation

Number of Views:140
Avg rating:3.0/5.0
Slides: 48
Provided by: Shihon4
Category:

less

Transcript and Presenter's Notes

Title: Capturing the Essence of Software Engineering


1
Capturing the Essence of Software Engineering
A Reflection on Semat Initiative
Software Engineering Method and Theory
2
Florida Atlantic University on the Map
Florida Atlantic University
3
Florida A Different Map
4
Outline
  • Motivation of Semat the Grant Vision
  • The basis for Semat
  • The concept of method, practices and kernel
  • Current status
  • Get involved

5
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

6
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

7
SPEM
Web Services
SOA
What will be the next silver bullet?
Coud Computering
EDA
CMMI
8
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
9
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. Dobbs Journal, December
10, 2009
10
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
11
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.
12
Software primary users
Pragmatic, seeking available methods that are
easy to use
Concerned about getting software better,
faster cheaper happier
Software engineering
Teach and research Software Engineering
13
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

Represent different camps agile, Iterative,
RUP, computer science, Metrics, CMMI, academia
14
Corporate signatories as May 13, 2011
  • ABB
  • Chalmers University of Technology
  • Ericsson
  • Fujitsu UK
  • IBM
  • KAIST
  • Microsoft
  • Peking University
  • SAAB
  • Samsung SDS
  • SINTEF
  • SW Engineering Center
  • Telecom Italia
  • Toronto, Ontario
  • WellPoint

15
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

16
Semat key concepts
  • Method
  • Practice
  • Kernel
  • Kernel language

17
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-and-error based and collaboration intensive

18
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

19
Semat key concepts
  • Method
  • Practice
  • Kernel
  • Kernel language

20
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
21
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.
22
From the Essential Unified Process to The
Essentials
The Essentials
  • Many more practices
  • Scrum
  • User Stories
  • Test-Driven Design
  • Continuous Integration
  • Self-Organizing Teams
  • Pair Programming
  • PLA
  • EA

TechnicalPractices
Product
Architecture
Cross-Cutting Practices
Unified ProcessLifecycle
Modeling
Process
The Kernel
Source EssWork
23
Method evolution

Change starts by harvesting your best practices
from your own method
New Method
You get a method structured for the future
Source EssWork
24
Semat key concepts
  • Method
  • Practice
  • Kernel
  • Kernel language

25
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
26
Improve your method by adding other, proven
practices
Use Case



Iterative
Architecture
Component
Team
Your Own Best Practices
Kernel
Other 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
27
To establish the common ground
Source mopo.ca
28
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

29
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 kernel and the language are small and light
    at their base
  • But extensible to cover advanced uses (e.g.,
    safety-critical systems)

The domain being practices for software
development
30
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

31
The concept of kernel
  • The kernel should be as simple as a map of when
    we develop software
  • 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)
  • Irrespective of
  • 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

32
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

33
Realizing the kernel
Customer
Solution
Area of concerns
Endeavor
Source Spence, S. On the area of concern
34
Kernel Things to Produce diagram
Alpha
Area of concern
Source Spece, S. On the area of concern
35
Kernel Things to Do diagram
Activity space
Area of concern
Source Spece, S. On the area of concern
36
Kernel Competencies diagram
Competency
Competency level
Colors denote area of concern
Source Spece, S. On the area of concern
37
Current set of suggested kernel elements (WIP)
Source Semat working group document
38
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

39
Semat key concepts
  • Method
  • Practice
  • Kernel
  • Kernel language

40
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
41
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
42
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
43
Putting together
Source Semat Three Year Vision
44
Semat products
  • The Kernel and the Language
  • Tools (including open source)
  • The Practice Market Place
  • Curricula
  • Text Books and Papers
  • Research

45
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
46
References
  • 1. Ivar Jacobson and Bertrand Meyer Methods
    need theory Dr. Dobb's Journal, August 06, 2009.
    Online at http//www.drdobbs.com/architecture-and-
    design/219100242
  • 2. 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-and-design/220
    300840
  • 3. 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-and-design/222
    001342
  • 4. Ivar Jacobson, Bertrand Meyer, and Richard
    Soley The Semat Vision Statement online at
    http//www.semat.org/pub/Main/WebHome/SEMAT-vision
    .pdf
  • 5. Shihong Huang, the 1st Semat Workshop report,
    online at
  • http//www.semat.org/pub/Main/SematZurichMarch201
    0/Zurich_meeting_report.pdf
  • 6. Shihong Huang, the 2nd Semat Workshop Report,
    online at
  • http//www.semat.org/pub/Main/WebHome/2nd_Semat_W
    orkshop_Report.pdf
  • 7 Shihong Huang and Paul McMahon, the 3rd Semat
    Workshop Report, online at
  • http//www.semat.org/pub/Main/WebHome/3rd_Semat_
    Workshop_Report.pdf
  • 8. 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).

47
From Russia with Love
??(Xie Xie)
???????
Shihong Huangshihong_at_fau.edu
Write a Comment
User Comments (0)
About PowerShow.com