Prerequisite Checker - PowerPoint PPT Presentation

1 / 33
About This Presentation
Title:

Prerequisite Checker

Description:

Tree like structure of the prerequisites for a course ... Bean. Accesses the prereq', students', courserecords' tables ... Level Java Bean Level Database Level ... – PowerPoint PPT presentation

Number of Views:24
Avg rating:3.0/5.0
Slides: 34
Provided by: neha69
Category:

less

Transcript and Presenter's Notes

Title: Prerequisite Checker


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)
root parent plft prgt id lft rgt
CIS 520 NIL 0 0 CIS 520 1 14
CIS 520 CIS 520 1 14 AND 2 13
CIS 520 AND 2 13 OR 3 8
CIS 520 OR 3 8 CIS 450 4 5
CIS 520 OR 3 8 EECE 431 6 7
CIS 520 AND 2 13 CIS 501 9 12
CIS 520 CIS 501 9 12 B or better 10 11
1
14
13
2
3
12
9
8
10
11
4
5
7
6
Prerequisite Structure of CIS 520
Entries in prereq table for CIS 520
6
Biggest Challenge (Contd)
7
System Architecture
Overall System Architecture
8
Features
  • View/Update Prerequisites
  • Check Student
  • Check Class
  • Update Database

9

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
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
JSP Level Java Bean
Level
Database Level
Architecture of Check Student
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
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
Architecture of Update Database
18
Functional Testing
  • HttpUnit
  • How the web site was tested?

Test performed Result
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
Issue Time Spent (approx.)
Research 15 hours
Database Design SQL Programming 50 hours
Coding 200 hours
Testing 15 hours
Documentation 40 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
Write a Comment
User Comments (0)
About PowerShow.com