Upload
prof-amir-tomer
View
95
Download
2
Embed Size (px)
Citation preview
There is a System out there!Software Education from Programming to Engineering
Prof. Dr. Amir Tomer, CSEPHead, Dept. of Software Engineering
Achi Racov Engineering SchoolsKinneret Academic College on the Sea of Galilee, Jordan Valley, Israel
© P
rof.
Dr.
Am
ir To
mer
ECSEE 2016 Conference, Seeon, Germany, July 2016 1
Kinneret College on the Sea of Galilee©
Pro
f. D
r. A
mir
Tom
er
ECSEE 2016 Conference, Seeon, Germany, July 2016 2
Kinneret College on the Sea of Galilee©
Pro
f. D
r. A
mir
Tom
er
ECSEE 2016 Conference, Seeon, Germany, July 2016 3
Kinneret College –Lake View from inside the Library©
Pro
f. D
r. A
mir
Tom
er
ECSEE 2016 Conference, Seeon, Germany, July 2016 4
OTH-Regensburg & HS-KemptenPartnership with Kinneret College
© P
rof.
Dr.
Am
ir To
mer
ECSEE 2016 Conference, Seeon, Germany, July 2016 5
Prof. Dr. Robert F. SchmidtPresident
Prof. Dr. Wolfgang BaierPresident
ECSEE 2016 Conference, Seeon, Germany, July 2016 6
The main Challenges of SW Engineering Education• There is a general agreement that SW Engineering is NOT Computer Science
– “The differentiator is “Multi-Person construction of Multi-Version programs”[David Parnas]
• How should this affect SW Engineering Education? [the agenda of this talk]– Extending the sustainability range
• from employment to career development
– Extending the practice• from programming and design to business and management
– Extending the life cycle• from design-code-test to deploy-validate-maintain-reuse
– Extending the scope• from the software to the entire system
– And all-in-all: Extending the profession• from Software Engineering to Software-Intensive-Systems Engineering
© P
rof.
Dr.
Am
ir To
mer
ECSEE 2016 Conference, Seeon, Germany, July 2016 7
The main Challenges of SW Engineering Education
© P
rof.
Dr.
Am
ir To
mer
– Extending the sustainability range• from employment to career development
– Extending the practice• from programming and design to business and management
– Extending the life cycle• from design-code-test to deploy-validate-maintain-reuse
– Extending the scope• from the software to the entire system
– Extending the profession• from Software Engineering to Software-Intensive-Systems Engineering
Does the Industry Really Care about the Education of Software Engineers?
© P
rof.
Dr.
Am
ir To
mer
ECSEE 2016 Conference, Seeon, Germany, July 2016 8
ComputerScience
Software Engineering
Computer Engineering
Information Systems
Engineering
Mathematics
and CS
We actually need an experienced
programmer…
Professional Career Development©
Pro
f. D
r. A
mir
Tom
er
ECSEE 2016 Conference, Seeon, Germany, July 2016 9
SW-relatedstudies
Programmer SW Engineer SW Architect~5 years ~5 years
??
Software Domain
Brick Builder Building Engineer Architect
ProfessionalStudies
EngineeringStudies
ArchitectureStudies
Building Domain
How to Develop Career-related Knowledge and Experience?
• Educators with industrial experience– Who can provide real-life examples
• Guest lectures from the industry– To turn the unknown-unknown into known-unknown
• Industrial visits– To be exposed to the future work environment
• Participation in industry-related conferences– To be exposed to the domains where their profession will be needed
• Participation in industrial workshops– Learn in mixed-teams with practitioners
• Projects in the industry– Playing roles of senior engineers, architects and managers
© P
rof.
Dr.
Am
ir To
mer
ECSEE 2016 Conference, Seeon, Germany, July 2016 10
APPLIED AT
ECSEE 2016 Conference, Seeon, Germany, July 2016 11
The main Challenges of SW Engineering Education
© P
rof.
Dr.
Am
ir To
mer
– Extending the sustainability range• from employment to career development
– Extending the practice• from programming and design to business and management
– Extending the life cycle• from design-code-test to deploy-validate-maintain-reuse
– Extending the scope• from the software to the entire system
– Extending the profession• from Software Engineering to Software-Intensive-Systems Engineering
Why Business and Management in Engineering Studies?
• In the software industry, promotion to management positions is very often based upon SW Eng. technical experience
• Most of the entrepreneurs in the Hi-tech started as engineers• There is a good chance that our students will not only work in the industry but will rather
establish an industry• Most people who chose Software Engineering consider the high salaries over the interest
and challenge• Many students start early to develop semi-commercial applications• Courses included in the SW Eng. Curriculum at Kinneret
– Economy for Engineers– Entrepreneurship– Software Project Management
© P
rof.
Dr.
Am
ir To
mer
ECSEE 2016 Conference, Seeon, Germany, July 2016 12
Project Manager
Ms. P.C. ExpertChief Programmer
ECSEE 2016 Conference, Seeon, Germany, July 2016 13
The main Challenges of SW Engineering Education
© P
rof.
Dr.
Am
ir To
mer
– Extending the sustainability range• from employment to career development
– Extending the practice• from programming and design to business and management
– Extending the life cycle• from design-code-test to deploy-validate-maintain-reuse
– Extending the scope• from the software to the entire system
– Extending the profession• from Software Engineering to Software-Intensive-Systems Engineering
Software Engineering Education - the Starting Point
© P
rof.
Dr.
Am
ir To
mer
ECSEE 2016 Conference, Seeon, Germany, July 2016 14
#include <stdio.h>int main (){ printf(“Hello World\n”); return 0;}
os.c : >7,500 LOC
#include <os.h>
stdio.c : ~800 LOC
HelloWorld.c : 6 LOC Layered SW Architecture
Source: http://www.vlsiegypt.com/home/?p=1472
The Most Powerful Programming Tool Today©
Pro
f. D
r. A
mir
Tom
er
ECSEE 2016 Conference, Seeon, Germany, July 2016 15
Software Product Life-Cycles – the Entire Picture
StakeholderNeeds
SystemRequirements
SystemArchitecture
SoftwareRequirements
SoftwareDesign
SoftwareImplementation
Releases
InternalReleasesAgile
SWDev.
Iterative / Incremental
Development
Product Lines(Market Evolution)
Upgrades(Product Evolution)
Gene-rations
Products
Customer/Market Developers
Customer/Market
Definition and Elaboration Implementation, Integration and Testing
ContinuousDeployment
DevOps
© P
rof.
Dr.
Am
ir To
mer
ECSEE 2016 Conference, Seeon, Germany, July 2016 16
ECSEE 2016 Conference, Seeon, Germany, July 2016 17
The main Challenges of SW Engineering Education
© P
rof.
Dr.
Am
ir To
mer
– Extending the sustainability range• from employment to career development
– Extending the practice• from programming and design to business and management
– Extending the life cycle• from design-code-test to deploy-validate-maintain-reuse
– Extending the scope• from the software to the entire system
– Extending the profession• from Software Engineering to Software-Intensive-Systems Engineering
The Scope of Software
• Software-in-the-Small: Components
– Operation
• Software-in-the-Large: System
– Integration / Communication
– Operating System
• Software-in-the-Global: System-of-Systems
– Interoperability
http://www.autosec.org/pubs/cars-usenixsec2011.pdf © P
rof.
Dr.
Am
ir To
mer
ECSEE 2016 Conference, Seeon, Germany, July 2016 18
SW-in-the-Small:Component-specific Software
• Embedded Software– Firmware: Burnt within the components
• Drivers– External C&C over components
http://sudcamp.hubpages.com/hub/Sensors-in-smartphone© P
rof.
Dr.
Am
ir To
mer
ECSEE 2016 Conference, Seeon, Germany, July 2016 19
SW-in-the-Large: Software as the Nervous Subsystem of a System
The only interactive subsystem in the human body
C4I = Command, Control, Computing, Communication and Intelligence
The body’s Operating System
http://philschatz.com/anatomy-book © P
rof.
Dr.
Am
ir To
mer
ECSEE 2016 Conference, Seeon, Germany, July 2016 20
SW-in-the-Global:Software as the Enabler of Interoperability for SoS
• System-of-Systems (SoS)– A SoS is an integration of a finite number of constituent systems which are
independent and operable, and which are networked together for a period of time to achieve a certain higher goal
[prof. Mo Jamshidi, 2005]
• Interoperability– A property of a product or system, whose interfaces are completely understood, to
work with other products or systems, present or future, without any restricted access or implementation
[http://interoperability-definition.info]
• Common interoperability standards / conventions– Bluetooth– TCP/IP– XML
Halt!
Jawohl!
© P
rof.
Dr.
Am
ir To
mer
ECSEE 2016 Conference, Seeon, Germany, July 2016 21
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
» Organization» Interaction
ISO/IEC/IEEE 15288:2015 Systems and software engineering -- System life cycle processes
system element
system element
system element
system element
systemsystemsystem
system element
system element
system
system element
system element
system element
system elementsystemsystem
system-of-interest
FunctionalModel
StructuralModel
BehaviouralModel
© P
rof.
Dr.
Am
ir To
mer
ECSEE 2016 Conference, Seeon, Germany, July 2016 22
• The Hierarchical-Recursive Principle of Engineering– Everything you engineer…
1. is an element of a bigger system
2. might be a system by itself
<<abstract>>Component
+ Purpose [1...*]
System
- organization- interaction
Element
1*..
ECSEE 2016 Conference, Seeon, Germany, July 2016 23
System Thinking
A discipline for examining wholes, interrelationships, and patterns utilizing a specific set of tools and techniques(1)
Soft system thinking does not look for "the problem", but considers a problematic situation(2)
Hard system thinking is based on the premise that a problem exists and can be stated by one or more stakeholders in an objective way(2)
a system cannot be defined unless it is possible to clearly describe what it
is supposed to accomplish(3)
© P
rof.
Dr.
Am
ir To
mer
(1) Senge, P.M. 1990. The fifth discipline: The Art & Practice of the Learning Organization. New York, NY, USA: Doubleday Business(2) INCOSE, Guide to the Systems Engineering Body of Knowledge (SEBoK), v1.6, March, 2016(3) Blanchard, B.S., and W.J. Fabrycky. 2011. Systems Engineering and Analysis, 5th ed. Prentice Hall International Series in
Industrial and Systems Engineering. Englewood Cliffs, NJ, USA: Prentice Hall.
A “bug” is a fault that might cause failure.The focus should be “avoiding the failure” and not “fixing the
bug”
The focus of software development should not be to produce “a working program” but rather to provide “a solution to a business problem”
Changing the Viewpoint
System Thinking changes the viewpoint from functionality to overall quality
© P
rof.
Dr.
Am
ir To
mer
ECSEE 2016 Conference, Seeon, Germany, July 2016 24
Run-timeQuality
Attributes
Design-timeQuality
Attributes
ISO/IEC 25010 Systems and software
engineering – System and software quality models
An Example: A Course on Model-Based Software Engineering (MBSE)
EDUCON 2012 / TDSE Session
© P
rof.
Dr.
Am
ir To
mer
ECSEE 2016 Conference, Seeon, Germany, July 2016 25
“Business”
5 “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 typical levels, for which certain model types
are preferred for the sake of modeling effectiveness
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
Software Components
Software Units
Humans
Equipment
Users and other Stakeholders
Other SWISs
© P
rof.
Dr.
Am
ir To
mer
ECSEE 2016 Conference, Seeon, Germany, July 2016 26
Applying the Hiearchical-Recursive Principle in MBSE with UML
Level Elements Functional Model
Structural Model
Behavioural Model
Business SWISs Business Use Cases
Business Structure
Business Logic
SWIS Applications )SW Artifacts(
System Use Cases
Deployment Model
System Activity Diagrams / State Machine
SW Artifact SW Components
Application Use Cases
Component Diagram
Sequence Diagrams )components(
SW Component SW Modules / Objects
Component Use Cases
Class Diagram Sequence Diagrams )objects(
SW Module / Object
AttributesMethods
Code Code
© P
rof.
Dr.
Am
ir To
mer
ECSEE 2016 Conference, Seeon, Germany, July 2016 27
Sys. of Interest Hierarchy Element Derivation / Traceability Functional Derivation / Traceability
ECSEE 2016 Conference, Seeon, Germany, July 2016 28
The main Challenges of SW Engineering Education
© P
rof.
Dr.
Am
ir To
mer
– Extending the sustainability range• from employment to career development
– Extending the practice• from programming and design to business and management
– Extending the life cycle• from design-code-test to deploy-validate-maintain-reuse
– Extending the scope• from the software to the entire system
– Extending the profession• from Software Engineering to Software-Intensive-Systems Engineering
ECSEE 2016 Conference, Seeon, Germany, July 2016 29
To Summarize
• There is no software without a system• In these days most engineered systems depend on software• Therefore, effective Software Engineering Education must be applied with the
system in mind
• Traditionally, Systems Engineering is taught at post-graduate level– Isn’t this too late for software engineers?– Do we go too deep into CS and too shallow into
Systems Engineering?• Throughout your professional career,
what did you apply more: Science or Engineering?
• It is time to stipulate the right title to the right profession– and adapt the education accordingly!©
Pro
f. D
r. A
mir
Tom
er
Software-Intensive-Systems
Engineering
Thank you for listening!
Any questions?
© P
rof.
Dr.
Am
ir To
mer
ECSEE 2016 Conference, Seeon, Germany, July 2016 30