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
- L1Dist_Introduction.pdf
- L2Dist_ModelingWithUML_Part1.pdf
- L3Dist_ModelingWithUML_Part2.pdf
- L4Dist_Requirements_Elicitation.pdf
- L5Dist_Functional_Modeling.pdf
- L6_ObjectModeling.pdf
- L07_DesignGoalsSubsystemDecomposition.pdf
- L08_ArchitecturalStyles.pdf
- L09_Addressing Design Goals.pdf
- L10_DistDynamicModeling.pdf
- L11_ObjectDesign_Reuse
- L12_ObjectDesign_Reuse_2
- L13_DesignPatterns
- L14_DesignPatterns_2
- L15_Unit_Testing
- L16_SystemTesting
- L17_SoftwareLifecycleModels
- L18_Methodologies_BasicConcepts
- L19_Methodologies_XP_and_Scrum
- L20_Methodologies_Royce
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
- Results for Midterm Exam:
- 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
- Admission:
- 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
TextBook:
|