Xây dựng mô đun biên mục cho thư viện trường đại học khoa học đại học thái nguyên. Giúp cho việc biên mục dễ dàng hơn, tiết kiệm thời gian biên mục các đầu sách trong thư viện, làm cho việc học tập lớp thư viện thông tin hiệu quả hơn, song song giữa việc học lý thuyết đi đôi với thưc hành, đem kiến thức học được vận dụng vào thực tế
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
-BÁO CÁO
THỰC TẬP TỐT NGHIỆP
Đề tài:
XÂY DỰNG MOUDLE: “BIÊN MỤC VÀ QUẢN LÝ SÁCH”
ỨNG DỤNG TRONG QUẢN LÝ THƯ VIỆN
TRƯỜNG ĐẠI HỌC KHOA HỌC
Giáo viên hướng dẫn : Th.S Nguyễn Tuấn Anh Sinh viên thực hiện : Hà Thị Chín
Thái Nguyên, tháng 3 năm 2016
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
THÔNG TIN VÀ TRUYỀN THÔNG
Khoa Công nghệ thông tin
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
II Nội dung cần khảo sát và thiết kế:
- Tổng quản về moudle biên mục và quản lí sách ứng dụng trong quản lý thưviện và tầm quan trọng của nó tại thư viện trường Đại học Khoa học
- Tổng quan các chức năng chính trong moudle:
Hỗ trợ phân phối nhanh chóng tài liệu về các kho
Hỗ trợ khung phân loại: phân loại DDC
Hỗ trợ hiển thị các kết quả tìm kiếm
Quản lý đầu sách, phân bổ sách, quản lý đơn, quản lý Worksheet
- Viết quy trình biên mục và quản lý trong hệ thống
- Mô phỏng chạy thực tế tại thư viện Khoa học
- Kết luận
III Các phần cần phải làm và nộp:
- Tập báo cáo, chương trình moudle biên mục và quản lý sách, đĩa CD gồm
chương trình, word, powerpoint
Trang 3NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Trang 4
Nguyễn Tuấn Anh đã nhiệt tình hướng dẫn em hoàn thành tốt kì thực tập.
Trong quá trình thực tập, cũng như là trong quá trình làm bài báo cáo, khótránh khỏi sai sót, rất mong các Thầy, Cô bỏ qua Đồng thời do trình độ hiểu biếtcũng như kinh nghiệm thực tiễn còn hạn chế nên bài báo cáo không tránh khỏinhững thiếu sót, em rất mong nhận được ý kiến đóng góp của Thầy, Cô để emhọc thêm được nhiều kinh nghiệm và sẽ hoàn thành tốt hơn trong kì đồ án sắptới
Em xin chân thành cảm ơn!
Thái nguyên, ngày 01 tháng 03 năm 2016
Trang 5MỤC LỤC
CHƯƠNG 1 GIỚI THIỆU TỔNG QUAN 13
1.1 Quy trình biên mục 2
1.1.1 Thu thập thông tin 2
1.1.2 Biên mục sơ lược 3
1.1.3 Biên mục chi tiết 3
1.1.4 Dán từ phân kho 4
1.1.5 Kiểm tra, lưu trữ 4
1.2 Mô hình MVC 4
1.2.1 Các thành phần trong MVC 5
1.2.2 Quy trình làm việc của mô hình MVC 5
1.2.3 Ưu điểm và nhược điểm của MVC 6
1.3 Chuẩn biên mục DDC 14 6
1.3.1 Cấu trúc bảng phân mục DDC 14 6
1.3.2 Các bước tiến hành phân loại 7
1.4 Phân tích thiết kế hướng đối tượng UML 7
1.4.1 View 8
1.4.2 Diagram (Bản vẽ) 9
1.4.3 Notations (các ký hiệu) 10
1.4.4 Mechanisms (Rules) 10
1.5 Framework CodeIgniter 11
1.5.1 Đặc điểm của framework CodeIgniter 11
1.5.2 Những hạn chế của framework CodeIgniter 11
1.5.3 Cấu trúc CodeIgniter 12
1.5.4 Nguyên lý làm việc của CodeIgniter 13
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ MOUDLE “BIÊN MỤC VÀ QUẢN LÝ SÁCH”
15 2.1 Khảo sát hệ thống cũ 15
2.2 Yêu cầu hệ thống moudle: ”biên mục và quản lý sách” 18
2.2.1 Yêu cầu chức năng của hệ thống 18
Trang 62.2.2 Yêu cầu phi chức năng của hệ thống 18
2.2.3 Miền ứng dụng 19
2.3 Các tác nhân và Use Case của hệ thống 19
2.3.1 Diagram 19
2.3.2 Actors Description 20
2.3.3 Use Cases Description 20
2.3.4 Use Case & Actor mapping 21
2.4 Functional Requirements 22
2.4.1 Moudle 01 22
2.4.2 Moudle 02 24
2.4.3 Moudle 03 29
2.4.4 Moudle 04 36
2.4.5 Moudle 05 42
2.4.6 Moudle 06 43
2.4.7 Moudle 07 50
2.5 Biểu đồ lớp 56
2.6 Thiết kế cơ sở dữ liệu 56
CHƯƠNG 3 XÂY DỰNG MOUDLE MÔ PHỎNG 60
3.1 Bố cục moudle mô phỏng 60
3.2 Giao diện mô phỏng moudle biên mục và quản lý sách 61
3.3 Giao diện mô phỏng các chức năng khác 62
3.3.1 SC01: Login 62
3.3.2 SC02: Giao diện trang chủ 62
3.3.3 SC03: Quản lý đầu sách 63
3.3.4 SC04: Sửa đầu sách 63
3.3.5 SC05: Quản lý đơn 64
3.3.6 SC06: Sửa quản lý đơn 64
3.3.7 SC07: Quản lý worksheet 64
3.3.8 SC08: Sửa Worksheet 65
3.3.9 SC09: Tra cứu 65
Trang 73.3.11 SC11 Quản lý phân bổ 65
3.3.12 SC12 Sửa phân bổ 66
3.3.13 SC13: Quản lý bổ sung 66
3.3.14 SC14: Thêm mới bổ sung 66
3.3.15 SC15: Sửa bổ sung 67
KẾT LUẬN 68
TÀI LIỆU THAM KHẢO 69
Trang 9DANH MỤC HÌNH ẢNH
Hình 1.1 Quy trình biên mục 2
Hình 1.2 Mô hình MVC 5
Hình 1.3 Quy trình làm việc của mô hình MVC 6
Hình 1.4 Cấu trúc bảng phân mục DDC 14 6
Hình 1.5 Các View trong OOAD sử dụng UML 8
Hình 1.6 Các bản vẽ trong OOAD sử dụng UML 9
Hình 1.7 Ký hiệu về Use Case 10
Hình 1.8 Ký hiệu về Class 10
Hình 1.9 Ký hiệu về Actor 10
Hình 1.10 Cấu trúc CodeIgniter 12
Hình 1.11 Nguyên lí làm việc của CodeIgniter 13
Hình 2.1 Giao diện quản lý Worksheet 16
Hình 2.2 Giao diện quản lý phân bổ sách 17
Hình 2.3.Giao diện quản lý đơn 17
Hình 2.4 Giao diện biên mục sách 18
Hình 2.5 Diagram mức tổng quát 19
Hình 2.6 Diagram mức chi tiết 19
Hình 2.7 Biểu đồ trình tự UC01 Đăng nhập 23
Hình 2.8 Biểu đồ cộng tác UC đăng nhập hệ thống 24
Hình 2.9 Biểu đồ trình tự UC02 Thêm đầu sách 25
Hình 2.10 Biểu đồ cộng tác UC02: Thêm đầu sách 26
Hình 2.11 Biểu đồ trình tự UC03: Sửa đầu sách 27
Hình 2.12 Biểu đồ cộng tác UC03: Sửa đầu sách 28
Hình 2.13 Biểu đồ trình tự UC03 29
Hình 2.14 Biểu đồ cộng tác UC03 29
Hình 2.15 biểu đồ trình tự UC05: Thêm đơn 31
Hình 2.16 biểu đồ cộng tác UC05 Thêm đơn 31
Hình 2.17 biểu đồ trình tự UC06 sửa đơn 33
Hình 2.18 biểu đồ cộng tác UC06 sửa đơn 33
Trang 10Hình 2.19 Biểu đồ trình tự UC07: xoá đơn 35
Hình 2.20 biểu đồ cộng tác UC07xóa đơn 35
Hình 2.21 biểu đồ trình tự UC08 37
Hình 2.22 biểu đồ cộng tác UC08 38
Hình 2.23 biểu đồ trình tự UC09 sửa worksheet 39
Hình 2.24 Biểu đồ cộng tác UC09 sửa worksheet 40
Hình 2.25 Biểu đồ trình tự UC10 xóa worksheet 41
Hình 2.26 biểu đồ cộng tác UC10 xóa worksheet 41
Hình 2.27 biểu đồ trình tự UC11 quản lý tìm kiếm 43
Hình 2.28 Biểu đồ cộng tác UC11 quản lý tìm kiếm 43
Hình 2.29 biểu đồ trình tự UC12 thêm bổ sung 45
Hình 2.30 Biểu đồ cộng tác UC12 bổ sung 45
Hình 2.31 Biểu đồ trình tự UC13 sửa bổ sung 47
Hình 2.32 Biểu đồ cộng tác UC13 sửa bổ sung 48
Hình 2.33 Biểu đồ trình tự UC14 xóa bổ sung 49
Hình 2.34 Biểu đồ cộng tác UC14 xóa bổ sung 50
Hình 2.35 Biểu đồ trình tự UC15 thêm phân bổ 51
Hình 2.36 Biểu đồ cộng tác UC15 thêm phân bổ 52
Hình 2.37 Biểu đồ trình tự UC16 sửa phân bổ 53
Hình 2.38.Biểu đồ cộng tác UC16 sửa phân bổ 54
Hình 2.39 Biểu đồ trình tự UC17 xóa phân bổ 55
Hình 2.40 Biểu đồ cộng tác UC17 xóa phân bổ 55
Hình 2.41 Biểu đồ lớp 56
Hình 2.42 Thiết kế CSDL 56
Hình 3.1 Bố cục Moudle 60
Hình 3.2 Giao diện mô phỏng moudle biên mục và quản lý sách 61
Hình 3.3 SC01 Login 62
Hình 3.4 SC02 giao diện trang chủ 62
Hình 3.5 SC03: Quản lý đầu sách 63
Trang 11Hình 3.7 SC05: Quản lý đơn 64
Hình 3.8 SC06: Sửa quản lý đơn 64
Hình 3.9 SC07: Quản lý worksheet 64
Hình 3.10 SC08: Sửa Worksheet 65
Hình 3.11 SC09: Tra cứu 65
Hình 3.12 SC10: Tra cứu 65
Hình 3.13 SC11: Quản lý phân bổ 65
Hình 3.14 SC12: Quản lý phân bổ 66
Hình 3.15 SC13: Quản lý bổ sung 66
Hình 3.16 SC14: Thêm mới bổ sung 66
Hình 3.17 SC15: Sửa bổ sung 67
Trang 12LỜI MỞ ĐẦU
Công nghệ Thông tin ở nước ta đang bước vào thời kì mới với việc triểnkhai rộng rãi các ứng dụng tin học trong các tổ chức và xã hội Không ai cònnghi ngờ gì về vai trò của Công nghệ Thông tin trong đời sống, trong khoa học
kỹ thuật, kinh doanh, cũng như trong mọi mặt của xã hội ngày nay, ngay cả đốivới một cá nhân đó cũng là điều không thể phủ nhận được
Nhất là trong thời điểm hiện tại, Công nghệ Thông tin mới chỉ bước đầuđược ứng dụng trong đời sống nói chung và giáo dục nói riêng Việc sử dụng tàiliệu điện tử trong dạy và học chưa thực sự phổ biến, chưa mang lại hiệu quả caothì những quyển sách, giáo trình,… vẫn có vai trò vô cùng quan trọng Đối vớinhững trường đại học lớn như trường Đại học khoa học – ĐH Thái Nguyên, việcquản lý một hệ thống thư viện với hàng ngàn đầu sách cùng với việc mượn – trảsách của hàng ngàn sinh viên là một vấn đề vô cùng phức tạp Vì vậy, trong quátrình được phân công thực tập tại đây, em muốn được đóng góp một chút sức lực,được đem những kiến thức được học và tìm hiểu để áp dụng vào việc quản lý thưviện cho hiệu quả hơn Chính vì vậy mà em đã nhận nghiên cứu đề tài:
Xây dựng moudle: “Biên mục và quản lý sách” ứng dụng trong quản lýthư viện trường ĐH Khoa học
Chương trình được viết bằng ngôn ngữ PHP framework CodeIgniter với
cơ sở dữ liệu MySql
Mục đích của đề tài:
- Thực tập khảo sát, phân tích yêu cầu bài toán thực tiễn đặt ra
- Tìm hiểu cơ sở lý thuyết về thiết kế website, ngôn ngữ và cách lập trình web,các giải pháp quản trị, bảo mật tài nguyên web
- Tìm hiểu về phương pháp liên kết cơ sở dữ liệu cho web
- Xây dựng web đáp ứng các chức năng mà đề tài đưa ra: “Biên mục và quản lýsách”
Trang 13- Về lý thuyết:
Tìm hiểu nghiệp vụ thư viện, chuẩn biên mục sách DDC
Tìm hiểu về ngôn ngữ lập trình PHP, MySQL, mô hình MVC
Tìm hiểu về framework CodeIgniter
- Về thực nghiệm:
Rèn luyện kĩ năng lập trình
Kỹ năng triền khai một bài toán vào thực tế
Làm quen với việc nghiên cứu khoa học
Xây dựng moudle mô phỏng và đánh giá kết quả thu được
Nội dung của đề tài được chia thành các chương sau :
Chương 1: Giới thiệu tổng quan
Chương 2: Phân tích thiết kế moudle: “Biên mục và quản lý sách” Chương 3: Xây dựng moudle mô phỏng.
Trang 14CHƯƠNG 1 GIỚI THIỆU TỔNG QUAN
Thư viện được UNESCO định nghĩa khá tổng quát” Thư viện, không phụthuộc vào tên của nó, là bất cứ bộ sưu tập có tổ chức nào của sách, ấn phẩm định
kì hoặc các tài liệu khác, kể cả đồ họa, nghe nhìn và nhân viên phục vụ có tráchnhiệm tổ chức cho bạn đọc sử dụng các tài nguyên đó nhằm mục đích thông tin,nghiên cứu khoa học, giáo dục hoặc giải trí”
Từ những định nghĩa trên và qua khảo sát thực tế thư viện trường Đại họcKhoa học – Đại học Thái Nguyên, em thấy rằng quản lý thư viện gồm 2 moudlechính: biên mục và lưu thông Trong đó:
- Biên mục là quá trình tập hợp các thông tin về tài liệu như nhan đề, tácgiả, nhà xuất bản, nhằm cung cấp một cách đầy đủ nhất các thông tin trênđến độc giả
- Lưu thông là quá trình cho phép thư viện thực hiện dịch vụ mượn trả tài liệu
Trang 151.1 Quy trình biên mục
Hình 0.1 Quy trình biên mục
1.1.1 Thu thập thông tin
a Nội dung công việc
- Sau khi thu thập nhu cầu, thư viện tiến hành đặt mua tài liệu từ các nhà pháthành Khi nhận tài liệu đặt mua, bộ phận bổ sung kiểm tra đối chiếu theo danhmục, trả hoặc đổi lại những tài liệu không đúng theo danh mục hoặc không đủtiêu chuẩn
- Bộ phận bổ sung lập danh mục tài liệu mới nhận, làm các thủ tục nhập vàoThư viện, thanh toán cho nhà phát hành
- Bàn giao tài liệu cho CB Biên mục
Trang 16b Đơn vị thực hiện: Cán bộ bổ sung.
c Tài liệu liên quan: Phân hệ bổ sung phần mềm Libol
1.1.2 Biên mục sơ lược
a Nội dung công việc
- Tiếp nhận tài liệu
- Đóng dấu chủ quyền nhằm xác thực tài sản của thư viện
- Tiến hành in Barcode, đăng ký số tài sản cho tài liệu: đóng số đăng ký cábiệt và dán mã vạch cho từng tài liệu
- Biên mục sơ lược cho tài liệu mới, nhập liệu các thông tin cơ bản của tàiliệu vào CSDL
- Kiểm tra sự hiện hữu của tài liệu
- Bàn giao cho khâu biên mục chi tiết
b Đơn vị thực hiện: cán bộ biên mục 1
c Tài liệu liên quan: sổ đăng kí cá biệt, tài liệu biên mục mô tả
1.1.3 Biên mục chi tiết
a Nội dung công việc
- Định đề mục chủ đề
- Xác định chỉ số Cutter (mã hoá)
- In nhãn cho từng tài liệu từ CSDL
- Dán nhãn
- Kiểm tra các thông tin: số phân loại, Cutter, mã vạch
b Đơn vị thực hiện: Cán bộ biên mục 2
c Tài liệu liên quan: Khung phân loại DDC, tài liệu biên mục mô tả, bảngCutter, bảng đề mục chủ đề, bộ từ khoá
Trang 171.1.4 Dán từ phân kho
a Nội dung công việc
- Dán từ
- Phân chia tài liệu theo từng kho
- Sắp xếp tài liệu theo nhóm phân loại
- Lập danh sách bàn giao theo từng kho
- Thực hiện bàn giao theo danh sách đã lập
b Đơn vị thực hiện: cán bộ biên mục 1 và cán bộ biên mục 2
c Tài liệu liên quan: Sổ theo dõi từ, khung phân loại DDC, sổ theo dõi nhập kho
1.1.5 Kiểm tra, lưu trữ
a Nội dung công việc
- Kiểm tra lại danh dách bàn giao theo từng kho
- Đối chiếu với danh sách nhận sách từ bộ phận bổ sung
- Lưu trữ danh sách tại mỗi kho và trưởng bộ phân mỗi nơi một bản
b Đơn vị thực hiện: trưởng bộ phận kho
c Tài liệu liên quan: Sổ theo dõi bàn giao tài liệu nhập kho, các danh sách bàngiao
1.2 Mô hình MVC
Mô hình MVC (Model - View - Controller) là một kiến trúc phần mềm hay
mô hình thiết kế được sử dụng trong kỹ thuật phần mềm Nó giúp cho cácdeveloper tách ứng dụng của họ ra 3 thành phần khác nhau Model, View vàController Mỗi thành phần có một nhiệm vụ riêng biệt và độc lập với các thànhphần khác
Trang 18Hình 0.2 Mô hình MVC
1.2.1 Các thành phần trong MVC
- Model: là thành phần chứa tất cả các nghiệp vụ logic, phương thức xử lý, truyxuất database, đối tượng mô tả dữ liệu như các Class, hàm xử lý
- View: đảm nhận việc hiển thị thông tin, tương tác với người dùng, nơi chứa tất
cả các đối tượng GUI như textbox, images Hiểu một cách đơn giản, nó là tậphợp các form hoặc các file HTML
- Controller: giữ nhiệm vụ nhận điều hướng các yêu cầu từ người dùng và gọiđúng những phương thức xử lý chúng Chẳng hạn thành phần này sẽ nhậnrequest từ url và form để thao tác trực tiếp với Model
1.2.2 Quy trình làm việc của mô hình MVC
Quy trình làm việc được biểu diễn bằng luồng sự kiện được xử lý trongMVC:
- User tương tác với View, bằng cách click vào button, user gửi yêu cầu đi
- Controller nhận và điều hướng chúng đến đúng phương thức xử lý ở Model
- Model nhận thông tin và thực thi các yêu cầu
- Khi Model hoàn tất việc xử lý, View sẽ nhận kết quả từ Model và hiển thị lạicho người dùng
Trang 19Hình 1.2.
Hình 0.3 Quy trình làm việc của mô hình MVC
1.2.3 Ưu điểm và nhược điểm của MVC
Ưu điểm: thể hiện tính chuyên nghiệp trong lập trình, phân tích thiết kế Do
được chia thành các thành phần độc lập nên giúp phát triển ứng dụng nhanh, đơngiản, dễ nâng cấp, bảo trì
Nhược điểm: đối với dự án nhỏ việc áp dụng mô hình MC gây cồng kềnh,
tốn thời gian trong quá trình phát triển Tốn thời gian trung chuyển dữ liệu củacác thành phần
Trang 20a Lớp: DDC có 10 lớp cơ bản dùng để vào sổ đăng kí tổng quát được thể hiệnnhư sau:
b Phân lớp: có 100 lớp được dùng để kí hiệu xếp giá đối với kho
c Phân đoạn: có 1000 phân đoạn đọc lướt tìm kiếm trong phân bảng DDC 14
1.3.2 Các bước tiến hành phân loại
Gồm có 3 bước chính:
- Đọc lướt tài liệu ở trang tên sách; ở mục lục; đọc lời nói đầu, lời bạc để tìm rachủ đề của cuốn sách Nếu tìm chưa ra chủ đề ta có thể tìm đọc một trang trongchính văn của cuốn sách để tìm ra chủ đề cuốn sách
- Xác định chủ đề để định ra ký hiệu phân loại
- Xác định ký hiệu phân loại trong khung phân loại DDC 14
1.4 Phân tích thiết kế hướng đối tượng UML
UML là ngôn ngữ mô hình hóa hợp nhất dùng để biểu diễn hệ thống Nóimột cách đơn giản là nó dùng để tạo ra các bản vẽ nhằm mô tả thiết kế hệ thống.Các bản vẽ này được sử dụng để các nhóm thiết kế trao đổi với nhau cũng như
Trang 21dùng để thi công hệ thống (phát triển), thuyết phục khách hàng, các nhà đầu tưv.v
UML có các thành phần sau: view (góc nhìn), diagram (bản vẽ), notations(ký hiệu), mechanisms (qui tắc, cơ chế)
- Logical View: cung cấp góc nhìn về cấu trúc hệ thống, xem nó được tổ chức
như thế nào Bên trong nó có gì
- Process View: cung cấp góc nhìn động về hệ thống, xem các thành phần trong
hệ thống tương tác với nhau như thế nào
- Component View: Cũng là một góc nhìn về cấu trúc giúp chúng ta hiểu cách
phân bổ và sử dụng lại các thành phần trong hệ thống ra sao
- Deployment View: cung cấp góc nhìn về triển khai hệ thống, nó cũng ảnh
hưởng lớn đến kiến trúc hệ thống
Trang 221.4.2 Diagram (Bản vẽ)
Diagram các bạn có thể dịch là sơ đồ Tuy nhiên ở đây chúng ta sử dụng từ bản
vẽ cho dễ hình dung Các bản vẽ được dùng để thể hiện các góc nhìn của hệthống
Hình 0.6 Các bản vẽ trong OOAD sử dụng UML
Trong đó:
- Use Case Diagram: bản vẽ mô tả về ca sử dụng của hệ thống
- Class Diagram: bản vẽ này mô tả cấu trúc của hệ thống, tức hệ thống được cấutạo từ những thành phần nào Nó mô tả khía cạnh tĩnh của hệ thống
- Object Diagram: Tương tự như Class Diagram nhưng nó mô tả đến đối tượngthay vì lớp (Class)
- Sequence Diagarm: là bản vẽ mô tả sự tương tác của các đối tượng trong hệthống với nhau được mô tả tuần tự các bước tương tác theo thời gian
- Collaboration Diagram: tương tự như sequence Diagram nhưng nhấn mạnh về
sự tương tác thay vì tuần tự theo thời gian
- State Diagram: bản vẽ mô tả sự thay đổi trạng thái của một đối tượng Nóđược dùng để theo dõi các đối tượng có trạng thái thay đổi nhiều trong hệ thống
- Activity Diagram: bản vẽ mô tả các hoạt động của đối tượng, thường được sửdụng để hiểu về nghiệp vụ của hệ thống
Trang 23- Component Diagram: bản vẽ mô tả về việc bố trí các thành phần của hệ thốngcũng như việc sử dụng các thành phần đó.
- Deployment Diagram: bản vẽ mô tả việc triển khai của hệ thống như việc kếtnối, cài đặt, hiệu năng của hệ thống v.v…
1.4.3 Notations (các ký hiệu)
Notations là các ký hiệu để vẽ, nó như từ vựng trong ngôn ngữ tự nhiên.Bạn phải biết từ vựng thì mới ghép thành câu, thành bài được Chúng ta sẽ tìmhiểu kỹ các notations trong từng bản vẽ sau này Dưới đây là vài ví dụ vềnotation
Hình 0.7 Ký hiệu về Use Case
Trang 241.5 Framework CodeIgniter
1.5.1 Đặc điểm của framework CodeIgniter
- Được thiết kế theo mô hình Model-View-Controller(MVC): giúp tách biệt cáctập tin giao diện với các tập tin xử lý dữ liệu, nâng cao khả năng quản lý và dễbảo trì
- Nhỏ gọn: Gói cài đặt chỉ 404KB (không bao gồm phần User Guide)
- Tốc độ nhanh
- Miễn phí
- Hỗ trợ Search Engine Optimization: Cấu trúc URL của CodeIgniter rất thân
thiện với các robot tìm kiếm
- Hệ thống thư viện phong phú: CodeIgniter cung cấp các thư viện phục vụ cho
những tác vụ thường gặp nhất trong lập trình web
- Bảo mật hệ thống: Cơ chế kiểm tra dữ liệu chặt chẽ, ngăn ngừa XSS và SQLInjection của CodeIgniter giúp giảm thiểu các nguy cơ bảo mật cho hệ thống
1.5.2 Những hạn chế của framework CodeIgniter.
- Chưa hỗ trợ Object-Relational Mapping
- Chưa hỗ trợ AJAX
- Chưa hỗ trợ một số module thông dụng: So sánh với framework khác,
CodeIgniter không có các module thực thi một số tác vụ thường gặp trong quátrình xây dựng ứng dụng web như Chứng thực người dùng, trình phân tíchRSS…
- Chưa hỗ trợ Event-Driven Programming: Event-Driven Programming (EDP)
là một nguyên lý lập trình, trong đó các luồng xử lý của hệ thống sẽ dựa vào các
sự kiện, chẳng hạn như click chuột, gõ bàn phím… Cài đặt frameworkCodeIgniter
- Yêu cầu hệ thống : CodeIgniter có thể hoạt động trên nhiều hệ điều hành vàserver, yêu cầu có cài đặt PHP phiên bản 4.x hoặc cao hơn; hệ quản trị cơ sở dữ
Trang 25liệu: MySQL (4.1+), MySQLi, Mircrosoft SQL Server, Postgres, Oracle, SQLite,
Trong số đó, các thư mục sau khá quan trọng:
- Thư mục application: Dành cho lập trình viên, các tập tin được lập trình choứng dụng sẽ lưu trong thư mục này
- Thư mục cache: Bộ đệm của hệ thống, chứa các trang đã được xử lý trước
Trang 26Đối với lập trình viên, các tập tin của ứng dụng sẽ được lưu trong thư mụcsystem/appliction Trong đó:
- Thư mục config: Chứa các tập tin cấu hình hệ thống
- Thư mục controllers: chứa các lớp controller
- Thư mục errors: chứa các tập tin lỗi
- Thư mục helpers: chứa các hàm tiện ích do người dùng định nghĩa
- Thư mục hooks: chứa các tập tin để mở rộng mã nguồn CodeIgniter
- Thư mục language: chứa các tập tin ngôn ngữ
- Thư mục libraries: chứa các thư viện cho người dùng dùng định nghĩa
- Thư mục models: chứa các lớp model
- Thư mục views: chứa các lớp view
1.5.4 Nguyên lý làm việc của CodeIgniter
Hình 0.11 Nguyên lí làm việc của CodeIgniter.
( 1) Tập tin index.php đóng vai trò làm controller đầu vào, thiết lập các tàinguyên cần thiết cho hệ thống
(2) Routing: Quá trình điều hướng giúp xác định các yêu cầu và hướng xử lý đối
với chúng
(3) Caching: Nếu dữ liệu được yêu cầu đã được lưu trong bộ đệm, CodeIgniter sẽ
trả dữ liệu trong bộ đệm về phía client Quá trình xử lý kết thúc
(4) Security: Dữ liệu trước khi được chuyển đến các Controller sẽ được lọc để
phòng chống XXS hoặc SQL Injection
Trang 27(5) Application Controller: Controller xử lý dữ liệu nhận được bằng cách gọi đến
các Models, Libraries, Helpers, Plugins…có liên quan
(6) View: Dữ liệu được chuyển qua View để hiển thị cho người dùng Nếu chức
năng caching được bật, dữ liệu sẽ được lưu trong cache cho những lần yêu cầutiếp theo
Kết luận
Qua những tìm hiểu trên, em thấy CodeIgniter là một nền tảng mạnh, cungcấp đầy đủ những thư viện và chức năng cần thiết để xây dựng một ứng dụngweb với tốc độ nhanh mà vẫn đảm bảo hiệu năng hệ thống So với các nền tảngkhác, CodeIgniter không quá cồng kềnh, không làm lập trình viên giảm đi hứngthú khi sử dụng Ngoài ra, cộng đồng người sử dụng CodeIgniter rất lớn, khôngngừng đưa ra những plugin, helper hỗ trợ việc lập trình Dù cho CodeIgniter vẫncòn một số điểm hạn chế, nhưng về cơ bản, có thể nói CodeIgniter đang ngàycàng nhận được sự ủng hộ từ phía các lập trình viên PHP Phiên bản 3.0 củaCodeIgniter đang trong giai đoạn phát triển beta, hứa hẹn sẽ đem đến những chứcnăng mới hữu ích và thú vị
Trang 282 CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ MOUDLE “BIÊN
MỤC VÀ QUẢN LÝ SÁCH”
Hiện nay, công nghệ thông tin ngày càng phát triển Các trang website, các blog sách online ngày càng nhiều đáp ứng nhu cầu tìm và đọc sách của độc giả
Và việc đọc sách sao cho hợp lý đã không còn là vấn đề nan giải nữa Bên cạnh
đó việc quản lý cũng nhẹ nhàng hơn khi được tự động hóa trên các phần mềm, các website mà không cần sử dụng các biện pháp thủ công như: sổ sách để lưu giữ thông tin mượn trả, thông tin sách còn, sách đã cho mượn, Chính vì vậy, tinhọc hóa việc: “Biên mục và quản lý sách” là điều tất yếu
2.1 Khảo sát hệ thống cũ
Thư viện trường Đại học Khoa học –Đại học Thái Nguyên là một thư viện
có quy mô nhỏ Khi nói đến quản lý thư viện là không thể không nói đến đội ngũquản lý thư viện gồm 1 thủ thư, 1 quản thư và ban lãnh đạo thư viện Nhữngngười làm công tác thư viện đã giúp đỡ độc giả trong việc tìm kiếm sách, thôngtin về sách, tạp chí, tìm kiếm những sách có nội dung phong phú, khuyến kháchcác độc giả trong việc mượn sách và tạp chí về nhà Đồng thời luôn nhắc nhở độcgiả phải biết giữ gìn và bảo vệ sách
Hằng năm nhà trường nhập rất nhiều sách, tạp chí theo đủ thể loại, lĩnh vực
mà độc giả quan tâm, thư viện nhà trường đặc biệt quan tâm đến chất lượng quản
lý và việc phục vu độc giả Với hơn 2000 đầu sách và tạp chí và số lượng độc giảlớn đã đặt ra yêu cầu phải nhanh chóng biên mục sách kịp thời đáp ứng nhu cầucủa độc giả: tên sách, số lượng, vị trí, Do vậy mục đích của thư viện với moudlebiên mục là làm sao phục vụ bạn đọc một cách nhanh chóng chính xác, đáp ứngyêu cầu độc giả,
Thư viện gồm các phòng ban sau:
- Ban giám đốc: quản lý hoạt động chung của thư viện: quản lý cán bộ, nhânviện, quản lý nguồn sách, độc giả,
- Kho mượn: nơi độc giả tìm kiếm và tiến hành mượn sách
Trang 29- Kho đọc: nơi độc giả mượn và đọc sách tại chỗ
- Kho in ấn: nơi độc giả mua sách bản cứng, tài liệu học tập hoặc tiến hànhphoto các tài liệu cần thiết,
Đây là hệ thống quản trị của thư viện theo kiểu trực tuyến và chức năng Vìvậy mỗi phòng ban chức năng cũng như các đơn vị thành viên đều có một nhiệm
vụ riêng và rất cụ thể Để thực hiện tốt công việc được giao cho mỗi cán bộ, từthủ thư đến ban giám đốc đều phải hoàn thành nhiệm vụ của mình trong phạm vithuộc sự quản lý
Một số giao diện của hệ thống cũ:
a Giao diện quản lý worksheet: cho phép thêm, sửa, xóa các loại tài liệu
Hình 2.12 Giao diện quản lý Worksheet.
Trang 30b Giao diện quản lý phân bổ tài liệu: thực hiện thao tác phân bổ về các kho.
Hình 2.13 Giao diện quản lý phân bổ sách
c Giao diện quản lý đơn: cho phép thêm, sửa, xoán các đơn
Trang 31d Giao diện quản lý biên mục: cho phép bổ sung chi tiết các sách thông qua đầusách mà thủ thư nhập vào.
Hình 2.15 Giao diện biên mục sách.
2.2 Yêu cầu hệ thống moudle: ”biên mục và quản lý sách”
2.2.1 Yêu cầu chức năng của hệ thống
- Người sử dụng có thể tìm kiếm tất cả CSDL hoặc một tập con của CSDL
- Hệ thống sẽ cung cấp những giao diện thích hợp để người dùng có thể thựchiện được chức năng biên mục
2.2.2 Yêu cầu phi chức năng của hệ thống
- Mục tiêu của hệ thống là dễ sử dụng đối với những người sử dụng có kinhnghiệm và được tổ chức để sao cho tối thiểu hoá được lỗi
- Các yêu cầu phi chức năng có thể thẩm định được: Những người sử dụng cókinh nghiệm có thể sử dụng được tất cả các chức năng của hệ thống chỉ sau haitiếng tập huấn Sau khoá huấn luyện này, số lỗi chương trình gây ra bởi người sửdụng là không quá hai lỗi một ngày
Trang 322.3 Các tác nhân và Use Case của hệ thống
2.3.1 Diagram
Hình 2.16 Diagram mức tổng quát.
Trang 33Hình 2.17 Diagram mức chi tiết.
Trang 342.3.3 Use Cases Description
Bảng 2 Use Cases Descripton
# Code Name Brief Description
1 UC01 Đăng nhập Cho phép đăng nhập hệ thống
2 UC02 Thêm đầu sách Cho phép admin thêm đầu sách
3 UC03 Sửa đầu sách Cho phép admin sửa đầu sách
4 UC04 Xóa đầu sách Cho phép admin xóa đầu sách
5 UC05 Thêm đơn Cho phép admin thêm đơn
6 UC06 Sửa đơn Cho phép admin sửa đơn
7 UC07 Xóa đơn Cho phép admin xóa đơn
8 UC08 Thêm worksheet Cho phép admin thêm worksheet
9 UC09 Sửa worksheet Cho phép admin sửa worksheet
10 UC10 Xóa worksheet Cho phép admin xóa worksheet
11 UC11 Quản lý tìm kiếm Cho phép admin tìm kiếm tài liệu theo tên
12 UC12 Thêm bổ sung Cho phép admin thêm bổ sung
13 UC13 Xóa bổ sung Cho phép admin xóa bổ sung
Trang 3515 UC15 Thêm phân bổ Cho phép admin thêm phân bổ
16 UC16 Sửa phân bổ Cho phép admin sửa phân bổ
17 UC17 Xóa phân bổ Cho phép admin xóa phân bổ
18 UC18 Đăng xuất Cho phép admin thoát khỏi hệ thống
2.3.4 Use Case & Actor mapping
Bảng 3: Use Case & Actor mapping
UC02: Thêm đầu sách x
UC03: Sửa đầu sách x
UC04: Xóa đầu sách x
UC05: Thêm đơn x
UC06: Sửa đơn x
UC07: Xóa đơn x
UC08: Thêm worksheet x
UC09: Sửa worksheet x
UC10: Xóa worksheet x
UC11: Quản lý tìm kiếm x
UC12: Thêm bổ sung x
UC13: Sửa bổ sung x
UC14: Xóa bổ sung x
Trang 36UC15: Thêm phân bổ x
UC16: Sửa phân bổ x
UC17: Xóa phân bổ x
UC18: Đăng xuất x
2.4 Functional Requirements
2.4.1 Moudle 01
UC01: Đăng nhập
Use Case Description
Name Đăng nhập Code UC01
Description Cho phép admin đăng nhập vào hệ thống
Actor Admin/Devision Leader/
Main Flow: Đăng nhập thành công
1 Admin nhập email/ mật khẩu
và click vào button [Đăng
nhập] trên trang đăng nhập
(SC01)
2 Kiểm tra email/ mật khẩu đã chínhxác chưa, sau đó chuyển tới trangdefault role tương ứng (SC02)
Trang 37MS02 “Email hoặc mật khẩu nhập sai.”
Message thông báo khi admin nhập sai email/mật khẩu
Biểu đồ trình tự và biểu đồ cộng tác UC01: Đăng nhập
Hình 2.18 Biểu đồ trình tự UC01 Đăng nhập
Trang 38Hình 2.19 Biểu đồ cộng tác UC đăng nhập hệ thống.
2.4.2 Moudle 02
a UC02: Thêm đầu sách
Use Case Description
Name Thêm đầu sách Code UC02
Description Cho phép admin thêm mới đầu sách
Actor Admin Trigger Admin click button
[Thêm mới] trên màn
hình
Pre-condition Admin đã đăng nhập vào hệ thống
Post condition Thêm mới đầu sách thành công
Activities
Main Flow: Thêm đầu sách thành công
1 Từ giao diện quản lý đầu
sách(SC03), admin lựa chọn
button[ Thêm mới]
Trang 393 Nhập vào các thông tin
được yêu cầu
4 Validation các thông tin nhập vào
5 Sửa lại những thông tin
chưa đúng (nếu hệ thông
check validation chưa
đúng)
6 Lưu thông tin đầu sách mới vào
CSDL, thông báo thành công vàchuyển sang trang Quản lý đầusách(SC03)
Business Rules
Rule No Rule Description
System Message
Biểu đồ trình tự và biểu đồ cộng tác UC02: Thêm đầu sách
Hình 2.20 Biểu đồ trình tự UC02 Thêm đầu sách
Trang 40Hình 2.21 Biểu đồ cộng tác UC02: Thêm đầu sách
b UC03: Sửa đầu sách
Use Case Description
Name Sửa đầu sách Code UC03
Description Cho phép admin sửa đầu sách
Actor Admin Trigger Admin click vào link
“Sửa” ở bên phải mỗi đầusách
click vào link [Sửa]
2 Load thông tin đầu sách lên trangquản lý đầu sách (SC04) và hiển thị
3 Cập nhật những thông tin cần
thiết và ấn button [Sửa]