Contenu connexe
Similaire à There is a system out there! SW Engineering Education from Programming to Engineering (20)
Plus de Prof. Amir Tomer (8)
There is a system out there! SW Engineering Education from Programming to Engineering
- 1. There is a System out there!
Software Education from Programming to Engineering
Prof. Dr. Amir Tomer, CSEP
Head, Dept. of Software Engineering
Achi Racov Engineering Schools
Kinneret Academic College on the Sea of Galilee, Jordan Valley, Israel
amir@amirtomer.com
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 1
- 2. Kinneret College on the Sea of Galilee
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 2
- 3. Kinneret College on the Sea of Galilee
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 3
- 4. Kinneret College –Lake View from inside the Library
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 4
- 5. OTH-Regensburg & HS-Kempten
Partnership with Kinneret College
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 5
Prof. Dr. Robert F. Schmidt
President
Prof. Dr. Wolfgang Baier
President
- 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
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 6
- 7. The main Challenges of SW Engineering Education
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 7
– 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
- 8. Does the Industry Really Care about the Education of Software
Engineers?
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 8
Computer
Science
SoftwareEngineering ComputerEngineering
InformationSystems
Engineering
Mathematics
andCS
We actually need
an experienced
programmer…
- 9. Professional Career Development
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 9
SW-related
studies
Programmer SW Engineer SW Architect
~5 years ~5 years
?
Software Domain
Brick Builder
Building
Engineer
Architect
Professional
Studies
Engineering
Studies
Architecture
Studies
Building Domain
- 10. 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
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 10
- 11. The main Challenges of SW Engineering Education
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 11
– 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
- 12. 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
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 12
Project Manager
Ms. P.C. Expert
Chief Programmer
- 13. The main Challenges of SW Engineering Education
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 13
– 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
- 14. Software Engineering Education - the Starting Point
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 14
#include <stdio.h>
int main ()
{
printf(“Hello Worldn”);
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
- 15. The Most Powerful Programming Tool Today
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 15
- 16. Software Product Life-Cycles – the Entire Picture
Stakeholder
Needs
System
Requirements
System
Architecture
Software
Requirements
Software
Design
Software
Implementation
Releases
Internal
ReleasesAgile
SW
Dev.
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
Continuous
Deployment
DevOps
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 16
- 17. The main Challenges of SW Engineering Education
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 17
– 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
- 18. 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
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 18
- 20. 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
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 20
- 21. 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!
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 21
- 22. 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
Functional
Model
Structural
Model
Behavioural
Model
©Prof.Dr.AmirTomer
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..*
- 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)
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 23
(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”
- 24. Changing the Viewpoint
System Thinking changes the viewpoint from functionality to overall quality
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 24
Run-time
Quality
Attributes
Design-time
Quality
Attributes
ISO/IEC 25010
Systems and software
engineering – System and
software quality models
- 25. An Example:
A Course on Model-Based Software Engineering (MBSE)
EDUCON 2012 / TDSE Session
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 25
- 26. “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
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 26
- 27. 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
Attributes
Methods
Code Code
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 27
Sys. of Interest Hierarchy Element Derivation / Traceability Functional Derivation / Traceability
- 28. The main Challenges of SW Engineering Education
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 28
– 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
- 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!
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 29
Software-Intensive-
Systems
Engineering
- 30. Thank you for listening!
Any questions?
©Prof.Dr.AmirTomer
ECSEE 2016 Conference, Seeon, Germany, July 2016 30
Notes de l'éditeur
- אודות הקורס