Uploaded by Tuan Anh Trinh Duy

Group5 CRMS DetailedDesign

advertisement
MINISTRY OF EDUCATION AND
TRAINING
FPT UNIVERSITY
DETAILED DESIGN DOCUMENT
CRMS
Group 5
HE151387 - Hoàng Trung Hiếu
HE153286 - Lê Tuấn Anh
Group Member
HE153629 - Nguyễn Hà Quốc Duy
HE151065- Lê Vũ Long
ID - Name
Supervisor
Mr.Sang
Ext. Supervisor
Project Code
CRMS
- Hanoi, 02/2023 -
1
CRMS | Detailed Design
FPT University | School of Engineering
Table of Contents
1
2
3
1.1
3
1.2
3
1.2.1
Class Diagram
3
1.2.2
Class Description
3
1.2.3
Screen Design
4
1.2.4
Sequence Diagram
5
126
2.1
Ошибка! Закладка не определена.
2.2
126
2.3
126
2.3.1
126
2.3.2
127
CRMS | Detailed Design
1
FPT University | School of Engineering
DETAILED DESIGN
1.1 Common Design
<Phần mô tả thiết kế cho các thành phần chung của tất cả các chức năng>
1.2 <UC xx- Use case name>
1.2.1
Class Diagram
<Sơ đồ quan hệ giữa các lớp của chức năng>
1.2.2
Class Description
<Phần mô tả chi tiết các lớp của chức năng>
1.2.2.1
<Class Name>
Class
<Class Name>
Description
Base Class
Constructor
Prototype
Source File
Namespace
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
CRMS | Detailed Design
1.2.2.2
FPT University | School of Engineering
<Class Name>
Class
<Class Name>
Description
Base Class
Constructor
Prototype
Source File
Namespace
Attributes
Name
Type
Description
Methods
Name
Input
Output
......
1.2.3
Screen Design
<Screen Layout - Manage news- Delete news >
Description
CRMS | Detailed Design
FPT University | School of Engineering
<Screen Definition>
Table 4-x: Manage news- Delete news
Object/Cont
N
orol Name
1
Object/Control Name
in English
2
3
4
1.2.4
1.2.4.1
Sequence Diagram
<Use-case ID - Use case name>
...
1.2.4.2
<Use-case ID - Use case name>
................
Type
Required
Length
Descriptio
n
CRMS | Detailed Design
FPT University | School of Engineering
1.3 UC 01- User register
1.3.1
Class Diagram
1.3.2
Class Description
1.3.2.1
User
Class
User
Description
Define the attribute and method in user oject
Base Class
Constructor
public User()
Prototype
Model
Source File
Model/User.java
Namespace
CRMS:Model
CRMS | Detailed Design
Attributes
Methods
1.3.2.2
FPT University | School of Engineering
Name
Type
userId
int
userName
String
dob
Date
address
String
role
String
email
String
password
String
status
String
Name
Input
Description
Output
Description
RegisterController
Class
RegisterController
Description
Define method to handle with request from web page
Base Class
Constructor
Prototype
Source File
Controller/RegisterController.java
Namespace
CRMS:Controller
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
doGet
req,res
void
receipt Http GET
request from
bowser get filter
CRMS | Detailed Design
FPT University | School of Engineering
value send in
URL and call
DAO
doPost
req,res
void
handle Http
POST request.
call doGet
1.3.2.3
UserDAOImpl
Class
UserDAOImpl
Description
Define method to prepare and execute sql statement
Base Class
Constructor
UserDAO()
Prototype
Source File
Controller/UserDAOImpl.java
Namespace
CRMS:DAO
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
checkUserExist
email: String
User object
Use email to
check user exist
in database or not
AddNewUser
user: User
void
Use to add new
user to database
getUserWithEma
email : String,
User object
Use email and
ilAndPassword
password :
password to get
String
user exist in
database
CRMS | Detailed Design
FPT University | School of Engineering
updateUserPassw
newPassword :
ord
String, user :
user password in
User
database
updateUserInfor
user : User
void
void
mation
Use to update
Use to update
user information
in database
deleteAccount
user:User
void
Use to delete
user’s account
1.3.3
Screen Design
Table 4-1: User register
CRMS | Detailed Design
Object/Control
N
Name
o
Full name
1
Date of2 birth
Phone 3number
Gender4
Address
Email
Password
Confirm password
1.3.4
1.3.4.1
Sequence Diagram
UC01-User Register
FPT University | School of Engineering
Type
Required
Length
Description
Input
text
Date
Yes
50
None
Yes
None
None
Input
text
Input
text
Input
text
Input
email
Input
text
Input
text
Yes
None
None
Yes
None
None
Yes
100
None
Yes
50
None
Yes
8-16
None
Yes
8-16
None
CRMS | Detailed Design
FPT University | School of Engineering
1.4 UC 02- Sign in
1.4.1
Class Diagram
1.4.2
Class Description
1.4.2.1
User
Class
User
Description
Define the attribute and method in user oject
Base Class
Constructor
public User()
Prototype
Model
Source File
Model/User.java
Namespace
CRMS:Model
CRMS | Detailed Design
Attributes
Methods
1.4.2.2
FPT University | School of Engineering
Name
Type
userId
int
userNme
String
dob
Date
address
String
role
String
email
String
password
String
status
String
Name
Input
Description
Output
Description
SignInController
Class
SignInController
Description
Define method to handle with request from web page
Base Class
Constructor
Prototype
Source File
Controller/SignInController.java
Namespace
CRMS:Controller
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
doGet
req,res
void
receipt Http GET
request from
CRMS | Detailed Design
FPT University | School of Engineering
bowser get filter
value send in
URL and call
DAO
doPost
req,res
void
handle Http
POST request.
call doGet
1.4.2.3
UserDAOImpl
Class
UserDAOImpl
Description
Define method to prepare and execute sql statement
Base Class
Constructor
UserDAO()
Prototype
Source File
Controller/UserDAOImpl.java
Namespace
CRMS:DAO
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
checkUserExist
email: String
User object
Use email to
check user exist
in database or not
AddNewUser
user: User
void
Use to add new
user to dababase
getUserWithEma
email : String,
User object
Use email and
ilAndPassword
password :
password to get
String
user exist in
database
CRMS | Detailed Design
FPT University | School of Engineering
updateUserPassw
newPassword :
ord
String, user :
user password in
User
database
updateUserInfor
user : User
void
Use to update
void
Use to update
mation
user information
in database
deleteAccount
user:User
void
Use to delete
user’s account
1.4.3
Screen Design
Table 4-2: Sign in
Object/Cont
N
orol Name
Email 1
Object/Control Name
in English
Email
Type
Required
Length
Input
text
Yes
8-16
Descriptio
n
None
CRMS | Detailed Design
1.4.4
1.4.4.1
FPT University | School of Engineering
Password
2
Password
Remmember
me
Remmember me
Sequence Diagram
UC02 - Sign In
Input
text
Check
box
Yes
8-16
None
None
None
None
CRMS | Detailed Design
FPT University | School of Engineering
1.5 UC 03- Change password
1.5.1
Class Diagram
1.5.2
Class Description
1.5.2.1
User
Class
User
Description
Define the attribute and method in user oject
Base Class
Constructor
public User()
Prototype
Model
Source File
Model/User.java
Namespace
CRMS:Model
CRMS | Detailed Design
Attributes
Methods
1.5.2.2
FPT University | School of Engineering
Name
Type
userId
int
userNme
String
dob
Date
address
String
role
String
email
String
password
String
status
String
Name
Input
Description
Output
Description
ChangePasswordController
Class
ChangePasswordController
Description
Define method to handle with request from web page
Base Class
Constructor
Prototype
Source File
Controller/ChangePasswordController.java
Namespace
CRMS:Controller
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
doGet
req,res
void
receipt Http GET
request from
CRMS | Detailed Design
FPT University | School of Engineering
bowser get filter
value send in
URL and call
DAO
doPost
req,res
void
handle Http
POST request.
call doGet
1.5.2.3
UserDAOImpl
Class
UserDAOImpl
Description
Define method to prepare and execute sql statement
Base Class
Constructor
UserDAO()
Prototype
Source File
Controller/UserDAOImpl.java
Namespace
CRMS:DAO
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
checkUserExist
email: String
User object
Use email to
check user exist
in database or not
AddNewUser
user: User
void
Use to add new
user to dababase
getUserWithEma
email : String,
User object
Use email and
ilAndPassword
password :
password to get
String
user exist in
database
CRMS | Detailed Design
FPT University | School of Engineering
updateUserPassw
newPassword :
ord
String, user :
user password in
User
database
updateUserInfor
user : User
void
void
mation
Use to update
Use to update
user information
in database
deleteAccount
user:User
void
Use to delete
user’s account
1.5.3
Screen Design
Table 4-3: Change Password
CRMS | Detailed Design
1.5.4
1.5.4.1
FPT University | School of Engineering
Object/Cont
N
orol Name
Old Password
1
Object/Control Name
in English
Old Password
Type
Required
Length
Yes
8-16
New Password
Input
text
Date
Descriptio
n
None
New 2
Password
Confirm
password
Yes
8-16
None
Confirm password
text
Yes
8-16
None
Sequence Diagram
UC 03 - Change Password
CRMS | Detailed Design
FPT University | School of Engineering
1.6 UC 04- Reset password
1.6.1
Class Diagram
1.6.2
Class Description
1.6.2.1
User
Class
User
Description
Define the attribute and method in user oject
Base Class
Constructor
public User()
Prototype
Model
Source File
Model/User.java
Namespace
CRMS:Model
CRMS | Detailed Design
Attributes
Methods
1.6.2.2
FPT University | School of Engineering
Name
Type
userId
int
userNme
String
dob
Date
address
String
role
String
email
String
password
String
status
String
Name
Input
Description
Output
Description
ResetPasswordController
Class
ResetPasswordController
Description
Define method to handle with request from web page
Base Class
Constructor
Prototype
Source File
Controller/ResetPasswordController.java
Namespace
CRMS:Controller
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
doGet
req,res
void
receipt Http GET
request from
bowser get filter
CRMS | Detailed Design
FPT University | School of Engineering
value send in
URL and call
DAO
doPost
req,res
void
handle Http
POST request.
call doGet
1.6.2.3
UserDAOImpl
Class
UserDAOImpl
Description
Define method to prepare and execute sql statement
Base Class
Constructor
UserDAO()
Prototype
Source File
Controller/UserDAOImpl.java
Namespace
CRMS:DAO
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
checkUserExist
email: String
User object
Use email to
check user exist
in database or not
AddNewUser
user: User
void
Use to add new
user to dababase
getUserWithEma
email : String,
User object
Use email and
ilAndPassword
password :
password to get
String
user exist in
database
CRMS | Detailed Design
FPT University | School of Engineering
updateUserPassw
newPassword :
ord
String, user :
user password in
User
database
updateUserInfor
user : User
void
void
mation
Use to update
Use to update
user information
in database
deleteAccount
user:User
void
Use to delete
user’s account
1.6.3
Screen Design
CRMS | Detailed Design
FPT University | School of Engineering
CRMS | Detailed Design
FPT University | School of Engineering
Table 4-4: Reset Password
1.6.4
1.6.4.1
Object/Cont
N
orol Name
Email 1
Object/Control Name
in English
Email
OTP 2
OTP
Password
3
Password
Confirm
4
password
Confirm password
Sequence Diagram
UC 04 - Reset Password
Type
Required
Length
Input
text
Input
text
Input
text
Input
text
Yes
50
Descriptio
n
None
Yes
50
None
Yes
50
None
Yes
8-16
None
CRMS | Detailed Design
FPT University | School of Engineering
1.7 UC 05- User profile
1.7.1
Class Diagram
1.7.2
Class Description
1.7.2.1
User
Class
User
Description
Define the attribute and method in user object
Base Class
Constructor
public User()
Prototype
Model
Source File
Model/User.java
Namespace
CRMS:Model
CRMS | Detailed Design
Attributes
Methods
1.7.2.2
FPT University | School of Engineering
Name
Type
userId
int
userName
String
dob
Date
address
String
role
String
email
String
password
String
status
String
Name
Input
Description
Output
Description
UpdateUserController
Class
UpdateUserController
Description
Define method to handle with request from web page
Base Class
Constructor
Prototype
Source File
Controller/UpdateUserController.java
Namespace
CRMS:Controller
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
doGet
req,res
void
receipt Http GET
request from
CRMS | Detailed Design
FPT University | School of Engineering
bowser get filter
value send in
URL and call
DAO
doPost
req,res
void
handle Http
POST request.
call doGet
1.7.2.3
UserDAOImpl
Class
UserDAOImpl
Description
Define method to prepare and execute sql statement
Base Class
Constructor
UserDAO()
Prototype
Source File
Controller/UserDAOImpl.java
Namespace
CRMS:DAO
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
checkUserExist
email: String
User object
Use email to
check user exist
in database or not
AddNewUser
user: User
void
Use to add new
user to database
getUserWithEma
email : String,
User object
Use email and
ilAndPassword
password :
password to get
String
user exist in
database
CRMS | Detailed Design
FPT University | School of Engineering
updateUserPassw
newPassword :
ord
String, user :
user password in
User
database
updateUserInfor
user : User
void
void
mation
Use to update
Use to update
user information
in database
deleteAccount
user:User
void
Use to delete
user’s account
1.7.3
Screen Design
Table 4-5: User profile
CRMS | Detailed Design
Object/Cont
N
orol Name
Full name
1
Object/Control Name
in English
Full name
Date of2 birth
Date of birth
Phone 3
number
Gender4
Phone number
Address
Address
Email
Email
Password
User Id
1.7.4
1.7.4.1
FPT University | School of Engineering
Gender
Password
User Id
Sequence Diagram
UC 05 - User profile
Type
Required
Length
Input
text
Date
Yes
50
Descriptio
n
None
Yes
None
None
Input
text
Select
Yes
None
None
Yes
None
None
Input
text
Input
email
Yes
None
None
Yes
50
None
Input
text
Input
text
hide
Yes
Yes
50
None
None
None
CRMS | Detailed Design
FPT University | School of Engineering
1.8 UC-06-Delete Account
1.8.1
Class Diagram
1.8.2
Class Description
1.8.2.1
User
1.
Class
User
Description
Define the attribute and method in user object
Base Class
Constructor
Prototype
Model
Source File
Model/User.java
Namespace
CRMS:Model
Attributes
Name
Type
Description
CRMS | Detailed Design
Methods
FPT University | School of Engineering
userId
int
userName
String
dob
Date
address
String
role
String
email
String
password
String
status
String
Name
Input
Output
Description
2.
1.8.2.2
DeleteAccountController
3.
Class
DeleteAccountController
Description
Define method to handle with request from web page
Base Class
Constructor
Prototype
Source File
Controller/DeleteAccountController.java
Namespace
CRMS:Controller
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
CRMS | Detailed Design
FPT University | School of Engineering
doGet
req,res
void
receipt Http GET
request from
bowser get filter
value send in
URL and call
DAO
doPost
req,res
void
handle Http
POST requests.
call doGest
1.8.2.3
UserDAOimpl
4.
Class
UserDAOImpl
Description
Define method to handle with request from web page
Base Class
Constructor
Prototype
Source File
Controller/UserDAOImpl.java
Namespace
CRMS:DAO
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
checkUserExist
email: String
User object
Use email to
check user exist
in database or not
AddNewUser
user: User
void
Use to add new
user to database
CRMS | Detailed Design
FPT University | School of Engineering
getUserWithEma
email : String,
User object
Use email and
ilAndPassword
password :
password to get
String
user exist in
database
updateUserPassw
newPassword :
ord
String, user :
user password in
User
database
updateUserInfor
user : User
void
void
mation
Use to update
Use to update
user information
in database
deleteAccount
user:User
void
Use to delete
user’s account
from user
1.8.3
Screen Design
CRMS | Detailed Design
1.8.4
FPT University | School of Engineering
Sequence Diagram
1.9 UC-07-User Management
1.9.1
Class Diagram
CRMS | Detailed Design
1.9.2
1.9.2.1
FPT University | School of Engineering
Class Description
User
5.
Class
User
Description
This class use to save user information
Base Class
Constructor
public User()
Prototype
Model
Source File
Model/User.java
Namespace
CRMS:Model
Attributes
Name
Type
userId
int
userName
String
dob
Date
address
String
role
String
email
String
password
String
status
String
Name
Input
Methods
Description
Output
Description
CRMS | Detailed Design
FPT University | School of Engineering
6.
1.9.2.2
UserManagementController
7.
Class
UserManagementController
Description
Define method to handle with request from web page
Base Class
Constructor
Prototype
Source File
Controller/UserManagementController.java
Namespace
CRMS:Controller
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
doGet
req,res
void
receipt Http GET
request from
bowser get filter
value send in
URL and call
DAO
doPost
req,res
void
handle Http
POST requests.
call doGest
1.9.2.3
UserDAOimpl
8.
Class
UserDAOImpl
CRMS | Detailed Design
Description
FPT University | School of Engineering
Define method to handle with request from web page
Base Class
Constructor
UserDAO()
Prototype
Source File
Controller/UserDAOImpl.java
Namespace
CRMS:DAO
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
checkUserExist
email: String
User object
Use email to
check user exist
in database or not
AddNewUser
user: User
void
Use to add new
user to database
getUserWithEma
email : String,
User object
Use email and
ilAndPassword
password :
password to get
String
user exist in
database
updateUserPassw
newPassword :
ord
String, user :
user password in
User
database
updateUserInfor
user : User
void
void
mation
Use to update
Use to update
user information
in database
deleteAccount
user:User
void
Use to delete
user’s account
CRMS | Detailed Design
getAllUser
FPT University | School of Engineering
void
Use to get all
information of all
user
1.9.3
Screen Design
CRMS | Detailed Design
1.9.4
Sequence Diagram
2.
1.10 UC-08- Add user
2.
1.10.1 Class Diagram
FPT University | School of Engineering
CRMS | Detailed Design
FPT University | School of Engineering
1.10.2 Class Description
1.10.2.1 User
1.
Class
User
Description
This class use to save user information
Base Class
Constructor
public User()
Prototype
Model
Source File
Model/User.java
Namespace
CRMS:Model
Attributes
Name
Type
userId
int
userName
String
dob
Date
address
String
role
String
email
String
password
String
status
String
Name
Input
Methods
Description
Output
Description
CRMS | Detailed Design
FPT University | School of Engineering
2.
1.10.2.2 AddUserController
3.
Class
AddUserController
Description
Define method to handle with request from web page
Base Class
Constructor
Prototype
Source File
Controller/AddCarController.java
Namespace
CRMS:Controller
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
doGet
req,res
void
receipt Http GET
request from
bowser get filter
value send in
URL and call
DAO
doPost
req,res
void
handle Http
POST requests.
call doGest
1.10.2.3 UserDAOimpl
4.
Class
UserDAOImpl
CRMS | Detailed Design
Description
FPT University | School of Engineering
Define method to handle with request from web page
Base Class
Constructor
UserDAO()
Prototype
Source File
Controller/UserDAOImpl.java
Namespace
CRMS:DAO
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
checkUserExist
email: String
User object
Use email to
check user exist
in database or not
AddNewUser
user: User
void
Use to add new
user to database
getUserWithEma
email : String,
User object
Use email and
ilAndPassword
password :
password to get
String
user exist in
database
updateUserPassw
newPassword :
ord
String, user :
user password in
User
database
updateUserInfor
user : User
void
void
mation
Use to update
Use to update
user information
in database
deleteAccount
user:User
void
Use to delete
user’s account
CRMS | Detailed Design
FPT University | School of Engineering
getAllUser
User object
Use to get all
information of all
user
addUser
user: User
void
Use to add
account to
database
1.10.3 Screen Design
CRMS | Detailed Design
1.10.4 Sequence Diagram
3.
1.11 -09- Update user
4.
1.11.1 Class Diagram
FPT University | School of Engineering
CRMS | Detailed Design
FPT University | School of Engineering
1.11.2 Class Description
1.11.2.1 User
1.
Class
User
Description
Define the attribute and method in admin object
Base Class
Constructor
public User()
Prototype
Model
Source File
Model/User.java
Namespace
CRMS:Model
Attributes
Name
Type
userId
int
userName
String
dob
Date
address
String
role
String
email
String
password
String
status
String
Name
Input
Methods
Description
Output
Description
CRMS | Detailed Design
FPT University | School of Engineering
2.
1.11.2.2 UpdateUserController
3.
Class
UpdateUserController
Description
Define method to handle with request from web page
Base Class
Constructor
Prototype
Source File
Controller/UpdateCarController.java
Namespace
CRMS:Controller
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
doGet
req,res
void
receipt Http GET
request from
bowser get filter
value send in
URL and call
DAO
doPost
req,res
void
handle Http
POST requests.
call doGest
1.11.2.3 UserDAOimpl
4.
Class
UserDAOImpl
CRMS | Detailed Design
Description
FPT University | School of Engineering
Define method to handle with request from web page
Base Class
Constructor
UserDAO()
Prototype
Source File
Controller/UserDAOImpl.java
Namespace
CRMS:DAO
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
checkUserExist
email: String
User object
Use email to
check user exist
in database or not
AddNewUser
user: User
void
Use to add new
user to database
getUserWithEma
email : String,
User object
Use email and
ilAndPassword
password :
password to get
String
user exist in
database
updateUserPassw
newPassword :
ord
String, user :
user password in
User
database
updateUserInfor
user : User
void
void
mation
Use to update
Use to update
user information
in database
deleteAccount
user:User
void
Use to delete
user’s account
CRMS | Detailed Design
FPT University | School of Engineering
getAllUser
User object
Use to get all
information of all
user
addUser
user: User
void
Use to add
account to
database
updateUser
user:User
void
Use to update
user’s
information
CRMS | Detailed Design
1.11.3 Screen Design
5.
1.11.4 Sequence Diagram
6.
1.12 -10- Delete user
1.12.1 Class Diagram
FPT University | School of Engineering
CRMS | Detailed Design
FPT University | School of Engineering
1.12.2 Class Description
1.12.2.1 User
1.
Class
User
Description
Define the attribute and method in admin object
Base Class
Constructor
Prototype
Model
Source File
Model/User.java
Namespace
CRMS:Model
Attributes
Name
Type
userId
int
Description
CRMS | Detailed Design
Methods
FPT University | School of Engineering
userName
String
dob
Date
address
String
role
String
email
String
password
String
status
String
Name
Input
Output
Description
2.
1.12.2.2 DeleteAccountController
3.
Class
DeleteAccountController
Description
Define method to handle with request from web page
Base Class
Constructor
Prototype
Source File
Controller/DeleteAccountController.java
Namespace
CRMS:Controller
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
CRMS | Detailed Design
FPT University | School of Engineering
doGet
req,res
void
receipt Http GET
request from
bowser get filter
value send in
URL and call
DAO
doPost
req,res
void
handle Http
POST requests.
call doGest
1.12.2.3 UserDAOimpl
4.
Class
UserDAOImpl
Description
Define method to handle with request from web page
Base Class
Constructor
Prototype
Source File
Controller/UserDAOImpl.java
Namespace
CRMS:DAO
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
checkUserExist
email: String
User object
Use email to
check user exist
in database or not
AddNewUser
user: User
void
Use to add new
user to database
CRMS | Detailed Design
FPT University | School of Engineering
getUserWithEma
email : String,
User object
Use email and
ilAndPassword
password :
password to get
String
user exist in
database
updateUserPassw
newPassword :
ord
String, user :
user password in
User
database
updateUserInfor
user : User
void
void
mation
Use to update
Use to update
user information
in database
deleteAccount
user:User
void
Use to delete
user’s account
from user
1.12.3 Screen Design
CRMS | Detailed Design
1.12.4 Sequence Diagram
FPT University | School of Engineering
CRMS | Detailed Design
FPT University | School of Engineering
1.13 UC-11- Car Management
1.13.1 Class Diagram
1.13.2 Class Description
1.13.2.1 Car
5.
Class
Car
Description
Define the attribute and method in car object
Base Class
Constructor
public Car()
Prototype
Model
CRMS | Detailed Design
FPT University | School of Engineering
Source File
Model/Car.java
Namespace
CRMS:Model
Attributes
Name
Type
carId
int
lisencePlate
String
carType
String
carColor
String
carBrand
String
private
rentalRate
double
private
seatingCapacity
int
private
Description
private
private
private
private
6.
1.13.2.2 CatalogCarController
Class
CatalogCarController
Description
Define method to handle with request from web page
Base Class
Constructor
Prototype
Source File
Controller/CatalogCarController.java
Namespace
CRMS:Controller
Methods
Name
Input
Output
Description
CRMS | Detailed Design
FPT University | School of Engineering
doGet
req,res
void
receipt Http GET request
from bowser get filter
value send in URL and
call BO to get list catalog
car
doPost
req,res
void
handle Http POST
requests. call doGest
1.13.2.3 CarDAOImpl
Class
CarDAOImpl
Description
Define method to prepare and execute sql statement
Base Class
Constructor
CarBO
Prototype
Source File
DAO/CarDAO/Impl/CarDAOImpl.java
Namespace
CRMS:Controller
Methods
Name
Input
Output
Description
getCarList
filterEntity
ResponseEnti
Receipt the the filter
ty
value and return list car
that bound inside
response entity
getAllCar
car:Car
car list
Use to get all car from
database
addCar
updateCar
car:Car
car:Car
add a new
Use to add car to
car
database
update car
Use to update
information to a car
CRMS | Detailed Design
deleteCar
FPT University | School of Engineering
car:Car
delete car
Use to delete car from
database
1.13.3 Screen Design
CRMS | Detailed Design
7.
FPT University | School of Engineering
Sequence Diagram
CRMS | Detailed Design
8.
FPT University | School of Engineering
UC-12- Add Car
1.13.4 Class Diagram
1.13.5
1.13.6 Class Description
1.13.6.1 Car
1.
Class
Car
Description
Define the attribute and method in car object
Base Class
Constructor
public Car()
CRMS | Detailed Design
FPT University | School of Engineering
Prototype
Model
Source File
Model/Car.java
Namespace
CRMS:Model
Attributes
Name
Type
carId
int
lisencePlate
String
carType
String
carColor
String
carBrand
String
private
rentalRate
double
private
seatingCapacity
int
private
Description
private
private
private
private
2.
1.13.6.2 CatalogCarController
Class
CatalogCarController
Description
Define method to handle with request from web page
Base Class
Constructor
Prototype
Source File
Controller/CatalogCarController.java
Namespace
CRMS:Controller
Methods
Name
Input
Output
Description
CRMS | Detailed Design
FPT University | School of Engineering
doGet
req,res
void
receipt Http GET request
from bowser get filter
value send in URL and
call BO to get list catalog
car
doPost
req,res
void
handle Http POST
requests. call doGest
1.13.6.3 CarDAOImpl
2
Class
CarDAOImpl
Description
Define method to prepare and execute sql statement
Base Class
Constructor
CarBO
Prototype
Source File
DAO/CarDAO/Impl/CarDAOImpl.java
Namespace
CRMS:Controller
Methods
Name
Input
Output
Description
getCarList
filterEntity
ResponseEnti
Receipt the the filter
ty
value and return list car
that bound inside
response entity
getAllCar
car:Car
car list
Use to get all car from
database
addCar
updateCar
car:Car
car:Car
add a new
Use to add car to
car
database
update car
Use to update
information to a car
CRMS | Detailed Design
deleteCar
FPT University | School of Engineering
car:Car
delete car
Use to delete car from
database
2.1.1
Screen Design
CRMS | Detailed Design
9.
FPT University | School of Engineering
Sequence Diagram
CRMS | Detailed Design
3
UC-13- Update Car
4
Class Diagram
FPT University | School of Engineering
4.1.1
5
Class Description
5.1.1.1
Car
1.
Class
Car
Description
Define the attribute and method in car object
Base Class
Constructor
public Car()
Prototype
Model
CRMS | Detailed Design
6
FPT University | School of Engineering
Source File
Model/Car.java
Namespace
CRMS:Model
Attributes
Name
Type
carId
int
lisencePlate
String
carType
String
carColor
String
carBrand
String
private
rentalRate
double
private
seatingCapacity
int
private
Description
private
private
private
private
CatalogCarController
Class
CatalogCarController
Description
Define method to handle with request from web page
Base Class
Constructor
Prototype
Source File
Controller/CatalogCarController.java
Namespace
CRMS:Controller
Methods
Name
Input
Output
Description
doGet
req,res
void
receipt Http GET request
from bowser get filter
value send in URL and
CRMS | Detailed Design
FPT University | School of Engineering
call BO to get list catalog
car
doPost
req,res
void
handle Http POST
requests. call doGest
7
CarDAOImpl
2.
Class
CarDAOImpl
Description
Define method to prepare and execute sql statement
Base Class
Constructor
CarBO
Prototype
Source File
DAO/CarDAO/Impl/CarDAOImpl.java
Namespace
CRMS:Controller
Methods
Name
Input
Output
Description
getCarList
filterEntity
ResponseEnti
Receipt the the filter
ty
value and return list car
that bound inside
response entity
getAllCar
car:Car
car list
Use to get all car from
database
addCar
car:Car
add a new
Use to add car to
car
database
update car
Use to update
3.
updateCar
car:Car
information to a car
CRMS | Detailed Design
deleteCar
FPT University | School of Engineering
car:Car
delete car
Use to delete car from
database
CRMS | Detailed Design
8
FPT University | School of Engineering
Screen Design
2.
10.
Sequence Diagram
CRMS | Detailed Design
9
FPT University | School of Engineering
UC-14- Delete Car
10 Class Diagram
11 Class Description
11.1.1.1 Car
1.
Class
Car
Description
Define the attribute and method in car object
Base Class
Constructor
public Car()
Prototype
Model
CRMS | Detailed Design
FPT University | School of Engineering
Source File
Model/Car.java
Namespace
CRMS:Model
Attributes
Name
Type
carId
int
lisencePlate
String
carType
String
carColor
String
carBrand
String
private
rentalRate
double
private
seatingCapacity
int
private
Description
private
private
private
private
11.1.1.2 CatalogCarController
Class
CatalogCarController
Description
Define method to handle with request from web page
Base Class
Constructor
Prototype
Source File
Controller/CatalogCarController.java
Namespace
CRMS:Controller
Methods
Name
Input
Output
Description
doGet
req,res
void
receipt Http GET request
from bowser get filter
value send in URL and
CRMS | Detailed Design
FPT University | School of Engineering
call BO to get list catalog
car
doPost
req,res
void
handle Http POST
requests. call doGest
11.1.1.3 CarDAOImpl
12
Class
CarDAOImpl
Description
Define method to prepare and execute sql statement
Base Class
Constructor
CarBO
Prototype
Source File
DAO/CarDAO/Impl/CarDAOImpl.java
Namespace
CRMS:Controller
Methods
Name
Input
Output
Description
getCarList
filterEntity
ResponseEnti
Receipt the the filter
ty
value and return list car
that bound inside
response entity
getAllCar
car:Car
car list
Use to get all car from
database
addCar
updateCar
car:Car
car:Car
add a new
Use to add car to
car
database
update car
Use to update
information to a car
deleteCar
car:Car
delete car
Use to delete car from
database
CRMS | Detailed Design
FPT University | School of Engineering
12.1.1 Screen Design
11.
Sequence Diagram
CRMS | Detailed Design
FPT University | School of Engineering
12.2 UC-15- Catalog car
12.2.1 Class Diagram
12.2.2 Class Description
12.2.2.1 Car
Class
Car
Description
Define the attribute and method in car object
Base Class
Constructor
public Car()
Prototype
Model
Source File
Model/Car.java
Namespace
CRMS:Model
Attributes
Name
Type
carId
int
lisencePlate
String
Description
private
private
CRMS | Detailed Design
FPT University | School of Engineering
private
carType
String
carColor
String
carBrand
String
private
rentalRate
double
private
seatingCapacity
int
private
private
12.2.2.2 CatalogCarController
Class
CatalogCarController
Description
Define method to handle with request from web page
Base Class
Constructor
Prototype
Source File
Controller/CatalogCarController.java
Namespace
CRMS:Controller
Methods
Name
Input
Output
Description
doGet
req,res
void
receipt Http GET request
from bowser get filter
value send in URL and
call BO to get list catalog
car
doPost
req,res
void
handle Http POST
request. call doGest
CRMS | Detailed Design
FPT University | School of Engineering
12.2.2.3 CarBOImpl
Class
CarBOImpl
Description
Define method to solve the business logic behind the user required as crud
Base Class
Constructor
CarBO
Prototype
Source File
BO/CarBO/Impl/CarBOImpl.java
Namespace
CRMS:Controller
Methods
Name
Input
Output
Description
getCarList
filterEntity
ResponseEnti
Receipt the the filter
ty
value and return list car
that bound inside
response entity
12.2.2.4 CarDAOImpl
Class
CarDAOImpl
Description
Define method to prepare and execute sql statement
Base Class
Constructor
CarBO
Prototype
Source File
DAO/CarDAO/Impl/CarDAOImpl.java
Namespace
CRMS:Controller
Methods
Name
Input
Output
Description
getCarList
filterEntity
ResponseEnti
Receipt the the filter
ty
value and return list car
CRMS | Detailed Design
FPT University | School of Engineering
that bound inside
response entity
12.2.3 Screen Design
Table 4-x: Catalog Car- View Catalog car
Object/Control Name
Type
Required
Length
Description
1
Search field
Input text
String regex
50
Search car value
2
Filter field
Select
None
None
Select tag that allow user
select filter field car
CRMS | Detailed Design
FPT University | School of Engineering
12.2.3.1 Sequence Diagram
12.2.3.2 UC-15 CatalogCarView
12.3 UC-16- Contract list
12.3.1 Class Diagram
x
12.3.2 Class Description
12.3.2.1 Bill
Class
Bill
Description
Define the attribute and method of bill object
Base Class
Constructor
public Bill()
Prototype
Model
Source File
Model/Bill.java
Namespace
CRMS:Model
CRMS | Detailed Design
Attributes
FPT University | School of Engineering
Name
Type
id
int
totalAmount
Double
issueDate
Date
Description
private
private
private
status
String
private
rentalContract
RentalContr
act
private
1.
12.3.2.2 RentalDetail
Class
RentalDetail
Description
Define the attribute and method in rental car object
Base Class
Constructor
public RentalDetail()
Prototype
Model
Source File
Model/RentailDetail.java
Namespace
CRMS:Model
Attributes
Name
Type
bill
Bill
Description
private
rentalCars
List
private
CRMS | Detailed Design
FPT University | School of Engineering
12.3.2.3 FeeRecord
Class
FeeRecord
Description
Define the attribute and method of fee record object
Base Class
Constructor
public FeeRecord()
Prototype
Model
Source File
Model/FeeRecord.java
Namespace
CRMS:Model
Attributes
Name
Type
feeId
int
feeType
String
feeDate
Date
amount
Double
status
String
Description
private
private
private
private
private
12.3.2.4 RentalContract
Class
RentalContract
Description
Define the attribute and method of contract
Base Class
Constructor
public RentalContract()
Prototype
Model
Source File
Model/RentalContract.java
Namespace
CRMS:Model
CRMS | Detailed Design
Attributes
FPT University | School of Engineering
Name
Type
rentalContractId
int
createAt
Date
status
String
user
User
startDate
Date
endDate
Date
Description
private
private
private
private
private
private
2.
3.
12.3.2.5 ContractListController
Class
ContractListController
Description
Define method to handle with request from web page
Base Class
Constructor
Prototype
Source File
Controller/ContractController/ContractListController.java
Namespace
CRMS:Controller
Methods
Name
Input
Output
Description
doGet
req,res
void
receipt Http GET request
from bowser get filter
value send in URL and
call BO to get list catalog
car
CRMS | Detailed Design
FPT University | School of Engineering
doPost
req,res
void
handle Http POST
request. call doGest
12.3.2.6 ContractBOImpl
Class
ContractBOImpl
Description
Define method to sovle the business logic behind the user required as crud
Base Class
Constructor
public ContractBO();
Prototype
Source File
BO/ContractBO/Impl/ContractBOImpl.java
Namespace
CRMS:Controller
Methods
Name
Input
Output
Description
getContractList
filterEntity
ResponseEnti
Receipt the the filter
ty
value and return list car
that bound inside
response entity
12.3.2.7 CarDAOImpl
Class
ContractDAOImpl
Description
Define method to prepare and execute sql statement
Base Class
Constructor
ContractDAO()
Prototype
Source File
DAO/ContractDAO/Impl/ContractDAOImpl.java
CRMS | Detailed Design
FPT University | School of Engineering
Namespace
CRMS:Controller
Methods
Name
Input
Output
Description
getContractList
filterEntity
ResponseEnti
Receipt the the filter
ty
value and return list car
that bound inside
response entity
CRMS | Detailed Design
FPT University | School of Engineering
12.3.3 Screen Design
12.
12.3.4 Sequence Diagram
1.
12.4 UC-17-AddContract
CRMS | Detailed Design
FPT University | School of Engineering
12.4.1 Class Diagram
12.4.2 Class Description
12.4.2.1 Bill
Class
RentalContractDetail
Description
Define the attribute and method of contract
Base Class
Constructor
public RentalContractDetail()
Prototype
Model
Source File
Model/RentalContract.java
Namespace
CRMS:Model
Attributes
Name
Type
rentalContractId
int
Description
private
CRMS | Detailed Design
FPT University | School of Engineering
createAt
Date
status
String
user
User
startDate
Date
endDate
Date
bill
Bill
rentalCars
List
private
private
private
private
private
private
private
12.4.2.2 ContractAddController
1.
Class
ContractAddController
Description
Define method to handle with request from web page
Base Class
Constructor
Prototype
Source File
Controller/ContractController/ContractListController.java
Namespace
CRMS:Controller
Methods
Name
Input
Output
Description
doGet
req,res
void
receipt Http GET request
from bowser get filter
value send in URL and
call BO to get list catalog
car
CRMS | Detailed Design
FPT University | School of Engineering
doPost
req,res
void
handle Http POST
request. call doGest
12.4.2.3 ContractBOImpl
Class
ContractBOImpl
Description
Define method to sovle the business logic behind the user required as crud
Base Class
Constructor
public ContractBO();
Prototype
Source File
BO/ContractBO/Impl/ContractBOImpl.java
Namespace
CRMS:Controller
Methods
Name
Input
Output
Description
addContract
Contract
void
Receipt the the contract
info and execute
validate, add operation
12.4.2.4 ContractDAOImpl
Class
ContractDAOImpl
Description
Define method to prepare and execute sql statement
Base Class
Constructor
ContractDAO()
Prototype
Source File
DAO/ContractDAO/Impl/ContractDAOImpl.java
Namespace
CRMS:Controller
Methods
Name
Input
Output
Description
CRMS | Detailed Design
addContract
FPT University | School of Engineering
contract
void
Receipt contract info and
execute sql statement to
add it into database
2.
12.4.3 Screen design
3.
12.4.4 Sequence diagram
CRMS | Detailed Design
FPT University | School of Engineering
CRMS | Detailed Design
FPT University | School of Engineering
12.5 UC-17-UpdateContract
12.5.1 Class Diagram
12.5.2 Class Description
12.5.2.1 Bill
Class
RentalContractDetail
Description
Define the attribute and method of contract
Base Class
Constructor
public RentalContractDetail()
Prototype
Model
Source File
Model/RentalContract.java
Namespace
CRMS:Model
Attributes
Name
Type
Description
CRMS | Detailed Design
FPT University | School of Engineering
rentalContractId
int
createAt
Date
status
String
user
User
startDate
Date
endDate
Date
bill
Bill
rentalCars
List
private
private
private
private
private
private
private
private
12.5.2.2 ContractUpdateController
1.
Class
ContractAddController
Description
Define method to handle with request from web page
Base Class
Constructor
Prototype
Source File
Controller/ContractController/ContractListController.java
Namespace
CRMS:Controller
Methods
Name
Input
Output
Description
doGet
req,res
void
receipt Http GET request
from bowser get filter
value send in URL and
CRMS | Detailed Design
FPT University | School of Engineering
call BO to get list catalog
car
doPost
req,res
void
handle Http POST
request. call doGest
12.5.2.3 ContractBOImpl
Class
ContractBOImpl
Description
Define method to sovle the business logic behind the user required as crud
Base Class
Constructor
public ContractBO();
Prototype
Source File
BO/ContractBO/Impl/ContractBOImpl.java
Namespace
CRMS:Controller
Methods
Name
Input
Output
Description
updateContract
Contract
void
Receipt the the contract
info and execute
validate, add operation
12.5.2.4 ContractDAOImpl
Class
ContractDAOImpl
Description
Define method to prepare and execute sql statement
Base Class
Constructor
ContractDAO()
Prototype
Source File
DAO/ContractDAO/Impl/ContractDAOImpl.java
Namespace
CRMS:Controller
CRMS | Detailed Design
Methods
FPT University | School of Engineering
Name
Input
Output
Description
updateContract
contract
void
Receipt contract info and
execute sql statement to
add it into database
4.
12.5.3 Screen design
5.
12.5.4 Sequence diagram
CRMS | Detailed Design
FPT University | School of Engineering
CRMS | Detailed Design
FPT University | School of Engineering
12.6 UC-17-DeleteContract
12.6.1 Class Diagram
12.6.2 Class Description
12.6.2.1 ContractAddController
Class
ContractDeleteController
Description
Define method to handle with request from web page
Base Class
Constructor
Prototype
Source File
Controller/ContractController/ContractListController.java
Namespace
CRMS:Controller
CRMS | Detailed Design
Methods
FPT University | School of Engineering
Name
Input
Output
Description
doGet
req,res
void
do not thing
doPost
req,res
void
handle Http POST
request to receive
contract id
12.6.2.2 ContractBOImpl
Class
ContractBOImpl
Description
Define method to sovle the business logic behind the user required as crud
Base Class
Constructor
public ContractBO();
Prototype
Source File
BO/ContractBO/Impl/ContractBOImpl.java
Namespace
CRMS:Controller
Methods
Name
Input
Output
Description
deleteContract
contractId
void
Receipt the the contract
info and execute
validate, add operation
12.6.2.3 ContractDAOImpl
Class
ContractDAOImpl
Description
Define method to prepare and execute sql statement
Base Class
Constructor
ContractDAO()
Prototype
Source File
DAO/ContractDAO/Impl/ContractDAOImpl.java
CRMS | Detailed Design
FPT University | School of Engineering
Namespace
CRMS:Controller
Methods
Name
Input
Output
Description
deleteContract
contract_id
void
Receipt contract info and
execute sql statement to
add it into database
6.
12.6.3 Screen design
7.
12.6.4 Sequence diagram
CRMS | Detailed Design
FPT University | School of Engineering
CRMS | Detailed Design
FPT University | School of Engineering
1.1 UC 21- Bill Management
1.1.1
Class Diagram
1.1.2
Class Description
1.1.2.1 Bill
Class
Bill
Description
Define the attribute and method in bill object
Base Class
Constructor
public Bill()
Prototype
Model
Source File
Model/Bill.java
Namespace
CRMS:Model
CRMS | Detailed Design
Attributes
Methods
FPT University | School of Engineering
Name
Type
Description
id
int
private
totalAmount
Double
private
issueDate
Date
private
status
String
private
rentalContract
RentalContract
private
Name
Input
Output
Description
1.1.2.2 Rental Contract
Class
RentalContract
Description
Define the attribute and method in rental contract object
Base Class
Constructor
public RentalContract()
Prototype
Model
Source File
Model/RentalContract.java
Namespace
CRMS:Model
Attributes
Name
Type
Description
rentalContractId
int
private
createAt
Date
private
status
String
private
startDate
Date
private
endDate
Date
private
user
User
private
Name
Input
Output
Methods
Description
CRMS | Detailed Design
FPT University | School of Engineering
1.
1.1.2.3 BillListController
Class
BillListController
Description
Define method to handle with request from web page
Base Class
Constructor
Prototype
Source File
Controller/BillListController.java
Namespace
CRMS:Controller
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
doGet
req,res
void
receipt Http GET
request from
bowser get filter
value send in
URL and call
DAO
doPost
req,res
void
handle Http
POST requests.
call doGet
1.1.2.4 BillDAOImpl
Class
BillDAOImpl
CRMS | Detailed Design
Description
FPT University | School of Engineering
Define method to prepare and execute sql statement
Base Class
Constructor
BillDAO()
Prototype
Source File
DAO/BillDAOImpl.java
Namespace
CRMS:DAO
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
getBillList
filterEntity: FilterEntity
ResponseEntity
Receipt the
the filter
value and
return list
bill that
bound inside
response
entity
CRMS | Detailed Design
1.1.3
Screen Design
1.1.4
Sequence Diagram
FPT University | School of Engineering
CRMS | Detailed Design
FPT University | School of Engineering
1.2 UC 22- View Bill Detail
1.2.1
Class Diagram
1.2.2
Class Description
1.2.2.1 Bill
Class
Bill
Description
Define the attribute and method in bill object
Base Class
Constructor
public Bill()
Prototype
Model
Source File
Model/Bill.java
Namespace
CRMS:Model
CRMS | Detailed Design
Attributes
Methods
FPT University | School of Engineering
Name
Type
Description
id
int
private
totalAmount
Double
private
issueDate
Date
private
status
String
private
rentalContract
RentalContract
private
Name
Input
Output
Description
1.2.2.2 Rental Contract
Class
RentalContract
Description
Define the attribute and method in rental contract object
Base Class
Constructor
public RentalContract()
Prototype
Model
Source File
Model/RentalContract.java
Namespace
CRMS:Model
Attributes
Name
Type
Description
rentalContractId
int
private
createAt
Date
private
status
String
private
startDate
Date
private
endDate
Date
private
user
User
private
Name
Input
Output
Methods
Description
CRMS | Detailed Design
FPT University | School of Engineering
2.
1.2.2.3 BillDetailController
Class
BillDetailController
Description
Define method to handle with request from web page
Base Class
Constructor
Prototype
Source File
Controller/BillDetailController.java
Namespace
CRMS:Controller
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
doGet
req,res
void
receipt Http GET
request from
bowser get filter
value send in
URL and call
DAO
doPost
req,res
void
handle Http
POST requests.
call doGet
1.2.2.4 BillDAOImpl
Class
BillDAOImpl
CRMS | Detailed Design
Description
FPT University | School of Engineering
Define method to prepare and execute sql statement
Base Class
Constructor
BillDAO()
Prototype
Source File
DAO/BillDAOImpl.java
Namespace
CRMS:DAO
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
getBillById
billId: int
void
get bill id
and return
bill
information
detail.
CRMS | Detailed Design
1.2.3
Screen Design
1.2.4
Sequence Diagram
FPT University | School of Engineering
CRMS | Detailed Design
FPT University | School of Engineering
1.3 UC 23- List Bill History
1.3.1
Class Diagram
1.3.2
Class Description
1.3.2.1 Bill
Class
Bill
Description
Define the attribute and method in bill object
Base Class
Constructor
public Bill()
Prototype
Model
Source File
Model/Bill.java
CRMS | Detailed Design
FPT University | School of Engineering
Namespace
CRMS:Model
Attributes
Name
Type
Description
id
int
private
totalAmount
Double
private
issueDate
Date
private
status
String
private
rentalContract
RentalContract
private
Name
Input
Output
Methods
1.3.2.2 Rental Contract
Class
RentalContract
Description
Define the attribute and method in rental contract object
Base Class
Constructor
public RentalContract()
Prototype
Model
Source File
Model/RentalContract.java
Namespace
CRMS:Model
Attributes
Name
Type
Description
rentalContractId
int
private
createAt
Date
private
status
String
private
startDate
Date
private
endDate
Date
private
user
User
private
Description
CRMS | Detailed Design
Methods
FPT University | School of Engineering
Name
Input
Output
Description
3.
1.3.2.3 BillHistoryController
Class
BillHistoryController
Description
Define method to handle with request from web page
Base Class
Constructor
Prototype
Source File
Controller/BillHistoryController.java
Namespace
CRMS:Controller
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
doGet
req,res
void
receipt Http GET
request from
bowser get filter
value send in
URL and call
DAO
doPost
req,res
void
handle Http
POST requests.
call doGet
CRMS | Detailed Design
FPT University | School of Engineering
1.3.2.4 BillDAOImpl
Class
BillDAOImpl
Description
Define method to prepare and execute sql statement
Base Class
Constructor
BillDAO()
Prototype
Source File
DAO/BillDAOImpl.java
Namespace
CRMS:DAO
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
getBillList
filterEntity: FilterEntity
ResponseEntity
Receipt the
the filter
value and
return list
bill that
bound inside
response
entity
getBillById
billId: int
void
get bill id
and return
bill
information
detail.
CRMS | Detailed Design
1.3.3
Screen Design
1.3.4
Sequence Diagram
FPT University | School of Engineering
CRMS | Detailed Design
FPT University | School of Engineering
1.4 UC 24- Update Bill
1.4.1
Class Diagram
1.4.2
Class Description
1.4.2.1 Bill
Class
Bill
Description
Define the attribute and method in bill object
Base Class
Constructor
public Bill()
Prototype
Model
Source File
Model/Bill.java
Namespace
CRMS:Model
CRMS | Detailed Design
Attributes
Methods
FPT University | School of Engineering
Name
Type
Description
id
int
private
totalAmount
Double
private
issueDate
Date
private
status
String
private
rentalContract
RentalContract
private
Name
Input
Output
Description
1.4.2.2 Rental Contract
Class
RentalContract
Description
Define the attribute and method in rental contract object
Base Class
Constructor
public RentalContract()
Prototype
Model
Source File
Model/RentalContract.java
Namespace
CRMS:Model
Attributes
Name
Type
Description
rentalContractId
int
private
createAt
Date
private
status
String
private
startDate
Date
private
endDate
Date
private
user
User
private
Name
Input
Output
Methods
Description
CRMS | Detailed Design
FPT University | School of Engineering
4.
1.4.2.3 UpdateBillController
Class
UpdateBillController
Description
Define method to handle with request from web page
Base Class
Constructor
Prototype
Source File
Controller/UpdateBillController.java
Namespace
CRMS:Controller
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
doGet
req,res
void
receipt Http GET
request from
bowser get filter
value send in
URL and call
DAO
doPost
req,res
void
handle Http
POST requests.
call doGet
1.4.2.4 BillDAOImpl
Class
BillDAOImpl
CRMS | Detailed Design
Description
FPT University | School of Engineering
Define method to prepare and execute sql statement
Base Class
Constructor
BillDAO()
Prototype
Source File
DAO/BillDAOImpl.java
Namespace
CRMS:DAO
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
updateBill
bill: Bill
void
Use to
update bill
information
in database
CRMS | Detailed Design
1.4.3
Screen Design
1.4.4
Sequence Diagram
FPT University | School of Engineering
CRMS | Detailed Design
FPT University | School of Engineering
1.5 UC 25- Delete Bill
1.5.1
Class Diagram
1.5.2
Class Description
1.5.2.1 Bill
Class
Bill
Description
Define the attribute and method in bill object
Base Class
Constructor
public Bill()
Prototype
Model
Source File
Model/Bill.java
CRMS | Detailed Design
FPT University | School of Engineering
Namespace
CRMS:Model
Attributes
Name
Type
Description
id
int
private
totalAmount
Double
private
issueDate
Date
private
status
String
private
rentalContract
RentalContract
private
Name
Input
Output
Methods
1.5.2.2 Rental Contract
Class
RentalContract
Description
Define the attribute and method in rental contract object
Base Class
Constructor
public RentalContract()
Prototype
Model
Source File
Model/RentalContract.java
Namespace
CRMS:Model
Attributes
Name
Type
Description
rentalContractId
int
private
createAt
Date
private
status
String
private
startDate
Date
private
endDate
Date
private
user
User
private
Description
CRMS | Detailed Design
Methods
FPT University | School of Engineering
Name
Input
Output
Description
5.
1.5.2.3 DeleteBillController
Class
DeleteBillController
Description
Define method to handle with request from web page
Base Class
Constructor
Prototype
Source File
Controller/DeleteBillController.java
Namespace
CRMS:Controller
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
doGet
req,res
void
receipt Http GET
request from
bowser get filter
value send in
URL and call
DAO
doPost
req,res
void
handle Http
POST requests.
call doGet
CRMS | Detailed Design
FPT University | School of Engineering
1.5.2.4 BillDAOImpl
Class
BillDAOImpl
Description
Define method to prepare and execute sql statement
Base Class
Constructor
BillDAO()
Prototype
Source File
DAO/BillDAOImpl.java
Namespace
CRMS:DAO
Attributes
Name
Type
Description
Methods
Name
Input
Output
Description
deleteBill
billId: int
void
Use to delete
bill get away
of database
CRMS | Detailed Design
1.5.3
Screen Design
1.5.4
Sequence Diagram
FPT University | School of Engineering
CRMS | Detailed Design
FPT University | School of Engineering
13 DATABASE DESIGN
13.1 Database Diagram
13.2 Table Descriptions
13.2.1 Table User
No.
1
Attribute
Type
Constraints
primary key
id
int
2
full_name
nvarchar(50) Not null
3
dob
date
4
address
nvarchar(100) not null
5
phone_number
varchar(10)
not null
6
email
varchar(50)
not null, unique
7
password
varchar(50)
not null
not null
Description
CRMS | Detailed Design
8
role
FPT University | School of Engineering
varchar(20)
not null
13.2.2 Table car
No.
1
Attribute
Type
Constraints
Description
Primary key
car_id
int
2
lisence_plate
varchar(10)
not null, unique
3
car_type
varchar(50)
not null
4
car_color
varchar(50)
not null
5
car_brand
varchar(50)
not null
6
seating_capacity
int
>0
7
rental_rate
double
>0
rental fee per hour
13.2.3 Table rental contract
No.
1
Attribute
Type
Constraints
Description
primary key
rental_contract_id
int
2
create_at
date
not null
3
start_date
date
not null
4
end_date
date
not null
5
status
varchar(20)
not null
6
user_id
int
foreign key to user
13.2.4 Table bill
No.
1
Attribute
Type
Constraints
Description
primary key
bill_id
int
2
issue_date
date
not null
5
status
varchar(20)
not null
6
rental_contract_id
int
foreign key
reference to rental contract
13.2.5 Table rental detail
No.
Attribute
Type
Constraints
Description
CRMS | Detailed Design
1
FPT University | School of Engineering
primary key
renta_id
int
2
unit_price
double
not null
rented car price
3
rental_contract_id
int
foreign key
reference to rental contract
4
car_id
int
foreign key
reference to car
13.2.6 Table FeeRecord
No.
1
Attribute
Type
Constraints
primary key
fee_id
int
2
fee_date
date
not null
3
fee_type
varchar(50)
note null
5
status
varchar(20)
not null
5
amount
double
>0
6
rental_id
int
foreign key
8.
Description
reference to rental contract
Download