Assignment II Part 2 Student Table of Contents COMP2511 Assignment II Part 2 Due: Week 10 Wednesday, 3pm Sydney Local Time (22nd April 2026) DUE DATE Week 10 Wednesday, 3pm Sydney Local Time (22nd April 2026) Changelogs None at the moment. Key Notes There are no "Short Extensions" from Special Consideration for this assignment. 5% per day late penalty calculated per-hour to the next hour. Maximum of 5 days late penalty. No submissions will be accepted greater than 5 days after the assignment due date. ELS/ELP and Special Consideration will individually have a maximum of 7 days extension. This must be submitted on Moodle . Your submission must be a single PDF containing all tasks in the assignment! Please visit ELS/ELP/Speccons for Special Consideration or Equitable Learning Plans details. EXAMPLES FOR LATE SUBMISSIONS / EXTENSION SUBMISSIONS COMP2511 2026/4/12 20:29 Assignment II Part 2 | COMP2511 (26T1) https://cgi.cse.unsw.edu.au/~cs2511/26T1/assignments/assignment-ii-part-2 1/11 If you submit 5 days late (original due date + 5 days), your mark will be reduced by 25%. If you submit 5 days, 3 hours late (original due date + 5 days, 3 hours), any work completed after the 5 day mark will not be marked or accepted. If you have a 7 day extension, the last submission accepted is original due date + 7 days (no late penalty submission). If you have a 3 day extension, the last submission accepted is original due date + 3 days (extension) + 4 days (late penalty). If you have a 7 day extension and ELP/ELS for 7 days, the last submission accepted is original due date + 7 days + 7 days (no late penalty submission). 1. Summary Weighting: 8% of Overall Course Mark. This assignment focuses on content introduced from Week 7 onward. Tutorials and labs in week 8 and 9 will explore key topics related to this assignment. This assignment's goal is for you to practice the structural and behavioural modelling of a high-level architecture based on a case study inspired by realistic requirements from industry. These models will be developed using the C4 architectural notation. You can also check out this video Assignment II Part 2 Walkthrough to help you get started on part 2 of the assignment. 2. Case Study Description 2.1. Background Modern businesses crucially depend on obtaining and processing quality data for efficient decision-making. One of the major issues is that such data is often scattered across multiple sources which makes data acquisition a very expensive process. For example, in the area of finance, there are multiple data sources such as: Stock market feeds News providers Regulatory reports 2026/4/12 20:29 Assignment II Part 2 | COMP2511 (26T1) https://cgi.cse.unsw.edu.au/~cs2511/26T1/assignments/assignment-ii-part-2 2/11 Macroeconomic announcements Often the mechanisms to acquire the data are very different. In some cases, data can be downloaded, in other cases it has to be scraped from web pages. In other cases, it needs to be extracted from PDF reports and in some cases, it is available via API calls. In this case study, we assume that you are working as part of a financial institution that wants to build a platform that ingests data from different price information feeds. This data is then supplied to its customers via alerts and notifications. 3. User requirements The list of user requirements are as follows: You need to design a data serving platform for a financial institution that regularly ingests, stores, and serves price information from different data sources on behalf of its customers A data source in this case is a price feed which can be historical or real-time prices. Historical data is often in simple text files (like CSV file) that can be downloaded. An example of a data source is Yahoo Finance In general, customers prefer avoiding going to a data source directly and prefer to get it from the financial institution. Customers can be traders, investors, and individuals. Customers would like prices timeseries that are customised to their needs. Customers like to get prices timeseries in a specific data format. For example, an Excel spreadsheet that contains a clean timeseries with a particular frequency (like daily, hourly, minute-level prices). Customers also want to be able to specify alerts/notifications for particular events. For example, a customer may specify “Please send me an alert when Stock A price rises above $1.” Only the following four data sources may be used to ingest price data: Investing.com Stooq.com Yahoo Finance Alpha Vantage 4. Architecture needed 2026/4/12 20:29 Assignment II Part 2 | COMP2511 (26T1) https://cgi.cse.unsw.edu.au/~cs2511/26T1/assignments/assignment-ii-part-2 3/11 As a first step in building a solution, you need to design an architecture that offers the following advantages: It has to support any type of price feeds with different data acquisition methods. We assume that these methods may change over time — for example, a change in a website's URL or in an API endpoint It has to support pre-processing and cleaning of the data to fit customers' data format requirements It has to support alerts to notify customers when a specific type of event arises. 5. Assignment Requirements 5.1. Overall Tasks In this assignment, there are 4 tasks: 1. Define the 3 most important use cases that correspond to the requirements of the case study. 2. Consider two of the decisions you will need to make when designing your architecture and document each in an ADR. 3. Define two architecture diagrams (Context and Container) that supports the functionality required by the use cases using the C4 notation. 4. For one of your use cases, define a sequence diagram showing how components in your Container diagram interact over time TASK ORDER Each task in the assignment builds on the one before it, so it is recommended that you complete the tasks in order. 5.2. Task 1: Defining the Use cases (9 marks) Based on the analysis of the requirements, define your 3 most important use cases. These use cases represent the high priority requirements that need to be supported by the architecture. They should cover all main features of the solution. Each use case must: Have a clear name and support a very specific user function Be defined in a way that only illustrates the user's perspective (not technology or implementation dependent) 2026/4/12 20:29 Assignment II Part 2 | COMP2511 (26T1) https://cgi.cse.unsw.edu.au/~cs2511/26T1/assignments/assignment-ii-part-2 4/11 For each use case you need to include: Name: Title of the use case Description: Brief description of the use case. Primary Actors: The user(s) interacting in the system Preconditions: Conditions that must be met before the use case starts Postconditions: What is a changed as a result of the completed use case Trigger: What causes the use case to start? Main Flow: The sequence of interactions in a successful use case Exceptional Flow: The sequence of interactions in the event of an error. You only need to cover 1 error case. You do not need to cover all possible errors EXAMPLE OF A USE CASE See Lab 08 for an example of a use case. However, note that the use cases in lab08 are not independent of implementation as they refer to specific internal entities. 5.3 Task 2: Architecture Decisions (10 marks) In this task, you will begin designing your architecture by writing 2 Architectural Design Records (ADRs). These ADRs should document your thought process when making architecturally significant decisions as you develop the design of your system. Your ADRs should examine the functional requirements presented in the use cases and the architectural characteristics inferred from the user requirements and consider the ways in which you could design your system to accommodate them. For each ADR you need to include: Title: The ADR number and a concise summary of the decision. Context: Why a decision needs to be made (what problem is this decision solving), and all potential options under consideration. You must include at least two reasonable potential options. Decision: What option was picked and why. Consequences: The trade-offs and impacts of the decision. ADR SECTIONS 2026/4/12 20:29 Assignment II Part 2 | COMP2511 (26T1) https://cgi.cse.unsw.edu.au/~cs2511/26T1/assignments/assignment-ii-part-2 5/11 You do not need to include the other sections of an ADR (Status, Compliance and Notes) that are covered in the lectures. 5.4. Task 3: Defining the Architecture (15 marks) To collectively support all of the use cases and complying with the decisions made in the ADRs, you need to produce 2 architecture diagrams: C4 System Context Level diagram: showing your system + users + neighbouring systems. This is useful for Business stakeholders, execs and non-tech users. C4 Container Level diagram: showing major application/components like web apps, APIs, DBs. This is useful for developers, tech leads and architects. Please make sure that: The names of common entities (components and relations) in the 2 diagrams are matching as one is a further decomposition of the other. Good C4 design rules have been followed. See C4 Diagrams Guide on C4 design specific to COMP2511. Only one set of context and container diagrams are created. You do NOT need to create a context and container diagram for each use case. 5.5. Task 4: Defining the Behaviour (6 marks) For one of the use cases identified in Task 1, create a sequence diagram that illustrates how the architecture is supporting the use case. You should include both the Main Flow and the Exceptional Flow in the sequence diagram. Make sure that: Each component (vertical line) in the sequence diagram corresponds to a C4 component in your Container diagram. Invocations between components have to be clearly labelled according to good design rules in sequence diagrams. See Sequence Diagrams Guide on sequence diagram design specific to COMP2511. 6. Marking criteria 2026/4/12 20:29 Assignment II Part 2 | COMP2511 (26T1) https://cgi.cse.unsw.edu.au/~cs2511/26T1/assignments/assignment-ii-part-2 6/11 Task Criteria Defining the Use Cases 9 marks Are the use cases clearly defined and articulated? Do use cases align with the intended purpose of the application? Do the use cases cover all major features of the application? Architecture Decisions 10 marks Are the ADRs concise and correctly formatted? Are the problems presented clearly drawn from the use cases and user requirements? Are the decisions made reasonable and well justified? Defining the Architecture 15 marks Has the architecture followed good C4 design practices? Is the architecture clearly explained for a business user? Can the architecture serve as a good implementation blueprint for a developer? Is the architecture flexible, open to changes and extensible with new functionalities? Defining the Behaviour 6 marks Are the interactions clearly explained according to good modelling practices? Is the sequence diagram aligned with the use case? Is the sequence diagram aligned with the architecture description? 7. Resources 7.1. Information on the models C4 Diagrams: C4 Diagrams Guide C4 model C4 modelling: Visualising software architecture with the C4 model - Simon Brown, Agile on the Beach 2019 (watch from 9:00) Sequence Diagrams: Sequence Diagram Guide 2026/4/12 20:29 Assignment II Part 2 | COMP2511 (26T1) https://cgi.cse.unsw.edu.au/~cs2511/26T1/assignments/assignment-ii-part-2 7/11 7.2. Information on modelling tools Recommended tool: For C4 Modelling: Excalidraw — Collaborative whiteboarding made easy For Sequence Diagrams: Mermaid Sequence Diagram Docs VSCode extension: Markdown Preview Mermaid Support Alternatives (with tutor approval): Draw.io / diagrams.net: Flowchart Maker & Online Diagram Software is the simplest diagramming tool out there that supports C4 diagrams, UML diagrams, and sequence diagrams. PlantUML: Open-source tool that uses simple textual descriptions to draw beautiful UML diagrams. This is good for code to diagram and diagram to code but has a steep learning curve as you will need to learn the diagramming syntax and DSL. 8. Submission This assignment is to be submitted on Moodle . Your submission must be a single PDF containing all diagrams! Your submission should not include large amounts of text within an image. SUBMISSION You must NOT include any links in your submission. Any links provided will be ignored, and no marks will be awarded for them. Your submission must be self contained. Ensure that your diagrams are readable before submission. You will not be awarded any marks for text that cannot be read. DO NOT WRITE PARAGRAPHS IN YOUR DIAGRAMS Your submission for tasks 1 and 2 should not be submitted within an image. They should instead be written on the document you submit. It must be detectable by TurnItIn (plagiarism detection software). You may be penalised if you include large amounts of text within an image. 2026/4/12 20:29 Assignment II Part 2 | COMP2511 (26T1) https://cgi.cse.unsw.edu.au/~cs2511/26T1/assignments/assignment-ii-part-2 8/11 9. Other Information 9.1. Late Penalties The late penalty for the submission is the standard UNSW late penalty of a 5% per day reduction of the on-time assignment mark. This is calculated per-hour to the next hour. For example, if the assignment would receive an on-time mark of 70% and was submitted 3 days late the actual mark would be 55%. An assignment submitted 1 hour late would only have their mark reduced by . No submissions will be accepted greater than 5 days after the assignment due date. Please visit the ELS/ELP/Speccons for Special Consideration or Equitable Learning Plans details. Examples for late submissions: EXAMPLES FOR LATE SUBMISSIONS / EXTENSION SUBMISSIONS If you submit 5 days late (original due date + 5 days), your mark will be reduced by 25%. If you submit 5 days, 3 hours late (original due date + 5 days, 3 hours), any work completed after the 5 day mark will not be marked or accepted. If you have a 7 day extension, the last submission accepted is original due date + 7 days (no late penalty submission). If you have a 3 day extension, the last submission accepted is original due date + 3 days (extension) + 4 days (late penalty). If you have a 7 day extension and ELP/ELS for 7 days, the last submission accepted is original due date + 7 days + 7 days (no late penalty submission). 9.2. Extensions Extensions are only granted in extenuating circumstances and must be approved through either Special Consideration, which needs to be submitted prior to the assignment deadline, or pre-arranged through an Equitable Learning Plan with Equitable Learning Services and the Course Authority. In all cases please email cs2511@cse.unsw.edu.au. ≈24 5 0.21% 5 3 Task 2: Architecture Decisions (10 marks) 2026/4/12 20:29 Assignment II Part 2 | COMP2511 (26T1) https://cgi.cse.unsw.edu.au/~cs2511/26T1/assignments/assignment-ii-part-2 9/11 There will be no "Short Extensions" from Special Consideration for this assignment. Please visit the ELS/ELP/Speccons for Special Consideration or Equitable Learning Plans details. 9.3. Plagiarism Your assignment must be entirely your work. Plagiarism detection software will be used to compare all submissions pairwise (including submissions for similar assignments in previous years, if applicable) and serious penalties will be applied, including an entry on UNSW's plagiarism register. Relevant scholarship authorities will be informed if students holding scholarships are involved in an incident of plagiarism or other misconduct. You are also not allowed to submit work obtained with the help of ChatGPT, GitHub Copilot, Gemini or similar automatic tools. Do not copy ideas or work from others. Do not use a publicly accessible repository or allow anyone other than yourself to see your work, except for the teaching staff of COMP2511. Work generated by ChatGPT, GitHub Copilot, Gemini and similar tools will be treated as plagiarism. The course reserves the right to ask you to explain your work or design choices to a member of staff as part of your submission, or complete a similar assessment. Please refer to the on-line resources to help you understand what plagiarism is and how it is dealt with at UNSW: Academic Integrity and Plagiarism UNSW Plagiarism Policy 10. Copyright Notice Reproducing, publishing, posting, distributing or translating this assignment is an infringement of copyright and will be referred to UNSW Student Conduct and Integrity for action. Last updated on 2026/3/31 Customisations ELS/ELP/Speccons 5.3 Task 2: Architecture Decisions (10 marks) 2026/4/12 20:29 Assignment II Part 2 | COMP2511 (26T1) https://cgi.cse.unsw.edu.au/~cs2511/26T1/assignments/assignment-ii-part-2 10/11 Optional page to make some cool customis… Equitable Learning Services (ELS), Equitabl… 2026/4/12 20:29 Assignment II Part 2 | COMP2511 (26T1) https://cgi.cse.unsw.edu.au/~cs2511/26T1/assignments/assignment-ii-part-2 11/11
学霸联盟