Khóa luận Xây dựng hệ thống thương mại điện tử hướng dịch vụ

MỤC LỤC

Chương 1 MỞ ĐẦU 14

1.1 Lý do chọn đề tài 14

1.2 Mục đích 15

1.3 Đối tượng 15

1.4 Phạm vi nghiên cứu 16

Chương 2 TỔNG QUAN 16

2.1 Tình hình TMĐT và mô hình cung cấp phần mềm hướng dịch vụ (SaaS) trên thế giới và ở Việt Nam 16

2.1.1 Thế giới 16

2.1.2 Việt Nam 17

2.2 Thuận lợi và khó khăn cho TMĐT 18

2.2.1 Thuận lợi: 18

2.2.2 Khó khăn 18

2.3 Hướng tiếp cận 19

Chương 3 KIẾN THỨC NỀN TẢNG 20

3.1 Thương mại điện tử ( EC ) 20

3.1.1 Định nghĩa EC 20

3.1.1.1 E-Commerce 20

3.1.1.2 E- Business 20

3.1.2 Một số khái niệm EC 21

3.1.2.1 Mô hình EC 21

3.1.2.2 Thị trường điện tử (Electronic Market) 21

3.1.2.3 Sàn giao dịch 21

3.1.2.4 Thanh toán điện tử 21

3.1.2.5 Trao đổi dữ liệu điện tử tài chính 21

3.1.2.6 Tiền mặt Internet (Internet Cash) 21

3.1.2.7 Túi tiền điện tử (Electronic Purseb) 22

3.1.2.8 Giao dịch ngân hàng số hóa (digital banking), giao dịch chứng khoán số hóa (digital securities trading) 22

3.1.3 Khung hoạt động 23

3.1.4 Các thành phần tham gia 25

3.1.5 Phân loại EC 26

3.1.5.1 Phân loại theo mô hình thương mại 26

3.1.5.1.1 Đưa ra giá của bạn cần 26

3.1.5.1.2 Tìm giá tốt nhất 26

3.1.5.1.3 Môi giới 26

3.1.5.1.4 Chi nhánh tiếp thị 26

3.1.5.1.5 Phân loại mua sắm 27

3.1.5.1.6 Hệ thống đề nghị điện tử 27

3.1.5.1.7 Bán đấu giá trực tuyến 27

3.1.5.1.8 Sản xuất theo yêu cầu khách hàng và cá nhân hóa 27

3.1.5.2 Phân loại theo bản chất của giao dịch 27

3.1.5.2.1 B2B (business-to-business) 28

3.1.5.2.2 B2C (business-to-consumer) 28

3.1.5.2.3 B2E (business-to-employee) 28

3.1.5.2.4 C2B (consumer-to-business) 28

3.1.5.2.5 C2C (consumer-to-consumer) 28

3.1.5.2.6 E-Government 28

3.1.5.2.7 E-Learning 28

3.1.5.2.8 M-Commerce (Mobile Commerce) 29

3.1.6 Hệ thống EC 29

3.1.7 Thuận lợi của EC 29

3.1.7.1 Đối với doanh nghiệp 29

3.1.7.2 Đối với người dùng (đầu cuối) 30

3.1.7.3 Đối với xã hội 30

3.1.8 Hạn chế của EC 31

3.1.8.1 Về mặt công nghệ 31

3.1.8.2 Các hạn chế khác 31

3.1.9 Một số vấn đề cần lưu ý 32

3.1.9.1 Bảo mật trong EC 32

3.1.9.1.1 Một số vấn đề bảo mật 32

3.1.9.1.2 Qui trình bảo mật 33

3.1.9.1.3 Một số loại tấn công 33

3.1.9.1.4 Chống lại tấn công 34

3.1.9.2 Xử lý tự động 34

3.1.9.3 Thanh toán điện tử 34

3.1.9.3.1 Paypal 34

3.1.9.3.2 OnLink 35

3.1.9.3.3 PayNet 39

3.1.9.3.4 Google Checkout 40

3.1.9.3.5 So sánh giữa Google Checkout và Paypal 40

3.2 Phần mềm SaaS 42

3.2.1 Ví dụ mở đầu - Google Docs 42

3.2.2 Thế nào là một phần mềm SaaS? 42

3.2.3 Những thuận lợi của phần mềm SaaS 43

3.2.3.1 Chi phí triển khai thấp, thời gian triển khai nhanh 43

3.2.3.2 Không cần nhiều sự hỗ trợ kĩ thuật 43

3.2.3.3 Nâng cấp chương trình mà không tốn thêm chi phí 44

3.2.3.4 Truy cập không giới hạn không gian và thời gian 44

3.2.4 So sánh mô hình phần mềm SaaS và phần mềm truyền thống 44

3.2.5 Khó khăn của phần mềm SaaS 45

3.2.5.1 Đối với người dùng(doanh nghiệp, tổ chức, cá nhân) 45

3.2.5.2 Đối với nhà cung cấp dịch vụ 45

3.2.5.3 Phần mềm SaaS và vấn đề bảo mật 45

3.2.5.4 Phần mềm SaaS và vấn đề bảo đảm truy cập đồng thời 46

Chương 4 PHÂN TÍCH – THIẾT KẾ 46

4.1 Yêu cầu thiết kế 47

4.2 Lựa chọn phương pháp thiết kế và môi trường phát triển 47

4.2.1 Lựa chọn phương pháp thiết kế 47

4.2.2 Lựa chọn môi trường phát triển 49

4.3 Thiết kế kỹ thuật hệ thống 49

4.4 Thiết kế hệ thống 52

4.4.1 Tổng quan hệ thống 53

4.4.2 Mô tả hệ thống SaasSystem 55

4.4.2.1 Về người dùng hệ thống - có 2 phân hệ người dùng: 55

4.4.2.1.1 Người dùng trên hệ thống cha (tạm gọi là SaaSUser) 55

4.4.2.1.2 Người dùng trên hệ thống con 55

4.4.2.2 Về chức năng hệ thống 56

4.4.2.2.1 Yêu cầu chức năng: 56

4.4.2.2.2 Yêu cầu phi chức năng: 56

4.4.3 Danh sách các Actor 56

4.4.4 Use - case cho đối tượng SaaSAdmin 57

4.4.4.1 Danh sách các Use-case 57

4.4.4.2 Mô tả Use-case 59

4.4.4.3 Đặc tả các Use-case 60

4.4.4.3.1 Use-case “Đăng nhập” 61

4.4.4.3.2 Use-case “Đăng xuất” 61

4.4.4.3.3 Use-case “Quản lý khách hàng” 62

4.4.5 Use – case cho đối tượng SaaSCustomer 63

4.4.5.1 Danh sách các Use-case 63

4.4.5.2 Mô tả các Use-case 67

4.4.5.3 Đặc tả các Use-case 69

4.4.5.3.1 Use-case “Đăng kí” 69

4.4.5.3.2 Use-case “Đăng nhập” 70

4.4.5.3.3 Use-case “Đăng xuất” 71

4.4.5.3.4 Use-case “Phục hồi mật khẩu” 71

4.4.5.3.5 Use-case “Quản lý đơn hàng” 72

4.4.5.3.6 Use-case “Quản lý danh mục sản phẩm” 73

4.4.5.3.7 Use-case “Quản lý sản phẩm” 74

4.4.5.3.8 Use-case “Cấu hình hệ thống” 75

4.4.6 Use-case cho đối tượng ClientCustomer 76

4.4.6.1 Danh sách các use-case 76

4.4.6.2 Mô tả các use-case 77

4.4.6.3 Đặc tả các Use-case 78

4.4.6.3.1 Use-case “Đăng kí” 78

4.4.6.3.2 Use-case “Đăng nhập” 79

4.4.6.3.3 Use-case “Thanh toán” 79

4.5 Thiết kế database 81

4.5.1 Lược đồ cơ sở dữ liệu 81

4.5.2 Danh sách các bảng cơ sở dữ liệu 82

4.5.3 Mô tả thuộc tính một số bảng cơ sở dữ liệu 83

4.6 Thiết kế xử lý 92

4.6.1 Sơ đồ lớp 92

4.6.2 Luồng xử lý 93

4.6.2.1 Flowchart cho đối tượng SaaSAdmin 93

4.6.2.2 Flowchart cho đối tượng SaaSCustomer 93

4.6.2.3 Flowchart cho đối tượng ClientCustomer 94

4.7 Thiết kế giao diện 95

4.7.1 Giao diện ứng dụng SaaSSystem - ứng dụng cha 95

4.7.1.1 Front-end 95

4.7.1.1.1 Màn hình trang chủ SaaSSystem 96

4.7.1.1.2 Màn hình đăng ký SaaSCustomer 97

4.7.1.1.3 Màn hình đăng nhập SaaSCustomer 97

4.7.1.2 Back-end 98

4.7.1.2.1 Màn hình login hệ thống SaaSSystem 98

4.7.1.2.2 Màn hình trang chủ khu vực admin của SaaSSystem 99

4.7.1.2.3 Màn hình danh sách khách hàng (SaaSCustomer) 100

4.7.1.2.4 Màn hình danh sách người dùng 100

4.7.2 Giao diện ứng dụng SaaSCustomer - ứng dụng con 101

4.7.2.1 Front-end 101

4.7.2.1.1 Màn hình trang chủ 101

4.7.2.1.2 Màn hình chi tiết sản phẩm 103

4.7.2.1.3 Màn hình kết quả tìm kiếm 104

4.7.2.1.4 Màn hình danh mục sản phẩm 105

4.7.2.1.5 Màn hình chi tiết tin tức 106

4.7.2.1.6 Màn hình thông tin giỏ hàng 106

4.7.2.1.7 Màn hình thanh toán 107

4.7.2.2 Back-end 108

4.7.2.2.1 Màn hình trang chủ 108

4.7.2.2.2 Hệ thống menu 109

4.7.2.2.3 Màn hình danh sách danh mục sản phẩm 110

4.7.2.2.4 Màn hình thêm mới danh mục 110

4.7.2.2.5 Màn hình danh sách sản phẩm 111

4.7.2.2.6 Màn hình thêm mới sản phẩm 112

4.7.2.2.7 Màn hình danh sách đơn hàng 113

4.7.2.2.8 Màn hình chi tiết đơn hàng 113

4.7.2.2.9 Màn hình doanh thu 114

4.7.2.2.10 Màn hình danh sách tin tức 114

4.7.2.2.11 Màn hình thêm mới tin tức 115

4.7.2.2.12 Màn hình danh sách menu 116

4.7.2.2.13 Màn hình thêm mới menu 116

4.7.2.2.14 Màn hình danh sách banner 117

4.7.2.2.15 Màn hình thêm mới banner 117

4.7.2.2.16 Màn hình cấu hình hệ thống 118

4.7.2.2.17 Màn hình danh sách khách hàng 118

Chương 5 TRIỂN KHAI ỨNG DỤNG 119

5.1 Mục tiêu triển khai 119

5.2 Yêu cầu triển khai 119

5.2.1 Yêu cầu về phần cứng 119

5.2.2 Yêu cầu về phần mềm 120

5.2.3 Yêu cầu về con người 120

5.3 Các bước triển khai 121

5.3.1 Tiếp nhận & phân tích yêu cầu triển khai 121

5.3.2 Triển khai ứng dụng 121

5.3.2.1 Cài đặt phần mềm 121

5.3.2.2 Cấu hình IIS 121

5.3.2.3 Cấu hình file Web.config 124

Chương 6 NHẬN XÉT - ĐÁNH GIÁ 125

6.1 Kết quả đạt được 125

6.1.1 Về mặt lý thuyết 125

6.1.1.1 Lý thuyết về TMĐT 125

6.1.1.2 Lý thuyết SaaS 126

6.1.2 Về mặt ứng dụng 127

6.1.2.1 Giao diện 127

6.1.2.2 Tính năng 127

6.1.3 So sánh kết quả đặt được với các hệ thống SaaS sẵn có ở VN 128

6.2 Hạn chế luận văn 130

6.2.1 Về mặt lý thuyết: 130

6.2.2 Về mặt ứng dụng: 130

6.3 Hướng phát triển 130

6.3.1 Về mặt giao diện 130

6.3.2 Về tính năng 131

TÀI LIỆU THAM KHẢO 132

Sách, Ebooks 132

Luận văn, luận án 133

Bài báo 133

Websites, Blog chuyên gia 133

PHỤ LỤC 135

Phụ lục A. Giao diện ứng dụng SaaSSystem 135

Phụ lục B. Mô tả thuộc tính các bảng cơ sở dữ liệu 135

Phụ lục C. Danh sách các phần mềm hỗ trợ sử dụng trong luận văn 135

 

 

doc136 trang | Chia sẻ: lethao | Lượt xem: 1775 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Khóa luận Xây dựng hệ thống thương mại điện tử hướng dịch vụ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
trả thêm một khoản phí nào. Theo định nghĩa của hãng nghiên cứu toàn cầu IDC thì SaaS là: "Phần mềm hoạt động trên web, được quản lý bởi nhà cung cấp và cho phép người sử dụng truy cập từ xa". Về cơ bản các thuật ngữ SaaS và On-demand software được hiểu như nhau. Thông thường, một phần mềm SaaS thường có những đặc điểm như sau: Sử dụng phần mềm qua môi trường web thay vì sử dụng trên máy tính của khách hàng như trước đây. Phầm mềm được lưu trữ trên máy chủ của nhà cung cấp dịch vụ. Thay vì phải trả tiền một lần để sở hữu phần mềm vĩnh viễn thì khách hàng có thể trả phí định kì hàng tháng để sử dụng phần mềm. Các tính năng cải tiến được thực hiện bởi nhà cung cấp phần mềm và người sử dụng hoàn toàn không phải trả thêm phí cho những cải tiến này. Những thuận lợi của phần mềm SaaS Chi phí triển khai thấp, thời gian triển khai nhanh Chi phí khởi tạo thấp. Tùy thuộc và tính năng yêu cầu và số lượng người dùng mà có cách tính phí khác nhau.Đây chính là lợi điểm dễ thấy nhất của ứng dụng SaaS. Thay vì bạn phải bỏ một núi tiền ra mua cả một hệ thống khổng lồ để chỉ sử dụng và tính năng của chúng thì giờ đây bạn có thể tiết kiệm chi phí kiểu đó. Bạn cũng không phải tốn nhiều cho việc triển khai, chi cần một thao tác đăng kí đơn giản với nhà cung cấp dịch vụ là bạn đã có ngay phần mềm để sử dụng. Không cần nhiều sự hỗ trợ kĩ thuật Thay vì bạn phải bỏ tiền để thuê nhân viên kĩ thuật duy trì hệ thống của mình thì bây giờ các nhà cung cấp ứng dụng SaaS đã làm thay bạn tất cả. Hầu như bạn không phải đụng chạm gì đến vấn đề kĩ thuật. Chính vì thế chi phí thuê nhân viên kĩ thuật đã giảm đáng kể. Nâng cấp chương trình mà không tốn thêm chi phí Thông thường những nhà cung cấp ứng dụng SaaS luôn tiến hành mở rộng tính năng ứng dụng của họ. Vì thế, khách hàng cũng được hưởng lợi từ việc này mà không phải trả thêm một đồng chi phí nào cả. Truy cập không giới hạn không gian và thời gian Bạn có thể truy cập ứng dụng SaaS bất cứ đâu, bất cứ nơi miễn là nơi đó có kết nói internet. Đây cũng là một lợi điểm không hề nhỏ của các ứng dụng SaaS. Chính khả năng này mang lại cho những ứng dụng SaaS có nhiều cơ hội trong tương lai. So sánh mô hình phần mềm SaaS và phần mềm truyền thống Hình 316. Mô hình hoạt động của ứng dụng SaaS Dựa trên mô hình của SaaS, ta có thể thấy rõ ưu điểm của SaaS đối với các mô hình phần mềm truyền thống đó chính là việc SaaS có thể chạy thông qua môi trường mạng internet và đa người dùng. Chính vì thế nên SaaS có nhiều lợi thế hơn so với các phần mềm truyền thống trước đây: Giảm thiểu chi phí triển khai ứng dụng Giảm thiểu chi phí bảo trì, nâng cấp hệ thống. Hệ thống sẽ chỉ cần nâng cấp một lần trên máy chủ của ứng dụng và theo đó, người dùng sẽ được sử dụng miễn phí những tính năng mới nâng cấp của hệ thống. Chia sẻ thông tin tức thì ( real-time) giữa những doanh nghiệp trong cùng một cộng đồng. Tăng lợi nhuận cho cả phía nhà cung cấp và phía người dùng sử dụng dịch vụ. Khó khăn của phần mềm SaaS Đi kèm với những thuận lợi là những khó khăn không nhỏ khi áp dụng mô hình phần mềm này: Đối với người dùng(doanh nghiệp, tổ chức, cá nhân) Vì phần mềm chạy thông qua môi trường mạng internet nên đường truyền ứng dụng phải bảo đảm yêu cầu kĩ thuật cao và dẫn đến chi phí cao cho phần cơ sở vật chất. Tất cả mọi thông tin của khách hàng đều được lưu trữ trên server của nhà cung cấp dịch vụ, do đó việc bảo đảm an toàn thông tin là một vấn đề lớn. Phần mềm SaaS khó đáp đúng và đầy đủ quy trình nghiệp vụ của từng khách hàng cụ thể. Do đó khách hàng khó tùy biến ứng dụng theo ý riêng của mình. Đối với nhà cung cấp dịch vụ Vấn đề bảo mật thông tin cho những ứng dụng SaaS là quan tâm hàng đầu. Vì thế, để tìm kiếm được một giải pháp bảo mật phù hợp là một vấn đề khó khăn. Do hệ thống phục vụ đa người dùng nên yêu cầu nhà cung cấp phải luôn đổi mới, nâng cấp hệ thống nhằm đáp ứng yêu cầu của khách hàng. Phần mềm SaaS và vấn đề bảo mật Như đã nói ở trên, vấn đề bảo mật trong ứng dụng TMĐT nói chung và TMĐT theo mô hình SaaS nói riêng luôn được đặt lên hàng đầu. Vấn đề bảo mật thông tin liên quan trực tiếp đến lòng tin của người tiêu dùng, của khách hàng tiềm năng. Đảm bảo về bảo mật cũng chứng tỏ được khả năng của nhà cung cấp với khách hàng của mình. Nhìn chung việc đảm bảo cho ứng dụng web nói chung có những khía cạnh sau: Người dùng: người dùng đầu cuối của website. Phải có cơ chế xác định người dùng đầu cuối là ai trước khi cho phép họ thao tác trên những vùng thông tin nhạy cảm. Vấn đề chứng thực người dùng phải luôn có trong các ứng dụng TMĐT. Nhà phát triển. Các nhà phát triển cũng là một nhân tố quan trọng trong việc bảo mật ứng dụng. Họ cần tìm hiểu những kiến thức cơ bản về bảo mật, về các cách tấn công và phòng chống tấn công. Có vậy, ứng dụng do họ xây dựng nên mới đảm bảo về khả năng bảo mật thông tin. Cơ sở vật chất. Server lưu trữ ứng dụng cũng là một lưu ý quan trọng. Có một số ứng dụng bảo mật tốt nhưng đặt trên server được cấu hình bảo mật kém thì cũng trở thành nạn nhân của hacker. Chính sách pháp lý của nhà nước, cơ quan có chủ quyền. Cần phải có chính sách pháp lý thích hợp để răn đe những kẻ phá hoại. Phần mềm SaaS và vấn đề bảo đảm truy cập đồng thời Đặc tính của phần mềm SaaS đó là đa người dùng – tức ứng dụng có nhiều người dùng truy cập một lúc. Vì vậy phải có cơ chế để đảm bảo truy vấn của người dùng sẽ được đáp ứng kịp thời và nhanh chóng. Thường thì yêu cầu về khả năng truy cập đồng thời liên quan phần nhiều đến thiết bị phần cứng – cụ thể là server lưu trữ ứng dụng trên mạng. Nếu server yếu thì khả năng ứng dụng bị treo vào một thời điểm nào đó là rất có thể xảy ra. Kế đến phải kể đến phương pháp thiết kế và phát triển ứng dụng. Các công nghệ và phương pháp phát triển có tối ưu hay chưa, việc phát triển ứng dụng có thông qua một qui trình kiểm tra chặt chẽ về chất lượng nào hay không? Nếu làm tốt vấn đề này thì khả năng cho ra đời một sản phẩm TMĐT theo mô hình SaaS phục vụ đa truy cập người dùng cùng lúc là hoàn toàn có thể đáp ứng. PHÂN TÍCH – THIẾT KẾ Dựa trên yêu cầu bài toán và bảng tính năng, chương này sẽ cung cấp tài liệu phân tích thiết kế hệ thống chi tiết hơn. Mục tiêu của chương này: Mô hình tổng quan hệ thống Mô tả lại hệ thống với vai trò là người phát triển ứng dụng Đưa ra cấu trúc database & lược đồ cơ sở dữ liệu Mô tả các thuộc tính của các bảng cơ sở dữ liệu Đưa danh sách Actor & danh sách Use-case Mô tả các Use-case Đưa ra thiết kế lớp xử lý & luồng xử lý của chương trình Yêu cầu thiết kế Thiết kế một hệ thống SaaSSystem thỏa những yêu cầu sau: Thiết kế một hệ thống TMĐT cho phép nhiều người dùng cùng truy cập và sử dụng qua mạng. Hệ thống thiết kế phải có đầy đủ tính năng của một hệ thống TMĐT cơ bản. Hệ thống được xây dựng phải đáp ứng khả năng truy cập nhanh, ổn định và chịu lỗi cao. Hệ thống phải có độ bảo mật thông tin cao. Hệ thống phải bảo đảm sự dễ dàng trong cập nhật và bảo trì hệ thống. Hệ thống phải được thiết kế và xây dựng trên nền tảng công nghệ tiến tiến, có khả năng nâng cấp mở rộng về sau mà không ảnh hưởng đến chương trình hiện tại. Lựa chọn phương pháp thiết kế và môi trường phát triển Dựa trên yêu cầu thiết kế cơ bản ở trên, nhóm đưa ra phương pháp thiết kế và môi trường phát triển như sau: Lựa chọn phương pháp thiết kế Yêu cầu cơ bản của hệ thống SaasSystem là phải bảo đảm các website thành viên( website mà khách hàng có được sau khi đăng kí) hoạt động độc lập nhau, mỗi website sẽ có giao diện riêng, danh mục riêng, sản phẩm riêng, khách hàng riêng. Đồng thời người dùng trên hệ thống SaasSystem vẫn có thể quản lí được thông tin của tất cả các webiste thành viên. Đường dẫn của website thành viên phải tuân theo nguyên tắc sau: Trong đó SaasSystemDomain chính là domain của hệ thống SaasSystem, username chính là username của người dùng đăng kí trên SaasSystem, dùng để phân biệt giữa các website thành viên với nhau Có 2 cách tiếp cận để giải quyết vấn đề này Cách 1: Quản lí theo thư mục. Khi một khách hàng đăng kí 1 tài khoản trên hệ thống SaasSystem thì hệ thống SaaSSystem sẽ phát sinh mã nguồn cho khách hàng này vào một thư mục, có nghĩa là mỗi trang thành viên sẽ có 1 thư mục riêng. Khi đó để truy cập tới website thành viên nào ta chỉ cần gõ đúng đường dẫn đến thư mục của website thành viên đó là được. Ví dụ: nếu đăng nhập với user name là tynv thì SaasSystem sẽ tạo 1 thư mục là tynv trên server, để truy cập tới webiste thành viên này ta chỉ cần gõ: Cách 2: Sử dụng kỹ thuật URL Friendly. Dùng kĩ thuật này để ánh xạ tên người dùng và đường dẫn đến website người dùng đó. Với cách làm này, kết quả sẽ là kết quả của cách 1. Tuy nhiên sẽ không có thư mục người dùng nào được tạo riêng. Kĩ thuật URL Friendly giúp ta thay thế một đường dẫn dạng: thành đường dẫn dạng: Nếu làm theo cách 1 sẽ có một số khó khăn sau đây: Nếu số lượng webiste thành viên nhiều thì cách một không khả thi. Lí do: số lượng thư mục tạo ra trong một thư mục con là giới hạn. Và con số này sẽ đặt đến giới hạn khi số thành viên tăng theo ngày tháng. Vấn đề quản lý thư mục người dùng sẽ gặp nhiều khó khăn do số lượng thư mục con trong thư mục gốc quá nhiều. Tuy nhiên cách 1 cũng có ưu điểm của nó: chính là việc phân chia độc lập như vậy thì khi một ứng dụng của website thành viên nào đó bị sự cố sẽ ít gây ảnh hưởng tới các website thành viên khác. Nhóm chọn cách 2 để thực hiện. Nếu làm theo cách 2 thì không cần phải quan tâm đến những khó khăn gặp phải do cách 1 gây ra ở trên. Lựa chọn môi trường phát triển Phần mềm hướng dịch vụ hoạt động qua mạng internet và sẽ tập trung tất cả dữ liệu khách hàng trên server của nhà cung cấp, do đó vấn đề tốc độ xử lí và an toản, bảo mật dữ liệu phải được đặt lên hàng đầu. Lựa chọn môi trường phát triển thích hợp để bảo đảm giải quyết tốt nhất vấn đề trên đồng thời giúp nhà phát triển dễ dàng trong việc phát triển mở rộng ứng dụng sau này cũng là một vấn đề quan trọng. Môi trường được nhóm lựa chọn là: Hệ điều hành Window Server 2003/XP Ngôn ngữ lập trình ASP.NET(C#) – là ngôn ngữ lập trình hướng đối tượng phổ biến trên nền .NET hiện nay. Cơ sở dữ liệu: SQL Server 2000 – là cơ sở dữ liệu ổn định, tốc độ xử lý nhanh, hỗ trợ giao tác, store procedure, function và trigger giúp tăng tốc độ xử lý và an toàn dữ liệu hơn. Môi trường phát triển: Visual Studio 2005 – với các công cụ lập trình giao diện kéo thả - cho phép phát triển ứng dụng nhanh chóng hơn. Thiết kế kỹ thuật hệ thống Hệ thống được phát triển theo mô hình 3 lớp (3 tầng hoặc nhiều tầng). Mô hình 3 lớp là mô hình phát triển phần mềm phổ biến nhất hiện nay. Việc lựa chọn mô hình 3 lớp để phát triển ứng dụng có những ích lợi sau: - Có thể dùng lại các lớp .Cho phép chúng ta có một module để thêm, cập nhập, xoá và tìm kiếm người dùng trong hệ thống. Nếu như những thành phần này đã được kiểm tra và phát triển thì chúng ta có thể dùng lại nó trong bất cứ dự án nào tương tự. - Trong mô hình 3 lớp, mỗi lớp có một nhiệm vụ riêng nên tránh tình trạng chồng chéo lẫn nhau, xử lí của lớp này ít bị ảnh hưởng khi phải thay đổi xử lí ở lớp khác. - Mô hình 3 lớp được tổ chức rõ ràng nên giúp lập trình viên dễ dàng kiểm soát được mã nguồn và công việc của mình cũng như dễ dàng mở rộng về sau. Kiến trúc của mô hình 3 lớp trên môi trường mạng như sau: [àVẽ lại hình này] Mô hình 3 lớp có thể được phân chia thành 3 tầng hoặc nhiều tầng để xử lí. Trong đề tài này, mô hình 3 lớp sẽ được phân chia thành 3 tầng tương ứng như sau: (1): tầng xử lí giao diện( Presentation Tier): đây chính là tầng nằm ở trên cùng, nhiệm vụ của tầng này chỉ là xử lí về giao diện, hiển thị giao diện cho người dùng, nhận các thông tin từ giao diện và chuyển giao cho tầng logic (2) xử lí. Tầng này chỉ được phép giao tiếp với tầng xử lí logic (3), không được phép giao tiếp với tầng xử lý & lưu trữ dữ liệu (gọi tắt là tầng Database) (2): tầng xử lí nghiệp vụ (Business Tier): làm nhiệm vụ xử lí nghiệp vụ cho các đối tượng do tầng giao diện gửi xuống, hoặc chuyển đổi dữ liệu thô lấy từ tầng xử lý Database (3) thành dữ liệu có đầy đủ ý nghĩa. Ví dụ: trong database có trường [Sex] kiểu chuỗi là [0 –Male], [1 – Female]. Lúc này dữ liệu thô lấy từ tầng database sẽ là giá trị 0 hoặc 1. Nhưng phải quan niệm rằng các đối tượng được xử lí ở tầng giao diện không biết được [Sex] là 0 hoặc 1 mà giá trị đúng phải là [Male] hoặc [Female]. Khi đó dữ liệu thô từ tầng database sẽ được tầng xử lý nghiệp vụ chuyển thành [Male] hoặc [Female]. Đây chính là dữ liệu mang đầy đủ ý nghĩa của đối tượng. Có thể xem tầng xử lí logic là cầu nối giữa tầng database và tầng xử lí giao diện. (3): tầng xử lí dữ liệu (Data Access Tier): đây là tầng làm nhiệm vụ giao tiếp trực tiếp với database như thực hiện các câu truy vấn, store procedure, lấy dữ liệu trả về. Mã nguồn của chương trình được tổ chức như hình minh họa sau đây: Dự án SaaSSystem đi kèm 5 dự án nhỏ: BussinessLogic BussinessObject Database DropDownListOptGroup SaasService Nếu ánh xạ qua mô hình 3 lớp thì BussinessLogic thuộc tầng xử lí nghiệp vụ, Database thuộc tầng xử lí dữ liệu, SaasService và SaasSystem thuộc tầng xử lí giao diện. Còn DropDownListOptGroup là custom control kế thừa từ control combobox của .NET, BussinessObject là dự án mô tả những đối tượng của các lớp đã thiết kế trong hệ thống. Những đối tượng này được tạo ra để đóng vai trò nhận dữ liệu trước khi chuyển xuống cho tầng xử lý nghiệp vụ thực hiện xử lý của mình. Thiết kế hệ thống Sau đây là hình vẽ cho thấy cái nhìn tổng quan về hệ thống SaaSSystem: Tổng quan hệ thống Hình 41 Tổng quan hệ thống SaaSSytem với 3 loại đối tượng người dùng chính Mô tả các thành phần của hệ thống SaaSSystem: (1): Server lưu trữu toàn bộ thông tin của hệ thống bao gồm cơ sở dữ liệu và mã nguồn ứng dụng. Các tài nguyên liên quan của ngưởi dùng trong quá trình sử dụng đều được lưu trữ trên server này. Như vậy đây chính là điểm khác biệt của ứng dụng SaaS so với các loại ứng dụng khác. Với các ứng dụng thương mại điện tử thông thường, bạn phải có một server riêng cho website của bạn nếu đó là website có lưu lượng thông tin lớn. Còn không bạn cũng phải thuê một gói hosting của một nhà cung cấp nào đó. Và như vậy, các ứng dụng của các website thương mại truyền thống thường được lưu trữ tại các server khác nhau. Ngược lại với điều này, các website thành viên của hệ thống SaaSSystem sẽ lưu trữ trên cùng một server. Cách lưu trữ này vừa tiết kiệm được chi phí vừa dễ dàng trong vấn đề nâng cấp bảo trì. Bạn chỉ cần nâng cấp phần mềm của mình trên server thì các ứng dụng website của khách hàng sẽ được nâng cấp đồng loạt theo đó. (2): Ứng dụng SaaSSystem. Ứng dụng này có chức năng cho phép người dùng đăng ký và sau đó sẽ có một website cho riêng mình với dạng đường dẫn: www.yourdomain/username. Bạn hoàn toàn có thể đăng ký một domain khác để trỏ về đường dẫn trên trong trường hợp bạn muốn khách hàng của bạn dễ dàng truy cập tới website của bạn hơn. (3): Đối tượng khách hàng của hệ thống SaaSSystem – trong tài liệu này được đề cập dưới tên gọi SaaSCustomer. Đây là đối tượng vừa đóng vai trò là khách hàng của hệ thống SaaSSystem lại vừa đóng vai trò là người quản trị hệ thống của website của chính họ. (4): Hệ thống các website thành viên. Mỗi website này đều có khách hàng riêng, sản phẩm riêng, danh mục sản phẩm riêng và một số thông tin cá nhân khác. Về cơ bản các giao diện của các website thành viên này là giống nhau về bố cục. (Đây cũng là một điểm cần cải tiến trong hướng phát triển về sau của ứng dụng) (5): Đối tượng khách hàng đầu cuối mà trong tài liệu này được đề cập tới dưới tên gọi ClientCustomer. Đối tượng khách hàng này sẽ trực tiếp giao dịch, mua bán với SaaSCustomer. Mô tả hệ thống SaasSystem Về người dùng hệ thống - có 2 phân hệ người dùng: Về lý thuyết, hệ thống cho phép phân cấp người dùng trong từng phân hệ người dùng (các cấp người dùng: quản trị hệ thống, nhập liệu, điều hành viên, khách hàng). Tuy nhiên, để đơn giản trong xử lý, trong ứng dụng chỉ mình họa và đưa ra 3 loại người dùng tương ứng trong 2 phân hệ như sau: Người dùng trên hệ thống cha (tạm gọi là SaaSUser) Gồm 2 loại đối tượng người dùng như sau: Quản trị hệ thống (SaaSAdmin): quản trị hệ thống SaaSSystem. Thực hiện thêm/xóa/sửa thông tin khách hàng, cấu hình hệ thống. Khách hàng (SaaSCustomer): là người dùng đăng ký tài khoản trên hệ thống SaaSSystem. Khi người dùng đăng ký tài khoản thành công, thì người dùng sẽ có một website riêng của mình với đường dẫn như sau: Mỗi website riêng này sẽ có đầy đủ các tính năng cơ bản của một website TMĐT như: hệ thống danh mục sản phẩm, thông tin sản phẩm, giỏ hàng, đặt hàng, thanh toán, liên hệ, … Sau khi đăng ký thành công, người dùng có thể thực hiện quản trị cho hệ thống của mình như: tạo danh mục sản phẩm, thêm/xóa/sửa sản phẩm cho một danh mục, xem đơn hàng, xem danh sách khách hàng, xem thống kê doanh số, cấu hình hệ thống, … Người dùng trên hệ thống con Quản trị hệ thống (chính là SaaSCustomer ở trên): khi người dùng đăng nhập với tài khoản của mình trên hệ thống cha thì sẽ được phép chỉnh sửa thông tin của mình, xem danh mục sản phẩm, danh sách đơn hàng và danh sách khách hàng của mình. Khách hàng (ClientCustomer): đối tượng người dùng đầu cuối. Đây chính là khách hàng mua bán sản phẩm trên một hệ thống con. Với đối tượng khách hàng này, khi đăng ký tài khoản trên hệ thống webiste con, khách hàng có thể mua hàng, đặt hàng và chỉnh sửa thông tin tài khoản của mình. Về chức năng hệ thống Yêu cầu chức năng: Quản lý người dùng Quản lý đăng ký/đăng nhập Quản lý danh mục Quản lý sản phẩm Quản lý hóa đơn Quản lý thanh toán Quản lý tin tức Quản menu Quản lý banner Thay đổi thông tin Cấu hình hệ thống Yêu cầu phi chức năng: Hệ thống phải bảo đảm tốc độ truy cập nhanh, ổn định và bảo đảm truy cập cùng lúc nhiều người. Bảo mật thông tin lưu trữ Tính thẩm mĩ, tính hiệu quả cao và nhất quán trong giao diện. Danh sách các Actor Để đơn giản trong quá trình xử lý nhưng vẫn thể hiện đuợc tư tưởng của một chương trình SaaS, hệ thống hiện thời có 3 Actor STT Tên Actor Mô tả 1 SaaSAdmin Quản trị hệ thống SaaSSystem. Có thể thêm, xóa, sửa tài khỏan SaaSCustomer và cập nhật thông tin cấu hình hệ thống. 2 SaaSCustomer Là khách hàng của hệ thống SaaSSystem nhưng đồng thời cũng đóng vai trò quản trị hệ thống cho chính hệ thống của họ. Với vai trò của mình, SaaSCustomer có thể thêm, xóa tài khoản ClientSaaSCustomer và cấu hình một số giá trị cho hệ thống của mình. 3 ClientSaaSCustomer Là khách hàng của mỗi hệ thống của người dùng SaaSCustomer ở trên. Đóng vai là người dùng đầu cuối của hệ thống Use - case cho đối tượng SaaSAdmin Danh sách các Use-case Hình 42 Sơ đồ tổng quan các use-case của đối tượng SaaSAdmin Hình 43 Chi tiết use-case Quàn lý khách hàng Hình 44 Chi tiết use-case Quàn lý người dùng Mô tả Use-case STT Tên Use-case Ý nghĩa/Ghi chú 1 Đăng nhập Kiểm tra và xác thực người dùng trên hệ thống SaaSSystem. Đăng nhập này là đăng nhập back-end hệ thống, chỉ có đối tượng SaaSAdmin và SaaSCustomer mới có quyền đăng nhập này. 2 Đăng xuất Thoát ra khỏi màn hình quản trị hệ thống. 3 Phục hồi mật khẩu Cho phép người dùng tìm lại được mật khẩu trong trường hợp họ không nhớ mật khẩu. Mật khẩu mới sẽ được gởi qua email khi người dùng đăng ký. Thay đổi mật khẩu Cho phép người dùng thay đổi mật khẩu hiện tại của mình. Cấu hình hệ thống Cho phép đối tượng người dùng là SaaSAdmin hoặc SaaSCustomer có thể thay đổi một số thông số cấu hình hệ thống của họ. VD: SaaSAdmin có thể thay đổi số ngày tương ứng với từng loại đăng ký: Demo, 3 tháng, 6 tháng, … SaaSCustomer có thể thay đổi: email hệ thống, ngày giờ sử dụng, … Quản lý phương thức thanh tóan Cho phép thêm, xóa, sửa các phương thức thanh toán. Trong chương trình, để đơn giản, thì các phương thức thanh toán tạm thời để cố định. Quản lý khách hàng Quản lý khách hàng (SaaSCustomer): thêm, xóa một tài khoản khách hàng. Quản lý nhóm người dùng Người dùng trên từng hệ thống sẽ được phân chi thành các nhóm người dùng. Để đơn giản trong xử lý, chương trình hiện tại cố định 3 nhóm người dùng (tương ứng 3 actor của hệ thống: SaaSAdmin, SaaSCustomer, ClientSaaSCustomer). Quản trị hệ thống hiện tại chỉ có thể sửa thông tin tên của các nhóm này. Quản lý người dùng hệ thống Quản lý nguời dùng trên hệ thống SaaSSystem. Chia sẻ quyền quản trị hệ thống Phân quyền Chương trình làm phân quyền trên nhóm người dùng. Đặc tả các Use-case Dưới đây mô tả một số use-case chính của phân hệ người dùng này Use-case “Đăng nhập” Tóm tắt: Use-case này cho phép người dùng đăng nhập vào phần quản trị của hệ thống SaasSystem Dòng sự kiện Dòng sự kiện chính Người dùng truy cập tới trang Login cùa hệ thống SaasSystem Hệ thống yêu cầu người dùng nhập vào Tên đăng nhập, Mật khẩu Chọn button [Đăng nhập] để thực hiện việc đăng nhập. Hệ thống sẽ kiểm tra tính hợp lệ của tài khoản này Nếu tài khoản không hợp lệ, hệ thống sẽ thông báo “Tên đăng nhập hoặc mật khẩu không đúng” Nếu tài khoản hợp lệ hệ thống sẽ chuyển đến trang chủ trong phần quản trị hệ thống. Các dòng sự kiện khác Không có Các yêu cầu đặc biệt Người dùng phải có tài khoản hợp lệ trong phần Quản trị của hệ thống Use-case “Đăng xuất” Tóm tắt: Use-case này cho phép người dùng thoát khỏi phần quản trị của hệ thống SaasSystem Dòng sự kiện Dòng sự kiện chính Người dùng chọn liên kết “Thoát” trong phần Quản trị Hệ thống sẽ cập nhật lại thông tin Session cho người dùng này, đồng thời chuyển đến trang Đăng nhập Các dòng sự kiện khác Không có Các yêu cầu đặc biệt Người dùng phải đăng nhập thành công vào phần Quản trị của hệ thống Use-case “Quản lý khách hàng” Tóm tắt: Use-case này cho phép quản trị hệ của hệ thống SaaSSystem tìm kiếm, xem thông tin , cập nhật trạng thái, xóa thông tin của khách hàng Dòng sự kiện Dòng sự kiện chính Người dùng truy cập tới trang chủ trang chủ trong phần quản trị của hệ thống SaaSSystem, sau đó chọn menu Quản lý người dùng à Khách hàng Tìm kiếm khách hàng: người dùng nhập vào các tiêu chí tìm kiếm như: Tên, Tên đăng nhập, Ngày sinh, Loại đăng kí, Tình trạng. Khi người dùng yêu cầu tìm hệ thống sẽ hiển thị danh sách những khách hàng nào thỏa yêu cầu tìm kiếm cho người dùng Xóa khách hàng: người dùng click chọn những khách hàng cần xóa, sau đó chọn button “Xóa”, hệ thống sẽ xác nhận “Bạn có muốn xóa hay không?”. Nếu người dùng xác nhận “Yes” thì khách hàng sẽ bị xóa ra khỏi hệ thống. Cập nhật tình trạng khách hàng: Click vào icon Tình trạng của khách hàng cần cập nhật, hệ thống sẽ xác nhận “Bạn muốn kích hoạt/ bỏ kích hoạt mẫu tin này?”. Nếu người dùng xác nhận “Yes” thì tình trạng của khách hàng sẽ được cập nhật giá trị tương ứng vào hệ thống Các dòng sự kiện khác Không có Các yêu cầu đặc biệt Người dùng phải đăng nhập thành công vào hệ thống Use – case cho đối tượng SaaSCustomer Danh sách các Use-case Hình 45 Danh sách use-case cho đối tượng SaaSCustomer Hình 46 Quản lý khách hàng Hình 47 Quản lý sản phẩm Hình 48 Quản lý danh mục sản phẩm Hình 49 Quản lý đơn hàng Hình 410 Quản lý banner Hình 411 Quản lý tin tức Hình 412 Quản lý menu Mô tả các Use-case STT Tên Use-case Ý nghĩa/Ghi chú 1 Đăng ký Đăng ký một người dùng (SaaSCustomer) tới hệ thống SaaSSystem 2 Đăng nhập Kiểm tra và xác thực người dùng trên hệ thống SaaSSystem. Đăng nhập này là đăng nhập back-end hệ thống, chỉ có đối tượng SaaSAdmin và SaaSCustomer mới có quyền đăng nhập này. 3 Đăng xuất Thoát ra khỏi màn hình quản trị hệ thống. 4 Phục hồi mật khẩu Cho phép người dùng tìm lại được mật khẩu trong trường hợp họ không nhớ mật khẩu. Mật khẩu mới sẽ được gởi qua email khi người dùng đăng ký. 5 Thay đổi mật khẩu Cho phép người dùng thay đổi mật khẩu hiện tại của mình. 6 Chọn giao diện Cho phép SaaSCustomer có thể thay đổi giao diện áp dụng cho website của mình. Các mẫu giao diện này được cố định sẵn bởi SaaSAdmin 7 Quản lý khách hàng Quản lý danh sách khách hàng (ClientCustomer), kích hoạt hay ngừng kích hoạt khách hàng sử dụng website. 8 Quản lý danh mục sản phẩm Cho phép SaaSCustomer có thể thêm tùy ý danh mục sản phẩm. Hiện tại hệ thống mới hỗ trợ 2 cấp danh mục. 9 Quản lý sản phẩm Cho phép thêm sản phẩm bất kì vào danh mục bất kì. Khi cần, nguời dùng có thể xóa, sửa sản phẩm. Có thể chọn sản phẩm liên quan khi hiển thị sản phẩm nào đó. 10 Chọn phương thức thanh toán Cho phép chọn phương thức thanh toán đối với hệ thống của mình. Các phương thức thanh toán này được quản lý bởi SaaSAdmin. 11 Cấu hình hệ thống Cho phép SaaSCustomer có thể cấu hình một số thông tin về hệ thống: tên website, logo và các thông tin khác. Đặc tả các Use-case Use-case “Đăng kí” Tóm tắt: Use-case này cho phép SaaSCustomer đăng kí một tài khoản trên hệ thống SaaSSystem. Nếu đăng kí thành công thì khách hàng này sẽ có được 1 website riêng , có link có dạng sau: Với username chính là username khách hàng dùng để đăng kí trên hệ thống, SaasSystemdomain chính là domain của hệ thống SaasSystem. Dòng sự kiện Dòng sự kiện chính Người dùng truy cập tới trang c

Các file đính kèm theo tài liệu này:

  • docXây dựng hệ thống thương mại điện tử hướng dịch vụ.doc