You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.1 KiB
4.1 KiB
@startuml
left to right direction
skinparam usecase {
BackgroundColor lightGreen
BorderColor DarkSlateGray
ArrowColor darkgreen
}
actor User as User
actor Admin as Admin
actor Teacher as Teacher
actor Student as Student
actor Visitor as Visitor
User <|--- Admin
User <|---- Teacher
User <|-- Student
Visitor <|- User
note left of (User)
The user must
be connected
end note
package App {
usecase "Add a group" as ES1.1
usecase "Delete a group" as ES1.2
usecase "Import students automatically \n from an Excel doc" as ES1.3
usecase "Show the groups" as ES1.4
usecase "Delete a user" as ES1.5
usecase "Show the users list" as ES1.6
usecase "Give a role" as ES1.7
usecase "Add a student in a group" as ES1.9
usecase "Delete a student in a group" as ES1.10
usecase "Ban a user" as ES1.11
usecase "Choose if a quiz is \n accessible only to a particular group \n or open to all, to each group" as ES1.13
usecase "Share my quiz with other teachers" as ES1.14
usecase "Listen to the words to also \n work my listening comprehension" as ES1.15
usecase "Create an interactive quiz during a course" as ES2.1
usecase "Know my overall progress since I installed the app" as ES2.4
usecase "Consult the translation and the meaning \n of certain words in an online dictionary" as ES2.5
usecase "Create my own flash card to train myself" as ES2.7
usecase "Know my progress on a quiz" as ES2.8
usecase "View student results who \n participate in my quizzes at all moment" as ES2.9
usecase "Create a quiz for students training" as ES3.1
usecase "Download quizzes to do them \n later without an internet connection" as ES3.3
usecase "Join a quizz with a code" as ES3.4
usecase "Have access to the vocabulary \n list with a link" as ES3.6
usecase "Evaluate students from anywhere" as ES4.1
usecase "Receive an email to notify \n me when I’m about to have an exam " as ES4.2
usecase "Change the level of my \n trainings games/quizzes" as ES4.3
usecase "Choose if I want to work \n from English to French or vice \nversa in the tests" as ES4.4
usecase "Choose a strict difficulty mode (0 error) \n or tolerant (1 or 2 errors) for my exams" as ES4.5
usecase "Easily switch from dark \n theme to theme clear and vice versa \n when I’m on the application (web or mobile)" as ES5.1
usecase "Change the speed of scrolling \n flashcard when I use scroll mode automatic" as ES5.3
usecase "Change my password" as ES5.6
usecase "Receive a message encouraging the end \n of my test to motivate me to continue" as ES5.8
usecase "Show my rank on quizzes" as ES5.10
usecase "Play a game in a demo to test the app" as ES6.1
usecase "Play a game" as ES6.2
usecase "Choose a game" as ES6.3
usecase "Choose the vocabulary list" as ES6.4
usecase "Give feedback after a quiz" as ES6.5
usecase "Sign in" as ES6.6
usecase "List quizzes/Vocabulary" as ES6.7
usecase "Delete a quiz" as ES6.8
usecase "Change nickname" as ES6.9
}
Admin --> ES1.1
Admin --> ES1.3
Admin --> ES1.4
Admin ----> ES1.6
Student --> ES1.15
Teacher -> ES2.1
Student --> ES2.4
Student --> ES2.5
Student --> ES2.7
ES6.2 <.. ES2.8 : include
Student --> ES3.3
Student --> ES3.4
ES3.1 ..> ES3.6 : extends
ES2.1 ..> ES3.6 : extends
Teacher ---> ES4.1
Student --> ES4.2
ES4.1 ..> ES4.5 : include
ES3.1 ..> ES1.13 : include
ES3.1 ..> ES1.14 : extends
Teacher --> ES3.1
ES6.3 ..> ES4.3 : extends
ES6.3 ..> ES4.4 : include
ES4.1 ..> ES2.9 : extends
Visitor --> ES5.1
User --> ES5.3
User --> ES5.6
ES3.4 <.. ES5.10 : include
ES6.2 <.. ES5.8 : include
Visitor --> ES6.1
Student --> ES6.2
Visitor --> ES6.6
Teacher --> ES6.7
User --> ES6.9
ES6.2 ..> ES6.3 : include
ES6.3 ..> ES6.4 : include
ES6.2 <.. ES6.5 : include
ES6.7 ..> ES6.8 : extends
ES1.6 ..> ES1.7 : extends
ES1.6 ..> ES1.5 : extends
ES1.6 ..> ES1.11 : extends
ES1.4 ..> ES1.2 : extends
ES1.4 ..> ES1.9 : extends
ES1.4 ..> ES1.10 : extends
ES1.6 ..> ES1.9 : extends
@enduml