Fig20. Package
diagram
3.3.4 Class Diagram:
Static modeling is used to identify, refine
and complete classes of different packages seen in previous
section. It is to investigate the
relationships between them and invoke their attributes and
methods. The class diagram is the central point
in object-oriented development.
We will present the class diagram by
package.
3.3.4.1 Models package
Is the module
that contains all necessary class Entity that will be
traduced on tables in the database;
Each class entity represents only attributes (table columns),
class constructor, getter and setter for each attribute.
It contains seven classes that are: Person, Document, Privilege,
Question, Response, Knowledge and Training.
§ Person class has: id (person identifier),
login, password, name, first_name and e_mail attributes.
This class represents system users (our actors).
§ Privilege class has: id, user_role and
privilege attributes; this class will represent privilege table that contain
person_name and his associated privilege that can be: administrator, teacher,
student or visitor. Any user can have only one privilege and a privilege can be
associated to a group of person.
§ Question class: his attributes are
id_question, question, date_creation; it store all questions posed in the
forum. It is related with Person class to associate each question with his
creator; a question is posed by one person and any person can pose multi
questions.
Question class is also related to another class: Response
class.
§ Response class: it has id, response and
date_creation attributes; it is related with two classes Person and Question.
Thus a Response can't be created without question; a response is for only one
question, a question may have many responses. A response is associated for one
person but a person can provide many responses.
§ Training Class: his attributes are id,
training, delais_inscription, nbr_places and duree.
Represents all available trainings according to a specific date.
Any user who want to register for training should firstly be a student and
have some other criteria. So, a training can be followed by at least one
student and a student can follow many trainings.
§ Knowledge class: it has id and
knowledge_name attributes. It will represent knowledge table in the data base;
so it will stock each teacher's know ledges. Thus it is related to Person class
(we should mention here that we will catch only teacher knowledge) so when we
say knowledge person we mean that he has teacher privilege.
§ Document class: It has id, titre, auteur,
date_creation attributes. This class represents document Entity. A document can
be uploaded by only one person and a person can upload many documents, that's
why it is related to Person class.
|