IT PAT Menachem Altman Part 4 Table of Content: Externally Sourced Code --------------------------------------------------------------------------------------- 3 Explanation of Critical Algorithms --------------------------------------------------------------------------- 6 Advanced Techniques ------------------------------------------------------------------------------------------ 8 Evaluation of Solution ---------------------------------------------------------------------------------------- 12 Functional Testing --------------------------------------------------------------------------------------------- 13 Test Plan and Results ------------------------------------------------------------------------------------------ 19 Externally sourced code ConnectDB - This code was learned from by my teacher, Mr Murugan in class. This class had to be altered slightly to be able to connect with my Access database EmailManager - I was able to source the EmailManager from the help of a friend who sent me to stackoverflow.com to find the code. I altered the code to a degree and created an outlook account to work with the code since google had blocked 3rd parties from accessing Gmail Explanation of critical Algorithms - Login method Reason to be a critical algorithm - The code above validates the admin username and password. If the code was absent, anyone would be able to change the admins timetable to however they like or delete anything. The code ensures the safety of the Admins control over the Schedule and rest of the Application not available to a guest - Fill tables method (this is the code for tblMonday but works for everyday of the week if changed to that variable name in the SQL statement and in the ResultSet) Reason to be a critical algorithm - The code above fills in the tables for the schedules of the week. This is the backbone to the whole application and would be useless without the tables for each day of the week. Therefore, it is a critical algorithm in the Application Advanced Techniques: - Inner Join (closer look) This inner join statement in set into SQL, included the use of 3 tables – Teachers, Schedule2 and Periods. From Schedule2 I got the periodID as the first column. From Teachers I got first name, surname, and subject. From Periods I got the start time and end time as the fifth and sixth columns. This was used to create a table in Java with all relevant information for the schedule while still keeping my database in 3NF - Email code This function will only work if the computer is connected to the internet. - The use of javax.mail allows the user to send an email with their relevant information without leaving the application. This connects to the premade outlook account and sends an email to the own account when a customer care email is sent. The sender sends his own email address too and therefore allows Customer Care to send him an email with a solution - Search bar This void method allows the developer to use it with any table of their choice. I used it in My teacher table since I have a lot of different teachers. The use of setRowFilter(RowFilter.regexFilter(text)) allows the user to search for any component in the table rather than only being able to search a single search method - (ASK about notificationManager) - StatisticsManager Evaluation of Solution: Initially, I wanted to allow myself to be able to see my daily schedule and change the schedule accordingly. I hoped that this would keep me more orderly and allow me to be on time and ready for my week in advance. As I continued to develop the app, I realised that by allowing anyone to add themselves into my schedule when I have free time would and give me a notification when I log in, would allow others to handle my appointments, dates, meetings or other with them. I do not believe this is application is ground-breaking and could incorporate many new features in the future. To be able to make it a downloadable add with online usability would be the main goal for this application in the long run. By adding the customer Care email feature, I will be notified of flaws in the code and be able to fix them for future users Functional Testing: Specs Works The user will be able to login with the username and password The user will be able to go to the schedule screen The user will be able to go to the Teachers screen The user will be able to add a teacher The user will be able to delete a teacher The user will be able to update a teacher The user will be able to search the teacher table The user will be able to clear the information in the fields in the teacher screen The user will be able to logout on schedule, teacher, periods and subjects and statistics screen The user will be able to access the periods and subjects screen The user will be able to edit a period The user will be able to add a subject The user will be able to delete a subject The user will be able to access statistics page The user will be able to get lessons in the week The user will be able to access the settings page The user will be able to change username and password The user will be able to access the help page The user will be able to get teacher Help Doesn’t Work The user will be able to get periods and subjects help The user will be able to get admin help The user will be able to clear text area The user will be able to access the Customer Care screen The user will be able send an email with the relevant information The user will be able to change the schedule on Monday, Tuesday, Wednesday, Thursday, Friday in the Schedule Screen The user will be able to access GuestSchedule from login The user will be able to update schedule at a free slot on Monday, Tuesday, Wednesday, Thursday, Friday The user will be able to access the add guest Screen The user will be able to add a new person into the teacher table The user will be able to access help screen The user will be able to logout on Monday, Tuesday, Wednesday, Thursday, and Friday screens The user can access schedule help The user can access guest help The user will be able clear text area The user will be able access Customer Care page The user will be able to go back to main screen from Schedule screen The user will be able to go back to login from customer Care Screen The user will be able to exit the application from the login screen Name: ___________ Date: 015/07/2022 Specs Works The user will be able to login with the username and password The user will be able to go to the schedule screen The user will be able to go to the Teachers screen The user will be able to add a teacher The user will be able to delete a teacher The user will be able to update a teacher The user will be able to search the teacher table The user will be able to clear the information in the fields in the teacher screen The user will be able to logout on schedule, teacher, periods and subjects and statistics screen The user will be able to access the periods and subjects screen The user will be able to edit a period The user will be able to add a subject The user will be able to delete a subject The user will be able to access statistics page The user will be able to get lessons in the week The user will be able to access the settings page The user will be able to change username and password The user will be able to access the help page The user will be able to get teacher Help The user will be able to get periods and subjects help Doesn’t Work The user will be able to get admin help The user will be able to clear text area The user will be able to access the Customer Care screen The user will be able send an email with the relevant information The user will be able to change the schedule on Monday, Tuesday, Wednesday, Thursday, Friday in the Schedule Screen The user will be able to access GuestSchedule from login The user will be able to update schedule at a free slot on Monday, Tuesday, Wednesday, Thursday, Friday The user will be able to access the add guest Screen The user will be able to add a new person into the teacher table The user will be able to access help screen The user will be able to logout on Monday, Tuesday, Wednesday, Thursday, and Friday screens The user can access schedule help The user can access guest help The user will be able clear text area The user will be able access Customer Care page The user will be able to go back to main screen from Schedule screen The user will be able to go back to login from customer Care Screen The user will be able to exit the application from the login screen Name: ___________ Date: 015/07/2022 Test Plan and Results: Test Plan: Teachers Screen: Test Input No 1 First name 2 Surname 3 subject 4 Email Standard Extreme Abnormal John johndeyrentaloday Jo6h Cohen col c N/A (using combo Box) j.c@gmail.com John.c@learners.grade12.yeshivacollege.co.za c.j@yeshooo Results: Test No 1 2 3 first name Success Surname Error: first name must only contain letters surname Success Success Error: surname must be more than 2 letters long subject N/A N/A N/A Email sucess sucess Error: email must end with .com or .co.za