ELT10120 – Software Engineering

Module
Software Engineering
Software Engineering
Module number
ELT10120
Version: 1
Faculty
Electrical Engineering
Level
Master
Duration
1 Semester
Semester
Winter semester
Module supervisor

Prof. Dr. Kevin Hipp
Kevin.Hipp(at)fh-zwickau.de

Lecturer(s)

Prof. Dr. Kevin Hipp
Kevin.Hipp(at)fh-zwickau.de

Course language(s)

English
in "Software Engineering"

ECTS credits

5.00 credits

Workload

150 hours

Courses

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

Self-study time

90.00 hours

Pre-examination(s)
None
Examination(s)

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

keine Angabe

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

keine Angabe

Special admission requirements

keine bzw. zu klären Praktikumstestat

keine

Recommended prerequisites
No information
Continuation options
keine Angabe
Literature

keine

Notes
No information
Assignment to curriculum
No information