You are here: Home Teaching Summer Term 2020 Softwaretechnik / Software …

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 - Miriam,   E,     ILIAS Group
Group 2 - Jessica, E/D, ILIAS-Group
Group 3 - Max,      D/E,  ILIAS-Group
Group 4 - Julian,    D,     ILIAS-Group
First session Lecture: not before 12.5.2020
Tutorial:  not before 19.5.2020
Language of instruction English
Credits 6
Exams 17.09.2020, 8:00
Course Catalog Softwaretechnik / Software Engineering - Vorlesung
Softwaretechnik / Software Engineering - Übung

 

Quicklinks: News - Formalia - Plan - Links & Literature

 

News

  • 2021-00-00: Exam re-sit date, time, place fixed (see below).
  • 2020-06-29: Exam date, time, place fixed (see below).
  • 2020-06-09: Scheduled online tutor consultation times aka. Jitsi hangouts.
  • 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 Re-Sit

There will be a written re-sit exam:

  • Date & time: Wednesday, 2021-03-03, 14:00.
  • 90 min.
  • Room: HS 101-0-026.  Please gather in (or, better, outside) the 101 foyer in time, more detailed instructions regarding the pandemia regulations on exams will follow.
  • 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 (depending on university regulations).

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).
  • 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)
  • 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)
  • 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)
  • 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/1 and /2(with annotations), 2-up/1 and /2, 6-up/1 and /2,
    Recording: ILIAS-Download+Stream)
  • Tue,   2.6.: whitsun break
  • Thu,   4.6.: whitsun break
  • Tue,   9.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+Stream)
  • Thu, 11.6.: public holiday (corpus christi)
  • Tue, 16.6.: Online Tutor Consultation/Jitsi Hangout on Ex. 2
  • 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+Stream)
  • Tue, 23.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+Stream)
  • Thu, 25.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 [VL 08: up to Slide 39] (with annotations), 2-up, 6-up,
    Recording: ILIAS-Download+Stream)
  • Tue, 30.6.: Online Tutor Consultation/Jitsi Hangout on Ex. 3
  • 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/1 [VL 09a: from Slide 40] and /2 (with annotations), 2-up/1 and /2, 6-up/1 and /2,
    Recording: ILIAS-Download+Stream)
  • Tue,   7.7.: VL 10 "Program Verification"
    Notions of correctness; Formal verification of programs: the Hoare calculus; Software Model-Checking, VCC Demo.
    (Slides/1 and /2 (with annotations), 2-up/1 and /2, 6-up/1 and /2,
    Recording: ILIAS-Download+Stream)
  • Thu,   9.7.: VL 11 "Software Project Management" - Exercise Sheet 6 online (submit via ILIAS)
    Development Project; Activities, Roles, Artefacts; From Processes to Procedure and Process Modes.
    (Slides (with annotations), 2-up, 6-up,
    Recording: ILIAS-Download+Stream)
  • Tue, 14.7.: Online Tutor Consultation/Jitsi Hangout on Ex. 4
  • Thu, 16.7.: VL 12 "Wrapup & Questions"
    Runtime Verification; Review; Lecture recap and (possibly) time for questions.
    (Everything: ILIAS)
  • Tue, 21.7.: Online Tutor Consultation/Jitsi Hangout on Ex. 5
  • Thu, 23.7.:  ./.
  • Tue, 28.7.: Online Tutor Consultation/Jitsi Hangout on Ex. 6

Links & Literature