Final Report - Group 5
Final Report - Group 5
International School
Big assignment
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
This use case diagram represents the interactions between two types of users:
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
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.
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.
Key Implementations
1. Create Student
Use case
This function allows admin create new student.
description
Actors Admin
Class diagram
Program screenshots
Figure 5: List of all Students
2. Search Student
Use case
This function allows admin find specification student or lists of students
description
Actors Admin
Class diagram
Figure 7: Class diagram for Search Student
Program screenshots
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.
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
Program screenshots
Figure 10: UI for Update Student
4. 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.
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.
Class diagram
5. Create Course
Use case
This function allows the admin to create new course
description
Actors Admin
Program screenshots
6. 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 system displays the search results for the courses based on the search
Postcondition
criteria.
Program screenshots
Use case This function provides a detailed description of the process for editing
description course details within the student management system.
Actors Admin
Program screenshots
Figure 15: UI for Update Course
8. 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.
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.
Program screenshots
Class diagram
Figure 17: Class diagram for CRUD Course
9. 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.
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.
Class diagram
Program screenshots
Figure 18: List of all Courses
10. Log in
Use case This function provides a detailed description of the login process of the
description student management system
Actor reaches the homepage and able to access all the functional
Postcondition features.
Class diagram
Program screenshots
Figure 22: Login Form
Use case This function provides a detailed description of the log out process of
description the student management system
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