ELT10120 – Software Engineering

Software Engineering
Software Engineering
Module number
Version: 1
Electrical Engineering
1 Semester
Winter semester
Module supervisor

Prof. Dr. Kevin Hipp


Prof. Dr. Kevin Hipp

Course language(s)

in "Software Engineering"

ECTS credits

5.00 credits


150 hours


4.00 SCH (2.00 SCH Internship | 2.00 SCH Lecture with integrated exercise / seminar-lecture)

Self-study time

90.00 hours
15.00 hours Self-study - Software Engineering
20.00 hours Examination preparation - Software Engineering
30.00 hours Course preparation - Software Engineering
15.00 hours Praktikumsvor- und -nachbearbeitung - Software Engineering
10.00 hours Recherchearbeit - Software Engineering


schriftliche Prüfungsleistung
Module examination | Examination time: 90 min | Weighting: 100% | wird in englischer Sprache abgenommen
in "Software Engineering"

Media type
No information
Instruction content/structure
  • motivation and principles of Software Engineering
  • software development: procedure and process models (waterfall, spiral, V-model, SCRUM)
  • software lifecycle and detailed description of its phases (e.g. design phase, planning phase, …)
  • software architectures: terms, tasks, basic architectures
  • modeling in software design (PAP, Nassi-Shniderman, UML)
  • principles of Requirements Engineering
  • testing and quality assurance of software, terms and test types
  • importance of documentation (e.g. terms, scope)
  • configuration management: change management, version management, system creation, release management


Qualification objectives
  • After successfully completing the module, the student should be able to:
    • Understanding Software Development Lifecycle: knowledge of the software development phases and their significance, ability to navigate through the various stages from requirements gathering to maintenance.
    • Software Development Models: familiarity with traditional models like Waterfall and modern agile methodologies, understanding of when and how to apply different development models based on project requirements
    • Requirements Analysis and Specification: capability to identify, analyze, and document both functional and non-functional requirements, skill in utilizing various techniques such as use case diagrams and user stories for requirements specification
    • Software Architecture and Design: competence in designing software architectures that meet system requirements, application of design principles and patterns to create scalable and maintainable software solutions
    • Programming and Implementation: Application of best practices in coding, adhering to coding standards, and participating in effective code reviews.
    • Software Testing and Quality Assurance: Knowledge of different testing levels (unit, integration, system) and types, ability to develop and implement effective testing strategies and ensure software quality
    • Version Control and Collaboration: proficiency in using version control systems (e.g., Git) for collaborative development, Experience in collaborative coding practices, branching strategies, and resolving merge conflicts.
    • Documentation and Code Maintenance: Understanding the importance of documentation throughout the software development lifecycle, skill in maintaining and updating codebases, including versioning and documentation
    • Software Maintenance and Evolution: knowledge of maintenance phases and types (adaptive, corrective, perfective), ability to apply updates, address issues, and improve software post-deployment


Special admission requirements


Recommended prerequisites
No information
Continuation options
keine Angabe

Wird in der Lehrveranstaltung bekannt gegeben.


No information
Assignment to curriculum
No information