« June 2020 »
June
MoTuWeThFrSaSu
1234567
891011121314
15161718192021
22232425262728
2930
Uni-Logo
You are here: Home Teaching Summer Term 2020 Softwaretechnik / Software Engineering (Lecture)
Document Actions

Softwaretechnik / Software Engineering (Lecture)

Software engineering is "the application of engineering to software" (IEEE 610.12). Goal of this course is to provide a broad overview over the challenges of software engineering and techniques and tools to address these challenges. We will discuss the main activities during software development (in particular project management, requirements engineering, design, testing, formal verification) with an emphasis on formal methods. We will study process models, software metrics, approaches to requirements specification and analysis, (formal) modelling and analysis techniques, design and architecture patterns, testing, and program verification.

Course type Lecture
Instructors Prof. Dr. Andreas Podelski
Dr. Bernd Westphal
Lecture Tuesday, 14:00–16:00, HS 101-00-036
Thursday, 12:00–14:00, HS 101-00-036
Exercise Tuesday, 14:00–16:00 / 16:00 - 18:00 (bi-weekly)
Group 1 - (tutor/language/room: tba)
Group 2 - (tutor/language/room: tba)
Group 3 - (tutor/language/room: tba)
Group 4 - (tutor/language/room: tba)
First session Lecture: not before 12.5.2020
Tutorial:  not before 19.5.2020
Language of instruction English
Credits 6
Exams tba
Course Catalog Softwaretechnik / Software Engineering - Vorlesung
Softwaretechnik / Software Engineering - Übung

 

Quicklinks: News - Formalia - Plan - Links & Literature

 

News

  • 2020-05-28: Errata file available, below an in the ILIAS module.
  • 2020-05-15: Slight change (or concretisation) of plans: Lecture 3 completes Decision Tables, Lecture 4 will be a "double feature" on Scenarios and finish the topic area Requirements Engineering.
  • 2020-05-04: Ready, steady, ... there's all new information in the ILIAS module.
  • 2020-04-20: if interested in the course, please join the ILIAS module (join here: ILIAS Admission) - I would like to establish the ILIAS module and forum as our primary means of communication (this homepage will not necessarily carry all information that the ILIAS module has/will have).
  • 2020-04-16: homepage online, ILIAS module online (join here: ILIAS Admission)

Formalia

Prerequisites for exam admission, form of the final exam, and everything will be announced here and in the ILIAS forum.

Admission criteria

50% of the total (120) admission (or: good will) points are sufficient.

Exercise Submission Scheme

The exercise sheets are online early in order to allow you to be aware of the tasks while following the lecture. There will be an early/regular submission scheme following a pattern to be announced. 
Please submit your solutions via ILIAS (log in with RZ account, not TF Pool account).

Note: The exercises will be rated on two scales: admission points (given your knowledge before the tutorial, how sensible is your proposal; "good will rating", "upper bound") and exam points (given the additional knowledge from the comments on your proposal and the tutorial, how many points would your proposal at least be worth in a written exam; "evil rating", "lower bound").

Exam

There will be a written exam:

  • Date & time: tba.
  • 90 min.
  • Room: tba. - please gather in the foyer in time
  • Permitted in the exam:
    max. 1 sheet of paper, max. size A4, max. 200g/qm quality, all sides may be used (written/printed/painted/...).

Note: The module result (grade, "Note") is completely determined by the exam.
 
Exam review (Klausureinsicht): tba. - see ILIAS forum post
(We will admit max. 3 people in the room at the same time, so please choose your review time randomly and just come by.  Hence if everybody arrives at 14:00, people may queue up - trusting in the power of stochastics, a random choice should yield acceptable average waiting times for all. ;-)  If said dates are not possible for you, let us know as early as possible (including your options/wishes) - then we'll see whether we can find one or the other alternative appointment which is convenient for all of us.)

Resources

Slides, Exercises, and Recordings

Note: the following plan is tentative, that is, the assignment of events and topics to dates may be subject to (if possible: mild) changes.

  • Errata (Stand 2020-05-28)
  • Mon,   4.5.: VL 00 "Introduction" - Exercise Sheet 0 online (submit via ILIAS)
    (Slides (with annotations of 2018), 2-up, 6-up,
    Recording: ILIAS Download + Stream, TF-download (2018, EN), TF-download (2019, DE)).
  • Tue, 12.5.: VL 01 "Requirements Engineering"
    Requirements Engineering basics: the RE problem, the software peoples' view on requirements; quality criteria for requirements and their (natural language) documentation; Requirements specification documents, dictionary, natural language patterns.
    (Slides (with annotations of 2018), 2-up, 6-up,
    Recording: ILIAS Download + Stream, TF-download (2018, EN), TF-download (2019, DE))
  • Thu, 14.5.: VL 02 "Formal Methods for Requirements Engineering: Decision Tables" - Exercise Sheet 1 online (submit via ILIAS)
    One example of a formal notation for requirements and its use: decision tables (DT); DT syntax and semantics, formal definitions for completeness, consistency, determinism, etc.
    (Slides (with annotations), 2-up, 6-up,
    Recording: ILIAS-Download + Stream, TF-download (2018, EN), TF-download (2019, DE))
  • Tue, 19.5.:VL 03 "Decision Tables Cont'd"
    DT syntax and semantics, formal definitions for completeness, consistency, determinism, etc continued.
    (Slides (with annotations), 2-up, 6-up,
    Recording: ILIAS-Download + Stream, TF-download (2018, EN), TF-download (2019,DE))
  • Thu, 21.5.: public holiday (ascension day)
  • Tue, 26.5.: Tutorial 1
  • Thu, 28.5.: VL 04 "Use Cases and Scenarios, Live Sequence Charts & RE Wrapup" - Exercise Sheet 2 online (submit via ILIAS)
    Scenarios and Anti-Scenarios for requirements analysis; notations User Story, Use Case, Use Case Diagram, first half of Sequence Diagrams (abstract syntax, cuts and fired-sets); LSCs and software; Requirements Engineering wrap-up.
    (Slides (with annotations), 2-up, 6-up,
    Recording: ILIAS-Download+Stream, TF-download/1 and /2 (2018, EN), TF-download/1 and /2 (2019, DE))
  • Tue,   2.6.: whitsun break
  • Thu,   4.6.: whitsun break
  • Tue,   9.6.: Tutorial 2
  • Thu, 11.6.: public holiday (corpus christi)
  • Tue, 16.6.: VL 05 "Structural Software Modelling" - Exercise Sheet 3 online (submit via ILIAS)
    Software Architecture; Views and viewpoints; Class Diagrams.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream)
  • Thu, 18.6.: VL 06 "Structural Software Modelling II"
    Object Diagrams cont'd; Proto-OCL.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream)
  • Tue, 23.6.: Tutorial  3
  • Thu, 25.6.: VL 07 "Behavioural Software Modelling" - Exercise Sheet 4 online (download additional materials and submit via ILIAS)
    Communicating Finite Automata; Uppaal Demo (miniexample.xml); Uppaal Query Language (vendingmachine.xml).
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream)
  • Tue, 30.6.: VL 08 "Behavioural Software Modelling II"
    CFA "at work"; an outlook on UML Statemachines; a brief history of UML; MBSE/MDSE; Principles of Software Design: Modularisation, information hiding, data encapsulation etc.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream)
  • Thu,   2.7.: VL 09 "Testing" - Exercise Sheet 5 online (download additional materials and submit via ILIAS)
    Test Case,  Test suite, Pass/Fail, true/false Positives/Negatives; Coverage measures, Model-based Testing.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream)
  • Tue,   7.7.: Tutorial 4
  • Thu,   9.7.: VL 10 "Program Verification" - Exercise Sheet 6 online (download additional materials and submit via ILIAS)
    Notions of correctness; Formal verification of programs: the Hoare calculus; Software Model-Checking, VCC Demo.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream)
  • Tue, 14.7.: Tutorial  5
  • Thu, 16.7.: VL 11 "Software Project Management"
    Development Project; Activities, Roles, Artefacts; From Processes to Procedure and Process Modes.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream)
  • Tue, 21.7.: Tutorial  6
  • Thu, 23.7.: VL 12 "Wrapup & Questions"
    Runtime Verification; Review; Lecture recap and (possibly) time for questions.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream)

Links & Literature

Personal tools