5.1.2 Mô tả các Actor
Actor khách hàng: Người dùng duy nhất của hệ thống là khách hàng. Hệ thống khơng u cầu mỗi khách hàng phải có tài khoản riêng. Một người dùng bất kỳ có thể vào hệ thống tìm và mua điện thoại bất cứ lúc nào.
5.1.3 Mô tả các Usecase5.1.3.a Usecase Tìm kiếm 5.1.3.a Usecase Tìm kiếm
Usecase này thực hiện khi khách hàng muốn tìm kiếm sản phẩm điện thoại di động theo một mức giá và theo một số hãng sản xuất. Người dùng chọn một mức giá trong năm mức giá sau: và chọn các hãng điện thoại cần tìm. Hệ thống sẽ trả về cho khách hàng danh sách các máy điện thoại di động của các hãng đã
chọn có mức giá đó. Danh sách thể hiện thơng tin sơ bộ về mỗi sản phẩm gồm: tên máy, nhà sản xuất, giá bán, kích cỡ, thời gian chờ, thời gian đàm thoại. Và đối với mỗi sản phẩm đều cho phép người dùng xem thông tin chi tiết sản phẩm hoặc đặt mua sản phẩm.
Lược đồ trình tự - luồng cơ bản cho usecase Tìm kiếm
Hình 5.3 - Lược đồ trình tự cho usecase Xem danh sách sản phẩm được mua nhiều nhất
5.1.3.b Usecase Xem danh sách sản phẩm mới ra mắt
Usecase này nhằm đưa ra cho khách hàng một danh sách các sản phẩm mới ra mắt trong tháng. Hệ thống thể hiển danh sách thông tin sơ bộ về mỗi sản phẩm gồm: tên máy, nhà sản xuất, giá bán, kích cỡ, thời gian chờ, thời gian đàm thoại. Và đối với mỗi sản phẩm đều cho phép người dùng xem thông tin chi tiết sản phẩm hoặc đặt mua sản phẩm.
Lược đồ trình tự-luồng cơ bản cho usecase Xem danh sách sản phẩm mới ra mắt như sau:
Hình 5.4 - Xem danh sách sản phẩm mới ra mắt.
5.1.3.c Usecase Xem danh sách sản phẩm được nhiều người quan tâm
Usecase này nhằm đưa ra cho khách hàng danh sách các sản phẩm được nhiều người xem chi tiết nhất. Hệ thống thể hiển danh sách thông tin sơ bộ về mỗi sản phẩm gồm: tên máy, nhà sản xuất, giá bán, kích cỡ, thời gian chờ, thời gian đàm thoại. Và đối với mỗi sản phẩm đều cho phép người dùng xem thông tin chi tiết sản phẩm hoặc đặt mua sản phẩm.
Lược đồ trình tự-luồng cơ bản cho usecase Xem danh sách sản phẩm được nhiều người quan tâm như sau:
Hình 5.5 - Lược đồ tuần tự Usecase Sản phẩm được quan tâm nhiều nhất.
5.1.3.d Usecase Trợ giúp chọn sản phẩm
Usecase này thực hiện khi khách hàng muốn tìm kiếm những chiếc điện thoại di động có các đặc tính mà mình thích. Hệ thống yêu cầu khách hàng đánh giá mức độ quan tâm đối với các tiêu chuẩn của máy điện thoại di động và giá trị mong
muốn của thuộc tính đó. Hệ thống sẽ trả về danh sách gồm 3 máy điện thoại phù hợp nhất với tiêu chuẩn đã đánh giá của khách hàng.
Năm tiêu chuẩn cho khách hàng sau đánh giá gồm có: Trọng lượng của máy, thời gian sử dụng máy, kiểu dáng của máy, các tính năng giải trí có trong máy (bao gồm các tính năng “có camera”,”xem video”,”nghe nhạc MP3”, “nghe radio FM” và “tải nhạc chuông Midi”), và giá bán của máy. Ta chọn 5 tiêu chuẩn trên tiêu biểu cho sự phong phú thuộc tính của một máy điện thoại di động. Hai tiêu chuẩn đầu (trọng lượng, thời gian sử dụng máy) và tiêu chuẩn cuối (giá bán) là những thuộc tính có miền giá trị gần như liên tục, có thể chia ra các khoảng cho người dùng chọn. Ví dụ thời gian chờ có thể chia ra các khoảng “ngắn”, ”rất ngắn”, ”trung bình”, “dài”, ”rất dài”. Tiêu chuẩn thứ ba(kiểu dáng của máy) là thuộc tính có miền giá trị rời rạc, người dùng chọn một kiểu dáng cụ thể của máy mà họ ưa thích. Tiêu chuẩn thứ tư là sự kết hợp nhiều tính năng của máy điện thoại di động, người dùng sẽ chọn các tính năng mà họ thích.
Đây sẽ là nơi thuật toán di truyền được áp dụng. Các đánh giá của khách hàng được dùng tìm kiếm sản phẩm thích hợp nhất trong quần thể sản phẩm của thuật toán di truyền.
Lược đồ trình tự-luồng cơ bản cho usecase Trợ giúp chọn sản phẩm như sau:
5.1.3.f Usecase Duyệt danh mục sản phẩm theo hãng sản xuất
Usecase này thực hiện khi khách hàng muốn xem tất cả các sản phẩm điện thoại di động của một nhà sản xuất cụ thể. Hệ thống đưa ra các danh sách thông tin sơ bộ về các điện thoại của nhà sản xuất đã chọn.
Lược đồ trình tự-luồng cơ bản cho usecase Duyệt danh mục sản phẩm theo hãng sản xuất như sau:
Hình 5.7 - Lược đồ trình tự cho usecase Duyệt sản phẩm theo hãng sản xuất.
5.1.3.g Usecase Xem chi tiết
Usecase này thực hiện khi khách hàng muốn xem thông tin chi tiết về một máy điện thoại di động nào đó từ danh sách các điên thoại. Các thơng tin đưa ra cho khách hàng gồm : Tên nhà sản xuất, model máy, kích thước, trọng lượng, kiểu dáng, băng tần hỗ trợ, độ phân giải và màu sắc màn hình hiển thị, thời gian đàm thoại và thời gian chờ, giá bán, bộ nhớ, dạng tin nhắn hỗ trợ, các tính năng giải trí (bao gồm tích hợp máy ảnh, quay video, nghe nhạc MP3, nghe radio FM) và các tính năng kết nối dữ liệu (bao gồm Java, GPRS, WAP, Bluetooth). Tại đây, khách hàng có thể đặt mua ngay máy điện thoại này.
Hình 5.8 - Lược đồ trình tự cho usecase Xem thơng tin chi tiết.
5.1.3.h Usecase Thêm hàng vào giỏ
Usecase này thực hiện khi khách hàng muốn chọn một sản phẩm và thêm vào giỏ hàng. Hệ thống sẽ báo cho khách hàng khi đã thêm sản phẩm vào giỏ thành cơng.
Lược đồ trình tự-luồng cơ bản cho usecase Thêm hàng vào giỏ như sau:
Hình 5.9 - Lược đồ trình tự cho usecase Thêm hàng vào giỏ.
5.1.3.i Usecase Xem giỏ hàng
Usecase này thực hiện khi khách hàng muốn xem danh sách sản phẩm đã đặt mua trong giỏ hàng. Hệ thống hiển thị danh sách từng sản phẩm đã đặt mua của khách hàng và số lượng của chúng. Người dùng có thể nhập lại số lượng đặt mua hoặc hủy việc đặt mua một sản phẩm.
Hình 5.10 - Lược đồ trình tự cho usecase Xem giỏ hàng.
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 toá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ử