lecture 1: introduction - uni-freiburg.de · workshop (technical product) studio (artwork) mental...

38
– 1 – 2016-04-18 – main – Softwaretechnik / Software-Engineering Lecture 1: Introduction 2016-04-18 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany

Upload: others

Post on 18-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

–1

–2

016

-04

-18

–m

ain

Softwaretechnik / Software-Engineering

Lecture 1: Introduction

2016-04-18

Prof. Dr. Andreas Podelski, Dr. Bernd Westphal

Albert-Ludwigs-Universität Freiburg, Germany

Page 2: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

Content–

1–

20

16-0

4-1

8–

Sco

nte

nt

2/36

• Software, Engineering, Software Engineering

• Successful Software Development

• working definition: success

• unsuccessful software development exists

• common reasons for non-success

• Course

• Content

• topic areas

• structure of topic areas

• emphasis: formal methods

• relation to other courses

• literature

• Organisation

• lectures

• tutorials

• exam

Page 3: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

Software, Engineering, Software Engineering

–1

–2

016

-04

-18

–m

ain

3/36

Page 4: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

–1

–2

016

-04

-18

–S

iee

e6

1012

4/36

Authorized licensed use limited to: UNIVERSITAET FREIBURG. Downloaded on April 03,2015 at 13:47:32 UTC from IEEE Xplore. Restrictions apply.

Reference numberISO/IEC/IEEE 24765:2010(E)

© ISO/IEC 2010© IEEE 2010

INTERNATIONAL STANDARD

ISO/IEC/IEEE

24765

First edition2010-12-15

Systems and software engineering — Vocabulary

Ingénierie des systèmes et du logiciel — Vocabulaire

Authorized licensed use limited to: Michigan State University. Downloaded on September 06,2014 at 17:36:30 UTC from IEEE Xplore. Restrictions apply.

Page 5: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

–1

–2

016

-04

-18

–S

soft

war

e–

5/36

Software — Computer programs, procedures, and possibly associated documentationand data pertaining to the operation of a computer system.

See also: application software; support software; system software.

Contrast with: hardware. IEEE 610.12 (1990)

Software —

1. all or part of the programs, procedures, rules, and associated documentation of aninformation processing system. [...]

2. see 610.12

3. program or set of programs used to run a computer. [...]

NOTE: includes firmware, documentation, data, and execution control statements.

IEEE 24765 (2010)

Page 6: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

Engineering vs. Non-Engineering–

1–

20

16-0

4-1

8–

Se

ngi

ne

eri

ng

6/36

workshop(technical product)

studio(artwork)

Mentalprerequisite

the existing andavailable technicalknow-how

artist’s inspiration,among others

Deadlines can usually be plannedwith sufficient precision

cannot be planned dueto dependency onartist’s inspiration

Price oriented on cost,thus calculable

determined by marketvalue, not by cost

Norms andstandards

exist, are known, andare usually respected

are rare and, if known,not respected

Evaluation andcomparison

can be conducted usingobjective, quantifiedcriteria

is only possiblesubjectively,results are disputed

Author remains anonymous,often lacks emotionalties to the product

considers the artwork aspart of him/herself

Warranty andliability

are clearly regulated,cannot be excluded

are not defined and inpractice hardlyenforceable

(Ludewig and Lichter, 2013)

westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
Page 7: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

Software Engineering–

1–

20

16-0

4-1

8–

Ssw

en

g–

7/36

Software Engineering —(1) The application of a systematic, disciplined, quantifiable approach to the develop-ment, operation, and maintenance of software; that is, the application of engineeringto software.

(2) The study of approaches as in (1). IEEE 610.12 (1990)

Software Engineering —

1. the systematic application of scientific and technological knowledge, methods, andexperience to the design, implementation, testing, and documentation of software.

2. see IEEE 610.12 (1) ISO/IEC/IEEE 24765 (2010)

Software Engineering:Multi-person Development of Multi-version Programs.

D. L. Parnas (2011)

fiff

.info

rmat

ik.u

ni-

bre

me

n.d

e/

20

01/

asse

ts/

imag

es/

Software Engineering — the establishment and use of sound engineeringprinciples to obtain economically software that is reliable and works effi-ciently on real machines. F. L. Bauer (1971)

com

mo

ns.

wik

ime

dia

.org

(CC

-by

-sa

3.0

)

Page 8: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

–1

–2

016

-04

-18

–S

swe

ng

8/36

Software Engineering — (1) The application of a systematic, dis-ciplined, quantifiable approach to the development, operation,and maintenance of software; that is, the application of engineer-ing to software.

(2) The study of approaches as in (1). IEEE 610.12 (1990)

Software Engineering — 1. the systematic application of scientificand technological knowledge, methods, and experience to thedesign, implementation, testing, and documentation of software.

2. see 610.12 (1). ISO/IEC/IEEE 24765 (2010)

Software Engineering: Multi-person Development of Multi-version Programs. D. L. Parnas (2011)

Software Engineering — the establishment and use of sound en-gineering principles to obtain economically software that is reli-able and works efficiently on real machines. F. L. Bauer (1971)

0018-9162/01/$10.00 © 2001 IEEEComputer

SoftwareEngineering inthe Academy

There is no universally accepted definition of software engineering.For some, software engineering is just a glorified name for program-ming. If you are a programmer, you might put “software engineer”on your business card but never “programmer.” Others have higherexpectations. A textbook definition of the term might read something

like this: “the body of methods, tools, and techniques intended to produce qual-ity software.”

Rather than just emphasizing quality, we could distinguish software engi-neering from programming by its industrial nature, leading to another definition:“the development of possibly large systems intended for use in production envi-ronments, over a possibly long period, worked on by possibly many people, andpossibly undergoing many changes,” where “development” includes manage-ment, maintenance, validation, documentation, and so forth.

David Parnas,1 a pioneer in the field, emphasizes the “engineering” part andadvocates a software engineering education firmly rooted in traditional engi-neering—including courses on materials and the like—and split from computerscience the way electrical engineering is separate from physics.

Because this article presents a broad perspective on software education, I won’tsettle on any of these definitions; rather, I’d like to accept that they are all insome way valid and retain all the views of software they encompass. In fact, Iam not just focusing on the “software engineering courses” traditionally offeredin many universities but more generally on how to instill software engineeringconcerns into an entire software curriculum.

If not everyone agrees on the definition of the discipline, few question itsimportance. We might have wished for less embarrassing testimonials of ourwork’s societal relevance than the Y2K scare, but it is still fresh enough in every-one’s mind to remind us how much the world has come to rely on software sys-tems. The institutions that teach software—either as part of computer scienceor in a specific software engineering program—are responsible for producingsoftware professionals who will build and maintain these systems to the satis-faction of their beneficiaries.

SOFTWARE PROFESSIONALS

Judging by the employment situation, current and future graduates can be happywith their studies. The Information Technology Association of America estimatedin April 20002 that 850,000 IT jobs would go unfilled in the next 12 months. Thedearth of qualified personnel is just as perceptible in Europe and Australia. Salariesare excellent. Project leaders wake up at night worrying about headhunters hir-ing away some of their best developers—or pondering the latest offers they receivedthemselves.

Institutions that teach

software are responsible

for producing

professionals who will

build and maintain

systems to the

satisfaction of their

beneficiaries. This

article presents some

ideas on how best to

honor this

responsibility.

Bertrand MeyerInteractive Software Engineering

For some, software engineering is just a glorified name for program-

some way valid and retain all the views of software they encompass. In fact, I

Page 9: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

–1

–2

016

-04

-18

–S

swe

ng

8/36

Software Engineering — (1) The application of a systematic, dis-ciplined, quantifiable approach to the development, operation,and maintenance of software; that is, the application of engineer-ing to software.

(2) The study of approaches as in (1). IEEE 610.12 (1990)

Software Engineering — 1. the systematic application of scientificand technological knowledge, methods, and experience to thedesign, implementation, testing, and documentation of software.

2. see 610.12 (1). ISO/IEC/IEEE 24765 (2010)

Software Engineering: Multi-person Development of Multi-version Programs. D. L. Parnas (2011)

Software Engineering — the establishment and use of sound en-gineering principles to obtain economically software that is reli-able and works efficiently on real machines. F. L. Bauer (1971)

0018-9162/01/$10.00 © 2001 IEEEComputer

SoftwareEngineering inthe Academy

There is no universally accepted definition of software engineering.For some, software engineering is just a glorified name for program-ming. If you are a programmer, you might put “software engineer”on your business card but never “programmer.” Others have higherexpectations. A textbook definition of the term might read something

like this: “the body of methods, tools, and techniques intended to produce qual-ity software.”

Rather than just emphasizing quality, we could distinguish software engi-neering from programming by its industrial nature, leading to another definition:“the development of possibly large systems intended for use in production envi-ronments, over a possibly long period, worked on by possibly many people, andpossibly undergoing many changes,” where “development” includes manage-ment, maintenance, validation, documentation, and so forth.

David Parnas,1 a pioneer in the field, emphasizes the “engineering” part andadvocates a software engineering education firmly rooted in traditional engi-neering—including courses on materials and the like—and split from computerscience the way electrical engineering is separate from physics.

Because this article presents a broad perspective on software education, I won’tsettle on any of these definitions; rather, I’d like to accept that they are all insome way valid and retain all the views of software they encompass. In fact, Iam not just focusing on the “software engineering courses” traditionally offeredin many universities but more generally on how to instill software engineeringconcerns into an entire software curriculum.

If not everyone agrees on the definition of the discipline, few question itsimportance. We might have wished for less embarrassing testimonials of ourwork’s societal relevance than the Y2K scare, but it is still fresh enough in every-one’s mind to remind us how much the world has come to rely on software sys-tems. The institutions that teach software—either as part of computer scienceor in a specific software engineering program—are responsible for producingsoftware professionals who will build and maintain these systems to the satis-faction of their beneficiaries.

SOFTWARE PROFESSIONALS

Judging by the employment situation, current and future graduates can be happywith their studies. The Information Technology Association of America estimatedin April 20002 that 850,000 IT jobs would go unfilled in the next 12 months. Thedearth of qualified personnel is just as perceptible in Europe and Australia. Salariesare excellent. Project leaders wake up at night worrying about headhunters hir-ing away some of their best developers—or pondering the latest offers they receivedthemselves.

Institutions that teach

software are responsible

for producing

professionals who will

build and maintain

systems to the

satisfaction of their

beneficiaries. This

article presents some

ideas on how best to

honor this

responsibility.

Bertrand MeyerInteractive Software Engineering

There is no universally accepted definition of software engineering.For some, software engineering is just a glorified name for program-

Because this article presents a broad perspective on software education, I won’tsettle on any of these definitions; rather, I’d like to accept that they are all insome way valid and retain all the views of software they encompass. In fact, I

Page 10: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

The course’s working definition of Software Engineering–

1–

20

16-0

4-1

8–

Ssw

en

g–

9/36

Software Engineering —

(1) The application of a systematic, disciplined, quantifiable approach to thedevelopment, operation, and maintenance of software; that is, the applica-tion of engineering to software.

(2) The study of approaches as in (1). IEEE 610.12 (1990)

Software Engineering — the establishment and use of sound engineeringprinciples to obtain economically software that is reliable and works effi-ciently on real machines. F. L. Bauer (1971)

scope,quality

cost,time

cost

time

westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
Page 11: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

“software that is reliable and works efficiently” (Bauer, 1971)

–1

–2

016

-04

-18

–S

swe

ng

10/36

More general: software of (good) quality (cf. ISO/IEC 9126-1:2000 (2000))

software related quality

process quality . . .

product quality

functionality

suitabilityaccuracy

interoperability

security

reliability

maturity

fault tolerance

recoverability

usability

understandability

learnability

operability

attractiveness

efficiencytime behaviour

resource utilisation

maintainability

analysability

changeability

stability

testability

portability

adaptability

installability

co-existence

replaceability

6.1 FunctionalityThe capability of the software product to providefunctions which meet stated and implied needs whenthe software is used under specified conditions.

6.1.1 SuitabilityThe capability of the software product to provide anappropriate set of functions for specified tasks anduser objectives.

westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
Page 12: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

“software that is reliable and works efficiently” (Bauer, 1971)

–1

–2

016

-04

-18

–S

swe

ng

10/36

More general: software of (good) quality (cf. ISO/IEC 9126-1:2000 (2000))

software related quality

process quality . . .

product quality

functionality

suitabilityaccuracy

interoperability

security

reliability

maturity

fault tolerance

recoverability

usability

understandability

learnability

operability

attractiveness

efficiencytime behaviour

resource utilisation

maintainability

analysability

changeability

stability

testability

portability

adaptability

installability

co-existence

replaceability

Page 13: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

Successful Software Development

–1

–2

016

-04

-18

–m

ain

11/36

Page 14: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

When is Software Development Successful?–

1–

20

16-0

4-1

8–

Sal

lhap

py

12/36

Developer Customer User

A software development project is successful

if and only if

developer, customer, and user are happy with the result at the end of the project.

westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
Page 15: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

Is Software Development Always Successful?–

1–

20

16-0

4-1

8–

Ssu

cce

ss–

13/36

Erfolgs- und Misserfolgsfaktoren

bei der Durchfuhrung von Hard- und

Softwareentwicklungsprojekten

in Deutschland

2006

Autoren:

Ralf BuschermohleHeike EekhoffBernhard Josko

Report: VSEK/55/DVersion: 1.1Datum: 28.09.2006

Page 16: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

Some Empirical Findings (Buschermöhle et al. (2006))

–1

–2

016

-04

-18

–S

succ

ess

14/36

3.17

30.16

6.88

5.03

25.66

29.1

1-9,999

10,000-99,999

100,000-499,999

500,000-999,999

≥ 1,000,000

not specified

budget in e (378 responses)

33.072.91

10.05

22.4925.13

≤ 3

> 3-6

> 6-12

> 12-24

> 24

planned duration in months (378 responses)

0 %

10 %

20 %

30 %

40 %

50 %

60 %

70 %

business critical mission critical safety critical

Criticality (378 responses, 30 ’not spec.’)

97.352.65

completed

cancelled

project completion (378 responses)

72.01

24.73

2.45

kept

early

late

deadline (368 responses)

0.27

82.61

4.89

4.89

5.16

1.925-49 %

50-74 %

75-89 %

90-94 %

95-99 %

100 %

main functionality realised (368 responses)

81.52

11.14

3.26

kept

below

above

budget (368 responses)

29.67

15.38

5.49

9.89

20.88

< 20 %

20-49 %

50-99 %

100-199 %

≥ 200 %

deadline missed by (91 responses)

4.89

57.61

8.157.61

13.04

4.89

2.99

< 25 %

25-49 %

50-74 %

75-89 %

90-94 %

95-99 %

100 %

secondary functionality realised (368 responses)

Page 17: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

A Closer Look–

1–

20

16-0

4-1

8–

Sw

ron

gs–

15/36

• Successful:

Software!

Customer Developer

software contract

Time t:

100

100

100

Developer Customer

software delivery

Time t′ ≥ t:

• Unsuccessful:

Software!

Customer Developer

software contract

Time t:

:-(

:-(

100

100

100

Developer Customer

software delivery

Time t′ ≥ t:

What might’ve gone wrong?

Page 18: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

–1

–2

016

-04

-18

–S

wro

ngs

16/36

Software!

Customer Developer

software contract

Time t:

:-(

:-(

100

100

100

Developer Customer

software delivery

Time t′ ≥ t:

. . .

Cap

turi

ng

Re

qu

ire

me

nts

De

sign

Imp

lem

en

tati

on

Co

de

Qu

alit

yA

ssu

ran

ce

. . .

➀ ➁ ➂ ➃

Software Project Management➄

Some scenarios:➀ ➁ ➂ ➃ ➄

✘ ✔ ✔ ✔ ✔ e.g. misunderstanding of requirements

✔ ✘ ✔ ✔ ✔ e.g. non-scalable design

✔ ✔ ✘ ✔ ✔ e.g. programming mistake

✔ ✔ ✔ ✘ ✔ e.g. wrongly conducted test

✔ ✔ ✔ ✔ ✘ e.g. wrong estimates

Page 19: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

Course: Content

–1

–2

016

-04

-18

–m

ain

17/36

Page 20: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

Course Content–

1–

20

16-0

4-1

8–

Scc

on

ten

t–

18/36

. . .

Cap

turi

ng

Re

qu

ire

me

nts

De

sign

Imp

lem

en

tati

on

Co

de

Qu

alit

yA

ssu

ran

ce

. . .

Software Project Management

Introduction L 1: 18.4., Mon

L 2: 21.4., ThuScales, Metrics,Costs L 3: 25.4., Mon

T 1: 28.4., Thu

Development L 4: 2.5., Mon

- 5.5., Thu

Process L 5: 9.5., Mon

L 6: 12.5., Thu

- 16.5., Mon

- 19.5., Thu

T 2: 23.5., Mon

- 26.5., Thu

L 7: 30.5., Mon

L 8: 2.6., ThuRequirementsEngineering

L 9: 6.6., Mon

T 3: 9.6., Thu

L10: 13.6., Mon

L 11: 16.6., ThuArchitecture &

DesignL 12: 20.6., Mon

T 4: 23.6., Thu

L 13: 27.6., MonSoftwareMondelling L 14: 30.6., Thu

L 15: 4.7., Mon

T 5: 7.7., Thu

L16: 11.7., Mon

L 17: 14.7., ThuQuality Assurance(Testing, Formal

Verification) L18: 18.7., MonWrap-Up L19: 21.7., Thu

westphal
Bleistift
westphal
Bleistift
Page 21: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

Structure of Topic Areas–

1–

20

16-0

4-1

8–

Scc

on

ten

t–

19/36

Example: Requirements Engineering

Vocabulary e.g. consistent,complete, tacit, etc.

Techniques

informal

semi-formal

formal

Page 22: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

Excursion: Informal vs. Formal Techniques–

1–

20

16-0

4-1

8–

Scc

on

ten

t–

20/36

Example: Requirements Engineering, Airbag Controller

Dai

mle

rCh

rysl

er

AG

,CC

BY

-SA

3.0

Requirement:

Whenever a crash is detected, the airbag has to be fired within 300ms (±ε).

Developer A

‘within’ means‘≤’; so 100ms is

okay, too

Developer B

‘within’ meansbetween 300− ε

and 300 + ε

vs.

• Fix observables: crashdetected : Time → {0, 1} and fireairbag : Time → {0, 1}

• Formalise requirement:

∀ t, t′ ∈ Time • crashdetected(t) ∧ airbagfired(t′) =⇒ t

′ ∈ [t+ 300− ε, t+ 300 + ε]

→ no more misunderstandings, sometimes tools can objectively decide: requirement satisfied yes/no.

westphal
Bleistift
westphal
Bleistift
Page 23: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

–1

–2

016

-04

-18

–S

cco

nte

nt

21/36

→ no more misunderstandings, sometimes tools can objectively decide: requirement satisfied yes/no.

Page 24: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

Structure of Topic Areas–

1–

20

16-0

4-1

8–

Scc

on

ten

t–

22/36

Example: Requirements Engineering

Vocabulary e.g. consistent,complete, tacit, etc.

Techniques

informal

semi-formal

formal

In the course:

e.g. “Whenever a crash. . . ”

e.g. “Always, if 〈crash〉 at t. . . ”

e.g. “∀ t, t′ ∈ Time • . . . ”

Use Cases

Pattern Language

Decision TablesLive Sequence Charts

westphal
Bleistift
Page 25: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

Content–

1–

20

16-0

4-1

8–

Sco

nte

nt

23/36

• Software, Engineering, Software Engineering

• Successful Software Development

• working definition: success

• unsuccessful software development exists

• common reasons for non-success

• Course

• Content

• topic areas

• structure of topic areas

• emphasis: formal methods

• relation to other courses

• literature

• Organisation

• lectures

• tutorials

• exam

Page 26: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

Course Software-Engineering vs. Other Courses–

1–

20

16-0

4-1

8–

Sre

l–

24/36

ProjectManagement

Vocabulary

Techniques

informal

formal

RequirementsEngineering

Vocabulary

Techniques

informal

formal

Design, SWModelling

Vocabulary

Techniques

informal

formal

Implementation

Vocabulary

Techniques

QualityAssurance

Vocabulary

Techniques

informal

formal

Op. Sys. Networks

Tech. InfoInfo I

Info II

Info III Logic Graph Theory Maths I Maths II

Optimisation Stochastics

The lecturer points out connections toother topics areas (e.g. research, praxis).

totallyagree

◦ ◦ ◦ ◦ ◦ stronglydisagree✔

westphal
Bleistift
Page 27: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

Course Software-Engineering vs. Softwarepraktikum–

1–

20

16-0

4-1

8–

Sre

l–

25/36

On popular demand,the chair for softwareengineering agreedon: strong(er)coupling betweenboth courses.

Introduction L 1: 18.4., Mon

L 2: 21.4., ThuScales, Metrics,Costs L 3: 25.4., Mon

T 1: 28.4., Thu

Development L 4: 2.5., Mon

- 5.5., Thu

Process L 5: 9.5., Mon

L 6: 12.5., Thu

- 16.5., Mon

- 19.5., Thu

T 2: 23.5., Mon

- 26.5., Thu

L 7: 30.5., Mon

L 8: 2.6., ThuRequirementsEngineering

L 9: 6.6., Mon

T 3: 9.6., Thu

L10: 13.6., Mon

L 11: 16.6., ThuArchitecture &

DesignL 12: 20.6., Mon

T 4: 23.6., Thu

L 13: 27.6., MonSoftwareMondelling L 14: 30.6., Thu

L 15: 4.7., Mon

T 5: 7.7., Thu

L16: 11.7., Mon

L 17: 14.7., ThuQuality Assurance(Testing, Formal

Verification) L18: 18.7., MonWrap-Up L19: 21.7., Thu

westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
Page 28: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

Literature–

1–

20

16-0

4-1

8–

Slit

26/36

ProjectManagement

Vocabulary

Techniques

informal

formal

RequirementsEngineering

Vocabulary

Techniques

informal

formal

Design, SWModelling

Vocabulary

Techniques

informal

formal

QualityAssurance

Vocabulary

Techniques

informal

formal

. . .more on the course homepage.

Page 29: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

Any Questions So Far?

–1

–2

016

-04

-18

–m

ain

27/36

Page 30: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

Course: Organisation

–1

–2

016

-04

-18

–m

ain

28/36

Page 31: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

Organisation: Lectures–

1–

20

16-0

4-1

8–

So

rgal

ec

29/36

• Homepage: http://swt.informatik.uni-freiburg.de/teaching/SS2016/swtvl

• Course language: English (since we are in an even year)

• Script/Media:

• slides without annotations on homepage with beginning of lecture the latest

• slides with annotations on homepage typically soon after the lecture

• recording on ILIAS (stream and download) with max. 2 days delay (cf. link on homepage)

• Schedule: topic areas à three 90 min. lectures, one 90 min. tutorial (with exceptions)

• Interaction: absence often moaned; but it takes two, so please ask/comment immediately.

• Questions/comments:

• “online”: ask immediately or in the break

• “offline”: (i) try to solve yourself(ii) discuss with colleagues(iii) a) Exercises: ILIAS (group) forum, contact tutor

b) Everything else: contact lecturer (cf. homepage)or just drop by: Building 52, Room 00-020

• Break: we’ll have a 5-10 min. breakin the middle of each lecture (from now on),unless a majority objects now. ·

14:15

15:00

15:45

vs. ·

14:15

15:0015:10

15:55

westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
Page 32: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

Organisation: Exercises & Tutorials–

1–

20

16-0

4-1

8–

So

rgat

ut

30/36

• Schedule/Submission:

• exercises online (homepage and ILIAS) with first lecture of a block,

• early submission 24h before tutorial(usually Wednesday, 12:00, local time),

• regular submission right before tutorial(usually Thursday, 12:00, local time).

• please submit electronically via ILIAS; paper submissions are tolerated

• should work in teams of approx. 3, clearly give names on submission

• Grading system: “most complicated grading system ever”

• Admission points (good-will rating, upper bound)

(“reasonable grading given student’s knowledge before tutorial”)

• Exam-like points (evil rating, lower bound)

(“reasonable grading given student’s knowledge after tutorial”)

10% bonus for early submission.

• Tutorial: Three groups (central assignment), hosted by tutor.

• Starting from discussion of the early submissions (anonymous),develop one good proposal together,

• tutorial notes provided via ILIAS.

Introduction L 1: 18.4., Mon

L 2: 21.4., ThuScales, Metrics,Costs L 3: 25.4., Mon

T 1: 28.4., Thu

Development L 4: 2.5., Mon

- 5.5., Thu

Process L 5: 9.5., Mon

L 6: 12.5., Thu

- 16.5., Mon

- 19.5., Thu

T 2: 23.5., Mon

- 26.5., Thu

L 7: 30.5., Mon

L 8: 2.6., ThuRequirementsEngineering

L 9: 6.6., Mon

T 3: 9.6., Thu

L10: 13.6., Mon

L 11: 16.6., ThuArchitecture &

DesignL 12: 20.6., Mon

T 4: 23.6., Thu

L 13: 27.6., MonSoftwareMondelling L 14: 30.6., Thu

L 15: 4.7., Mon

T 5: 7.7., Thu

L16: 11.7., Mon

L 17: 14.7., ThuQuality Assurance(Testing, Formal

Verification) L18: 18.7., MonWrap-Up L19: 21.7., Thu

westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
Page 33: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

Organisation: Exam–

1–

20

16-0

4-1

8–

So

rgae

xam

31/36

• Exam Admission:

Achieving 50% of the regular admission points in totalis sufficient for admission to exam.

20 regular admission points on exercise sheets 1–6, and10 regular admission points on sheets 0 and 7

→ 120 regular admission points for 100%.

• Exam Form:

• written exam

• date, time, place: tba

• permitted exam aids: one A4 paper (max. 21 x 29.7 x 1 mm) of notes, max. two sides inscribed

• scores from the exercises do not contribute to the final grade.

• example exam available on ILIAS

Page 34: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

One Last Word on The Exercises. . .–

1–

20

16-0

4-1

8–

Sb

adco

p–

32/36

quality of submission

good-will rating

I have improved my skills in scientificproblem solving.

totallyagree

◦ ◦ ◦ ◦ ◦ stronglydisagree✘

I have improved my skills in scientificproblem solving.

totallyagree

◦ ◦ ◦ ◦ ◦ stronglydisagree✔

• Every exercise task is a tiny little scientific work!

• Basic rule for high quality submissions:

• rephrase the task in your own words,

• state your solution,

• convince your tutor of (at best: prove) the correctness of your solution.

westphal
Bleistift
Page 35: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

Tell Them What You’ve Told Them. . .–

1–

20

16-0

4-1

8–

Stt

wy

tt–

33/36

• Basic vocabulary:

• software, engineering, software engineering,

• customer, developer, user,

• successful software development

→ note: in many cases, definitions are neither formal nor universally agreed

• (Fun) fact: software development is not always successful

• Basic activities of software engineering:

• gather requirements,

• design,

• implementation,

• quality assurance,

• project management

→ motivates content of the course

• Formal (vs. informal) methods

• avoid misunderstandings,

• enable objective, tool-based assessment

→ note: humans are at the heart of software engineering.

• Course content and organisation

westphal
Bleistift
westphal
Bleistift
Page 36: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

Any (More) Questions?

–1

–2

016

-04

-18

–m

ain

34/36

Page 37: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

References

–1

–2

016

-04

-18

–m

ain

35/36

Page 38: Lecture 1: Introduction - uni-freiburg.de · workshop (technical product) studio (artwork) Mental prerequisite the existingand available technical know-how artist’s inspiration,

References–

1–

20

16-0

4-1

8–

mai

n–

36/36

Bauer, F. L. (1971). Software engineering. In IFIP Congress (1), pages 530–538.

Buschermöhle, R., Eekhoff, H., and Josko, B. (2006). success – Erfolgs- und Misserfolgsfaktoren bei derDurchführung von Hard- und Softwareentwicklungsprojekten in Deutschland. Technical Report VSEK/55/D.

IEEE (1990). IEEE Standard Glossary of Software Engineering Terminology. Std 610.12-1990.

ISO/IEC FDIS (2000). Information technology – Software product quality – Part 1: Quality model. 9126-1:2000(E).

ISO/IEC/IEEE (2010). Systems and software engineering – Vocabulary. 24765:2010(E).

Ludewig, J. and Lichter, H. (2013). Software Engineering. dpunkt.verlag, 3. edition.

Parnas, D. L. (2011). Software engineering: Multi-person development of multi-version programs. In Jones, C. B.et al., editors, Dependable and Historic Computing, volume 6875 of LNCS, pages 413–427. Springer.