1. Trang chủ
  2. » Công Nghệ Thông Tin

Báo cáo đồ án tốt nghiệp: Tìm kiếm và quản lý đồ án sử dụng Lucene

43 573 6

Đ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 43
Dung lượng 1,62 MB

Nội dung

Đồ án tốt nghiệp ngành Hệ thống thông tin. Hệ thống quản lý và tìm kiếm đồ án. Xây dựng trên nền web và sử dụng thư viện Lucene cho tìm kiếm. Hệ thống quản lý và tìm kiếm đồ án cho phép tìm kiếm toàn văn trên tài liệu.

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

Trang 2

LỜI CẢM ƠN

Lời đầu tiên cho em gửi lời cảm ơn chân thành tới tất cả các thầy, cô và cán bộ công tác tạitrường Đại học Bách Khoa Hà Nội, các thầy cô trong Viện Công nghệ thông tin và Truyềnthông đã tận tình giảng dạy và truyền đạt cho em những kiến thức bổ ích trong suốt nhữngnăm học vừa qua Nhờ đó mà em có được nền tảng vững chắc về chuyên ngành Công nghệthông tin để có thể tiếp tục học tập, làm việc và cống hiến cho xã hội

Em xin bày tỏ lời cám ơn sâu sắc tới cô giáo, TS Vũ Tuyết Trinh, người đã tận tình chỉ bảo,hướng dẫn, tạo điều kiện cho em trong suốt quá trình làm đồ án tốt nghiệp

Em cũng xin gửi lời cảm ơn tới thầy Phạm Đăng Hải và tập thể lớp CNTT1- K54, nhữngngười đã đồng hành cùng em trong suốt những năm học vừa qua

Cuối cùng con xin gửi lời cảm ơn chân thành tới Bố, Mẹ và toàn thể gia đình, người thân đãquan tâm, động viên con trong suốt quá trình học tập và nghiên cứu tại trường

Hà Nội, ngày 29 tháng 5 năm 2014

Tác giả ĐATN

Nguyễn Bảo Chung

Trang 3

PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

1 Thông tin về sinh viên

Họ và tên sinh viên: Nguyễn Bảo Chung

Điện thoại liên lạc 01656094439 Email: bkitk54@gmail.com

Lớp: CNTT1 – K54 Hệ đào tạo: Đại học

Đồ án tốt nghiệp được thực hiện tại:

Thời gian làm ĐATN: Từ ngày 01/03/2014 đến 31/05 /2014

2 Mục đích nội dung của ĐATN

Xây dựng hệ thống tìm kiếm và quản lý đồ án cho sinh viên đại học Hệ thống có thể tìm kiếmtrên toàn bộ nội dung của đồ án cũng như từ các thông tin trích rút được từ đồ án Cho phépngười dùng upload đồ án lên hệ thống cũng như quản lý các đồ án của mình Cho phép quảntrị viên quản lý toàn bộ đồ án cũng như người dùng trong hệ thống

3 Các nhiệm vụ cụ thể của ĐATN

- Tìm hiểu về trích rút thông tin, đánh chỉ mục và tìm kiếm trên toàn bộ nội dung của tài liệu Cụ thể ở đây là những đồ án của sinh viên

- Đưa ra phương pháp đánh chỉ mục, cũng như tìm kiếm hỗ trợ tiếng việt

- Xây dựng hệ thống tìm kiếm và quản lý đồ án

- Đánh giá, kiểm định kết quả đạt được

- Nêu những hạn chế và hướng phát triển của đề tài

4 Lời cam đoan của sinh viên:

Tôi – Nguyễn Bảo Chung - cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của TS Vũ Tuyết Trinh

Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳ côngtrình nào khác

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

Tác giả ĐATN

Nguyễn Bảo Chung

5 Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảo vệ:

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

Giáo viên hướng dẫn

TS Vũ Tuyết Trinh

3

Trang 4

TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP

Đồ án thực hiện nhằm sử dụng thư viện tìm kiếm Lucene cho tìm kiếm toàn văn tài liệu mà cụ thể ở đây là đồ án tốt nghiệp của sinh viên Hệ thống được xây dựng trên nền web và cho phépngười dùng có thể xem, tìm kiếm, upload, và quản lý đồ án của chính người đó upload lên hệ thống Người quản trị hệ thống ngoài những chức năng như người dùng bình thường, có quyềnquản lý toàn bộ cơ sở dữ liệu về đồ án cũng như về người dùng trong hệ thống

Nội dung đồ án tốt nghiệp bao gồm 5 phần:

Chương 1: Giới thiệu đề tài, mô tả bài toán.

Chương 2: Phân tích chức năng

Chương 3: Thiết kế chi tiết hệ thống

Chương 4: Cài đặt hệ thống

Chương 5: Kết luận, đánh giá ưu nhược điểm và nêu hướng phát triển cho hệ thống

Trang 5

Mục lục

M c l c ục lục ục lục

HỆ THỐNG QUẢN LÝ ĐỒ ÁN 1

LỜI CẢM ƠN 2

PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 3

TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 4

Mục lục 5

Danh mục hình vẽ 7

Danh mục các bảng 8

CHƯƠNG I GIỚI THIỆU 9

1.1 Giới thiệu và mô tả bài toán 9

1.2 Định hướng giải quyết 9

CHƯƠNG II PHÂN TÍCH CHỨC NĂNG 11

2.1 Khảo sát yêu cầu người dùng và phân tích chức năng 11

2.2 Đặc tả ca sử dụng (Use Case) 13

2.2.1 Use case dành cho tác nhân người dùng 13

2.2.2 Use case dành cho tác nhân admin 17

CHƯƠNG III THIẾT KẾ CHI TIẾT HỆ THỐNG 22

3.1 Tiến trình hoạt động của hệ thống 22

3.1.1 Biểu đồ hoạt động tìm kiếm đồ án 22

3.1.2 Biểu đồ hoạt động cho quản lý tài khoản 22

3.1.3 Biểu đồ hoạt động cho quản lý đồ án 22

3.1.4 Biểu đồ hoạt động xem đồ án 24

3.1.5 Biểu đồ hoạt động quản lý người dùng 24

3.2 Biểu đồ trình tự 24

3.2.1 Biểu đồ trình tự Xem đồ án 25

3.2.2 Biểu đồ trình tự tìm kiếm đồ án 25

3.2.3 Biểu đồ trình tự quản lý đồ án 26

5

Trang 6

3.2.4 Biểu đồ trình tự quản lý tài khoản 27

3.2.5 Biểu đồ trình tự quản lý người dùng 28

3.3 Biểu đồ lớp 30

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

CHƯƠNG IV CÀI ĐẶT HỆ THỐNG 33

4.1 Công cụ và môi trường cài đặt 33

4.2 Thử nghiệm chương trình 34

CHƯƠNG V KẾT LUẬN 42

5.1 Kết luận 42

5.2 Hướng phát triển 42

Trang 7

Danh mục hình vẽ

Hình 5: Use case tổng thể toàn hệ thống 13

Hình 6: Biều đồ use case tổng quan cho người dùng 14

Hình 7: Use case quản lý tài khoản người dùng 15

Hình 8: Biểu đồ Use case quản lý đồ án 16

Hình 9: Biểu đồ use case Tìm kiếm đồ án 17

Hình 10: Biểu đồ use case cho admin 18

Hình 11: Biểu đồ use case Quản lý tài khoản 19

Hình 12: Biểu đồ use case quản lý người dùng 20

Hình 13: Biểu đồ use case Quản lý đồ án cho admin 21

Hình 15: Biếu đồ hoạt động tìm kiếm đồ án 22

Hình 16: Biểu đồ hoạt động quản lý tài khoản 22

Hình 17: Biểu đồ hoạt động quản lý đồ án 23

Hình 18: Biểu đồ hoạt động xem đồ án 24

Hình 19: Biểu đồ hoạt động quản lý người dùng 24

Hình 20: Biểu đồ trình tự xem đồ án 25

Hình 21: Biểu đồ trình tự tìm kiếm đồ án 25

Hình 22: Biểu đồ trình tự upload đồ án 26

Hình 23: Biểu đồ trình tự sửa thông tin đồ án 26

Hình 24: Biểu đồ trình tự xoá đồ án 27

Hình 25: Biểu đồ trình tự quản lý tài khoản 27

Hình 26: Biểu đồ trình tự thêm người dùng 28

Hình 27: Biểu đồ trình tự sửa người dùng 28

Hình 28: Biểu đồ trình tự xoá người dùng 29

Hình 29: Biểu đồ lớp chi tiết 30

Hình 30: Thiết kế cơ sở dữ liệu của hệ thống 31

Hình 31: Trang chủ hệ thống 34

Hình 32: Giao diện tìm kiếm 35

Hình 33: Giao diện xem đồ án 37

Hình 34: Giao diện đăng nhập 38

Hình 35: Giao diện upload đồ án 38

Hình 36: Giao diện quản lý đồ án của người dùng 39

Hình 37: Giao diện quản lý người dùng của admin 40

Hình 38: Giao diện sửa thông tin đồ án 40

Hình 39: Giao diện sửa thông tin người dùng 41

7

Trang 8

Danh mục các bảng

Bảng 1 Mô tả use case quản lý tài khoản người dùng 15

Bảng 2: Mô tả use case quản lý đồ án 16

Bảng 3: Mô tả use case tìm kiếm đồ án 17

Bảng 4: Mô tả use case quản lý tài khoản 19

Bảng 5: Mô tả use case quản lý người dùng 20

Bảng 6: mô tả use case quản lý đồ án cho admin 21

Bảng 7: Bảng dữ liệu user 31

Bảng 8: Bảng dữ liệu document 32

Bảng 9: Bảng dữ liệu student 32

Bảng 10: Bảng dữ liệu lecturer 32

Trang 9

CHƯƠNG I GIỚI THIỆU

1.1 Giới thiệu và mô tả bài toán

Mỗi mùa đồ án đến, các khoa viện đều nhận được số lượng đồ án rất lớn Trong khisinh viên có nhu cầu tìm kiếm những đồ án này để tham khảo trong quá trình thực hiện

đồ án của mình Vậy làm sao để quản lý những đồ án này một cách hiệu quả để cáckhoa viện dễ dàng quản lý cũng như các sinh viên khi muốn tham khảo dễ dàng tìmkiếm được đúng đề tài mình cần

Xuất phát từ thực tế trên, em xin chọn đề tài: “Xây dựng hệ thống quản lý đồ án”.

Hệ thống được xây dựng với chức năng cho phép người dùng xem, tìm kiếm, upload,dowload đồ án

Đối với quản trị viên: Ngoài các chức năng như người dùng bình thường của hệ thống còn có chức năng quản lý (thêm, sửa, xoá) toàn bộ đồ án trong cơ sở dữ liệu cũng như toàn bộ người dùng của hệ thống

Ngoài ra, những người mà không phải thành viên của hệ thống, vẫn có thể sử dụng một

số chức năng như xem, tìm kiếm đồ án hoặc đăng ký làm thành viên của hệ thống

1.2 Định hướng giải quyết

Phương pháp phân tích thiết kế : Phân tích thiết kế hướng đối tượng Phương pháphướng đối tượng gồm các bước sau:

- Phân tích chức năng:

o Xây dựng biểu đồ use case

- Thiết kế chi tiết hệ thống:

o Xây dựng biểu đồ tương tác (hoạt động, trình tự),

Trang 10

Trong đồ án thông thường có trang bìa và trang phiếu giao nhiệm vụ có chứa nhiềuthông tin về đồ án Xử lý thông tin trong tờ bìa và trang phiếu giao nhiệm vụ có thểtrich rút ra các thông tin cần thiết như: tên sinh viên, giảng viên hướng dẫn, tên đề tài,nội dung đồ án Những thông tin này được lưu vào csdl và index vào lucene nhằm mụcđích quản lý và tìm kiếm.

Trang 11

CHƯƠNG II PHÂN TÍCH CHỨC NĂNG

2.1 Khảo sát yêu cầu người dùng và phân tích chức năng

2.1.1 Các tác nhân của hệ thống

Hệ thống được xây dựng cho 3 actor:

Khách: Là những người không phải người dùng của hệ thống Khách có thể tìm

kiếm, xem đồ án, đăng ký thành viên

Người dùng: Là những người đã có tài khoản trong hệ thống Ngoài những chức

năng như khách, người dùng có thể upload đồ án, tải đồ án, quản lý đồ án

Quản trị viên: Là người quản trị hệ thống, có toàn quyền thêm sửa, xoá CSDL

11

Trang 12

2.1.2 Xác định các chức năng ứng với mỗi actor:

Trang 13

2.2 Đặc tả ca sử dụng (Use Case)

Use case tổng quan cho hệ thống

Hình 1: Use case tổng thể toàn hệ thống

2.2.1 Use case dành cho tác nhân người dùng

Use case tổng quát đối với người dùng

13

Trang 14

Hình 2: Biều đồ use case tổng quan cho người dùng

Trang 15

Use case Quản lý người dùng cho tác nhân người dùng

Hình 3: Use case quản lý tài khoản người dùng

Mô tả Người dùng thực hiện đăng ký, đăng nhập, sửa thông tin cá nhân

Thông tin đưa vào Yêu cầu người dùng

Hệ thống xử lý

Đăng ký: kiểm tra thông tin đăng nhập, nếu đúng lưu vào

CSDL, nếu sai yêu cầu nhập lại

Đăng nhập: kiểm tra thông tin đăng nhập, nếu đúng chuyển

sang trạng thái đã đăng nhập, nếu sai y/c nhập lại

Sửa thông tin: ghi lại sự thay đổi của người dùng và lưu vào

CSDLThông tin trả về Thông tin sau khi update hoặc báo lỗi

Bảng 1 Mô tả use case quản lý tài khoản người dùng

15

Trang 16

Use case quản lý đồ án cho người dùng

Hình 4: Biểu đồ Use case quản lý đồ án

Thông tin vào

Xem, xóa : Yêu cầu người dùng Sửa đồ án: thông tin update Thêm đồ án: file đồ án, thông tin đồ án

Hệ thống xử lý Tìm kiếm, thêm, sửa, xoá đồ án theo yêu cầu người dùng, cập

nhật lại CSDL và chỉ mụcThông tin trả về Hiển thị kết quả lên giao diện

Bảng 2: Mô tả use case quản lý đồ án

Trang 17

Use case tìm kiếm đồ án cho người dùng

Hình 5: Biểu đồ use case Tìm kiếm đồ án

hệ thống cung cấp

Hệ thống xử lý Tìm kiếm trong chỉ mục và hiển thị danh sách kết quả lên

trang web cho người dùng

Thông tin trả về Các kết quả phù hợp với từ khóa

Bảng 3: Mô tả use case tìm kiếm đồ án

2.2.2 Use case dành cho tác nhân admin

Biểu đồ use case tổng quan cho admin

17

Trang 18

Hình 6: Biểu đồ use case cho admin

Trang 19

Use case quản lý tài khoản cho admin, user

Hình 7: Biểu đồ use case Quản lý tài khoản

Thông tin vào Yêu cầu của admin, thông tin update

Hệ thống xử lý Đăng nhập: kiểm tra thông tin đăng nhập, nếu đúng chuyển

sang giao diện quản trị, nếu sai yêu cầu nhập lại

Sửa hồ sơ: ghi lại sự thay đổi của người dùng và lưu vào

CSDLThông tin trả về Hiển thị kết quả lên giao diện hoặc báo lỗi

Bảng 4: Mô tả use case quản lý tài khoản

19

Trang 20

Use case quản lý người dùng cho admin

Hình 8: Biểu đồ use case quản lý người dùng

Mô tả Quản trị viên thực hiện quản lý thêm, xoá, sửa thông tin của

các user trong hệ thống

Thông tin vào Yêu cầu của quản trị viên Thông tin về người dùng cần

thêm, sửa

Hệ thống xử lý Thực hiện việc thêm, sửa, xoá người dùng, cập nhật lại

CSDL Thông tin trả về Hiển thị kết quả lên giao diện hoặc báo lỗi

Bảng 5: Mô tả use case quản lý người dùng

Trang 21

Use case quản lý đồ án cho admin

Hình 9: Biểu đồ use case Quản lý đồ án cho admin

Thông tin vào Yêu cầu của admin, các thông tin về đồ án cần thêm, sửa

Hệ thống xử lý Thực hiện thêm, sửa, xoá đồ án theo yêu cầu của quản trị

viên, cập nhật lại CSDL và đánh chỉ mụcThông tin trả về Hiển thị kết quả lên giao diện hoặc báo lỗi

Bảng 6: mô tả use case quản lý đồ án cho admin

21

Trang 22

CHƯƠNG III THIẾT KẾ CHI TIẾT HỆ THỐNG

3.1 Tiến trình hoạt động của hệ thống

3.1.1 Biểu đồ hoạt động tìm kiếm đồ án

Hình 10: Biếu đồ hoạt động tìm kiếm đồ án

3.1.2 Biểu đồ hoạt động cho quản lý tài khoản

Hình 11: Biểu đồ hoạt động quản lý tài khoản

3.1.3 Biểu đồ hoạt động cho quản lý đồ án

Trang 23

Hình 12: Biểu đồ hoạt động quản lý đồ án

23

Trang 24

3.1.4 Biểu đồ hoạt động xem đồ án

Hình 13: Biểu đồ hoạt động xem đồ án

3.1.5 Biểu đồ hoạt động quản lý người dùng

Hình 14: Biểu đồ hoạt động quản lý người dùng

3.2 Biểu đồ trình tự

Trang 26

3.2.3 Biểu đồ trình tự quản lý đồ án

 Thêm đồ án

Hình 17: Biểu đồ trình tự upload đồ án

 Sửa đồ án

Trang 27

 Xoá đồ án

Hình 19: Biểu đồ trình tự xoá đồ án

3.2.4 Biểu đồ trình tự quản lý tài khoản

Hình 20: Biểu đồ trình tự quản lý tài khoản

27

Trang 28

3.2.5 Biểu đồ trình tự quản lý người dùng

 Thêm người dùng

Hình 21: Biểu đồ trình tự thêm người dùng

 Sửa người dùng

Trang 29

Hình 23: Biểu đồ trình tự xoá người dùng

29

Trang 30

3.3 Biểu đồ lớp

Hình 24: Biểu đồ lớp chi tiết

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

Trang 31

Hình 25: Thiết kế cơ sở dữ liệu của hệ thống

Trang 32

user

hướng dẫn sinh viên

Bảng 10: Bảng dữ liệu lecturer

CHƯƠNG IV CÀI ĐẶT HỆ THỐNG

4.1 Công cụ và môi trường cài đặt

Công cụ và phần mềm được sử dụng trong chương trình : Netbean, Notepad++, Wamp server

Trang 33

Để thực hiện việc tìm kiếm trên các tài liệu (đồ án), ở đây ta dùng thư viện mã nguồn

mở Lucene để đánh chỉ mục và tìm kiếm Lucene là một thư viện mã nguồn mở cho tìm kiếm toàn văn, được phát triển bởi Dough Cutting (hiện đang làm việc cho Yahoo).Thư viện này cung cấp các hàm cơ bản hỗ trợ cho việc đánh chỉ mục và tìm kiếm Để

có thể sử dụng Lucene, cần phải có sẵn dữ liệu Dữ liệu có thể là tập hợp các tập tin dạng PDF, Word hay là các trang web HTML; hoặc là dữ liệu lưu trong các hệ quản trịCSDL như MS SQL Server hay MySQL Với Lucene, ta có thể tiến hành đánh chỉ mụctrên dữ liệu hiện có để sau này có thể thực hiện thao tác tìm kiếm toàn văn trên dữ liệu đó

Việc sử dụng thư viện Lucene có một số ưu điểm so với việc tìm kiếm sử dụng câu lệnh SQL như:

 Có thể tìm kiếm toàn văn trên các tài liệu

 Không bị giới hạn bởi cú pháp của ngôn ngữ SQL

 Tốc độ tìm kiếm nhanh hơn rất nhiều

 Độ chính xác và số lượng kết quả trả về đầy đủ hơn

Một trong những bước cơ bản khi xây dựng hệ thống tìm kiếm là trích rút văn bản từ tài liệu cần đánh chỉ mục Nếu tài liệu là ở định dạng text, thì ta có thể dễ dàng sử dụngthư viện có sẵn của java để trích rút văn bản trong file đó Tuy nhiên, trong thực tế, phần lớn tài liệu được lưu dưới rất nhiều định dạng như doc, docx, pdf hay html Do

đó, để đánh chỉ mục với mỗi tài liệu, đầu tiên chúng ta cần xác định tài liệu thuộc loại

gì, sau đó dùng API cần thiết để trích rút ra văn bản từ tài liệu đó Ở đây ta dùng một

bộ thư viện mã nguồn mở gọi là Tika để làm những việc trên

Ngoài ra chương trình còn sử dụng một số thư viện như View.JS để đọc tài liệu trên web, PHPExcel để import, export CSDL sang file Excel, PHPJavaBridge để kết nối, truyền dữ liệu từ chương trình java sang trang web sử dụng php

4.2 Thử nghiệm chương trình

4.2.1 Giao diện chương trình

33

Trang 34

Hình 26: Trang chủ hệ thống

Trang 35

Hình 27: Giao diện tìm kiếm

35

Trang 36

Tìm kiếm nâng cao

Trang 37

Hình 28: Giao diện xem đồ án

37

Trang 38

Hình 29: Giao diện đăng nhập

Trang 39

Hình 31: Giao diện quản lý đồ án của người dùng

39

Trang 40

Hình 32: Giao diện quản lý người dùng của admin

Trang 41

Hình 34: Giao diện sửa thông tin người dùng

4.3 Đánh giá kết quả

4.3.1 Ưu điểm

 Hệ thống hoàn thành đầy đủ các chức năng yêu cầu

 Tốc độ tìm kiếm nhanh, kết quả tìm kiếm tương đối chính xác

 Các chức năng quản lý thực hiện tốt

4.3.2 Nhược điểm

 Giao diện chưa được đẹp, thân thiện với người sử dụng

 Các chức năng chưa phong phú

41

Ngày đăng: 03/11/2014, 21:27

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