SlideShare uma empresa Scribd logo
1 de 17
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
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
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
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
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
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
© 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
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
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
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]
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
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
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
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»
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
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
Thank you for listening! 
© Dr. Amir Tomer 
Any questions? 
EDUCON 2012 17

Mais conteúdo relacionado

Mais procurados

Designing applications with multimedia capabilities
Designing applications with multimedia capabilitiesDesigning applications with multimedia capabilities
Designing applications with multimedia capabilitiesK Senthil Kumar
 
Session 1: Overview of OOAD and UML 2.x
Session 1: Overview of OOAD and UML 2.xSession 1: Overview of OOAD and UML 2.x
Session 1: Overview of OOAD and UML 2.xMousuf Zaman C
 
Shared information systems
Shared information systemsShared information systems
Shared information systemsHimanshu
 
Exam seating and jumbling questions
Exam seating and jumbling questionsExam seating and jumbling questions
Exam seating and jumbling questionsManchireddy Reddy
 
Using MDE for the Formal Verification of Embedded Systems Modeled by UML Se...
Using MDE for the Formal Verification of Embedded  Systems Modeled by UML Se...Using MDE for the Formal Verification of Embedded  Systems Modeled by UML Se...
Using MDE for the Formal Verification of Embedded Systems Modeled by UML Se...Francisco Assis Nascimento
 
Model-driven engineering of user interfaces
Model-driven engineering of user interfacesModel-driven engineering of user interfaces
Model-driven engineering of user interfacesJean Vanderdonckt
 
Architectural design1
Architectural design1Architectural design1
Architectural design1Zahid Hussain
 
Model-driven engineering of multimodal user interfaces
Model-driven engineering of multimodal user interfacesModel-driven engineering of multimodal user interfaces
Model-driven engineering of multimodal user interfacesJean Vanderdonckt
 
From science to engineering, the process to build a machine learning product
From science to engineering, the process to build a machine learning productFrom science to engineering, the process to build a machine learning product
From science to engineering, the process to build a machine learning productBruce Kuo
 
OOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMSOOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMSMikel Raj
 
Чурюканов Вячеслав, “Code simple, but not simpler”
Чурюканов Вячеслав, “Code simple, but not simpler”Чурюканов Вячеслав, “Code simple, but not simpler”
Чурюканов Вячеслав, “Code simple, but not simpler”EPAM Systems
 

Mais procurados (14)

Design rule 3
Design rule 3Design rule 3
Design rule 3
 
Designing applications with multimedia capabilities
Designing applications with multimedia capabilitiesDesigning applications with multimedia capabilities
Designing applications with multimedia capabilities
 
Session 1: Overview of OOAD and UML 2.x
Session 1: Overview of OOAD and UML 2.xSession 1: Overview of OOAD and UML 2.x
Session 1: Overview of OOAD and UML 2.x
 
Shared information systems
Shared information systemsShared information systems
Shared information systems
 
Exam seating and jumbling questions
Exam seating and jumbling questionsExam seating and jumbling questions
Exam seating and jumbling questions
 
339 seminar4 kenrawson
339 seminar4 kenrawson339 seminar4 kenrawson
339 seminar4 kenrawson
 
Using MDE for the Formal Verification of Embedded Systems Modeled by UML Se...
Using MDE for the Formal Verification of Embedded  Systems Modeled by UML Se...Using MDE for the Formal Verification of Embedded  Systems Modeled by UML Se...
Using MDE for the Formal Verification of Embedded Systems Modeled by UML Se...
 
Model-driven engineering of user interfaces
Model-driven engineering of user interfacesModel-driven engineering of user interfaces
Model-driven engineering of user interfaces
 
Architectural design1
Architectural design1Architectural design1
Architectural design1
 
Uml assignment help
Uml assignment helpUml assignment help
Uml assignment help
 
Model-driven engineering of multimodal user interfaces
Model-driven engineering of multimodal user interfacesModel-driven engineering of multimodal user interfaces
Model-driven engineering of multimodal user interfaces
 
From science to engineering, the process to build a machine learning product
From science to engineering, the process to build a machine learning productFrom science to engineering, the process to build a machine learning product
From science to engineering, the process to build a machine learning product
 
OOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMSOOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMS
 
Чурюканов Вячеслав, “Code simple, but not simpler”
Чурюканов Вячеслав, “Code simple, but not simpler”Чурюканов Вячеслав, “Code simple, but not simpler”
Чурюканов Вячеслав, “Code simple, but not simpler”
 

Destaque

Holistic Lean system thinking approach for business profitability
Holistic Lean system thinking approach for business profitabilityHolistic Lean system thinking approach for business profitability
Holistic Lean system thinking approach for business profitabilityWinning Minds Solutions
 
System thinking تفکر سیستمی
System thinking  تفکر سیستمیSystem thinking  تفکر سیستمی
System thinking تفکر سیستمیDr Peshevar
 
SE_conf2 Tomer and Ram final
SE_conf2 Tomer and Ram finalSE_conf2 Tomer and Ram final
SE_conf2 Tomer and Ram finalTomer Peretz
 
창의적사고법 소개강의
창의적사고법 소개강의창의적사고법 소개강의
창의적사고법 소개강의Hyunsik Kim
 
3. 시스템사고
3. 시스템사고3. 시스템사고
3. 시스템사고Suyeong Park
 
Session 3 system thinking
Session 3 system thinkingSession 3 system thinking
Session 3 system thinkingYoungjin Yoo
 
System thinking in public sector architecture
System thinking in public sector architectureSystem thinking in public sector architecture
System thinking in public sector architectureAndres Kütt
 
System Thinking and How to Control Subjective and Cognitive Bias
System Thinking and How to Control Subjective and Cognitive Bias System Thinking and How to Control Subjective and Cognitive Bias
System Thinking and How to Control Subjective and Cognitive Bias Safelink Internet Services
 
Maori and Sustainability
Maori and SustainabilityMaori and Sustainability
Maori and SustainabilityAnna Hughes
 
System Engineering Project - Team 2
System Engineering Project - Team 2System Engineering Project - Team 2
System Engineering Project - Team 2Chawal Ukesh
 
System Conditions And Thinking
System Conditions And ThinkingSystem Conditions And Thinking
System Conditions And ThinkingAnna Hughes
 
2016 Productivity Conference using i-phone and Macbook
2016 Productivity Conference using i-phone and Macbook2016 Productivity Conference using i-phone and Macbook
2016 Productivity Conference using i-phone and MacbookJinwon Park
 
[211]대규모 시스템 시각화 현동석김광림
[211]대규모 시스템 시각화 현동석김광림[211]대규모 시스템 시각화 현동석김광림
[211]대규모 시스템 시각화 현동석김광림NAVER D2
 
Software engineering rfid system
Software engineering rfid systemSoftware engineering rfid system
Software engineering rfid systemAli Haider
 
System Thinking: Design Tools to Drive Innovation Processes
System Thinking: Design Tools to Drive Innovation Processes System Thinking: Design Tools to Drive Innovation Processes
System Thinking: Design Tools to Drive Innovation Processes Roberta Tassi
 
System Thinking - Making sense before acting
System Thinking - Making sense before actingSystem Thinking - Making sense before acting
System Thinking - Making sense before actingAndre Jankowitz
 
Introduction to Systems Thinking: System Structures and Behaviour
Introduction to Systems Thinking: System Structures and BehaviourIntroduction to Systems Thinking: System Structures and Behaviour
Introduction to Systems Thinking: System Structures and BehaviourJason Yip
 
8강 기업교육론 20110420
8강 기업교육론 201104208강 기업교육론 20110420
8강 기업교육론 20110420조현경
 

Destaque (20)

Holistic Lean system thinking approach for business profitability
Holistic Lean system thinking approach for business profitabilityHolistic Lean system thinking approach for business profitability
Holistic Lean system thinking approach for business profitability
 
System thinking تفکر سیستمی
System thinking  تفکر سیستمیSystem thinking  تفکر سیستمی
System thinking تفکر سیستمی
 
SE_conf2 Tomer and Ram final
SE_conf2 Tomer and Ram finalSE_conf2 Tomer and Ram final
SE_conf2 Tomer and Ram final
 
창의적사고법 소개강의
창의적사고법 소개강의창의적사고법 소개강의
창의적사고법 소개강의
 
3. 시스템사고
3. 시스템사고3. 시스템사고
3. 시스템사고
 
Toc와시스템사고 박성진 20160623
Toc와시스템사고 박성진 20160623Toc와시스템사고 박성진 20160623
Toc와시스템사고 박성진 20160623
 
Session 3 system thinking
Session 3 system thinkingSession 3 system thinking
Session 3 system thinking
 
System thinking in public sector architecture
System thinking in public sector architectureSystem thinking in public sector architecture
System thinking in public sector architecture
 
System Thinking and How to Control Subjective and Cognitive Bias
System Thinking and How to Control Subjective and Cognitive Bias System Thinking and How to Control Subjective and Cognitive Bias
System Thinking and How to Control Subjective and Cognitive Bias
 
Maori and Sustainability
Maori and SustainabilityMaori and Sustainability
Maori and Sustainability
 
System Engineering Project - Team 2
System Engineering Project - Team 2System Engineering Project - Team 2
System Engineering Project - Team 2
 
System Conditions And Thinking
System Conditions And ThinkingSystem Conditions And Thinking
System Conditions And Thinking
 
2016 Productivity Conference using i-phone and Macbook
2016 Productivity Conference using i-phone and Macbook2016 Productivity Conference using i-phone and Macbook
2016 Productivity Conference using i-phone and Macbook
 
Smart parking - Happiestminds !
Smart parking - Happiestminds !Smart parking - Happiestminds !
Smart parking - Happiestminds !
 
[211]대규모 시스템 시각화 현동석김광림
[211]대규모 시스템 시각화 현동석김광림[211]대규모 시스템 시각화 현동석김광림
[211]대규모 시스템 시각화 현동석김광림
 
Software engineering rfid system
Software engineering rfid systemSoftware engineering rfid system
Software engineering rfid system
 
System Thinking: Design Tools to Drive Innovation Processes
System Thinking: Design Tools to Drive Innovation Processes System Thinking: Design Tools to Drive Innovation Processes
System Thinking: Design Tools to Drive Innovation Processes
 
System Thinking - Making sense before acting
System Thinking - Making sense before actingSystem Thinking - Making sense before acting
System Thinking - Making sense before acting
 
Introduction to Systems Thinking: System Structures and Behaviour
Introduction to Systems Thinking: System Structures and BehaviourIntroduction to Systems Thinking: System Structures and Behaviour
Introduction to Systems Thinking: System Structures and Behaviour
 
8강 기업교육론 20110420
8강 기업교육론 201104208강 기업교육론 20110420
8강 기업교육론 20110420
 

Semelhante a Applying system thinking to model-based software engineering

Software Engineering : OOAD using UML
Software Engineering : OOAD using UMLSoftware Engineering : OOAD using UML
Software Engineering : OOAD using UMLAjit Nayak
 
Object Oriented Analysis and Design - Overview
Object Oriented Analysis and Design - OverviewObject Oriented Analysis and Design - Overview
Object Oriented Analysis and Design - Overviewrmk_rrj
 
Software architecture simplified
Software architecture simplifiedSoftware architecture simplified
Software architecture simplifiedPrasad Chitta
 
Object oriented analysis & Design- Overview
Object oriented analysis & Design- OverviewObject oriented analysis & Design- Overview
Object oriented analysis & Design- Overviewrmk_rrj
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerGobinath Subramaniam
 
Object Oriented Analysis and Design Unit-1
Object Oriented Analysis and Design Unit-1Object Oriented Analysis and Design Unit-1
Object Oriented Analysis and Design Unit-1SangeethaSubramaniam14
 
Accelerating time to delivery: Modernizing Application Development
Accelerating time to delivery: Modernizing Application DevelopmentAccelerating time to delivery: Modernizing Application Development
Accelerating time to delivery: Modernizing Application DevelopmentMicro Focus
 
"Just Enough" System Modeling
"Just Enough" System Modeling"Just Enough" System Modeling
"Just Enough" System ModelingProf. Amir Tomer
 
The art of architecture
The art of architectureThe art of architecture
The art of architectureADDQ
 
Arch06 1
Arch06 1Arch06 1
Arch06 1nazn
 
An Introduction To Model  View  Controller In XPages
An Introduction To Model  View  Controller In XPagesAn Introduction To Model  View  Controller In XPages
An Introduction To Model  View  Controller In XPagesUlrich Krause
 
Assignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audioAssignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audioRickNZ
 

Semelhante a Applying system thinking to model-based software engineering (20)

OOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptxOOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptx
 
Software Engineering : OOAD using UML
Software Engineering : OOAD using UMLSoftware Engineering : OOAD using UML
Software Engineering : OOAD using UML
 
Object Oriented Analysis and Design - Overview
Object Oriented Analysis and Design - OverviewObject Oriented Analysis and Design - Overview
Object Oriented Analysis and Design - Overview
 
Software architecture simplified
Software architecture simplifiedSoftware architecture simplified
Software architecture simplified
 
Object oriented analysis & Design- Overview
Object oriented analysis & Design- OverviewObject oriented analysis & Design- Overview
Object oriented analysis & Design- Overview
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and Answer
 
Object Oriented Analysis and Design Unit-1
Object Oriented Analysis and Design Unit-1Object Oriented Analysis and Design Unit-1
Object Oriented Analysis and Design Unit-1
 
DITEC - Software Engineering
DITEC - Software EngineeringDITEC - Software Engineering
DITEC - Software Engineering
 
Software design
Software designSoftware design
Software design
 
Accelerating time to delivery: Modernizing Application Development
Accelerating time to delivery: Modernizing Application DevelopmentAccelerating time to delivery: Modernizing Application Development
Accelerating time to delivery: Modernizing Application Development
 
"Just Enough" System Modeling
"Just Enough" System Modeling"Just Enough" System Modeling
"Just Enough" System Modeling
 
The art of architecture
The art of architectureThe art of architecture
The art of architecture
 
SMD Unit i
SMD Unit iSMD Unit i
SMD Unit i
 
Waterfall Model
Waterfall ModelWaterfall Model
Waterfall Model
 
4 sdlc
4 sdlc4 sdlc
4 sdlc
 
Arch06 1
Arch06 1Arch06 1
Arch06 1
 
An Introduction To Model  View  Controller In XPages
An Introduction To Model  View  Controller In XPagesAn Introduction To Model  View  Controller In XPages
An Introduction To Model  View  Controller In XPages
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
Ch01
Ch01Ch01
Ch01
 
Assignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audioAssignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audio
 

Mais de Prof. Amir Tomer

Functional Specification with Use-Cases
Functional Specification with Use-CasesFunctional Specification with Use-Cases
Functional Specification with Use-CasesProf. Amir Tomer
 
Cost Effectiveness of Software Reuse Alternatives
Cost Effectiveness of Software Reuse AlternativesCost Effectiveness of Software Reuse Alternatives
Cost Effectiveness of Software Reuse AlternativesProf. Amir Tomer
 
Software Modeling from Life Cycle Perspective
Software Modeling from Life Cycle PerspectiveSoftware Modeling from Life Cycle Perspective
Software Modeling from Life Cycle PerspectiveProf. Amir Tomer
 
Extracting Quality Scenarios from Functional Scenarios
Extracting Quality Scenarios from Functional ScenariosExtracting Quality Scenarios from Functional Scenarios
Extracting Quality Scenarios from Functional ScenariosProf. Amir Tomer
 

Mais de Prof. Amir Tomer (6)

Sw arch-2019-tomer
Sw arch-2019-tomerSw arch-2019-tomer
Sw arch-2019-tomer
 
Functional Specification with Use-Cases
Functional Specification with Use-CasesFunctional Specification with Use-Cases
Functional Specification with Use-Cases
 
Cost Effectiveness of Software Reuse Alternatives
Cost Effectiveness of Software Reuse AlternativesCost Effectiveness of Software Reuse Alternatives
Cost Effectiveness of Software Reuse Alternatives
 
Software Modeling from Life Cycle Perspective
Software Modeling from Life Cycle PerspectiveSoftware Modeling from Life Cycle Perspective
Software Modeling from Life Cycle Perspective
 
Software Mangineeringment
Software MangineeringmentSoftware Mangineeringment
Software Mangineeringment
 
Extracting Quality Scenarios from Functional Scenarios
Extracting Quality Scenarios from Functional ScenariosExtracting Quality Scenarios from Functional Scenarios
Extracting Quality Scenarios from Functional Scenarios
 

Último

Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROmotivationalword821
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 

Último (20)

Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTRO
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 

Applying system thinking to model-based software engineering

  • 1. 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

Notas do Editor

  1. אודות הקורס