You are on page 1of 39

Varien Appointment Scheduler 1

C868 – Software Capstone Project Summary

Task 2 – Section C

Capstone Proposal Project Name: Varien Appointment Scheduler

Student Name: David McClane


Varien Appointment Scheduler 2

Table of Contents

Contents

Table of Contents................................................................................................................2

Task 2 Part C – C868 Software Development Capstone...................................................4

Application Design and Testing.........................................................................................4

Design Document...............................................................................................................4

Class Design................................................................................................................................4

UI Design.....................................................................................................................................5

Unit Test Plan...................................................................................................................15

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

C4. Source Code...............................................................................................................21


Varien Appointment Scheduler 3

User Guide........................................................................................................................22
Varien Appointment Scheduler 4

Task 2 Part C – C868 Software Development Capstone

Application Design and Testing

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

list of customers that can have an appointment.


Varien Appointment Scheduler 5

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

to gain some of the information on the reports.

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

suggestions of the text in the text boxes.


Varien Appointment Scheduler 6

Low Fidelity UI High Fidelity UI

The

home

screen

or

main view is the appointment screen. It will display

after the login. It displays a scrollable table and

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

appointments for this week or this month.

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,

modifying appointments, deleting appointments, searching for customers, searching for

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

to move from one spot to another in the application.


Varien Appointment Scheduler 7

Low fidelity UI:

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

easier for the user.

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.

Low Fidelity UI High Fidelity UI


Varien Appointment Scheduler 9

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

customers and the needed information about each one.

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

customer form, the inputs are all text boxes.

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.

Low Fidelity UI High Fidelity UI


Varien Appointment Scheduler 10

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

customer page but has the staff instead.

Low Fidelity UI High Fidelity UI

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.

Low Fidelity UI High Fidelity UI


Varien Appointment Scheduler 11

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

will deactivate for better data security purposes.

Low Fidelity UI High Fidelity UI

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

system for each customer.


Varien Appointment Scheduler 12

Low Fidelity UI
Varien Appointment Scheduler 13

High Fidelity UI
Varien Appointment Scheduler 14

Unit Test Plan

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

the additional code any time code altering occurred.

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

see what the issue was.

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

that it would be a viable solution.

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

and alter someone else's account.

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

user. These were tested and worked.

Test Plan

Items

Follow the test cases

Note any failures and have the developer work on it

Complete through the test cases


Varien Appointment Scheduler 16

Repeat until all failures were gone

Features

The work environment needs to be available. Java 8 and Windows 10 OS and a

connection to the MySQL database are required for testing.

Tasks

1. Run code and move through the program to the area that needed testing.

2. Put incorrect values to ensure that it works

3. Put in incorrect values to see if error messages popup and handled properly

4. Continue tweaking and retesting until all success.

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

Workbench started for a more detailed explanation of the error.

When booking an appointment, if the customer or therapist had an appointment or was in

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

Sample Code Below:

SQL Code Snippet

Appointment Code Snippet

Admin Code Snippet


Varien Appointment Scheduler 18

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

doing wrong was correct.

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.

C4. Source Code

The location of the source code is in the zip file named

DavidMcClaneVarienSchedule.zip. Inside the zip file in the dist folder, the application is

DavidMcClaneVarienSchdule.java.
Varien Appointment Scheduler 20

User Guide

Varien Schedule Application

User Guide

For Windows 10:

This part of the guide will be a helpful guide to get the program installed, set up

and the user logged in on a Windows 10 machine.

Installation and Setup:

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

there will be an option to “Extract All…”. Select that option.


Varien Appointment Scheduler 21

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,

and the program will begin.


Varien Appointment Scheduler 24

Using the program:

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

Appointment/Home Screen - This will bring you to the Appointment screen,

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.

Then a form to fill out for the appointment appears.

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

have data, click the Submit button to add the appointment.


Varien Appointment Scheduler 26
Varien Appointment Scheduler 27

If you have added the appointment and need to modify it, select it on the table and

clicking the Modify Appointment Button

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

Appointments will show all the appointments.


Varien Appointment Scheduler 30

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

the add personnel form.

(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

anyone otherwise only you). Then click Modify Personnel.

Once the personnel form is displayed, you can change the values allowed to change (if

Administrators everything). Then save and return by clicking Submit.


Varien Appointment Scheduler 37

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

delete the appointments.

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

month and displays that.


Varien Appointment Scheduler 38

The second report is the therapist schedule report. After you select a therapist from the

dropdown menu, it will display that therapist’s schedule.


Varien Appointment Scheduler 39

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.

You might also like