Analysis - University of Scranton

Download Report

Transcript Analysis - University of Scranton

UOFS Information System
Three-Tier Architecture (HTML-Servlets-JDBC-PostgreSQL)
Version 0.6
Yaodong Bi
Copyright 2005, Yaodong Bi
UOFS Information System
 UOFS maintains information about courses,





students, and faculty.
Course info includes course ID, course title, and
instructor.
Faculty info consists of faculty ID, faculty name,
office, and phone.
Student info has student ID, student name, and
address.
A student may take several courses and get a grade
for each course.
A course is taught by one faculty and one faculty
may teach several courses.
Actors and Classes
Actors
Student
Boundary Classes
RegistrarFRM
Faculty
Control Classes
RegistrarServ
RegistrarMngr
ProfessorFRM
ProfessorServ
ProfessorMngr
StudentServ
StudentFRM
StudentMngr
Registrar
Entity Classes
Person
Student
Faculty
Course
STakingC
Class Interaction Diagram
Registrar
Student
Faculty
RegistrarFRM
ProfessorFRM
StudentFRM
RegistrarServ
ProfessorServ
StudentServ
RegistrarMngr
ProfessorMngr
StudentMngr
STakingC
0..15
Student
1..5
Course
take
*
1
Person
Faculty
teach
UOFSIS Database Tables
Student
id
Faculty
name
address
stakingc
sid
cid
id
name
office
address
Course
grade
id
title
instructor
5
Class Design for Registrar
<<HTML>>
RegistrarFRM
Registrar
Submit(request=“Get Student List”)
Submit(request=“Get Course List”)
Submit(request=“Get Faculty List”)
Submit(request=“Add a Student”)
Submit(request=“Add a Course”)
Submit(request=“Add a Professor”)
RegistrarServ
<<JavaScript>>
RegistrarChk
checkStudent()
checkCourse()
checkFaculty()
init()
doPost ()
displayCourses()
displayStudents()
displayFaculty()
addCourse()
addStudent()
addFaculty()
destroy()
RegistrarMngr
getCourses()
getStudents()
getFaculty()
addStudent()
addCourse()
addFaculty()
6
Deployment Diagram
PostgreSQL 7.0
Web Browser
StudentChk
Student
FacultyChk
RegistrarChk
StudentFRM
ProfessorFRM
RegistrarFRM
Web Server
heineken.cs.uofs.edu
Apache Server
Faculty
Course
STakingC
StudentServ
ProfessorServ
Client
J
D
B
C
RegistrarServ
StudentMngr
J
D
B
C
Database Server
server8.cs.uofs.edu
FacultyMngr
RegistrarMngr
7
RegistrarFRM – Design
<<HTML>>
RegistrarFRM
Registrar
RegistrarServ
…
<<JavaScript>>
RegistrarChk
checkStudent()
checkCourse()
checkFaculty()
text studentid
text studentname
text studentaddress
text courseid
text coursetitle
text professorid
text professorname
text professoroffice
text professorphone
Submit(request=“Get Student List”)
Submit(request=“Get Course List”)
Submit(request=“Get Faculty List”)
Submit(request=“Add a Student”)
Submit(request=“Add a Course”)
Submit(request=“Add a Professor”)
8
RegistrarServ - Design
RegistrarServ
Registrar
RegistrarMngr
…
PrintWriter out;
HttpServletResponse response;
HttpServletRequest request;
RegistrarMngr mngr;
HttpServlet
…
RegistrarFRM
...
HTMLUtil
…
SQLException
…
IOException
…
void display( rows, hdr, title)
void displayACK( op, txt)
void init(ServletConfig config)
void doPost (HttpServletRequest req,
HttpServletResponse resp)
void displayCourses()
void displayStudents()
void displayFaculty()
void addCourse()
void addStudent()
void addFaculty()
void destroy()
ServletException
…
9
RegistrarMngr - Design
RegistrarServ
…
RegistrarMngr
DBManager dbm
DBManager
…
PgSQLManager
…
void addStudent(sid, nm, add)
void addCourse(cid, ttl)
void addFaculty(fid, nm, off, fone)
Vector getCourses()
Vector getStudents()
Vector getFaculty()
Void shutdown()
SQLException
…
10
PgSQLManager - Design
RegistrarMngr
…
StudentMngr
…
ProfessorMngr
…
DBManager
void makeConnection(url, dbName,
userName, password)
getRecord( sql)
void executeSql( sql)
void dbshutdown();
void finalize();
SQLException
…
PgSQLManager
JDBC
Connection db
Statement st;
…
11
HTMLUtil - Design
StudentServ
ProfessorServ
RegistrarServ
DBManager
…
HTMLUtil
String makeHTMLTitle( title)
String makeHTMLHeading( title, level)
String makeHTMLImage( imageFile, width, height,
alt, longDesc)
String makeHTMLURL( url, text)
String makeHTMLList( items, type)
String makeHTMLDefinition( terms, definitions)
String makeHTMLTable( dbm, sqlSelect, hdr, title)
String makeHTMLSelect( dbm, sqlSelect,
htmlSelectName, selected)
String makeHTMLCheckbox( dbm, sqlSelect,
htmlCheckboxName, clmnhdrs)
String makeHTMLRadio( dbm, sqlSelect,
htmlRadioName, clmnhdrs)
String makeHTMLInput( dbm, sqlSelect,
listName, listType, hdr)
String htmlEncode( str)
Package Diagram
db
RegistrarFRM
…
RegistrarMngr
…
StudentFRM
…
StudentMngr
…
ProfessorFRM
…
ProfessorMngr
…
DBManager
web
RegistrarServ
…
StudentServ
…
ProfessorServ
…
…
PgSQLManager
…
util
HTMLUtil
…
13