As a clerk (and also teacher), I need the ability to modify existing subject details, including updating course content, changing prerequisites, or adjusting credits, as I need to ensure the accuracy of information presented to students.
The clerk has registered a subject and assigned relevant teachers to it. The clerk/teacher has opened an editable view of the subject details in Study Information System (SIS).
Normal
The clerk/teacher changes the details and clicks on the save button.
SIS checks if mandatory fields are filled in and that there are no prerequisite cycles.
SIS shows the preview of the changed details and asks if clerk really wants to proceed with changes.
The clerk/teacher confirms.
SIS updates subject's details history and saves the data to the database.
SIS notifies all the students and teachers currently assigned to the subject.
What can go wrong
Not all mandatory metadata saved by the clerk/teacher are satisfied. In that case SIS tells the user which metadata are not filled in and clerk must fill them in.
Subject update crates a prerequisite cycle. In that case SIS tells the user that prerequisite cycle has been created and clerk must fix the issue.
System state on completion
In case of teacher the changes need to be approved by a clerk.
SIS has the new subject's details saved in database and the history showing the changes to the subject is updated as well.
User requirement as a user story
As a clerk (and also teacher), I need the ability to modify existing subject details, including updating course content, changing prerequisites, or adjusting credits, as I need to ensure the accuracy of information presented to students.