Bài tập lớn Phân tích thiết kế hệ thống thông tin: Sử dụng Enterprise Architect để phân tích thiết kế website bán và giới thiệu băng đĩa nhạc
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
-
BÀI TẬP LỚN PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN
Đề tài: “Sử dụng Enterprise Architect để phân tích thiết kế website bán và
giới thiệu băng đĩa nhạc.”
Giảng viên hướng dẫn: ThS Nguyễn Hồng Phương
Nhóm sinh viên thực hiện: Nhóm 3
Trang 2MỤC LỤC
LỜI NÓI ĐẦU 4
I NGHIÊN CỨU SƠ BỘ 5
1 Giới thiệu 5
2 Tóm tắt dự án 5
3 Các qui trình nghiệp vụ 6
4 Các loại thông tin sử dụng trong hệ thống 7
5 Các yêu cầu đặt ra đối với hệ thống tương lai 7
II NHẬN ĐỊNH VÀ ĐẶC TẢ CÁC CA SỬ DỤNG 9
1 Biểu đồ khung cảnh của hệ thống 9
2 Biểu đồ ca sử dụng 10
a Liên quan giữa các đối tác 10
b Liên quan giữa đối tác và ca sử dụng 11
c Thành lập biểu đồ ca sử dụng 12
III PHÂN TÍCH CẤU TRÚC 37
1 Biểu đồ lớp 37
IV MÔ HÌNH HÓA SỰ TƯƠNG TÁC 50
1 BIỂU ĐỒ TRÌNH TỰ 50
a Biểu đồ trình tự một số chức năng của Guest 50
b Biểu đồ trình tự một số chức năng của User 52
c Biểu đồ trình tự một số chức năng của Admin 56
Trang 3d Biểu đồ trình tự một số chức năng của SalePerson 62
2 Biểu đồ giao tiếp 64
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
V MÔ HÌNH HÓA SỰ ỨNG XỬ 74
1 Biểu đồ máy trạng thái 74
a Trạng thái khách hàng 74
b Trạng thái Bình luận 75
c Trạng thái sản phẩm 76
VI THIẾT KẾ CHI TIẾT 78
1 Thiết kế cơ sở dữ liệu 78
2 Thiết kế giao diện 83
VII LỜI KẾT 100
VIII TÀI LIỆU THAM KHẢO 101
IX PHÂN CÔNG NHIỆM VỤ 102
Trang 4LỜI NÓI ĐẦU
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
Hà Nội, tháng 4 năm 2012
Nhóm 3
Trang 5I 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
Xem thông tin về album, tìm kiếm album mà mình yêu thích
Bình chọn cho album theo các điểm đánh giá
Tham khảo, bình luận về album mình yêu thích
Trang 6 Đặ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
Có thể theo dõi tình trạng xử lý đơn hàng của mình
Có chức năng điểm thưởng và giảm giá cho khách hàng
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
_Người bán hàng:
Tạo ra kênh thông tin để quảng cáo và giới thiệu sản phẩm
Có thể giới thiệu các sản phẩm mới qua email
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
Trang 7_Guest sau khi đăng kí sẽ trở thành User
_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
4 Các loại thông tin sử dụng trong hệ thống
_Thông tin sản phẩm: album nhạc
_Giỏ hàng: chứa các sản phẩm đã đăng kí mua
_Hóa đơn: chi tiết giá thành cho các sản phẩm đã đặt hàng
5 Các yêu cầu đặt ra đối với hệ thống tương lai
_Đạt được các chức năng nêu trên.Hệ thống chạy tốt và ổn định
_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:
Trang 8_Công cụ và ngôn ngữ phát triển ứng dụng:
Trang 9II NHẬN ĐỊNH VÀ ĐẶC TẢ CÁC CA SỬ DỤNG
1 Biểu đồ khung cảnh của hệ thống
Trang 102 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
Trang 11b Liên quan giữa đối tác và ca sử dụng
Trang 12c Thành lập biểu đồ ca sử dụng
Đăng kí
(1) Tiêu đề chung
Tên: Đăng kí
Loại: chi tiết
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
Đối tác: Guest
Ngày lập: 11/3/2012
Trang 135.Guest kích vào “Submit” 6 Hệ thống gửi mail yêu cầu xác
nhận
Trang 14 Xem thông tin sản phẩm
(1) Tiêu đề chung
Tên: Xem thông tin sản phẩm
Loại: chi tiết
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
Trang 15 Tìm kiếm sản phẩm
(1) Tiêu đề chung
Tên: Tìm kiếm sản phẩm
Loại: chi tiết
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ĩ
Đối tác: Guest
Ngày lập: 11/3/2012
Ngày cập nhât: 11/3/2012
Phương án 1.0
Trang 16 Người lập: Nguyễn Thị Nguyệt (2) Mô tả các kịch bản
Tiền đề: Guest đã kích vào “Tìm kiếm” trên wesite
Kịch bản chính:
1.Ca sử dụng bắt đầu khi Guest kích vào “Tìm kiếm”
2.Hệ thống cho phép được tì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 kiếm trên các combobox, rồi nhấn
“Tìm”
4 Hệ thống lấy các thông tin và duyệt cơ sở dữ liệu để lấy ra các sản phẩm đạt yêu cầu
Quản lý giỏ hàng
(1) Tiêu đề chung
Tên: Quản lý giỏ hàng
Trang 17 Loại: chi tiết
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
3.Guest có thể hủy sản phẩm bằng cách kích vào nút “Hủy” ngay bên cạnh mỗi loại sản phẩm
4.Hệ thống tự động xóa loại sản phẩm đó đi
5.Guest có thể thêm vào giỏ hàng bằng cách kích vào “Thêm vào giỏ hàng” ở mỗi sản phẩm
5.Hệ thống tự động kiểm tra xem
dữ liệu còn hàng hay không
Nếu còn hàng thì cho phép thêm vào giỏ hàng
Nếu hết hàng thì hiện thông báo hết hàng
Trang 186.Guest có thể xóa sạch toàn bộ giỏ hàng bằng cách kích vào
“Hủy giỏ hàng”
6.Hệ thống đưa giỏ hàng về trạng thái rỗng
Lập hóa đơn
(1) Tiêu đề chung
Tên: Lập hóa đơn
Loại: chi tiết
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
2.Hệ thống hiện ra form thông tin
cá nhân mà Guest cần điền
3.Guest điền thông tin cá nhân vào form
4.Hệ thống kiểm tra thông tin cá nhân của Guest
Nếu không đúng thì không cho
Trang 19submit
Nếu đúng thì cho phép 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 toán: tại nhà, qua thẻ, và chọn hình thức vận chuyển
8 Hệ thống kiểm tra nội dung khách đã chọn và thông báo số 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
Trang 20 Đăng nhập
(1) Tiêu đề chung
Tên: Đăng nhập
Loại: chi tiết
Nội dung tóm tắt: Guest có thể đăng nhập vào hệ thống để
Đối tác: Guest
Ngày lập: 11/3/2012
Trang 213.Guest điền thông tin cá nhân của mình vào form
4.Hệ thống kiểm tra thông tin xem có hợp lệ không
Nếu không hợp lệ, guest được yêu cầu nhập lại
Nếu đã hợp lệ, hệ thống cho phép Submit
5.Guest kích vào “Submit” 6 Hệ thống truy cập vào cở sở dữ
liệu để kiểm tra tính chính xác
Nếu đúng thì chuyển Guest thành User và thông báo hiển thị, Nếu sai thì thông báo lỗi
Quản lý thông tin cá nhân
(1) Tiêu đề chung
Trang 22 Tên: Quản lý thông tin cá nhân
Loại: chi tiết
Nội dung tóm tắt: User có thể sửa chữa thông tin cá nhân của mình
4.Hệ thống kiểm tra thông tin xem có hợp lệ không
Nếu không hợp lệ, User được yêu cầu nhập lại
Nếu đã hợp lệ, hệ thống cho phép Submit
5.User kích vào “Submit” 6 Hệ thống update vào cơ sở dữ
liệu
Trang 23 Bình luận
(1) Tiêu đề chung
Tên: Bình luận
Loại: chi tiết
Nội dung tóm tắt: User có thể bình luận về album, và cho điểm đánh giá
3.User đánh giá điểm và điền bình luận của mình vào
Sau đó nhất “Submit”
4.Hệ thống sẽ cập nhật vào cơ sở
dữ liệu để: tăng điểm đánh giá cho album và đưa bình luận vào trạng thới mới
Trang 24 Lập hóa đơn
(1) Tiêu đề chung
Tên: Lập hóa đơn
Loại: chi tiết
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
4 Hệ thống kiểm tra nội dung khách đã chọn và thông báo số tiền phí vận chuyển
5.User kích vào “Tiếp tục” 6 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
Đồng thời hiện số tiền khuyến mãi giảm giá cho khách hàng
Trang 26 Quản lý sản phẩm
(1) Tiêu đề chung
Tên: Quản lý sản phẩm
Loại: chi tiết
Nội dung tóm tắt: Admin có thể tìm kiếm, thêm, sửa, xóa sản phẩm
Trang 273.Admin tìm kiếm theo các tiêu chí cho đến khi thấy phù hợp
4.Hệ thống kiểm tra trong cơ sở
dữ liệu để hiển thị các album phù hợp
5.Admin có thể kích vào “Xem chi tiết” để xem chi tiết album
6 Hệ thống hiển thị chi tiết về album
7.Admin có thể kích vào “Sửa” ở mỗi thông tin của album
8.Hệ thống cho phép admin được 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” ở cuối để xóa album
12.Hệ thống đòi hỏi admin xác 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 mới bằng cách kích vào “Thêm mới”
16.Hệ thống hiện các form để Admin điền thông tin album mới vào
17.Admin kích “Submit” 18.Hệ thống thêm album mới vào
cơ sở dữ liệu
Trang 28 Quản lý User
(1) Tiêu đề chung
Tên: Quản lý User
Loại: chi tiết
Nội dung tóm tắt: Admin có thể tìm kiếm, thêm, sửa, xóa một user
Trang 293.Admin tìm kiếm theo các tiêu chí cho đến khi thấy phù hợp
4.Hệ thống kiểm tra trong cơ sở
dữ liệu để hiển thị các User phù hợp
5.Admin có thể kích vào “Xem chi tiết” để xem chi tiết User
6 Hệ thống hiển thị chi tiết về User
7.Admin có thể kích vào “Sửa” ở mỗi thông tin của User
8.Hệ thống cho phép admin được 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” ở cuối để xóa User
12.Hệ thống đòi hỏi admin xác 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 mới bằng cách kích vào “Thêm mới”
16.Hệ thống hiện các form để Admin điền thông tin User mới vào
17.Admin kích “Submit” 18.Hệ thống thêm User mới vào
cơ sở dữ liệu
Trang 30 Quản lý bình luận
(1) Tiêu đề chung
Tên: Quản lý bình luận
Loại: chi tiết
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
Trang 313.Admin có thể kích vào “Xem chi tiết” để xem chi tiết bình luận
4 Hệ thống hiển thị chi tiết về bình luận
5.Admin có thể sửa trạng thái của bình luận từ “Mới” thành: “Đăng”
để đăng bình luận lên website, và kích “Submit”
6.Hệ thống lưu thông tin mới, và đăng bình luận lên website
7 Admin có thể sửa trạng thái của bình luận từ “Mới” thành: “Xóa”
để xóa bình luận và kích “Submit”
8.Hệ thống đòi hỏi admin xác nhận
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 của bình luận từ “Mới” thành: “Đã xem” để không đăng bình luận này lên website, và kích “Submit”
12.Hệ thống lưu thông tin vào cơ
sở dữ liệu
Trang 32 Gửi thông báo
(1) Tiêu đề chung
Tên: Gửi thông báo
Loại: chi tiết
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
2.Hệ thống hiện ra giao diện form
để Admin soạn thông báo
3.Admin soạn thông báo
Sau đó kích vào “Gửi”
4.Hệ thống gửi mail đến các User
đã đăng kí nhận tin qua mail
Trang 33 Quản lý đơn hàng
(1) Tiêu đề chung
Tên: Quản lý đơn hàng
Loại: chi tiết
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
Đối tác: SalesPerson
Trang 342.Hệ thống hiện ra giao diện hiển thị list các đơn hàng theo thứ tự thời gian từ mới đến cũ
Trang 35 Tạo thống kê
(1) Tiêu đề chung
Tên: Tạo thống kê
Loại: chi tiết
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
Đối tác: SalesPerson
Trang 362.Hệ thống hiện ra giao diện hiển thị các tiêu chí cho phép
SalesPerson tạo thống kê
3.SalesPerson có thể lựa chọn thống kê theo các tiêu chí:
+Thống kê các sản phẩm được đặt mua nhiều nhất trong tháng trước
+Thống kê các sản phẩm chưa được đặt mua lần nào
+Thống kê các tài khoản đặt mua hàng có giá trị nhiều nhất
+Thống kê các tài khoản quen thuộc có số đơn hàng từ 5 trở lên
+Thống kê tổng số tiền thu được trong tháng trước
+Thống kê các đơn hàng đang chờ
xử lý
4 Hệ thống sẽ truy cập vào cơ sở
dữ liệu và đưa ra được thông tin
Trang 37III PHÂN TÍCH CẤU TRÚC
1 Biểu đồ lớp
Trang 39_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
_ManageBill: quản lý hóa đơn
+ Phương thức:
Tên phương thức Mô tả
Thêm hóa đơn (addBill(Bill)) Phương thức này nhận vào một đối tượng của lớp
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
Trang 40(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 trả về danh sách của các hóa đơn
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