44.5-40 SP = 4.5 SP difference 40/44.5 = 0.89 -> 100% - 89% = 11 % increase in amount of estimated SP. Schedule and Milestones Assigned By Instructor Mon, September 15 – Projects Assigned, Teams Formed Wed, September 17 – Teams meet with customers Fri, October 3 – Web page available with requirements Mon, October 13 – status meeting with team Mon, October 20 – Design due on webpage, team 1 presentation Wed, October 29 – Team review with instructor on presentation/design Wed, November 12 – Testing review with instructor Wed, November 19 – Code review and project status meeting with instructor Mon, December 1 – Team Practice Presentation Mon, December 12 – Team Presentation Team Set Deadlines September 14 – Team Formed. September 15 – Contacted Dotson for initial meeting to discuss project details. September 17 – Met with Dr. Dotson and discussed project details. September 20 – Built website for project description. September 24 – Started analyzing previous team’s code. September 26 – Continued analyzing previous code and started moving towards new plan. September 27 – Decided to start from scratch with new project. September 29 – Client confirmed choice of starting from scratch. October 1 – Team divided up challenges and decided which html interfaces each team member would work on. October 3 – Decided what tweaks needed to be made to each page. October 8 – Team met online established design flow for the application and drafted the formal design.
-> StartTime TIME, -> EndTime TIME, -> WeekDay TINYINT, -> TutorEmail varchar(40), -> FOREIGN KEY (TutorEmail) REFERENCES Tutor(Email) ); Explanation of Tables Client: Stores all information about a client (customer). Filled upon registration. Can be updated using the ‘Edit Profile’ button on the client profile page. Tutor: Stores first name, last name, and email address. IsAdmin boolean value determines whether the staff member has admin privileges. Appointment: Stores tutor email, student ID, start time, and duration. Times: Each entry stores a start and end time for a tutor. Multiple entries are made for each tutor – each individual shift that they work (for each day). The WeekDay field stores a number 1-7 inclusive, representing the day of the week. 1 represents Sunday, and 7 represents Saturday. This is used to match with the DAYOFWEEK(date) function in MySQL, which returns a number as described above. Appointment stores the DATETIME of the appointment. If a row is found in Times, and the time in Appointment doesn’t match the time in Times, and the currently selected date doesn’t match the date found in Appointments, display the time as available to be scheduled. x = select * from Times; y = select * from Appointments where DATE(StartTime) != selectedDate; for each value i in x: if( i.startTime NOT found in y ) display the appointment as available. User Interfaces Below is a list of all user interfaces: Client Side:
11. Add New Tutors Clicking on the Tutors button will allow you to add new tutors to the database. You input all of their required information on the screen, including a password. 12. Schedule New Tutors for Work Once new tutors have been added to the database click on the Schedule button to add work hours for those tutors. When you add the work hours and save them, those hours become available to the clients to view as open appointments automatically. On the schedule page enter the tutor’s first and last name, then click on the tab for each day they are working and enter the times, in hr:min:AM/PM format. You can either type these numbers in or use the click buttons. 13. Download Reports To download logistical Reports with the pre-specified data simply click on the Reports button from any of the pages. The software will automatically generate a report of the data from the database and download it contained within a .csv file to your download’s folder of for your browser. Simply click on this file and open it in excel to view the data. 14. Disable The disable button currently is a placeholder, and clicking it does nothing. It is listed as a future enhancement for the next team and we have included a potential way to implement it. But once working you will just click the disable button and it will shut off the client side interface. Further working specifications will depend on implementation. Installation Where Do I put the webpages? To simply put the webpages on the server of your choice. For the beta-testing of this project we used the following Server: scheduling.engr.uky.edu Username: beta