What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair,...

57
What does Engineering mean in 'Software Engineering’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering [email protected] NASSCOM 2009-05-22 Based on a SPICE 2008 Keynote, Nüremberg, 2008-05-27 ©François Coallier

Transcript of What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair,...

Page 1: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering

mean in 'Software Engineering’ ?

François Coallier, Eng., Ph.D.Chair, Department of Software and IT Engineering

[email protected]

Based on a SPICE 2008 Keynote, Nüremberg, 2008-05-27    ©François Coallier

Page 2: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

Statement

• There are many misconceptions in parts of the IT community about Software Engineering.

• The most common are that:o Software Engineering is a branch of

Computer Scienceo Teaching Software Engineering properly

is purely a matter of curricula

Page 3: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

Objectives

Make the case that:

The foundations of Software Engineering include Computer Science,

Systems Engineering, Industrial Engineering and Project Management

Teaching Software Engineering imply communicating a strong cultural

element that transcend curriculum topics

Page 4: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

CONTENT

• Engineering and Engineers• Software Engineering and IT

Disciplines• Software Engineering• Teaching Software Engineering• Conclusions

Page 5: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

Engineering and Engineers

Page 6: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

Engineers do suffer fromprejudices and misconceptions

What does Engineering mean in 'Software Engineering' ©François Coallier

Page 7: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

Engineering

To build useful things using science

Objective:

Page 8: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

Engineering vs. Science

Science: Reverse Engineering

Engineering:

Forward Engineering

Page 9: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

Imhotep (~2667 - 2648 BC)

• Chief architect to the Third Dynasty King Djoser (2687-2668 BC).

• First architect (& engineer) we know by name.

• Was in charge of building the original step pyramid at Saqqara.

Modified from http://www.bbc.co.uk/history/historic_figures/imhotep.shtml

Page 10: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

http://www.interoz.com/egypt/stepyram.htm

Page 11: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

http://www.interoz.com/egypt/stepyram.htm

Page 12: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

Origin of Engineering Disciplines

• Civil - 2500 BC (~8000 BC)

• Marine – 1500 (~3000 BC)• Mining - 1600• Materials - 1700• Mechanical – 1800

(~500 BC ?)• Electrical - 1850

• Chemical - 1880• Environmental -

1920• Aerospace - 1930• Biomedical - 1950• Industrial/Systems

– 19th cent./ 1940’s+

• Software – 1990’s ?

• Bio/Genetic ?

Extensively Modified from * Honour, E. “Characteristics of Engineering Disciplines”,13 th Int’l Conference on Systems Engineering, 1999, As quoted in a presentation from D.Thiele and P. Bourque.

Page 13: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

Mundane Thinking

What does Engineering mean in 'Software Engineering' ©François Coallier

From: The Art of Strategic Planning for Information Technology, 2nd Edition by Bernard H. Boar

Page 14: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

Engineering Thinking Bubble

What does Engineering mean in 'Software Engineering' ©François Coallier

From: The Art of Strategic Planning for Information Technology, 2nd Edition by Bernard H. Boar

Page 15: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

Engineers

Build things that are useful within:

BudgetResourcesScheduleRegulatoryOperational

….Constraints

Page 16: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

Additional challenges

Deliver both functionality and non-functional/quality attributes. May include:

PerformanceReliabilityAvailabilitySecurityUsabilityScalabilityMaintainability

Page 17: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

Engineers

By definition: -> Pragmatic individuals focused on

theoutcome of their work

- > Engineers should naturally practice ‘Agility’

Page 18: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

Engineering Strategy

Maximize re-use/incremental improvements of:

Proven patternsComponentsProcess patterns

And keep things as simple as possible.

Page 19: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

Software Engineering and

IT Disciplines

Page 20: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

IT Disciplines - The ACM/AIS/IEEE-CS 2005 View

Source: Computing Curricula 2005 The Overview Report covering undergraduate degree programs in

Computer Engineering, Computer Science, Information Systems, Information Technology and Software Engineering

A volume of the Computing Curricula Series The Joint Task Force for Computing Curricula 2005 A cooperative project of The Association for Computing Machinery

(ACM) The Association for Information Systems (AIS) The Computer Society (IEEE-CS)

30 September 2005

Page 21: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

IT Disciplines - The ACM/AIS/IEEE-CS 2005 View

• Computer Engineering (CE) Le génie informatique (GI)

• Computer Sciences (CS) L’informatique (IN)

• Software Engineering (SE) Le génie logiciel (GL)

• Information Systems (IS) L’informatique de gestion (IG)

• Information Technologies (IT) Les technologies de l’information (TI)

What does Engineering mean in 'Software Engineering' ©François Coallier

Page 22: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

IT Disciplines - The ACM/AIS/IEEE-CS 2005 View

Organizational Issues & Information Systems

Application Technologies

Software Methods and Technologies

Systems Infrastructure

Computer Hardware and Architecture

TheoryPrinciplesInnovation

Development

More Theorical

More Applied

ApplicationDeploymentConfiguration

Page 23: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

IT Disciplines - The ACM/AIS/IEEE-CS 2005 View

Organizational Issues & Information Systems

Application Technologies

Software Methods and Technologies

Systems Infrastructure

Computer Hardware and Architecture

TheoryPrinciplesInnovation

Development

More Theorical

More Applied

ApplicationDeploymentConfiguration

CE

Page 24: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

IT Disciplines - The ACM/AIS/IEEE-CS 2005 View

Organizational Issues & Information Systems

Application Technologies

Software Methods and Technologies

Systems Infrastructure

Computer Hardware and Architecture

TheoryPrinciplesInnovation

Development

More Theorical

More Applied

ApplicationDeploymentConfiguration

CS

Page 25: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

IT Disciplines - The ACM/AIS/IEEE-CS 2005 View

Organizational Issues & Information Systems

Application Technologies

Software Methods and Technologies

Systems Infrastructure

Computer Hardware and Architecture

TheoryPrinciplesInnovation

Development

More Theorical

More Applied

ApplicationDeploymentConfiguration

SE

Page 26: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

IT Disciplines - The ACM/AIS/IEEE-CS 2005 View

Organizational Issues & Information Systems

Application Technologies

Software Methods and Technologies

Systems Infrastructure

Computer Hardware and Architecture

TheoryPrinciplesInnovation

Development

More Theorical

More Applied

ApplicationDeploymentConfiguration

IS

Page 27: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

IT Disciplines - The ACM/AIS/IEEE-CS 2005 View

Organizational Issues & Information Systems

Application Technologies

Software Methods and Technologies

Systems Infrastructure

Computer Hardware and Architecture

TheoryPrinciplesInnovation

Development

More Theorical

More Applied

ApplicationDeploymentConfiguration

IT

Page 28: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

IT Disciplines - The ACM/AIS/IEEE-CS 2005 View

Organizational Issues & Information Systems

Application Technologies

Software Methods and Technologies

Systems Infrastructure

Computer Hardware and Architecture

TheoryPrinciplesInnovation

Development

More Theorical

More Applied

ApplicationDeploymentConfiguration

CE

CSSE

IS

IT

Page 29: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

• Very Development focused• Very information systems focused• Poor systems engineering perspective

Limits of the ACM View

Page 30: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

Does not adequately reflect or include the following IT bodies of knowledge:

oEngineering / IT Governance CoBIT (Control Objectives for Information and

related Technology)oSystems of Systems / Enterprise Architecture TOGAF (The Open Group Architecture

Framework)oOperations / IT Service Management

ITIL (Information Technology Infrastructure Library)

Limits of the ACM View

Page 31: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

Systems of Systems (SoS)

Multiple, heterogeneous, distributed dedicated systems

that have been developed independently through time

and pool their resources and capabilities together to obtain a new, more complex,

'meta-system' which offers more functionality and performance than simply the sum of the constituent

systems.Adapted from http://en.wikipedia.org/wiki/System_of_systems

Page 32: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

Enhanced Model

(IT/Eng) Governance

Application Technologies

Software Methods and Technologies

Systems Infrastructure

Computer Hardware and Architecture

TheoryPrinciplesInnovation

DevelopmentMore

TheoricalMore Applied

ApplicationDeploymentConfiguration

Operations /IT ServiceManagement

Systems ofSystems*

*EnterpriseArchitecture

Page 33: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

Application Technologies

Software Methods and Technologies

Systems Infrastructure

Computer Hardware and Architecture

TheoryPrinciplesInnovation

DevelopmentMore

TheoricalMore Applied

ApplicationDeploymentConfiguration

CE

Computer Engineering (CE)

Systems ofSystems*

*EnterpriseArchitecture

Operations/IT ServiceManagement

(IT/Eng) Governance

Page 34: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

Computer Science (CS)

Application Technologies

Software Methods and Technologies

Systems Infrastructure

Computer Hardware and Architecture

TheoryPrinciplesInnovation

DevelopmentMore

TheoricalMore Applied

ApplicationDeploymentConfiguration

CS

Systems ofSystems*

*EnterpriseArchitecture

Operations/IT ServiceManagement

(IT/Eng) Governance

What does Engineering mean in 'Software Engineering' ©François Coallier

Page 35: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

Information Systems (IS)

Application Technologies

Software Methods and Technologies

Systems Infrastructure

Computer Hardware and Architecture

TheoryPrinciplesInnovation

DevelopmentMore

TheoricalMore Applied

ApplicationDeploymentConfiguration

IS

Systems ofSystems*

*EnterpriseArchitecture

Operations/IT ServiceManagement

(IT/Eng) Governance

What does Engineering mean in 'Software Engineering' ©François Coallier

Page 36: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

Information Technologies (IT)

Application Technologies

Software Methods and Technologies

Systems Infrastructure

Computer Hardware and Architecture

TheoryPrinciplesInnovation

DevelopmentMore

TheoricalMore Applied

ApplicationDeploymentConfiguration

IT

Systems ofSystems*

*EnterpriseArchitecture

Operations/IT ServiceManagement

(IT/Eng) Governance

What does Engineering mean in 'Software Engineering' ©François Coallier

Page 37: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

Software Engineering Ideal

(IT/Eng) Governance

Application Technologies

Software Methods and Technologies

Systems Infrastructure

Computer Hardware and Architecture

TheoryPrinciplesInnovation

DevelopmentMore

TheoricalMore Applied

ApplicationDeploymentConfiguration

Operations/IT ServiceManagement

Systems ofSystems*

*EnterpriseArchitecture

  

 SE

Product Lines Eng. Δ

Page 38: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

Software Engineering

Page 39: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

S/W Eng. Historical Milestones

• 1st Bug: 1947• 1st compiler: 1952• COBOL – 1959• OS/360 (+ 1 Mloc) – 1964• Expression ‘Software Engineering’: 1968• 1st Software Engineering standard (FIPS 38):

1976• 1st IEEE Software Engineering standard: 1981 • Joint ISO and IEC sub-committee (SC7) created in

1987• 1st Accredited Software Engineering program:

mid 90’s? • Publication of the SWEBOK by ISO/IEC: 2005

Page 40: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

Software Engineering

• Young engineering discipline• Whose technological roots are in

computer sciences• Where standards played an important

part in its codification

Page 41: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

Industrial Engineering

What does Engineering mean in 'Software Engineering' ©François Coallier

Discipline of utilizing and coordinating humans, machines, and materials to attain a desired output rate with the optimum utilization of energy, knowledge, money, and time..http://www.businessdictionary.com/definition/industrial-engineering.html

Page 42: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

Industrial Engineering

What does Engineering mean in 'Software Engineering' ©François Coallier

From: What is Industrial Engineering?, http://www.kwaliteg.co.za/industrial/industrial%20engineering.htm

Page 43: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

Systems Engineering

What does Engineering mean in 'Software Engineering' ©François Coallier

Interdisciplinary approach governing the total technical and managerial effort required to transform a set of customer needs, expectations, and constraints into a solution and to support that solution throughout its life.

Note: includes the definition of technical performance measures; the integration of engineering specialties toward the establishment of an architecture; and the definition of supporting lifecycle processes that balance cost, performance, and schedule objectives.

(ISO/IEC 24765, Systems and Software Engineering Vocabulary)

Page 44: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

Systems Engineering History

• The term systems engineering dates back to Bell Telephone Laboratories in the early 1940s [Schlager,

1956; Hall, 1962; Fagen, 1978] as quoted in http://www.incose.org/mediarelations/briefhistory.aspx

• Hall [1962] asserts that the first attempt to teach systems engineering as we know it today came in 1950 at MIT by Mr. Gilman, Director of Systems Engineering at Bell. as quoted in

http://www.incose.org/mediarelations/briefhistory.aspx

Page 45: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

Software Engineering

The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software(ISO/IEC 24765, Systems and Software Engineering Vocabulary)

Page 46: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

Guide to the SoftWare Engineering Body

of Knowledge (SWEBOK®)• Project initiated in 1998 jointly by the IEEE

Computer Society and Association for Computing Machinery.

• ACM drop off soon after…• Defining a software engineering curricula was

outside the scope of the SWEBOK• Thousand of professionals commented the

document• Published as an ISO/IEC Technical Report –

ISO/IEC 19759 – in2005

® Registered in U.S. Patent office

Page 47: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

*Computer Sciences contribution? *

*

Page 48: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

*

*

*

*

*Computer Sciences contribution?

Page 49: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

Software & Systems/Industrial Engineering

What does Engineering mean in 'Software Engineering' ©François Coallier

• Are software engineers also systems engineers?

• Are many software engineers doing industrial engineering tasks?

Page 50: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

Software Engineering

(IT/Eng) Governance

Application Technologies

Software Methods and Technologies

Systems Infrastructure

Computer Hardware and Architecture

TheoryPrinciplesInnovation

DevelopmentMore

TheoricalMore Applied

ApplicationDeploymentConfiguration

Operations/IT ServiceManagement

Systems ofSystems*

*EnterpriseArchitecture

Systems and Industrial Eng.

Systems and Industrial Eng.

Industrial Eng.

Page 51: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

Software Engineering?

What does Engineering mean in 'Software Engineering' ©François Coallier

Extensively modified from: What is Industrial Engineering?, http://www.kwaliteg.co.za/industrial/industrial%20engineering.htm

SoftwareEngineerin

g

Computer Sciences

Systems Engineering

IndustrialEngineering

Productivity

Page 52: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

Teaching Software Engineering

Page 53: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

Teaching Software Engineering

…is also communicating a strong engineering culture through all parts of the curricula so that students:• Acquire through training and experience a

toolbox• Understand the content of their toolbox• Are trained on “how to use the right tools

for a given problem in a given context”

Page 54: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

Teaching Software Engineering

• Understand that reuse is glorious… o Emphasis on Patterns, Architecture, Systems

Integration• Use a ‘systems engineering’ approach

o ‘Engineering Bubble’• Learn to work in teams -

multidisciplinary teams that include stakeholders

• Learn “how to learn”

Page 55: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

What does Engineering mean in 'Software Engineering' ©François Coallier

Conclusions

Page 56: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

Conclusions

What does Engineering mean in 'Software Engineering' ©François Coallier

• Software engineering is a true engineering discipline were the ‘engineering roots ‘ come from industrial and systems engineering.

• Teaching and training software engineers is more than a matter of curricula, it is also a matter of communicating an engineering culture.

Page 57: What does Engineering mean in 'Software Engineering ’ ? François Coallier, Eng., Ph.D. Chair, Department of Software and IT Engineering francois.coallier@etsmtl.ca.

THANK YOU!

[email protected]