Presentation is loading. Please wait.

Presentation is loading. Please wait.

Prerequisite Checker Neeharika Bollepalli Masters Report, Final Defense Guidance by Dr. Dan Andresen.

Similar presentations


Presentation on theme: "Prerequisite Checker Neeharika Bollepalli Masters Report, Final Defense Guidance by Dr. Dan Andresen."— Presentation transcript:

1 Prerequisite Checker Neeharika Bollepalli Masters Report, Final Defense Guidance by Dr. Dan Andresen

2 Overview Motivation Biggest Challenge System Architecture Features Functional Testing Performance Testing Conclusions Project Metrics Progress of the Project Effort & Time Distribution Reflections Demo

3 Motivation Role of advisors Requirement to satisfy the prerequisites for a student to enroll in a course Web service that provides automated checking of the prerequisites for a student or a class

4 Biggest Challenge Tree like structure of the prerequisites for a course Ex: CIS 520 requires CIS 450 or EECE 431; and B or better in CIS 501 Mapping the prerequisite structure of a course to the database Updating the prerequisite structure of a course from the Web interface

5 Biggest Challenge (Contd…) CIS 520 AND OR CIS 501 B or better EECE 431 CIS 450 Prerequisite Structure of CIS 520 rootparentplftprgtidlftrgt CIS 520 NIL00CIS 520 114 CIS 520 114AND213 CIS 520 AND213OR38 CIS 520 OR38CIS 450 45 CIS 520 OR38EECE 431 67 CIS 520 AND213CIS 501 912 CIS 520 CIS 501912B or better 1011 Entries in ‘prereq’ table for CIS 520 1 14 2 13 3 8 45 6 7 9 12 10 11

6 Biggest Challenge (Contd…) Prereq root parent plft prgt id lft rgt courserecords recordID ssn sem year dept number hours grade recommended students ssn fname lname email advisor course name Prerequisite Structure of the course Mapping prerequisites of a course to the course records of student(s) enrolled for that course

7 System Architecture Apache Tomcat Server MySQL Server JSP – Client requests are interpreted here Java Beans Clients Request or Response Overall System Architecture

8 Features View/Update Prerequisites Check Student Check Class Update Database

9 Home View/Update Prerequisites Check Class Check Student Update Database View the prerequisites Edit the prerequisites View the results Result for adding a department Result for adding a course Result for adding a prerequisite Submit form to view prerequisites Submit form to check class Submit form to check student Submit form to add department Submit form to add course Submit form to add prerequisite Submit form to edit prerequisites Submit form to go back to View/Update prerequisites Submit form to go back to Check Class Submit form to go back to Check Student Submit form to go back to Update Database Submit form to go back to Update Database Submit form to go back to Update Database Comprehensive Flow Chart

10 View/Update Prerequisites Functionalities View prerequisites Input: department name, course level, course name Update prerequisites Input: new prerequisites and their conditions, additional information if any for the course Limitations: Web form cannot represent these scenarios More than 3 prerequisites connected by ‘AND’ More than 3 prerequisites connected by OR’ A prerequisite for a course has more than one condition Connector ‘AND’ under ‘OR’ in the prerequisite structure of a course. Ex: CIS 721 requires CIS 520 or both CIS 622 and EECE 633

11 JSP Level Java Bean Level Database Level view.jsp Submit ‘viewForm’ view_resultjsp Calls the ‘getPrereq’method on ‘PrereqBean’ to display prerequisites Calls ‘getPrereqOnly’ method on ‘editPrereqBean’ to set prerequisites in the form ‘editForm’ Submit ‘editForm’ edit_result.jsp Calls the appropriate method on ‘updateprereqBean’ to update the prerequisites Accesses ‘prereq’, ‘dept_courses’ tables Accesses ‘prereq’ table Submit ‘GoToViewForm’ to View/Update Prerequisites for another course PrereqBean editPrereqBean updatePrereq Bean Updates the ‘prereq’ table Architecture of View/Update Prerequisites

12 Check Student Functionality Eligibility of a Student to enroll in a course Input: student ID number, semester, year, department name, course name Limitations Prerequisites which are not valid courses, default to either true or false. Ex: ‘Graduate Standing’ defaults to true, ‘Permission of Instructor’ defaults to false ‘Concurrent enrollment’ condition for a prerequisite requires special handling

13 StudentHome.jsp Submit ‘checkPrereqForStudent’ form studentHome_result.jsp Calls the ‘checkStudentStatus’ method on ‘studentCheckBean’ to display the results StudentCheck Bean Accesses the ‘prereq’, ‘students’, ‘courserecords’ tables Submit ‘GoToStudentHomeForm’ to go back to Check Student Home Architecture of Check Student JSP Level Java Bean Level Database Level

14 Check Class Functionality Check the eligibility of all the students enrolled in a class for their prerequisite requirement Input: semester, year, department name, course name

15 JSP Level Java Bean Level Database Level checkClass.jsp Submit ‘checkPrereqForClass’ form checkClass_result.jsp Calls ‘checkPrereqs’ method on ‘CheckClassBean’ to display the results Submit ‘GoToCheckClassForm’ to go back to Check Class Home CheckClass Bean Accesses the ‘courserecords’, ‘students’ tables Architecture of Check Class

16 Update Database Functionalities Add a department Input: department name Add a course Input: department name, course name Add a prerequisite Input: department name, course level, course name

17 JSP Level Java Bean Database Level Level databaseHome.jsp Submit ‘deptForm’ Submit ‘prereqForm’ addDept_result.js p addCourse_resul t.jsp addPrereq_resul t.jsp Calls ‘addDept’ method on ‘UpdateDbBean’ Submit ‘GoToDatabaseHomeFor m’ to go back to Update Database Home Calls ‘addCourse’ method on ‘UpdateDbBean’ Submit ‘GoToDatabaseHomeFor m’ to go back to Update Database Home Calls ‘addPrereq’ method on ‘UpdateDbBean’ Submit ‘GoToDatabaseHomeFor m’ to go back to Update Database Home UpdateDbBean Updates the ‘department’ table Accesses ‘department’, updates ‘dept_courses’, ‘dept_prereqs’, ‘prereq’ tables Accesses ‘department’, ‘dept_courses’ tables updates ‘dept_prereqs’ tables Submit ‘courseForm’ Architecture of Update Database

18 Functional Testing HttpUnit How the web site was tested? Test performedResult Links Clicking a link and Obtaining the response The response obtained by clicking the links were as expected Table Structure Testing the number of rows & columns in the tables and the text/link/form in each cell of the table The number of rows and columns in the tables were as expected and each cell of the table contained the expected text/link/form Forms Default values of parameters, submission of forms The default values of the parameters in the forms were as expected and the forms got successfully submitted when correct input values were given

19 Performance Testing JMeter System Configuration Microsoft Windows XP Home Mobile AMD Athlon(tm) 64-bit Processor 2700+ 1.6 GHz, 512 MB of RAM Apache Tomcat 5.5, Sun Jdk1.5.0_01, MySQL Server 4.1  Load tested the main features of the application with number of users from 100 to 2000

20 Performance Testing (Contd…) Individual test cases for Check Student and Check Class as the size of the tables they access change frequently The size of tables accessed by View/Update Prerequisites and Update Database remain relatively constant

21 JMeter Test Results

22 Check Student Performance Testing

23 Check Class Performance Testing

24 Conclusions For View/Update Prerequisites, Check Student, Update Database Apache Tomcat and Java consumed more % of CPU Load on CPU increases with the number of threads (100% CPU utilization for 400 threads) To improve the performance, a more powerful application server

25 Conclusions (Contd…) For Check Class MySQL consumed more % of CPU More load on CPU even for less number of threads (100% CPU utilization for 100 threads) as compared to that of View/Update Prerequisites, Check Student and Update Database To improve the performance, Performance tuning of the database server and increasing the cache of the system On the whole, performance is considerably good, given that maximum throughput is between 800 to 900 users for all features on average

26 Project Metrics Number of Java Bean classes - 7 Source Lines of Code JSP Files – 3524 Java Beans – 5473 Total ------------ 8997 (9000 approx.)

27 Progress of the Project July ‘04 – August ’04 Database Design, basic architecture of the web interface September ’04 – December ’04 View/Update Prerequisites feature, Shifted from Oracle 9i to MySQL 4.1 December ’04 – January ’05 Vacation February ’05 – May ’05 Check Student, Check Class, Update Database features, Started Testing June ’05 – July ’05 Completed Testing, JavaDocs, Documentation

28 Progress of the Project (Contd…)

29 Effort & Time Distribution IssueTime Spent (approx.) Research15 hours Database Design & SQL Programming 50 hours Coding200 hours Testing15 hours Documentation40 hours

30 Effort &Time Distribution (Contd…)

31 Reflections Experience in all phases of software development, from requirements to testing How small things matter ? (Database Design) Sharpened my JSP, JavaScript, Java skills and SQL programming Complicated logic that tested my logical and analytical skills Automated testing – how performance is measured and analyzed? Role of Documentation

32 Demo

33 Questions


Download ppt "Prerequisite Checker Neeharika Bollepalli Masters Report, Final Defense Guidance by Dr. Dan Andresen."

Similar presentations


Ads by Google