0% found this document useful (0 votes)
34 views34 pages

Final Report - Group 5

The document outlines a Student Management System developed by a group at Vietnam National University, Hanoi, aimed at improving the learning process through efficient management of student information. It details the system's architecture, including the use of C# for programming, SQL for data storage, and an MVC model for application structure, along with various use cases for admin and student interactions. The document also includes diagrams and specifications for functionalities such as creating, updating, deleting, and searching for students and courses.

Uploaded by

21070407
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views34 pages

Final Report - Group 5

The document outlines a Student Management System developed by a group at Vietnam National University, Hanoi, aimed at improving the learning process through efficient management of student information. It details the system's architecture, including the use of C# for programming, SQL for data storage, and an MVC model for application structure, along with various use cases for admin and student interactions. The document also includes diagrams and specifications for functionalities such as creating, updating, deleting, and searching for students and courses.

Uploaded by

21070407
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34

Vietnam National University, Hanoi

International School

Big assignment

TOPIC: Student Management System

GROUP 12: Đỗ Thu Trang 21070661


Phạm Ngọc Anh 21070245
Trần Hà My 21070407
Đặng Tuấn Minh 21070297
Nguyễn Công Thành 21070881
Course code: INS3107
Lecturer: Prof. Nguyễn Đình Trần Long

Hanoi, 2024
Program Overview

The main goal of the Student Management System is to improve and simplify the learning
process by offering a stable and user-friendly platform for handling student information. This
system aims to facilitate the efficient tracking of student progress, automate administrative tasks,
and foster communication between faculty and students. Improved data accuracy, time-saving
tasks for teachers, and a centralized, easily available, and controllable student information
repository are among the specific goals that the system aims to accomplish.

To achieve these objectives, the system will be built using a combination of powerful tools
that ensure reliability, scalability, and user-friendly interaction. The core programming will be
done in C#, known for its robustness and versatility in creating complex applications. An SQL
database will serve as the backbone for data storage, providing a secure and structured environment
for handling large volumes of data. The user interface will be designed using HTML and
JavaScript, ensuring that the system is not only functional but also engaging and easy to navigate
for users of all technical backgrounds. Together, these tools will create a cohesive system that
meets the demands of modern educational institutions.
Program Design

Use Case Modeling

Figure 1: Use Case Modeling

This use case diagram represents the interactions between two types of users:

- Admin has control over user and course management


- Student can interact with the system primarily for course registration
 Use Cases for Admin
Manage Student:
- Insert Student: Admin can add new users to the system.
- Update Student: Admin can modify details of existing users.
- Delete Student: Admin can remove users from the system.
- Search Student: Admin can search for users within the system.
Manage Course:
- Create Course: Admin can create new courses.
- Update Course: Admin can update details of existing courses.
- Delete Course: Admin can delete courses from the system.
- Search Course: Admin can search for courses within the system.
 Use Case for Student
- Register Course: Student can register for courses available in the system.

They both have the log in/log out feature. The Admin has numerous direct connections with the
system for managing users and courses, whereas the Student has fewer interactions. This diagram
clearly describes the system's operation, demonstrating how the administrator and student interact
with the course management system's many capabilities.
MVC Model

Figure 2: MVC Model

The MVC (Model-View-Controller) pattern separates an application into three main components:
Model, View, and Controller.

1. Model:

 In the MVC pattern, the Model represents the data and the business logic of the
application. In StuMt System, the Model would include classes of user, admin, student,
course and enrollment
 The Model also includes the business logic for performing operations on this data such
as login, CRUD operations for courses and students, logout, and course enrollment. This
logic ensures that data is properly manipulated and maintained according to the rules of
the application.

2. View:
 The View is in charge of displaying the data to the user and taking input from them. The
user interface elements in StuM, including as forms, tables, buttons, and other elements
that let users interact with the system, would make up the View.
 Views in an SMS might include pages for displaying student information, course data,
and other relevant information. These views present the data from the Model in a user-
friendly interface and allow users to perform actions like CRUD.

3. Controller:

 The Controller acts as an intermediary between the Model and the View. It receives user
input from the View, processes it, and interacts with the Model to perform the necessary
actions.
 In StuM, the Controller would handle user requests such as adding a new student,
updating a student's information, etc. It then invokes the appropriate methods in the
Model to perform these actions and updates the View to reflect any changes in the data.
 The Controller also handles the flow of control in the application, determining which
View to display based on the user's actions and the current state of the application.

In summary, the MVC model separates the concerns of data, presentation, and application logic
in a Student Management System, making the system easier to develop, maintain, and scale. The
Model manages the data and business logic, the View presents the data to the user, and the
Controller handles user input and application flow.

Entity Relationship Model


Figure 3: Entity Diagram

This diagram represents the entity-relationship model for a student management system, showing
how different entities (user, admin, student, course, and enrollment) relate to each other. It
successfully illustrates the student management system's data structure, demonstrating how classes
are interconnected via their attributes and relationships.

1. Entities and Attributes


 User
- Attributes: id, userName, password, role.
- Navigation Properties: students, admins.
 Admin
- Attributes: userId, adminId, adminName, gender, email, address, tel, dateOfBirth,
user_id.
- Navigation Properties: courses, user.
 Student
- Attributes: studentId, userId, studentName, gender, email, address, tel, major,
dateOfBirth.
- Navigation Properties: user, enrollment.
 Course
- Attributes: courseId, courseName, lecturerName, day, time, location, admin_userId.
- Navigation Properties: enrollments, admin.
 Enrollment
- Attributes: courseId, courseName, studentId, studentName, semester, enrollmentDate.
- Navigation Properties: course, students.
2. Relationships
 User to Admin: One-to-many relationship. One user can be associated with many
admins (as indicated by the multiplicity 1..*). Each admin must have one user.
 User to Student: One-to-one relationship. Each user can be associated with at most one
student (0..1 multiplicity). Each student must have one user.
 Admin to Course: One-to-many relationship. One admin can manage many courses.
 Course to Enrollment: One-to-many relationship. One course can have many
enrollments.
 Student to Enrollment: One-to-many relationship. One student can have many
enrollments.
3. Navigation Properties:
 User: Holds navigation properties to students and admins indicating the relationships.
 Admin: Holds a navigation property to courses and user, establishing relationships with
the course and user entities.
 Student: Holds a navigation property to user and enrollment, establishing the
relationships with the user and enrollment entities.
 Course: Holds a navigation property to enrollments and admin, establishing the
relationships with enrollment and admin.
 Enrollment: Holds navigation properties to course and students, establishing the
relationships with the course and student entities.
Program Implementation

Key Implementations
1. Create Student

Use Case Specification

Use case name Create Student

Use case
This function allows admin create new student.
description

Actors Admin

The actor must be logged into the system.


Precondition

Postcondition This actor can add new student.

1. Admin clicks the "Student" dropdown menu and click “Create


student” option on the Homepage.
2. The system displays the Form for inserting student.
3. Admin fills the information of student into the Form (studentID,
name, email, temporary password, phone number, date of birth,
majors).
Basic flow 4. Admin clicks the “Create” button to confirm the account has been
created.
5. The system approves the request or denies it (if the account already
has existing information).
6. The system displays a screen stating that the account has been
successfully created.
At step 5 in the basic flow, if the manager enters invalid information or an
Alternative flow account already exists, the system will display the message "Invalid
information", otherwise the use case will continue.

Class diagram

Figure 4: Class diagram for Create Student

Program screenshots
Figure 5: List of all Students

Figure 6: UI for Create Student

2. Search Student

Use Case Specification


Use case name Searching Student

Use case
This function allows admin find specification student or lists of students
description

Actors Admin

Precondition Admin must be logged into the system.

Postcondition Admin can search specification student or lists of students

1. Admin clicks the "Student" dropdown menu and click “Search


Student” option on the Homepage.
2. The system displays the Student list Page.
Basic flow
3. Admin enters the student ID or student name in the search bar.
4. Admin clicks to “Search” icon to find the specification student or lists
of students.

Alternative flow None

Class diagram
Figure 7: Class diagram for Search Student

Program screenshots

Figure 8: UI for Search Student


3. Update Student

Use Case Specification

Use case name Update Student

Use case
This function allows the admin to update the student
description

Actors Admin

The user must be logged into the system, and student information that needs
Precondition
to be updated must be available.

Postcondition The user can update all student information.

1. The user clicks the "Student" dropdown menu and clicks the
“Update student” option on the homepage.
2. The system displays all students, the user needs to search for
students who need to be updated on the search bar.
3. The system displays students that the user searches for via keywords
in the search bar.
4. The user selects the student that needs to be updated.
Basic flow
5. The user edits the information on the student's form (studentID,
name, email, temporary password, phone number, date of birth,
majors).
6. The user clicks the “Update” button to confirm.
7. The system displays a screen stating that the student has been
successfully updated.
Alternative flow None

Class diagram

Figure 9: Class diagram for Update Student

Program screenshots
Figure 10: UI for Update Student

4. Delete Student

Use Case Specification

Use case name Delete Student

Use case
This function allows the admin to delete the student
description

Actors Admin

The user must be logged into the system, and student information that
Precondition
needs to be deleted must be available.

Postcondition The user can delete student information.

1. The user clicks the "Student" dropdown menu and clicks the
“Delete student” option on the homepage.
Basic flow
2. The system displays all students, the user needs to search for
students who need to be deleted on the search bar.
3. The system displays students that the user searches for via
keywords in the search bar.
4. The user selects the student that needs to be deleted.
5. The user clicks the “Delete” button to confirm.
6. The system displays a screen stating that the student has been
successfully deleted.

Alternative flow None

Class diagram

Figure 11: Class diagram for Delete Student


Program screenshots

Figure 12: UI for Delete Student

5. Create Course

Use Case Specification

Use case name Create Course

Use case
This function allows the admin to create new course
description

Actors Admin

The Actor has already logged


Precondition
The platform is operational

Postcondition The class is successfully created and stored in the system


1. Actor choose “Create” in Courses categories
2. The system presents a form for course creation.
Basic flow 3. The user enters all required information
4. The user submits the creation form.

Incomplete Form Submission:

Alternative flow  The system detects missing or invalid information.


 The system displays an error message and prompts the user to
complete/correct the form.

Program screenshots

Figure 13: UI for Create Course

6. Search Course

Use Case Specification

Use case name Search Course

Use case This function provides a detailed description of the process for searching
description for courses within the student management system.
Actors Admin

The Actor has already logged in.


Precondition
The platform is operational.

The system displays the search results for the courses based on the search
Postcondition
criteria.

1. Actor selects "Search" in the Courses category.


2. The system presents a search form.
3. Actor enters search criteria (e.g., course name, course ID, instructor
Basic flow name).
4. Actor submits the search form.
5. The system searches the database for courses that match the criteria.
6. The system displays the search results.

If no courses match the search criteria, the system displays a message


Alternative flow
indicating no results found.

Program screenshots

Figure 14: UI for Search Course


7. Update Course

Use Case Specification

Use case name Update Course

Use case This function provides a detailed description of the process for editing
description course details within the student management system.

Actors Admin

The Actor has already logged in.


Precondition
The platform is operational.

Postcondition The course is successfully updated in the system.

1. Actor selects "Update" in the Courses category.


2. The system displays a list of existing courses.
3. Actor selects a course to edit.
Basic flow 4. The system presents a form with the current course details.
5. Actor modifies the required information.
6. Actor submits the update form.
7. The system saves the updated course information.

1. The system detects missing or incorrect information.


Alternative flow 2. The system displays an error message and prompts the actor to
complete/correct the form.

Program screenshots
Figure 15: UI for Update Course

8. Delete Course

Use Case Specification

Use case name Delete Course

Use case
This function allows the admin to delete the course
description

Actors Admin

The user must be logged into the system, and course data needs to be
Precondition
existed in the system.

Postcondition The course will be deleted.

1. The user clicks the "Course" dropdown menu and selects the
Basic flow
"Delete Course" option on the homepage.
2. The system displays all courses, the user searches for courses
which need to be deleted on the search bar.
3. The system displays courses that the user searches for via
keywords in the search bar.
4. The user selects the course that needs to be deleted.
5. The user clicks the “Delete” button to confirm.
6. The system displays a screen stating that the course has been
successfully deleted.

Alternative flow None.

Program screenshots

Figure 16: UI for Delete Course

Class diagram
Figure 17: Class diagram for CRUD Course

9. Regist Course

Use Case Specification

Use case name Regist Course

Use case
This function allows the student to enroll courses
description
Actors Student

The student must be logged into the system, and course information must
Precondition
be available.

Postcondition The user can regist the desired classes

1. The student clicks the "Course" dropdown menu and selects the
"Register Course" option on the homepage.
2. The system displays all available courses, and the student needs to
search for the desired course using the search bar.
3. The system displays the courses that match the user's search
keywords in the search bar.
Basic flow 4. The student selects the course they want to register for.
5. The student clicks the "Register" button to confirm.
6. The system displays a screen stating that the course has been
successfully registered.

Alternative flow None.

Class diagram

Program screenshots
Figure 18: List of all Courses

Figure 19: Succesful Registration


Figure 20: Failed Registration

10. Log in

Use Case Specification

Use case name Log in

Use case This function provides a detailed description of the login process of the
description student management system

Actors Student & Admin

The Actor has already registered


Precondition The Actor has a valid username and password
The platform is operational

Actor reaches the homepage and able to access all the functional
Postcondition features.

1. Actor starts from the login page.


Basic flow 2. Actor enters username and password.
3. Actor clicks the “Login” button.
4. Platform verifies credentials (matched).
5. Actor accesses the homepage.

Alternative flow None.

Class diagram

Figure 21: Class diagram for Login

Program screenshots
Figure 22: Login Form

11. Log out

Use Case Specification

Use case name Log out

Use case This function provides a detailed description of the log out process of
description the student management system

Actors Student & Admin

The Actor has already logged


Precondition
The platform is operational

Postcondition The user session is terminated


The user is redirected to the login page

1. Actor clicks on "Logout" button.


Basic flow 2. The system redirects the actor to the login page.
Alternative flow None.

Class diagram

Program screenshots
Program Evaluation

1. Strengths
According to the program evaluation, the system is stable and most of its features work
without any issues, which makes for an error-free user experience Particularly remarkable are
the Admin features' visually appealing layout and effective performance, which point to a
well-thought-out design that values both form and function. The extensive comments within
the code are commendable, as they facilitate understanding and maintenance, making the
system more accessible for future developers.

2. Weakness
However, the evaluation also highlights areas for enhancement. The user interface on
several screens requires refinement to elevate the user experience to the expected standards.
This feedback is crucial as it directs attention to the user's interaction with the system, which
is fundamental for user satisfaction and system usability.

3. Future improvements
For future improvements, the student management system could benefit from a more
intuitive and user-friendly interface design. Implementing responsive design principles can
ensure that the system is accessible and efficient across various devices and screen sizes.
Additionally, incorporating user feedback mechanisms can provide continuous insights into
user needs and preferences, enabling iterative improvements. Enhancing data visualization
features could also provide administrators with clearer insights, aiding in better decision-
making. Lastly, considering the integration of artificial intelligence could automate routine
tasks, thereby increasing efficiency and allowing staff to focus on more complex issues that
require human intervention. These enhancements will not only address the current weaknesses
but also propel the system towards a more advanced and user-centric future.
Member Contribution

Member Task Session Evaluation

 Create the database


 Draw Use Case Modeling
 Create Admin Homepage
Đỗ Thu Trang
 Design use case Create Student and Search
Student (specifications, diagrams & code
implementation)
 Design use case Create Course and Log in &
Log out (specifications, diagrams & code
Phạm Ngọc Anh
implementation)
 Synthesize the report
 Design use case Search Course and Update
Trần Hà My Course (specifications, diagrams & code
implementation)
 Design use case Update Student and Delete
Đặng Tuấn Minh Student (specifications, diagrams & code
implementation
 Design use case Delete Course and Regist
Nguyễn Công
Course (specifications, diagrams & code
Thành
implementation

You might also like