Project Report
Project Report
Team members:
Batyrbek Assel
Kassenova Dariga
Bayandina Nazerke
Taupai Ayazhan
The main goal of the project:
Create a project university system INTRANET. The university management
system is a form of distribution, coordination and implementation of
management activities within the structure of an educational institution, which
is determined by the specifics of its internal divisions, management bodies,
their interaction and interconnection this relationship between employees and
students of the university should be facilitated and of high quality. To do this,
our goal was to make a convenient console Java offer that will create the
simplest basic queries for students and university staff using the knowledge
gained in object-oriented programming courses.
Project description:
1. Create an architecture using Use Case and UML class Diagrams.
1. Diagrams:
We have created diagrams using GenMyModel UML tool. The UML divides into
two parts:
* Use-case diagram
* Class diagram
Use-Case diagram:
Class-Diagram:
2. Working with Eclipse
Packages
We have divided the classes into 5 main packages :
• UsersOfDANA(users of our system, actors of USE-CASE: User, Student, etc..)
• System(the main classes on which our system is based: course, mark, etc..)
• Additional(library, SMS, book, canteen, food, etc..)
• Enums(all enumerations: ManagerTypes, TypeOfLesson, etc..)
• Database(package where our data is stored: Database)
Student is a subclass of the User, the User class has such fields as:
public class User implements Comparable<User>,Serializable {
private static final long serialVersionUID = 1L;
private String name;
private String surname;
private String address;
private String email;
private int IIN;
private int phoneNumber;
Gender gender;
private String login;
private String password;
viewCourses() method:
public String viewCourses() {
String c="";
for(HashMap.Entry<Course,Mark> cur :Student.courses.entrySet()) {
c+="Course name: "+cur.getKey().courseName+" CourseID:
"+cur.getKey().courseID+"\n";
}
return c;
}
Add/dropCourses() methods:
public boolean addCourse(int courseID) {
Course c = new Course();
for (Course cur : Database.instanse.courses) {
if(cur.courseID==courseID) {
c=cur;
}
}
for(HashMap.Entry<Course,Mark> cur :courses.entrySet()) {
if(cur.getKey().equals(c)) {
return false;
}
}
courses.put(c, null);
return true;
}
public boolean dropCourse(int courseID) {
Course c = new Course();
for (Course cur : Database.instanse.courses) {
if(cur.courseID==courseID) {
c=cur;
}
}
for(HashMap.Entry<Course,Mark> cur :courses.entrySet()) {
if(cur.getKey().equals(c)) {
courses.remove(c);
return true;
}
}
return false;
}
Also Student can get information about Teacher, first of all we check if this
teacher exists or not from DataBase, if teacher doesn’t exist method return us
“No such teacher exists”.
public String getInfoAboutTeacher(String name,String surname) {
for(Teacher cur:Database.instanse.teachers) {
if(cur.getName().equals(name) && cur.getSurname().equals(surname)) {
return cur.toString();
}
}
return "No such teacher exists";
}
And Student can rate Teacher :
public void rateTeachers(String name,String surname,int rating) {
Teacher t=new Teacher();
for(Teacher cur:Database.instanse.teachers) {
if(cur.getName().equals(name) && cur.getSurname().equals(surname)) {
t=cur;
}
}
for(HashMap.Entry<Teacher,Vector<Integer>>
cur:Database.instanse.ratings.entrySet()) {
if(cur.getKey().equals(t)) {
cur.getValue().add(rating);
}
}
}
Student mode:
3. Documentation
Project Management:
Since the our team were initially well acquainted, it was easy and fun for us to work
together, we immediately created a common chat in telegram and created a channel in
teams, after the first general meeting we divided one work into several parts so we quickly
completed the task and it was clear to everyone what was going on and who was doing
what. Our work process continued in this spirit and everyone helped each other.
Problems:
At each stage, we had certain problems, for example,
1. In diagrams: TopCoder did not work at first, and in GenMyModel we could
not create a collaboration and had to do everything from one account. When
we were at home, everyone logged into this account at once and the site often
did not work correctly.
2. At the second stage, in writing code we didn't fully understand the essence of
serialization and patterns, this was the main problem.
3. At the third stage we couldn't create documentation, but we completely
figured it out.