Professional Documents
Culture Documents
--------------------------------------
Đề tài: “Sử dụng Enterprise Architect để phân tích thiết kế website bán và
Hà Nội, 04 / 2012
MỤC LỤC
1. Giới thiệu........................................................................................................................................... 5
5. Các yêu cầu đặt ra đối với hệ thống tương lai .................................................................................. 7
a. Biểu đồ giao tiếp thể hiện một số chức năng của Guest ............................................................ 64
b. Biểu đồ giao tiếp thể hiện một số chức năng của User .............................................................. 66
c. Biểu đồ giao tiếp thể hiện một số chức năng của Admin ........................................................... 69
d. Biểu đồ giao tiếp thể hiện một số chức năng của SalePerson .................................................... 73
1. Thiết kế cơ sở dữ liệu...................................................................................................................... 78
Ngày nay, công nghệ thông tin đã trở thành một phần không thể thiếu trong bất cứ lĩnh vực nào
của đời sống. Với việc ứng dụng các công nghệ trong quản lý, công việc của con người trở nên
hiệu quả và năng suất hơn.
Với mục đích học tập tốt môn Phân tích thiết kế hệ thống thông tin, và bước đầu tiếp cận với 1
quy trình thực tế về công nghệ thông tin, chúng em xin được tiến hành đề tài Sử dụng Enterprise
Architecture để phân tích thiết kế website giới thiệu và bán băng đĩa nhạc.
Trong quá trình thực hiện phân tích thiết kế hệ thống, do đây là lần đầu tiên chúng em thực hiện
xây dựng hệ thống nên chắc hẳn sẽ không tránh khỏi những sai sót. Chúng em rất mong được các
thầy cô tham khảo và góp ý để hệ thống của chúng em ngày càng hoàn thiện hơn.
Để hoàn thành được tài liệu này, nhóm chúng em xin được gửi lời cảm ơn chân thành đến:
Thạc sĩ Nguyễn Hồng Phương - giảng viên bộ môn HTTT, Viện Công
nghệ thông tin và truyền thông, trường đại học BKHN.
Các bạn sinh viên cùng học tập.
đã hết lòng giúp đỡ, hướng dẫn và góp ý để bọn em có thể hoàn thiện được bài tập lớn của mình.
Nhóm 3
I. NGHIÊN CỨU SƠ BỘ
1. Giới thiệu
Thời đại hội nhập, kinh tế phát triển đã khiến con người chịu nhiều sức ép về công việc,
do đó nhu cầu giải trí để giảm thiểu stress là rất lớn. Có nhiều hình thức giải trí khác
nhau, và nghe nhạc là một hình thức được nhiều người lựa chọn. Sưu tập những album
nhạc ưa thích cùng với hình của các ca sĩ thần tượng và lời bài hát là sở thích của nhiều
người.
Trước đây, khách hàng nếu muốn mua được đĩa nhạc thì phải đi đến các cửa hàng bán đĩa
tìm kiếm và nghe thử phần đầu của 1 bài hát nào đó trong album trước khi quyết định
mua. Với những đĩa nhạc đã ra đời từ lâu thì việc tìm kiếm được không phải là dễ dàng,
thậm chí khách hàng phải đi đến rất nhiều cửa hàng khác nhau để tìm. Nghe thử đoạn đầu
của một bài hát cũng là một công việc khá tốn thời gian, khi mà cửa hàng đông khách, thì
việc chờ đợi đến lượt được mở thử đĩa cũng khá phiền toái. Nếu khách hàng sau khi nghe
xong đoạn đầu lại cảm thấy không thích, và muốn lựa chọn một album khác, thì quả thực,
thời gian bỏ ra để lựa chọn được một album yêu thích của mình sẽ là một vấn đề lớn, nhất
là khi cuộc sống ngày càng bận rộn. Với những người yêu thích nhạc, thì việc nhanh
chóng sở hữu một album mới phát hành cũng là một nhu cầu. Và để biết được thông tin
chính xác khi nào thì đĩa nhạc đó mới phát hành, có những đĩa nhạc nào mới phát hành
thời điểm này.....không còn cách nào khác là phải liên lạc trực tiếp cửa hàng .
Câu hỏi đặt ra là tại sao lại không xây dựng một website bán và giới thiệu băng đĩa nhạc
để khắc phục những điểm yếu trên. Tiết kiệm thời gian, và phục vụ tốt nhất những nhu
cầu của khách hàng là những ưu điểm không thể chối bỏ của website trực tuyến.
2. Tóm tắt dự án
_Tên dự án: Xây dựng website bán và giới thiệu băng đĩa nhạc.
Xem thông tin về album, tìm kiếm album mà mình yêu thích.
Đặt mua hàng trực tuyến (thanh toán qua ngân hàng hoặc giao hàng trực
tiếp.
Khách hàng có thể đăng nhập / không cần đăng nhập khi thực hiện chức
năng mua hàng.
Khách hàng có thể theo dõi các sản phẩm mà mình đã xem hoặc đã mua
(xem giỏ hàng).
Khách hàng có thể đăng kí nhận tin về các sản phẩm sắp ra, các đợt
khuyến mãi qua email.
Tạo ra kênh thông tin để quảng cáo và giới thiệu sản phẩm.
Quản lý số lượng đĩa bán ra (theo thể loại, tên album, ca sĩ, ....)
Theo dõi và quản lý được các thông tin phản hồi của khách hàng.
Thanh toán, bán hàng trực tuyến thông qua nhiều cách khác nhau.
_Guest
_User
_Admin
_SalesPerson
Trong đó:
_Guest hoặc User : sau khi đăng kí mua hàng => SalesPerson sẽ xử lý đơn hàng theo
từng trạng thái: đặt hàng, xác nhận, giao hàng, thành công, hủy bỏ.
_User gửi bình luận về một album lên hệ thống =>Admin sẽ xử lý xét duyệt bình luận đó
theo từng trạng thái: mới, duyệt, hủy.
_Admin gửi thông báo về album mới đến các User đăng kí nhận tin.
_SalesPerson gửi thông tin trạng thái đơn hàng đến Guest hoặc User.
_Hóa đơn: chi tiết giá thành cho các sản phẩm đã đặt hàng.
_Môi trường triển khai: Ứng dụng được triển khai trên môi trường web.
Các máy tính sử dụng nên theo tiêu chuẩn như sau:
Server Client
Window 2000 Server, IIS 7.0 Window XP, IE 6.0 trở lên
Server Client
CPU E5200Ghz, Ram 4Gb, HDD CPU P4 2.0MHz, Ram 1G, HDD
160Gb, Internet Connection 40Gb, Internet Connection
+ PHP
+ JavaScript
+ HTML
+ DHTML
2. Biểu đồ ca sử dụng.
a. Liên quan giữa các đối tác
Guest sau khi đăng kí trở thành User. Vì vậy, User kế thừa các chức năng mà Guest có,
đồng thời mở rộng thêm các chức năng khác.
Đăng kí
Tên: Đăng kí
Nội dung tóm tắt: Guest có thể đăng kí lấy một tài khoản trên website
để có thể trở thành User.
Phương án 1.0
1.Ca sử dụng bắt đầu khi Guest 2.Hệ thống hiện ra giao diện gồm
kích vào “Đăng kí” các form đăng kí.
3.Guest điền thông tin cá nhân của 4.Hệ thống kiểm tra thông tin
mình vào form. xem có hợp lệ không.
5.Guest kích vào “Submit” 6. Hệ thống gửi mail yêu cầu xác
nhận.
Nội dung tóm tắt: Guest có thể xem thông tin của album như: Tên, thể
loại, loại đĩa, giá, tình trạng, list bài hát cùng ca sĩ thể hiện, nhà sản
xuất, ngày phát hành, điểm đánh giá, hình ảnh của album, nghe thử
đoạn đầu của album, comment về album.
Phương án 1.0
1.Ca sử dụng bắt đầu khi Guest 2.Hệ thống hiện ra thông tin chi
kích vào “Chi tiết” tiết về sản phầm: Tên, thể loại,
loại đĩa, giá, tình trạng, list bài hát
cùng ca sĩ thể hiện, nhà sản xuất,
ngày phát hành, điểm đánh giá,
hình ảnh của album, đoạn nhạc
đầu của album, comment về
album.
Nội dung tóm tắt: Guest có thể tìm kiếm sản phẩm theo các tiêu chí:
Tên, giá, thể loại, ca sĩ.
Phương án 1.0
1.Ca sử dụng bắt đầu khi Guest 2.Hệ thống cho phép được tìm
kích vào “Tìm kiếm” kiếm theo 4 tiêu chí: Tên, giá, thể
loại, ca sĩ.
3.Guest lựa chọn thôn tin tìm 4. Hệ thống lấy các thông tin và
kiếm trên các combobox, rồi nhấn duyệt cơ sở dữ liệu để lấy ra các
“Tìm” sản phẩm đạt yêu cầu.
Nội dung tóm tắt: Guest có thể xem thông tin chi tiết về giỏ hàng của
mình, đồng thời có thể xóa sản phẩm, hủy giỏ hàng, hoặc thêm sản
phẩm vào giỏ hàng.
Phương án 1.0
1.Ca sử dụng bắt đầu khi Guest 2.Hệ thống hiện ra thông tin về
kích vào “Giỏ hàng” giỏ hàng: list tên sản phẩm và số
lượng, đơn giá.
3.Guest có thể hủy sản phẩm bằng 4.Hệ thống tự động xóa loại sản
cách kích vào nút “Hủy” ngay bên phẩm đó đi.
cạnh mỗi loại sản phẩm.
5.Guest có thể thêm vào giỏ hàng 5.Hệ thống tự động kiểm tra xem
bằng cách kích vào “Thêm vào dữ liệu còn hàng hay không.
giỏ hàng” ở mỗi sản phẩm.
Nếu còn hàng thì cho phép thêm
vào giỏ hàng.
6.Guest có thể xóa sạch toàn bộ 6.Hệ thống đưa giỏ hàng về trạng
giỏ hàng bằng cách kích vào thái rỗng.
“Hủy giỏ hàng”
Nội dung tóm tắt: Guest có thể thực sự đặt hàng, bằng cách điền thông
tin cá nhân của mình.
Phương án 1.0
Tiền đề: Guest đã kích vào “Lập hóa đơn” trên wesite.
1.Ca sử dụng bắt đầu khi Guest 2.Hệ thống hiện ra form thông tin
kích vào “Lập hóa đơn” cá nhân mà Guest cần điền.
3.Guest điền thông tin cá nhân 4.Hệ thống kiểm tra thông tin cá
vào form. nhân của Guest.
submit.
5.Guest kích vào “Tiếp tục” 6.Hệ thống hiện lên form cho
khách chọn hình thức thanh toán.
7.Guest chọn hình thức thanh 8. Hệ thống kiểm tra nội dung
toán: tại nhà, qua thẻ, và chọn khách đã chọn và thông báo số
hình thức vận chuyển tiền phí vận chuyển.
9.Guest kích vào “Tiếp tục” 10. Hệ thống hiện ra hóa đơn:
Tổng tiền, list các loại sản phẩm
cùng số lượng và đơn giá, phí vận
chuyển, thông tin cá nhân của
Guest.
11. Guest kích vào xác nhận” 12. Hệ thống thông báo thành
công.
Đăng nhập
Nội dung tóm tắt: Guest có thể đăng nhập vào hệ thống để.
Phương án 1.0
1.Ca sử dụng bắt đầu khi Guest 2.Hệ thống hiện ra giao diện gồm
kích vào “Đăng nhập” form đăng nhập: Tên đăng nhập,
mật khẩu.
3.Guest điền thông tin cá nhân của 4.Hệ thống kiểm tra thông tin
mình vào form. xem có hợp lệ không.
Nội dung tóm tắt: User có thể sửa chữa thông tin cá nhân của mình.
Phương án 1.0
Tiền đề: User đã kích vào “Sửa thông tin cá nhân” trên wesite.
1.Ca sử dụng bắt đầu khi User 2.Hệ thống hiện thị thông tin cá
kích vào “Sửa thông tin cá nhân” nhân của User.
3.User có thể kích vào”Sửa” để 4.Hệ thống kiểm tra thông tin
sửa thông tin cá nhân của mình xem có hợp lệ không.
Bình luận
Nội dung tóm tắt: User có thể bình luận về album, và cho điểm đánh
giá.
Phương án 1.0
1.Ca sử dụng bắt đầu khi User 2.Hệ thống hiện lên form cho
kích vào “Bình luận” phép user được đánh giá điểm và
điền bình luận.
3.User đánh giá điểm và điền bình 4.Hệ thống sẽ cập nhật vào cơ sở
luận của mình vào. dữ liệu để: tăng điểm đánh giá
cho album và đưa bình luận vào
Sau đó nhất “Submit” trạng thới mới.
Nội dung tóm tắt: User có thể thực sự đặt hàng bằng cách lập hóa đơn.
Phương án 1.0
Tiền đề: User đã kích vào “Lập hóa đơn” trên wesite.
1.Ca sử dụng bắt đầu khi User 2.Hệ thống hiện lên form cho
kích vào “Lập hóa đơn” User chọn hình thức thanh toán
3.User chọn hình thức thanh toán: 4. Hệ thống kiểm tra nội dung
tại nhà, qua thẻ, và chọn hình thức khách đã chọn và thông báo số
vận chuyển tiền phí vận chuyển.
quen.
Nội dung tóm tắt: Admin có thể tìm kiếm, thêm, sửa, xóa sản phẩm.
Phương án 1.0
Tiền đề: Admin đã kích vào “Quản lý sản phẩm” trên website
1.Ca sử dụng bắt đầu khi Admin 2.Hệ thống hiện ra giao diện cho
kích vào “Quản lý sản phẩm” phép Admin tìm kiếm sản phẩm
theo các tiêu chí: tên album, ngày
phát hành, nhà xuất bản, thể loại,
tên ca sĩ.
3.Admin tìm kiếm theo các tiêu 4.Hệ thống kiểm tra trong cơ sở
chí cho đến khi thấy phù hợp. dữ liệu để hiển thị các album phù
hợp.
5.Admin có thể kích vào “Xem chi 6. Hệ thống hiển thị chi tiết về
tiết” để xem chi tiết album album.
7.Admin có thể kích vào “Sửa” ở 8.Hệ thống cho phép admin được
mỗi thông tin của album sửa thành nội dung mới phù hợp
hơn.
9.Admin sửa thông tin 10.Hệ thống lưu thông tin mới.
11.Admin có thể kích vào “Xóa” ở 12.Hệ thống đòi hỏi admin xác
cuối để xóa album nhận
13. Admin xác nhận xóa. 14.Hệ thống xóa album khỏi cơ
sở dữ liệu.
15. Admin có thể thêm một album 16.Hệ thống hiện các form để
mới bằng cách kích vào “Thêm Admin điền thông tin album mới
mới” vào.
Quản lý User
Nội dung tóm tắt: Admin có thể tìm kiếm, thêm, sửa, xóa một user.
Phương án 1.0
1.Ca sử dụng bắt đầu khi Admin 2.Hệ thống hiện ra giao diện cho
kích vào “Quản lý User” phép Admin tìm kiếm user theo
các tiêu chí: tên đăng nhập,
quyền.
3.Admin tìm kiếm theo các tiêu 4.Hệ thống kiểm tra trong cơ sở
chí cho đến khi thấy phù hợp. dữ liệu để hiển thị các User phù
hợp.
5.Admin có thể kích vào “Xem chi 6. Hệ thống hiển thị chi tiết về
tiết” để xem chi tiết User User.
7.Admin có thể kích vào “Sửa” ở 8.Hệ thống cho phép admin được
mỗi thông tin của User. sửa thành nội dung mới phù hợp
hơn.
9.Admin sửa thông tin 10.Hệ thống lưu thông tin mới.
11.Admin có thể kích vào “Xóa” ở 12.Hệ thống đòi hỏi admin xác
cuối để xóa User nhận
13. Admin xác nhận xóa. 14.Hệ thống xóa User khỏi cơ sở
dữ liệu.
15. Admin có thể thêm một user 16.Hệ thống hiện các form để
mới bằng cách kích vào “Thêm Admin điền thông tin User mới
mới” vào.
Nội dung tóm tắt: Admin có thể cho phép đăng 1 bình luận, cập nhật
trạng thái bình luận hoặc xóa bình luận.
Phương án 1.0
1.Ca sử dụng bắt đầu khi Admin 2.Hệ thống hiện ra giao diện hiển
kích vào “Quản lý bình luận” thị list các bình luận theo thứ tự
thời gian từ mới đến cũ.
3.Admin có thể kích vào “Xem chi 4. Hệ thống hiển thị chi tiết về
tiết” để xem chi tiết bình luận bình luận.
5.Admin có thể sửa trạng thái của 6.Hệ thống lưu thông tin mới, và
bình luận từ “Mới” thành: “Đăng” đăng bình luận lên website
để đăng bình luận lên website, và
kích “Submit”
7. Admin có thể sửa trạng thái của 8.Hệ thống đòi hỏi admin xác
bình luận từ “Mới” thành: “Xóa” nhận
để xóa bình luận và kích “Submit”
9. Admin xác nhận xóa. 10.Hệ thống xóa bình luận khỏi
cơ sở dữ liệu.
11. Admin có thể sửa trạng thái 12.Hệ thống lưu thông tin vào cơ
của bình luận từ “Mới” thành: “Đã sở dữ liệu
xem” để không đăng bình luận này
lên website, và kích “Submit”
Nội dung tóm tắt: Khi có một loại sản phẩm nào mới ra, Admin có thể
gửi mail thông báo đến các User đăng kí nhận thông báo trên tài khoản
cá nhân.
Phương án 1.0
Tiền đề: Admin đã kích vào “Gửi thông báo” trên website
1.Ca sử dụng bắt đầu khi Admin 2.Hệ thống hiện ra giao diện form
kích vào “Gửi thông báo” để Admin soạn thông báo.
3.Admin soạn thông báo. 4.Hệ thống gửi mail đến các User
đã đăng kí nhận tin qua mail
Sau đó kích vào “Gửi”
Nội dung tóm tắt: SalesPerson có thể sửa đổi trạng thái của đơn hàng
tương ứng với công việc đã hoàn thành với đơn hàng.
Phương án 1.0
Tiền đề: SalesPerson đã kích vào “Quản lý đơn hàng” trên website
1.Ca sử dụng bắt đầu khi 2.Hệ thống hiện ra giao diện hiển
SalesPeson kích vào “Quản lý đơn thị list các đơn hàng theo thứ tự
hàng” thời gian từ mới đến cũ.
5.SalesPerson có thể sửa trạng thái 6.Hệ thống lưu thông tin mới vào
của bình luận từ “Đang chờ” cơ sở dữ liệu.
thành: “Xác nhận”, “Giao hàng”,
“Thành công”, “Hủy bỏ”.
Nội dung tóm tắt: SalesPerson có thể tạo ra các thống kê để biết được
tình trạng buôn bán.
Phương án 1.0
Tiền đề: SalesPerson đã kích vào “Tạo thống kê” trên website
1.Ca sử dụng bắt đầu khi 2.Hệ thống hiện ra giao diện hiển
SalesPeson kích vào “Quản lý thị các tiêu chí cho phép
thống kê.” SalesPerson tạo thống kê.
_Bill:
+ Thuộc tính: người đã đặt hàng (guest), thông tin chi tiết về đơn hàng (order),
cách thức thanh toán đơn hàng (CachThucThanhToan), trạng thái của đơn hàng
(status), mã đơn hàng (idBill).
+ Phương thức: Bill có các phương thức get và set để lấy và thiết lập các trạng
thái trên.
+ Phương thức:
Phương thức này nhận vào một đối tượng của lớp
Thêm hóa đơn (addBill(Bill))
Bill, và thêm nó vào ListBill, trả về đúng/sai.
Lấy chi tiết hóa đơn Phương thức này nhận vào mã hóa đơn, và tìm
(getDetailBill(int)) kiếm trong ListBill, trả về đối tượng của lớp Bill
Sửa trạng thái của hóa đơn Phương thức này nhận vào đối tượng của lớp Bill,
(updateStatus(Bill)) tìm kiếm và sửa nó trong ListBill, trả về đúng/sai.
Lấy danh sách hóa đơn Phương thức này trả về danh sách của các hóa đơn
(getListBill()) có trong cơ sở dữ liệu.
Package People:
_AbstractUser: là 1 abstract class lưu giữ thông tin của người dùng.
+ Các trường thuộc tính lưu trữ thông tin cá nhân của người dùng:
address, DOB, email, mode (quyền), name, phone.
+Có các phương thức set, get để thiết lập và lấy các thuộc tính trên.
Phương thức này được gọi đến khi guest muốn đăng kí
một tài khoản. Phương thức này sẽ tạo ra một User với
username và password xác định. Khi đăng kí, các
Đăng kí (DangKi()) trường thuộc tính của AbstractUser sẽ được điền đủ.
Sau đó hệ thống sẽ thêm user vào danh sách các user
bằng cách gọi đến phương thức AddUser(User) trong
lớp ManageUser.
Phương thức này sẽ gọi đến các phương thức trong lớp
Products.Order : add(Product) : thêm sản phẩm vào
Quản lý giỏ hàng
giỏ hàng; deleteProduct(Product): xóa một loại sản
(QuanLyGioHang())
phẩm trong giỏ hàng; tính tiền của giỏ hàng
(countMoney()); xóa toàn bộ giỏ hàng (deleteOrder()).
+ Các thuộc tính khác: username, password. Những thuộc tính này lưu lại
tên đăng nhập và mật khẩu đăng nhập của user.
+ Các phương thức khác: các phương thức set, get để thiết lập và lấy các
thuộc tính username, password trên. Ngoài ra còn có thêm các phương thức:
Phương thức này trả về giá trị đúng hoặc sai khi người
Đăng nhập (Login())
dùng nhập username và password để đăng nhập.
Phương thức này dùng để cập nhật lại thông tin cá nhân
Quản lý thông tin cá nhân
của user. Phương thức này gọi đến các phương thức
(QuanLyThongTinCaNhan())
EditUser(User) trong lớp ManageUser.
Vì User khi lập hóa đơn sẽ không phải nhập lại thông
Lập hóa đơn (LapHoaDon())
tin cá nhân, vì vậy nên nó sẽ ghi đè phương thức này.
Phương thức này thực hiện khi admin gửi thông báo
Gửi thông báo (GuiThongBao())
đến mail của User.
Products.ManageProduct.
Phương thức này được gọi đến khi admin thực hiện
chức năng xem xét các bình luận và cập nhật trạng
thái cho các bình luận. Phương thức này truyền vào
Sửa trạng thái bình luận
một đối tượng của lớp Products.Comment, và trả về
(SuaTrangThaiBinhLuan(Comment)
đúng/sai.Phương thức này gọi đến
editStatusComment(int, Comment) của lớp
Products.Product.
Phương thức này được gọi đến khi admin thực hiện
chức năng xóa bình luận, trả về đúng/sai. Phương
Xóa bình luận (XoaBinhLuan()) thức này gọi đến phương thức
deleteComment(Comment) của lớp
Products.Product.
Sửa User (SuaUser(User)) Phương thức này được gọi đến khi admin thực hiện
chức năng sửa thông tin User, trả về đúng/sai.
Phương thức này gọi đến phương thức
Phương thức này được gọi đến khi admin muốn xóa
một user, trả về đúng/sai. Phương thức này gọi đến
Xóa User (XoaUser())
phương thức DeleteUser(User) của lớp
ManageUser.
_ManageUser:
Lấy danh sách các User Phương thức này trả về danh sách các User có trong
(getListUser()) cơ sở dữ liệu.
Lấy thông tin của User Phương thức này truyền vào mã của User, trả về
(getDetailUser(string)) thông tin cá nhân của User (đối tượng của lớp User).
Package Products:
+ Thuộc tính: lưu trữ thông tin về bài hát: tên bài hát (Name), ca sĩ thể hiện
(SingeName), dữ liệu về bài hát (Data).
+ Phương thức: các phương thức set, get để thiết lập và lấy các dữ liệu trên.
+ Có các thuộc tính: nội dung (Content), mã sản phẩm (ProductId), mã user
(userId), trạng thái của comment (status).
+ Có các phương thức get, set để lấy và thiết lập các thuộc tính trên.
+ Thuộc tính: mã sản phẩm (idProduct), tiêu đề của đĩa (Title), danh sách các bài
hát (ListSong), danh sách các bình luận (ListComment), ngày phát hành đĩa
(NgayPhatHanh), nhà sản xuất (NhaSanXuat), giá (Price), số lượng bài hát
(SoBaiHat).
+ Phương thức: get và set để lấy và thiết lập các thuộc tính trên, ngoài ra còn có
các phương thức:
Phương thức này nhận vào một đối tượng của lớp
Thêm bình luận
Comment, thêm đối tượng này vào ListComment, trả về
(addComment(Comment))
đúng/sai.
Phương thức này nhận vào một đối tượng của lớp
Xóa bình luận
Comment, tìm kiếm và xóa nó khỏi ListComment, trả về
(deleteComment(Comment))
đúng/sai.
Sửa trạng thái bình luận Phương thức này nhận vào trạng thái mới và đối tượng
(editStatusComment(int, của lớp Comment, tìm kiếm và sửa lại trạng thái của đối
Comment)) tượng này trong ListCommnet.
Tìm kiếm bài hát Phương thức này nhận vào mã của bài hát và tìm kiếm
(FindSong(string)) bài hát trong ListSong, trả về đối tượng của lớp Song.
Phương thức này nhận vào một đối tượng của lớp Song,
Thêm bài hát (addSong(Song))
thêm đối tượng này vào ListSong, trả về đúng/sai.
Phương thức này nhận vào một đối tượng của lớp Song,
Xóa bài hát (deleteSong(Song))
tìm kiếm và xóa nó khỏi ListSong, trả về đúng/sai.
Phương thức này nhận vào một đối tượng của lớp Song,
Sửa bài hát (editSong(Song)) tìm kiếm dựa vào mã trong ListSong và sửa thông tin
của bài hát, trả về đúng/sai.
+ Thuộc tính: là danh sách các sản phẩm đang có trong giỏ hàng (ListProduct),
số lượng mỗi sản phẩm (ListSoLuongMoiSanPham).
+ Phương thức:
Phương thức này nhận vào một đối tượng của lớp
Thêm sản phẩm vào giỏ hàng Product, thêm đối tượng này vào ListProduct, tăng số
(Add(Product)) lượng của sản phẩm này thêm 1 trong
ListSoLuongMoiSanPham, trả về đúng/sai.
Phương thức này nhận vào đối tượng của lớp Product,
Xóa một loại sản phẩm trong giỏ xóa đối tượng này khỏi ListProduct, đống thời xóa luôn
hàng (deleteProduct(Product)) phần tử tương ứng trong ListSoLuongMoiSanPham trả
về đúng/sai.
Tính tiền (CountMoney()) Phương thức này sẽ tính tổng giá trị trong giỏ hàng.
Xóa toàn bộ giỏ hàng Phương thức này sẽ xóa cả hai ListProduct,
(deleteOrder()) ListSoLuongMoiSanPham.
+ Thuộc tính: danh sách các sản phẩm đang có trong giỏ hàng (ListProduct).
+ Phương thức:
Phương thức này nhận vào một đối tượng của lớp
Thêm sản phẩm
Product, thêm đối tượng này vào ListProduct, trả về
(addProduct(Product))
đúng/sai.
Xóa sản phẩm Phương thức này nhận vào đối tượng của lớp Product,
(deleteProduct(Product)) xóa đối tượng này khỏi ListProduct, trả về đúng/sai.
Tìm kiếm sản phẩm Phương thức này nhận vào mã của sản phẩm và tìm
(findProduct(string)) kiếm sản phẩm trong ListProduct, trả vể đối tượng này.
Lấy thông tin về sản phẩm Phương thức này nhận vào mã của sản phẩm và tìm
(getProductDetail(string)) kiếm sản phẩm trong ListProduct, trả vể đối tượng này.
Lấy danh sách các sản phẩm Phương thức này trả về danh sách các sản phẩm có
(getListProduct()) trong cơ sở dữ liêu.
Đăng kí:
Hình: Biểu đồ trình tự thể hiện chức năng đăng ký của Guest
Khi Guest đăng ký, hệ thống sẽ yêu cầu frmRegister tạo ra 1 đối tượng để Guest điền thông tin
và hiển thị form này lên hệ thống. Khi Guest nhấn submit, hệ thống gửi thông điệp đến cho đối
tượng frmRegister. Kích hoạt chức năng ĐangKi() của Guest, hệ thống sẽ thêm đối tượng User
mới được tạo thành vào danh sách các user, nếu có lỗi thì sẽ hiển thị cho người dùng biết lỗi ở
đâu và yêu cầu nhập lại. Nếu thành công thì thông báo cho người dùng biết.
Hình: Biểu đồ trình tự thể hiện chức năng tìm kiếm sản phẩm của Guest
Khi Guest tìm kiếm, hệ thống sẽ kích hoạt 1 đối tượng của frmFind và hiển thị lên giao diện.
Guest chọn kiểu tìm kiếm (tìm kiếm theo giá tiền, tìm kiếm theo tên, …). Khi guest đã chọn kiểu
tìm kiếm và gửi yêu cầu tìm kiếm, hệ thống sẽ kích hoạt chức năng TimKiem của lớp Guest với
đầu vào là một điều kiện tùy thuộc vào kiểu tìm kiếm. Chức năng này sẽ gọi đến lớp
ManageProduct để tìm kiếm sản phẩm thỏa mãn từ cơ sở dữ liệu, trả về các sản phẩm thỏa mãn,
hệ thống sẽ hiển thị danh sách các sản phẩm này. Người dùng có thể thực hiện chức năng xem
chi tiết sản phẩm, hệ thống sẽ kích hoạt chức năng XemThongTinSanPha của lớp Guest, chức
năng này gọi đến phương thức lấy thông tin chi tiết của sản phẩm trong lớp ManageProduct từ cơ
sở dữ liệu.
Hình: Biểu đồ trình tự biểu diễn chức năng lập hóa đơn của user
Người dùng muốn thanh toán các sản phẩm đã đặt hàng, hệ thống sẽ hiển thị một form giao diện
với danh sách các sản phẩm có trong giỏ hàng. Người dùng chọn hình thức thanh toán, hệ thống
sẽ kiểm tra xem có hợp lệ không. Người dùng gửi yêu cầu, hệ thống kích hoạt chức năng
LapHoaDon của User, thêm hóa đơn vào danh sách các hóa đơn. Nếu có lỗi thì thông báo lỗi cho
người dùng, còn nếu thành công thì hiển thị toàn bộ thông tin hóa đơn cho người dùng biết.
Bình luận:
Hình: Biểu đồ trình tự biểu diễn chức năng comment của user
Khi user muốn bình luận, hệ thống sẽ hiển thị giao diện cho người dùng điền các ý kiến của
mình. Người gửi bình luận, hệ thống kích hoạt chức năng BinhLuan của User, thêm đối tượng
bình luận vào danh sách các bình luận của sản phẩm. Nếu có lỗi thì sẽ thông báo cho user biết,
nếu thành công thì gửi lại thông báo thành công.
Hình: Biểu đồ trình tự biểu diễn chức năng sửa đổi thông tin của user
Khi user muốn sửa đổi thông tin cá nhân của mình, hệ thống sẽ hiển thị giao diện tương ứng. Hệ
thống sẽ lấy thông tin chi tiết của user đang lưu trong cở sở dữ liệu để hiện thị lên giao diện.
Người dùng sửa đổi thông tin cá nhân, và gửi yêu cầu lưu mới, hệ thống sẽ kích hoạt chức năng
QuanLyThongTinCaNhan của User, để sửa lại thông tin cá nhân của user vào cơ sở dữ liệu. Nếu
xảy ra lỗi thì hệ thống thông báo lỗi lại cho user, nếu thành công thì hệ thống thông báo thành
công.
Đăng nhập:
Hình: Biểu đồ trình tự biểu diễn chức năng Login của user
Khi người dùng muốn đăng nhập vào hệ thống, hệ thống sẽ hiển thị giao diện đăng nhập. Người
dùng nhập username, password và gửi yêu cầu submit. Hệ thống kích hoạt chức năng Login của
User, kiểm tra trong cơ sở dữ liệu có tồn tại tài khoản như đã nhập không. Nếu không tồn tại thì
báo lỗi lại cho người dùng, nếu thành công thì hệ thống cho phép người dùng được đăng nhập
vào hệ thống.
Hình: Biểu đồ trình tự biểu diễn chức năng quản lý comment của Admin
Khi admin muốn quản lý các bình luận, hệ thống sẽ hiển thị giao diện tương ứng. Đồng thời, hệ
thống sẽ lấy danh sách các bình luận để hiện thị lên giao diện. Admin muốn sửa trạng thái của
bình luận, hệ thống sẽ kích hoạt chức năng SuaTrangThaiBinhLuan của lớp Admin, và cập nhật
trạng thái mới của bình luận vào cơ sở dữ liệu, thông báo lại cho admin. Nếu admin muốn xóa
bình luận, hệ thống sẽ kích hoạt chức năng XoaBinhLuan của Admin, xóa bình luận này trong cơ
sở dữ liệu, thông báo lại cho admin biết.
Hình: Biểu đồ trình tự biểu diễn chức năng quản lý sản phẩm của Admin
Khi admin muốn quản lý sản phẩm, hệ thống sẽ hiển thị giao diện tương ứng. Đồng thời, hệ
thống sẽ lấy danh sách các sản phẩm có trong cơ sở dữ liệu để hiện thị lên giao diện.
Nếu admin muốn tìm kiếm sản phẩm, hệ thống sẽ kích hoạt chức năng TimKiemSanPham của
lớp Admin, tìm trong cơ sở dữ liệu, trả về các sản phẩm phù hợp.
Nếu admin muốn sửa trạng thái của sản phẩm, hệ thống sẽ kích hoạt chức năng SuaSanPham của
lớp Admin, cập nhật lại trạng thái của sản phẩm vào cơ sở dữ liệu, và thông báo lại cho admin
biết.
Nếu Admin muốn xóa sản phẩm, hệ thống sẽ kích hoạt chức năng XoaSanPham của lớp Admin,
xóa sản phẩm này khỏi cơ sở dữ liệu và thông báo lại cho admin biết.
Nếu Admin muốn thêm sản phẩm mới, hệ thống sẽ tạo ra giao diện tương ứng. Admin nhập các
thông tin cần thiết và gửi yêu cầu thêm mới, hệ thống sẽ kích hoạt chức năng ThemSanPham của
lớp Admin, thêm sản phẩm này vào cơ sở dữ liệu, và thông báo lại cho admin biết.
Quản lý user:
Hình: Biểu đồ trình tự biểu diễn chức năng quản lý user của Admin
Khi admin muốn quản lý user, hệ thống sẽ hiển thị giao diện tương ứng. Đồng thời, hệ thống sẽ
lấy danh sách các user có trong cơ sở dữ liệu để hiện thị lên giao diện.
Nếu admin muốn tìm kiếm user, hệ thống sẽ kích hoạt chức năng TimKiemUser của lớp Admin,
tìm trong cơ sở dữ liệu, trả về các user phù hợp.
Nếu admin muốn sửa trạng thái của user, hệ thống sẽ kích hoạt chức năng SuaUser của lớp
Admin, cập nhật lại trạng thái của user vào cơ sở dữ liệu, và thông báo lại cho admin biết.
Nếu Admin muốn xóa user, hệ thống sẽ kích hoạt chức năng XoaUser của lớp Admin, xóa user
này khỏi cơ sở dữ liệu và thông báo lại cho admin biết.
Nếu Admin muốn thêm user mới, hệ thống sẽ tạo ra giao diện tương ứng. Admin nhập các thông
tin cần thiết và gửi yêu cầu thêm mới, hệ thống sẽ kích hoạt chức năng ThemUser của lớp
Admin, thêm user này vào cơ sở dữ liệu, và thông báo lại cho admin biết.
Hình: Biểu đồ trình tự biểu diễn chức năng gửi thông báo của User
Khi admin muốn gửi thông báo, hệ thống sẽ tạo ra giao diện tương ứng. Admin soạn thông báo
và gửi yêu cầu submit, hệ thống sẽ kích hoạt chức năng GuiThongBao trong lớp Admin, và gửi
thông báo đến các user.
Hình: Biểu đồ trình tự biểu diễn chức năng quản lý hóa đơn của saleperson
Khi saleperson muốn quản lý hóa đơn, hệ thống sẽ hiển thị giao diện các hóa đơn đang tồn tại
trong hệ thống.
Nếu saleperson muốn xem thông tin chi tiết của hóa đơn, hệ thống sẽ kích hoạt chức năng
XemChiTietDonHang của lớp SalePerson, lấy thông tin chi tiết của hóa đơn trong cơ sở dữ liệu
hiển thị ra giao diện.
Nếu saleperson muốn sửa trạng thái hóa đơn, hệ thống sẽ kích hoạt chức năng
SuaTrangThaiDonHang của lớp SalePerson, cập nhật trạng thái của đơn hàng vào cơ sở dữ liệu,
và thông báo cho saleperson.
Thống kê:
Hình: Biểu đồ trình tự thể hiện chức năng thống kê của saleperson
Khi saleperson muốn thống kê, hệ thống sẽ hiển thị giao diện tương ứng. Saleperson chọn loại
thống kê, hệ thống sẽ hiển thị giao diện kết quả.
Hình: Biểu đồ giao tiếp thể hiện chức năng đăng kí của Guest.
Hình: Biểu đồ giao tiếp thể hiện chức năng tìm kiếm sản phẩm của User
b. Biểu đồ giao tiếp thể hiện một số chức năng của User
Hình: Biểu đồ giao tiếp thể hiện chức năng lập hóa đơn của User
Hình: Biểu đồ giao tiếp thể hiện chức năng bình luận của User
Hình: Biểu đồ giao tiếp thể hiện chức năng đăng nhập của User
Hình: Biểu đồ giao tiếp thể hiện chức năng sửa thông tin cá nhân của User
c. Biểu đồ giao tiếp thể hiện một số chức năng của Admin
Hình: Biểu đồ giao tiếp thể hiện chức năng quản lý bình luận của Admin
Hình: Biểu đồ giao tiếp thể hiện chức năng quản lý sản phẩm của Admin
Hình: Biểu đồ giao tiếp thể hiện chức năng quản lý User
Hình: Biểu đồ giao tiếp thể hiện chức năng gửi thông báo của Admin
d. Biểu đồ giao tiếp thể hiện một số chức năng của SalePerson
Hình: Biểu đồ giao tiếp thể hiện chức năng quản lý hóa đơn của SalePerson
Hình: Biểu đồ giao tiếp thể hiện chức năng thống kê của SalePerson
Register(Khách hàng đăng ký): được chuyển từ trạng thái Guest sang khi khách hàng chọn
vào nút đăng ký. ở trạng thái này khách hàng có thể nhập thông tin cá nhân và bấm nút đăng
ký để đăng ký user.
User(khách hàng đã đăng nhập): trạng thái user được chuyển từ trạng thái Guest khi khách
ấn đăng nhập, ở trạng thái user ngoài các chức năng Guest có thì user có thêm chức năng
thanh toán và quản lý thông tin cá nhân.
User có 2 trạng thái con:
Xem thông tin(lựa chọn sản phẩm).
Chờ thanh toán(lựa chọn thanh toán).
Chờ duyệt(khách hàng gửi comment chờ admin duyệt): được chuyển từ trạng thái khởi tạo
sang khi khách hàng ấn nút comment. Trạng thái này khách hàng không thêm, bớt hay xóa được
comment của mình, comment cùng không hiện lên trên trang web mà được gửi tới admin để chờ
xét duyệt.
Hiển thị(Admin đồng ý, comment được hiển thị): chuyển từ trạng thái chờ duyệt sang khi
admin chọn đồng ý. Comment này sẽ được hiện lên trang web và chỉ có admin xóa được.
Cho phép sửa( khách hàng thêm, xóa, sửa sản phẩm muốn mua): được chuyển sang khi
khách hàng chọn album đầu tiên, trạng thái này giỏ hàng có ít nhất 1 album, khách có thể
thêm, sửa , xóa các sản phẩm và chuyển đơn hàng sang trạng thái lưu trữ bằng cách bấm lưu.
Chờ thanh toán(khách hàng chọn thanh toán): được chuyển sang khi khách (là user) bấm
đồng ý,trạng thái này đơn hàng không thể bị thay đổi bởi user, user chỉ có thể chon hình thức
thanh toán cũng như các thông số yêu cầu để thanh toán đơn hàng.
Lưu trữ(các mặt hàng đã được thanh toán hoặc khách lựa chọn lưu trữ): được chuyển
từ trạng thái “cho phép sửa” khi khách chọn lưu trữ hoặc từ trạng thái “chờ thanh toán” khi
khách đã thanh toán giỏ hàng. Trạng thái này khách hàng không thay đổi được đơn hàng mà
chỉ có thể xóa, hoặc chuyển nó về trạng thái cho phép sửa bằng cách ấn nút sửa.
Thực thể User: Lưu trữ thông tin cá nhân của User:
Username Khóa chính, lưu tên đăng nhập vào hệ thống của User.
ReceiveMessage Lưu trữ xem User có muốn nhận email của Admin không.
Thực thể Product: lưu trữ thông tin cá nhân của Product.
Price Lưu trữ giá tiền tại thời điểm hiện tại của album
Thực thể Song: lưu trữ thông tin của bài hát.
ProductId Khóa ngoại, lưu trữ mã sản phẩm mà bài hát thuộc về.
Thực thể Comment: lưu trữ các bình luận của User về sản phẩm.
ProductId Khóa ngoại, lưu mã sản phẩm mà bình luận này nói về.
Username Khóa ngoại, lưu tên đăng nhập của User đã bình luận.
Status Lưu trạng thái của bình luận (mới, đăng, xóa).
Khóa ngoại, lưu tên đăng nhập của User nếu khách hàng lập
UserId
hóa đơn là User. Nếu không thì để null.
Nếu khách hàng là Guest thì lưu tên của Guest, nếu là User
Name
thì trường này để null.
Nếu khách hàng là Guest thì lưu ngày sinh của Guest, nếu là
DOB
User thì trường này để null.
Nếu khách hàng là Guest thì lưu điện thoại của Guest, nếu là
Phone
User thì trường này để null.
Nếu khách hàng là Guest thì lưu địa chỉ của Guest, nếu là
Address
User thì trường này để null.
Nếu khách hàng là Guest thì lưu địa chỉ mail của Guest, nếu là
Email
User thì trường này để null.
Lưu trạng thái của hóa đơn (Đang chờ, xác nhận, giao hàng,
Status
thành công, hủy bỏ).
Thực thể BillId: lưu thông tin chi tiết của đơn hàng.
Price Lưu đơn giá của sản phẩm tại thời điểm lập hóa đơn.
Quantity Lưu số lượng sản phẩm đã đặt của loại sản phẩm đó.
Database Diagram
BillDetail Bill
BillId BillId
ProductId UserId
Price IsUser
Quantity Name
DOB
Phone
Address
Product Email
ProductId FormOfPayment
Title DateOfOrder
ReleaseDate Status
Manufacturers
Picture
Information
Quantity
Category
Price User
Username
Password
Name
Trang chủ
Đăng kí
Đăng nhập
Giỏ hàng
Hóa đơn
b. Về phía admin
Giao diện sau khi admin đăng nhập
Thêm hàng
Sửa hàng
Thống kê
Môn Phân tích thiết kế hệ thống thông tin đã đưa đến cho chúng em cơ hội áp dụng các kiến thức được
học để phân tích , thiết kế một website hoàn chỉnh, hướng thực tế. Mặc dù bài phân tích của chúng em
vẫn chưa phải là hoàn hảo để ứng dụng vào một hệ thống lớn, nhưng với việc đây là lần đầu và với nỗ lực
của bản thân, chúng em cũng đã đạt được một vài thành công nhất định, và hi vọng vào việc sẽ cải tiến
khả năng phân tích thiết kế tốt hơn trong tương lai.
Ưu điểm :
Nhược điểm:
+ Bài phân tích vẫn chưa thể hiện được tính tối ưu.
+ Giao diện chưa có gì đặc sắc.
[1] Nguyên lý của các hệ cơ sở dữ liệu - Nguyễn Kim Anh - Nhà xuất bản đại học quốc gia Hà
Nội.
[2] Slide bài giảng môn Phân tích thiết kế hệ thống thông tin – Thầy Nguyễn Hồng Phương –
ĐHBKHN
[3] Phát triển hệ thống hướng đối tượng với UML 2.0 và C++ - Nguyễn Văn Ba – Nhà xuất
bản đại học quốc gia Hà Nội.
[4] HDJ - Giáo trình giảng dạy tại FPT - Aptech.
[5] Các hướng dẫn sử dụng php trên internet: http://www.qhonline.info/php-can-
ban/32/bai-11--viet-ung-dung-dang-nhap-bang-php-mysql.html