6 Trong bước đầu xây dựng mô hình website QLPPSPTT, chúng em quan tâm đến những phần chính sau: - Đăng ký đại lý - Xem thông tin sản phẩm mẫu mã, số lượng, giá cả,… - Đăng ký số lượng sả
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
TP Hồ Chí Minh, tháng 03 năm 2011
Trang 2ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
TP Hồ Chí Minh, tháng 03 năm 2011
Trang 3ABSTRACT
Nowadays, information technology in general and internet in particular has developed rapidly and has been increasingly widely used in many fields such as economy, science, military, health, education and so on
The developement of internet helps to reduce the limit of the distance and the waste of time In economy, website helps to advertise and introduce products to partners promptly Website also makes close relationships quickly in order to partners can exchange information together promptly and correctly in their cooperations
For product distribution company, it is very necessary and useful to construct a website to advertise their products to agents This makes agents easy to select products, save costs, time and labor
Derive from the actual needs, and along with suggestion of Ms Do Thi Thanh Tuyen - Master, theme with title " Building Website Stores Management Online" has been created This theme has six main chapters as follows:
Chapter 1: Introduction summary of the subject, meaning and scope of the subject
Chapter 2: Introduce about technologies and tools used
Chapter 3: Survey current situation and identify requirements
Chapter 4: System analysis
Chapter 5: System design
Chapter 6: Install and deploy website
Trang 4MỞ ĐẦU
Ngày nay, công nghệ thông tin nói chung và internet nói riêng đã phát triển mạnh
mẽ và ngày càng được ứng dụng rộng rãi vào nhiều lĩnh vực khác nhau: kinh tế, khoa học, quân sự, y tế, giáo dục,…
Internet phát triển góp phần làm cho các giới hạn về khoảng cách, sự mất mát về thời gian giảm đi đáng kể Trong kinh tế, các website góp phần quảng bá, giới thiệu sản phẩm nhanh nhất đến đối tác Website tạo ra mối quan hệ nhanh chóng, gần gũi để các đối tác có thể trao đổi với nhau thông tin nhanh nhất, chính xác nhất trong quá trình hợp tác
Đối với các công ty phân phối sản phẩm, việc xây dựng website để quảng bá sản phẩm đến các đại lý, tạo thuận lợi cho đại lý trong việc lựa chọn sản phẩm, tiết kiệm chi phí thời gian, nhân lực là vô cùng cần thiết và hữu ích
Nhu cầu thực tế, ý tưởng nảy sinh, cùng với những gợi ý của Thạc sĩ Đỗ Thị Thanh Tuyền, em đã thực hiện đồ án “Xây dựng website quản lý đại lý trực tuyến” với nội dung trình bày gồm sáu chương chính như sau:
- Chương 1: Giới thiệu tổng quát về đề tài, ý nghĩa đề tài và phạm vi đề tài
- Chương 2: Giới thiệu các công nghệ và công cụ đã sử dụng
- Chương 3: Khảo sát hiện trạng và xác định yêu cầu
- Chương 4: Phân tích hệ thống
- Chương 5: Thiết kế hệ thống
- Chương 6: Cài đặt và triển khai website
Trang 5Bên cạnh đó, mình cũng xin gởi lời cảm ơn đến các bạn trong khoa đã giúp đỡ, động viên mình Mình thực sự cảm kích với tấm lòng các bạn dành cho mình Mặc dù đã cố gắng hoàn thành luận văn với tất cả những cố gắng, nỗ lực nhưng chắc chắn luận văn không tránh khỏi những thiếu sót, em kính mong quý Thầy Cô tận tình chỉ bảo
Thành phố Hồ Chí Minh, tháng 03 năm 2011
Sinh viên thực hiện ĐOÀN NHẬT TRỰC
Trang 6NHẬN XÉT (Của giảng viên hướng dẫn)
Trang 7
NHẬN XÉT (Của giảng viên phản biện)
Trang 8
MỤC LỤC
Chương 1: Giới thiệu 1
1.1Ý nghĩa đề tài 1
1.2Phạm vi đề tài 1
Chương 2: Tổng quan về công nghệ áp dụng vào hệ thống 2
2.1ASP.NET 2
2.2MVC 2.0 Design Pattern 2
2.3LINQ 3
2.4Security 3
Chương 3: Khảo sát hiện trạng 5
3.1Hiện trạng 5
3.2Nhận xét 5
3.3Yêu cầu hệ thống 6
3.3.1 Yêu cầu chức năng 6
3.3.2 Yêu cầu phi chức năng 7
Chương 4: Phân tích hệ thống 9
4.1Mô hình nghiệp vụ hệ thống 9
4.1.1 Phân rã chức năng “Quản lý bán hàng” 9
4.1.2 Phân rã chức năng “Quản lý sản phẩm” 12
4.1.3 Phân rã chức năng “Quản lý khuyến mãi” 13
4.1.4 Phân rã chức năng “Quản lý doanh thu” 14
4.1.5 Phân rã chức năng “Quản lý công nợ” 15
4.1.6 Phân rã chức năng “Quản lý đại lý” 15
4.1.7 Phân rã chức năng “Quản lý tin tức” 16
4.2Mô hình hóa dữ liệu 18
4.2.1 Mô hình 18
4.2.2 Mô tả thực thể 18
4.2.3 Mô tả mối kết hợp 23
4.3Mô hình hóa xử lý 26
4.3.1 Mô hình DFD level 0 27
Trang 94.3.2 Mô hình DFD level 1 28
4.3.3 Mô hình DFD level 2 30
Chương 5: Thiết kế hệ thống 32
5.1Thiết kế dữ liệu 32
5.1.1 Sơ đồ lớp dữ liệu (mức vật lý) 32
5.1.2 Mô tả chi tiết các lớp đối tượng 33
5.1.3 Mô tả các ràng buộc toàn vẹn 40
5.2Thiết kế giao diện 44
5.2.1 Cấu trúc màn hình 44
5.2.2 Danh sách các màn hình 44
5.2.3 Mô tả chi tiết các màn hình 47
Chương 6: Cài đặt và triển khai 93
6.1Cài đặt 93
6.1.1 Mô hình, công cụ và môi trường phát triển hệ thống 93
6.1.2 Cấu hình yêu cầu 93
6.2Triển khai 93
Tổng kết đánh giá 94
Kết quả đạt được 94
Hướng phát triển 94
PHỤ LỤC 95
TÀI LIỆU THAM KHẢO 96
Trang 10DANH SÁCH CÁC SƠ ĐỒ
Sơ đồ 4.1 – Phân rã chức năng hệ thống 9
Sơ đồ 4.2 – Phân rã chức năng “quản lý bán hàng” 9
Sơ đồ 4.3 – Phân rã chức năng “quản lý sản phẩm” 12
Sơ đồ 4.4 – Phân rã chức năng “quản lý khuyến mãi” 13
Sơ đồ 4.5 – Phân rã chức năng “quản lý doanh thu” 14
Sơ đồ 4.6 – Phân rã chức năng “quản lý công nợ” 15
Sơ đồ 4.7 – Phân rã chức năng “quản lý đại lý” 15
Sơ đồ 4.8 – Phân rã chức năng “quản lý tin tức” 16
Sơ đồ 4.9 – Mô hình ngữ cảnh hệ thống 26
Sơ đồ 4.10 – DFD level 0 27
Sơ đồ 4.11 – DFD level 1 – Xử lý 1 28
Sơ đồ 4.12 – DFD level 1 – Xử lý 2 28
Sơ đồ 4.13 – DFD level 1 – Xử lý 3 29
Sơ đồ 4.14 – DFD level 1 – Xử lý 6 29
Sơ đồ 4.15 – DFD level 1 – Xử lý 7 30
Sơ đồ 4.16 – DFD level 2 – Xử lý 1.1 30
Sơ đồ 4.17 – DFD level 2 – Xử lý 1.2 30
Sơ đồ 4.18 – DFD level 2 – Xử lý 1.3 30
Sơ đồ 4.19 – DFD level 2 – Xử lý 3.1 31
Sơ đồ 5.1 – Mô hình dữ liệu mức vậy lý 32
Trang 11DANH SÁCH CÁC HÌNH
Hình 2.1 – Mô hình MVC 2
Hình 2.2 – Mô hình kiến trúc LINQ 3
Hình 4.1 – Mô hình quan niệm dữ liệu 18
Hình 5.1 – Cấu trúc màn hình 44
Hình 5.2 – Màn hình “trang chủ” 47
Hình 5.3 – Màn hình “tin tức” 48
Hình 5.4 – Màn hình “chi tiết tin tức” 49
Hình 5.5 – Màn hình “sản phẩm” 50
Hình 5.6 – Màn hình “chi tiết sản phẩm” 52
Hình 5.7 – Màn hình “giỏ hàng” 53
Hình 5.8 – Màn hình “chi tiết địa chỉ giao hàng” 54
Hình 5.9 – Màn hình “chi tiết hóa đơn” 55
Hình 5.10 – Màn hình “đăng nhập” 56
Hình 5.11 – Màn hình “đăng ký thành viên” 57
Hình 5.12 – Màn hình “danh sách tin nhắn nhận” 57
Hình 5.13 – Màn hình “danh sách tin nhắn gởi” 58
Hình 5.14 – Màn hình “gởi tin nhắn” 59
Hình 5.15 – Màn hình “đọc tin nhắn gởi” 60
Hình 5.16 – Màn hình “đọc tin nhắn nhận” 60
Hình 5.17 – Màn hình “thông tin công ty” 61
Hình 5.18 – Màn hình “liên hệ” 62
Hình 5.19 – Màn hình “FAQ” 63
Hình 5.20 – Danh sách khuyến mãi 64
Hình 5.21 – Chi tiết khuyến mãi 65
Hình 5.20 – Màn hình “quản lý thông tin cá nhân” 66
Hình 5.21 – Màn hình “thông tin đại lý” 67
Hình 5.22 – Màn hình “chi tiết thông tin đại lý” 68
Hình 5.23 – Màn hình “thông tin công nợ” 69
Hình 5.24 – Màn hình “chi tiết công nợ” 70
Hình 5.25 – Màn hình “thông tin mua hàng” 71
Trang 12Hình 5.26 – Màn hình “danh sách thành viên” 71
Hình 5.27 – Màn hình “thêm thành viên” 72
Hình 5.28 – Màn hình “chi tiết thành viên” 73
Hình 5.29 – Màn hình “danh sách đại lý” 73
Hình 5.30 – Màn hình “chi tiết đại lý” 74
Hình 5.31 – Màn hình “danh sách sản phẩm” 75
Hình 5.32 – Màn hình “thêm/ chỉnh sửa thông tin sản phẩm” 76
Hình 5.33 – Màn hình “danh sách khuyến mãi” 77
Hình 5.34 – Màn hình “thêm khuyến mãi” 78
Hình 5.35 – Màn hình chỉnh sửa thông tin khuyến mãi 79
Hình 5.36 – Màn hình “danh sách nhà sản xuất” 80
Hình 5.37 – Màn hình “thêm/ chỉnh sửa thông tin nhà sản xuất” 81
Hình 5.38 – Màn hình “danh sách loại sản phẩm” 82
Hình 5.39 – “Màn hình thêm/ chỉnh sửa thông tin loại sản phẩm” 83
Hình 5.40 – Màn hỉnh “thống kê doanh thu” 84
Hình 5.41 – Màn hình “thống kê đơn hàng” 85
Hình 5.42 – Màn hình “thống kê công nợ” 86
Hình 5.43 – Màn hình “danh sách tin tức” 87
Hình 5.44 – Màn hình “thêm/ chỉnh sửa tin tức” 88
Hình 5.45 – Màn hình “chỉnh sửa thông tin công ty” 89
Hình 5.46 – Màn hình “chỉnh sửa thông tin liên hệ” 90
Hình 5.47 – Màn hình “danh sách FAQ” 91
Hình 5.48 – Màn hình “chỉnh sửa thông tin FAQ” 92
Trang 13DANH SÁCH CÁC BẢNG
Bảng 4.1 – Thực thể “BillingPeriods” 19
Bảng 4.2 – Thực thể “AccountsPayable” 19
Bảng 4.3 – Thực thể “ShippingAddress” 19
Bảng 4.4 – Thực thể “Products” 20
Bảng 4.5 – Thực thể “AccountPayableDetails” 20
Bảng 4.6 – Thực thể “Stores” 20
Bảng 4.7 – Thực thể “Orders” 20
Bảng 4.8 – Thực thể “Brands” 21
Bảng 4.9 – Thực thể “Members” 21
Bảng 4.10 – Thực thể “Promotions” 22
Bảng 4.11 – Thực thể “Manufactures” 22
Bảng 4.12 – Thực thể “News” 22
Bảng 4.13 – Thực thể “Roles” 22
Bảng 4.14 – Thực thể “MessageRelations” 23
Bảng 4.15 – Thực thể “Images” 23
Bảng 5.1 – Chi tiết thuộc tính lớp “Images” 33
Bảng 5.2 – Chi tiết thuộc tính lớp “BillingPeriods” 33
Bảng 5.3 – Chi tiết thuộc tính lớp “ShippingAddress” 33
Bảng 5.4 – Chi tiết thuộc tính lớp “Messages” 34
Bảng 5.5 – Chi tiết thuộc tính lớp “MessageRelations” 34
Bảng 5.6 – Chi tiết thuộc tính lớp “AccountsPayable” 34
Bảng 5.7 – Chi tiết thuộc tính lớp “Stores” 35
Bảng 5.8 – Chi tiết thuộc tính lớp “Products” 36
Bảng 5.9 – Chi tiết thuộc tính lớp “AccountPayableDetails ” 36
Bảng 5.10 – Chi tiết thuộc tính lớp “Orders” 36
Bảng 5.11 – Chi tiết thuộc tính lớp “MembersInStores” 36
Bảng 5.12 – Chi tiết thuộc tính lớp “OrderDetails” 37
Bảng 5.13 – Chi tiết thuộc tính lớp “Brands” 37
Bảng 5.14 – Chi tiết thuộc tính lớp “PromotionsByManufactures” 37
Bảng 5.15 – Chi tiết thuộc tính lớp “Manufactures” 38
Bảng 5.16 – Chi tiết thuộc tính lớp “PromtionsByBrands” 38
Trang 14Bảng 5.17 – Chi tiết thuộc tính lớp “PromotionsByProducts” 38
Bảng 5.18 – Chi tiết thuộc tính lớp “Promotions” 39
Bảng 5.19 – Chi tiết thuộc tính lớp “News” 39
Bảng 5.20 – Chi tiết thuộc tính lớp “Members” 40
Bảng 5.22 – Chi tiết thuộc tính lớp “Roles” 40
Bảng 5.23 – Chi tiết thuộc tính lớp “MembersInRoles” 40
Bảng 5.24 – Danh sách màn hình chung 45
Bảng 5.25 – Danh sách màn hình cho khách hàng 45
Bảng 5.26 – Danh sách màn hình cho thành viên quản lý 47
Trang 15Quá trình lưu thông hàng hóa từ nhà sản xuất, qua các kênh phân phối đến đại lý
và người dùng cuối làm tăng chi phí đáng kể Do đó nếu giảm được chi phí của bất kỳ khâu nào trong quá trình lưu thông này sẽ dẫn đến lợi nhuận cao mà giá cả đến với người dùng lại rẻ Một trong những chi phí cho quá trình lưu thông này là việc các đại lý lựa chọn hàng hóa từ nhà phân phối Chi phí đi lại giữa đại lý và nhà phân phối nhằm phục vụ cho quá trình chọn hàng hóa của đại lý làm hao tốn thời gian, nhân lực, tiền bạc, Từ đó giảm lợi nhuận và tăng chi phí đầu tư cho đại lý
Như vậy, nếu nhà phân phối có kênh phân phối trực tuyến, để đại lý có thể chọn sản phẩm và nhà phân phối sẽ căn cứ và danh sách sản phẩm đại lý đã chọn để chuyển hàng thì sẽ rất thuận tiện cho việc quản lý của nhà phân phối cũng như tiện lợi cho đại lý
1.2 Phạm vi đề tài
- Đăng ký đại lý
- Xem thông tin sản phẩm (mẫu mã, số lượng, giá cả,…)
- Đăng ký số lượng sản phẩm (mỗi sản phẩm có kèm số lượng tối đa được đăng ký)
- Xem thông tin chương trình khuyến mãi
- Xuất phiếu xuất tạm thời (qua email)
- Nhập phiếu thu
- Thống kê công nợ các đại lý
- Thống kê doanh thu (theo sản phẩm, loại sản phẩm)
Trang 16vì vậy, ngôn ngữ lập trình sử dụng trong ASP.NET rất đa dạng, tất cả là 25 ngôn ngữ lập trình, trong đó phổ biến là C# và Visual Basic, gọi chung là các ngôn ngữ NET (.NET languages)
ASP.NET cho phép lập trình viên xây dựng những website động, các dịch vụ web Phiên bản đầu tiên của ASP.NET là ASP.NET 1.0 trên NET Framework 1.0 được phát hành tháng 1 năm 2002 Trải qua gần 10 năm phát triển, hiện nay phiên bản mới nhất của ASP.NET là ASP.NET 4.0 trên NET Framework 4.0 được phát hành tháng 4 năm 2010
2.2 MVC 2.0 Design Pattern
Model – View – Controller (MVC) là một nguyên tắc thiết kế kiến trúc, trong đó
nó chia tách ứng dụng thành nhiều thành phần, giúp cho quá trình phát triển, sửa đổi và bảo trì dễ dàng ứng dụng web
Hình 2.1 – Mô hình MVC
MVC gồm 3 thành phần cơ bản:
- Models: Các model có nhiệm vụ lưu trữ thông tin, trạng thái của các đối tượng, thông thường, nó là một lớp được ánh xạ từ một bảng trong cơ sở dữ liệu (CSDL)
- Views: Đây là thành phần chịu trách nhiệm hiển thị thông tin lên cho người dùng thông qua giao diện Thông thường, các thông tin cần hiển thị được lấy
từ Models
- Controllers: Chịu trách nhiệm xử lý các tác động về mặt giao diện, các thao tác đối với model, và cuối cùng là chọn một view thích hợp để hiển thị ra màn hình Trong kiến trúc MVC, view chỉ có tác dụng hiển thị giao diện mà thôi, còn điều kiển dòng nhập xuất của người dùng vẫn do Controller đảm trách
Mô hình MVC trên ASP.NET là sự kết hợp sức mạnh công nghệ hiện đại của ASP.NET Framework và tính hiệu quả của mô hình MVC Phiên bản ASP.NET
Trang 173
MVC 2.0 được Microsoft phát hành năm 2009 với nhiều thay đổi so với phiên bản 1.0 và được tích hợp vào Microsoft Visual Studio 2010 Một trong những tính năng mới trong MVC 2.0 chính là tính năng Validation Tính năng này sẽ được
mô tả chi tiết trong mục 2.4
Hình 2.2 – Mô hình kiến trúc LINQ
Mặc định, LINQ hỗ trợ hệ quản trị cơ sở dữ liệu SQL Server của Microsoft Muốn sử dụng LINQ với các hệ quản trị cơ sở dữ liệu khác như Oracle, DB, người lập trình cần phải sử dụng các thư viện của các hãng thứ ba như LINQtoOracle, LINQtoDB,…
2.4 Security
Với việc sử dụng ASP.NET MVC 2.0, chúng ta có thể áp dụng tính năng Validation của phiên bản này vào việc “validate” dữ liệu từ browser, giảm tối đa khả năng website bị tấn công bởi kĩ thuật SQL Injection Tấn công bằng SQL Injection là kĩ thuật cực kì nguy hiểm, bởi nó cho phép kẻ tấn công thể thao tác trên dữ liệu của website Tính năng Validation của ASP.NET MVC 2.0 sẽ kiểm tra dữ liệu đầu vào trên các model trong mô hình MVC Do đó, lập trình viên có
Trang 182.5 Visual Studio 2010
Visual Studio của Microsoft là công cụ tuyệt vời để phát triển những ứng dụng trên NET Framework Phiên bản 2010 của Visual Studio với bộ NET Framework 4.0 sẽ hoàn hảo cho việc phát triển các ứng dụng web với ASP.NET 4.0, MVC 2.0
2.6 SQL Server 2008
SQL Server - được phát triển bởi Microsoft - là một trong những hệ quản trị cơ sở
dữ liệu (CSDL) nổi tiếng mạnh mẽ Phiên bản 2008 của SQL Server sẽ nhận được
sự hỗ trợ tốt nhất từ LINQ
Trang 19bá, khuyến mãi đến với người dùng vô cùng nhanh chóng Khi khoảng cách, thời gian, nhân lực là những mối quan tâm lớn nhất trong hoạt động kinh doanh, internet làm đơn giản hóa những mối quan tâm đó
Nhận thức được tầm quan trọng và lợi ích của internet mang lại, việc xây dựng một hệ thống website để quản lý việc phân phối sản phẩm từ nhà phân phối đến các đại lý là vô cùng cần thiết, thực sự hữu ích và hết sức thiết thực Có nhiều ưu điểm của hệ thống quản lý phân phối sản phẩm trực tuyến (QLPPSPTT) với truyền thống mà chúng ta thực hiện Về phía đại lý, QLPPSPTT giúp tiết kiệm nhân lực cho đại lý trong việc đầu tư vào con người để thực hiện quá trình chọn sản phẩm và mua sản phẩm, tiết kiệm thời gian mua sản phẩm và giao sản phẩm, giảm thiểu tối đa tai nạn có thể xảy ra trong quá trình đại lý di chuyển từ phía đại
lý đến nhà phân phối Về phí nhà phân phối, QLPPSPTT giúp nhà phân phối đưa thông tin sản phẩm, thông tin khuyến mãi nhanh nhất, chính xác nhất đến các đại
lý, giao tiếp giữa nhà phân phối và đại lý được thực hiện thông suốt, tức thì và hiệu quả
Thứ hai, khả năng ứng dụng internet vào giao dịch ở Việt Nam còn hạn chế, làm cho nhà phân phối cũng như đại lý không mặn mà với mô hình QLPPSPTT
Tuy nhiên, hợp với quy luật phát triển chung của xã hội, và quy luật cạnh tranh ngày càng khốc liệt trong thương mại Việc ứng dụng mô hình QLPPSPTT là rất cần thiết nhằm đơn giản hóa quá trình lưu chuyển hàng hóa, giảm thiểu tối đa chi phí lên sản phẩm và tăng lợi nhuận
Trang 206
Trong bước đầu xây dựng mô hình website QLPPSPTT, chúng em quan tâm đến những phần chính sau:
- Đăng ký đại lý
- Xem thông tin sản phẩm (mẫu mã, số lượng, giá cả,…)
- Đăng ký số lượng sản phẩm (mỗi sản phẩm có kèm số lượng tối đa được đăng ký)
- Xem thông tin chương trình khuyến mãi
- Xuất phiếu xuất tạm thời (qua email)
- Nhập phiếu thu
- Thống kê công nợ các đại lý
- Thống kê doanh thu (theo sản phẩm, loại sản phẩm)
3.3 Xác định yêu cầu
3.3.1 Yêu cầu chức năng
Các nghiệp vụ chính:
Đối với người quản trị
- Quản lý, kiểm soát thông tin người dùng
- Quản lý, kiểm soát thông tin và quá trình mua hàng, thanh toán công nợ của đại lý
- Quản lý quyền hạn của người dùng
- Quản lý, cập nhật tin tức
- Trao đổi thông tin với người dùng qua hệ thống tin nhắn của website
Đối với thành viên website
- Quản lý thông tin cá nhân, thông tin đại lý của mình
- Quản lý quá trình mua, thanh toán công nợ đại lý của mình
- Trao đổi thông tin với quản lý, quản trị viên khi cần thiết thông qua hệ thống tin nhắn của website
Yêu cầu lưu trữ
Thông tin thành viên
Lưu trữ thông tin của thành viên, bao gồm thông tin của thành viên quản trị Một thành viên không phải thành viên quản trị có thể sở hữu một hay nhiều đại lý
Thông tin đại lý
Lưu trữ thông tin của đại lý Địa chỉ giao hàng cho đại lý có thể khác địa chỉ văn phòng của đại lý Một đại lý có thể thuộc sở hữu của nhiều thành viên
Thông tin sản phẩm
Lưu trữ thông tin sản phẩm
Thông tin chủng loại sản phẩm
Lưu trữ thông tin loại sản phẩm
Trang 217
Thông tin nhà sản xuất
Lưu trữ thông tin nhà sản xuất
Thông tin khuyến mãi
Lưu trữ thông tin khuyến mãi
Thông tin hóa đơn
Lưu giữ thông tin hóa đơn mua hàng của đại lý, chi tiết hóa đơn mua hàng
Thông tin công nợ đại lý
Lưu giữ thông tin công nợ của các đại lý
Thông tin tin nhắn
Lưu trữ tin nhắn liên lạc giữa các thành viên website
Thông tin tin tức
Tin tức về sản phẩm, về thế giới phù hợp với việc kinh doanh của nhà phân phối
Yêu cầu tra cứu
Tra cứu thông tin thành viên
- Thông tin thành viên
- Sở hữu đại lý
Tra cứu thông tin đại lý
- Thông tin đại lý
- Thuộc quyền sở hữu của thành viên
- Quá trình mua sản phẩm
Tra cứu thông tin sản phẩm
- Thông tin chi tiết sản phẩm
Yêu cầu tính toán
Tính doanh thu theo ngày, tháng, quý, năm hoặc một giới hạn thời gian trên từng sản phẩm hoặc loại sản phẩm
Tính công nợ theo ngày, tháng, quý, năm dựa trên đại lý hoặc tình trạng hóa đơn 3.3.2 Yêu cầu phi chức năng
Tính tiện dụng
Website phải được thiết kế đơn giản, dễ sử dụng đối với người dùng
Trang 22 Tính tương thích
Tương thích tốt với các trình quyệt phổ biến nhất hiện nay: Internet Explorer, FireFox, Opera, Chrome,…
Trang 23Quản lý bán hàng Quản lý sản phẩm Quản lý khuyến mãi Quản lý doanh thu Quản lý công nợ Quản lý đại lý Quản lý tin tức
Sơ đồ 4.1 – Phân rã chức năng hệ thống
4.1.1 Phân rã chức năng “Quản lý bán hàng”
Quản lý bán hàng
Xử lý đơn hàng Chuyển hàng Tiếp nhận đơn hàng
Ghi nhận đơn hàng Kiểm tra đơn hàng Đối chiếu đơn hàng
Sơ đồ 4.2 – Phân rã chức năng “quản lý bán hàng”
Mô tả chi tiết chức năng “Kiểm tra đơn hàng”
- Sự kiện kích hoạt
Khi đại lý mua hàng
- Quy trình thực hiện
Kiểm tra số lượng sản phẩm, số lượng đơn vị của mỗi sản phẩm
- Yêu cầu giao diện
Trang 24Lập phiếu giao hàng, tính toán thời gian hạn nợ
- Yêu cầu giao diện
Trang 25Dựa trên đơn hàng sẽ gom hàng với số lượng như trong đơn
- Yêu cầu giao diện
Trang 2612
4.1.2 Phân rã chức năng “Quản lý sản phẩm”
Quản lý sản phẩm
Thống kê sản phẩm Nhập sản phẩm Thay đổi thông tin sản phẩm
Sơ đồ 4.3 – Phân rã chức năng “quản lý sản phẩm”
Mô tả chi tiết chức năng “Nhập sản phẩm”
Cập nhập số lượng tối đa đại lý có thể mua trên sản phẩm vừa nhập
Mô tả chi tiết chức năng “Thống kê sản phẩm”
Trang 27Chọn sản phẩm cần thay đổi và chỉnh sửa thông tin sản phẩm
- Yêu cầu giao diện
4.1.3 Phân rã chức năng “Quản lý khuyến mãi”
Quản lý khuyến mãi
Kết thúc khuyến mãi Thêm khuyến mãi
Sơ đồ 4.4 – Phân rã chức năng “quản lý khuyến mãi”
Mô tả chi tiết chức năng “Thêm khuyến mãi”
Trang 2814
Khuyến mãi không vượt quá 100% giá trị sản phẩm
Mô tả chi tiết chức năng “Kết thúc khuyến mãi”
4.1.4 Phân rã chức năng “Quản lý doanh thu”
Quản lý doanh thu
Sơ đồ 4.5 – Phân rã chức năng “quản lý doanh thu”
Trang 29Chọn tình trạng công nợ của các đại lý, hoặc 1 đại lý bất kỳ
- Yêu cầu giao diện
Sơ đồ 4.7 – Phân rã chức năng “quản lý đại lý”
Mô tả chi tiết chức năng “Đăng ký đại lý”
- Sự kiện kích hoạt
Khi có yêu cầu đăng ký đại lý
- Quy trình thực hiện
Nhập thông tin đại lý mới
- Yêu cầu giao diện
Trang 30Chọn đại lý đã yêu cầu và xóa
- Yêu cầu giao diện
Chọn đại lý muốn thay đổi và thay đổi thông tin
- Yêu cầu giao diện
Chỉnh sửa thông tin
Đăng tin tức
Sơ đồ 4.8 – Phân rã chức năng “quản lý tin tức”
Mô tả chi tiết chức năng “Đăng tin tức”
- Sự kiện kích hoạt
Trang 3117
Khi có yêu cầu đăng tin tức về lĩnh vực liên quan đến hoạt động và sản phẩm kinh doanh của công ty
- Quy trình thực hiện
Soạn thảo tin tức để đăng
- Yêu cầu giao diện
Chọn tin tức cần chỉnh sửa để chuyển đến khu vực chỉnh sửa
- Yêu cầu giao diện
Trang 32STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Ghi chú
1 BillingPeriodId Integer > 0 Khóa chính
2 Period Integer > 0 Số tháng được
nợ
3 OrderPeriod Integer > 0 Mức độ ưu
tiên của các lựa chọn tháng
nợ Càng nhỏ càng ưu tiên
Trang 3319
Bảng 4.1 – Thực thể “BillingPeriods”
Thực thể “AccountsPayable”
Số nợ của đại lý tính trên mỗi hóa đơn Mỗi hóa đơn sẽ xác định số nợ, thời hạn
nợ và xác nhận khi hóa đơn đó được trả hết nợ
STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Ghi chú
1 AccountPayableId Integer > 0 Khóa chính
2 ExpireDate Date > ngày hiện
tại
Thời hạn phải trả
3 Debt Decimal >= 0 Số tiền nợ
STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Ghi chú
1 ShippingAddressId Integer > 0 Khóa chính
2 Address Text Địa chỉ
STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Ghi chú
1 ProductId Integer > 0 Khóa chính
2 Name Text Tên sản phẩm
3 Description Text Mô tả sản
phẩm
4 UnitPrice Decimal > 0 Giá trên mỗi
đơn vị sản phẩm
5 Tax Integer > 0, 100 < Thuế giá trị
gia tăng
6 AppearedDate Date Ngày sản
phẩm xuất hiện
7 Amount Integer > 0 Số lượng sản
phẩm
Trang 3420
8 MaxBuyableNo Integer > 0, < Amount Số lượng tối
đa đại lý được mua
STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Ghi chú
1 AccountPayableDetailId Integer > 0 Khóa chính
2 PaymentDate Date Ngày trả nợ
3 Payment Decimal > 0 Số tiền trả
Bảng 4.5 – Thực thể “AccountPayableDetails”
Thực thể “Stores”
STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Ghi chú
1 StoreId Integer > 0 Khóa chính
2 Name Text Tên đại lý
3 Description Text Mô tả đại lý
4 Address Text Địa chỉ
STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Ghi chú
1 OrderId Integer > 0 Khóa chính
2 OrderDate Date Ngày lập hóa
Trang 3521
Thực thể “Brands”
STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Ghi chú
1 BrandId Integer > 0 Khóa chính
2 Name Text Tên loại sản
STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Ghi chú
1 MemberId Integer > 0 Khóa chính
2 Nick Text Bí danh
3 Password Text Mật khẩu
4 FirstName Text Tên
5 LastName Text Họ và tên lót
6 Gender Text Giới tính
7 Birthday Date Ngày sinh
8 Tel Text Số điện thoại
9 Email Text Email
10 Address Text Địa chỉ
11 State Text Tỉnh/ Thành
12 Active Text Tình trạng
thành viên: đã kích hoạt, đang hoạt động, hay bị khóa
13 CreatedDate Date Ngày đăng ký
14 LastLogin Date Lần đăng
nhập lần cuối
Bảng 4.9 – Thực thể “Members”
Thực thể “Promotions”
STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Ghi chú
1 PromotionId Integer > 0 Khóa chính
2 Name Text Tên chương
trình khuyến mãi
3 StartDate Date Ngày bắt đầu
4 EndDate Date Ngày kết thúc
5 Discount Integer > 0, < 100 Tỉ lệ giảm
Trang 3622
6 Note Text Ghi chú
Bảng 4.10 – Thực thể “Promotions”
Thực thể “Manufactures”
STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Ghi chú
1 ManufactureId Integer > 0 Khóa chính
2 Name Text Tên nhà sản
xuất
3 Description Text Mô tả
4 Address Text Địa chỉ nhà
sản xuất
5 Website Text Địa chỉ
website nhà sản xuất
6 Status Text Tình trạng
Bảng 4.11 – Thực thể “Manufactures”
Thực thể “News”
STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Ghi chú
1 NewsId Integer > 0 Khóa chính
2 Title Text Tựa đề tin tức
3 PostedDate Date Ngày đăng
4 NewsContent Text Nội dung tin
tức
Bảng 4.12 – Thực thể “News”
Thực thể “Roles”
STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Ghi chú
1 RoleId Integer > 0 Khóa chính
2 Name Text Tên quyền
hạn
3 Description Text Mô tả
Bảng 4.13 – Thực thể “Roles”
Thực thể “MessageRelations”
STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Ghi chú
1 MessageRelationId Integer > 0 Khóa chính
2 MessageId Integer > 0 Mã tin nhắn
3 MemberId Integer > 0 Mã thành viên
4 FolderId Integer -1: hộp thư đi;
0: thư đến;
Vị trí tin nhắn
Trang 37STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Ghi chú
1 ImageId Integer > 0 Khóa chính
2 ImageData Binary Dữ liệu ảnh
3 ImageMimeType Text Định dạng ảnh
Bảng 4.15 – Thực thể “Images”
4.2.3 Mô tả mối kết hợp
Mối kết hợp giữa “AccountsPayable” và “AccountPayableDetails”
- Tên tắt: Has AP Details
- Diễn giải: Mỗi khoản nợ (AccountsPayable) của đơn hàng sẽ có thể được thanh toán nhiều lần Mỗi đơn thanh toán chỉ thanh toán cho 1 khoản nợ
- Các thực thể tạo nên mối kết hợp: AccountsPayable, AccountPayableDetails
Mối kết hợp giữa “AccountsPayable” và “Orders”
- Tên tắt: Has AP
- Diễn giải: Mỗi đơn hàng (Orders) sẽ tương ứng với một và chỉ một khoản
nợ (AccountsPayable)
- Các thực thể tạo nên mối kết hợp: AccountsPayable, Orders
Mối kết hợp giữa “ShippingAddress” và “Stores”
- Tên tắt: Has shipping add
- Diễn giải: Mỗi đại lý (Stores) có một và chỉ một địa chỉ giao hang (ShippingAddress)
- Các thực thể tạo nên mối kết hợp: Stores, ShippingAddress
Mối kết hợp giữa “Stores” và “Orders”
- Tên tắt: Has order
- Diễn giải: Mỗi hóa đơn (Orders) sẽ tương ứng với một lần mua hàng của một đại lý (Stores) Đại lý có thể có nhiều hóa đơn
- Các thực thể tạo nên mối kết hợp: Stores, Orders
Mối kết hợp giữa “Products” và “Orders”
- Tên tắt: OrderDetails
- Diễn giải: Mỗi chi tiết hóa đơn (OrderDetails) của mỗi hóa đơn (Orders) sẽ bao gồm số lượng và giá cả của một sản phẩm Một hóa đơn có nhiều chi tiết hóa đơn Mỗi chi tiết hóa đơn tương ứng với thông tin một sản phẩm (Products) trong hóa đơn
Trang 3824
- Các thực thể tạo nên mối kết hợp: Products, Orders
Bảng mô tả thuộc tính mối kết hợp:
STT Tên thuộc tính Kiểu dữ liệu Miền giá trị Ghi chú
1 Quantity Integer > 0 Số lượng sản
phẩm
2 UnitPrice Decimal > 0 Giá sản phẩm
lúc mua Mối kết hợp giữa “Products” và “Promotions”
- Tên tắt: PromotionsByProducts
- Diễn giải: Mỗi chương trình khuyến mãi (Promotions) có thể áp dụng cho một sản phẩm (Products) riêng biệt hoặc nhiều sản phẩm Mỗi sản phẩm có thể không có hoặc có nhiều chương trình khuyến mãi
- Các thực thể tạo nên mối kết hợp: Products, Promotions
Mối kết hợp giữa “Products” và “Manufactures”
- Tên tắt: pm
- Diễn giải: Mỗi sản phẩm (Products) sẽ thuộc duy nhất một nhà sản xuất (Manufactures) Mỗi nhà sản xuất có thể có nhiều sản phẩm
- Các thực thể tạo nên mối kết hợp: Products, Manufactures
Mối kết hợp giữa “Products” và “Brands”
- Tên tắt: Product of
- Diễn giải: Mỗi sản phẩm (Products) sẽ thuộc duy nhất một loại sản phẩm (Brands) Mỗi loại sản phẩm có thể có nhiều sản phẩm
- Các thực thể tạo nên mối kết hợp: Products, Brands
Mối kết hợp giữa “Orders” và “Members”
- Tên tắt: Produce of
- Diễn giải: Mỗi hóa đơn (Orders) được mua bởi một thành viên (Members) Mỗi thành viên có thể có nhiều hóa đơn
- Các thực thể tạo nên mối kết hợp: Orders, Members
Mối kết hợp giữa “Promotions” và “Brands”
- Tên tắt: PromotionsByBrands
- Diễn giải: Mỗi chương trình khuyến mãi (Promotions) có thể áp dụng cho một hay nhiều loại sản phẩm (Brands) riêng biệt Mỗi loại sản phẩm có thể
có nhiều chương trình khuyến mãi
- Các thực thể tạo nên mối kết hợp: Promotions, Brands
Mối kết hợp giữa “Promotions” và “Manufactures”
- Tên tắt: PromotionsByManufactures
- Diễn giải: Mỗi chương trình khuyến mãi (Promotions) có thể áp dụng cho một hay nhiều nhà sản xuất riêng biệt (Manufactures) Mỗi nhà sản xuất có thể có một hay nhiều chương trình khuyến mãi
- Các thực thể tạo nên mối kết hợp: Promotions, Manufactures
Trang 3925
Mối kết hợp giữa “News” và “Members”
- Tên tắt: Posted by
- Diễn giải: Tin tức được đăng bởi một thành viên
- Các thực thể tạo nên mối kết hợp: News, Members
Mối kết hợp giữa “Members” và “Roles”
Trang 40Hóa đơn
Thủ kho
Danh sách sản phẩm bán
Bảng báo cáo doanh thu
Thông số công nợ Thông số doanh thu Thông số sản phẩm
Bảng báo cáo sản phẩm Bảng báo cáo công nợ
Sơ đồ 4.9 – Mô hình ngữ cảnh hệ thống