Concepts of modern Software engineering
The Students have a deep understanding of professional software development. They can handle existing and complex projects. They can collaboratively create and maintain software in autonomous teams. They are trained in dealing with difficult situations in daily project work. They are trained in dealing with quality assurance measures within an agile software project. Realistic simulations from project start up to complete project implementation intended the participants to take insecurities before moving into professional life.
- Reverse Engineering
- Conflict resolution
- Quality assurance measures in a software development project
- Quality improvement techniques for existing systems
- Continuous Integration (Jenkins)
- Versioning (Gitorious)
- Project management (Redmine)
The course will be steadily complemented through different case studies of common situations of a software developer’s everyday life.
For the realisation of the projects we will use agile methods like Scrum.
To increase the intrinsic motivation we will perform social activities within the complete course.
Practice; The module will be performed as a block lecture (2 weeks), whereby we estimate 4-6 weeks of individual work
Examination prerequisite: Project work
Examination: Successful acceptance test and presentation of development results
according to examination regulations (§ 9)
- R.C. Martin: Clean Code mitp-Verlag
- J. Humble, D. Farley: Continuous Delivery Addison-Wesley
- S. Demeyer; St. Ducasse; O. Nierstrasz: Object-Oriented Reengineering Patterns Square Bracket Associates
- M. Fowler: Refactoring Addison-Wesley Longman
- D. W. Hoffmann: Software-Qualität Springer.
- T. Linz: Testen in Scrum-Projekten dpunkt-Verlag
- R. Pichler: Scrum - Agiles Projektmanagement erfolgreich einsetzen dpunkt
Programming knowledge and experience, mainly in the area of component-based, object-oriented programming. Knowledge in concepts and methods of software engineering. Ability to develop within a team.