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

Slides:



Advertisements
Similar presentations
GENERIC CONTROL OF ELECTRICAL ENVIRONMENT THROUGH A WEBPAGE - IT Acumens. COMIT Acumens. COM.
Advertisements

Mark Insertion System Of Annajah National University Mark Insertion system is a system of entering and editing marks of students for each exam,where the.
Welcome Core 40 & Honors Internet Update System CHIPS
1 Introduction to MyExpense January 2015 Next 2 Overview What is MyExpense? MyExpense is a 3 rd Party hosted solution from Concur that automates the.
Kangaroo Software Use of Portlet Technology for Dynamic Generation of User Interfaces Jon Ferry Chris Helmeset Greg McGraw Jonathan Peffer.
CCC/WNUG Exchange Update May 5, 2005 Nate Wilken Web and Messaging Applications Information Technology Arizona State University.
Development of a Web Based B&B Reservation System Elizabeth Gates 22July04.
DT228/3 Web Development Databases. Database Almost all web application on the net access a database e.g. shopping sites, message boards, search engines.
J2EE Security and Enterprise Java Beans Mrunal G. Dhond Department of Computing and Information Sciences Master of Science, Final Defense February 26,
Preliminary Design Presentation December 5, 2005 NSG Software DevelopmentDecember 5, NSG Software Development.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
Bonrix SMPP Gateway Index Introduction Architecture diagram Set up diagram System & Software Requirements Installation Deployment Operations HTTP.
ECE356 – Database Systems Lab 1 – Building a Web Project with NetBeans Tiuley Alguindigue Lab Instructor – University of Waterloo, E & CE Dept. Fall 2013.
Feeds Computer Applications to Medicine NSF REU at University of Virginia July 27, 2006 Paul Lee.
BY ALEXANDER STEPHENS RYAN PIERCY EmCare Mobile Scheduling Application.
TUTORIAL (1) Software installation Written by: Eng. Ahmed Mohamed Abdel Ghafar, Edited by Eng. Muhammed Hammad, Eng. Hamdy Soltan & Eng. Osama Talaat.
Microsoft ® Application Virtualization 4.6 Infrastructure Planning and Design Published: September 2008 Updated: February 2010.
REAL TIME GPS TRACKING SYSTEM MSE PROJECT PHASE 2 PRESENTATION Bakor Kamal CIS 895.
A Choice between Interoperability and Migration By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.
QC 9.2 Prepared By  Sriraman K. 2 Objectives Test Management Tool – What, Why, Benefits etc To make participants aware of Test Process and controlling.
1 Web Developer & Design Foundations with XHTML Chapter 6 Key Concepts.
SJSU CS157B Dr. Lee1  2004 Jenny Mitchell Two Useful Tools You Can’t Live Without by Jenny Mitchell SJSU CS157B Section PHP and MySQL.
131 Agenda Overview Review Roles Lists Libraries Columns.
Introduction to HP LoadRunner Getting Familiar with LoadRunner >>>>>>>>>>>>>>>>>>>>>>
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
CSCI Research Project and Seminar Team #1 10/02/2007.
Web Application Programming Carol Wolf Computer Science.
 Automates the process of Bill generation and bill payment  FRONT END:- ASP.NET  BACK END :- SQL SERVER.
MSE Presentation 3 By Padmaja Havaldar- Graduate Student
Matrix Mapping Tool Sam Gross Internship at Virtual Technology Corporation.
Bonrix SMPP Client. Index Introduction Software and Hardware Requirements Architecture Set Up Installation HTTP API Features Screen-shots.
Microsoft ® System Center Service Manager 2010 Infrastructure Planning and Design Published: December 2010.
Scientific Technologies Corp. Tyrus Peace Stefanie Handrick Nathan Winchester.
Introduction to Test Director
AUTOMATION OF WEB-FORM CREATION - KINNERA ANGADI – MS FINAL DEFENSE GUIDANCE BY – DR. DANIEL ANDRESEN.
Running Kuali: A Technical Perspective Ailish Byrne - Indiana University Jay Sissom - Indiana University Foundation.
Student Curriculum Planning System MSE Project Presentation I Kevin Sung.
CIS 451: ASP.NET Concepts Dr. Ralph D. Westfall January, 2009.
REAL TIME GPS TRACKING SYSTEM MSE PROJECT PHASE I PRESENTATION Bakor Kamal CIS 895.
MSE Presentation 1 By Padmaja Havaldar- Graduate Student Under the guidance of Dr. Daniel Andresen – Major Advisor Dr. Scott Deloach-Committee Member Dr.
Explorer Renewal 1/2010 Explorer Renewal Updated 9/29/14.
Ashley Montebello – CprE Katie Githens – SE Wayne Rowcliffe – SE Advisor/Client: Akhilesh Tyagi.
Courselist Project Automated Graduate Student Information System Final project for CS 3354.
Online Music Store. MSE Project Presentation III
Midterm Presentation Capstone Team#1, Spring 2011 Irshad Ahmad KhanBalaji Srinivasan Ramakrishna AtluruVideesh Gogineni Instructor: Dr. Kwok-Bun Yue Mentor:
Running Kuali: A Technical Perspective Ailish Byrne (Indiana University) Jonathan Keller (University of California, Davis)
DataFlow Diagram – Level 0
NMD202 Web Scripting Week5. What we will cover today PHP & MySQL Displaying Dynamic Pages Exercises Modifying Data PHP Exercises Assignment 1.
Dr. David Roldán Martínez Universidad Politécnica de Valencia, Spain & Nuno Fernandes Universidade Fernando Pessoa, Portugal Site Stats, the power of event.
Internet Advancement Ore-Ida Council Boy Scouts of America.
Syllabus Management System Matt Bernstein, Paul Capelli, Jared Segal.
Page 1 of 42 To the ETS – Create Client Account & Maintenance Online Training Course Individual accounts (called a Client Account) are subsets of the Site.
IMS 4212: Database Implementation 1 Dr. Lawrence West, Management Dept., University of Central Florida Physical Database Implementation—Topics.
1 Copyright © 2009, Oracle. All rights reserved. I Course Introduction.
Ashley Montebello Katie Githens Wayne Rowcliffe. Project Overview Create graduate student review system for ECpE department Review system is used by students.
CMPE 226 Database Systems April 19 Class Meeting Department of Computer Engineering San Jose State University Spring 2016 Instructor: Ron Mak
GOVT. ENGINEERING COLLEGE, AJMER PRESENTATION ON GUIDED BY: MR. SANJAY SINGH PRSENTED BY: CHANDRASHEKHAR GARG KIRTI KUMAR VALIYA VIJAY SHARMA.
Retele de senzori Curs 1 - 1st edition UNIVERSITATEA „ TRANSILVANIA ” DIN BRAŞOV FACULTATEA DE INGINERIE ELECTRICĂ ŞI ŞTIINŢA CALCULATOARELOR.
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
1 Copyright © 2008, Oracle. All rights reserved. Repository Basics.
Exam Schedule System by Sheikh Nur Jahan ID# Supervisor: Md. Ahsan Arif Project Presentation for Bachelor of Science Dept. of Computer Science.
9 Copyright © 2004, Oracle. All rights reserved. Getting Started with Oracle Migration Workbench.
 INDEX  Overview.  Introduction.  System Requirement.  Features Of SQL.  Development Process.  System Design (SDLC).  Implementation.  Future.
Bonrix SMPP Gateway
Fundamental of Databases
Understanding and Improving Server Performance
Database System Concepts and Architecture
Software Support Framework
Server & Tools Business
Presentation transcript:

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

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

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

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

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 CIS AND213 CIS 520 AND213OR38 CIS 520 OR38CIS CIS 520 OR38EECE CIS 520 AND213CIS CIS 520 CIS B or better 1011 Entries in ‘prereq’ table for CIS

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 advisor course name Prerequisite Structure of the course Mapping prerequisites of a course to the course records of student(s) enrolled for that course

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

Features View/Update Prerequisites Check Student Check Class Update Database

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

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

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

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

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

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

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

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

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

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

Performance Testing JMeter System Configuration Microsoft Windows XP Home Mobile AMD Athlon(tm) 64-bit Processor 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

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

JMeter Test Results

Check Student Performance Testing

Check Class Performance Testing

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

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

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

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

Progress of the Project (Contd…)

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

Effort &Time Distribution (Contd…)

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

Demo

Questions