Intendierte Lernergebnisse
Students will be able to design and implement large software applications. Students will be able to evaluate and choose the most suitable architecture for the problem and can communicate and document their decisions. Furthermore, they will be able to test large software applications to ensure a high quality of the built products, including end-to-end testing of such applications. Lastly, students will be able to understand the concepts of professional release engineering. They will be able to set up and maintain a suitable deployment environment that enables the automation of the software development cycle.
Lehrmethodik
Lectures to introduce the concepts and methodsWritten exam about the learned concepts and methodsGroup work to apply the learned concepts and methods in a project settingPresentation of the results of the projects
Inhalt/e
Software ArchitectureSoftware DesignArchitectural PatternsArchitectural ViewsArchitecture Communication and DocumentationSoftware Quality AssuranceAdvanced Topics of Software TestingRelease EngineeringAdvanced Topics in the Context of Continuous* ActivitiesDeployment Pipelines
Erwartete Vorkenntnisse
Good programming skills in any programming language (e.g. Java or Python)Basic knowledge about Software Quality Assurance (e.g. unit testing, test case creation)Basic knowledge in Continuous Integration