Skip to content

Latest commit

 

History

History
65 lines (45 loc) · 2.1 KB

system-design.rst

File metadata and controls

65 lines (45 loc) · 2.1 KB

System Design

The following diagram shows a high-level overview of three iOS clients, the Core Module containing shared components, and the Artemis Server.

High-Level Component Diagram

High-Level Component Diagram

The following UML component diagram shows internal details of Themis and its dependencies on ArtemisCore components. To ensure that the diagram remains comprehensible and uncluttered, we’ve excluded the view models.

Subsystem Decomposition of Themis

Subsystem Decomposition of Themis

The Authentication subsystem helps the user authenticate using the Login subsystem. Once a user successfully logs in, the Course subsystem takes over, responsible for displaying courses where the user is as a tutor. Additionally, this subsystem manages the retrieval and presentation of exercises and exams associated with these courses. When the system needs to present more detail about a particular exam or an exercise, the Exercise and Exam subsystems come into play. The Exam subsystem primarily focuses on presenting the exercises within an exam context and leverages the Exercise subsystem when the user selects a particular exercise. When the user initiates an assessment on a submission, the Assessment subsystem.

The following UML deployment diagram shows a typical deployment of Themis, Artemis application server and Athena server. The Artemis server communicates with Athena to fetch feedback suggestions.

Deployment Diagram

Deployment Diagram