# AH Session 4 : UML

## Recording of full tutorial for session 4

<details>

<summary>Overview of full tutorial recording </summary>

> This overview was produced using generative AI (Gemini)

This live event, hosted by STACS in 2026, provided a comprehensive workshop for educators on Unified Modeling Language (UML) within the Advanced Higher Computing Science curriculum. Led by David, Fiona, and Debbie, the session addressed teacher up-skilling regarding UML by breaking down its application into two primary areas: Software Design and Development (SDD) and Database Design and Development (DDD).

The team clarified that despite the vague course specifications, the project assessment emphasises integration—showing how actors (human users, databases, or external files) interact with the system boundary. A key takeaway was a "Golden Rule" for relationship arrows: the arrow always points toward the use case that must happen (the "include"), while for "extends," it points back to the base case that triggers the optional behaviour.

Through interactive Miro board activities, the presenters demonstrated how to build a UML diagram for a game scenario, emphasising that use cases should reflect end-user requirements (e.g., "Play Game") rather than technical methods or functional requirements. The session also tackled technical hurdles in the project work, such as school-level security restrictions on software like XAMPP and the benefits of using SQLite with Python or Java.

The workshop concluded with a discussion on project marking standards, specifically the necessity of demonstrating Object-Oriented Programming (OOP) principles—such as getters, setters, and explicit data typing—to ensure students secure advanced marks rather than relying on National 5 or Higher-level techniques.

</details>

{% hint style="info" %}
You may prefer to watch the content as a series of clips.
{% endhint %}

{% embed url="<https://www.youtube.com/watch?v=OGGZVYlZbAY>" %}

### Clips from recording of Session 4

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><p><strong>1 Intro</strong> </p><ul><li>Welcome</li></ul></td><td><a href="/files/7rtiVTm2qPRev4miWHJ0">/files/7rtiVTm2qPRev4miWHJ0</a></td><td><a href="/pages/liWdH9zcsMF1KCCj6EAm">/pages/liWdH9zcsMF1KCCj6EAm</a></td></tr><tr><td><p><strong>2 SQA UML Spec</strong></p><ul><li>Course Spec</li><li>Assessment Spec</li></ul></td><td><a href="/files/htSPDU7SMAfM6dNRj66H">/files/htSPDU7SMAfM6dNRj66H</a></td><td><a href="/pages/N5ensoQahWiTYXjGQVf2">/pages/N5ensoQahWiTYXjGQVf2</a></td></tr><tr><td><p><strong>3 UML Diagram Shapes</strong></p><ul><li>Review of shapes and other diagram elements</li></ul></td><td><a href="/files/GUYjWBOqfgTvWOTfFzqP">/files/GUYjWBOqfgTvWOTfFzqP</a></td><td><a href="/pages/xicIMmiGmNwYL9ewnvMa">/pages/xicIMmiGmNwYL9ewnvMa</a></td></tr><tr><td><p><strong>4 : SDD scenario</strong></p><ul><li>For example UML task</li></ul></td><td><a href="/files/BYXD7aagOkKJ9I4AmKJZ">/files/BYXD7aagOkKJ9I4AmKJZ</a></td><td><a href="/pages/NsASaRX6tfRML8zD2tL8">/pages/NsASaRX6tfRML8zD2tL8</a></td></tr><tr><td><p><strong>5 UML Actor</strong></p><ul><li>User and Database</li></ul></td><td><a href="/files/R7E0fhQuop03cXBPRwHz">/files/R7E0fhQuop03cXBPRwHz</a></td><td><a href="/pages/UR2yXUN2gYV2t6J6nvV7">/pages/UR2yXUN2gYV2t6J6nvV7</a></td></tr><tr><td><p><strong>6 UML Main Use-Cases</strong></p><ul><li>Top level</li></ul></td><td><a href="/files/MAf3XiNInc4mFzJr6a6t">/files/MAf3XiNInc4mFzJr6a6t</a></td><td><a href="/pages/S09sYcjsvjM5GCBi77rS">/pages/S09sYcjsvjM5GCBi77rS</a></td></tr><tr><td><p><strong>7 UML Inputs</strong></p><ul><li>Inputs</li><li>include</li></ul></td><td><a href="/files/BkyCEQMPfAXy7Y0Km7ch">/files/BkyCEQMPfAXy7Y0Km7ch</a></td><td><a href="/pages/n0jKFqRrpLYEAvufav8M">/pages/n0jKFqRrpLYEAvufav8M</a></td></tr><tr><td><p><strong>8 UML Calculations</strong></p><ul><li>User POV</li></ul></td><td><a href="/files/w0rIXD4wtmpDM3IzcSyF">/files/w0rIXD4wtmpDM3IzcSyF</a></td><td><a href="/pages/42zD3POALklIzSZg1TQb">/pages/42zD3POALklIzSZg1TQb</a></td></tr><tr><td><p><strong>9 UML Outputs</strong></p><ul><li></li></ul></td><td><a href="/files/SEJ7jn2y9cuJEtC07NsV">/files/SEJ7jn2y9cuJEtC07NsV</a></td><td><a href="/pages/zQXMa7IKLYbQAnLOqzea">/pages/zQXMa7IKLYbQAnLOqzea</a></td></tr><tr><td><p><strong>10 Input Validation</strong></p><ul><li>Standard Algorithm</li></ul></td><td><a href="/files/BzdVPqLw0LVsU86kEmW7">/files/BzdVPqLw0LVsU86kEmW7</a></td><td><a href="/pages/PJMTG2r98U6Qr3M1lI0l">/pages/PJMTG2r98U6Qr3M1lI0l</a></td></tr><tr><td><p><strong>11 Sort</strong></p><ul><li>Standard Algorithm</li></ul></td><td><a href="/files/SvX0g4pENl9955ph6rVf">/files/SvX0g4pENl9955ph6rVf</a></td><td><a href="/pages/8HfQvQTZhvRtejeesewu">/pages/8HfQvQTZhvRtejeesewu</a></td></tr><tr><td><p><strong>12 Insert-Update</strong></p><ul><li>Database Action</li></ul></td><td><a href="/files/p94EA533QdggpHQjd0a3">/files/p94EA533QdggpHQjd0a3</a></td><td><a href="/pages/USufzOo9iZHz6U5MCxi5">/pages/USufzOo9iZHz6U5MCxi5</a></td></tr><tr><td><p><strong>13 Database Scenario</strong></p><ul><li>UML for database project</li></ul></td><td><a href="/files/D2Vc1Pd8m3ksoE0kPQ2H">/files/D2Vc1Pd8m3ksoE0kPQ2H</a></td><td><a href="/pages/WEI6ky0NnkaTSgJyPd11">/pages/WEI6ky0NnkaTSgJyPd11</a></td></tr><tr><td><p><strong>14 Project Questions</strong></p><ul><li>Project issues</li></ul></td><td><a href="/files/0CMGPUFwLHbGALfquUsq">/files/0CMGPUFwLHbGALfquUsq</a></td><td><a href="/pages/1jTWqkdg7tybz55FECji">/pages/1jTWqkdg7tybz55FECji</a></td></tr><tr><td><p><strong>15 Project Answers</strong></p><ul><li>Feedback on issues</li></ul></td><td><a href="/files/0CMGPUFwLHbGALfquUsq">/files/0CMGPUFwLHbGALfquUsq</a></td><td><a href="/pages/z3J2mAl9SXGqjeJBWw1K">/pages/z3J2mAl9SXGqjeJBWw1K</a></td></tr><tr><td><p><strong>16 Thanks and Farewell</strong></p><ul><li>End of sessions</li></ul></td><td><a href="/files/JAkXGxOMmhA3lyPT0IJW">/files/JAkXGxOMmhA3lyPT0IJW</a></td><td><a href="/pages/AvSs39ugQhwiVDgDx9P0">/pages/AvSs39ugQhwiVDgDx9P0</a></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://upskilling.stacs.scot/advanced-higher-support/tutorial-recordings-and-clips/ah-session-4-uml.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
