URL study guide
https://studiegids.vu.nl/en/courses/2026-2027/X_405061Course Objective
Upon completion of this course, students will be able to:Analyze a design problem and model software for it in terms of independent services by using notations from industrial practice (Knowledge and Understanding; Applying Knowledge and Understanding; Making Judgments; Communication; Learning Skills).Apply structured techniques to make and justify design decisions for service-oriented software (Knowledge and Understanding; Applying Knowledge and Understanding; Making Judgments; Communication; Learning Skills).Navigate quality and sustainability requirements and understand how to achieve them in service-oriented design (Knowledge and Understanding; Applying Knowledge and Understanding; Making Judgments; Communication; Learning Skills).Collaborate in a team and combine project contributions from several people into one holistic submission (Applying Knowledge and Understanding; Making Judgments; Communication; Learning Skills).Course Content
Throughout the course, students will work in teams to provide a solution for a case presented by invited guests from an external company or organization (case providers). Students will analyze the problem domain and design a service-oriented solution for it. For this project, the lectures explain the required theoretical concepts about service orientation as a software paradigm, as well as the difference between service-oriented architecture and microservices. More importantly, the lectures introduce techniques for identifying the requirements for service-oriented software, how to map them to business services, and how to transform them into complex networks of software services. Several UML-based modeling techniques and diagrams are used in the course. Special emphasis is given to design reasoning techniques for decision-making, service identification, service-oriented software design, and sustainability concerns. Lastly, the course also touches on RESTful API design and service-oriented design patterns.Teaching Methods
The course consists of three live sessions per week (each 01:45 h long):Lectures: acquire necessary theory and understand used modeling techniquesProject sessions: discuss your team progress with your TA and other teams (mandatory attendance)Presentation sessions: present your project to all other teams in a plenary sessionMethod of Assessment
The SOD assessment and final grade are composed of several parts. 1. Project-Based Assignments There are two project-based assignments (A1 and A2) performed in a team of students. The final assignment score, which counts for 70% of the course grade, is the average of both assignment scores. 2. Project Sessions and Presentations Each student is expected to both attend and contribute actively during the weekly project sessions with the TA. Missing too frequently will lead to failing the course. Moreover, each student needs to fulfill the following roles:Project Session Presenter (TA session): present the progress of your team and answer questionsProject Session Discussant (TA session): moderate the discussion following another team’s presentation and ask some questions yourselfPlenary Session Presenter (plenary session): present a part of your group project and potentially answer questions about it3. Canvas Quizzes in Lectures In each lecture, a Canvas quiz takes place that can provide a bonus to the final grade. These Canvas quizzes do not impact the grade negatively. 4. Exam Students need to pass a digital exam that includes questions about all major parts of the course material. The exam score counts for 30% of the final grade. Final grade: If all criteria for passing are fulfilled, the final grade is calculated as follows (grades are capped at 10.0): 0.7- [(A1 score + A2 score) / 2] + 0.3
- exam score + presenter bonus + discussant bonus + plenary presenter bonus + Canvas quiz bonus
Literature
All course material will be distributed online on Canvas.Target Audience
MSc Computer ScienceMSc Computer SecurityCustom Course Registration
Further information for this course will be made available on Canvas, in which all students must be enrolled. Group enrollment also takes place via Canvas and a shared spreadsheet.Additional Information
Level 2b Use of generative AI is permitted in a limited way, with disclosure In this course, generative AI (GenAI), such as ChatGPT or similar tools, may be used in a limited way, for example for editorial support, rephrasing, or structure. Substantive contributions from GenAI may only be used within the limits set by the lecturer. Any use of GenAI must always be explicitly disclosed, in accordance with the lecturer's instructions. The student remains fully responsible for the content, quality, and accuracy of the submitted work. Incorrect use of GenAI is considered fraud. If established, the submitted work or assessment result will be declared invalid, and the Examination Board may impose further measures.Recommended background knowledge
At least intermediary software design and modeling knowledgeAt least intermediary knowledge of the Unified Modeling Language (UML)At least intermediary programming skills, even though no code will be written in the projectsExplanation Canvas
Instructions about group enrollment and the course process will be provided at least one week before the course starts. All students must be enrolled before then.Language of Tuition
- English
Study type
- Master