Weitere ähnliche Inhalte Ähnlich wie Applying system thinking to model-based software engineering (20) Mehr von Prof. Amir Tomer (6) Kürzlich hochgeladen (20) Applying system thinking to model-based software engineering1. Applying System Thinking to
Model-Based Software Engineering
Amir Tomer
Head, Software Engineering Department
Kinneret Academic College on the Sea of Galilee, Jordan Valley, Israel
amir@amirtomer.com
© Dr. Amir Tomer
EDUCON 2012 1
2. The Talk
• This talk is about a Software Engineering course, with Systems
Engineering thinking
– Developed 1999 at the CS Dept., Technion, Israel
– Evolved into two main versions for two different populations
• CS/SWE Undergraduate (B.Sc.) students
• Systems Engineering graduate (ME) students
– Was delivered in more than 50 classes
– Based on industrial experience
• Author’s (Lecturer’s) Background
– B.Sc., M.Sc. and Ph.D. in Computer Science
– Over 25 years of industrial experience in SW & Systems engineering and
management
– Over 17 years of academic teaching and research
– Certified Systems Engineering Professional (CSEP) by INCOSE
© Dr. Amir Tomer
EDUCON 2012 2
3. The Problem
• Computer Science / Software Engineering undergraduate students
concentrate much on programming techniques
– Not always getting the “big picture” of large industrial projects
• Systems Engineering graduate students come from various engineering
disciplines
– Not always getting to understand the unique characteristics of software
However...
• Systems Engineers and Software Engineers work closely together in
large industrial projects
– Having difficulties in sharing a common approach
© Dr. Amir Tomer
EDUCON 2012 3
4. The Approach
• Considering the entire Development Life-cycle
– From highest level business logic down to detailed software design
and implementation
• Using a unified definition of “system” at each level of
decomposition (“System-of-Interest”)
– With Functional, Structural and Behavioural views
• Using a unified modeling language (UML)
– Selecting the most appropriate model for each view at each level
• Focusing on model consistency
– Between models at the same level
– Between system decomposition levels
© Dr. Amir Tomer
EDUCON 2012 4
5. The Life Cycle
• Systems usually evolve iteratively
• Each evolution iteration goes through a (partial or full) “V” life-cycle
model
– During a single “V” a system is repeatedly decomposed into its sub-systems,
components, etc.
© Dr. Amir Tomer
Level 1
Definition, Analysis & Design Integration & Testing
Decomposition
EDUCON 2012 5
Composition
Level 0
Level n
Client’s
needs
Product
delivery
6. A unified approach to “System”
• System – Definition*
– combination of interacting elements organized to achieve one or more
stated purposes
• Thus, each system has the following properties
– Purpose(s)
– Elements, which have
Functional system-of-interest
Model
» Organization
Structural
» Interaction
Model
Behavioural
© Dr. Amir Tomer
*ISO/IEC/IEEE 15288
EDUCON 2012 6
system
element
system
element
system
element
system
element
system system system
system
element
system
element
system
system
element
system
element
system
element
system
system system element
Model
7. © Dr. Amir Tomer
The “Levels of Interest” of Software-Intensive System Modeling
• The general definition of a “system” allows unlimited depth of hierarchical breakdown
– Although this is applicable also for SWISs, there are 5 types of levels, for which certain model types
are preferred for the sake of modeling effectiveness
“Business”
Software Intensive System (SWIS)
Hardware Platforms & Devices
(Hardware Configuration Items = HWCIs)
These will be considered as either:
- atomic elements
- SWISs, requiring further breakdown
Software Applications
(Computer SW Configuration Items = CSCIs)
Computer Software Components (CSCs)
Computer Software Units (CSUs)
EDUCON 2012 7
Equipment
Humans
Users and other Stakeholders
Other SWISs
8. A Case Study
• One of the case-studies used in the course is RoboLib:
– A fully automated library, in which readers may
• Borrow books for on-site reading
• Order page photocopies from books
• Take books home for further reading
– The readers do not approach the books themselves
• A robot carries out all the book conveyance inside the library
• The following slides present a few examples* of models developed /
discussed by the students during class tutorials
* The examples do not appear in the paper. You may get them by e-mail
amir@amirtomer.com
© Dr. Amir Tomer
EDUCON 2012 8
9. Business-level Functional Model (Use Case Diagram)
The Library (a book-loaning business)
RoboLib System
Initial
Subscription
On-site Reading
Photo-copying
Home Reading
Reader
• The RoboLib System, as well as the Robot and Photocopier “actors” are components of the
business, and are shown in this diagram for clarification purposes
© Dr. Amir Tomer
EDUCON 2012 9
Day Closure
Robot
Photocopier
10. Business-Level Behaviour (“Business Logic”) and its Functional
Decomposition (Activity Diagram)
[without books]
• Super-activities (yellow) = Business-Level Use cases
• Sub-activities (white) = Candidates for SWIS-Level Use Cases
© Dr. Amir Tomer
EDUCON 2012 10
Day Closure
Photo-copying
Home Reading
Page
photocopying
On-site Reading
Initial Subscription
library site
surfing
Subscription
subscription
complete
service
selection
On-site
borrowing
On-site
returning
Login
entrering
library
Logout
Returning books
from home
exiting
library
Taking books
home
Return to
storage
Inv entory
check
end of
day
end of
activity
«datastore»
Books data
«datastore»
Readers data
[with
books]
[exit]
[photo-copy]
[borrow]
[return]
[with
books]
[without books]
11. Deriving SWIS-Level Functional Model (Use Cases) from the
Business-Level Functional Decomposition
RoboLib System
Reader
Subscritpion Login
Page
hotocopying
«include» «include»
«include» «include»
On-site borrowing
«include»
On-site returning
Photocopier
«include»
• Each Use-Case is specified in detail, either by a structured textual specification or by a behavioural
model (activity diagram)
© Dr. Amir Tomer
EDUCON 2012 11
Return to
storage
Inventory check
Returning books
from home
Taking books
home
Logout
Robot
Book
conveyance
Locating an
available copy
System System startup
shutdown
12. SWIS-Level Structure (Deployment Diagram)
• The diagram is accompanied by a nodes and interfaces specification
• Structural and functional model consistency:
– The left-hand side interfaces are associated with the “Reader” actor
– The right-hand side interfaces are associated with the “Robot” and “Photocopier” actors
© Dr. Amir Tomer
EDUCON 2012 12
13. Software-Level (CSCI) Structure (Component Diagram)
Library Software Robot Software
login/logout
Reader's GUI
user
activities
Administration
DB transactions
«DB»
Library
repository
DB
transactions
Loan services
Subscription
forms
Conveyance
requests
Conveyance
requests
Robot
location/status
Photoc.
status
loan
services
Books
enter/exit
• The diagram is accompanied by a components and interfaces specification
© Dr. Amir Tomer
EDUCON 2012 13
Conveyance
Robot mission
management
requests
Basic robot
operation
collecting/dropping
a book
location/status
operation
commands
14. SWIS-Level and Software-Level Structure Consistence
(Composite Structure with Ports)
LAN
«wireless»
«delegate» loan
collecting/dropping
a book
• Structure consistency:
Internet
Subscription
forms
Administration
Conveyance
requests
Conveyance
requests
– Each port is uniquely associated with a SWIS-Level link (Deployment Diagram)
– All software interfaces are delegated to / from ports
© Dr. Amir Tomer
EDUCON 2012 14
Library
LAN
Photocopier Gate Reading
post
Robot
Barcode
reader
Reader's GUI
user
activities
Loan services
Photoc.
status
Books
enter/exit
Robot
location/status
Robot mission
management
Basic robot
operation
location/status
«DB»
Library
repository
Conveyance
requests
«delegate»
login/logout
DB
transactions
operation
commands
«delegate»
services
DB
transactions
«delegate»
«delegate»
«delegate»
TCP/IP
«delegate»
«delegate»
«delegate»
«delegate»
15. Course Structure and Contents
• Duration
– One semester (42 academic hours)
• Class Sessions
– Lectures (2 h/w), demonstrated with an “elevator system” case-study
– Tutorials (1 h/w), using the “RoboLib” case study
• Homework (50% of final grade)
– A “rolling” project, modeling a given system throughout its entire
levels
– Submitted in parts by teams of 3-4 member
• Final exam (50% of final grade)
– A multi-choice exam (30 questions / 2 hours), demanding
understanding and application of the acquired knowledge
© Dr. Amir Tomer
EDUCON 2012 15
16. Students Feedback
• Undergraduate (B.Sc.) CS/SWE students
– Usually appreciate the course only when facing industrial practice
– A common comment from students who already work:
“It was the most important course during my degree”
• Graduate (ME) students
– Most of them are already employed as systems engineers in the
industry
– Many start to apply the methods in their companies during or right
after the course
© Dr. Amir Tomer
EDUCON 2012 16
17. Thank you for listening!
© Dr. Amir Tomer
Any questions?
EDUCON 2012 17
Hinweis der Redaktion אודות הקורס