Introduction to Software Engineering
Module IN0006
This module handbook serves to describe contents, learning outcome, methods and examination type as well as linking to current dates for courses and module examination in the respective sections.
Module version of SS 2015 (current)
There are historic module descriptions of this module. A module description is valid until replaced by a newer one.
Whether the module’s courses are offered during a specific semester is listed in the section Courses, Learning and Teaching Methods and Literature below.
available module versions | |
---|---|
SS 2015 | WS 2011/2 |
Basic Information
IN0006 is a semester module in German or English language at Bachelor’s level which is offered in summer semester.
Total workload | Contact hours | Credits (ECTS) |
---|---|---|
180 h | 75 h | 6 CP |
Content, Learning Outcome and Preconditions
Content
Software engineering is the the establishment and systematic use of engineering principles, methods, and tools for the division of work, the development and application of extensive, complex software systems. It deals with the production and development of software, the organization and modelling of data structures and objects, and the operation of software systems. Topics of the lecture include, among others:
- Modeling with UML
- Process models in software development (linear, iterative, agile)
- Requirements elicitation and analysis (functional model, dynamic model, and object model)
- System design (specification, software architecture, architectural patterns, and design goals)
- Object design and implementation (reuse, design patterns, and interface specification)
- Testing (component test, integration test, and system test)
- Configuration management, build management, and release management
- Software maintenance and evolution
- Project organization and communication
- Modeling with UML
- Process models in software development (linear, iterative, agile)
- Requirements elicitation and analysis (functional model, dynamic model, and object model)
- System design (specification, software architecture, architectural patterns, and design goals)
- Object design and implementation (reuse, design patterns, and interface specification)
- Testing (component test, integration test, and system test)
- Configuration management, build management, and release management
- Software maintenance and evolution
- Project organization and communication
Learning Outcome
After successful completion of this module, students are familiar with the basic concepts and methods of the different phases of a project, e.g. modeling the problem, reuse of classes and components, and delivery of the software. They have the ability to select and apply suitable concepts and methods for concrete problems.
The students know the most important software engineering terms and workflows and are able to analyze and evaluate given problems. In addition, students can solve concrete problems in software engineering, e.g. with the help of design patterns.
The students know the most important software engineering terms and workflows and are able to analyze and evaluate given problems. In addition, students can solve concrete problems in software engineering, e.g. with the help of design patterns.
Preconditions
IN0002 Fundamentals of Programming (Exercises & Laboratory)
Courses, Learning and Teaching Methods and Literature
Courses and Schedule
Type | SWS | Title | Lecturer(s) | Dates | Links |
---|---|---|---|---|---|
VO | 3 | Introduction to Software Engineering (IN0006) |
Thu, 07:45–10:15, Interims I 101 Thu, 07:45–10:15, MI HS1 |
eLearning documents |
|
UE | 2 | Introduction to Software Engineering, Exercise Session (IN0006) |
Tue, 12:00–14:00, MI HS1 Tue, 12:00–14:00, MI HS2 Tue, 12:00–14:00, Interims I 102 |
documents |
Learning and Teaching Methods
By means of a slide presentation with animations, the interactive lecture introduces the basic concepts and methods of software engineering and explains them using examples. Small exercises, e.g. quizzes, modelling, and programming tasks, with individual feedback help students to identify whether they have understood the basic concepts and methods.
Accompanying excercises deepen the understanding of the concepts explained in the lecture by means of suitable group exercises and show the application of the different methods with the help of manageable problems in the different phases of software engineering. Homework enables students to deepen their knowledge in self-study. The presentation of the own solution in the accompanying exercise improves communication skills, which are essential in software engineering. Individual feedback on homework allows students to measure learning progress and improve their skills.
Accompanying excercises deepen the understanding of the concepts explained in the lecture by means of suitable group exercises and show the application of the different methods with the help of manageable problems in the different phases of software engineering. Homework enables students to deepen their knowledge in self-study. The presentation of the own solution in the accompanying exercise improves communication skills, which are essential in software engineering. Individual feedback on homework allows students to measure learning progress and improve their skills.
Media
Lecture with digital slides, livestream, online exercises (programming, modeling, quiz) with individual feedback, discussion forum and communication platform for the exchange between instructors, exercise supervisors, and students
Literature
B. Bruegge, A. Dutoit: Object-Oriented Software Engineering: Using UML, Design Patterns and Java, 3rd Edition, Pearson Education, 2010
I. Sommerville, Software Engineering, 9th edition, Addison Wesley, 2010
I. Sommerville, Software Engineering, 9th edition, Addison Wesley, 2010
Module Exam
Description of exams and course work
Type of assessment: written exam
The exam takes the form of a 90 minutes written test. The examination consists of describing the main concepts and methods of each phase of the software engineering process. The students have to apply their knowledge to solve small problems. By means of modelling problems, the students have to show their ability to adequately analyze and evaluate given requirements.
The exam takes the form of a 90 minutes written test. The examination consists of describing the main concepts and methods of each phase of the software engineering process. The students have to apply their knowledge to solve small problems. By means of modelling problems, the students have to show their ability to adequately analyze and evaluate given requirements.
Exam Repetition
The exam may be repeated at the end of the semester.