You are here: Home Teaching Summer Term 2016 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) modeling and analysis techniques, design and architecture patterns, testing, and program verification.
Course type Lecture
Instructors Prof. Dr. Andreas Podelski, Dr. Bernd Westphal
Sergio Feo-Arenis
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 - english: HS 101-00-026 (Moritz Freidank)
Group 2 - german: SR 051-00-006 (Michael Steinle)
Group 3 - english: HS 082-00-006 (Milan Vujinovic)
First session Lecture 18.04.2016
Tutorial 28.04.2016
Language of instruction English
Credits 6
Exams Re-sit: March 29th, 2017 - 14:00 c.t.
Room: Bldg. 101-00-010/014

Written - September 9th, 2016 - 9:00 AM
Rooms: Bldg. 101 - HS 00-026 + HS 00-036
Course Catalog Softwaretechnik / Software Engineering - Vorlesung
Softwaretechnik / Software Engineering - Übung

 

Quicklinks: News - Formalia - Plan - Links & Literature

 

News

  • 2017-03-27: according to the HisInOne system, the exam re-sit is on 29. March 2017, 14:00 c.t. (please be there at 14:00 s.t.), in room 101-00-010/014 (another written exam, 90 min.).
  • 2016-10-27: The exam in the winter semester will be another written exam; time/date/place will be scheduled by the examination office.
  • 2016-10-05: Exam Review Date

 The exam review will take place on:

Friday, October 7th at 10:30-12:30 and 13:30-15:30
in Building 052 Room 00-016.

If you have a good reason and cannot make it, please contact Sergio ASAP for an extra appointment, otherwise, the exams will be sent to the examination office towards the end of the month.

  • 2016-07-20+21: errata file updated.
  • 2016-07-12: A new version of Exercise Sheet 6 with an additional bonus task is online.
  • 2016-06-30: the first errors have been spotted - see errata file for corrections (it will continuously be updated in the following), see link at the end of the schedule.  Thanks for pointing out the errors!
  • 2016-06-27: Exercise Sheet 5 will be ready later today (or early tomorrow) - we still need to make sure that it's not too easy to get the 1000 bonus points.
  • 2016-06-15: For those students who require to take their exams before the official date on September 9th, we can offer personalized appointments for an oral exam. If you require such an appointment, please contact the course organizers directly to set a date. The sooner you do it, the better, otherwise we may not be able to accommodate to your departure dates.
  • 2016-05-23: IMPORTANT: Please note the changed rooms for exercise groups 2 and 3 *today only*
      • Group 1: Bldg. 101 HS 00-026 (as usual)
      • Group 2: Bldg. 078 SR 00-014
      • Group 3: Bldg. 101 SR 02-016/18
  • 2016-04-18: you may use this  link to enter the ILIAS module directly
  • 2016-04-18: more information on exercise sheets in general, and Exercise Sheet 0 in particular, in the ILIAS Forum - please post any questions or comments there.
  • 2016-04-07: 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 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: Friday, September 9th, 2016 - 9:00 AM.
  • 90 min. starting at 9:00 AM c.t.
  • Room: Building 101, Rooms 00-026 and 00-036.
  • Permitted in the exam: one sheet of A4 paper, with prepared notes (printed, handwritten, painted, ...) on all sides.

Exam Re-Sit (Klausurwiederholung)

Another written exam:

  • Wednesday, March 29th, 2017

  • 90 min., starting at 14:00 c.t. (please be there at 14:00 s.t.)

  • Room: Building 101, Room 00-010/014.

  • Permitted exam aids: same as with regular exam (see above).

 

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.

  • Mo, 18.4.: VL 01 "Introduction" - Exercise Sheet 0 online (submit via ILIAS, more information in the ILIAS forum)
    Definitions of Software Engineering etc.; course content overview; formalia.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream (93 min.))
  • Do, 21.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 (89 min.))
  • Mo, 25.4.: VL 03 "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 (92 min.))
  • Do, 28.4.: Tutorial 1
  • Mo,  2.5.: 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 (93:30 min.))
  • Do,  5.5.: public holiday (ascension day)
  • Mo, 9.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 (93:37 min.))
  • Do, 12.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 (93:30 min.))
  • Mo, 16.5.: whitsun break
  • Do, 19.5.: whitsun break
  • Mo, 23.5.: Tutorial 2
  • Do, 26.5.: public holiday (corpus christi)
  • Mo, 30.5.: VL 07 "Formal Methods for Requirements Engineering" - Exercise Sheet 3 online (submit via ILIAS)
    One example of a formal notation for requirements: decision tables (DT); formal definitions for completeness, consistency, determinism, etc.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream (83:37 min.))
  • Do,  2.6.: VL 08 "Use Cases and Scenarios"
    Scenarios and Anti-Scenarios for requirements analysis; notations User Story, Use Case, Use Case Diagram, first half of Sequence Diagrams (abstract syntax, TBAs, cuts and firedsets).
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream (90:55 min.))
  • Mo,  6.6.: VL 09 "Live Sequence Charts"
    Second half of the 'Sequence Diagram' story (TBA construction); Requirements-Engineering wrap-up.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream (96:17 min.))
  • Do, 9.6.: Tutorial 3
  • Mo, 13.6.: VL 10 "Requirements Engineering Wrapup" - Exercise Sheet 4 online (submit via ILIAS)
    Pre-charts cont''d; Software and Software Specification, formally; LSCs and software; Requirements Engineering wrap-up.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream (92:15 min.))
  • Do, 16.6.: VL 11 "Architecture & Design"
    Modularisation, information hiding, data encapsulation etc.; Views and viewpoints; UML  outlook
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream (91:30 min.), module_example.tgz)
  • Mo, 20.6.: VL 12 "Structural Software Modelling"
    Class Diagrams; Object Diagrams; Proto-OCL
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream (92:47 min.))
  • Do, 23.6.: Tutorial 4
  • Mo, 27.6.: VL 13 "Behavioural Software Modelling" - Exercise Sheet 5 online (download additional materials and submit via ILIAS)
    Communicating Finite Automata; Uppaal Demo; Uppaal Query Language
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream (89:37 min. (but 2 min. extra break)),
    Vending Machine model (vm.xml, vm.q) from the demo)
  • Do, 30.6.: VL 14 "UML State-Machines"
    CFA "at work" continued; implementing CFA; an outlook on UML Statemachines.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream (93:55 min.))
  • Mo,  4.7.: VL 15 "Architecture  and Design Patterns"
    Architectural patterns (layers, pipeline, MVC); Design Patterns; Testing basics.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream (92:00 min.))
  • Do,  7.7.: Tutorial 5
  • Mo, 11.7.: VL 16 "Software Quality Assurance: Testing" - Exercise Sheet 6 online (additional material) (old version) (submit via ILIAS) - Note: the new version contains an extra 10-Bonus-Points task.
    Testing (concepts, coverage measures, etc.); Model-based Testing.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream (92:26 min.))
  • Do, 14.7.: VL 17 "Software Verification"
    Vocabulary (software quality assurance in a broader scope); Notions of correctness; Formal verification of software: the Hoare calculus; Software Model-Checking, VCC Demo.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream (93:20 min.))
  • Mo, 18.7.: VL 18 "Runtime Verification, Software Review - Wrapup"
    Run-time Verification; Code Review; Discussion: quality assurance approaches compared; Dependability.  Wrap-Up.
    (Slides (with annotations), 2-up, 6-up, Recording: ILIAS-Download, ILIAS-Stream (92:28 min.))
  • Do, 21. 7.: Tutorial 6 + (not really) VL 19 "Wrapup & Questions"
    Tutorial 6 (plenary, in the lecture hall) - and a little time for questions, consider the ILIAS forums for all remaining questions.
    (No slides, no recording.)
  • Errata for the course slides.

Links & Literature