Professional Documents
Culture Documents
A Task2 SectionC DavidMcClane
A Task2 SectionC DavidMcClane
Task 2 – Section C
Table of Contents
Contents
Table of Contents................................................................................................................2
Design Document...............................................................................................................4
Class Design................................................................................................................................4
UI Design.....................................................................................................................................5
Introduction..............................................................................................................................15
Purpose..................................................................................................................................................15
Overview...............................................................................................................................................16
Test Plan....................................................................................................................................17
Items......................................................................................................................................................17
Features.................................................................................................................................................17
Tasks.....................................................................................................................................................17
Pass/Fail Criteria...................................................................................................................................18
Specifications............................................................................................................................18
Procedures.................................................................................................................................20
Results........................................................................................................................................20
User Guide........................................................................................................................22
Varien Appointment Scheduler 4
Design Document
Class Design
The application contains many classes. The main classes used include Appointment, User,
Secretary, Admin, Therapist, and Customer classes. Some of the others are the DBConnection
class and some of the controls classes that help organize and control the Users, Appointments,
and Customers.
The Admin, Secretary, and Therapist classes are all types of the User class. They inherit
the attributes from the User class. The three subclasses have a method called rank, which will
send a String to another call to fill in a dropdown menu with the appropriate value. The Therapist
class is the only one that can have an appointment out of the User class. The others can make an
appointment but can not be part of the appointment. The Admin is the only one that can alter the
other Users making it the only one to add, delete, or modify any other User. The Therapists and
the Secretaries can change their names and password, but that is all they can modify.
The Customer class can be added, modified, and deleted by any of the Users. The
program will add a customer to an appointment-only if they have previously created it. The
information about the customer must be in the program before the program can add them to the
The Appointment class must have both a Therapist and a Customer added and the type of
appointment and the date and time of said appointment. The appointment class is also later used
UI Design
The application's UI consists of eleven screens with two extra views of reports because of
the use of tabs. The key design elements of each screen were Simplicity and familiarity. All
screens have close, minimize, and maximize functionality displayed in the top right of the high-
fidelity examples.
Entry into the application shows the login screen. It should be familiar to users with its
The
home
screen
or
several buttons. The table display is of the current appointments. There is also a set of radio
buttons on the top right of the screen that can pick to update the table view to just show the
There is a search box below the table that can search for any therapist or customer based
on the individual's name. The buttons give extra functionality like adding appointments,
therapists, going to the customer page, going to the personnel page, and looking at reports. Other
than the search buttons and box, several other options are on most of the other screens changing
out for the present in the button array. Having the setup makes for easier navigation if you need
High fidelity UI
Varien Appointment Scheduler 8
The add appointment view is a simple form to fill out that updates the database and the
application. Dropdown menus are the main form for data input here and a spinner for the time
and a date picker for the date. All this ensures data integrity in the database as well as making it
High fidelity UI
Low fidelity UI
There is also the modify appointment screen from the home page that is a variation of the
add appointment screen. First, select an appointment, then click the modify appointment button
to modify the appointment screen. The information about the appointment will be in the form,
and from there, changes can be made and then saved using the submit button.
Another screen to access from the home screen is the customer screen. Then this opens a
similar screen, but there is not a search box nor search buttons. The table view is also of the
High Fidelity UI
Low Fidelity UI
High Fidelity UI
Low Fidelity UI
Here you can go to the add customer button and be taken to the customer form. On the
Another selection that to make on the customer view is selecting a customer then
modifying them. Then this will autofill the text boxes, and then you can make the changes.
The next page of note would be the personnel page. This one is the page that the staff
information is and where you can see all the staff there. This page is made to look like the
There is a form for adding personnel here as well. It is simple with textboxes and a
dropdown menu. The password textboxes have hidden letters for better security. The dropdown
menu is there to assign the staff a position. Only the administrator has access to this step and can
assign staff.
The administrator can always modify by choosing the member and then modifying which
takes to the auto-filled form to adjust what is needed. If a user other than the administrator tries
to modify another, it will give an error message. If they modify their own, the dropdown menu
The page that is left is the report page. Within the page of the reports, there are three tabs,
each with a different type of report available. The first is a monthly account for each type of
session. The second is the scheduling system for each therapist. The third is a similar schedule
Low Fidelity UI
Varien Appointment Scheduler 13
High Fidelity UI
Varien Appointment Scheduler 14
Introduction
Purpose
The method used for Unit testing was by manually testing the unit as development
happened. Each view was a unit, several of the methods in the controller classes were units. The
unit tests would need to be done again to ensure that no bugs developed into the program from
Some of the unit testings dealt with the formatting of the calls of SQL calls to insert the
new information, update it, or delete the information in the database. If the test produced errors,
the SQL statement was printed to the console to see the formatting problem. If the developer
could detect no visible problems, the developer took code to MySQL Workbench to try there and
Another important test was the code that made sure that an appointment could not double
book either the customer or the therapist. The developer checked the code many times to ensure
Ensuring that the administrator was the only one who could add new staff, modify all
staff, or delete all staff was another test. It needed to be where staff could not alter their position
Overview
For the SQL tests throughout the application, the developer used a template for each step
of the CRUD method. The template was copied and pasted into the program and tweaked until it
worked. The SQL was used in many places whenever adding, modifying, or deleting needed to
Varien Appointment Scheduler 15
happen and sent to the database. It was there and needed to be unit tested. The functions tested
here were the statement functions that sent the SQL to the MySQL server and changed. The code
was run and brought to the point that the code would need to send to the MySQL server then the
developer would check if the item was added, changed, or deleted. If errors occurred in the code,
the statement would be printed to the console to further diagnose the problem and develop the
solution.
The location of the class testing the appointment booking was the ApptControls class in
the methods isCustBetween, isCustEqual, isUserBetween, and isUserEqual. Here the methods
were all checked independently and altered and tested again until they all worked with no issues.
Like the others, these tests run the code and manually try the code to try and get the expected
results for failure and success. For success, it would take the other information provided and add
the appointment. If a failure happened due to overbooking, it would send up an error to say that
whichever had the issue already had an appointment during that time.
To ensure that the Admin was the only user who could add and delete, the developer
implemented a method to test to see if the currently logged-in user was an admin. If they were,
the code would continue. If not, then an error would be generated. A similar method for the
modified user was implemented and needed to check to see if the logged-in user was the selected
Test Plan
Items
Features
Tasks
1. Run code and move through the program to the area that needed testing.
3. Put in incorrect values to see if error messages popup and handled properly
Pass/Fail Criteria
If the SQL added the values to the MySQL server in the appropriate places and updated
them properly or deleted the right one, it was a pass. If an error was detected and the program
crashed or gave an error message, then a failure occurred. When an error occurred, the SQL
statement is sent to the console to determine where the error might have been. If the developer
did not see the error within the formatting syntax, then the testing of the statement in MySQL
an appointment during the time, the error must send a warning alert to the user trying to book the
appointment. The values to try and see if there was one between the times was done first, which
worked quickly. Then the developer noticed that the times could be equal, and it would add an
appointment, so the methods that check for equality in these times then added quality.
Varien Appointment Scheduler 17
Testing for the functionality of only the Admin allowed to add, delete and modify all staff
was to check and see if first the Admin could access and use the buttons with no issue. Then,
check and make sure that the Therapists and Secretaries could not use those buttons, nor could
they change any user besides themselves. The developer found no errors during this part of the
testing.
Specifications
Procedures
In each test, I manually ran the code. I went to the program's location where the code
would be activated—tested to see if the code worked properly first. If not, then I investigated
why. If so, then I tested to see if I could do it wrong and see if the error handling for its setup
Results
For the SQL, the results are that the code is passed successfully to the MySQL server.
For the Admin, the error messages showing that a user that is not the Admin can not use
the add personnel button. Also, they can not edit someone that is not them.
Varien Appointment Scheduler 19
For the appointment booking test, it will check that an appointment that is overlapping
with another current appointment fails and that it sends an error message.
DavidMcClaneVarienSchedule.zip. Inside the zip file in the dist folder, the application is
DavidMcClaneVarienSchdule.java.
Varien Appointment Scheduler 20
User Guide
User Guide
This part of the guide will be a helpful guide to get the program installed, set up
Step 1- To install the application, you need to obtain the .zip file named
DavidMcClaneVarienSchedule.zip.
Step 2- Once you have the program downloaded, you need to extract the file to a known
location. Using Windows 10 extractor is easy. Right-click on the file. A menu will pop up, and
Step 3- The next popup window will appear, and it will have a button that says browse.
Put this file in another location, such as a Desktop. Select the browse and find where you want to
put it.
Step 4- Once you have the location found, click on the button that says “Extract” This
will extract the file so you can use it at the location you chose.
Varien Appointment Scheduler 22
Step 5- Once the file has finished extracting, another popup should show the folder you
need. Then, go inside this folder by double-clicking and entering the folder.
Varien Appointment Scheduler 23
Step 6- Now, you will find several folders and other files here. We are looking for a
folder named “dist” Once you find it double click into the folder.
Step 7 – Here, you will see three files that all say DavidMcClaneVarienSchedule. The
correct one to pick is the one that has the Type “Executable Jar File.” Double click on that file,
Login Screen- Once the program has loaded, you will see a login screen. For
testing purposes, use “test” for the username and “test” for the password. Enter these into the
appropriate blanks. (Do not put in the quotes.) Click on the Submit button to log in.
Varien Appointment Scheduler 25
also known as the Home screen. To begin getting ready to add Appointments of your own, you
need to make sure that your customer and therapist are in the system already. We will add
customers and therapists later. You can press the Add Appointment button to add an appointment.
To fill out the appointment, you need to use the dropdown menus to take care of
each section. When you get to the date picker, click on the calendar icon to open it and select a
valid date. Then use the spinner timer to select when the appointment is. When all the values
If you have added the appointment and need to modify it, select it on the table and
Once the modify screen shows then you can modify the values until it is correct.
Once that is the case, click the Submit button to save and return to the Appointment screen.
Varien Appointment Scheduler 28
If you need to search through the table for either a customer or a therapist to see if they
have appointments, then you can do that with the help of the search box. Put in the name or
partial name of the person you are looking for. Then click the appropriate button for the person
you are looking for. For the customers, click the Search Customers, and for the therapists, click
Varien Appointment Scheduler 29
Search Therapists. Then this will search the appointments for the person you are requesting.
Another feature of the Appointment/Home screen is that it has the radio buttons at the top
that sort the appointments and only show those selected for the time you select. Suppose you
click the one for This Weeks Appointments, only those during that time show. If instead, you
click on the one named This Months Appointments, then the ones for the month appear. All
To delete an appointment, you need to select the appointment in the table and click the
Delete Appointment button. It will ask you if you are sure that you want to delete the
appointment. If so, then click OK, and the program will delete it.
Varien Appointment Scheduler 31
Customers Screen - Clicking on the Customers button at any time will take you to the
Customers screen. The Customer screen is the screen that we can view, add, modify, and remove
customers.
Here on the Customers screen, you can notice that the Appointments button has replaced
the Customers button. You can use this to go back to the Appointments page when you need to.
Varien Appointment Scheduler 32
To add a customer, click on the Add Customer button to get access to the
customer form.
All the inputs are text boxes on the customer form and need to have data to add
the customer. Then click the Submit button to save the customer and return to the Customer
screen.
Varien Appointment Scheduler 33
To modify a customer who has changed any information about themselves, you
need to click on the customer who needs a modification and click the Modify Customer button.
Then this will bring up the Modify Customers from where modifications and
changes can be made to the customer and then saved using the Submit button.
Varien Appointment Scheduler 34
Deleting a customer is easy as well. You select the customer that needs to be deleted and
click the Delete Customer button. An alert will warn you that deleting the customer will also
delete all the appointments they had. If that is correct, then click OK, and the program will delete
them.
Varien Appointment Scheduler 35
The next screen is the Personnel screen. This screen shows the staff that is working. The
Administrator can add, delete, and modify any personnel member. Those that are not
Administrators can only select to modify themselves. Adding personnel as an admin takes you to
(Administrator Only) To add personnel, you need just a few things a username, password,
and position. Enter the information, and then press Submit to add the personnel.
Varien Appointment Scheduler 36
To modify personnel, you must select the person you wish to modify (if Administrator
Once the personnel form is displayed, you can change the values allowed to change (if
To delete personnel, you need to select the personnel on the table and click the Delete
Personnel button. Clicking this will prompt a warning that if they have any appointments, it will
The next screen to view would be the reports screen. This screen contains three types of
reports on three tabs. The default view is the report that counts up the different sessions per
The second report is the therapist schedule report. After you select a therapist from the
The next report is much like the second view but is for the customer instead of the
therapist. You still select the customer, and it will display their schedule.