Beruflich Dokumente
Kultur Dokumente
Thursday Team Dated: 23th April 2002 Authors Zhouxuan Teng zt0873@albany.edu (Leader) Zhaohui Yang Jie Tang jamesyzh@yahoo.com cnjasontang@yahoo.com
Revision History
Date 22th April 2002 Version 1.0 First version Description Author Coding Team
Confidential
Page 1
2. Programming platform 3 3. Database 3 4. Database tables 3 5. Classes 4 5.1 Class diagram . 4 5.2 Class design detail .5 6. Activity diagrams/State diagram ..7 6.1 Activity diagram of whole system 7 6.2 Activity diagram of each operation .8 6.2.1 Student class 8 6.2.2 Book class . 10 6.2.3 Transaction class 14 6.2.4 MyList class 16
Confidential
Page 2
1.
Introduction
This document provides a detailed design of the system. Please refer to the requirement analysis document and high level design document for the overall view and high level design of the system. This document concentrates on the detailed design of the system, including database connection, programming platform, activities diagrams of whole system and each operation of each class.
1.1
References
Requirements Document Ver 1.1
2.
Programming platform The system will be written in Java language. Thus our software is systemindependent and can be run in both MS Windows and Unix system. During development process we will use the MS Windows system.
3.
Database The database being used is the DB2 database system, and the connection to the database is made by Javas JDBC interface. The tables will be created using SQL statements; the runtime SQL will be sent to database and the query result will be sent back to application by JDBC connection.
4.
Database tables
Confidential
Page 3
T_Student studentID : VARCHAR(255) name : VARCHAR(255) street : VARCHAR(255) city : VARCHAR(255) zipCode : VARCHAR(255) state : VARCHAR(255) phoneNo : VARCHAR(255) lateFeeTotal : DOUBLE(64) <<PK>> PK_T_Student0()
<<Non-Identifying>> 1
1
0..*
T_Transaction transctionID : VARCHAR(255) studentID : VARCHAR(255) callNo : VARCHAR(255) checkOutDate : TIMESTAMP checkInDate : TIMESTAMP fines : DOUBLE(64) COL_0 : VARCHAR(255) COL_1 : VARCHAR(255) <<PK>> PK_T_Transactio1() <<FK>> FK_T_Transactio1() <<FK>> FK_T_Transactio0() <<Index>> TC_T_Transactio3() <<Index>> TC_T_Transactio1()
<<Non-Identifying>>
0..*
T_Book callNo : VARCHAR(255) ISBN : VARCHAR(255) title : VARCHAR(255) author : VARCHAR(255) status : VARCHAR(255) <<PK>> PK_T_Book2()
5.
5.1
Classes
Class Diagram
Student studentID : String name : String street : String city : String zipCode : String state : String phoneNo : String lateFeeTotal : Double borrowedBook : Integer addStudent() validateNewStudent() search() update() delete()
Book callNo : String ISBN : String title : String author : String status : String addBook() validate() search() update() delete() 1 n
Transaction t rans ctionID : String student ID : String callNo : String checkOutDat e : Dat e checkInDate : Date n fines : Double checkin() checkout()
Confidential
Page 4
5.2
Student Class :
This class encapsulates all student related operations and details.
Student studentID : String name : String street : String city : String zipCode : String state : String phoneNo : String lateFeeTotal : Double borrowedBook : Integer addStudent(studentID, name, street, city, zipCode, state, phoneNo) : Boolean validateNewStudent() : Integer search(studentID, name) : Object update(name, studentID, street, city, zipCode, state, phoneNo) : Boolean delete(studentID) : Boolean
Book Class :
This class encapsulates all Book related operations and details.
Book callNo : String ISBN : String title : String author : String status : String addBook(callNo, ISBN, title, author) : Boolean validate() : Integer search(callNo, ISBN, title, author) : Object update(callNo, ISBN, title, author) : Boolean delete(callNo) : Boolean
Confidential
Page 5
Transaction Class :
This class encapsulates a single transaction, and maps a student to a book which has been checked out. All associated details of a transaction are also stored in this class (late fees, checkin, checkout dates).
Transaction transctionID : String studentID : String callNo : String checkOutDate : Date checkInDate : Date fines : Double checkin(callNo) : Boolean checkout(studentID, callNo) : Boolean
MyListClass :
This class encapsulates the usecases related to maintaing a temporary subset of user selected books during a search operation.
Confidential
Page 6
6. 6.1
Totally 12 windows. All states except "Display Exit Info" can go back to Main Menu. Help Content
Get Help Enter Book Info 14 do/ Insert a student into DB Reset Search books View Mylist Update/Delete Display Exit Info Display MyList 5 exit/ Send from List message Check In/Out Ex it Enter Search Info 11 Search Back Add a book Main Menu 1 Add a student
New Search
Search Add to list View Detail / UpdateDelete Update,Delete Check In/Out Update Detai l 60 do/ Update,Delete
Check In/Out Check In/Out Enter books. student Info 13 do/ Check In, Check Out
Confidential
Page 7
6.2 6.2.1
validat eStudent
[ exists ]
[ not exist s ]
validat eStudent
[ not exist s ]
[ exists ]
Confidential
Page 8
return Resultset
Return Resultset
[ not empty ]
Return true
Confidential
Page 9
6.2.2
Book class
exist
yes
exist: Check if the book record already exist in database. Confidential CSI 518 : Thursday Team Page 10
found record?
no
searchBook: Search books in database Confidential CSI 518 : Thursday Team Page 11
return resultset
deleteBook: Delete a book in database Confidential CSI 518 : Thursday Team Page 12
check existence
exist? yes
no
Confidential
Page 13
6.2.3
Transaction class
Yes
Confidential
Page 14
Yes
Confidential
Page 15
6.2.4
MyList class
Yes
Confidential
Page 16
Yes
Confidential
Page 17
Yes
Confidential
Page 18