Concepts of modern Software engineering

Module Code
CS2016
Module Coordinators
Peter Kneisel
Teachers
  • Dennis Priefer
  • Klaus-Dieter Quibeldey-Cirkel
  • Wolf Rost
  • Christoph Thelen
  • Short Description
    This course gives an overview of common software engineering practices. This will be achieved by autonomous team work within practical software projects. In doing so, participants will use established techniques to work into productive software systems. Uncertainty of the profession entry will be reduced through realistic project simulations.
    Learning Objectives

    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.

    Contents
  • Practical realisation of web projects
  • Working with legacy software
    • Reengineering
    • Reverse Engineering
    • Refactoring
  • Fundamentals of agile development methods using Scrum
  • Case studies of common situations in a developer‘s everyday life
  • Soft Skills
    • Teamwork
    • Conflict resolution
    Quality assurance concepts
    • Quality assurance measures in a software development project
    • Quality improvement techniques for existing systems
    Handle a professional software development infrastructure
    • 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.

    Duration in Semester
    1
    Instruction Language
    German
    Total Effort
    9 CrP; an estimated 270 hours, of which approximately 60 are spent in class.
    Weekly School Hours
    4
    Method of Instruction

    Practice; The module will be performed as a block lecture (2 weeks), whereby we estimate 4-6 weeks of individual work

    Requirements for the awarding of Credit Points

    Examination prerequisite: Project work

    Examination: Successful acceptance test and presentation of development results

    Evaluation Standard

    according to examination regulations (§ 9)

    Availability
    Yearly
    References
    • 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
    Prerequisites

    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.