OOP_FinaltermProject
OOP_FinaltermProject
STUDENT MANAGEMENT
PROJECT
TASKS ASSIGNMENT.......................................................................................................................1
ACKNOWLEDGEMENT...................................................................................................................2
ABBREVIATION LIST.......................................................................................................................3
FIGURE LIST......................................................................................................................................4
TABLE LIST........................................................................................................................................5
1.1. Objectives..............................................................................................................................6
2.2.1. IDE................................................................................................................................10
3.1.1. Overview.............................................................................................................................18
3.1.2. Components.......................................................................................................................19
3.3.1. Layout................................................................................................................................25
3.3.2. Widgets...............................................................................................................................27
4.1. Implement...........................................................................................................................27
4.3. Results.....................................................................................................................................35
4.4. Discussions..........................................................................................................................36
PART 5: CONCLUSIONS.................................................................................................................37
REFERENCES...................................................................................................................................38
ACKNOWLEDGEMENT
We would like to express our gratitude to PhD. Le Vinh Thinh for his guidance
and encouragement throughout this project for Object-Oriented Programming. His
expertise and dedication were invaluable, enabling us to explore and understand the
complexities of object-oriented design and its applications.
We also wish to thank the Faculty of International Education at HCMC University
of Technology and Education for providing us with the resources and support to carry
out this project. This experience has been instrumental in reinforcing our skills in OOP
concepts, programming techniques, and teamwork. We are also grateful to our
classmates, who shared their insights and constructive feedback, which greatly
enhanced our project’s direction.
___________________________________________________________________
1
PART 1: PROJECT DESCRIPTIONS
1.1. Objectives
The primary objective of this project is to develop a user-friendly graphical user
interface application that serves as an effective tool for student management.
Designed to cater to administrators, teachers, and students, the application focuses
on facilitating the storage and manipulation of student-related data while
enhancing accessibility and usability. The project aims to provide an intuitive
interface that allows users to seamlessly interact with the system, retrieve
information, and manage academic data efficiently.
o To implement essential features that address critical aspects of student
management include:
o Users can create accounts for both student and teacher users, enabling their
active participation in the system.
o Students can use the application to register for courses and review their
academic performance
o Teachers are empowered to input and manage student grades and course
information.
o Allowing all users to view detailed academic reports for supporting
administrators to generate comprehensive summaries to facilitate evaluation
and decision-making.
By offering these functionalities, the project seeks to create a tool that is not
only practical but also impactful for educational institutions. Administrators and
educators will find it easier to manage student records, monitor academic progress,
and oversee course enrollment. At the same time, students will benefit from
improved access to academic information, making it simpler to track their results
and register for classes.
___________________________________________________________________
2
1.2. User benefits
The development of this application grounded in the principles of Object-
Oriented Programming (OOP) provides numerous benefits to its users. Firstly, it
demonstrates the foundational OOP concept of abstraction, simplifying complex
tasks like data management and user interactions by encapsulating them into clear
and manageable modules. By creating classes to represent entities such as students,
teachers, courses, and administrators, the system organizes information logically,
making it easier to understand and maintain.
The application also emphasizes inheritance, enabling the reuse of common
attributes and methods which reduces redundancy and ensures consistency across
different components of the system. Additionally, thorugh the attribute
encapsulation of OOP the information of user is applied by restricting direct access
to the internal state of objects ensuring data integrity and security. To be more, the
concept of polymorphism is highlighted through method overriding and overloading
to provide specific details for students, teachers, or administrators.
By integrating these OOP principles, the application fosters modularity,
scalability, and reusability. It provides a practical example of how theoretical
concepts in OOP translate into real-world applications, ensuring that both individual
users and collaborative teams can efficiently manage and extend the system to meet
evolving needs.
___________________________________________________________________
3
1.3. Scope and Objects
The development of this GUI application for student management offers
numerous benefits to its users. Firstly, it provides an interactive platform that
simplifies the process of managing student information and courses, thereby
enhancing the administrative experience for educators and staff.
Users can visualize and manage complex student data and course structures,
which aids in their comprehension of student progress and academic performance,
fostering a deeper understanding of student management processes. Additionally,
the application’s editing features allow users to customize student and course
information according to their specific needs, promoting flexibility and efficiency in
their work.
The capability to save and load student and course data ensures that users can
efficiently manage their projects, facilitating ongoing administrative tasks and
record-keeping. Furthermore, educators can utilize this tool as a teaching aid,
enabling them to demonstrate course management and student progress tracking in a
more engaging and practical manner.
___________________________________________________________________
4
PART 2: BACKGROUND KNOWLEDGES
2.1. Fundamental Knowledges
Object-Oriented Programming (OOP) is a programming paradigm centered
around the concept of objects, which represent real-world entities and their
interactions. For a Student Management project, the fundamental concepts of OOP
can be applied as follows:
1. Classes and Objects: A class serves as a blueprint for objects, defining their
properties and behaviors.
2. Encapsulation: Encapsulation involves bundling the data (attributes) and
methods (functions) that operate on the data within a single unit (class).
3. Inheritance: Inheritance allows a class to derive properties and methods from
another class.
4. Polymorphism: Polymorphism enables objects to be treated as instances of
their parent class while exhibiting behavior specific to their subclass.
5. Abstraction: Abstraction hides complex implementation details and exposes
only the necessary features.
6. Association: A relationship between objects, such as a Student being associated
with a Course.
7. Aggregation: A weaker form of association, where an object can exist
independently of the container.
8. Composition: A stronger form of association, where an object's lifetime
depends on the container.
___________________________________________________________________
5
2.2. Development Environment
2.2.1. IDE
In the development of our graph drawing application, we chose to utilize
Visual Studio as our Integrated Development Environment. VS is renowned for
its versatility and user-friendly interface, making it an ideal choice for both
novice and experienced developers. The IDE provides a rich set of features,
including syntax highlighting, code completion, and debugging tools, which
significantly enhance the coding experience. With its extensive library of
extensions, such as the C/C++ extension by Microsoft, VS Code allows for
seamless integration of tools that facilitate efficient development practices. This
flexibility enables us to focus on implementing complex algorithms and user-
friendly functionalities without the distraction of cumbersome development
environments.
2.2.2. Programming languages
For the programming language, we selected C# due to its versatility, ease of
use, and modern features. C# is a powerful language that supports object-oriented
programming, allowing us to structure our code in a modular and maintainable
way. This is particularly beneficial for our application, which requires the
implementation of various database and data structures.
The .NET framework and libraries in C# simplify the development process by
providing built-in data structures and utilities, enabling us to leverage existing
solutions for school-related needs. Additionally, C#’s robust support for GUI
development through frameworks Windows Forms allows us to design a user-
friendly interface with minimal effort.
As we move forward with the implementation of our application, we are
committed to ensuring that it not only meets functional requirements but also
provides an intuitive and engaging user experience. The GUI will be designed to
facilitate easy interaction with buttons to easily add, create and query data. By
combining the power of C# with a well-thought-out GUI, our application will
___________________________________________________________________
6
serve as a valuable educational management tool for teacher and admin,student to
easily manage school-related activities
___________________________________________________________________
7
2.3. Modules and Frameworks
2.3.1. .NET Framework
The .NET Framework is a comprehensive software development platform
developed by Microsoft that provides a controlled programming environment for
building and running applications on Windows. It includes a large class library
known as the Framework Class Library and provides interoperability between
various programming languages. The .NET Framework supports one of its key
features is the Common Language Runtime, which manages the execution
of .NET programs, providing services such as garbage collection, exception
handling, and security..
For the Student Management Project, the .NET Framework 4.7.2 is
utilized to develop a robust student management system. This framework
facilitates the development of various components of the application which
supports technologies such as Windows Forms for creating the graphical user
interface of the application.
The .NET Framework enables developers to create applications that can
easily interact with the Windows operating system and other Microsoft services,
making it a powerful tool for enterprise-level development. This is particularly
beneficial for the student management system, as it requires seamless integration
with databases, user authentication, and other administrative functionalities
which ensure that the application is efficient, secure, and scalable, meeting the
needs of educational institutions effectively
2.3.2. Window Form Application
A Windows Forms Application is a type of desktop application built using
the .NET Framework that provides a graphical user interface for users to interact
with. Windows Forms is a UI framework that allows developers to create rich
client applications for Windows. It leverages the capabilities of the .NET
Framework to manage the execution of code, ensuring that applications run
smoothly and securely.
___________________________________________________________________
8
Developers can use Windows Forms to design user interfaces with various
controls such as buttons, text boxes, labels, and data grids, allowing for a
responsive and interactive experience. The framework provides a good-looking
interface for viewing details, inserting information, exporting reports, which
makes it easier to create complex layouts without extensive coding. Additionally,
Windows Forms applications can easily access the underlying .NET libraries,
enabling developers to implement features such as data binding, event handling,
and custom data.
The .NET Framework ensures that Windows Forms applications benefit from
features like automatic memory management and type safety, which enhance
application stability and performance. Overall, Windows Forms Applications are
ideal for building desktop solutions that require a user-friendly interface and
robust functionality.
2.3.3. .NET Libraries
The .NET Framework encompasses a rich set of libraries known as the FCL,
which provides a vast array of functionalities essential for application
development. The System.Windows.Forms library serves as the backbone for
building the GUI. It offers a variety of controls such as forms, buttons, text
boxes, and menus, enabling users to interact seamlessly with the application. This
library is crucial for creating the main interface where users can manage students,
courses, and grades effectively.
Additionally, the System.Data library plays a vital role in handling database
operations, particularly for connecting to and interacting with SQL databases.
The application employs SqlConnection, SqlCommand, and SqlDataAdapter
from this library to facilitate the loading, saving, and updating of student and
course data, thus allowing users to persist their work across sessions.
Furthermore, the System.Drawing library is instrumental for graphics
programming, providing access to essential drawing functions. This enables the
application to render graphical elements such as charts and reports, enhancing the
visual representation of the data.
___________________________________________________________________
9
To ensure smooth interoperability between different components, the
application utilizes various other libraries such as System.ComponentModel for
component and control management, and System.Linq for efficient data querying
and manipulation. Collectively, these libraries empower the application to deliver
a robust and user-friendly experience, enabling users to manage student
information, courses, and grades efficiently.
2.3.4. Others modules and frameworks
Beyond the core .NET Framework and its libraries, the student management
application leverages several other modules and frameworks that significantly
enhance its capabilities. One of the primary frameworks used is Windows Forms,
which serves as the foundation for building the graphical user interface. This
framework allows for rapid development of desktop applications by providing a
rich set of pre-built controls and an event-driven programming model,
simplifying the process of creating interactive user experiences.
Integral to the application’s functionality is the CLR, which acts as the
execution environment for .NET applications. The CLR manages essential
services such as memory management, security, and exception handling,
ensuring that the application runs smoothly and efficiently. Additionally, the
application incorporates specific dialog components like OpenFileDialog and
SaveFileDialog from the Windows Forms library. These components facilitate
user interactions by providing a user-friendly interface for loading and saving
data.
The application also capitalizes on the data handling capabilities offered by the
System.Data.SqlClient namespace. This is crucial for database operations, as it
includes the functionality to execute SQL queries and commands, which are
fundamental to the application's operation. Furthermore, the event handling
mechanisms intrinsic to Windows Forms allow the application to respond
dynamically to user actions, such as button clicks and form submissions, creating
a responsive and engaging user interface.
___________________________________________________________________
10
In summary, these additional modules and frameworks enrich the student
management application, providing a comprehensive set of features for managing
students, courses, and grades. By integrating these components, the application
achieves a balance between usability and performance, effectively catering to the
needs of its users.
___________________________________________________________________
11
PART 3: DESIGN SYSTEM
3.1. System Architecture
3.1.1. Overview
Using Window Form Application by C# to design the interface with these
components:
o Sign In Form for three object users(admin, student, teacher)
o Sign Up Form for circumstance users don’t have account
o Admin GUI: allowing admin users have ability to add, delete, adjust the
information related to the other user class( student and teachers) as well as
printing reports of student, course, grade data
o Teacher GUI: teacher users can add and adjust course or grade for student
class
o Student GUI: give student enviroment to enroll in new course as well as
following the scored inserted by teacher
o Each GUI will be provided with lots of buttons and dataGridView for users
3.1.2. Components
In this student management application, there are three main GUIcomponents
that serve as main form to interact for the users: Admin, Teacher, and Student.
___________________________________________________________________
12
Components Function
___________________________________________________________________
14
o Updating Records: Existing records can be updated by selecting them
from the list and clicking the update button, which will open the form pre-
filled with the current details.
o Deleting Records: Records can be quickly deleted by selecting them and
clicking the delete button.
o Viewing Details: Detailed information about students, teachers, and
courses can be viewed by selecting the respective records from the list.
This design ensures that all components interact seamlessly, providing a
user-friendly and efficient experience for managing student, teacher, and course
information.
___________________________________________________________________
15
3.4. OOP Attributes and Method
3.4.1 Class and Inheritance
Person: A base class that includes common attributes like firstName,
lastName, birthDate, Gender, Address
Student: Inherits from the Person class. Includes attributes like phone,
courses enrolled, grades.
___________________________________________________________________
16
Teacher: Inherits from the Person class. Includes attributes like teacher ID,
subjects taught.
___________________________________________________________________
17
3.4.2. Encapsulation
Private Attributes with Public Getters and Setters in class Person, Teacher, Student:
all attributes in the classes are private and accessed through public methods (getters
and setters) which ensures that the internal state of the objects is protected and can
only be modified through controlled methods.
___________________________________________________________________
18
___________________________________________________________________
19
3.4.3. Polymorphism
Method Overriding: base class Person has a method PrintDetails() that is
overridden in the Student, Teacher, and Administrator classes to print specific
details. This allows each subclass to provide its own implementation of the method.
Person:
Student:
Teacher:
Administrator:
Method Overloading:
Student:
Teacher:
___________________________________________________________________
20
Administrator:
___________________________________________________________________
21
3.2. Main Usecase Functions
3.2.1. Admin users
The Student Editing includes:
• Add Student: When a user clicks the "Add Student" button, a form is
displayed for entering student details. The system automatically assigns a unique
ID to the new student upon submission.
___________________________________________________________________
22
• Delete Student: When a user clicks the "Delete Student" button, a form is
displayed for selecting the student to be deleted by their ID. The system removes
the student from the database upon confirmation.
• Update Student: When a user clicks the "Update Student" button, a form is
displayed for selecting the student to be updated by their ID and entering the new
details. The system updates the student information in the database upon
submission.
The Teacher Editing includes:
• Add Teacher: When a user clicks the "Add Teacher" button, a form is
displayed for entering teacher details. The system automatically assigns a unique
ID to the new teacher upon submission.
• Delete Teacher: When a user clicks the "Delete Teacher" button, a form is
displayed for selecting the teacher to be deleted by their ID. The system removes
the teacher from the database upon confirmation.
• Update Teacher: When a user clicks the "Update Teacher" button, a form is
displayed for selecting the teacher to be updated by their ID and entering the new
details. The system updates the teacher information in the database upon
submission.
The Report Exporting includes:
• Student Report: When a user clicks the "Print" button, the system generates a
report list of all students if no input data on ID Textbox or ComboBox select
class,if will report report of student in one selected Course if choose on Select
Class ComboBox, provide a tailed report score of one specified student by input
Student ID in ID textBox, provides options to print or save the report to file pdf.
___________________________________________________________________
23
• Teacher Report: When a user clicks the "Print" button, the system generates a
report of all teachers, including their details and assigned courses, and provides
options to print or save the report.
___________________________________________________________________
24
Course Delete: Teacher can delete an existing course by selecting the course
from a list and clicking the "Delete Course" button. The prompt will be
poped up for confirmation before removing the course from the database,
ensuring accurate management of course data..
Course Update: Teachers can update course details by selecting the course
from a list and clicking the "Update Course" button, which triggers a dialog
box where users can modify the course name, hours, and description.
Course Print: Teachers can print the list of course user teach by click
“Search” button, which the Data Grid View will show out the list course as
well as Print this Table to pdf file
___________________________________________________________________
25
choose the course want to enroll in ComboBox, these enrolled course will
displayed in the right DataGridView
• View Student Details: Studnet can view the list of Course enrolled and
grade along with each course. Then if teacher insert grade, System will calculate
the average grade and give judgement of student.
___________________________________________________________________
26
Sign In: Users can log in to their account by clicking the "Sign In" button.
This action triggers a dialog box where users can input their username and
password.
___________________________________________________________________
27
The system will validate the input fields to ensure they are not empty. Upon
successful validation, the system will check the credentials against the database.
If the credentials are correct, the user will be granted access to the system and a
success message will be displayed. If the accounts are incorrect or an error
occurs, an appropriate error message will be shown.
___________________________________________________________________
28
3.3. Graphical User Interface Design
• Sign In Form: A form with a text box for username and password, and
buttons to Login or Sign Up if the user does not have an account yet.
• Sign Up Form: A form with a text box for username and password, and a
button to Sign Up.
___________________________________________________________________
29
Admins:
• Admin GUI: The main interface for administrators with buttons to manage
students and teachers.
___________________________________________________________________
30
• Register Student Form: A form with text boxes for first name, last name,
phone, and address, and a button to Register.
• Update Student Form: A form with text boxes for student ID, first name,
last name, phone, and address, and a button to Update.
• Register Teacher Form: A form with text boxes for first name, last name,
phone, and address, and a button to Register.
• Update Teacher Form: A form with text boxes for teacher ID, first name,
last name, phone, and address, and a button to Update.
Teachers:
• Teacher GUI: The main interface for teachers with buttons to mange Grade
and Course.
• Add New Course Form: A form with text boxes for course name and
course code, and a button to Add.
___________________________________________________________________
31
• Update Course Form: A form with text boxes for course ID, course name,
and course code, and a button to Update.
___________________________________________________________________
32
• Assign Grade Form: A form with text boxes for student ID, course ID, and
grade, and a button to Assign.
___________________________________________________________________
33
Students:
• StudentGUI: The main interface for student with buttons to view grade and
enroll in course.
___________________________________________________________________
34
• Enroll In Courses Form: A form with text boxes for course name and
course code, and a button to View.
• View Student Details Form: A form with a button to Print course details.
___________________________________________________________________
35
PART 4: IMPLEMENT, TEST CASE, RESULTS, AND
DISCUSSIONS
4.1. Implement
4.1.1. Main Classes
AdminForm.cs: forms the core of the project, containing the implementation
of the main functionality for the administrative interface. It includes methods
for managing student, teacher, and course records, as well as handling user
interactions.
StudentForm.cs: be responsible for defining and implementing the student
interface. It includes methods for student-specific operations such as enrolling
in courses and viewing grades.
TeacherForm.cs: defines the structure and related methods for managing
teacher records. It includes functionalities for adding, updating, and deleting
teacher information, as well as displaying the teacher list.
CourseForm.cs: defines the structure and related methods for managing
course records. It includes functionalities for adding, updating, and deleting
course information, as well as displaying the course list.
Student.cs: defines the student class and its related methods. It includes
properties for student attributes and methods for operations such as enrolling
in courses.
Teacher.cs:defines the teacher class and its related methods. It includes
properties for teacher attributes and methods for operations such as assigning
courses.
Course.cs: defines the course class and its related methods. It includes
properties for course attributes and methods for operations such as updating
course details.
___________________________________________________________________
36
Administrator.cs: defines the administrator class and its related methods. It
includes functionalities for managing student, teacher, and course records, as
well as performing administrative tasks.
4.1.2. Adding Functions
The adding functionality is a core feature of the application, enabling users to
manage students, teachers, courses, and grades through text boxes or mouse
interactions. Specifically:
• Adding Student: Admin Users can add a new student by clicking the
"Add Student" button, which opens a form to input the student's details such as
name, date of birth, gender, phone number, and address. The system instantly
updates the database to include this new student.
• Adding Teacher: Admin Users can add a new teacher by clicking the
"Add Teacher" button, which opens a form to input the teacher's details such as
name, subjects taught, and contact information. The system instantly updates the
database to include this new teacher.
• Adding Course: Teacher Users can add a new course by clicking the
"Add Course" button, which opens a form to input the course details such as
course name, hours, and description. The system instantly updates the database to
include this new course.
• Adding Grades: Teacher Users can assign grades to students by
selecting a student and a course, then entering the grade in a provided form. This
feature ensures accurate recording of student performance and updates the
database accordingly.
4.1.4. Deleting Functions
The adding functionality is a core feature of the application, enabling users to
manage students, teachers, courses, and grades through text boxes or mouse
interactions. Specifically:
• Deleting Student: Admin Users can add a new student by clicking the "
Delete" button, which opens a form to input the student's details such as name,
___________________________________________________________________
37
date of birth, gender, phone number, and address. The system instantly updates
the database to include this new student.
• Deleting Teacher: Admin Users can add a new teacher by clicking the "
Delete" button, which opens a form to input the teacher's details such as name,
subjects taught, and contact information. The system instantly updates the
database to include this new teacher.
• Deleting Course: Teacher Users can add a new course by clicking the "
Delete" button, which opens a form to input the course details such as course
name, hours, and description. The system instantly updates the database to
include this new course.
4.1.3. ToolBars Functions
The ToolBar functions are implemented as ToolStripButtons. This section of
the project implements a variety of essential toolbar functions, providing users
with intuitive controls for managing student, teacher, and course records. The
toolbar includes several buttons, each corresponding to a specific operation.
Some of the key functions implemented in this section include:
• Add Student: Opens a form to add a new student record.
• Delete Student: Deletes the selected student record.
• Update Student: Opens a form to update the selected student record.
• Add Teacher: Opens a form to add a new teacher record.
• Delete Teacher: Deletes the selected teacher record.
• Update Teacher: Opens a form to update the selected teacher record.
• Add Course: Opens a form to add a new course.
• Delete Course: Deletes the selected course.
• Update Course: Opens a form to update the selected course.
• Generate Report: Generates a report of the current records.
• Clear: Clears the current selection or input fields.
• Search: Searches for records based on specified criteria.
These toolbar functions ensure that users can efficiently manage student,
teacher, and course information with ease.
___________________________________________________________________
38
4.1.3. Updating Functions
The updating functionalities enhance users' ability to modify existing
information. Key features include:
• Updating Student:Admin Users can update student information by
selecting a student from the list and clicking the "Update Student" button. This
opens a form where users can modify the student's details such as name, date of
birth, gender, phone number, and address. The system immediately updates the
database with the new information.
• Updating Teacher: Admin Users can update teacher information by
selecting a teacher from the list and clicking the "Update Teacher" button. This
opens a form where users can modify the teacher's details such as name, subjects
taught, and contact information. The system immediately updates the database
with the new information.
• Updating Course: Teacher Users can update course details by selecting
a course from the list and clicking the "Update Course" button. This opens a form
where users can modify the course name, hours, and description. The system
immediately updates the database with the new information.
• Updating Grade: Teacher Users can update grades by selecting a
student and a course, then modifying the grade in a provided form. This feature
ensures accurate recording of student performance and updates the database
accordingly.
4.1.4. Printing Functions
The application incorporates robust printing functionalities for physical forms
or file sending:
• Print Student: Users can print student lists by clicking the "Print
Student" button. The system generates a formatted document containing all
student details, which can be printed or saved as a file.
• Print Course: Users can print course lists by clicking the "Print Course"
button. The system generates a formatted document containing all course details,
which can be printed or saved as a file.
___________________________________________________________________
39
• Print Grade: Users can print grade reports by clicking the "Print Grade"
button. The system generates a formatted document containing all grade details,
which can be printed or saved as a file.
4.2. Test Cases
Test Case
Preconditions Test Steps Expected Result Status
Description
Add Student Admin Form is 1. Click "Add A new student is Pass
running Student" button. added to the
2. Fill in student database and
details in the form. displayed in the
3. Click "Save". student list.
Add Teacher Admin Form is 1. Click "Add A new teacher is Pass
running Teacher" button. added to the
2. Fill in teacher database and
details in the form. displayed in the
3. Click "Save". teacher list.
Add Course Application is 1. Click "Add A new course is Pass
running Course" button. added to the
2. Fill in course database and
details in the form. displayed in the
3. Click "Save". course list.
Assign Grade Students and 1. Select a student. The grade is Pass
courses exist 2. Select a course. assigned to the
3. Enter the grade. student for the
4. Click "Save". selected course
and saved in the
database.
___________________________________________________________________
40
Update Students exist 1. Select a student The student's Pass
Student in the database from the list. details are
2. Click "Update updated in the
Student" button. database and
3. Modify student reflected in the
details in the form. student list.
4. Click "Save".
Update Teachers exist 1. Select a teacher The teacher's Pass
Teacher in the database from the list. details are
2. Click "Update updated in the
Teacher" button. database and
3. Modify teacher reflected in the
details in the form. teacher list.
4. Click "Save".
Update Courses exist 1. Select a course The course's Pass
Course in the database from the list. details are
2. Click "Update updated in the
Course" button. database and
3. Modify course reflected in the
details in the form. course list.
4. Click "Save".
Delete Students exist 1. Select a student The student is Pass
Student in the database from the list. removed from
2. Click "Delete the database and
Student" button. the student list.
3. Confirm deletion.
Delete Teachers exist 1. Select a teacher The teacher is Pass
Teacher in the database from the list. removed from
2. Click "Delete the database and
___________________________________________________________________
41
Teacher" button. the teacher list.
3. Confirm deletion.
Delete Course Courses exist 1. Select a course The course is Pass
in the database from the list. removed from
2. Click "Delete the database and
Course" button. the course list.
3. Confirm deletion.
Delete Grade Grades exist in 1. Select a student The grade is Pass
the database and course. removed from
2. Click "Delete the database and
Grade" button. the grade list.
3. Confirm deletion.
Print Student Students exist 1. Click "Print A document Pass
in the database Student" button. with student
2. Select print details is printed
options. or saved as a
3. Confirm print. file.
Print Course Courses exist 1. Click "Print A document Pass
in the database Course" button. with course
2. Select print details is printed
options. or saved as a
3. Confirm print. file.
Print Grade Grades exist in 1. Click "Print A document Pass
the database Grade" button. with grade
2. Select print details is printed
options. or saved as a
3. Confirm print. file.
Sign In Application is 1. Enter username User is Pass
running and password. authenticated
___________________________________________________________________
42
2. Click "Sign In". and granted
access to the
application.
Sign Up Application is 1. Click "Sign Up" A new user Pass
running button. account is
2. Fill in registration created and the
details. user is
3. Click "Register". redirected to the
login page.
Table 4. 1. Test Cases Table
___________________________________________________________________
43
4.3. Results
The implementation successfully meets the primary objectives, demonstrating a
robust and user-friendly approach to graph creation and manipulation. The
application provides users with an intuitive interface that facilitates effortless graph
editing and visualization. This user-centric design ensures that even those with
limited technical expertise can effectively utilize the tool for various graph-related
tasks.
One of the standout features is the comprehensive set of functionalities for saving
and loading graphs. These capabilities not only enhance user convenience but also
promote data persistence and sharing.
The rigorous testing process implemented throughout the development cycle has
significantly contributed to the overall robustness of the core features. This
meticulous approach to quality assurance ensures that users can rely on the
application for consistent and accurate graph operations, even under diverse usage
scenarios.
___________________________________________________________________
44
4.4. Discussions
The implementation successfully meets the primary objectives, demonstrating a
robust and user-friendly approach to student management. The application provides
users with an intuitive interface that facilitates effortless management of student
information. This user-centric design ensures that even those with limited technical
expertise can effectively utilize the tool for various student-related tasks.
One of the standout features is the comprehensive set of functionalities for
adding, updating, and deleting student records. These capabilities not only enhance
user convenience but also promote data accuracy and integrity.
The rigorous testing process implemented throughout the development cycle has
significantly contributed to the overall robustness of the core features. This
meticulous approach to quality assurance ensures that users can rely on the
application for consistent and accurate student management operations, even under
diverse usage scenarios.
___________________________________________________________________
45
PART 5: CONCLUSIONS
The project has successfully developed a user-friendly application for managing
student information. Its intuitive interface and user-friendly tools make student
management accessible to users of all skill levels, while robust functionality supports
the addition, updating, and deletion of student records.
A crucial strength of this application is its utility for both administrative and
educational purposes by efficiently handling student data and providing quick access
to important information. Additionally, the application enhances its usability by
allowing customization of student attributes and efficient searching and filtering of
student records. However, the application has some limitations. Firstly, it supports
saving data only in a specific database format. Moreover, it lacks the ability to export
data in various formats such as CSV or Excel for improved data sharing and analysis.
To address these limitations and expand its capabilities, several future
enhancements can be proposed. One of them is to optimize performance through the
use of more efficient data structures like dictionaries for quick lookups. Next, the
integration of advanced features, including automated report generation and data
analytics, would broaden its utility.
To conclude, this application stands out as a powerful and accessible tool for
student management. While already robust in functionality, strategic upgrades in
performance, feature support, and data export options will ensure its continued growth
and value for both educational and administrative use..
___________________________________________________________________
46