Xây dựng các lớp đối tượng

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Loại bỏ mẩu tin nhân bản thừa trong cơ sở dữ liệu quan hệ (Trang 49 - 59)

3.2 THIẾT KẾ HỆ THỐNG LOẠI BỎ MẨU TIN NHÂN BẢN THỪA TRONG

3.2.1 Xây dựng các lớp đối tượng

3.2.1.1 Mô hình tương tác lp

Căn cứ vào luồng xử lý hệ thống và các tầng xử lý của hệ thống đã xây dựng ở mục 5.1 ta xác định được các lớp đối tượng như sau.

(1) Gói Rule engine

Gói Rule engine bao gồm những lớp chuyên xử lý việc đọc, phân tích và xử lý các luật. Các luật được lưu dưới dạng file XML.

STT Tên lớp Mô tả

01 clsRuleReader Lớp chuyên xử lý việc đọc các luật từ file XML

02

clsRuleEngine Tách luật lấy từ file XML thành các toán tử, toán hạng

03

clsExpressionEvaluator Phân tích cú pháp các luật

04 clsProxy Giao tiếp giữa gói rule engine với các gói khác

Bảng 3-2 Các lớp thuộc gói Rule Engine

(2) Gói Process

Gói Process chứa các lớp thực hiện giải thuật nhận diện bản ghi nhân bản thừa như thuật toán đã trình bày ở Chương 2. Gói Process gồm các lớp như bảng dưới đây.

STT Tên lớp Mô tả

01 clsDAO Xử lý các thao tác liên quan tới CSDL như: lấy dữ liệu, cập nhật dữ liệu, mở kết nối…

02 clsDeduplicate Thực hiện thuật toán đã nêu ở Phần 2

03 frmExecute Giao diện chính thực hiện nhận diện bản ghi nhân bản thừa.

04 frmSetting Giao diện dùng để thiết lập thông số cho hệ thống

05 frmSuspectRecords

Giao diện hiển thị những bản ghi nghi ngờ nhân bản thừa và thực hiện xóa bản ghi nếu người dùng yêu cầu.

Bảng 3-3 Các lớp thuộc gói Process

3.2.1.2 Mô t chi tiết các lp đối tượng

(1) Lớp clsRuleReader

STT Thuộc tính Kiểu dữ liệu Phạm vi Mô tả

01 Rules clsRule private Các luật lấy từ file XML 02 FileName String private Tên file XML có chứa các luật

Bảng 3-4 Bảng thuộc tính của lớp clsRuleReader

STT Tên phương

thức

Kiểu trả về Phạm vi Mô tả

01 GetRules N/A public Lấy các luật từ file XML

Bảng 3-5 Bảng các phương thức của lớp clsRuleReader

(2) clsRuleEngine

STT Thuộc tính Kiểu dữ liệu Phạm vi Mô tả

01 Expression clsExpressionEvaluator private Các luật đã được phân tích

02 Rules clsRules private Các luật chưa được phân tích

STT Tên phương thức Kiểu trả

về

Phạm vi Mô tả

01 SortRules N/A private

Sắp xếp các luật theo thứ tự giảm dần của hệ số chắc chắn

02 CompareRulesByActions int private So sánh hệ số chắc chắn của các luật

03 GetAttributes string public Lấy các thuộc tính có trong các luật

04 GetRules string public Lấy các luật

05 GetUperThreshold float public

Lấy cận trên tương đối để xác định nhân bản thừa.

06 GetLowerThreshold float public

Lấy cận dưới tương đối để xác định nhân bản thừa.

(3) clsExpressEvaluator

STT Tên phương thức Kiểu trả về Phạm vi Mô tả

01 Parse clsSymbol public Phân tích cú pháp của luật

02 IsComplicate bool private

03 IsFactAtt bool private Kiểm tra xem có phải là toán hạng hay không 04 IsBoolean bool private Kiểm tra xem có phải là giá

trị boolean hay không 05 IsNumber bool private Kiểm tra xem có phải là số

hay không

06 IsString bool private Kiểm tra xem có phải là chuỗi hay không

07 IsOpenParanthesis bool private Kiểm tra xem có phải là dấu mở ngoặc đơn hay không 08 IsCloseParanthesis bool private Kiểm tra xem có phải là dấu

đóng ngoặc đơn hay không 09 IsOperator bool private Kiểm tra xem có phải là

phép toán hay không

10 IsFunction bool private Kiểm tra xem có phải là một hàm hay không

(4) clsProxy

Lớp clsProxy có vai trò trung gian, là lớp để gói Rule engine giao tiếp với các gói khác. STT Tên phương thức Kiểu trả về Phạm vi Mô tả

01 GetAttributes string public Lấy các thuộc tính có trong các luật

02 GetRules string public Lấy các luật

03 GetUperThreshold float public Lấy cận trên tương đối để xác định nhân bản thừa.

04 GetLowerThreshold float public Lấy cận dưới tương ứng để xác định nhân bản thừa.

Bảng 3-9 Bảng các phương thức của lớp clsProxy

(5) clsDeduplicate

STT Thuộc tính Kiểu dữ liệu Phạm vi Mô tả

01 Tables Dataset private Dữ liệu cần được làm

sạch

STT Tên phương thức Kiểu trả về

Phạm vi Mô tả

01 CalculateCF N/A private Tính toán hệ số chắc chắn của mỗi bản ghi

02 ProcessDuplicate N/A public Phương thức chính xử lý các thao tác liên quan tới xác định bản ghi nhân bản thừa.

03 WriteLogFile N/A public Ghi những bản ghi nghi ngờ ra log file

04 FetchData N/A private Lấy dữ liệu từ CSDL để xử lý 05 DetermineDuplicate N/A private Thực hiện thuật toán nhận

diện bản ghi nhân bản thừa trình bày ở Phần 2

06 CheckSingleRecord int priavte Kiểm tra xem bảng cần xử lý có những bản ghi nghi ngờ là nhân bản hay không.

07 RemoveRedundantCols N/A private Xóa bỏ những cột tạm sinh ra trong quá trình xử lý

08 GetRules string private Gọi hàm GetRues của lớp clsProxy

09 GetAttributes string private Gọi hàm GetAttributes của lớp clsProxy

Bảng 3-11 Bảng các phương thức của lớp clsDeduplicate

(6) clsDAO

STT Thuộc tính Kiểu dữ liệu Phạm vi Mô tả

01 ConnectionString string private Thông tin để thiết lập kết nối tới CSDL

STT Tên method Kiểu trả

về

Phạm

vi

Mô tả

01 ConnecToDB bool public Tạo kết nối tới CSDL 02 FetchData bool public Lấy dữ liệu từ một bảng đã

cho

03 UpdateData bool public Cập nhập dữ liệu của một bảng đã cho

04 DeleteData bool public Xóa dữ liệu trong một bảng 05 OpenConnection bool public Mở kết nối

06 CloseConnection bool public Đóng kết nối

07 BackupData bool public Tạo bảng backup dữ liệu

Bảng 3-13 Bảng các phương thức của lớp clsDAO

(7) frmExecute

STT Thuộc tính Kiểu dữ liệu Phạm vi Mô tả

01 cmdLog_Click N/A private Thực hiện ghi các bản

ghi nhân bản thừa ra file .CSV

02 cmdStart_Click N/A private Thực hiện quá trình xử lý nhận diện bản ghi nhân bản thừa. Phương thức này sử dụng các method của lớp clsDeduplicate

03 cmdRemove_Click N/A private Loại bỏ những bản ghi nhân bản thừa theo yêu cầu của người dùng

(7) frmSetting

STT Thuộc tính Kiểu dữ liệu Phạm vi Mô tả

01 WriteSetting N/A private Ghi những cài đặt cho người dùng thiết lập ra file

02 GetSetting N/A private Lấy những thiết đặt của người dùng đã tạo từ file và hiển thị trên form

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Loại bỏ mẩu tin nhân bản thừa trong cơ sở dữ liệu quan hệ (Trang 49 - 59)

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

(72 trang)