wallen project08
TRANSCRIPT
-
8/14/2019 Wallen Project08
1/15
Graduate Student Database Project
Nicholas WallenDepartment of Computer Science
Florida State University
Major Professor: Dr. David Whalley
n partial fulfillment of the re!uirements for the De"ree of Master of Science
-
8/14/2019 Wallen Project08
2/15
Introduction#ac$"round
n the Computer Science Department at Florida State University% trac$in" a student&s pro"ress
throu"h the "raduate pro"ram has 'een handled separately and disjointly 'y the different staff
mem'ers 'ased on (hat they oversee. )o(ever% as multiple aspects of the students data must 'e shared
for various tas$s% this data is often shared via email and stored redundantly in e*cel spreadsheets across
the department. +his manner of stora"e often leads to hardships (ith re"ards to ho( the data (as
mana"ed% updated% and shared, (hen data needs to 'e updated% all copies must 'e updated manually
(ith "reat care so that out of date information is not $ept and recirculated throu"h the system. n
addition% various "overnmental and provisional 'odies re!uest periodic surveys to 'e done on the
ma$eup of the student 'ody. Currently% this is done 'y siftin" throu"h hundreds of papers for all the
students and countin" them manually. With a centrali-ed system% it could potentially ta$e a sin"le !uery
to count the students on a moments notice.
oal
+he o'jective of this master/s project is to create a data'ase to centrally handle the information
of all the "raduate students in the Computer Science Department% and to provide access to this
information (ith an easy to use (e'0'ased interface that can 'e accessed 'y any device (ith 'asic html
renderin" capa'ilities.
1e!uirements
1e!uirements for the system fall into three cate"ories% those tendin" to(ards the usa'ility of the
system% those to(ards the maintenance and alteration of the system% and those to(ards the security of
the system. For the first re!uirement% accessi'ility (as addressed 'y ma$in" the system accessi'le
-
8/14/2019 Wallen Project08
3/15
from the (e' via a standard (e' 'ro(ser% and no re!uired e*tensions% such as java% javascript% or flash.
+he system (as also desi"ned so that the users (ould 'e a'le to complete the repeata'le tas$s in a
streamlined manner to cut do(n on (asted time% and in a concise (ay to s(itch 'et(een tas$s. +o
address the maintenance of the system% a modular desi"n (as used. +his (as done so that 'u"s caneasily 'e found and additional features can easily 'e added to the system. +o address the security of the
system% users are re!uired to run sessions over )yperte*t +ransfer Protocol over Secure Soc$et 2ayer%
https.
Functional Description
Method of Use
+here are multiple users for this system defined 'y their role. First is the Director of raduate
Studies. t is this person/s jo' to initiate the student into the system 'y usin" the accept function. Usin"
this functionality% (hen a student arrives at the university% the director accesses the list of accepted
students and creates an entry for the ne( student into the "raduate student data'ase. +his is done 'y
chan"in" the status under 3attendin"4 to either 3yes4 or 3no4 and hittin" the su'mit 'utton. +he list of
students can 'e filtered 'y year% semester% and (hether the sou"ht de"ree is MS or PhD.
-
8/14/2019 Wallen Project08
4/15
-
8/14/2019 Wallen Project08
5/15
Fig. 2: Alter/View Detail Function Student Select Page
-
8/14/2019 Wallen Project08
6/15
Fig. !: Alter/View Detail Function Student Detail Page
+he final jo' of the director is to indicate that the student is no lon"er an active student upon
the student&s "raduation or other(ise departure from the school. +his is done 'y a"ain "oin" into the
3modify permanent info4 form and selectin" 3de"ree status4 and chan"in" it to either e*pelled% left% or
-
8/14/2019 Wallen Project08
7/15
"raduated.
+he ne*t set of users of the system is the 15 mana"er and +5 mana"er. t is their jo' to record
the semesterly information re"ardin" the students/ position and their related pay. For first time students%
the data must 'e initiali-ed in the semester data ta'le. +o do this% the mana"er clic$s on the 35dd a +54
or the 35dd a 154 'utton on the navi"ation panel% and then chooses 3enter a sin"le student4 and then
fills out the appropriate data for that student. 1ecurrin" students may 'e entered at the same time 'y
instead choosin" 3enter students in 'atch mode%4 (hich copies a su'set of the students from the
previous semester to the current one. Finally% the mana"ers can edit the information (ith the +5 15
matri* mana"er.
Fig " Add Single #A/$A
+he person in char"e of payroll also has access to the system to vie( the costs associated (ith
employin" the +5s and 15s. +he payroll mana"er has read access to the +5 15 matri* that the 15
-
8/14/2019 Wallen Project08
8/15
and +5 mana"ers use to input the financial information. +he names of the students (ere omitted from
this vie(in" of the matri*.
-
8/14/2019 Wallen Project08
9/15
Fig % #A/$A &atri' &anager
I(ple(entation
+he system (as (ritten to (or$ (ith a mys!l data'ase 'ac$0end to store the data% and is (ritten
in Perl to create the pa"es to serve via apache. +he content of the data'ase is divided into four major
components. +he first is the applicant information that the student su'mits (hen re!uestin" admission
into the pro"ram. +his ta'le is pree*istin" 'efore the creation of this system% and (as adapted for its
ne( use. +his ta'le is used to loo$ up the student D% name and standardi-ed testin" scores. +he second
ta'le used is for data that is static for most of the student&s time in the department. +his ta'le holds the
follo(in" data:
-
8/14/2019 Wallen Project08
10/15
-
8/14/2019 Wallen Project08
11/15
student% and a semester and year field for the semester and year this entry trac$s. startDate and endDate
mar$ the dates 'y (hich the appointment 'e"in and end. Fundin"+ype descri'es the type of position
the student has and can 'e one of the follo(in": &+5 = M5& for a student teachin" a class in the CS
major% &+5 0NM& for students teachin" a non0majors class% &+5 = 2 & for those teachin" a literacy class%&+5 0>1& for any other teachin" assi"nment% &15& for research assistants% &S & for those in the systems
"roup% and &>1& for all other jo' positions. ?o'code% projectcode% fundin"code% record% and employee D
all represent codes needed 'y the school to descri'e the student&s jo' position internally. ?descripction
descri'es the jo' and jSupervisor lists the staff or faculty mem'er that the student reports to for the jo'.
)ours lists the num'er of hours the student (or$s (ee$ly. +each is a fla" that is set if the student is in a
teachin" position.
Fig + Se(ester In*or(ation #able
+hree other ta'les are used 'y the data'ase to mana"e users and their privile"es. radUsers%
radPa"es% and radPrivile"es 6see Fi" @8. radUsers contains the username and the pass(ord for the
-
8/14/2019 Wallen Project08
12/15
account. radPa"es contains pa"e D% used to uni!uely identify the pa"e% pa"e2in$% a lin$ that the script
uses to find the correct section of code for that pa"e% and &pa"eDesc& (hich is a description for the end
users to $no( (hat that pa"e is for. radPrivile"es descri'es user privle"es 'y mappin" a user&s
username to the pa"e D&s of the pa"es he has access to.
Fig , -ser Pri ileges #ables
Sessions
User sessions are mana"ed 'y the Perl module c"i:sessions. c"i:sessions provides t(o (ays to
trac$ users of the (e' pa"e. +he first is throu"h a coo$ie mana"ement system. +his mana"ementsystem (as not chosen for this project so that users (ithout a coo$ie supportin" 'ro(ser could use the
system. +he second (ay of detectin" users is 'y callin" Asession0Bid68% (hich returns the id of the
session% and em'eddin" the value in the (e' pa"e. When a related (e' pa"e is su'mitted to the
(e'server% if it has a session id% the perl script connects to the data'ase server% loo$s up the id% and if it
-
8/14/2019 Wallen Project08
13/15
e*ists% loads the saved data into the session varia'le. f the pa"e does not send a session id% the script
"enerates one for it% and if it sends a faulty id% it returns the user to the lo"in screen.
)+M2
We' pa"e desi"n (as done (ith the aid of the perl module html:template. +his allo(s for the
html to 'e (ritten in a template file separate from the perl code to increase code reada'ility and
reusa'ility. When a template is called% the script loads data from the template and su'stitutes any perl
varia'les in the template (ith the correspondin" varia'le in the script. Many different templates (ere
desi"ned for the various pa"es% as (ell as a "eneric template for pa"es (ith less content. 5ll templatesload t(o frames: &content&% for the specific content of the pa"e% and &noncontent& for items standard to
each pa"e such as the lin$s to the different section and the lo"out 'utton.
Future or0
While this project has supplied the 'asics for a system to $eep trac$ of students% many further
enhancements are desired for "reater control of the information.
+he first major enhancement (ould 'e for advisors to 'e a'le to lo" in and see the information
for their students. +hey should 'e a'le to see (hat prere!uisites the students have ta$en% and still need
to ta$e% as (ell as information a'out their jo'% pay% room assi"nment% and email address. +he advisors
should also 'e a'le to fill out semester and yearly pro"ress reports on phd students (ho have advanced
to candidacy. 5lso useful (ould 'e the a'ility to record (hich classes have 'een recommended 'y the
student&s advisor% as (ell as ta$en classes and "rades made in said classes.
5nother useful addition to the system (ould 'e an e*tended system 'y (hich a student should
e*it the system. Currently% the rad Supervisor simply mar$s &"raduated&% &left&% or &e*pelled& in a
-
8/14/2019 Wallen Project08
14/15
students status (hen the student leaves, instead% a system could 'e set that allo(s the supervisor to
simply clic$ a 'utton and have the system automatically chec$ (hich "raduation re!uirements have
'een met% (hich are currently 'ein" (or$ed on% and (hich are unmet.
>ther improvements to the system should relate to the maintenance of the system. +here should
'e some method for the users of the system to correct mista$es made 'y themselves that do not re!uire
them to contact the (e'master to modify the mys!l ta'les to fi* the pro'lem. Similarly% user account
"eneration% pass(ord mana"ement% and course and advisor status should 'e modifia'le from (ithin the
user interface for privile"ed users.
5nother (ay the system could 'e improved upon is (ith the matri* mana"er. Currently% it
re!uires the user to type in the values for each of the fields that are in the matri*. +he 'urden of typin"
in the users could 'e eased 'y creatin" pull do(n menus for enumerated values and 'ooleans.
5 prototype for a more visually appealin" and intuitive template (as (or$ed on and
implemented for the matri* mana"er. +his ne(% more user friendly desi"n could 'e propa"ated
throu"hout the system.
Finally% a "eneral !uery capa'ility should 'e added. +his feature (ill 'e very useful (hen
attemptin" to fill out surveys re"ardin" our "raduate students% to ans(er !uestions from administrators%
or to o'tain information for various reports.
onclusions
n conclusion% a data'ase is a far more efficient mechanism to store and or"ani-e data than
spreadsheets, it allo(s for a centrali-ed facility that can easily 'e modified and !uic$ly shared amon"
multiple users. )avin" a (e' 'ased front end removes the re!uirement of users havin" to understand
and use a data'ase directly% and allo(s users to connect from any(here (ith an internet connection and
-
8/14/2019 Wallen Project08
15/15
a 'asic (e' 'ro(ser. t also allo(s the possi'ility of !ueries to o'tain information for various surveys.
Due to the num'er of users readin" and modifyin" student data in the department% it is an ideal use for
such a system.