|
|
```plantuml
|
|
|
|
|
|
@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 |