Open veotani opened 4 years ago
@dikuchan Thanks for awesome work! They look nice, but I'm have noticed a few things to be improved and here are my thoughts.
It was hard for me to understand the diagram.
Admin
and Database
are the same. Who is the Admin
? As I understand, it is the person, the role of our system's user. Database
is the component of our system. IMO objects and user roles must differ on the scheme. The same goes for Users
and User
. As I understand, User
is a definition of a role - unprivileged user. Please make sure that the same notations means the same things.
For example, when I try to analyse the diagram, I see that Admin
(a filled in rectangle - must be a role of user of our system) sends Credentials
(an arrow - the data that is being transferred) to an Register
(rectangle with rounded corners, half filled in - must be an action). Register
action turns Credentials
into Encrypted credentials
and on this point it all looks nice and simple, but then something happens and I'm lost: the receiver of the Encrypted credentials
is Users
(a filled in rectangle which I consider as a role). As far as I know, these credentials had to be sent to a database, so that they can be used for authorization.
Probably the scheme itself was a bit overengineered. Probably I need a sip of coffee. You decide!It could be a little bit more straightforward:
User
sends Credentials
via Register
action, which transforms them into Encrypted credentials
and puts into Database
component of the system.User
(user) sends Username
(data) via Retrieve grades
(action). They are used to extract User grades
(data) from Database
(component) and returns them to the User
(user). ProctoringLink
is not a test field. Proctoring link is a link for an exam attempt of a single user on a specific test. It is my fault that #14 doesn't explain it well. Please move it somewhere else when you know it.Tests
be included into Course
object?I surely may be wrong.
@veotani Thank you for the detailed review!
Students
and users of our platform as Users
. And by Admin
I assumed an administrator of our platform mentioned in #10, a man who registers our Users
. In addition, I totally forgot to use any of conventional notations in the diagram. In our case, Users
is a database and User
is an external source. Plus, renamed them for the sake of simplicity. Fixed now.Attempt
. As far as I understand, each user have a grade on an Attempt
and each Attempt
has a link. Was that the correct decision?Tests
field.By the way, looking at the diagrams, can you tell if my understanding of the system is correct? Or did I miss something? Should we create more architecture schemes of the project?
@dikuchan LGTM!
It will be useful so have architecture scheme of the project. There are several types of them, few of them may be made:
These are only my suggestions, you can pick anything you like (or pick none, if you are sure about it).
Can recommend this service: draw.io