The goal of the course is to give as well an overview over as an in-depth understanding of software engineering. The student should get to know a collection of methods, techniques and tools. Through a project the student should gain hands-on experience with the some of the most common techniques and tools, and so be able to reflect on the use of methods and their respective advantages and drawbacks.
After having read the course, you should be able to:
(1) explain the typical activities in a software development process and discuss the advantages and disadvantages of different software development models.
(2) analyse a given situation and write a simple requirement specification for a smaller software system.
(3) develop and document an overall architectural design of a smaller software system with the help of object oriented techniques.
(4) Develop and document a detailed design with the help of object oriented techniques.
(5) implement (a part of) the detailed design.
(6) design a test strategy and implement to test (part of) the software in respect to requirements specification, architectural design and design specification.
(7) explain configuration management and organise version management in a smaller project.
(8) discuss quality management as well as plan and implement quality reviews in a smaller project.
(9) reflect on the usefulness of methods for specific contexts. |