Online School Registration System Solomon Ng Pei-Yu Wang Evan Chiu Curtis Wong Outline • • • • • • • Overview of the system Customer Requirements SPECsoft Team Required Resources System Design User Interface Testing & Quality Assurance 2 The OSRS System • Two interfaces to the system – Student Interface (web based) – Administrator Interface (windows based) • Two types of users: – Students – Administrators 3 Required Student Functions • • • • • Registration Student Information Tuition Payment Information Search Schedule Function 4 Required Administrative Functions • • • • • Account Administration Class Schedule Administration Course Administration Information Search Tuition Management 5 Performance Requirements • Each “click” should respond in no more than 3 seconds • Longer search functions should not take more than 10 seconds • Reasonable uptime is required. • Quick recovery if system is ever down 6 SPECsoft Team • Implementation of software project will be done using the Waterfall Model Requirements Definition System & Software Design Implementation & Unit Testing Integration & System Testing Operation & Maintenance 7 SPECsoft Team • Controlled Decentralized (CD) Team Manager Evan Chiu Vertical Communication Engineer Curtis Wong Engineer Pei-Yu Wang Engineer Solomon Ng Horizontal Communication 8 Resource Estimation • Lines of Code Estimation Major Function / Task Estimated Lines of Code (LOC) Student Login 400 Search Catalog 300 Check Academic History 300 Register for Classes 300 Pay Balance 1200 Administrator Login 400 Update Catalog 300 Update Student Accounts 300 Total 3500 9 Resource Estimation • Engineer Costs based on $40/hr for Engineers and $80/hr for the Manager Engineer Estimated Hours Estimated Cost Curtis 291 $11,640 Pinkie 222 $8,880 Solomon 261 $10,440 Evan 136 $10,880 Total Estimated Cost $41,840 10 Resource Estimation • Three servers will be needed to achieve the performance and reliability required by the customer • Dell PowerEdge 8450 (4 Processors) • Estimated Cost: $148,761.00 11 Resource Estimation • Microsoft SQL 2000 Server will be used as an off-the-shelf product • Licensing is by CPU • Estimated Cost: $60,000 12 Resource Estimation • Estimated Total Cost: $253,474 250000 Misc. 200000 Dell Servers ( 3 ) 150000 100000 SQL Server License 50000 Engineer Cost 0 13 System Design • ERD Modeling • DFD Modeling 14 User Account Data Object User Account User User User User User is_a ID Name Birthday Pin Type is_a Student Student Sex Student Address Student Academic History Student Phone Number Major Balance Administrator Administrator Sex Administrator Address Administrator Phone Number 15 Courses Data Object N Course Number Course Title Units Prerequisites N 1 Course took Student N 1 1 creates has has major register N 1 N 1 1 1 Administrator N teaches N Section Number Course Code Time Location Status Department Department Name Department Description 16 Enhanced ERD •Relation of Courses and users Part of 1 1 Catalog m Department Searching 1 •Data Object Modeling 1 Contains Majors in Part of m m Course Create m m Took Has 1 1 1 m m Section No. Register 1 1 Student Administrator 1 1 m Teaches Contains 1 Term/Semester m Has history of 17 Data Object Specification Student Object MEMBER NAME Name Address Phone Number SSN Birthday PIN Major Balance Academic History Admin. Object MEMBER NAME Name Address Phone Number SSN Birthday PIN TYPE: class TYPE String String String String String String String Long Term array[] User Database Object MEMBER NAME Student Administrator TYPE: class TYPE: class TYPE String String String String String String TYPE Student * Admin * LENGTH 40 57 12 11 8 10 5 8 40 DEFAULT VALUE Null Null Null Null Null Null Null 0.00 Null LENGTH 40 57 12 11 8 10 DEFAULT VALUE Null Null Null Null Null Null LENGTH 2 2 DEFAULT VALUE Null Null COMMENT Array of type Term (40 elements) COMMENT COMMENT Multiple pointers Multiple pointers 18 Data Object Specification Course Object MEMBER NAME Department Number Units Title Requirements TYPE: class TYPE String Int Int String Course * LENGTH 5 4 4 20 2 DEFAULT VALUE Null 0 0 Null Null Grade String 10 Null Section Object MEMBER NAME Course Sec. # Instructor Time Room TYPE: class TYPE Course * int String String String LENGTH 2 4 20 13 8 DEFAULT VALUE Null 0 Null Null Null COMMENT Term Object MEMBER NAME Course Year Season TYPE: class TYPE Course * int String LENGTH 2 4 2 DEFAULT VALUE Null 0 Null COMMENT Catalog Object MEMBER NAME Section TYPE: class TYPE Section * LENGTH 2 DEFAULT VALUE Null COMMENT Multiple pointers COMMENT Pointer to other course objects 19 Account Object • Student Object • Information of Student Account • Represent Student in database • Administrator Object • Information of Administrator Account • Represent Administrator in database 20 Course Object • Course Object • Information of Course such as name… • Represent Student’s Academic History • Represent Schedule • Section Object • Information of Specific Section of Course such as time, room… • Represents a Specific Section in Schedule 21 Catalog Object • Term Object • Pointer of Course • Represent Term of Student’s Academic History • Catalog Object • Pointer of Section Object • Represent Catalog in Database 22 Multi-Level Data Flow Diagram • • • • Break down System Focus on Functional Module Focus on Data transfers Layered System 23 System Partitioning • Partition the system into modules OSRS Login student Main Menu administrator student administrator catalog management account management student info search catalog academic history Registration Add course payment Drop course Update Account Search Account Delete Account Search Catalog Update Course Delete Course 24 Level 0 - OSRS HTML TEXT OSRS (Data Base included) HTML Internet Browser TEXT Bank System • Internet Connection • Bank System • Connection • Registration • Catalog Searching • Student information 25 Level 1 – Menu System text [I.D.] student name Html Text From Level 0 Internet Browser Display Main Menu Student Login html time out [Student Name] Text [Pin, ID,BD] Text [ I.D.] data base Search Catalog [course Info] Student Info [query] [Student Info] [ I.D.] [Add/ Drop I.D. course] Check Academic History [academic history] [ I.D. term, year] • Login System • Main Menu • Submenu Resgistration Pay Balance [flag, current schedule] Flag [ add/drop I.D. course] [card Info account] [balance] data base [I.D.] To Level 0 Bank System 26 Level 2 – Login System from Level 1 Internet Browser HTML I.D., PIN, B.D. HTML I.D., PIN, B.D. Display Login Menu Student Name,Flag Check I.D. data base • Check ID • Display Main Menu [I.D. Student Name] Flag HTML Display Error to Level 1 Dispay Main Menu Time out 27 Level 2 – Student Info • Display Student information from Level 1 Dispay Main Menu [ I.D.] [ I.D.] data base Get Student Info [Student Info] [Student Info] Display Info 28 Level 2 – Search Catalog from Level 1 Main Menu HTML Display Search Box query query Search Result, Flag Result Display Search Result data base • Input Query • Search Database • Display Matches HTML Display Search Error 29 Level 2 – Pay Balance from Level 1 Main Menu [ I.D.] Display Pay Page New Balance data base Flag Charge Flag Card Info Level 0 Bank • Check and Charge Card • Display Error • Update Database Display Error 30 Level 3 – Display Pay Page from Level 1 Main Menu [ I.D.] [ I.D.] from Level 2 Charge Flag Get Balance Balance Balance Display Balance Display Pay Menu [card Info] to Level 2 Charge data base • Get Account Balance form Database • Display Pay Menu • Send information to Charge 31 Level 2 – Academic History from Level 1 Main Menu Term / Year Menu Data Flag data base Search for term / year Term / Year Html Display Error Data Display Result • Selection of Term and Year • Search in Database • Display Error • Display Result 32 Level 2 - Registration from Level 1 Main Menu [ I.D.] Display Registration Page [ course I.D. , I.D. ] [ course I.D. , I.D. ] Add class Drop Class [ course I.D. , I.D. ] [ course I.D. , I.D. ] [ Flag, Date , course Info] [ Flag, A.H. , course Info] data base • Display Registration • Add Course • Drop Course • Update Database 33 Level 3 - Display Registration Page from Level 1 Main Menu from Level 2 Add Class [ I.D.] Display current schedule Get current schedule [ I.D.] from Level 3 Drop Class [ Current Schedule ] Display Add / Drop Menu [ course I.D. , I.D. ] to Level 2 Add Class data base [ course I.D. , I.D. ] to Level 2 Drop Class • Get current schedule of account • Communicate with add class and drop class after updating database 34 Level 3 – Add Class from Level 2 Display Registration Page [ course I.D. , I.D. ] Get Course Info [ course I.D. , I.D. ] Display Add Error Check [ course I.D. , I.D. ] [ I.D.] A.H. to Level 2 Display Registration Page Update Data Base [ course I.D. , I.D. ] Flag data base • Check Course ID, Student ID • Update Database • Display Error • Communicate with Display Registration Page 35 Level 3 – Drop Class from Level 2 Display Registration Page [ course I.D. , I.D. ] [ course I.D. ] Get course Info [ course Info ] [ course Info, I.D. ] [ Drop date ] Display Drop Error Check data base Date [ course I.D. , I.D. ] Update Data Base Flag to Level 2 Display Registration Page • Check Course ID, Student ID • Update Database • Display Error • Communicate with Display Registration Page 36 Level 0 - Administrator Text O.S. OSRS Client Text data base • Window Interface for User • LAN System • Edit Accounts • Edit Catalogs 37 Level 1 – Main System from Operating System [ I.D. PIN, B.D.] [ I.D. PIN, B.D.] Admin. Login data base Admin. Name • Login Menu • Display Main Menu Display main menu Catalog [ course I.D. course Info] Account [ Student Info Admin. Info ] [ course Info ] [ Student I.D. Admin. I.D.] data base 38 Level 2 – Administrator Login from Operating System Text Text Text Display Login Menu [ I.D. PIN, B.D.] Flag Check I.D. Display Error Admin. Name Flag data base • Display Login Menu • Check ID • Display Error to Level 1 Main Menu 39 Level 2 - Catalog from Level 1 Display Main Menu Text Text Catalog Menu [ course Info ] Search Update Course [ course Info ] Flag [ query ] [ course Info ] Display Course Info data base • Display Menu • Search Function • Update Course • Display Course Information 40 Level 2 - Account from Level 1 Display Main Menu Text Text Account Menu Text Delete Account Update Account Search [ Student Info ] Flag [ Account Info ] [ query ] Flag [ Account Info ] data base Display Student Info [ Student Info ] • Display Menu • Search Function • Update Account • Display Account Information • Update Student Academic History 41 Architecture • System Architecture • Client Architecture • Server Architecture 42 System Architecture Diagram Data Base Data Storage Layer SQL Server Student Function Admin. function Web Server ( HTTP / HTTPS ) Application Server Functional Service Layer Communication Layer INTERNET Browser Windows Client User Interface Layer HTML Forms / Javascript ASP TCP / IP Student Computer Administrator Computer 43 System Architecture 1. 2. 3. 4. 5. Data Storage Layer Functional Service Layer Communication Layer Internet User Interface Layer 44 Client Architecture Diagram Win API Access Control Loader Utility Application and Data Print Tool Bar Help Access Contrl Client Data Store Security Check System Specific GUI function GUI for system Administration 45 Client Architecture (Administrator Only) 1. 2. 3. 4. 5. GUI for system Administration Access Control Loader WIN API Interface Utility Functions 46 Server Architecture Diagram Application Server Web Server Student Functions ASP Administration Functions TCP / IP HTML Communtication Interface System Specific Component Security Controller User Access Controller Pay Balance Registrati on Student Info Search Catalog Data Management $ Bank API Bank SQL API SQL API Database Access Database 47 Server Architecture (Cont.) 1. 2. • • • • • 3. Application Server Administration Function TCD / TD Protocol Security Controller User Access Controller Data Management SQL API Database Access 48 Server Architecture • Two Logical Servers – Web Server – Application Server • Common Database Server 49 User Interface • Common Goals – Easy interface with user – Menu driven system – Consistent look and feel • Two Interfaces – Student (Web) – Administrator (Windows) 50 Student Interface • Use of Internet Explorer 4.0 or higher, Netscape 4.0 or higher • Examples use Internet Explorer 5.0 51 Student Login Welcome to SJSU Registration Please Selete Enter Your Student ID, birthday, and PIN Student ID Birthday d • Student ID • Birthday • PIN m y PIN Login 52 Login Error ERROR: Incorrect User Information: Please check your user name, birthday, and PIN again. Or contact with our assistances at the Admission and Record Building. • Incorrect Input • Invalid Account Please press Back on your browser to try again. 53 Main Menu Welcome to SJSU Registration • Display Window • Main Menu Bar Please Selete the Submenu Student Info Search Catalog Academic History Registration P ay Balance 54 Student Info Student Info Student Info Search Catalog Academic History Registration P ay Balance Student Name: Student ID: Major: Birthday: Phone: Address: • Check User Status Sex: 55 Catalog, Course Searching Search Catalog Search for department, code, or title Search • Course Searching • Input Query Student Info Search Catalog Academic History Registration P ay Balance Search Catalog Search for Search Student Info Search Catalog Academic History Registration • Display Matches P ay Balance Match Result 5/10 Department CmpE CmpE CmpE CmpE CmpE Course ID 124 124 124 124 124 Course Code Course Title 90121 Digital Design I 90123 Digital Design I 90125 Digital Design I 90127 Digital Design I 90129 Digital Design I Unit 3 3 3 3 3 Next Matches> 56 Academic History Academic History Term Student Info Year Spring Fall Summer GO • Selection of Term and Year 1999 2000 2001 Search Catalog Academic History Registration P ay Balance Academic History Term Spring Year 2000 GO Course Title Digital Design I Linear Algebra Data Structure Software Engr GPA Unit Grade 3 A 3 B3 B 3 B 3.0 Student Info Search Catalog Academic History Registration P ay Balance • Display Result Result Department CmpE Math CmpE ISE Course ID 124 129A 126 125 57 Registration Registration Student Info Search Catalog Academic History Current Schedule Department Course ID CmpE 124 Math 129A CmpE 126 ISE 125 Course Title Digital Design I Linear Algebra Data Structure Software Engr Registration P ay Balance Course Code 04015 ADD DROP Unit 3 3 3 3 • Display Current Schedule • Add option • Drop option • Input Box Submit 58 Adding a Course • Error Page Registration Student Info Search Catalog Academic History Current Schedule Department Course ID CmpE 124 Math 129A CmpE 126 ISE 125 Course Title Digital Design I Linear Algebra Data Structure Software Engr Unit 3 3 3 3 Registration P ay Balance Error Course Code 04015 Cannot add/drop 04015 due to the schedule conflict, requirement, space of class, or wrong course code. Please check the code and its requirement again, or contact with Admission and Record Registration <Back • Successful Add • Update Current Schedule Student Info Search Catalog Academic History Registration Current Schedule Department Course ID CmpE 124 Math 129A CmpE 126 ISE 125 ISE 130 Course Title Digital Design I Linear Algebra Data Structure Software Engr Engr Statistic Unit 3 3 3 3 3 P ay Balance Course Code ADD DROP Submit 59 Dropping a Course • Drop option • Error page • Successful Drop Registration Current Schedule Department Course ID Student Info Search Catalog Academic History Registration CmpE Math CmpE ISE 124 129A 126 125 Course Title Digital Design I Linear Algebra Data Structure Software Engr Unit 3 3 **DROP 3 P ay Balance Course Code ADD DROP Submit 60 Payment Menu Pay Balance Student Info Search Catalog Academic History Current Balance Student Name: Student ID: Birthday: Phone: Balance: Sex: Registration P ay Balance Name of Card Holder Card Number Expiration Date / Visa Master Submit • Display of Current Balance • Display of Student Info • Input Box for Name of Card Holder, Card #, and Expiration date • Option of Visa or Master Card • Connects to Bank payment system 61 Payment Result • Invalid Charge of Card Error Card Information Student Info Please check the name of card holder, card number, and expiration date again. Or contact with your credit company. Search Catalog Academic History Registration P ay Balance Balance is UPDATED <Back Current Balance Student Info • Update database • Update Window Search Catalog Academic History Registration P ay Balance Student Name: Student ID: Birthday: Phone: Balance: Sex: <Back 62 Administrator Interface • Use of Microsoft Windows 95, 98, or ME, and Microsoft Windows NT 4.0 or 2000 • Client uses MFC 63 Administrator Login • Login Menu • Input Box for ID, PIN, and Birthday Online School Registration System Administrator Login 1. Please enter your identification number ( 9 digits) - - 2. Please enter your PIN number (4 digits) 3. Please enter your 6 digits birthdate m d < Back y Next > Cancel 64 Login Error • Incorrect Input • Invalid Account Online School Registration System Administrator Login Error ID, PIN, and/or Birthdate do not match! Please check your identification number, PIN and/or birthdate. < Back Cancel 65 Main Menu Online Student Registration System Main Menu Catalog Management Update, add or delete courses Next > Account Management Update, add or delete accounts Administrator Account Next > < Back Cancel • Successful Login • Catalog Management • Account Management 66 Catalog Management Online School Registration System Catalog Management Course Code Search Sec # Course Name Department Units Course ID Requirement Schedule Day : Time Location < Back New Save Delete Cancel 61 • Search Function • Query Boxes • New Course • Delete • Save 67 Update After Search • Result of Matches • Update of a Match Online School Registration System Catalog Management Sec # Course Code Course Name Unit Course Department Course ID Requirement Schedule Day Time : Location Update Previous Match Next Match 61 68 Account Management • Checkbox for Administrator Accounts Online School Registration System Main Menu Catalog Management Update, add or delete course Next > Account Management Update, add or delete Student Account Administrator Accounts Next > < Back Cancel 69 Administrator Account Management Online School Registration System Account Management (Administrator) Administrator ID - Search - Last First Administrator Name MI , Birthday d Phone m y Sex Street Address City State Zip CA OH NY Set PIN Confirm PIN < Back New Save Delete Cancel 61 • Search Function • Input query • New Account • Delete • Save • Update 70 Student Account Management Online School Registration System Main Menu Catalog Management Update, add or delete course Next > • Unchecked box for Student Accounts Account Management Update, add or delete accounts Administrator Account Next > < Back Cancel 71 Student Account Management Online School Registration System Account Management (Student) Student ID - Search - Major Last First Student Name MI , Birthday d Phone m y Sex - Work Phone - Street Address City State Zip CA OH NY Status Academic History >... Balance $ < Back New Save Delete Cancel 61 • Search Function • Input Query • New Account • Delete • Save • Update • Academic History 72 Academic History Management For Student Online School Registration System Search Term Year SPRING 2000 Term History Department Cmpe Math CmpE ISE Department Course ID 124 129A 126 125 Title Unit Digital Design I Linear Algebra Data Structure Software Engr Course ID 3 3 3 3 Grade A BB B Grade ADD ISE 130 Submit B DELETE < Back New Save Delete Cancel 61 • Search Function • Input of Term and Year • Add/Delete Course 73 Academic History Management For Student Online School Registration System Search Term Year SPRING 2000 Term History Department Cmpe Math CmpE ISE ISE Department Course ID 124 129A 126 125 130 Title Unit Digital Design I Linear Algebra Data Structure Software Engr Engr Statistic Course ID 3 3 3 3 3 Grade A BB B B • Update Term History • Save Grade ADD Submit DELETE < Back New Save Delete Cancel 61 74 Error of Adding or Delete a Course Online School Registration System Term Spring Year 2000 Current Term History Department Cmpe Math CmpE ISE Course ID 124 129A 126 125 Title Digital Design I Linear Algebra Data Structure Software Engr Unit 3 3 3 3 Grade A BB B • Error of Input • Invalid Match of Course Error: Conflict with previous history or other error. Or There is no such item ro delete. < Back 61 75 Testing & QA • Formal Technical Reviews for all documents • Code Review done by individual unit programmers • Umbrella activities including weekly progress reports 76 Testing & QA Using the following software testing process: Unit Test Integration Test Validation Test System Test • Integration Test will be done from bottom to up requiring drivers 77