.10 Lược đồ trình tự cho usecase Xem giỏ hàng

Một phần của tài liệu LV LUẬN án NGHIÊM PHAN THÀNH đạt (Trang 54)

5.1.3.j Usecase Thanh toán

Usecase này thực hiện khi khách hàng muốn thanh toán cho những sản phẩm đã chọn trong giỏ hàng. Hệ thống sẽ xem khách hàng đã đăng ký thông tin cá nhân chưa. Nếu chưa hệ thống sẽ buộc khách hàng điền vào thông tin cá nhân bao gồm: Họ tên khách hàng, địa chỉ, email. Hệ thống sẽ tạo tạo hóa đơn liệt kê các sản phẩm trong giỏ hàng, yêu cầu khách hàng chọn phương thức giao hàng, phương thức thanh toán. Khách hàng chọn phương thức giao hàng và phương thức thanh tốn thích hợp với mình rồi chấp nhận đặt mua hoặc hủy khơng mua. Lược đồ trình tự-luồng cơ bản cho usecase Thanh toán như sau:

5.2 Thiết kế

5.2.1 Thiết kế hệ thống

Hệ thống gồm 2 module chính: Module ứng dụng cửa hàng web bán điện thoại di động và module áp dụng thuật tốn GA tìm kiếm điện thoại theo sở thích người dùng. Mobile ứng dụng thuật tốn GA có thể phân gồm 2 gói riêng biệt. Gói MobilePhoneShop chứa thơng tin các thuộc tính của máy điện thoại di động, có chức năng kết nối và đưa thông tin của cơ sở dữ liệu lên một nhớ chính. Gói GenecticAlgorithm chứa thuật toán di truyền.

Sơ đồ kiến trúc các thành phần hệ thống:

Hình 5.12 - Mơ hình kiến trúc hệ thống.

5.2.2 Thiết kế cơ sở dữ liệu

Hình 5.13 - Sơ đồ dữ liệu quan hệ.

5.2.2.b Danh sách các bảng

Bảng 5-1-Danh sách các bảng cơ sở dữ liệu

STT Tên bảng Ghi chú

1. tblItems Sản phẩm điện thoại di động 2. tblProducers Hãng sản xuất

3. tblCaseType Danh sách kiểu dáng của điện thoại di động

4. tblOders Đơn đặt hang

5. tblOderDetails Chi tiết đơn đặt hang

5.2.2.c Chi tiết các bảng dữ liệu

Bảng 5.2 - Bảng dữ liệu tblItems

trị

1 ItemID Mã sản phẩm int Khóa chính

2 ItemModel Tên sản phẩm nvarchar(50)

3 ProducerID Mã hãng sản

xuất

int

4 Image Đường dẫn chứa

file hình của sản phẩm

5 SmallImage

6 Comingdate Ngày ra mắt datetime

7 Height Chiều cao real Đơn vị: mm

8 Length Chiều rộng real Đơn vị: mm

9 Width Độ dày real Đơn vị: mm

10 Weight Trọng lượng smallint Đơnvị: gam

11 Standby Time Thời gian chờ smallint Đơn vị: giờ

12 Talk Time Thời gian đàm thoại

smallint

13 Screen Color Màn hình char(10)

14 Scraqeen Resolution

Độ phân giải của màn hình

char(10)

15 GPRS GPRS Bit

16 FM Nghe radio FM bit

17 Message Loại tin nhắn hỗ trợ

nvarchar(50)

18 Camera Chụp hình nvarchar(50)

19 MP3 Nghe nhạc MP3 bit

20 Memory Dung lượng bộ

nhớ int 21 WAP Char(10) 22 Bluetooth bit 23 Java Bit 24 Battery nvarchar(50)

25 Networks Mô tả các băng

tần hỗ trợ

nvarchar(50)

26 Price float

27 CaseType Mã kiểu dáng int 1-4

28 Midi bit

30 Games Mơ tả các trị chơi có trong máy

nvarchar(50)

Bảng 5.3 - Bảng dữ liệu tblCaseType

STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Miền giá trị Ghi chú

1 CasetypeID Mã kiểu dáng int Khóa chính

2 Description Mơ tả nvarchar(20)

STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Miền giá trị Ghi chú

1 ProducerID Mã xuất hãng sảnInt Khóa chính 2 ProducerName Tên xuất hãng sảnnvarchar(50) 3 Website Đường dẫn trang web hãng sản xuất nvarchar(50) 4 Logo Đường dẫn chứa hình của hãng sản xuất nvarchar(50)

STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Miền giá trị Ghi chú

1 OderID Mã đơn đặt

hàng

Int Khóa chính

2 OderDate Ngày đặt datetime

3 CusName Tên khách hàng nvarchar(50)

4 CusAdd Địa chỉ

khách hàng

nvarchar(50)

5 CusEmail Email của

khách hàng

nvarchar(50)

6 CusTel Điện thoại của

khách hàng

7 DeliveryAdd Địa chỉ giao hàng

nvarchar(50)

8 Amount Tổng tiền kháchfloat

9 DiscountAmoun

t

Phần trăm giảm giá

float

10 ShipCost Phí giao hàng float

11 TotalAmount Tổng tiền thanh tốn hóa đơn.

float

Bảng 5.6 - Bảng dữ liệu tblOrderDetails

STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu

Miền giá trị Ghi chú

1 OrderNumber Số thứ tự của chi

tiết trong hóa đơn

Int Khóa chính

2 OrderID Mã hóa đơn Int Khóa chính

3 ItemID Mã sản phẩm Int Khóa chính

4 Quatity Số lượng Int

5 Price Giá Float

5.2.3 Thiết kế các lớp đối tượng

Phần này bao gồm thiết kế các xử lý của đối tượng ở cả ba tầng hoạt động của hệ thống và sự phối hợp hoạt động giữa chúng ở các mức độ tổng thể và chi tiết đến từng nghiệp vụ.

5.2.3.a Hiện thực hóa các usecase ở mức thiết kế

Hình 5.14 - Lược đồ trình tự (mức thiết kế) cho usecase Tìm kiếm.

Usecase Xem danh sách sản phẩm mới ra mắt:

Hình 5.15 - Lược đồ trình tự (mức thiết kế) cho usecase Xem sản phẩm mới ra mắt.

Hình 5.16 - Lược đồ trình tự (mức thiết kế) cho usecase Trợ giúp chọn sản phẩm

Usecase Xem chi tiết

Hình 5.17 - Lược đồ trình tự (mức thiết kế) cho usecase Xem thơng tin chi tiết

Hình 5.18 - Lược đồ trình tự (mức thiết kế) cho usecase Thêm hàng vào giỏ

Usecase Xem giỏ hàng

Hình 5.19 Lược đồ trình tự (mức thiết kế) cho usecase Xem giỏ hàng Usecase

Thanh tốn

Hình 5.21 Sơ đồ phối hợp giữa các trang web

Hình 5.20 - Lược đồ trình tự (mức thiết kế) cho usecase Thanh toán

Các thành phần của sơ đồ:

Bảng 5.7 - Các đối tượng lớp của hệ thống WebMobileShop

STT Lớp Mô tả

1 pageDefault Trang chủ của ứng dụng web

2 pageSearch Trang tìm kiếm sản phẩm theo giá và hãng sản xuất

3 pageCriterionChoos e

Trang trợ giúp khách hàng lựa chọn sản phẩm thông qua đánh giá các tiêu chuẩn của sản phẩm 4 pageResult Trang kết quả sản phẩm đề nghị cho khách hàng.

5 pageViewcart Trang xem giỏ hàng.

6 Checkout Trang đặt hàng và kết xuất hóa đơn.

7 BLItems Lớp đối tượng xử lý liên quan đến sản phẩm gồm các phương thức lấy sản phẩm theo hãng sản xuất, tìm kiếm sản phẩm theo giá và hãng sản xuất. 8 BLProducer Lớp đối tượng xử lý liên quan đến hãng sản xuất

gồm

các phương thức lấy danh sách các hãng sản xuất. 9 OrderItem Lớp đối tượng xử lý các sản phẩm đã đặt hàng. 10 OrderList Lớp đối tượng xử lý liên quan đến danh sách đặt

hàng. 11 CustomerPreferenc

e

Lớp đối tượng chứa các đánh giá khách hàng về mỗi tiêu chuẩn sản phẩm.

12 Weight Lớp đối tượng chứa thuộc tính trọng lượng của sản phẩm.

13 Price Lớp đối tượng chứa thuộc tính giá bán của sản phẩm.

14 CaseType Lớp đối tượng chứa thuộc tính kiểu dáng của sản phẩm.

15 Entertainment Lớp đối tượng chứa các thuộc tính giải trí của sản phẩm.

16 StandbyTime Lớp đối tượng chứa thuộc tính thời gian sử dụng của

17 Population Lớp đối tượng chứa các xử lý danh sách sản phẩm của module thuật toán GA.

18 MobileContainer Lớp đối tượng xử lý dữ liệu danh sách sản phẩm của

module thuật toán GA.

19 DAItems Lớp đối tượng xử lý dữ liệu danh sách sản phẩm. 20 DAProducer Lớp đối tượng xử lý dữ liệu danh sách hãng sản

xuất.

5.2.3.c Sơ đồ lớp của module thuật toán GA

Hình 5.23 - Sơ đồ lớp của module thuật tốn GA.

Các lớp đối tượng trong module này được mô tả trong bảng dưới đây:

Bảng 5.8 - Các đối tượng thuộc module thuật tốn GA

STT Lớp Mơ tả

1 Genome Lớp đối tượng biểu diễn một gen của thuật toán di truỳen.

2 Individual Lớp đối tượng biểu diễn một cá thể 3 CustomerPreferenc

e

Lớp đối tượng chứa các đánh giá khách hàng về mỗi tiêu chuẩn sản phẩm.

sản phẩm.

5 Price Lớp đối tượng chứa thuộc tính giá bán của sản phẩm.

6 CaseType Lớp đối tượng chứa thuộc tính kiểu dáng của sản phẩm.

7 Entertainment Lớp đối tượng chứa các thuộc tính giải trí của sản phẩm.

8 StandbyTime Lớp đối tượng chứa thuộc tính thời gian sử dụng của

sản phẩm.

9 Population Lớp đối tượng chứa các xử lý danh sách sản phẩm, biểu diễn quần thể của thuật giải di truyền. 10 MobileContainer Lớp đối tượng xử lý dữ liệu danh sách sản phẩm. 11 MobileCriterion Lớp đối tượng cha được xử lý dữ liệu danh sách

CHƯƠNG 6 CÀI ĐẶT 6.1 Môi trường phát triển ứng dụng

Hệ thống website được cài đặt dựa trên các môi trường phát triển sau:

 Môi trường cài đặt ứng dung: Visual Studio.NET

 Ngôn ngữ sử dụng: ASP.NET và C#.NET

 Hệ quản trị cơ sở dữ liệu: SQL Server

 Phần mềm mơ hình hóa ứng dụng: Rational XDE

6.2 Cài đặt chương trình

Tập tin cơ sở dữ liệu SQL Server được cài đặt tại máy Server. Hệ chương trình được viết bằng ngơn ngữ C#.NET gồm 2 phần:

 Phần cài đặt thuật toán GA gồm 2 project : project MobilePhoneShop chứa kết nối và xử lý đến cơ sở dữ liệu và project GeneticAlgorithm chứa cài đặt thuật toán di truyền theo trọng số. Cả hai project là những Class Library project kết xuất ra tập tin DLL.

 Phần trang web Mua bán điện thoại di động gồm 1 project WebMobileShop được cài đặt theo mơ hình ứng dụng web 3 tầng:

- Tầng dữ liệu bao gồm các phương thức đọc, ghi cơ sở dữ liệu sử dụng kỹ thuật ADO.NET để kết nối và truy cập dữ liệu. Các hàm này chứa trong các lớp đối tượng DABasic, DAItems, DAProducers. Khi khởi động chương trình, hệ thống đọc vào bộ nhớ chính danh sách thuộc tính của các máy điện thoại di động. Trong q trình hoạt động, khi có nhu cầu đọc, ghi dữ liệu, hệ thống kết nối với Server để đọc các thơng tin dữ liệu vào bộ nhớ chính của hệ thống hoặc ghi dữ liệu từ bộ nhớ chính vào tập tin cơ sở dữ liệu trên Server. - Tầng xử lý bao gồm các hàm xử lý nghiệp vụ. Các hàm xử lý khi xử lý trên dữ liệu sẽ thực hiện trực tiếp trên dữ liệu đã được đọc vào bộ nhớ chính.

Nếu chưa có dữ liệu trong bộ nhớ, các hàm xử lý sẽ triệu gọi đến các hàm đọc ghi dữ liệu ở tầng dữ liệu. Trong chương trình, các hàm xử lý được thiết kế độc lập với giao diện người dùng.

- Tầng giao tiếp bao gồm các hàm hiển thị thông tin và các xử lý dữ liệu có thể hiện trên màn hình được thiết kế. Các hàm này được cài đặt trực tiếp tại các trang web. Khi các trang web được triệu gọi, thông tin dữ liệu được lấy từ bộ nhớ của máy chủ để hiển thị đến trình duyệt của người dùng. Khi có các xử lý nghiệp vụ xảy ra, các hàm tại tầng giao tiếp sẽ triệu gọi đến các hàm xử lý nghiệp vụ ở tầng xử lý. Riêng trang trợ giúp lựa chọn sản phẩm sẽ áp dụng mơ hình thuật tốn GA bằng cách gọi các hàm trong 2 DLL đã trình bày ở trên. Với mơ hình xử lý như mơ tả trên, hệ thống phần nào đã thể hiện được sự hoạt động của mơ hình ba lớp trên mơi trường .NET, sự phối hợp cũng như tính độc lập của các lớp đối tượng được cài đặt tại mỗi tầng và trong tồn ứng dụng.

6.3 Một số màn hình tiêu biểu

Khi gọi ứng dụng web, trang đầu tiên sẽ hiển thị như sau: Trang web: Default.aspx

Tiêu đề: Web Mobile shop Homepage. Ý nghĩa: Trang chủ của ứng dụng.

Trang web: CriterionChoose.aspx

Ý nghĩa: Trợ giúp người dùng chọn lựa sản phẩm theo các tiêu chuẩn cần có của một máy điện thoại di động

Trang web: Result.aspx

Ý nghĩa: Danh sách các máy điện thoại đề nghị cho khách hàng sau khi họ đã đánh các tiêu chuẩn ở trang CriterionChoose.aspx

Trang web: Viewcart.aspx

CHƯƠNG 7

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

7.1 Kết luận

Hệ hỗ trợ ra quyết định tuy không phải là một đề tài mới mẻ, với rất nhiều đề tài nghiên cứu và các nổ lực áp dụng thực tế nó đã dần dà trở thành một bộ phận quan trọng của các hệ thống thông tin hiện đại. Tuy nhiên các áp dụng của nó vẫn ở mức rất sơ khai và vẫn chưa có một chuẩn thống nhất.Trong khn khổ luận văn chúng em đã tìm hiểu một cách tổng quan Hệ hỗ trợ ra quyết định. Bài tốn tối ưu hóa đa mục tiêu thực chất là một pha trong Hệ hỗ trợ ra quyết định, giai đoạn lựa chọn. Đã có rất nhiều cách tiếp cận được đặt ra để giải quyết bài tốn này, xong các cách tiếp cận đó vẫn giựa trên một ứng dụng, một tình huống cụ thể thực tế nào đó. Và thực tế là chưa có một phương pháp nào có thể thỏa mãn tất cả các tình huống và cũng chưa có phương pháp nào để so sánh hiệu quả của các phương pháp đó với nhau.Trong luận văn này chúng em đã cố gắng đưa ra một cái nhìn tổng qt về bài tốn tối ưu hóa đa mục tiêu và một số cách tiếp cận.Trong đó chúng em tập trung vào phương pháp dùng thuật giải di truyền, một phương pháp còn tương đối mới mẻ.

Và giựa trên phương pháp áp dụng thuật giải di truyền trong bài tốn tối ưu hóa đa mục tiêu ,chúng em cũng đã có những cải tiến để có thể áp dụng vào bài tốn cụ thể đó là “Trợ giúp khách hàng chọn sản phẩm khi mua hàng qua mạng”. Với cách tiếp cận trên chúng em đã tìm cách áp dụng và xây dựng một trang web bán điện thoại qua mạng.Trong đó có cài đặt phần trợ giúp để khách hàng có thể chọn một chiếc vừa ý và nhanh chóng nhất.Do trong khn khổ giới hạn của luận văn ,tuy trang web có thể đáp ứng được các thành phần cơ bản cho một trang web bán hàng nhưng vẫn cịn rất nhiều thiếu sót và hạn chế.

Sau khi cài đặt chúng em nhận thấy rằng với cách tiếp cận này trang web sẽ đảm bảo được về mặt thời gian.Thế nhưng kết quả trả về có thể khác nhau qua các

lần chạy (vì đơi khi miền tối ưu Pareto có nhiều lời giải). Tuy nhiên một điểm mạnh của phương pháp này so với các phương pháp tìm kiếm thơng thường đó là ln cho ra kết quả (tối ưu hoặc gần tối ưu) chứ không phải đưa ra một câu thông báo đáng buồn cho người mua lẫn kẻ bán “Khơng thể tìm thấy sản phẩm thích hợp”.

7.1 Hướng phát triển

Hồn thiện trang web để nó có thể áp dụng một cách thực tế: giao diện thân thiện và gần gủi hơn, hồn thiện chức năng thanh tốn.

Cải tiến phương pháp đánh giá trên miền Pareto để có thể cho ra kết quả xâu xát hơn và để tránh tình trạng cho ra các kết quả khác nhau qua các lần chạy.

Hổ trợ thêm để người dùng có thể chọn ra sản phẩm cuối cùng trong số các sản phẩm mà ta đã đề nghị. Vì chỉ cần có 2 sự chọn lựa là ta đã phải đưa ra quyết định. Chúng ta có thể áp dụng các phương pháp giải quyết tối ưu cũ (tiêu tốn nhiều thời gian hơn) như AHP, Tweak Utility...

Phụ lục A Bài toán tối ưu đa mục tiêu A.1 Sự ra đời

Tất cả các lĩnh vực như kỹ thuật, khoa học, kinh doanh, và khoa học xã hội và tự nhiên đều liên quan đến việc quyết định phân bổ,hoạch định các tài nguyên hạn hẹp cho các hoạt động,ví dụ quyết định đầu tư kinh doanh,phân cơng cơng việc, phân bổ tài nguyên v.v... Những hoạt động này đều liên quan đến việc đo lường và tối ưu các hiệu xuất, mục tiêu.

Trong một trường hợp cụ thể nào đó, các mục tiêu có thể được tối ưu hóa một cách độc lập để đạt được kết quả tốt nhất ứng với mục tiêu đó. Tuy nhiên một kết quả chấp nhận được cho toàn bộ các mục tiêu khó có thể tìm ra theo cách đó. Bởi vì việc tối ưu hóa một mục tiêu có thể dẫn đến kết quả của một hoặc nhiều mục tiêu khác trở nên tồi tệ. Ví dụ trong việc chế tạo xe đua làm sao tìm ra được trọng lượng hợp lý của thùng xăng để xe có thể đi một khoảng đường dài mà không phải tiếp nhiên liệu (cần một lượng xăng lớn) nhưng không làm tăng

nhiều khối lượng của xe (làm giảm tốc độ xe).

Tuy nhiên thực tế là chưa có một định nghĩa thống nhất thế nào là tối ưu như

Một phần của tài liệu LV LUẬN án NGHIÊM PHAN THÀNH đạt (Trang 54)

Tải bản đầy đủ (DOCX)

(82 trang)
w