« June 2018 »
June
MoTuWeThFrSaSu
123
45678910
11121314151617
18192021222324
252627282930
Uni-Logo
You are here: Home Teaching Summer Term 2018 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
Christian Schilling
Lecture Monday, 14:00–16:00, HS 101-00-026
Thursday, 12:00–14:00, HS 101-00-026
Exercise Thursday, 12:00–14:00 (bi-weekly)
Group 1 - Elisabeth (English):  HS 101-00-026
Group 2 - Felix (English):          HS 082-00-006 ("Kinohörsaal")
Group 3 - Jasmin (German):     HS 051-03-026
Group 4 - Michael (German):    SR 051-00-006
First session Lecture: Mon, 16.04.2018
Tutorial: Thu, 26.04.2018
Language of instruction English
Credits 6
Exams Written, 13.9.2018, 14:00, 90 min.
Rooms: tba.
Course Catalog Softwaretechnik / Software Engineering - Vorlesung
Softwaretechnik / Software Engineering - Übung

 

Quicklinks: News - Formalia - Plan - Links & Literature

 

News

  • 2018-06-04: everybody who is studying from other sources (like the German recording from last seasons): the exam will (of course) be based on the slides below, in particular on the "2018 edition" of LSC theory
  • 2018-05-18: the exam has got a date and time, rooms will be announced when they have been assigned
  • 2018-05-16: oops, somebody forgot to upload the last recordings - here they are, thanks for the hint.
  • 2018-04-20: ILIAS groups assigned
  • 2018-04-04: ILIAS online (join ILIAS module here)
  • 2018-04-02: homepage online

Formalia

Prerequisites for admission to the final exam, form of the final exam, and everything will be announced in the first lecture.

Admission criteria

50% of the total (= 120) admission (or: good will) points in the exercises 0-3 and 4-6 (that is, 50% in the first half and 50% in the second half) are sufficient for exam admission.

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: 13.9.2018, 14:00
  • 90 min., starting at 14:00 c.t.
  • Room: tba.
  • 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.

Resources

Slides, Exercises, and Recordings

Note: the following plan is tentative, that is, the assignment of topics to dates may be subject to mild changes.  The assignment of form (lecture or tutorial) to dates is fixed.  We will try to provide slides before the lecture.

  • Mon, 16.4.: VL 01 "Introduction" - Exercise Sheet 0 online (submit via ILIAS)
    Definitions of Software Engineering etc.; course content overview; formalia.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream)
  • Thu, 19.4.: VL 02 "Software Metrics" - Exercise Sheet 1 online, additional file  (submit via ILIAS)
    Software metrics; properties of useful metrics; kinds of scales; examples: LOC and McCabe. 
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream)
  • Mon, 23.4.: VL 03 "More Metrics & Cost Estimation"
    Subjective metrics, Goal-Question-Metric approach; Cost and Deadlines, Expert and Algorithmic Cost Estimation.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream)
  • Thu, 26.4.: Tutorial 1
  • Mon, 30.4.: VL 04 "Software Project Management" - Exercise Sheet 2 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, ILIAS-Stream)
  • Thu,  3.5.: VL 05 "Procedure and Process Models"
    Waterfall and Spiral; Prototype-based; Evolutionary, Incremental, Iterative; V-Model XT; Agile Processes; process metrics CMM(I) and SPICE.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream)
  • Mon,  7.5.: VL 06 "Requirements Engineering"
    Requirements Engineering basics: the RE problem, the software peoples' view on requirements; quality criteria for requirements and their (natural language) documentation
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream)
  • Thu, 10.5.: public holiday (ascension day)
  • Mon, 14.5.: VL 07 "Formal Methods for Requirements Engineering"
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream)
  • Thu, 17.5.: Tutorial 2 - Exercise Sheet 3 online (submit via ILIAS)
    Requirements specification documents, dictionary, natural language patterns; DT syntax and semantics.
  • Mon, 21.5.: whitsun break
  • Thu, 24.5.: whitsun break
  • Mon, 28.5.: VL 08 "Decision Tables"
    One example of a formal notation for requirements and its use: decision tables (DT); formal definitions for completeness, consistency, determinism, etc.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream)
  • Thu, 31.5.: public holiday (corpus christi)
  • Mon,  4.6.: VL 09 "Use Cases and Scenarios, Live Sequence Charts"
    Scenarios and Anti-Scenarios for requirements analysis; notations User Story, Use Case, Use Case Diagram, first half of Sequence Diagrams (abstract syntax, cuts and firedsets); Second half of the 'Sequence Diagram' story (TBA construction).
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream)
  • Thu,  7.6.: Tutorial 3
  • Mon, 11.6.: VL 10 "Live Sequence Charts & RE Wrapup" - Exercise Sheet 4 online (submit via ILIAS)
    LSCs and software; Requirements Engineering wrap-up.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream)
  • Thu, 14.6.: VL 11 "Structural Software Modelling"
    Software Architecture; Views and viewpoints; Class Diagrams.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream)
  • Mon, 18.6.: VL 12 "Structural Software Modelling II"
    Object Diagrams; Proto-OCL.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream)
  • Thu, 21.6.: Tutorial 4
  • Mon, 25.6.: VL 13 "Proto-OCL, Modularisation & Design Patterns" - Exercise Sheet 5 online (download additional materials and submit via ILIAS)
    ; Principles of Software Design: Modularisation, information hiding, data encapsulation etc.; Architectural patterns (layers, pipeline, MVC); Design Patterns.
    (preliminary Slides, 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream,
    Vending Machine model (vm.xml, vm.q) from the demo)
  • Thu, 28.6.: VL 14 "Behavioural Software Modelling"
    Communicating Finite Automata; Uppaal Demo; Uppaal Query Language; CFA "at work".
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream)
  • Mon,  2.7.: VL 15 "Software Quality Assurance"
    Implementing CFA; an outlook on UML Statemachines; Test Case,  Test suite, Pass/Fail, true/false Positives and Negatives.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream)
  • Thu,  5.7.: Tutorial 5
  • Mon,  9.7.: VL 16 "Testing" - Exercise Sheet 6 online (additional material) (submit via ILIAS)
    Coverage measures, Model-based Testing, Runtime Verification.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream)
  • Thu, 12.7.: VL 17 "Software Verification"
    Notions of correctness; Formal verification of software: the Hoare calculus.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream)
  • Mon, 16.7.: VL 18 "Wrapup & Questions"
    Software Model-Checking, VCC Demo; Review; Lecture recap and time for questions.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream)
  • Thu, 19.7.: Tutorial 6
  • Errata for the course slides.

Links & Literature

Personal tools