nghiên cứu mẫu thiết kế hướng đối tượng áp dụng xây dựng ứng dụng hỗ trợ rút trích thông tin từ web

72 333 1
nghiên cứu mẫu thiết kế hướng đối tượng  áp dụng xây dựng ứng dụng hỗ trợ rút trích thông tin từ web

Đ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

2 MỤC LỤC Chương 1 Tổng quan 8 1.1 Dẫn nhập 8 1.2 Mục tiêu đề tài: 9 1.3 Phạm vi đề tài 9 1.4 Nội dung luận văn 10 Chương 2 Mẫu thiết kế hướng đối tượng 11 2.1 Khái niệm mẫu thiết kế 11 2.2 Lịch sử và vai trò của mẫu thiết kế 11 2.3 Các loại mẫu được sử dụng trong phát triển phần mềm 12 2.4 Các mẫu thiết kế hướng đối tượng GoF 14 2.4.1 Các mẫu tạo lập (Creational patterns) 15 2.4.2 Các mẫu cấu trúc (Structural patterns) 15 2.4.3 Các mẫu ứng xử (Behavioural patterns) 15 2.4.4 Mẫu thiết kế hướng đối tượng dạng phức hợp 15 2.5 Các bước để lựa chọn mẫu thiết kế 16 2.6 Một số vấn đề được giải quyết bằng mẫu thiết kế 17 Chương 3 Tổng quan về rút trích thông tin 19 3.1 Giới thiệu chung 19 3.2 Giới hạn hướng nghiên cứu của đề tài 21 3.3 Giới thiệu về Rút trích thông tin 22 3.3.1 Khái niệm 22 3.3.2 So sánh rút trích thông tin và tìm kiếm thông tin 22 3.3.3 Hệ thống rút trích thông tin từ các trang web 23 3.4 Bài toán cần giải quyết 25 3.5 Các nghiên cứu liên quan đến bài toán đặt ra 28 3 Chương 4 Mẫu thiết kế xây dựng ứng dụng hỗ trợ rút trích thông tin từ web 30 4.1 Giới thiệu ứng dụng 30 4.2 Kiến trúc ứng dụng hỗ trợ rút trích thông tin từ web Nn theo ch  30 4.2.1 Quá trình s dng ng dng rút trích thông tin t web Nn 30 4.2.2 Kin trúc h thng 32 4.3 Các mu thit k ưc dùng  xây dng ng dng 33 4.3.1 Mu thit k MVC 33 4.3.2 Mu Data Access Pattern 35 4.3.3 Mu Dynamic Factory 36 4.3.4 Mu Abstract Factory 39 4.3.5 Mu Strategy 40 Chương 5 Cài t và kim th 43 5.1 Quá trình xây dng các thuc tính h tr rút trích thông tin: 43 5.2 Quá trình xây dng công c h tr rút trích thông tin: 44 5.2.1 Giao din ng dng: 44 5.2.2 T chc lưu tr thông tin các ch  và trang web Nn 47 5.2.3 T chc lưu tr thông tin cu hình 49 5.3 Cài t các thành phn có s dng mu thit k hưng i tưng 50 5.3.1 Áp dng mu thit k Dynamic Factory  iu hưng x lý các yêu cu 50 5.3.2 Áp dng mu Abstract Factory cho thành phn rút trích thông tin t web Nn ni dung ng 52 5.3.3 Áp dng mu thit k Strategy óng gói thut toán 57 Chương 6 Kt lun và hưng phát trin 60 6.1 Kt lun: 60 6.1.1 Kt qu t ưc 61 6.1.2 Hn ch: 62 6.2 Hưng phát trin 62 Tài liu tham kho 63 4 Ph lc A Gii thiu v web Nn 66 A. 1 Khái nim 66 A. 2 Gii thiu v web Nn ni dung ng 67 Ph lc B Cài t minh ha mu thit k mu Dynamic Factory 69 Ph lc C Áp dng thng kê thu thp thuc tính chung ch  71 5 DAN H MC CÁC T VIT TT & THUT N G Information Extraction: Rút trích thông tin. Information retrieval : Tìm kim thông tin. Information Integration : Tng hp thông tin. Object Oriented Design patterns: Mu thit k hưng i tưng. Composite Patterns: Mu thit k phc hp. Wrapper: Công c rút trích thông tin t web. Deep web: Trang web Nn. Meta search engine: Máy tìm kim liên hp. Web mining: Khai phá web Content mining: Khai phá ni dung. Text Mining: Khai phá văn bn. Structure Mining: Khai phá cu trúc. Usage Mining: Khai phá s dng 6 DAN H MC CÁC BN G, HÌN H Hình 3-1 : Mt s form tìm kim theo ch  vic làm [10] 26 Hình 3-2: Minh ha Visual Block Tree, và canh l các mc d liu 28 Hình 3-3: Mu ánh nhãn form 29 Hình 4-1 : Biu  hot ng ca ngưi s dng 31 Hình 4-2 : Kin trúc h thng h tr rút trích thông tin t web Nn theo ch  32 Hình 4-3: Mô hình MVC 34 Hình 4-4: Mu Data Access Object 35 Hình 4-5 : Mu Factory Method 36 Hình 4-6 : Mu Dynamic Factory - ci tin ca mu Factory Method 37 Hình 4-7: Mu Abstract Factory 40 Hình 4-8: Mu Strategy 42 Hình 5-1: Giao din ca ng dng web dành cho ngưi s dng 45 Hình 5-2: Giao din chính ca công c qun lý 45 Hình 5-3: Giao din qun lý các thuc tính chung 46 Hình 5-4: Giao din qun lý các trang web 46 Hình 5-5 : CSDL lưu thông tin ch  và trang web Nn 49 Hình 5-6: Sơ  lp thành phn iu hưng x lý yêu cu 50 Hình 5-7: Cài t không dùng mu Abstract Factory 52 Hình 5-8: Mu Abstract Factory cho thành phn rút trích thông tin t web Nn 53 Hình 5-9: Sơ  lp áp dng mu thit k Strategy 57 Hình A-1: Quá trình truy cp form 67 Hình A-2: Form minh ha 67 Hình C-1: Mt s trang tìm kim vic làm 71 7 Bng 2-1: Phân loi mu thit k 14 Bng 4-1 : So sánh h thng xây dng và máy tìm kim liên hp 27 Bng 5-1: Minh ha các thuc tính chung theo ch  Vic làm 44 Bng C-1: Bng thuc tính thông dng ch  vic làm 73 Bng C-2: Bng tng kt thuc tính chung ch  Vic làm 73 8 Chương 1 Tổng quan Chương 1 giới thiệu ngữ cảnh và lý do thực hiện đề tài; trình bày mục tiêu, phạm vi đề tài và nội dung chính của từng chương trong luận văn. 1.1 Dẫn nhập N gành công ngh phn mm ã phát trin rt mnh m và gii quyt nhiu vn  liên quan n phương pháp và qui trình công ngh xây dng phn mm. Tuy nhiên, khi òi hi ca ngui s dng cui ngày càng nhiu thì phn mm ngày càng ln và kin trúc càng phc tp, làm cho nhà phát trin khó khăn trong vic gii quyt nhng vn  phát sinh như: s tương thích mã ngun, kh năng tương tác gia các thành phn, bo trì phn mm. Trong các giai on phát trin phn mm, thit k là mt công on rt quan trng. Phn mm ưc thit k tt s giúp nhà phát trin tn ít thi gian, công sc cho công vic cài t, bo trì và tin hóa. Hin nay, trong quá trình phát trin ng dng, các phương pháp phân tích thit k hưng i tưng [3] ã phát trin rt mnh m và góp phn áng k vào vic ci tin cht lưng ca phn mm nh vào kh năng xây dng các lp i tưng có tính tái s dng cao, d bo trì và d m rng. N gôn ng UML (Unified Modeling Language) [17] ưc  xut s dng như mt ngôn ng chuNn  mô hình hóa các thành t phn mm trong quá trình phân tích thit k hưng i tưng. Tuy nhiên, các phương pháp hưng i tưng tp trung ch yu vào các hot ng tng th trong tin trình phát trin phn mm hưng i tưng. N hng phương pháp này thưng không gii quyt các vn  chi tit ny sinh trong quá trình thit k phn mm.  b sung cho phương pháp hưng i tưng, các mu thit k hưng i tưng (mu thit k GoF, Gamma và cng s [5]) là mt tip cn c áo, ưc  xut  gii quyt các vn  ny sinh trong quá trình thit k phn mm hưng i tưng. Khi áp dng các mu thit k này s giúp nâng cao cht lưng phn mm  các yu t: hiu sut ng dng,  n nh và tính tái s dng.  tài chúng tôi mong mun óng góp mt phn vào lĩnh vc nghiên cu này. 9 iu c bit trong nhng năm gn ây là các chuyên gia công ngh phn mm cũng như các nhà nghiên cu ngoài vic nghiên cu nhng mu thit k cho phát trin phn mm nói chung còn ưa ra nhng mu thit k phù hp cho nhng lĩnh vc c th như các mu thit k cho Web [1], các mu thit k cho phn mm hưng dch v [14] [23], các mu thit k trong xây dng cu trúc d liu [15]… iu này ã thúc Ny các mu thit k hưng i tưng ngày càng ưc a dng. Trong  tài, tôi nghiên cu các mu thit k hưng i tưng áp dng cho nhóm phn mm rút trích thông tin. Sau ó tôi áp dng các mu thit k ã có và ci tin cho phù hp vi các tính cht c thù ca nhóm phn mm này. 1.2 Mục tiêu đề tài: N ghiên cu các mu thit k hưng i tưng, chn lc và  xut chnh sa mt s mu thit k hưng i tưng  áp dng vào vic xây dng ng dng h tr rút trích thông tin t web. 1.3 Phạm vi đề tài Gii thiu các loi mu thit k, c bit là các mu thit k hưng i tưng trong lĩnh vc phát trin phn mm. Trình bày cách la chn mu thit k sao cho phù hp  áp dng vào h thng phn mm cn xây dng và mt s vn  ưc gii quyt bng mu thit k. Áp dng mu thit k hưng i tưng vào vic xây dng ng dng h tr rút trích thông tin ưc gii hn vào vic chn lc, chnh sa các mu thit k  rút trích thông tin t các trang web Nn vi ni dung ng. ây là các trang web có mt lưng ln các thông tin Nn bên dưi các giao din tìm kim và không th truy cp thông qua các công c tìm kim tng quát (xem ph lc A). T cơ s nhng mu thit k ó, tin hành xây dng b khung h tr vic rút trích thông tin t các trang web Nn ni dung ng theo tng ch  riêng bit. 10 1.4 ội dung luận văn N i dung ca lun văn ưc t chc thành 6 chương: Chương 1 gii thiu ng cnh và lý do thc hin  tài; trình bày mc tiêu, phm vi  tài và ni dung chính ca tng chương trong lun văn. Chương 2 gii thiu các loi mu thit k, các mu thit k hưng i tưng trong lĩnh vc phát trin phn mm. Cách la chn mu thit k sao cho phù hp  áp dng vào h thng cn xây dng và mt s vn  ưc gii quyt bng mu thit k. Chương 3 gii thiu chung v tình hình nghiên cu và gii hn hưng nghiên cu ca  tài. Phân bit gia hưng nghiên cu ca  tài và các hưng nghiên cu khác. Bài toán t ra và các nghiên cu liên quan cũng ưc trình bày trong chương này. Chương 4 gii thiu v ng dng h tr rút trích thông tin t các trang web Nn theo các ch  riêng bit và kin trúc h thng. Chương này cũng trình bày các khái nim và lý do la chn các mu thit k ưc áp dng vào h thng. Chương 5 xây dng ng dng bng ngôn ng lp trình Java và gii thích vì sao s dng các mu thit k ã gii thiu  chương 4. Chương 6 là chương cui cùng ca lun văn. Chương này tng kt, ánh giá v các công vic ã làm và xác nh hưng phát trin ca  tài. 11 Chương 2 Mẫu thiết kế hướng đối tượng Chương 2 giới thiệu các loại mẫu thiết kế, các mẫu thiết kế hướng đối tượng trong lĩnh vực phát triển phần mềm. Cách lựa chọn mẫu thiết kế sao cho phù hợp để áp dụng vào hệ thống cần xây dựng và một số vấn đề được giải quyết bằng mẫu thiết kế. 2.1 Khái niệm mẫu thiết kế Mu thit k [5] mô t gii pháp ưc chng minh cho mt vn  lp li nhiu ln. Mt mu thit k gm 3 phn chính: ng cnh, vn  và gii pháp. • N g cnh: mô t các tin iu kin dn n vic phát sinh vn . Tin iu kin là các iu kin, tình hung cn có xác nh vic áp dng mu. Các iu kin kt qu là các kt qu có ưc sau khi áp dng mu. • Vn : mô t mt vn  lp li nhiu ln. Trong các mu thit k, mô t vn  ưc b sung thêm các nh hưng, các khía cnh mà vn  cn ưc xem xét gii quyt nó. Ví d: các yêu cu mà gii pháp phi tha, các ràng buc cn xem xét, các tính cht mong mun mà gii pháp nên có. • Gii pháp: ưa ra cách gii quyt vn  lp li và chú ý n các nh hưng, tác ng n nó. 2.2 Lịch sử và vai trò của mẫu thiết kế Khái nim mu thit k ưc ưa ra bi kin trúc sư Christopher Alexander khi ông vit cun sách trình bày v mu thit k kin trúc nhà vào nhng năm 1970. Ý tưng này ã ưc ng dng vào lĩnh vc phát trin phn mm vào u nhng năm 1980.  thi im ó, các ngôn ng lp trình hưng i tưng như Smalltalk, C++ chưa ưc s dng rng rãi. Công ngh lp trình ph bin là lp trình cu trúc trong khi lp trình hưng i tưng chưa ưc quan tâm. Tuy nhiên, khi ý tưng xây dng nhng thư vin lp (framework) ra i và ưc hin thc thì lĩnh vc [...]... vực rút trích thông tin từ web và rút trích thông tin từ các trang web Nn nhưng để nhà phát triển xây dựng và phát triển một ứng dụng rút trích thông tin từ các trang web Nn vẫn là một quá trình phức tạp Đề tài của chúng tôi mong muốn đóng góp vào hướng nghiên cứu này 3.3 Giới thiệu về Rút trích thông tin 3.3.1 Khái niệm Rút trích thông tin (IE – Information Extraction) [18] là quá trình lấy thông tin. .. ứng dụng hỗ trợ rút trích thông tin từ các trang web n theo các chủ đề riêng biệt và kiến trúc hệ thống Chương này cũng trình bày các khái niệm và lý do lựa chọn các mẫu thiết kế được áp dụng vào hệ thống 4.1 Giới thiệu ứng dụng Ứng dụng được xây dựng là một ứng dụng hỗ trợ công việc rút trích thông tin từ các trang web Nn với nội dung động theo từng chủ đề riêng biệt Các thông tin sau khi rút trích có... toán áp dụng chung cho các trang web thuộc chủ đề • Hỗ trợ 2 component cơ bản của thuộc tính là text và select khi phát sinh giao diện các thuộc tính tự động khi nguời dùng chọn chủ đề cần rút trích 4.2 Kiến trúc ứng dụng hỗ trợ rút trích thông tin từ web n theo chủ đề 4.2.1 Quá trình sử dụng ứng dụng rút trích thông tin từ web n Đối với người sử dụng: N gười sử dụng có thể yêu cầu rút trích thông tin. .. đích chính đề tài là các mẫu thiết kế để xây dựng bộ khung cho ứng dụng này Các chức năng chính của ứng dụng: • Rút trích thông tin từ các trang web Nn theo chủ đề • Hỗ trợ nhà phát triển quản lý các thông tin về chủ đề, trang web một cách dễ dàng Minh họa ứng dụng: • Tôi minh họa rút trích thông tin ở 3 chủ đề chính là: Job, Paper, Mobiphone • Áp dụng 2 thuật toán rút trích thông tin: dựa trên XPath (cấu... phức hợp Theo Dirk Riehle, mẫu thiết kế phức hợp [16] là một mẫu thiết kế có ý nghĩa như các mẫu thiết kế thông thường khác và là sự kết hợp của các mẫu thiết kế nguyên tử (atomic patterns) hay các mẫu thiết kế phức hợp khác Trong đó mẫu 16 thiết kế nguyên tử là những mẫu thiết kế không thể được mô tả bằng sự kết hợp của các mẫu thiết kế khác Trong mẫu thiết kế phức hợp, các mẫu thành phần tích hợp với... và thỏa mãn hơn 3.3.3.2 Phân loại hệ thống rút trích thông tin từ web N gày nay, có rất nhiều hệ thống rút trích thông tin từ web được các nhà phát triển nghiên cứu và xây dựng Các tiêu chí để phân loại một hệ thống rút trích thông tin từ web như sau: Dựa vào mức độ can thiệp của con người trong quá trình rút trích thông tin, các hệ thống rút trích thông tin có thể được chia ra làm 4 loại: thủ công,... trình Mẫu kết quả trong đó mô tả giải pháp hướng đến kết quả là sản phNm Các mẫu thiết kế có giải pháp là các đối tượng, các lớp được đề nghị sử dụng để giải quyết vấn đề Do đó, mẫu thiết kế thuộc loại mẫu kết quả Tương tự, các mẫu phân tích, tổ chức thuộc loại mẫu kết quả Mẫu tiến trình mô tả làm thế nào để đạt được kết quả mong muốn, giải pháp của mẫu là tiến trình 14 2.4 Các mẫu thiết kế hướng đối tượng. .. chọn những mẫu thiết kế đó 4.3 Các mẫu thiết kế được dùng để xây dựng ứng dụng 4.3.1 Mẫu thiết kế MVC Kiến trúc của ứng dụng được thiết kế tuân theo mô hình MVC [21], ứng dụng được tổ chức thành 3 thành phần: 34 Hình 4-3: Mô hình MVC Hình 4-3 là mô hình MVC, chi tiết các thành phần như sau • Mô hình trong (Model): là đối tượng biểu diễn thông tin nghiệp vụ bên trong ứng dụng đang xây dựng Đối tượng này... luật, sử dụng các mẫu thông tin, dựa vào cấu trúc cây,… được sử dụng để rút trích thông tin • Các hệ thống dựa trên các phương pháp học: sử dụng các phương pháp mô hình Markov, ngữ nghĩa, học trên cấu trúc cây,… để giúp cho các hệ thống hiểu và rút trích thông tin chính xác hơn 3.3.3.3 Khảo sát một số ứng dụng rút trích thông tin từ web • Web- Harvest là công cụ mã nguồn mở để rút trích dữ liệu Web Công... phá web Khi khai phá nội dung Web, một số bài toán được quan tâm trong khai phá nội dung Web là tìm kiếm thông tin, rút trích thông tin, phân loại thông tin, tóm tắt thông tin 22 Trong phạm vi đề tài, tôi tập trung vào hướng nghiên cứu rút trích thông tin Đặc biệt chúng tôi tập trung vào việc rút trích thông tin từ các trang web Nn với nội dung động bên dưới các form theo từng chủ đề riêng biệt Hiện . 2 Mẫu thiết kế hướng đối tượng 11 2.1 Khái niệm mẫu thiết kế 11 2.2 Lịch sử và vai trò của mẫu thiết kế 11 2.3 Các loại mẫu được sử dụng trong phát triển phần mềm 12 2.4 Các mẫu thiết kế hướng. hạn hướng nghiên cứu của đề tài 21 3.3 Giới thiệu về Rút trích thông tin 22 3.3.1 Khái niệm 22 3.3.2 So sánh rút trích thông tin và tìm kiếm thông tin 22 3.3.3 Hệ thống rút trích thông tin từ. từ các trang web 23 3.4 Bài toán cần giải quyết 25 3.5 Các nghiên cứu liên quan đến bài toán đặt ra 28 3 Chương 4 Mẫu thiết kế xây dựng ứng dụng hỗ trợ rút trích thông tin từ web 30 4.1

Ngày đăng: 09/10/2014, 21:22

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan