Lehrstuhl für Angewandte Softwaretechnik
Chair for Applied Software Engineering

Software Engineering I

WS 06/07

Instructor: Prof. Bernd Bruegge
Teaching assistents: Maximilian Koegel, Jonas Helming

  • News:
    • Final exam review period is expired, grades have been submitted

Intended Audience

  • Diplom students ("alte Prüfungsordnung")
  • Bachelor students Informatics ("alte Prüfungsordnung")
  • Master students in Computational Sciences and Engineering

Credits

  • Area: Informatics I
  • Hours per week: 3 Lecture + 2 Exercises
  • ECTS Credits: 6

Time & Location

  • Tue 12:15 h - 13:45 h in MI (Hörsaal) HS 1 --- --- --- --- First lecture: Tue, 24 Oct 2006
  • Wed 9:15 h - 10:00 h in MI (Hörsaal) HS 1

Lecture Slides

 

Exercises

  • The main goal of the exercises is the practice and application of the concepts taught in the lectures
  • The exercises will be done as a block in January as a miniproject
  • The application domain of the miniproject is gaming
  • The task is the incorporation of an existing game into a large software system

 

  • Room: 00.08.038
  • Thursdays, 4:30 pm to 6 pm

 

  • Miniproject Results:
    • We need (hand-)written consent to publish your grades online
    • Nobody failed the Miniproject
    • Results are NOT available by email or phone
    • Results are only available in glass box in front of Prof. Bruegge's Office

Exams

  • Mid-Term: 20 Dec 2006, 9:00-10:30 in HS 1
    • Results for Midterm Exam:
      • Results can be downloaded here (because of data protection the link doesn't exist anymore) (only if you agreed to online publication)
      • All results available in glass box in front of Prof. Bruegge´s office
    • Results for Midterm Project:
      • All results only available in glass box in front of Prof. Bruegge´s office
      • Online publication requires (hand-)written consent
      • Results can not be send to you by email
  • Final Exam: 17 February 2007, 10:30-12:00 in HS1
    • Admission:
      • Successful attendence (with grade 4) at the Miniproject (see Exercises).
      • Miniproject is not an admission requirement for CSE students. (But you are welcome to take part).
    • Results:
      • Results can be downloaded here (because of data protection the link doesn't exist anymore) (only if you agreed to online publication)
      • If you did not agree to online publication, your grade can NOT be send to you by email
      • All results available in glass box in front of Prof. Bruegge´s office
      • Exams can be reviewed by appointment until March 12:
        • review period is expired, grades have been submitted
  • All exams are closed book
  • There will be no repeat exams

Grading 

  • Mini-project 30% 
  • Midterm 20% 
  • Final 50%
  • Grades are rounded to the next possible grade:
    • The grade 1.3 represents the result of rounding 1 + 1/3, similiarly 1.7 represents 1 + 2/3
    • This results in the following rules for rounding:
      • x.4999 => x
      • x.5 => x.7
      • x.8333 => x.7
      • x.8334 => x+1
  • If you did NOT take part in the Miniproject and you are NOT a CSE student, your Miniproject grade is 5.

Prerequisites

  • Diplom students ("alte Prüfungsordnung"): Vordiplom
  • Bachelor students ("alte Prüfungsordnung"): Einführung in die Informatik I und II
  • CSE students: A basic programming course

Content: Complex and Changing Systems

The term software engineering was coined in 1968 as a response to the desolate state of the art of developing quality software on time and within budget. Software developers were not able to set concrete objectives, predict the resources necessary to attain those objectives, and manage the customers' expectations. More often than not, the moon was promised, a lunar rover built, and a pair of square wheels delivered.

The emphasis in software engineering is on both words, software and engineering. An engineer is able to build a high-quality product using off-the-shelf components and integrating them under time and budget constraints. The engineer is often faced with ill-defined problems, partial solutions, and has to rely on empirical methods to evaluate solutions. Engineers working on application domains such as passenger aircraft design and bridge construction have met successfully similar challenges. Software engineers have not been as successful.

Useful software systems are complex. To remain useful they need to evolve with the end users' need and the target environment. In this course, we describe object-oriented techniques for conquering complex and changing software systems. Key techniques include:

  • UML
  • Use Case Specification
  • Reusing Software Architectures
  • Design Patterns
  • Rationale Management
  • Agile Methods

Literature

alt

  TextBook:

  • Bernd Bruegge, Allen H. Dutoit 
    Object-Oriented Software Engineering: Using UML, Patterns and Java, 2nd Edition
    Publisher: Prentice Hall, Upper Saddle River, NJ, 2003; ISBN: 0-13-047110-0
  • If you attend this lecture, you can get a 10% discount for the text book. You have to order from Pearson Studium. The discount is only valid for the english version of the book.