a. Xây dựng các bảng dữ liệu (Khóa chính được thể hiện bằng gạch dưới)
Tên bảng Các trường Kiểu dữ liệu Null Mô tả các trường Chú thích
UserInfo
Email Nvarchar(50) Email
Mô tả các thông tin của người dùng.
Type = 1(user), Type = 2(Admin) Password Nvarchar(50) Mật khẩu
Firstname Nvarchar(50) Tên Lastname Nvarchar(50) Họ Gentle Nvarchar(10) x Giới tính Birthday Datetime x Ngày sinh nhật Address Nvarchar(50) x Địa chỉ
Phone Nvarchar(20) x Số điện thoại
Type Int Chức vụ trong website
Report
EmailReport Nvarchar(50) Email gởi phản hồi
Phản hồi khi có bài viết xấu Target Nvarchar(50) Email bị phản hồi
Reason Ntext Lý do phản hồi
Approve Int x Xác nhận xử lý
NoteCode Nvarchar(50) Bài viết bị phản hồi
Tour
TourCode Int Mã dịch vụ
Lưu các thông tin về dịch vụ của nhóm
GrCode Int Mã nhóm chứa dịch vụ
Title Nvarchar(50) Tiêu đề
tDescription Ntext Mô tả
tSchedule Ntext Lịch trình
tPrice Money x Giá
tFrom Date x Ngày bắt đầu đăng kí
tTo Date x Ngày kết thúc đăng kí
Lê Đình Thọ | Trang 19
tSlot Int x Số lƣợng đƣợc phép đặt
FGroup
GrCode Int Mã nhóm
Lưu thông tin nhóm
Name Nvarchar(50) Tên nhóm
Slogan Ntext x Tiêu chí nhóm
GrRule Ntext x Luật nhóm đặt ra
Type Int x Trình trạng nhóm
(1: không khóa, 2: khóa)
Job Int
Thể loại dịch vụ (1: Travel
2 : Diner & restaurant 3: Hotel & motel )
NoteGroup
GrCode Int Mã nhóm chứa bài đăng Lưu liên kết
những bài đăng có trong nhóm
NoteCode Int Mã bài đăng
Email Nvarchar(50) Email của người dùng đăng bài đăng
NotePost
NoteCode int Mã bài đăng
Lưu thông tin của bài đăng NoteTitle Nvarchar(50) Tiều đề
NoteContent Ntext Nội dung
NoteEmail Nvarchar(50) Email người đăng Like
Manageme nt
NoteCode Int Mã bài đăng được like Lưu thông
tin người like Email Nvarchar(50) Email thích bài đăng
BookTour
BookCode Int Mã đặt dịch vụ
Lưu thông tin đặt dịch vụ từ người dùng (khách hàng)
TourCode Int Mã dịch vụ
Email Nvarchar(50) Email người đặt dịch vụ
Slot Int Số lƣợng đặt
CheckTour Int x Xử lý (0: chƣa xử lý, 1:
Chấp nhận, 2: Từ chối)
Lê Đình Thọ | Trang 20
GroupUser
Email Nvarchar(50) Email người dùng trong
nhóm Lưu thông
tin của người dùng trong một nhóm
GrCode Int Mã nhóm
Type Int Chức vụ người dùng
(0: User, 1: Admin)
Block Boolean Tình trạng người dùng
(0: bình thường, 1: khóa)
Comment
CmCode Int Mã bình luận Lưu các
bình luận trong các bài viết
NoteCode Int Mã bài đã bình luận
Email Nvarchar(50) Email người bình luận
CmContent Ntext Nội dung bình luận
FMessage
EmailRevice Nvarchar(50) Email người nhận
Lưu tin nhắn giữa 2 người dùng EmaiSend Nvarchar(50) Email người gởi
MContent Ntext Nội dung tin nhắn
CheckMess Bit x Kiểm tra tin nhắn đã đọc
Friend
FriendId Nvarchar(50) Email bạn người dùng
Lưu thông tin bạn bè giữa 2 người dùng UserId Nvarchar(50) Email người dùng
Block Bloolean x
Trình trạng bạn bè (0: bình thường
1: Người dùng khóa bạn) Like
Comment
CMCode Int Mã bình luận Người dùng
thích bình luận Email Nvarchar(50) Email của người thích
bình luận
Feedback
FeedCode Int Mã phản hồi Gởi phản
hồi về website đến admin Email Nvarchar(50) Email người phản hồi
FbContent ntext Nội dung phản hồi
Bảng 1: Xây dựng các bảng dữ liệu
Lê Đình Thọ | Trang 21
b. Sơ đồ thực thể quan hệ
o Kết bạn giữa 2 người dùng
Một người có thể có nhiều bạn và có thể là bạn của nhiều người Friend(FriendID) là khóa ngoại tham chiếu đến UserInfor(Email)
Friend(UserId) là khóa ngoại tham chiếu đến tham chiếu UserInfor(Email)
Hình 1: Sơ đồ quan hệ giữa 2 bảng Friend và UserInfor
o Người dùng gởi yêu cầu về website cho admin
Người dùng có thể gởi nhiều yêu, 1 yêu cầu được tạo ra gởi 1 người dùng Feedback(Email) là khóa ngoại tham chiếu đến UserInfo(Email)
Hình 2: Sơ đồ quan hệ giữa 2 bảng UserInfor và FeedBack
o Người dùng gởi phản hồi về bài viết xấu
Một người dùng có thể gởi nhiều report phản ánh cho admin và cũng có thể bị nhiều report từ người dùng khác.
Report(Email) là khóa ngoại tham chiếu đến UserInfor(Email)
Lê Đình Thọ | Trang 22 Hình 3: Sơ đồ quan hệ giữa 2 bảng Report và UserInfor
o Người dùng gởi tin nhắn cho nhau
Một người có thể gởi và nhận nhiều tin nhắn đến người dùng khác
FMessage(EmailReceive) là khóa ngoại tham chiếu đến UserInfor(Email) Fmessage(EmailSend) là khóa ngoại tham chiếu đến UserInfor(Email)
Hình 4: Sơ đồ quan hệ giữa 2 bảng FMessage và UserInfor
o Người dùng thích comment của người dùng khác
Người dùng có thể thích nhiều bình luận và được nhiều người thích bình luận mà mình đã đăng.
LikeComment(CmCode) là khóa ngoại tham chiếu đến Comment(CmCode) LikeComment(Email) là khóa ngoại tham chiếu đến UserInfo(Email)
Hình 5: Sơ đồ quan hệ giữa 2 bảng UserInfor và Comment
o Tất cả bình luận của một bài viết Một bài viết có thể có nhiều bình luận
Comment(NoteCode) là khóa ngoại tham chiếu đến NotePost(NoteCode)
Lê Đình Thọ | Trang 23 Hình 6: Sơ đồ quan hệ giữa 2 bảng NotePost và Comment
o Tất cả bài viết của một nhóm
Một nhóm có thể có nhiều bài viết, và đƣợc liên kết từ bản NoteGroup.
NoteGroup(GrCode) là khóa ngoại tham chiếu đến Fgroup(GrCode) NoteGroup(NoteCode) là khóa ngoại tham chiếu đến NotePost(NoteCode)
Hình 7: Sơ đồ quan hệ giữa 2 bảng FGroup và NotePost
o Người dùng thích các bài viết, và tất cả các người dùng đã thích bài viết
Người dùng có thể thích nhiều bài viết, một bài viết có thể được nhiều người dùng thích.
LikeMangement(NoteCode) là khóa ngoại tham chiếu đến NotePost(NoteCode) LikeMangement(Email) là khóa ngoại tham chiếu đến UserInfor(Email)
Hình 8: Sơ đồ quan hệ giữa các bảng UserInfor, LikeManagerment và NotePost
o Các dịch vụ trong Nhóm
Một nhóm có thể có nhiều dịch vụ, 1 dịch vụ chỉ có thể ở 1 nhóm Tour(GrCode) là khóa ngoại tham chiếu đến Fgroup(GrCode)
Lê Đình Thọ | Trang 24 Hình 9: Sơ đồ quan hệ giữa 2 bảng Tour và FGroup
o Người dùng đặt dịch vụ
Người dùng có thể đặt nhiều dịch vụ.
BookTour(TourCode) là khóa ngoại tham chiếu đến Tour(TourCode) BookTour(Email) là khóa ngoại tham chiếu đến GroupUser(Email)
Hình 10: Sơ đồ quan hệ giữa các bảng Tour, BookToour và GroupUser
Lê Đình Thọ | Trang 25
o Thành viên trong Nhóm
Một nhóm có thể có nhiều người dùng, người dùng có thể vào nhiều nhóm GroupUser(Email) là khóa ngoại tham chiếu đến UserInfor(Email)
GroupUser(GrCode) là khóa ngoại tham chiếu đến Fgroup(GrCode)
Hình 11: Sơ đồ quan hệ giữa 2 bảng FGroup và UserInfor
c. Sơ quan hệ cơ sở dữ liệu tổng quá (Database Diagrams)
Hình 12: Sơ đồ quan hệ cơ sở dữ liệu
Lê Đình Thọ | Trang 26
4. Phân tích các chức năng của chương trình A. Sơ đồ Usercase
Hình 13: Sơ đồ UserCase của Actor Admin
Hình 14: Sơ đồ UserCase của Actor User
Lê Đình Thọ | Trang 27
B. Mô tả Actors
# Tên Actor Định nghĩa
1 Admin Sử dụng tất cả các chức năng trong và quản lý trong website
2 User Sử dụng các chức năng của người dùng
Bảng 2: Mô tả các Actors
C. Danh sách các Use case
# Code Tên use case Mô tả tổng quát
1 UC01 Login Đăng nhập
2 UC02 Logout Đăng xuất
3 UC03 Confirm Report Xác nhận đã xử lý Report
4 UC04 Delete Report Xóa report
5 UC05 Lock User Khóa người dùng vi phạm
6 UC06 Upgrade User Cập nhập người dùng lên quyền admin
7 UC07 Create Note Tạo bài viết
8 UC08 Delete Note Xóa bài viết
9 UC09 Lock Group Khóa nhóm bởi admin
10 UC10 Delete Group Xóa nhóm bởi admin
11 UC11 Sign Up Đăng kí
12 UC12 Chat Friend Chat với bạn bè
13 UC13 Add Friend Thêm bạn
14 UC14 Remove Friend Xóa bạn
Lê Đình Thọ | Trang 28
15 UC15 Feedback Gởi phản hồi về website
16 UC16 Report Gởi phản hồi về bài đăng vi phạm
17 UC17 Show Message Hiển thị tin nhắn từ bạn bè 18 UC18 Setting Profile Sửa đổi thông tin người dùng
19 UC19 Upload Bài viết Viết bài viết mới
20 UC20 Delete Bài viết Xóa bài viết
21 UC21 Like Thích bài viết hoặc comment
22 UC22 Comment Bình luận về bài viết đang đọc
23 UC23 Filter Phân chia tìm kiếm các nhóm
24 UC24 Create Group Tạo nhóm mới
25 UC25 Join Group Gia nhập vào nhóm
26 UC26 Lock Group Khóa nhóm (admin của nhóm)
27 UC27 Leave Group Rời khỏi nhóm
28 UC28 Manager Book Service Phản hồi cho khách (admin của nhóm) 29 UC29 Delete Group Xóa nhóm(admin của nhóm) 30 UC30 Upload Note Tạo bài viết mới trong group 32 UC33 Upload Service Đăng dịch vụ(admin của nhóm) 33 UC34 Book Service Đặt dịch vụ trong nhóm 34 UC35 View Full Service Chi tiết và đặt dịch vụ 35 UC36 View Full Note Chi tiết của bài viết
Bảng 3: Mô tả các Use Case
Lê Đình Thọ | Trang 29
5. Hoàn thiện các chức năng và giao diện 2.1. Login
Hình 15: Chức năng login
Màn hình Login
Mô tả Người dùng đăng nhập tài khoản
Màn hình Truy xuất Màn hình login
Màn hình Actions
Tên Action Mô tả Thành công Thất bại
Login button Đăng nhập và tài khoản Vào trang chủ Trở về trang đăng nhập Email Text Người dùng nhập tài
khoản email đã đăng kí.
Password Người dùng nhập mật khẩu đã đăng kí
2.2. Log out
Hình 16: Chức năng đăng xuất
Lê Đình Thọ | Trang 30
Màn hình Logout
Mô tả User đăng xuất tài khoản
Màn hình Truy xuất User nhấn nút Logout Màn hình Actions
Tên Action Mô tả Thành công Thất bại
Logout button Đăng xuất tài khoản Trở về trang đăng nhập
2.3. Confirm report
Hình 17: Chức năng xác nhận “phản hồi bài viết xấu”
Màn hình Confirm Report
Mô tả Xử lý các report nhận đƣợc từ users
Màn hình Truy xuất Để xóa report, Administrator nhấn hình Thùng rác và nhấn nút submit Màn hình Actions
Tên Action Mô tả Thành công Thất bại
Submit Button Xác nhận Confirm Confirm
Cancel Button Hủy Confirm Đóng
2.4. Delete report (Admin)
Lê Đình Thọ | Trang 31 Hình 18: Chức năng xóa "phản hồi bài viết xấu"
Màn hình Report Management
Mô tả Show up report list received from users Màn hình
Truy xuất
Administrator nhấn nút radio button in the delete column to delete report
Màn hình Actions
Tên Action Mô tả Thành công Thất bại
Delete Button Yêu cầu xóa Report
Hiện ra dialog xóa hỏi có xóa Report không Submit Button Xóa Report Xóa Report đƣợc chọn
Cancel Button Hủy thao tác Đóng
2.5. Lock User
Hình 19: Chức năng khóa người dùng
Lê Đình Thọ | Trang 32
Màn hình User Management
Mô tả Khóa tài khoản User vi phạm
Màn hình Truy xuất Administrator nhấn nút Khóa để khóa user Màn hình Actions
Tên Action Mô tả Thành công Thất bại
Nút Block Yêu cầu khóa tài khoản User Hiện dialog xác thực khóa tài khoản
Nút Submit Khóa tài khoản Khóa tài khoản
Nút Cancel Hủy yêu cầu Đóng
2.6. Upgrade User
Hình 20: Chức năng cập nhập người dùng thành Admin
Màn hình Upgrade User
Mô tả Upgrade user thành Admin, Mod, Super-Mod,…
Màn hình Truy xuất Administrator nhấn nút Upgrade -> Selected Role -> Submit
Lê Đình Thọ | Trang 33
Màn hình Actions
Tên Action Mô tả Thành công Thất bại
Sprinner Yêu cầu update tài khoản Hiện dialog xác thực Nút Submit Update tài khoản thành admin Upgrade
Nút Cancel Hủy yêu cầu Đóng
2.7. Delete Bài viết(Admin)
Hình 21: Chức năng xóa bài viết
Màn hình Quản lý bài viết
Mô tả Hiển thị danh sách các Bài viết, Admintrator có thể xem nội dung hoặc xóa bài báo
Màn hình Truy xuất Admintrator nhấn vào menu ManagerNote -> DeleteNote Màn hình Content
Item Type Dữ liệu Mô tả
Delete Button Hiển thị nút thùng rác trong manager bài viết Màn hình Actions
Tên Action Mô tả Thành công Thất bại
Nút Delete Yêu cầu xóa Bài viết Hiện dialog xác thực Nút Submit Xóa Bài viết đƣợc chọn Xóa
Lê Đình Thọ | Trang 34
Nút Cancel Hủy yêu cầu Đóng
2.8. LockGroup (admin)
Hình 22: Chức năng khóa nhóm (Admin)
Màn hình Khóa nhóm từ admin nhóm
Mô tả Khóa nhóm
Màn hình Truy xuất Người dùng vào chính của nhóm, Setting -> Lock group Màn hình Content
Item Type Dữ liệu Mô tả
LockGroup List item Hiện LockGroup trong Setting Màn hình Actions
Tên Action Mô tả Thành công Thất bại
LockGroup Yêu cầu khóa nhóm Hiện “Sorry, group was locked” trong trang chủ của nhóm.
Hiện nút UnlockGroup nếu admin nhóm .
Hiện thông báo lỗi
Lê Đình Thọ | Trang 35
2.9. Delete Group (Admin)
Hình 23: Chức năng xóa nhóm(Admin)
Màn hình Xóa nhóm từ Admin nhóm
Mô tả
Màn hình Truy xuất Người dùng vào chính của nhóm, Setting -> Delete group Màn hình Content
Item Type Dữ liệu Mô tả
DeleteGroup List item Hiện DeleteGroup trong Setting
Màn hình Actions
Tên Action Mô tả Thành công Thất bại
DeleteGroup Yêu cầu xóa nhóm Trở về chủ Hiện thông báo
lỗi
Lê Đình Thọ | Trang 36
2.10. Sign Up
Hình 24: Chức năng đăng kí
Màn hình Login
Mô tả Tạo tài khoản mới.
Màn hình Truy xuất Người dùng vào trang login Màn hình Content
Item Type Dữ liệu Mô tả
First name Text - Nhập tên
Last name Text - Nhập họ
Email Text - Nhập email
Password Password - Nhập password
Lê Đình Thọ | Trang 37
Re-Password Password - Xác nhận password
Sign up Submit button - Đồng ý tạo tài khoản
Màn hình Actions
Tên Action Mô tả Thành công Thất bại
SignUp Kiểm tra tài khoản, thêm vào Dữ liệubasse.
Hiện thông báo
“Register accepted”
trong Message Area.
Hiện thông báo lỗi với những cụm nhập sai
2.11. Add Friend
Hình 25: Chức năng thêm bạn
Màn hình Guest’ s Home page
Mô tả Kết bạn
Màn hình Truy xuất Người dùng kích nút Add Friend trong Guest’s Home page Màn hình Content
Lê Đình Thọ | Trang 38
Item Type Dữ liệu Mô tả
Add Friend Button
Màn hình Actions
Tên Action Mô tả Thành công Thất bại
Add Friend Hiện danh sách
vào friend list
2.12. Remove Friend
Hình 26: Chức năng xóa bạn
Màn hình Friend list – Remove Friend
Mô tả Xóa friend khỏi danh sách của người dùng Màn hình Truy
xuất
Người dùng kích nút Remove Friend trong Guest’s Home page
Màn hình Actions
Tên Action Mô tả Thành công Thất bại
Yes Đồng ý xóa Guest’s Home page. Xóa
friend, không còn trong danh sách bạn
No Không đồng ý xóa Trở về Guest’s Home page.
Lê Đình Thọ | Trang 39
2.13. Feedback
Hình 27: Chức năng gởi góp ý về website
Màn hình Feedback
Mô tả Góp ý của người dùng về website Màn hình Truy xuất Người dùng kích nút Feedback
Màn hình Content
Item Type Dữ liệu Mô tả
Comment Textbox Mô tả feedback
Submit Button Gởi feedback
Cancel Button Xóa feedback
Màn hình Actions
Tên Action Mô tả Thành công Thất bại
Submit Gởi feedback tới Admintrator Thông báo
“Feedback sent”
Cancel Xóa feedback Trở về Home
page
Lê Đình Thọ | Trang 40
2.14. Report
Hình 28: Chức năng phản hồi bài viết xấu
Màn hình
Mô tả Người dùng gởi Report cho admin về nhuwgnx bài viết vi phạm Màn hình Truy xuất Nhấn nút Report bên cạnh bài Bài viết
Màn hình Content
Item Type Dữ liệu Mô tả
Reasons Text Arena Lý do report
Submit Button Gởi report
Cancel Button Hủy gởi report
Màn hình Actions
Tên Action Mô tả Thành công Thất bại
Submit Gởi report tới cho admin Gởi report
Lê Đình Thọ | Trang 41
Cancel Hủy gởi Về lại mainpage
2.15. Delete Bài viết
Hình 29: Chức năng xóa bài viết
Màn hình User Interface
Mô tả Xóa bài hát từ User Profile
Màn hình Truy xuất Nút Delete bài hát trong playlist bài hát Màn hình Content
Item Type Dữ liệu Mô tả
Cross button button - Xóa bài viết
Màn hình Actions
Tên Action Mô tả Thành công Thất bại
Sure Chấp nhận xóa Bài viết Bài viết bị xóa.
Cancel Exit – hủy yêu cầu xóa bài viết. Về trang hiện hành
Lê Đình Thọ | Trang 42
2.16. Like
Hình 30: Chức năng thich bài viết
Màn hình Note post
Mô tả Thích bài đăng
Màn hình Truy xuất Trong giap diện bài đặt, nhấn nút like Màn hình Content
Item Type Dữ liệu Mô tả
Image Avata của người post
Bài viết
“thole has post” Label Thông báo
“100 Likes” Label Số lƣợng like bài hát
“300 Comments”
Label Số lƣợng comment bài
hát
Bài viết Title Label Link đọc bài viết đầy đủ
Like Button Like bài viết
Comment Button Bình luận về bài viết
Màn hình Actions
Tên Action Mô tả Thành công Thất bại
Like Thích bài viết đang đọc Tăng lƣợt like của bài viết
Lê Đình Thọ | Trang 43
2.17. Comment
Hình 31: Chức năng bình luận bài viết
Màn hình Note post - comment
Mô tả BÌnh luận về bài viết đƣợc đăng
Màn hình Truy xuất Trong giao diện danh sách bài viết, nhấn nút comment Màn hình Content
Item Type Dữ liệu Mô tả
Image Avata của người đã
comment về bài viết
“Tho lee” Label Tên của người comment
“blah blah blah” Label Nội dung comment
Textbox Textbox Nhập nội dung
comment
Comment Button Gởi comment
Màn hình Actions
Tên Action Mô tả Thành công Thất bại
Comment Comment bài viết đang đọc
Tăng chỉ số comment và hiển thị commnet
mới nhập vào.
Lê Đình Thọ | Trang 44
2.18. Filter
Hình 32: Chức năng lọc nhóm
Màn hình Main page – filter interface
Mô tả Lọc và tìm kiếm những Group theo loại Màn hình Truy xuất Người dùng kích vào filter trong trang chủ
Màn hình Actions
Tên Action Mô tả Thành công Thất bại
Filter Lọc ra những group theo loại
Hiên rthij các group đƣợc lọc
Lê Đình Thọ | Trang 45
2.19. Create Group
Hình 33: Chức năng tạo nhóm mới
Màn hình Create group form
Mô tả Tạo Group
Màn hình Truy xuất
Kick nút “Create Group” ở navication bẩ hoặc ở trong setting của group
Màn hình Content
Item Type Dữ liệu Mô tả
Name Textbox Nhập tên của Group
Type of group Dropdown list
“Hotel & motel”
“Travel”
“Restauran & diner”
Chọn loại group
Rule Textbox Luật trong group
Slogan Textbox Slogan trong của group
Submit Button Tạo group