Phân tích thiết kế hệ thống thông tin xây dựng website thương mại điện tử bán các sản phẩm nhạc cụ. Công nghệ thông tin Đại Học Bách Khoa Hà Nội.Báo cáo bài tập lớn môn phân tích thiết kế Hệ Thống Thông Tin
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 môn học
Phân tích và thiết kế
hệ thống thông tin
Đề tài: Xây dựng website thương mại điện tử bán các sản phẩm nhạc cụ
Sinh viên thực hiện : Nguyễn Huy Đức 20131014
Nguyễn Hữu Dũng 20130667Hoàng Phó Nam 20132652Chu Thành Cương 20130468
Hà Nội, tháng 4 năm 2016
Trang 2Mục lục
Trang 3Tài liệu tham khảo:
1. Bài giảng môn học Phân tích và Thiết kế Hệ Thống Thông tin (Năm học 2015/2016) – TS Nguyễn Nhật Quang
2. Phát triển hệ thống hướng đối tượng với UML 2.0 và C++ - Nguyễn Văn Ba
3. www.lucidchart.com
4. www.uml.org
5.
Trang 41. Phân tích yêu cầu bài toán
1.1. Yều cầu đặt ra
• Xây dựng 1 website bán các sản phẩm nhạc cụ bằng ASP.NET, hỗ trợ công ty quản lí , bán các sản phẩm của mình , giúp người dùng
có thể thuận lợi hơn trong việc mua các sản phẩm
1.2. Các nhiệm vụ cơ bản , chức năng chính
• Đối với công ty (người quản lý) :
- Quản lí được thành viên của website : thêm , sửa , xóa thành viên
- Quản lí được các mặt hàng của công ty : thêm , sửa , xóa các sản phẩm
- Thống kê số lượng sản phẩm bán ra theo ngày , theo từng sản phẩm , sản phẩm bán chạy nhất , …
- Quản lí , thống kê được các đơn hàng theo ngày , theo sản phẩm
- Thống kê doanh thu theo ngày , theo tháng
- Quản lí các hình thức giảm giá : khách hàng mua nhiều được giảm giá bao nhiêu % , mua nhiều tặng nhiều ( ví dụ : mua 10 cuốn tặng 1 cuối cùng loại )
• Đối với người dùng (khách vãng lai và thành viên của website)
- Khách vãng lai : có thể tìm kiếm , xem thông tin của các sản phẩm theo tên , giá tiền , sản phẩm mới nhất , bán chạy nhất ,
… , đăng kí làm thành viên
- Thành viên website : ngoài chức năng của khách vãng lai , còn
có thể mua sản phẩm , bình luận , đánh giá sản phẩm , nâng cấp mức thành viên (bằng cách mua nhiều sản phẩm ) để có thêm khuyến mãi
1.3. Các quy trình xử lý nghiệp vụ
- Đối với việc mua sách : khách hàng sau khi chọn sách để mua
sẽ chọn thêm hình thức thanh toán qua thẻ của ngân hàng nào , sau khi thực hiện chuyển khoản , công ty sẽ xác nhận bằng việc kiểm tra xem đã có tiền chuyển vào chưa , sau đó sẽ chuyển hàng cho khách hàng và khi đó mới tính là đã bán sản phẩm đó
- Đối với việc nhập sản phẩm : Công ty sẽ thống kê xem ngày đó nhập thêm những sản phẩm nào , sau đó người quản trị sẽ thêm các sản phẩm đó vào website
- Các loại thông tin sử dụng trong hệ thống : không sử dụng thêm thông tin bên ngoài , chỉ sử dụng các số liệu về sản phẩm do công ty cung cấp
Trang 5- Các yêu cầu đặt ra đối vs hệ thống trong tương lai :
• Có thể đáp ứng được lượng lớn người truy cập và mua cùng lúc (có thể lên đến 1000 người truy cập đồng thời)
• Website có thiết kế đẹp mắt , phù hợp với thị hiếu người tiêu dùng
• Không để nảy sinh lỗi trong quá trình mua bán sản phẩm
• Có thể nâng cấp hệ thống (ở một mức độ nào đó) , phù hợp với yêu cầu của khách hàng
Trang 62. Phân tích hệ thống hỗ trợ bán nhạc cụ trực tuyến
2.1. Xây dựng biểu đồ use case
2.1.1. Biểu đồ use case tổng quan
Trang 72.1.2. Phân rã biểu đồ use case
2.1.2.1. Use case Xem sản phẩm
Trang 82.1.2.2. Use case Thanh toán
2.1.2.3. Use case quản lý sản phẩm
Trang 92.1.2.4. Use case hoạt động khuyến mãi
Trang 102.1.2.5. Use case đăng ký , đăng nhập
2.1.2.6. Use case tương tác sản phẩm
Trang 112.1.2.7. Use case thống kê
2.2. Đặc tả các use case
2.2.1. Đặc tả usecase xem sản phẩm
Điều kiện sau Hiển thị danh sách sản phẩm cho khách
hàng
trang web để xem sản phẩmChuỗi sự kiện chính :
- Người sử dụng chọn chức năng xem danh sách sản phẩm theo loại hoặc
có thể tìm kiếm sản phẩm theo tên
- Dựa vào danh sách, người sử dụng có thể lọc sản phẩm, sắp xếp sản phẩm để có thể xem chi tiết hơn Hoặc người sử dụng cũng có thể so sánh giữa các sản phẩm với nhau
- Từ danh sách sản phẩm, người sử dụng chọn một sản phẩm để xem chi tiết Người bán hàng sẽ lấy thông tin chi tiết về sản phẩm và báo cho người sử dụng
Trang 12- Với sản phẩm này, người sử dụng có thể thêm sản phẩm vào giỏ hàng hoặc thêm sản phẩm vào wish-list Để thêm sản phẩm vào wish-list, người sử dụng phải đăng nhập vào hệ thống.
Ngoại lệ :
2.2.2. Đặc tả usecase quản lý sản phẩm
Điều kiện trước Nhân viên bán hàng đăng nhập vào hệ
thốngĐiều kiện sau Hệ thống cập nhật cơ sở dữ liệu sau khi
nhân viên bán hàng thêm/sửa/xóa sản phẩm , hiển thị lại danh sách sản phẩmKích hoạt Nhân viên bán hàng chọn chức năng
quản lý sản phẩmChuỗi sự kiện chính :
- Nhân viên bán hàng sẽ đăng nhập vào hệ thống và truy cập vào cơ sở
2.2.3. Đặc tả usecase đăng kí tài khoản
Tác nhân chính Khách hàng (chưa có tài khoản)
Điều kiện sau Khách hàng đăng kí tài khoản thành
Trang 13công ,có thể đăng nhập vào hệ thống bằng tài khoản đó
khoảnChuỗi sự kiện chính :
- Khách hàng chọn chức năng đăng kí tài khoản
- Hệ thống hiển thị trang đăng kí tài khoản cho khách hàng
- Khách hàng nhập thông tin theo mẫu
- Hệ thống nhận thông tin và xác thực tài khoản bằng cách gửi email xác nhận đến email đăng kí
- Hệ thống tạo tài khoản và lưu các thông tin đã nhập cho khách hàngNgoại lệ :
- Nếu các thông tin người dùng nhập không thỏa mãn các điều kiện của
hệ thống : username đã tồn tại , password không khớp , … Thì hệ thống sẽ yêu cầu người dùng nhập lại
- Nếu hệ thống xác thực tài khoản không thành công ( khách hàng không click vào email xác thực mà hệ thống gửi đến ) thì thông báo xác thực thất bại , đưa người dùng trở lại trang đăng kí với thông tin rỗng
2.2.4. Đặc tả usecase đăng nhập
Tác nhân chính Thành viên / Quản trị hệ thống/ Nhân
viên bán hàngĐiều kiện trước Người dùng đã có tài khoản thành viênĐiều kiện sau Người dùng đăng nhập thành công vào
hệ thốngKích hoạt Người dùng chọn chức năng Đăng
nhậpChuỗi sự kiện chính :
- Khách hàng chọn chức năng đăng nhập
- Hệ thống hiển thị trang đăng nhập
- Khách hàng nhập tên tài khoản và mật khẩu
- Hệ thống tiến hành xác thức đăng nhập ( so sánh với tài khoản và mật khẩu trong cơ sở dữ liệu )
- Hệ thống thiết lập phiên đăng nhập cho người dùng , hiển thị các chức năng theo từng loại người dùng
Ngoại lệ :
Trang 14- Nếu tên tài khoản và mật khẩu không khớp với cơ sở dữ liệu , hệ thống
sẽ hiện thông báo “tên tài khoản hoặc mật khẩu không đúng , yêu cầu nhập lại tài khoản “
2.2.5. Đặc tả usecase thanh toán
Điều kiện trước Thành viên đã đăng nhập thành công
vào hệ thốngĐiều kiện sau Thanh toán hoàn tất , tiến hành chuyển
- Nhân viên bán hàng sẽ yêu cầu người sử dụng xác thực thành viên Nếu người sử dụng chưa đăng nhập, hệ thống sẽ yêu cầu người sử dụng đăng nhập hoặc đăng ký vào hệ thống Nếu người sử dụng đã đăng nhập, bước này sẽ được bỏ qua
- Nhân viên bán hàng yêu cầu người sử dụng cung cấp thông tin khách hàng Nếu người sử dụng đã có sẵn thông tin và muốn sử dụng thông tin có sẵn, nhân viên bán hàng sẽ nhập thông tin đó Còn nếu người sử dụng chưa có thông tin hoặc muốn nhập thông tin mời, người sử dụng
sẽ cho phép nhập thông tin mới
- Nhân viên bán hàng sẽ tính tiền sản phẩm bao gồm tổng giá trị sản phẩm, thuế, chi phí vận chuyển và gửi hóa đơn cho người sử dụng
- Người sử dụng sẽ chọn loại tài khoản tín dụng mà mình sử dụng để thanh toán Yêu cầu thanh toán sẽ được chuyển tiếp đến đơn vị tín dụng tương ứng Đơn vị này yêu cầu người sử dụng nhập thông tin thẻ và nó
sẽ xác thực thông tin này
- Hệ thống sẽ cập nhật lại cơ sở dữ liệu
Ngoại lệ :
- Xác thực tài khoản tín dụng thất bại (số tài khoản không đúng , không
đủ số dư trong tài khoản ) thì hệ thống sẽ thông báo xác thực tài khoản tín dụng không thành công , kèm theo lí do Cho phép người dùng
Trang 15nhập lại tài khoản tín dụng
- Nếu người dùng không nhập tài khoản tín dụng thỏa mãn yêu cầu sau 3 lần nhập sẽ đưa người dùng về trang chủ Hủy bỏ phiên giao dịch tại đây, không cập nhật lại cơ sở dữ liệu
2.2.6. Đặc tả usecase tương tác sản phẩm
Tác nhân chính Thành viên / Nhân viên bán hàng/Quản
trị viên hệ thốngĐiều kiện trước Thành viên / Nhân viên bán hàng/Quản
trị viên hệ thống đã đăng nhập thành công vào hệ thống
Điều kiện sau Tương tác sản phẩm thành công (bình
luận , review , shared)
Share / ReviewChuỗi sự kiện chính :
- Khi xem một sản phẩm nào đó, người sử dụng có thể bình luận sản phẩm ở phía dưới sản phẩm Bình luận này thường là hỏi đáp về sản phẩm và nhân viên bán hàng cần trả lời về các câu hỏi đó
- Nếu người sử dụng đã trải nghiệm sản phẩm, họ có thể review chi tiết
về sản phẩm
- Người sử dụng nếu thấy thích sản phẩm có thể chia sẻ sản phẩm bằng cách gửi 1 email đến bạn bè của người đó hoặc chia sẻ sản phẩm qua mạng Facebook bằng cách post bài
Ngoại lệ :
2.2.7. Đặc tả usecase Hoạt động khuyến mãi
Điều kiện trước Nhân viên bán hàng đã đăng nhập
thành công vào hệ thống
thành công
Trang 16Kích hoạt Nhân viên bán hàng chọn chức năng
Khuyến mãiChuỗi sự kiện chính :
- Khi có chương trình khuyến mãi bắt đầu, nhân viên sẽ vào cơ sở dữ liệu và thêm giá khuyến mãi
- Nhân viên sẽ đăng tin về nội dung khuyến mãi lên trang chủ
- Sau đó nhân viên gửi thông tin khuyến mãi cho khách hàng qua email
Có 2 nội dung cần gửi là nội dung khuyến mãi chung và nội dung khuyến mãi theo wish-list của từng tài khoản Với việc gửi theo wish-list, nhân viên bán hàng sẽ cần kiểm tra wish-list của người sử dụng và kiểm tra các sản phẩm trong đó có khuyến mãi hay không để gửi nội dung khuyến mãi đi
Ngoại lệ :
2.2.8. Đặc tả usecase Thống kê
Tác nhân chính Nhân viên bán hàng/ Quản trị viên hệ thống
Điều kiện trước Nhân viên bán hàng / Quản trị viên hệ thống đã
đăng nhập thành công vào hệ thốngĐiều kiện sau Hiển thị thống kê theo các tiêu chí đã chọn
Kích hoạt Nhân viên bán hàng/ Quản trị viên hệ thống chọn
chức năng Thống kêChuỗi sự kiện chính :
- Nhân viên bán hàng/ Quản trị viên chọn chức năng thống kê
- Hệ thống đưa người dùng đến trang thông kê , để người dùng chọn các tiêu chí thông kê : lượng bán theo ngày , bán theo tháng , sản phẩm bán chạy nhất , các sản phẩm hết hàng , các sản phẩm mới nhất , các đơn hàng đặt trong ngày , đơn hàng đã giao , đơn hàng chưa giao , doanh thu theo ngày , tháng
- Hệ thống hiển thị lên danh sách các sản phẩm / đơn hàng theo yêu cầu của người dùng
Ngoại lệ :
- Khi người dùng chọn các sản phẩm hết hàng mà danh sách này rỗng thì
Trang 17sẽ hiển thị thông báo không có sản phẩm hết hàng , tương tự với các trường hợp khác
Trang 182.3. Biểu đồ hoạt động cho từng use case
2.3.1. Biểu đồ hoạt động đăng nhập
2.3.2. Biểu đồ hoạt động đăng ký
Trang 192.3.3. Biểu đồ hoạt động tương tác sản phẩm
2.3.4. Biểu đồ hoạt động thống kê
Trang 202.3.5. Biểu đồ hoạt động khuyến mãi
2.3.6. Biểu đồ hoạt động xem sản phẩm
Trang 212.3.7. Biểu đồ hoạt động thanh toán
2.3.8. Biểu đồ hoạt động quản lý sản phẩm
Trang 222.4. Biểu đồ lớp cho từng use case
2.4.1. Biểu đồ lớp xem sản phẩm
Trang 232.4.2. Biểu đồ lớp thanh toán
2.4.3. Biểu đồ lớp quản lý sản phẩm
Trang 242.4.4. Biểu đồ lớp hoạt động khuyến mãi
Trang 252.4.5. Biểu đồ lớp tương tác sản phẩm
2.4.6. Biểu đồ lớp đăng kí
2.4.7. Biểu đồ lớp đăng nhập
Trang 262.4.8. Biểu đồ lớp thống kê
Trang 272.5. Biểu đồ trình tự cho từng use case
2.5.1. Biểu đồ trình tự đăng nhập
Trang 282.5.2. Biểu đồ trình tự đăng ký
Trang 292.5.3. Biểu đồ trình tự quản lý sản phẩm
Trang 302.5.4. Biểu đồ trình tự xem sản phẩm
2.5.5. Biểu đồ trình tự tương tác sản phẩm
Trang 312.5.6. Biểu đồ trình tự Hoạt động khuyến mãi
2.5.7. Biểu đồ trình tự usecase thanh toán
2.5.8. Biểu đồ trình tự use case Thống kê
Trang 323. Thiết kế chi tiết
3.1. Mô hình cơ sở dữ liệu :
Trang 333.2. Thiết kế các lớp chi tiết
- Chúng ta sẽ thiết kế hệ thống theo mô hình 3 lớp : GUI, BLL, DAL : nhóm các thành phần có cùng chức năng lại với nhau
GUI (Graphic User Interface) : Là thành phần giao diện , là các form của chương trình tương tác với người dùng thông qua các đối tượng trong giao diện người sử dụng
BLL (Business Logic Layer ) : được phân công xử lý các nghiệp vụ của chương trình như tính toán , xử lý các yêu cầu và kiểm tra tính hợp lệ và toàn vẹn về mặt dữ liệu trước khi được đưa lên hiển thị lên màn hình hoặc xử lý các dữ liệu trước khi chuyển xuống DAL để lưu trữdữ liệu vào database
DAL (Data Access Layer) : Chức năng của lớp này là giao tiếp với các
hệ quản trị cơ sở dữ liệu Lớp này thực hiện các nghiệp vụ liên quan đến lưu trữ và truy xuất dữ liệu của ứng dụng như đọc , lưu , cập nhật
cơ sở dữ liệu
Cách vận hành của mô hình 3 lớp : Các yêu cầu được xử lý tuần tự qua các lớp Đầu tiên người dùng giao tiếp với lớp GUI để gửi thông tin yêu cầu Tại layer này , các thông tin sẽ được kiểm tra sơ bộ , nếu hợp lệ thì chúng sẽ được chuyển xuống lớp BLL Tại lớp BLL, các thông tin sẽ được xử lý , nếu không cần đến database thì nó sẽ gửi trả kết quả về cho lớp GUI , ngược lại nó sẽ đẩy dữ liệu xuống DAL DAL sẽ thao tác với database và trả kết quả về cho BLL, BLL kiểm tra và gửi nó lên GUI để hiển thị cho người dùng
Trang 343.2.1. Tầng DAL :
Trang 353.2.2. Tầng BLL
Trang 363.2.3. Tầng UI
Trang 373.3. Thiết kế giao diện
3.3.1. Giao diện trang chủ
Trang 383.3.2. Giao diện đăng kí
Trang 393.3.3. Giao diện đăng nhập
Trang 403.3.4. Giao diện chi tiết sản phẩm
Trang 413.3.5. Giao diện giỏ hàng
Trang 423.3.6. Giao diện thống kê
Trang 433.3.7. Giao diện quản lý sản phẩm
Trang 443.3.8. Giao diện quản lý thành viên
Trang 454. Kết luận
4.1. Khó khăn trong quá trình thực hiện và cách thức giải quyết
- Với việc làm bài tập lớn, bước tìm hiểu yêu cầu hoàn toàn là do sinh viên
tự quan sát các hệ thống tương tự đang hoạt động, giả sử và nghĩ ra những yêu cầu cho hệ thống Những yêu cầu này khi mới nghĩ ra có thể rất hợp lý nhưng khi đi vào bước phân tích, do những yêu cầu không xuất phát từ thực tế nên không được chặt chẽ, vì vậy gây khó khăn cho quá trình phân tích cũng như thiết kế
Giải pháp: Những yêu cầu chưa chặt chẽ sẽ được điều chỉnh lại trong quá trình thực hiện để thuận lợi cho việc phân tích và thiết kế
- Việc phân tích thiết kế thông thường trong môi trường làm việc chuyên nghiệp sẽ do những kỹ sư rất có kinh nghiệm thực hiện Còn với bài tập lớn, những người thực hiện là sinh viên hầu hết chưa có nhiều kinh nghiệm lập trình trong những hệ thống thực tế nên từ việc mô hình hóa đến thiết kế đều hết sức khó khăn và đôi lúc là mơ hồ
Giải pháp: Đọc lại kỹ những tài liệu hướng dẫn cho môn học Tuy nhiên tài liệu đôi lúc không thể đầy đủ nên vấn đề chưa được giải quyết dứt điểm Vì vậy chúng em vẫn chưa thấy thực sự thỏa mãn với bài tập lớn này
- Do phần bài tập lớn này không đi cùng với pha lập trình nên nhiều công nghệ chúng em vẫn chưa thể tìm hiểu và có cái nhìn cặn kẽ về chúng Ví
dụ như đó là những API để kết nối với Mạng xã hội như Facebook API hay với các đơn vị cung cấp thẻ tín dụng như Visa API
4.2. Hướng phát triển và cải thiện hệ thống
- Đầu tiên, hệ thống sẽ hỗ trợ tốt hơn cho khách hàng Vì vậy trong tương lai có thể phát triển thêm phần chat trực tuyến ngay tại trang web với nhân viên bán hàng
- Hệ thống có phần review sản phẩm với những video clip được nhúng trực tiếp vào trang web
- Với xu hướng hiện nay về thực tế ảo, hệ thống có thể hỗ trợ công cụ thực
tế ảo cho phép người dùng chơi thử các sản phẩm nhạc cụ và cảm nhận đúng âm thanh chân thực
- Với xu hướng hiện nay về học máy và dữ liệu lớn, hệ thống có thể hỗ trợ việc phân tích dữ liệu về các sản phẩm nhạc cụ để có thể đánh giá sản phẩm theo các tiêu chí khác nhau, từ đó hỗ trợ việc tư vấn trực tuyến bởi những trợ lý ảo