1. Trang chủ
  2. » Luận Văn - Báo Cáo

Hệ chuyên gia và cơ sở dữ liệu trong bộ nhớ tri thức (LV01000)

65 436 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 65
Dung lượng 0,97 MB

Nội dung

Một số lĩnh vực ứng dụng của trí tuệ nhân tạo Hệ chuyên gia sử dụng các tri thức của những chuyên gia để giải quyết các vấn đề bài toán khác nhau trong nhiều lĩnh vực.. · Cơ sở tri thức

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2

LUẬN VĂN THẠC SĨ MÁY TÍNH

Người hướng dẫn khoa học: PGS TS LÊ HUY THẬP

HÀ NỘI, 2013

Trang 2

LỜI CẢM ƠN

Em xin chân thành cảm ơn toàn thể các thầy cô giáo trong trường Đại học Sư Phạm Hà Nội 2 đã hết lòng dạy dỗ, chỉ bảo, tạo điều kiện tốt cho em trong suốt quá trình học tập cũng như trong thời gian thực hiện luận văn tốt nghiệp này

Đặc biệt, em xin gửi lời cám ơn chân thành và sâu sắc tới PGS,TS NCNC Lê Huy Thập– người đã trực tiếp quan tâm, tận tình hướng dẫn, giúp

đỡ và tạo điều kiện hết sức thuận lợi cho em trong quá trình thực hiện luận văn

Cảm ơn các bạn đồng khoá và gia đình đã động viên, giúp đỡ tôi rất nhiều trong quá trình học tập tại ngành Khoa học máy tính cũng như trong thời gian thực hiện luận văn

Vì năng lực của bản thân em còn hạn chế nên đề tài không thể tránh khỏi những thiếu sót Em rất mong được sự chỉ bảo của quý thầy cô và đóng góp ý kiến của toàn thể các bạn để chương trình ngày càng hoàn thiện hơn nữa

Hà Nội, ngày 2 tháng 12 năm 2013

Học viên

Trần Thị Thúy Diệu

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn này là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nghiên cứu nào khác./

Hà Nội, ngày 2 tháng 12 năm 2013

Học viên

Trần Thị Thúy Diệu

Trang 4

DANH MỤC CÁC TỪ VIẾT TẮT

Trang 5

MỤC LỤC

MỞ ĐẦU 1

1 Lý do chọn đề tài 1

2 Mục đích nghiên cứu (Các kết quả cần đạt được) 1

3 Nhiệm vụ nghiên cứu 1

4 Đối tượng và phạm vi nghiên cứu 1

5 Giả thuyết khoa học 1

6 Phương pháp nghiên cứu 2

CHƯƠNG 1: TỔNG QUAN 3

1.1 Hệ chuyên gia 3

1.1.1 Khái niệm chuyên gia và hệ chuyên gia 3

1.1.2 Các đặc tính của chuyên gia và hệ chuyên gia 5

1.1.3 Sự phát triển của hệ chuyên gia 7

1.1.4 Các lĩnh vực ứng dụng của hệ chuyên gia 9

1.1.5 Kiến trúc tổng quát của các hệ chuyên gia 10

1.2 Hộp đen 14

1.2.1 Yêu cầu của quá trình kiểm thử bằng hộp đen 14

1.2.2 Phân loại kiểm thử bằng hộp đen 15

1.3 Cơ sở dữ liệu 19

1.3.1 Một số khái niệm cơ bản 19

1.3.2 Các mô hình cơ sở dữ liệu 22

1.3.3 Mô hình thực thể kết hợp 23

1.3.4 Mô hình dữ liệu quan hệ 26

1.4 Kết luận chương 29

1.4.1 Khái niệm chuyên gia và hệ chuyên gia 29

1.4.2 Hộp đen 30

Trang 6

1.4.3 Cơ sở dữ liệu 30

CHƯƠNG 2: HỆ CHUYÊN GIA VÀ CƠ SỞ DỮ LIỆU TRONG BỘ NHỚ TRI THỨC 31

2.1 Các phương pháp thu thập tri thức 31

2.1.1 Thu thập tri thức trong quá trình nghiên cứu định lượng 31

2.1.2 Thu thập tri thức trong quá trình nghiên cứu định tính 34

2.2 Kỹ sư tri thức và các cách thể hiện tri thức 37

2.2.1 Kỹ sư tri thức 37

2.2.2 Các cách thể hiện tri thức 41

2.3 Thiết kế CSDL trong bộ nhớ tri thức 44

2.3.1 Dạng quan hệ khi thể hiện bằng O-A-V 44

2.3.2 Dạng quan hệ khi thể hiện bằng luật 46

2.4 Kết luận chương 50

CHƯƠNG 3: ỨNG DỤNG LUẬT KẾT HỢP VÀ SUY LUẬN KHÔNG CHẮC CHẮN TẠI SIÊU THỊ 51

3.1 Lập trình ứng dụng đề tài tại siêu thị Mỹ phẩm 51

3.1.1 Dữ liệu 51

3.1.2 Các công cụ phát triển Demo 52

3.2 Các giao diện và kết quả của chương trình ứng dụng 53

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

TÀI LIỆU THAM KHẢO 57

Trang 7

DANH MỤC CÁC HÌNH VẼ

Hình 1.1 Một số lĩnh vực ứng dụng của trí tuệ nhân tạo 4

Hình 1.2 Hoạt động của hệ chuyên gia 5

Hình 1.3 Những thành phần cơ bản của một hệ chuyên gia 11

Hình 1.4 Quan hệ giữa máy suy diễn và cơ sở tri thức 12

Hình 1.5 Kiến trúc hệ chuyên gia theo J L Ermine 13

Hình 1.6 Kiến trúc hệ chuyên gia heo C Ernest 13

Hình 1.7 Kiến trúc hệ chuyên gia theo E V Popo 14

Hình 1.8 Ký hiệu của thực thể 23

Hình 1.9 Ký hiệu của thuộc tính 23

Hình 1.10 Mối kết hợp không có thuộc tính 25

Hình 1.11 Mối kết hợp có thuộc tính 25

Hình 1.12 Khóa 25

Hình 2.3-1 Liên kết thực thể … 45

Hình 2.3-2 Hình dạng một hộp đen 47

Hình 2.3-3 Liên kết thực thể … 49

Trang 8

DANH MỤC CÁC BẢNG

Bảng 1.1 Sự phát triển của hệ chuyên gia 7

Bảng 1.2 Các lĩnh vực ứng dụng của hệ chuyên gia 9

Bảng 1.3 Ví dụ về quan hệ r 27

Bảng 3.1 Mô tả tập các sự kiện được sử dụng trong Demo 51

Bảng 3.2 Tập luật trong bộ nhớ tri thức 51

Hình 3.1 Giao diện chính của Demo 53

Hình 3.2 Giao diện khi cập nhật thông tin bảng quan hệ 54

Hình 3.3 Kết quả sau quá trình khai phá luật kết hợp 54

Hình 3.4 Tập luật mới được sinh ra 55

Trang 9

HCG đã được đề cập rất nhiều trên thế giới và Việt Nam Tuy nhiên, cấu trúc của bộ nhớ tri thức thì hiện nay vẫn là vấn đề cần nghiên cứu và mở rộng

Chúng ta sẽ tìm cách thiết kế CSDL trong bộ nhớ tri thức, nhằm mục đích có thể cập nhật và giảm thời gian làm việc cho các thành đặc biệt là motor suy luận

2 Mục đích nghiên cứu (Các kết quả cần đạt được)

Dùng các phương pháp như: thu thập tri thức chuyên gia lĩnh vực, hộp đen (hoặc thử và sai) để liệt kê các luật trong bộ nhớ tri thức Kết quả được đưa vào CSDL

Lập trình ứng dụng đề tài

3 Nhiệm vụ nghiên cứu

Nghiên cứu hệ chuyên gia và cơ sở dữ liệu trong bộ nhớ tri thức

4 Đối tượng và phạm vi nghiên cứu

Cơ sở dữ liệu

Hệ chuyên gia

5 Giả thuyết khoa học

Dùng hệ hỗ trợ ra QĐ và trí tuệ nhân ta nhằm nâng cao khả năng suy diễn trong bộ nhớ tri thức

Trang 10

2

6 Phương pháp nghiên cứu

- Các phương pháp thu thập tri thức

- Kỹ sư tri thức và các cách thể hiện tri thức

- Thiết kế CSDL trong bộ nhớ tri thức

7 Nội dung luận văn

Luận văn bao gồm 3 chương

Chương 2 Hệ chuyên gia và cơ sở dữ liệu trong bộ nhớ tri thức

2.1 Các phương pháp thu thập tri thức

2.2 Kỹ sư tri thức và các cách thể hiện tri thức

2.3 Kết luận chương

Chương 3 Ứng dụng luật kết hợp và suy luận không chắc chắn tại siêu thị mỹ phẩm

3.1 Lập trình ứng dụng đề tài tại siêu thị Mỹ phẩm

3.2 Các giao diện và kết quả của chương trình ứng dụng

Trang 11

3

CHƯƠNG 1: TỔNG QUAN

1.1 Hệ chuyên gia

1.1.1 Khái niệm chuyên gia và hệ chuyên gia

Định nghĩa 1.1: Chuyên gia là một hoặc một nhóm có kiến thức sâu về

chuyên ngành và có kỹ năng giải các vấn đề (của chuyên ngành đó) một cách

có hiệu quả

Định nghĩa 1.2: Hệ chuyên gia

* Hệ chuyên gia là một hệ thống dựa trên tri thức, nó mô hình hóa các tri thức của chuyên gia và dùng tri thức này để giải vấn đề phức tạp thuộc lĩnh vực đó

* Hệ chuyên gia là một hệ thống bao gồm máy tính và chương trình được dùng để mô phỏng và bắt chước cách giải quyết vấn đề của chuyên gia Trong đó,

* Tri thức của hệ chuyên gia bao gồm các sự kiện và các luật Các sự kiện được cấu thành bởi một số nhiều các thông tin, được thu thập rộng rãi, công khai và được sự đồng tình của các chuyên gia trong lĩnh vực đó Các luật biểu thị sự quyết đoán chuyên môn của các chuyên gia trong lĩnh vực

* Mức độ hiệu quả của một hệ chuyên gia phụ thuộc vào kích thước và chất lượng của cơ sở tri thức mà hệ đó có được

* Mỗi hệ chuyên gia chỉ đặc trưng cho một lĩnh vực vấn đề nào đó

Hệ chuyên gia là một trong những lĩnh vực ứng dụng của trí tuệ nhân tạo Dưới đây là một số các lĩnh vực của trí tuệ nhân tạo:

Trang 12

4

Hình 1.1 Một số lĩnh vực ứng dụng của trí tuệ nhân tạo

Hệ chuyên gia sử dụng các tri thức của những chuyên gia để giải quyết các vấn đề (bài toán) khác nhau trong nhiều lĩnh vực Trong hệ chuyên gia có các khối cơ bản sau:

* Khối lưu tri thức cơ sở: chúng được sử dụng để lưu các tri thức bao gồm các sự kiện, các quan hệ và các luật

* Khối suy luận hay motor suy luận: là bộ xử lý được mô hình hóa theo cách lập luận và xử lý của chuyên gia Motor nhận thông tin về sự kiện, so sánh chúng với các kiến thức đã có trong khối lưu tri thức cơ sở rồi rút ra kết luận hay bình luận Như vậy, motor cần có kỹ thuật về suy luận

Expert Understanding

Natural Lannguage

Trang 13

(2) Cơ sở tri thức của hệ chuyên gia là bộ nhớ tri thức lĩnh vực

Một hệ chuyên gia gồm ba thành phần chính là cơ sở tri thức, máy suy diễn hay môtơ suy diễn và hệ thống giao tiếp với người sử dụng

· Cơ sở tri thức chứa các tri thức có sẵn

· Máy suy diễn tạo ra câu trả lời cho người sử dụng qua hệ thống giao tiếp dựa trên cơ sở tri thức

Người sử dụng cung cấp các thông tin, dữ liệu cần được xử lý thông qua hệ chuyên gia Sau quá trình xử lý, hệ chuyên gia đưa ra kết quả cần thiết cho người sử dụng nhờ giao diện tương tác

Hoạt động của một hệ chuyên gia dựa trên tri thức được minh họa như sau :

Hình 1.2 Hoạt động của hệ chuyên gia Mỗi một hệ chuyên gia chỉ xử lý cho các vấn đề trong một lĩnh vực xác định dựa trên các tri thức có sẵn được tạo ra từ trước của lĩnh vực đó và các

Cơ sở tri thức

Máy suy diễn

Trang 14

6

Nó có đáng tin cậy không?

b) Các đặc trưng của hệ chuyên gia

Có bốn đặc trưng cơ bản của một hệ chuyên gia:

· Hiệu quả cao: Hiệu quả đưa ra kết quả trả lời và độ chính xác cao

· Thời gian trả lời thoả đáng: Khả năng truy xuất kết quả thông qua dữ liệu

đầu vao cho trước nhanh hơn so với các chuyên gia Hệ chuyên gia là một hệ thống thời gian thực

· Độ tin cậy cao: Không thể xảy ra sự cố hoặc giảm sút độ tin cậy khi sử

dụng

· Dễ hiểu: Hệ chuyên gia giải thích các bước suy luận một cách dễ hiểu và

nhất quán, không giống như cách trả lời bí ẩn của các hộp đen

c) Những ưu điểm của hệ chuyên gia

· Phổ cập: Là sản phẩm chuyên gia, được phát triển không ngừng với hiệu

quả sử dụng không thể phủ nhận

· Giảm giá thành: Do trả lời tự động thông qua hệ thống vì vậy tiết kiệm

được tiền bạc và công sức cho người sử dụng hơn so với sử dụng các chuyên gia

Trang 15

7

· Giảm rủi ro: Giúp con người tránh được trong các môi trường rủi ro, nguy

hiểm

· Tính thường trực: Bất kể lúc nào cũng có thể khai thác sử dụng, trong khi

con người có thể mệt mỏi, nghỉ ngơi hay vắng mặt

· Đa lĩnh vực: Hệ chuyên gia có thể sử dụng cho nhiều lĩnh vực khác nhau

và có thể sử dụng nhiều tri thức cơ sở của nhiều lĩnh vực khác nhau Trong khi các chuyên gia thông thường chỉ thành thạo trong một lĩnh vực xác định

· Độ tin cậy: Luôn đảm bảo độ tin cậy khi khai thác

· Khả năng giảng giải: Các vấn đề được giải quyết thông qua các cơ chế rõ

ràng

· Khả năng trả lời: Trả lời theo thời gian thực, khách quan

· Tính ổn định: Suy luận có lý và đầy đủ mọi lúc mọi nơi

· Trợ giúp thông minh như một người hướng dẫn: Có thể truy cập như là một

cơ sở dữ liệu thông minh

1.1.3 Sự phát triển của hệ chuyên gia

Sau đây là một số sự kiện quan trọng trong lịch sử phát triển của công nghệ hệ chuyên gia (expert system technology)

Trang 16

8

1957

Rosenblatt phát minh khả năng nhận thức; Newell, Shaw và Simon đề xuất giải bài toán tổng quát (GPS: General Problem Solver)

language)

1962

Nguyên lý Rosenblatt’s về chức năng thần kinh trong nhận thức

Perceptions)

1965

Phương pháp hợp giải Robinson Ưng dụng logic mờ (fuzzy logic) trong suy luận về các đối tượng mờ (fuzzy object) của Zadeh Xây dựng hệ chuyên gia đầu tiên về nha khoa DENDRAL (Feigenbaum, Buchanan, et.al)

(associative memory model) của Quillian

1971

Hệ chuyên gia HEARSAY I về nhận dạng tiếng nói (speech recognition) Xây dựng các luật giải bài toán con người (Human Problem Solving) popularizes rules (Newell and Simon)

representation) (Minsky)

1976

Toán nhân tạo (AM: Artificial Mathematician) (Lenat) Lý thuyết Dempster−Shafer về tính hiển nhiên của lập luận không chắc chắn (Dempster−Shafer theory of Evidence for reason under uncertainty) Ứng dụng hệ chuyên gia PROSPECTOR trong khai thác hầm mỏ (Duda, Har)

Trang 17

9

trong hệ chuyên gia XCON/R1 (Forgy)

máy tính DEC (DEC computer systems)

1979

Thuật toán mạng về so khớp nhanh (rete algorithm for fast pattern matching) của Forgy; thương mại hoá các ứng dụng về trí tuệ nhân tạo

machines) từ LMI

1982

Hệ chuyên gia về Toán học (SMP math expert system); mạng ron Hopfield (Hopfield Neural Net); Dự án xây dựng máy tính thông minh thế hệ 5 ở Nhật bản (Japanese Fifth Generation Project to develop intelligent computers)

(intelli Corp)

tool (NASA)

Bảng 1.1 Sự phát triển của hệ chuyên gia

1.1.4 Các lĩnh vực ứng dụng của hệ chuyên gia

Hệ chuyên gia thể hiện thể hiện được tầm quan trong của nó trong các lĩnh vực của đời sống Sau đây là một số các ứng dụng quan trọng nhất của hệ chuyên gia:

Trang 18

10

Truyền đạt

Dạy học kiểu thong minh sao cho sinh viên có thể

hỏi vì sao, như thế nào và cái gì nếu giống như hỏi

một người thầy giáo Giải thích

Giải thích những dữ liệu thu nhận được

môn để đánh giá hiệu quả Lập kế hoạch

Lập kế hoạch sản xuất theo yêu cầu

đoán, kiểm tra, lập kế hoạch, dự đoán và chữa trị

Bảng 1.2 Các lĩnh vực ứng dụng của hệ chuyên gia

1.1.5 Kiến trúc tổng quát của các hệ chuyên gia

a) Các thành phần cơ bản của một hệ chuyên gia

Một hệ chuyên gia kiểu mẫu gồm bảy thành phần cơ bản như sau:

Trang 19

11

Hình 1.3 Những thành phần cơ bản của một hệ chuyên gia

· Cơ sở tri thức: Gồm các phần tử (hay đơn vị) tri thức, thông thường được gọi là luật, được tổ chức như một cơ sở dữ liệu

· Máy duy diễn: Công cụ (chương trình, hay bộ xử lý) tạo ra sự suy luận

bằng cách quyết định xem những luật nào sẽ làm thỏa mãn các sự kiện, các đối tượng, chọn ưu tiên các luật thỏa mãn, thực hiện các luật có tính ưu tiên cao nhất

· Lịch công việc: Danh sách các luật ưu tiên do máy suy diễn tạo ra thoả mãn

các sự kiện, các đối tượng có mặt trong bộ nhớ làm việc

dùng

Bộ thu nạp

tri thức

Giao diện người, máy

Trang 20

· Khả năng thu nhận tri thức: Cho phép người sử dụng bổ sung các tri thức

vào hệ thống một cách tự động thay vì tiếp nhận tri thức bằng cách mã hoá tri thức một cách tường minh Khả năng thu nhận tri thức là yếu tố mặc nhiên của nhiều hệ chuyên gia

· Giao diện người sử dụng: Là nơi người sử dụng và hệ chuyên gia trao đổi

Hình 1.4 Quan hệ giữa máy suy diễn và cơ sở tri thức b) Một số mô hình kiến trúc của hệ chuyên gia

Có nhiều mô hình kiến trúc hệ chuyên gia theo các tác giả khác nhau Sau đây là một số mô hình:

Máy suy

diễn

Cơ sở tri thức Tri thức thực hành Tri thức phán đoán

Trang 21

Dữ liệu

Cấu trúc máy

suy diễn

Máy suy diễn

Tri thức mới Người sử dụng yêu cầu

Trang 22

dữ liệu kiểm thử sẽ xuất phát từ đặc tả

1.2.1 Yêu cầu của quá trình kiểm thử bằng hộp đen

Quá trình kiểm thử bằng hộp đen cần giải quyết được một số lỗi trong hệ thống như sau:

· Các chức năng thiếu hoặc không đúng

· Các giao diện lỗi

· Các lỗi cấu trúc dữ liệu trong việc truy cập cơ sở dữ liệu bên ngoài

sử dụng

Khả năng thích nghi

Bộ nhớ làm việc

Sở hữu tri thức

Diễn dịch

Cơ sở tri thức

Trang 23

15

1.2.2 Phân loại kiểm thử bằng hộp đen

Kiểm thử hộp đen áp dụng cho các giai đoạn sau của kiểm thử Kiểm thử hộp đen có một số loại của kiểm thử như sau:

a) Kiểm thử phân hoạch lớp giá trị tương đương

Khái niệm: Phân lớp tương đương là một phương pháp kiểm thử hộp đen chia

miền đầu vào của chương trình thành các lớp dữ liệu tương đương nhau Từ

đó, suy dẫn ra các ca kiểm thử Phương pháp này cố gắng xác định ra một ca kiểm thử mà làm lộ ra một lớp lỗi, làm giảm các trường hợp kiểm thử phải được xác định

Cách thực hiện:

· Bước 1: Xác định các lớp tương đương

· Bước 2: Tạo ra một test case ứng với mỗi lớp tương đương

Với kiểm thử hộp đen bằng lớp tương đương thì dữ liệu đầu vào và yêu cầu kiểm thử rất quan trọng Với đầu vào và yêu cầu kiểm thử khác nhau sẽ sinh ra các lớp tương đương khác nhau Việc kiểm tra các lớp tương đương được sinh ra sẽ kết luận các lớp dữ liệu đầu vào là hợp lệ hay không hợp lệ Thông thường, với các dữ liệu đầu vào không hợp lệ sẽ có tỉ lệ sinh ra lỗi nhiều hơn Từ đó, với dữ liệu đầu vào xác định sẽ có các khả năng xảy ra như sau:

· Nếu đầu vào định rõ giá trị của một mảng thì có một kiểu lớp cho các giá trị hợp lệ và một lớp ở bên trong nó

· Nếu điều kiện đầu vào chỉ là một tập giá trị thì chia vùng tương đương thành hai tình huống là một lớp tương đương hợp lệ và một lớp tương đương không hợp lệ

· Nếu điều kiện đầu vào xác định là một kiểu đúng/sai thì chia vùng tương đương thành hai tình huống là một lớp hợp lệ và một lớp không hợp lệ

Trang 24

16

Ứng dụng và hạn chế

· Kiểm thử sẽ làm giảm đáng kể số lượng test case phải được tạo ra để thực hiện, nó phù hợp với các hệ thống có nhiều dữ liệu đầu vào và nhận giá trị trong các miền hay các tập

· Kiểm thử ứng dụng ở mức khử đơn vị, tích hợp hệ thống, kiểm thử chấp nhận tất cả các yêu cầu của nó là đầu vào hay đầu ra mà có thể được phân chia dựa theo yêu cầu của hệ thống

b) Kiểm thử biến đổi trạng thái

Khái niệm: Trạng thái là một điều kiện mà trong đó hệ thống phải chờ đợi một

hay nhiều sự kiện Các trạng thái ghi nhớ các sự kiện đầu vào và hệ thống nhận được trong quá khứ, và những phản hồi của hệ thống đối với các sự kiện

kế tiếp theo nếu chúng xảy ra Các sự kiện này có thể gây ra sự biến đổi các trạng thái hoặc các hành động phát sinh Trạng thái nhìn chung được biểu diễn bằng một hay nhiều biến trong hệ thống

· Sự chuyển tiếp: Thể hiện sự biến đổi từ trạng thái này sang trạng thái khác

· Biểu đồ trạng thái biểu diễn một thực thể cụ thể, nó mô tả hệ thống quy tắc

và các tương tác phức tạp chỉ trong những kí hiệu nhỏ gọn, các bảng trạng thái bao gồm 4 cột: Trạng thái, sự kiện, hành động và trạng thái tiếp theo

· Sự kiện là cái gì đó tác động làm hệ thống biến đổi trạng thái

· Hành động là hành động được bắt đầu khi có sự biến đổi trạng thái

Ưu điểm của bảng chuyển trạng thái

· Liệt kê tất cả các kết nối của trạng thái có thể, không chỉ những kết nối hợp

Trang 25

17

Nhược điểm

· Bảng có thể mở rộng rất nhanh nếu hệ thống có nhiều sự kiện và trạng thái

mà hầu hết các ô trong bảng đều bỏ trống (lãng phí)

· Tạo các test case

ü Tạo một tập các test case mà tất cả các trạng thái được đi qua ít nhất một lần, đây là test mức yếu

ü Tạo một tập các test case mà tất cả các sự kiện đều được kích hoạt ít nhất một lần, đây cũng là test case mức yếu

ü Tạo một các test case mà tất cả các lộ trình đều được thực hiện ít nhất một lần, mức độ test này được quan tâm hơn so với mức độ bao phủ của nó tuy nhiên không dễ thực hiện

ü Tạo một tập các test case mà tất cả các sự kiện chuyển đổi đều được kiểm tra ít nhất t một lần, test mức độ này cho ta một mức test bao phủ nhưng không sinh ra số lượng test lớn

Cách thực hiện:

· Bước 1: Soạn thảo bảng trạng thái– sự kiện

· Bước2: Soạn thảo cây chuyển tiếp

· Bước 3: Soạn thảo tập lệnh thử nghiệm kiểm tra các trường hợp hợp lệ

· Bước 4: Soạn thảo tập lệnh thử nghiệm kiểm tra các trường hợp không hợp

lệ

· Bước 5: Soạn thảo tập lệnh thử nghiệm bảo vệ

ü Nếu sự bảo vệ gồm một điều kiện mà một giá trị biên sau đó sự bảo vệ là môt đối tượng phân tích giá trị biên

ü Nếu sự bảo vệ gồm một điều kiện phức tạp sau đó sự bảo vệ này được bao phủ bởi nguyên tắc bao phủ điều kiện/quy định đã được sửa đổi

Ứng dụng và hạn chế

· Giúp ta nhận dạng trạng thái, sự kiện, sự chuyển tiếp cần được kiểm thử

Trang 26

18

· Biểu đồ không hữu dụng trong những trường hợp hệ thống không có trạng thái hay không cần phải đáp trả các sự kiện thời gian thực từ bên ngoài hệ thống

c) Kiểm thử giá trị biên

Khái niệm: Là kiểm thử dựa trên giá trị biên của vùng dữ liệu hợp lệ, việc

kiểm thử này nhằm mục đích hệ thống sẽ không chấp nhận các dữ liệu nằm bên ngoài dữ liệu hợp lệ, và chỉ chấp nhận các dữ liệu nằm bên trong (bao gồm cả biên)

Cách thực hiện:

· Bước 1: Xác định các lớp tương ứng

· Bước 2: Xác định biên tương ứng với mỗi lớp tương đương

· Bươc 3: Tạo các test case cho các giá trị biên bằng cách chọn một điểm trên biên, một điểm ngay dưới biên và một điểm ngay trên biên

Ứng dụng và hạn chế

· Kiểm thử giá trị biên có thể làm giảm đáng kể số lượng các test case mà đáng lẽ phải được tạo ra và thực hiện, nó phù hợp nhất với các hệ thống mà nhiều dữ liệu đầu vào nhận giá trị trong các miền hay các tập hợp

· Kiểm thử giá trị biên áp dụng ở kiểm thử mức đơn vị , tích hợp hệ thống và chấp nhận, tất cả các yêu cầu của nó là tất cả các đầu vào có thể phân chia và các biên có thể được xác định dựa vào yêu cầu hệ thống

d) Kiểm thử bảng quyết định

Khái niệm: Là kiểu kiểm thử dựa trên bảng quyết định Thông qua bảng quyết

định để xây dựng các trường hợp cần kiểm tra

Các bước thực hiện

· Bước 1: Lập bảng quyết định

· Bước 2: Xây dựng bảng testcase

Trang 27

19

Ứng dụng và hạn chế

· Áp dụng cho hệ thống kết hợp nhiều điều kiện phức tạp

· Đưa ra các test case tương ứng

· Tốn nhiều thời gian

e) Kiểm thử phân tích miền

Khái niệm: Phân tích miền là một kỹ thuật có thể được sử dụng để xác định

các ca kiểm thử hiệu quả khi có thể nhiều biến số Nó xây dựng tổng quát trên

kỹ thuật phân lớp tương đương và kiểm thử giá trị biên với n kích thước đồng thời Giống như những kỹ thuật trên, tìm kiếm các vị trí mà các biên đã được xác định hoặc thực hiện không đúng

Ứng dụng và han chế: Phân miền được áp dụng khi có nhiều biến (đầu vào là

nhiều trường) nên được kiểm thử với nhau sao cho hiệu quả hoặc các biến tương tác hợp lý với nhau Kỹ thuật phù hợp nhất khi giá trị các biến là số, giá trị của các biến có kiểu logic, xâu…

1.3 Cơ sở dữ liệu

1.3.1 Một số khái niệm cơ bản

1.3.1.1 Định nghĩa cơ sở dữ liệu

Cơ sở dữ liệu (CSDL) là một hệ thống các thông tin có cấu trúc được lưu trữ trên các thiết bị như băng từ, đĩa từ,… để có thể thoả mãn yêu cầu khai thác đồng thời của nhiều người sử dụng hay nhiều chương trình ứng dụng với các mục đích khác nhau

CSDL gắn liền với đại số, logic toán và một số lĩnh vực khác

1.3.1.2.Ưu điểm của cơ sở dữ liệu

· Giảm sự trùng lặp thông tin xuống mức thấp nhất và do đó bảo đảm được tính nhất quán và toàn vẹn dữ liệu

· Đảm bảo dữ liệu có thể truy xuất theo nhiều cách khác nhau

Trang 28

20

· Khả năng chia sẻ thông tin cho nhiều người sử dụng và nhiều ứng dụng khác nhau

1.3.1.3 Những vấn đề mà CSDL cần phải giải quyết

· Tính chủ quyền của dữ liệu: Tính chủ quyền của dữ liệu được thể hiện

ở phương diện an toàn dữ liệu, khả năng biểu diễn các mối liên hệ ngữ nghĩa của dữ liệu và tính chính xác của dữ liệu Điều này có nghĩa là người khai thác CSDL phải có nhiệm vụ cập nhật các thông tin mới nhất của CSDL

· Tính bảo mật và quyền khai thác thông tin của người sử dụng: Do có nhiều

người cùng khai thác CSDL một cách đồng thời nên cần phải có một cơ chế bảo mật và phân quyền khai thác CSDL

· Tranh chấp dữ liệu: Do có nhiều người cùng được phép truy cập và cùng

một tài nguyên dữ liệu của CSDL với những mục đích khác nhau Như vậy, CSDL cần phải có cơ chế ưu tiên truy nhập dữ liệu cũng như cơ chế giải quyết tình trạng khóa chết trong quá trình khai thác cạnh tranh Cơ chế ưu tiên

có thể được thực hiện dựa trên:

ü Cấp quyền ưu tiên cho người khai thác CSDL

ü Thời điểm truy nhập

ü Cơ chế lập lịch truy xuất hay cơ chế khóa

ü

· Đảm bảo dữ liệu khi có sự cố: Một CSDL cần có một cơ chế khôi phục dữ

liệu khi có các sự cố bất ngờ xảy ra để đảm bảo CSDL luôn ổn định

Trang 29

21

· Những người quản trị CSDL, đó là những người hiểu biết về tin học, về các

hệ quản trị CSDL và hệ thống máy tính Họ là người tổ chức CSDL, do đó họ phải nắm rõ các vấn đề kỹ thuật về CSDL để có thể phục hồi CSDL khi có sự

cố Họ là những người cấp quyền hạn khai thác CSDL, do vậy họ có thể giải quyết được các vấn đề tranh chấp dữ liệu nếu có

1.3.1.5 Hệ quản trị cơ sở dữ liệu

Để giải quyết tốt những vấn đề mà cách tổ chức CSDL đặt ra như đã nói ở trên, cần thiết phải có những phần mềm chuyên dùng để khai thác chúng Những phần mềm này được gọi là các hệ quản trị CSDL Các hệ quản trị CSDL có nhiệm vụ hỗ trợ cho các nhà phân tích thiết kế CSDL cũng như những người khai thác CSDL Hiện nay trên thị trường phần mềm đã có những hệ quản trị CSDL hỗ trợ được nhiều tiện ích như: MS Access, Visual Foxpro, SQL Server, Oracle, …

Mỗi hệ quản trị CSDL đều được cài đặt dựa trên một mô hình dữ liệu

cụ thể Dù là dựa trên mô hình dữ liệu nào, một hệ quản trị CSDL cũng phải hội đủ các yếu tố sau:

· Ngôn ngữ giao tiếp giữa người sử dụng và CSDL:

ü Ngôn ngữ mô tả dữ liệu: Để cho phép khai báo cấu trúc của

CSDL, khai báo các mối liên hệ của dữ liệu và các quy tắc quản lý áp đặt lên các dữ liệu đó

ü Ngôn ngữ thao tác dữ liệu: Cho phép người sử dụng có thể cập nhật dữ

liệu (thêm/sửa/xoá)

ü Ngôn ngữ truy vấn dữ liệu: Cho phép người khai thác sử dụng để truy vấn

các thông tin cần thiết trong CSDL

ü Ngôn ngữ quản lý dữ liệu: Cho phép những người quản trị hệ thống

thay đổi cấu trúc của các bảng dữ liệu, khai báo bảo mật thông tin và cấp quyền hạn khai thác CSDL cho người sử dụng.,…

Trang 30

22

· Từ điển dữ liệu: Dùng để mô tả các ánh xạ liên kết, ghi nhận các thành

phần cấu trúc của CSDL, các chương trình ứng dụng, mật mã, quyền hạn sử dụng,…

· Cơ chế giải quyết vấn đề tranh chấp dữ liệu: Mỗi hệ quản trị CSDL cũng

có thể cài đặt một cơ chế riêng để giải quyết các vấn đề này Một số biện pháp sau đây thường được sử dụng: thứ nhất: cấp quyền ưu tiên cho từng người sử dụng; thứ hai: đánh dấu yêu cầu truy xuất dữ liệu, phân chia thời gian, người nào có yêu cầu trước thì có quyền truy xuất dữ liệu trước,…

· Hệ quản trị CSDL cũng phải có cơ chế sao lưu (backup) và phục hồi (restore) dữ liệu khi có sự cố xảy ra

Điều này có thể thực hiện sau một thời gian nhất định hệ quản trị CSDL sẽ tự động tạo ra một bản sao CSDL, cách này hơi tốn kém, nhất là đối với CSDL lớn

· Hệ quản trị CSDL phải cung cấp một giao diện thân thiện, dễ sử dụng

1.3.1.6 Các ứng dụng của cơ sở dữ liệu

Hiện nay, hầu như CSDL gắn liền với mọi ứng dụng của tin học; chẳng hạn như việc quản lý hệ thống thông tin trong các cơ quan nhà nước, việc lưu trữ và xử lý thông tin trong các doanh nghiệp, trong các lĩnh vực nghiên cứu khoa học, trong công tác giảng dạy, cũng như trong việc tổ chức thông tin đa phương tiện,…

1.3.2 Các mô hình cơ sở dữ liệu

Mô hình dữ liệu là sự trừu tượng hoá môi trường thực Mỗi loại mô hình dữ liệu đặc trưng cho một cách tiếp cận dữ liệu khác nhau của những nhà phân tích thiết kế CSDL Mỗi loại mô hình dữ liệu đều có những ưu điểm và những mặt hạn chế của nó, nhưng vẫn có những mô hình dữ liệu nổi trội và được nhiều người quan tâm nghiên cứu Phần tiếp theo sẽ trình bày một số mô hình cơ sở dữ liệu cơ bản

Trang 31

Một thực thể : Là một “sự vật” hoặc “đối tượng” mà nó tồn tại và có

thể phân biệt được với các đối tượng khác Ví dụ như một nhân viên trong một tổ chức là một thực thể

Ký hiệu: hình oval với tên gọi, có đường nối với thực thể

Hình 1.9 Ký hiệu của thuộc tính Khi phân tích một thuộc tính, thông thường cần xét đến kiểu dữ liệu và miền giá trị tương ứng của thuộc tính đó Chẳng hạn các thuộc tính Mã nhân

NhanVien

Trang 32

24

viên (MANV), Họ tên (HoTen), Ðịa chỉ (DiaChi) là những chuỗi ký tự phản ánh những thông tin trên về nhân viên; Đơn giá là số nguyên dương,…

Có một số loại thuộc tính sau:

• Thuộc tính đơn, kết hợp: Thuộc tính đơn là thuộc tính không thể chia ra thành những phần con nhỏ hơn Còn thuộc tính kết hợp thì có thể chia ra thành những phần con (tức là thành những thuộc tính khác) Ví dụ tên nhân viên có thể cấu trúc như là thuộc tính kết hợp bao gồm tên, chữ lót, và họ Thuộc tính kết hợp có thể xuất hiện theo sự phân cấp Ví dụ thuộc tính địa chỉ nhân viên có các thuộc tính thành phần là số nhà, đường, thành phố, tỉnh

• Thuộc tính rỗng Một giá rỗng (null value) được dùng đến khi một thực thể không có giá trị đối với một thuộc tính Ví dụ một nhân viên nào đó không có người trong gia đình thì giá trị của thuộc tính tên người trong gia đình đối với nhân viên đó phải là rỗng Giá trị rỗng cũng có thể được dùng để chỉ ra rằng giá trị của thuộc tính là chưa biết Một giá trị chưa biết có thể hoặc là giá trị tồn tại nhưng chúng ta không có thông tin đó, hoặc là không biết được (không biết giá trị thực sự có tồn tại hay không)

• Thuộc tính suy ra: Giá trị của loại thuộc tính này có thể được suy ra từ các thuộc tính hoặc thực thể liên hệ khác Ví dụ tập thực thể khách hàng có thuộc tính số lượng tài khoản vay cho biết bao nhiêu tài khoản vay mà khách hàng

có từ ngân hàng Chúng ta có thể suy ra giá trị của thuộc tính này bằng cách đếm số lượng các thực thể tài khoản vay được kết hợp với khách hàng Một

ví dụ khác về tập thực thể nhân viên có các thuộc tính ngày bắt đầu, cho biết ngày bắt đầu làm việc tại

1.3.3.3 Mối kết hợp

Quan hệ giữa các tập thực thể được gọi là mối kết hợp Mỗi mối kết hợp cũng được đặt tên thể hiện mối kết hợp, chẳng hạn như mỗi hóa đơn chỉ bán cho một khách hàng, một khách hàng có thể mua hàng nhiều lần (nhiều hóa đơn)

Ngày đăng: 17/12/2015, 06:55

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[7]. D. B.Skilicorn (1999), “Strategies for Parallel Data Mining”, External Technical Report Sách, tạp chí
Tiêu đề: Strategies for Parallel Data Mining
Tác giả: D. B.Skilicorn
Năm: 1999
[9]. R.Agrawal and R.Srikant (1998), “Mining quantitative association rules in large relationals tables” Sách, tạp chí
Tiêu đề: Mining quantitative association rules in large relationals tables
Tác giả: R.Agrawal and R.Srikant
Năm: 1998
[10]. R.Agrawal, R.Srikant (1994), “Fast Algorithms for Mining Association Rules”, In Proc of the 20th International Conference on Very Large Databases, Santiago, Chile Sách, tạp chí
Tiêu đề: Fast Algorithms for Mining Association Rules
Tác giả: R.Agrawal, R.Srikant
Năm: 1994
[11]. Rakesh Agrawal, John Shafer (1996), “Parallel mining of association rules: Design, implementation and experience”, Research Report RJ 10004, IBM Almaden Research Center, San Jose, California Sách, tạp chí
Tiêu đề: Parallel mining of association rules: Design, implementation and experience
Tác giả: Rakesh Agrawal, John Shafer
Năm: 1996
[1]. Đỗ Xuân Lôi (1998), Cấu trúc dữ liệu và giải thuât, Nhà xuất bản khoa học và kĩ thuật Khác
[2]. Lê Huy Thập (10/2008), Giáo trình kỹ thuật lập trình, Tập 1, NXB Khoa học tự nhiên và công nghệ Khác
[3]. Lê Huy Thập (2006), Hệ hỗ trợ ra quyết định, Bài giảng tại Học viện công nghệ Bưu chính viễn thông Khác
[4]. Lê Huy Thập (2006), Hệ chuyên gia, Bài giảng tại Đại Học Sư Phạm và Học viện công nghệ Bưu chính viễn thông Khác
[5]. Nguyễn Thanh Thuỷ (1996), Trí tuệ nhân tạo, Các phương pháp giải quyết vấn đề và kĩ thuật xử lí tri thức, NXB Giáo dục Khác
[6]. Đỗ Trung Tuấn (1998), Trí tuệ nhân tạo, NXB Giáo dục. Tiếng Anh Khác
[8]. John Durkin (1994), Expert Systems, Prentice Hall, 1994 Khác

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w