30
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 [email protected] © Prof. Dr. Amir Tomer ECSEE 2016 Conference, Seeon, Germany, July 2016 1

There is a system out there! SW Engineering Education from Programming to Engineering

Embed Size (px)

Citation preview

Page 1: There is a system out there! SW Engineering Education from Programming to Engineering

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

[email protected]

© P

rof.

Dr.

Am

ir To

mer

ECSEE 2016 Conference, Seeon, Germany, July 2016 1

Page 2: There is a system out there! SW Engineering Education from Programming to Engineering

Kinneret College on the Sea of Galilee©

Pro

f. D

r. A

mir

Tom

er

ECSEE 2016 Conference, Seeon, Germany, July 2016 2

Page 3: There is a system out there! SW Engineering Education from Programming to Engineering

Kinneret College on the Sea of Galilee©

Pro

f. D

r. A

mir

Tom

er

ECSEE 2016 Conference, Seeon, Germany, July 2016 3

Page 4: There is a system out there! SW Engineering Education from Programming to Engineering

Kinneret College –Lake View from inside the Library©

Pro

f. D

r. A

mir

Tom

er

ECSEE 2016 Conference, Seeon, Germany, July 2016 4

Page 5: There is a system out there! SW Engineering Education from Programming to Engineering

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

Page 6: There is a system out there! SW Engineering Education from Programming to Engineering

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

Page 7: There is a system out there! SW Engineering Education from Programming to Engineering

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

Page 8: There is a system out there! SW Engineering Education from Programming to 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…

Page 9: There is a system out there! SW Engineering Education from Programming to Engineering

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

Page 10: There is a system out there! SW Engineering Education from Programming to Engineering

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

Page 11: There is a system out there! SW Engineering Education from Programming to Engineering

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

Page 12: There is a system out there! SW Engineering Education from Programming to 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

Page 13: There is a system out there! SW Engineering Education from Programming to Engineering

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

Page 14: There is a system out there! SW Engineering Education from Programming to 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

Page 15: There is a system out there! SW Engineering Education from Programming to Engineering

The Most Powerful Programming Tool Today©

Pro

f. D

r. A

mir

Tom

er

ECSEE 2016 Conference, Seeon, Germany, July 2016 15

Page 16: There is a system out there! SW Engineering Education from Programming to Engineering

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

Page 17: There is a system out there! SW Engineering Education from Programming to Engineering

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

Page 18: There is a system out there! SW Engineering Education from Programming to 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

Page 19: There is a system out there! SW Engineering Education from Programming to Engineering

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

Page 20: There is a system out there! SW Engineering Education from Programming to Engineering

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

Page 21: There is a system out there! SW Engineering Education from Programming to Engineering

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

Page 22: There is a system out there! SW Engineering Education from Programming to Engineering

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*..

Page 23: There is a system out there! SW Engineering Education from Programming to Engineering

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”

Page 24: There is a system out there! SW Engineering Education from Programming to Engineering

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

Page 25: There is a system out there! SW Engineering Education from Programming to Engineering

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

Page 26: There is a system out there! SW Engineering Education from Programming to Engineering

“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

Page 27: There is a system out there! SW Engineering Education from Programming to Engineering

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

Page 28: There is a system out there! SW Engineering Education from Programming to Engineering

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

Page 29: There is a system out there! SW Engineering Education from Programming to 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

Page 30: There is a system out there! SW Engineering Education from Programming to Engineering

Thank you for listening!

Any questions?

© P

rof.

Dr.

Am

ir To

mer

ECSEE 2016 Conference, Seeon, Germany, July 2016 30