The Web-Based Database Management System For The Computer Science
The Web-Based Database Management System For The Computer Science
CSUSB ScholarWorks
2004
Recommended Citation
Vu, Dung Tien, "The web-based database management system for the computer science graduate
program" (2004). Theses Digitization Project. 2557.
https://scholarworks.lib.csusb.edu/etd-project/2557
This Project is brought to you for free and open access by the John M. Pfau Library at CSUSB ScholarWorks. It has
been accepted for inclusion in Theses Digitization Project by an authorized administrator of CSUSB ScholarWorks.
For more information, please contact [email protected].
THE WEB-BASED DATABASE MANAGEMENT SYSTEM
FOR THE
A Project
Presented to the
Faculty of
San Bernardino
In Partial Fulfillment
Master of Science
in
Computer Science
by
Dung Tien Vu
March 2004
THE WEB-BASED DATABASE MANAGEMENT SYSTEM
FOR THE
A Project
Presented to the
Faculty of
San Bernardino
by
Dung Tien Vu
March 2004
Approved by:
J-
D: ephine G# Mendoza,Computer Science Date
iii
ACKNOWLEDGMENTS
who got me admitted into the MS program. Dr. Voigt has been
Richard Botting, and Dr. Yasha Karant who have given the
family: Drs. Khue Vu, Thu, Truong, and Hieu, who have
US soil.
iv
Last but not the least, I thank my wife and my son,
v
TABLE OF CONTENTS
ABSTRACT..................................................... iii
ACKNOWLEDGMENTS ............................................ iv
2.1.1 Scope............................... 4
3.1 System............................................ 17
vi
3.1.2 Updating and Retrieving Information
from the Oracle Database ........................ 17
3.1.3 Processing............................................................... 18
3.1.4 Messaging................................................................. 19
3.2 Architecture........................................................................... 20
3.3.3 Security.................................................................... 62
4.2 Installation........................................................................... 67
5.2 Extensions................................................................................ 73
REFERENCES..................................................................................................... 84
vii
LIST OF FIGURES
viii
CHAPTER ONE
INTRODUCTION
1.1 Introduction
backup.
limitations.
1
prerequisite) are fixed for specific courses. The number of
assigning tasks.
modifications.
1.3 Limitations
2
desirable features to be integrated. Several important
3
CHAPTER TWO
2.1 Introduction
requirements.
2.1.1 Scope
4
by the Graduate Coordinator for Advising, Dr. Josephine G.
Grant Program.
5
9i Release 9.0.3 and Oracle Database 9i Release 9.0.2.0.1
6
the GPA monitor module. If the computed GPA is lower than a
side.
memory.
7
update student information, new functions can be added into
the use case diagram showing the roles and the functions.
8
USE CASE DIAGRAM
Login
Customize home page
My tasks
Change password
Assign tasks
Follow up tasks assignesHo other
Search & View student info'
Create pre-defined tasks
View & create groups
Iocs
9
2.2.2.1 Login. Authenticate and authorize a user with
user's role.
automatically.
to the user. The user can view the task details, report
progress and result, and view the evaluation when the task
10
2.2.2.5 Change Password. Allow a user to change
can be entered.
module.
11
function is developed, the Admin User can register this new
last name. When the search word matches many students, the
12
committee members. This function is assigned to the
authorized PA role.
appropriate users.
13
2.2.3.1 Application Users. Include graduate student,
database system.
14
2.3.2 Functional Requirements
15
2.3.4.3 Maintainability. The database system and the
modification.
significant modification.
16
CHAPTER THREE
3.1 System
following sections.
for the page. It will log the user out if the user does not
17
3.1.3 Processing
database.
defined conditions.
18
PDF documents. The FOP will render an XML based formatting
style sheet.
3.1.4 Messaging
found.[21]
Socket Layer.
19
3.2 Architecture
defined public functions, and Java Beans. Web pages are the
20
The presentation HTML integrated in JSP page uses
methods.
set.
the database.
desired length.
21
Boolean CheckUserPrivileges(). Check user privileges
session object and makes them available for any web pages.
22
userBean studentBean
PUBLIC FUNCTIONS &
JAVA BEANS getUserName() JgjgsetFirstQ
getUserEmail () ^setLast()
getUser_ID() etMiddleQ
I
getPersonalJDQ etGenderQ
getTitle() etDOB()
PublicFunctions getRole_ID() etGender()
getRole() etphone()
I
getFirstPage() etEthnicity()
/vjgetRequestO
^getSession() getPassword() etlntnalQ
^getResultSet() setUserName() etCa_res()
$jgetResult() g»setUserEmail() etRes_addrs()
§gsetPassword()
^subReplaceO etperm_addr()
B>setUser_ID()
LrandString() etState()
gfos etPe rs on al_I D ()
<>lextHTML()
B**setTitle()
jvcheckUserPrivilegeO
tfi$setRole_ID()
fe$setRole()
etCountryQ
etCSUSB_BS()
etFirstQ
etLastQ
etMiddleQ
etStateQ
etCountryQ
§ggetZip()
HlgetCountryQ
S^getRes addrO
H§getPerm_addrQ
Figure 2. Class Diagram of Public Functions and Java Beans
gggetCSUB_BS()
etCa_res()
etPhoneQ
3.2.3.2 Utility Beans. Include HHqetEthnicityQ
SendMailBean and
OracleConnectionBeanlmple beans:
23
• OracleConnectionCachelmpl. Generates a connection
24
the relational database model includes 26 entities
3 NF.
the value of the ID. The tables are populated with data
later.
advanced to candidacy.
STANDING [varchar2(30)]
ADMIT_STATUS [varchar2(30)]
25
COUNTRY [varchar2(15) ]
COURSE_NAME [varchar2(50)]
UNITS [char(1)]
COURSETYPE [varchar2(15)]
ETHNICITY [varchar2(60)]
SCORES [number(2.3)]
26
days, Weekly, Every 2 weeks, Every 3 weeks, Quarterly,
Yearly.
Summer.
ROLE [varchar(30)]
privilege token
27
13.XMLDOCS■ Defines all pre-defined document templates
Wednesday...
NEXT_DATE(SYSDATE,'MONDAY').
28
3.3.1.2 Data Tables. These tables are empty when the
international 'Student
resident
29
CSUSB_BS [char(l)]: Y if the student obtained a BS
student is residing
classified
started
30
CUR_YR_START [char(l)]: Year the current status
table.
end
scores
QUARTER table
31
YR_CANDIDACY [char(4)]: Year the student is advanced
to candidacy
/thesis
program.
number
code
32
POSITION [varchar2(40)]: MS program Assistant or
Graduate Coordinator
table
taken.
table
table
33
( STD_ID, COURSE_ID, QUARTER_ID ) constitutes the
the table
task
34
22. JOBS. Defines pre-defined job for pre-defined
STAFF table
35
TASK_ASSIGNEE [ varchar2(9), FK]: ID of the staff or
36
PWORD [ varchar2(10)]: Password for authentication
selection criteria.
37
DOC_XML [XMLTYPE]: Document content in XML format
and the design of the modules. Each module may also include
38
A function is implemented as one or many linked JSP
Section.
39
will automatically have execution privilege for the
function.
40
Figure 3. UML Model for Roles And Functions
41
• Assist in assigning a task to a group of students
functions:'
select a group and view its members. A user can also narrow
42
his or her search for a student(s) by defining selection
and restore the SQL logic to produce the query results. How
SQL query logic. Each tag is named after a field name, and
43
<ADMIT_STATUS ADMIT_STATUS_BOOL = " . EQ."
these tags are not required. Therefore only tags needed are
<CRITERIA>
Tags
</CRITERIA>
44
GROUPING
STAFF
____________(from QUARTER)________
jgSTAFFJD.: CHAR(9)
Blast: varchar(20)
jjjFIRST:VARCHAR(20)
r<S«PK» PK_STAFF16()
Lg«Unique»TC_STAFF75()
____________ XMLGROUPS_________
gGROUPJD : SMALLINT
ggsTAFFJD: CHAR(9)
■GROUP_DESC: VARCHAR(50)
■gROUP_CRITERIA: VARCHAR(50)
|]GROUP CAT: CHAR(1)
«PK» PK_XMLGROUPS17()
B «FK» FK_XMLGROUPS83()
45
• Reconstruction of SQL logic. SQL logic is
reconstruction
user can look for a student from (1) a popup name list, (2)
criteria.
information.
e-mail.
46
Functions. Search and Update Student Information
includes:
grouping.
contact information.
committee composition.
database.
47
Figure 7. UML Model for Graduate Students
48
A generated STD_ID field used as an index key instead
letters:
1. Letter of Probation
49
STAFF DOCUMENTS
HSTAFFJD : CHAR(9) |STD_ID : CHAR(9)
ggXMLDOCJD: SMALLINT
|g«PK» PK_STAFF() gSTAFFJD : CHAR(9)
g|«PK» PK_DOCUMENTS1()
ig«FK» FK_DOCUMENTS2()
7g«FK» FK_DOCUMENTS3()
^«FK» FK_DOCUMENTS4()
-Or*-
GRADSTUDENTS
gSTDJD : CHAR(9)
ggCOUNIHYJD: CHAR(1)
gjETTINICJD : CHAR(1)
10CURR_STATUS_ID: CHAR(1)
L.
gjQUARTERJD : CHAR(O)
gSTANDINGJD : CHAR(1) XMLDOCS
S0XM LDOCJD: SMALLINT
«PK» PK_GRADSTUDENTS1() HDD
!DOC_DESC : CHAR(1)
c<FK» FK_GRADSTUDENTS2() Hdo
DOC XML: XMLDATA7YPE
«FK» FK_GRADSTUDENTS3()
«FK» FK_GRADSTUDENTS4() jg|«PK» PK_XMLDOCS1()
«FK» FK_GRADSTUDENTS5()
c<FK» FK_GRADSTUDENTS6()
system.
50
Some template XML documents such as "Letter of
PDF format the letter informing the student that status has
51
Procedure Letter_Classified_Gen {
Begin
Assign the document code for letter of classification
if DOCUMENTS table already has the letter for the student then
return
endif
Retrieve the letter template from XMLDOCS table
Insert the template letter into DOCUMENTS table
Fill the template with student information: name, address,..
Call EXECFOP java function that executes an external
FOP command line to generate PDF document.
Store the PDF file in DOCUMENTS Folder.
Alert MS Program assistant about the student's status change
and printout the letter
End
}
52
core, elective and prerequisite may change throughout
following capabilities:
user can view all courses and when (quarter, year) the
53
3. GPA computing. Cumulative GPA is computed at run
implementation.
54
and a student can take the same course in different
quarters.
STUDENTCOURSES table.
They also can edit and remove the tasks, which already have
been assigned.
55
1. Create/edit pre-defined tasks. Faculty and GCA can
56
T4SK
Ff fTT
Ft TASKRBSTK "ffSKSCH BHJ LE
57
TASKMANUAL table has M -N relationship with JOBS
of TASKMANUAL table.
time.
1. GPA Monitor
58
Design. System tasks design including design of
same time compute the GPA. Two processes compete with each
59
Trigger GPA_Alert_Step1 {
If Studentcourses table has update then
copy student ID to a update_temp table
End if
}
Trigger GPA_Alert_Step2 {
If update_temp table has an update then
Compute GPA
If GPA < 3 then
Generate letter of probation
Endif
Remove the update from update_temp table
}
the update.
Trigger Contact_Update_Monitor {
If update email, phone, local_address,home_ address then
Add "update" email, phone, local_address, home_ address to alert_message
Alert Program assistant by a task
Endif
}
60
• Academic Standing Monitor. When a student's
Trigger Academic_Standing_Monitor {
If Academic status changes from Conditional to classified then
Generate letter of classification
Put the letter into DOCUMENTS table
Alert Program assistant by a task to view and print out the letter
Else if Academic status changes from Conditional to advanced to candidacy then
Generate letter of classification
Generate letter of being advanced to candidacy
Put the letter into DOCUMENTS table
Alert Program assistant by a task to view and print out 2 letters
Else if Academic status changes from classified to advanced to candidacy then
Generate letter of being advanced to candidacy
Put the letter into DOCUMENTS table
Alert Program assistant by a task to view and print out the letter
Endif
}
61
is the automatic task renewal scheduled to execute once a
day.
the task for the next period. With the Oracle Scheduler, an
3.3.3 Security
sensitive information.
62
Communication between server and client sides are forced to
period.
authorize the appropriate role for the user. The user then
role.
63
vector data structure is maintained in a session object for
to a login page.
Admin roles.
is converted to 'Scamp', '< ' to ' >' ; ... This will reduce
64
attack. An EXECFOP Java function calls FOP external command
65
CHAPTER FOUR
DEPLOYMENT
1. Firewall
minimum 256MB
Firewall
Private Network
66
4.2 Installation
67
Migrate existing lookup tables from Access
V
load data for new lookup tables
68
4.2.3.1 Migration of Look-Up tables. The database
implemented as follows:
69
5. Export the existing student table into a text file,
70
CHAPTER FIVE
roles.
71
run time into a vector data structure and submitted to
authorization verification..
processing.
72
The Web-Based Database System for the Computer Science
University.
5.2 Extensions
73
plugging into the report with a designated XSLT style
sheet.
course.
74
APPENDIX
75
Following is list of over 160 JSP, HTML, Java Script
bye.j sp
checkSecurePage.j sp
checkUserPrivileges.j sp
getUserPrivileges.j sp
gradLogin.j sp
NoCache.j sp
Top.htm
2. Assign Tasks.
taskManagement.j sp
taskManagementBot.j sp
taskManagementGuide.htm
taskManagementHeader.htm
taskManagementSendMail .j sp
taskManagementStaff.j sp
taskManagementStaffBot .j sp
taskManagementStaffDone .j sp
taskManagementStaffDoneBot.j sp
taskManagementStaffTop.htm
76
taskManagementStudent.j sp
taskManagementStudentDone.j sp
taskManagementStudentDoneBot.j sp .
taskManagementStudentGroups.j sp
taskManagementSystem,jsp
taskManagementTop.j sp
taskMangementStaffBot .j sp
taskMangementStaffTop.htm
taskStaff.j sp
taskStudent.j sp
taskSystem.j sp
3. My Tasks.
myTask.j sp
myTaskDetail.j sp
myTaskStaff.j sp
myTaskStaffDetail.j sp
myTaskStudent.j sp
myTaskStudentDetail.j sp
taskFollowup.j sp
taskFollowupBody.j sp
taskFollowupBot.j sp
taskFollowupDetailBody .j sp
taskFollowupStaff.j sp
77
TaskFollowupStaffDetail.j sp
taskfollowupStaffDone .j sp
taskFollowupStaffDoneTop .j sp
taskFollowupStaffSystemTop.j sp
taskFollowupStudent.j sp
TaskFollowupStudentDetail.jsp
taskfollowupStudentDone.j sp
taskFollowupStudentDoneTop.j sp
taskFollowupSystem.j sp
taskFollowupSystemDone.j sp
taskFollowupSysteinDoneTop. j sp
TaskFollowUpSystemScheduledTask.j sp
taskFollowupTop.j sp
5. Change password.
changelDPassword.j sp
changelDPasswordCancel .htm
changelDPasswordDone.htm
changelDPasswordError.htm
changelDPasswordVerify.j sp
createlnitialUserPassword .j sp
initializeUserPassword.j sp
groupDefinition.j sp
grouping.j sp
78
groupingBot.j sp
groupingModifyBot.j sp
groupingNewBot.j sp
groupingNewBotDone.htm
groupingSelectBot.j sp
groupingSelectTop.j sp
groupingTop.j sp
groupingViewBot.j sp
groupingViewBotAppend.j sp
groupingViewBotNew.j sp
groupVeri fy.j sp
custFirstPage.j sp
custFirstPageAbort.htm
custFirstPageDone.htm
roleManagement.j sp
roleManagementChangeRole.j sp
roleManagementFunction.j sp
roleManagementFunctionEdit.j sp
roleManagementNewRole.j sp
roleManagementRole.j sp
changeStaffRole.j sp
desighNewFunctions.j sp
79
designNewRoles.j sp
viewbot.htm
viewdetail.j sp
viewDetailAdmission.jsp
viewDetailCandidacy.j sp
viewDetailCourses.j sp
viewDetailGRE.j sp
viewDetailNotes.j sp
viewdetailPersonal.j sp
viewDetailPrereguisite.j sp
viewGradCommitteeAdvisees.j sp
viewGraduatedAdvisees .j sp
viewPersonallnfo.j sp
viewStudentlnfo.j sp
viewStudentList.j sp
viewTaskDetail.j sp
viewtop.htm
viewAdvisees.j sp
viewAdviseesBody.jsp
viewAdviseesBot.j sp
viewAdviseesCommitteeBody.jsp
viewAdviseesCommitteeGraduated.j sp
80
viewAdviseesCurrentBody.j sp
viewAdviseesGraduated.jsp
viewAdviseesGraduatedBody.j sp
viewAdviseesTop.j sp
viewAnyAdvisees.j sp
viewAnyAdviseesBot.j sp
viewAnyAdviseesCurrentBody.j sp
viewAnyAdviseesGraduatedBody.j sp
viewAnyAdviseesTop.j sp
ViewPersonalAdmission.j sp
ViewPersonalCourses.j sp
ViewPersonalDetail.j sp
ViewPersonalGRE.j sp
ViewPersonallnfo.j sp
ViewPersonalMenu.htm
ViewPersonalPrerequisite.j sp
updateContactlnfo.j sp
updateContactlnfoAbort.htm
updateAllCourses.j sp
updateCommittee .j sp
81
updateCommitteeProcess.j sp
updateCoresProcess.j sp
updateElectives.j sp
updateElectivesProcess.j sp
updatePersonallnfo.j sp
updatePersonallnfoForm.j sp
updatePersonallnfoProcess.j sp
updatePrerequisiteProcess.j sp
updatePrerequisites.j sp
updateStudentAddProcess.j sp
updateStudentlnfo.j sp
updateStudentlnfoList .j sp
updateStudentlnfoProcess.j sp
updateSummary.j sp
updateSummaryProcess.j sp
seachStudent.j sp
createPredefinedTasks.j sp
preDefinedTask.j sp
preDefinedTaskJob.j sp
preDefinedTaskJobEdit .j sp
preDefinedTaskNewTask .j sp
updateStudentAdd.j sp
82
17. Document Generation.
viewStudentDocProcess .j sp
ViewStudentDocs.j sp
18. Connectivity.
gradConnectBean.j sp
ConnectionError .j sp
index.html
main.j sp
mainLeft.j sp
mainRight.j sp
publicFunction.j sp
returnFirstPage.j sp
sendOracleError.j sp
calendar.j s
portals.css
83
REFERENCES
84
[12] Oracle - Oracle 9i XML Database Developer's Guide -
Oracle XML DB. Release 2 (9.2) http://download-
west .oracle.com/docs/cd/B10501_01/appdev.920/a96620/to
c. htm
85