Professional Documents
Culture Documents
Student declaration
I certify that the assignment submission is entirely my own work and I fully understand the consequences of plagiarism. I understand that
making a false declaration is a form of malpractice.
Grading grid
Grade (0-10)
❒ Summative Feedback: ❒ Resubmission Feedback:
IV Signature:
Table of Contents
I. INTRODUCTION..................................................................................................................................................6
II. REQUIREMENT...................................................................................................................................................6
III. UI DESIGN........................................................................................................................................................7
IV. IMPLEMENTATION........................................................................................................................................9
1. Program Structure..............................................................................................................................................9
2. Classes..............................................................................................................................................................10
3. Important algorithms........................................................................................................................................13
4. How To Handle Errors.....................................................................................................................................17
V. TEST PLAN AND RESULT...............................................................................................................................20
VI. SCREENSHOTS OF RUNNING PROGRAM................................................................................................27
VII. CONCLUSION................................................................................................................................................30
Table of figures
II. REQUIREMENT
My software will need to contain some of the following features and needs in order to respond to
the present state of things in firms (as I indicated in the introduction):
• The program's interface must be fair and user-friendly.
• Users may handle two major items in this program: Manager and Officer.
• The application allows users to alter additional Manager and Officer Information.
• Users may now see more Manager and Officer Information in the software.
• Users may utilize the application to look for information by Manager and Officer Names.
• When the user departs the software, the program must store the Manager and Officer
information.
• Users can store and load a few basic remarks about Officer and Manager in the software.
• The program must check that the information of the fields must be valid before saving to the file.
To meet the above requirements, I will decide to use Java language together with JavaFX to design
on Scene Builder to be able to offer products suitable for all companies today.
III. UI DESIGN
To begin developing a software system capable of meeting common requirements. The first step is to
create a wireframe to identify what features the interface will have, and then to implement the
wireframe:
• The Home Page will be the first interface as well. The title of the System, as well as three buttons to
go to the new page, will be displayed on this interface.
• This second interface will be the interface to manage Manager and Officer. It can be seen on this
interface that the layout is divided equally for both sides. There are 5 fields to enter information: ID,
Name, Age, Month, and Salary. After you've filled out the forms, click the Insert button to see the
information you've put in the table, separated into chevaliers. Furthermore, the Update button refreshes the
required information, whereas the Delete button deletes information that is no longer valid. After hitting
the Search button, the interface also includes a search box where you may look for information on
Managers and Officers by their names. Additionally, the Back button is used to return to the Home Page
and the RefreshTable button is used to return to the original list after searching.
• The third and final interfaces are the same. They give a vast area for filling in the descriptions, remarks,
or comments of specific Managers and Officers, as may be seen on this interface. After filling in the
fields, the Save button saves all of the data to the file; the Load button uploads previously saved files; and
the Back button returns you to the Home page.
• Employee class: This is a super class that holds the most common properties of an employee, such as ID,
Male, Age, and Month.
• Manager class: This is a subclass that inherits properties from Employee and hashave its own
property managerSalary
• Officer class: is a subclass that will inherit properties from Employee class and will have its own
property officerSalary
• ManagerController class: is the class that will control the actions between the view and the model
of the Manager
• OfficerController class: is the class that will control the actions between the view and the model of
Officer
• CommentController class: is the class that will navigate the actions of in the Comment
• Function class: is a class that will include functions to read and write data of Manager and Officer
• MainController class: is the class that will take care of navigating between pages
• Main class: is the class that will take care of executing the program
2. Classes
The separation of classes and how each class approaches a task are critical to the effective completion of a
final project. All of the classes in the program are listed here.
• The first is the Employee class, which takes on the job of the parent class and contains the most frequent
characteristics of a firm employee.
• Class Manager inherits all of the employee class's most common attributes and adds a Manager-specific
property, which is the manager's compensation.
• The ManagerController class will be responsible for the workflow control provided by the Manager
interface.
• The OfficerController class will be in charge of the workflow that the Officer's interface will follow.
Figure 9: OfficerController Class
• The class CommentController will be in charge of the workflow control provided by Comment's
interface.
• The MainController class will be the class responsible for navigating the pages that interact with each
other
• Next I will create a Function called readManagerListFromFile, the function of this algorithm is to read
the data that has been written to the file and similar to Officer.
• When the user hits the Insert button, I'll create a function that saves the information input by the user to
the File automatically. I'll specifically utilize the function I wrote earlier as addManagerToFlie to add
values according to the fields that the user enters on the interface, as well as Officer.
• When the user hits the Update button, I'll create a function that saves the information in the fields that
the user has typed to the File. I'll use the SaveManagerToFlie function I wrote earlier to update the values
for the fields that the user fills on the interface, and I'll do the same with Officer.
• When the user selects the Remove button, the fields specified by the user will automatically get
information from the table corresponding to the position in the File, and then delete the information from
the table and the File with the location. Similar to Officer and corresponding job in File.
• The SearchManager function that I have created below allows users to enter the name of a Manager in
the search box, when the user presses the Search button, the results will display the search results on
the table and similar to the Officer.
• If the user inputs the Manager or Officer's ID, the application will prompt them to enter a new
ID.
• If the age of the Manager or Officer is less than zero, the application will prompt the user to input
the ID again.
• The application will prompt the user to re-enter the age of the Manager or Officer if it is less than
22 and more than 55.
• If the month of Manager or Officer is between 0 and 12, the application will prompt the user to
input the month again.
• The application will prompt the user to re-enter the Manager's salary if it is less than $1000.
When it comes to the Officer, the computer will prompt the user to re-enter the Officer's pay if it is
less than or equal to $ 1000.
Figure 27: Error 6
• If the user enters text in the numeric input fields such as ID, Age, Month, Salary, the program
will notify the user to check if the entered fields are correct.
• If the user presses the Update button or the Delete button first, but has not selected the
information of the person who wants to update or delete it, the program will notify the user to
select the object.
The employee management system's main screen interface is seen below, with the system's title bar
"Employee Management Application" and the Manager and Officer buttons for switching to the Manager
and Officer management pages, respectively.
Move the button to the Manager Management page after leaving the interface page. The image below depicts the
page's structure, which includes fields to fill in information, a table to display information after it has been
successfully added, and three buttons to perform its functions: "Insert," "Update," and "Delete," as well as a field to
search for information, a button to refresh the table after searching, and a "Back" button to return to the Main Page.
Finally, there is the page with the comments. Users will see a huge section on this page where they may
input various Manager and Officer Descriptions. The "Save" button saves the material that will be
imported into the file, the "load" button uploads already stored content, and the "Back" button returns to
the main screen.
Figure 53: Comment Page
VII. CONCLUSION
To summarize, I learned a lot of information after successfully completing this job. Let's start by
describing the project's aim, then breaking down the requirements and objectives into smaller chunks to
make specifying what we need to do easier. a major objective Then I must build the wireframes for my
pages, and in order to do so, I must rely on the requirements as well as the objectives to design the
functionality, and I must also be familiar with specific tools. Understand The Java language and the
JavaFX platform system, which were utilized to create the program, will be discussed further. I had to
spend some time studying IntelliJ in order to use the Java programming language and the JavaFX platform
system. It's time to check for mistakes after completing the code execution phases. To do error checking, I
must first create a test plan, after which I must implement those cases in the code to improve the user
experience even more. Following the completion of the preceding steps, the product launch phase will
begin. Users will be able to test the application and provide comments in order to help improve it.