Đồ án Phần mềm quản lý thư viện

Đề tài quản lý thư viện là một đề tài khá thú vị về việc quản lý sách, đây là một đề tài nghiên cứu để ứng dụng trong công tác quản lý sách mà em đã có dịp tiếp xúc, phân tích và tiến hành viết phần mềm. Trong quá trình chúng em tìm hiểu, phân tích đề tài này dưới sự chỉ bảo của thầy hướng dẫn và thày cô trường Đại học Phương Đông cùng cán bộ Thư viện. Em đã hiểu được các công việc cần phải làm trong một thư viện. Vì vậy với chương trình quản lý thư viện của em mặc dù chỉ có thể giải quyết một phần rất nhỏ nhưng đó chính là nền tảng cho việc quản lý sách trên máy tính. Xong với hy vọng nó sẽ được tiếp tục phát triển và hoàn thiện để có thể giải quyết được nhiều vấn đề trong việc quản lý sách.

doc59 trang | Chia sẻ: aloso | Lượt xem: 2051 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đồ án Phần mềm quản lý thư viện, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
p trồng người. Trân trọng kính chào! LỜI NÓI ĐẦU Trên thế giới nói chung và ở Việt Nam nói riêng, ngành Công nghệ thông tin đã và đang là một ngành mũi nhọn. Ta có thể dễ dàng nhận thấy điều này qua các ngành nghề trong xã hội. Ở các cơ quan, cửa hàng, siêu thị, người ta đã thay thế dần các phương thức Quản lý và thanh toán cũ kỹ, lạc hậu, thay vào đó họ trang bị những hệ thống máy tính hiện đại, cài đặt các chương trình Quản lý tiện ích, nhằm thực hiện các công việc một cách nhanh chóng, chính xác tiết kiệm được thời gian và nhân lực cho công việc của mình. Cùng với tốc phát triển và sử dụng rộng rãi đó, các trường Đại học ở Việt Nam đã và đang đẩy cao việc sử dụng hệ thống máy tính được cài đặt các chương trình Quản lý tiện ích để Quản lý trong nhiều bộ phận, trong đó việc Quản lý thư viện của trường là việc cần thiết, nhằm phục vụ được bạn đọc một cách nhanh chóng, chính xác và giúp cho người quản lý theo dõi được tình hình công việc thường xuyên. Chương trình quản lý thư viện có nhiệm vụ quản lý, phục vụ công tác tra cứu của độc giả. Hệ thống quản lý thư viện phải nắm giữ được số lượng sách trong thư viện, phân loại sách theo từng phân loại, môn loại, mục để có thể dễ dàng tiện cho việc truy tìm. Ngoài ra hệ thống cũng phải biết được tình trạng tài liệu hiện tại, phải được cập nhật thông tin mỗi khi bổ sung các tư liệu mới hoặc thanh lý các tư liệu không có giá trị. Tóm tắt nội dung: Phần mềm quản lý thư viện thực hiện các công việc sau: Quản lý sách. Quản lý độc giả qua việc cấp thẻ độc giả. Quản lý việc mượn và trả sách của độc giả. Thống kê sách, độc giả, mượn và trả sách của độc giả. Phần 1:GIỚI THIỆU CÔNG NGHỆ SỬ DỤNG Chương 1:TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH VISUALBASIC Visual Basic là một ngôn ngữ thảo chương hoàn thiện và hoạt động theo kiểu điều khiển bởI sự kiện ( Event – Driven programming language ) nhưng lạI giống ngôn ngữ thảo chương có cấu trúc ( Structured programming language ) Theo Bill Gates đã mô tả Visual Basic như một “ công cụ vừa dễ lạI vừa mạnh để phát triển các ứng dụng Windows bằng Basic “.Điều này dường như chưa đủ để minh chứng cho tất cả những phô chương trên, trừ khi bạn hiểu ra rằng hiện đang có hàng chục triệu ngườI dùng Microsoft Windows. Visual Basic đã từng nhanh hơn, mạnh hơn và thậm chí dễ dùng hơn Visual Basic 1.0. Visual Basic 3 bổ sung các cách thức đơn giản để điều khiển các cơ sở dữ liệu mạnh nhất sẵn có. Visual Basic 4 lạI bổ sung thêm phần hỗ trợ phát triển 32 bit và bắt đầu tiến trình chuyển Visual Basic thành một ngôn ngữ lập trình hướng đốI tượng đầy đủ. Visual Basic 5 đã bổ sung khả năng tạo các tập tin thi hành thực sự, thậm chí có khẳ năng sáng tạo các điều khiển riêng. Và bây giờ, Visual Basic 6.0 bổ sung một số tính năng ngôn ngữ đã được mong đợi từ lâu, tăng cường năng lực Internet, và cả các tính năng cơ sở dữ liệu mạnh hơn. Quả thật, Visual Basic đã trở thành mạnh nhất và trôi chảy nhất chưa từng thấy. Mặt khác, lợi điểm khi dùng Visual Basic chính là ở chỗ tiết kiệm thời gian và công chức so với ngôn ngữ lập trình khác khi xây dựng cùng một ứng dụng. Visual Basic gắn liền vớI khái niệm lập trình trực quan ( Visual ), nghĩa là khi thiết kế một chương trình, ta nhìn thấy ngay kết quả qua từng thao tác và giao diện khi chương trình thực hiện. Đây là thuận lợi lớn so với các ngôn ngữ lập trình khác, Visual Basic cho phép ta chỉnh sửa đơn giản, nhanh chóng màu sắc, kích thước, hình dáng của các đốI tượng trong ứng dụng. Một khả năng khác của Visual Basic chính là khả năng kết hợp các thư viện liên kết động DLL ( Dynamic Link Library ). DLL chính là phầm mở rộng cho Visual Basic tức là khi xây dựng một ứng dụng nào đó đã có một số yêu cầu mà Visual Basic chưa đáp ứng đủ, ta viết thêm DLL phụ trợ. Khi viết chương trình bằng Visual Basic, chúng ta phải qua hai bước: - Thiết kế giao diện ( Visual Programming ) - Viết lệnh ( Cade Programming ) Nó cùng hỗ trợ các cấu trúc: - Cấu trúc IF… THEN …ELSE - Các cấu trúc lặp (Loops). - Cấu trúc rẽ nhánh ( Select Case ) - Hàm ( Function ) và chương trình con ( Subroutines ) Visual Basic đưa ra phương pháp lập trình mới, nâng cao tốc độ lập trình. Cũng như các ngôn ngữ khác, mỗi phiên bản mới của Visual Basic đều chứa đựng những tính năng mới chẳng hạn Visual Basic 2.0 bổ sung cách đơn giản để điều khiển các cơ sở dữ liệu mạnh nhất có sẵn, Visual Basic 4.0 bổ sung thêm phần hỗ trợ phát triển 32 bit và chuyển sang ngôn ngữ lập trình hướng đối tượng đầy đủ, hiện nay ngôn ngữ mớI nhất là Visual Basic 6.0 hỗ trợ nhiều tính năng mạnh hữu hạn OLE DB để lập trình dữ liệu. Các lập trình viên đã có thể dùng Visua Basic 6.0 để tự mở rộng Visual Basic. Visual Basic có sẵn các công cụ như: Các hộp văn bản, các nút lệnh, các nút tuỳ chọn, các hộp kiểm tra, các hộp liệt kê, các thanh cuộn, các hộp thư mục và tập tin… có thể dùng các khung kẻ ô để quản lý dữ liệu theo dạng bảng, liên lạc vớI các ứng dụng Windows khác, truy nhập các cơ sở dữ liệu gọi chung là điều khiển thông qua công nghệ OLE của Microsoft Hệ trợ giúp trực tuyến đầy đủ giúp tham khảo nhanh chóng khi phát triển một ứng dụng. Tuy nhiên việc này trên VB 6.0 đòi hỏi phải có CD ROM. Visual Basic còn hỗ trợ việc lập trình bằng cách hiện tất cả tính chất của đối tượng mỗI khi ta định dùng đến nó. Đây là điểm mạnh của ngôn ngữ lập trình hiện đại Các bước thiết kế một ứng dụng Visual Basic: - Xây dựng các cửa sở mà ngườI dùng sẽ thấy - Quyết định những sự kiện mà các điều khiển trên cửa sổ sẽ nhận ra. Các nội dung diễn ra khi ứng dụng đang chạy: - Visual Basic giám sát các cửa sổ và các điều khiển trong từng cửa sổ cho tất cả mọI sự kiện mà từng điều khiển có thể nhận ra ( các chuyển động chuột, các thao tác nhắp chuột, di chuyển, gõ phím …) - Khi Visual Basic phát hiện một sự kiện, nếu không có một đáp ứng tạo sẵn cho sự kiện đó, Visual Basic sẽ xem xét ứng dụng để kiểm tra ngườI dùng đã viết thủ tục cho sự kiện đó hay chưa. - Nếu đã viết rồi, Visual Basic sẽ thi hành và hình thành nên thủ tục sự kiện đó và quay trở lạI bước đầu tiên. Các bước này quay vòng cho đến khi ứng dụng kết thúc. Để hiểu rõ phần trên, sau đây tôi sẽ trình bày cụ thể hơn về ngôn ngữ lập trình Visual Basic 6.0. II. Thiết kế giao diện trong VisualBasic Do Visual Basic là ngôn ngữ lập trình hướng đối tượng nên việc thiết kế giao diện rất đơn giản bằng cách đưa các đối tượng vào Form và tiến hành thay đổi một số thuộc tính của các đối tượng đó. 1.FORM Form là biểu mẫu của mỗI ứng dụng trong Visual Basic. Ta dùng Form (như là một biểu mẫu ) nhằm định vị và sắp xếp các bộ phận trên nó khi thiết kế các phần giao tiếp với người dùng. Ta có thể xem Form như là bộ phận mà nó có thể chứa các bộ phận khác. Form chính của chúng tạo nên giao tiếp cho ứng dụng. Form chính là giao diện chính của ứng dụng, các Form khác có thể chứa các hộp thoại, hiện thị cho nhập dữ liệu và hơn thế nữa. Trong nhiều ứng dụng Visual Basic, kích cỡ và vị trí của biểu mẫu vào lúc hoàn tất thiết kế ( thường mệnh danh là thời gian thiết kế, hoặc lúc thiết kế ) là kích cỡ và hình dáng mà ngườI ngườI dùng sẽ gặp vào thờI gian thực hiện, hoặc lúc chạy. Điều này có nghĩa là Visual Basic cho phép ta thay đổI kích cỡ và di chuyển vị trí của Form cho đến bất kỳ nơi nào trên màn hình khi chạy một đề án, bằng cách thay đổi các thuộc tính của nó trong cửa sổ thuộc tính đối tượng ( Properties Windows ). Thực tế, một trong những tính năng thiết yếu của Visual Basic đó là khả năng tiến hành các thay đổI để đáp ứng các sự kiện của người dùng. 2.TOOLS BOX ( Hộp công cụ ) Bản thân hộp công cụ này chỉ chứa các biểu tượng biểu thị cho các điều khiển mà ta có thể bổ sung vào biểu mẫu là bảng chứa các đốI tượng được định nghĩa sẵn của Visual Basic. Các đối tượng này được sử dụng trong Form để tạo thành giao diện cho các chương trình ứng dụng của Visual Basic. Các đối tượng trong thanh công cụ sau đây là công dụng nhất: + Scroll Bar: (Thanh cuốn) Các thanh cuốn được dùng để nhận nhập liệu hoặc hiện thị kết xuất khi ta không quan tâm đến giá trị chính xác của đốI tượng nhưng lạI quan tâm sự thay đổI đó nhỏ hay lớn. Nói cách khác, thanh cuốn là đốI tượng cho phép nhận từ ngườI dùng một giá trị tuỳ theo vị trí con chạy (Thumb ) trên thanh cuốn thay cho cách gõ giá trị số. Thanh cuốn có các thuộc tính quan trọng nhất là: - Thuộc tính Min: Xác định cận dướI của thanh cuốn - Thuộc tính Max: Xác định cận trên của thanh cuốn - Thuộc tính Value: Xác định giá trị tạm thời của thanh cuốn + Option Button Control ( Nút chọn ) Đối tượng nút chọn cho phép người dùng chọn một trong những lựa chọn đưa ra. Như vậy, tại một thời điểm chỉ có một trong các nút chọn được chọn. + Check Box (Hộp kiểm tra ) Đối tượng hộp kiểm tra cho phép ngườI dùng kiểm tra một hay nhiều điều kiện của chương trình ứng dụng. Như vậy, tại một thời điểm có thể có nhiều hộp kiểm tra được đánh dấu + Label ( Nhãn ) Đối tượng nhãn cho phép người dùng gán nhãn một bộ phận nào đó của giao diện trong lúc thiết kế giao diện cho chương trình ứng dụng. Dùng các nhãn để hiện thị thông tin không muốn ngườI dùng thay đổi. Các nhãn thường được dùng để định danh một hộp văn bản hoặc một điều khiển khác bằng cách mô tả nộI dung của nó. Một công cụ phổ biến nhất là hiện thị thông tin trợ giúp. + Image( Hình ảnh ): Đối tượng Image cho phép người dùng đưa hình ảnh vào Form. + Picture Box : Đối tượng Picture Box có tác dụng gần giống như đối tượng Image. + Text Box : Đối tượng Text Box cho phép đưa các chuỗi ký tự vào Form. Thuộc tính quan trọng nhất của Text Box là thuộc tính Text_ cho biết nội dung hộp Text Box. + Command Button ( Nút lệnh ): Đối tượng Command Button cho phép quyết định thực thi một công việc nào đó. + Directory List Box, Drive List Box, File List Box: Đây là các đối tượng hỗ trợ cho việc tìm kiếm các tập tin trên một thư mục của ổ đĩa nào đó. + List Box ( Hộp danh sách): ĐốI tượng List Box cho phép xuất các thông tin về chuỗi. Trên đây là những đối tượng được sử dụngthường xuyên nhất trong phần thiết kế giao diện cho một chương trình ứng dụng của Visual Basic. 3.PROPERTIES WINDOWS (Cửa sổ thuộc tính) Properties Windows là nơi chứa danh sách các thuộc tính của đối tượng cụ thể. Các thuộc tính này có thể thay đổI được để phù hợp vớI yêu cầu về giao diện của các chương trình ứng dụng. 4.PROJECT EXPLORER Do các ứng dụng của Visual Basic thường dùng chung mã hoặc Form đã tuỳ biến trước đó, nên Visual Basic tổ chức các ứng dụng thành các Project. Mỗi Project có thể có nhiều Form sẽ được lưu trữ chung với Form đó trong các tập tin riêng biệt. Mã lập trình chung mà tất cả các Form trong ứng dụng chia sẻ có thể được phân thành các Module khác nhau và cũng được lưu trữ tách biệt, gọi là các Module mã Project Explorer nếu tất cả các biểu mẫu tuỳ biến được và các Module chung, tạo nên ứng dụng của ta. Chương 2:GIỚI THIỆU CƠ SỞ DỮ LIỆU ACCESS 1. Microsoft Acceess 2000 Khái niệm về hệ quản trị cơ sở dữ liệu quan hệ (Relational Database Management System): Là hệ thống các chương trình hỗ trợ các tác vụ quản lý, khai thác dữ liệu theo mô hình cơ sở dữ liệu quan hệ. Microsoft Acceess cũng là một hệ quản trị cơ sở dữ liệu quan hệ nó trơ giúp cho người sử dụng lưu trữ thông tin dữ liệu bên ngoài vào máy tính dưới dạng các bảng và có thể tính toán, xử lý trên dữ liệu trong các bảng đã lưu trữ. 1. Các đặc điểm của của Microsoft Acceess 2000 Hỗ trợ cơ chế tự động kiểm tra khoá chính, phụ thuộc tồn tại, miền giá trị… của dữ liệu bên trong các bảng một cách chặt chẽ. Với công cụ trình thông minh (Winzard) cho phép người sử dụng có thể thiết kế các đối tượng trong Microsoft Acceess một cách nhanh chóng. Với công cụ truy vấn bằng thí dụ QBE (Query By Example) sẽ hỗ trợ cho người sử dụng có thể thực hiện các truy vấn mà không cần quan tâm đến cú pháp các câu lệnh trong ngôn ngữ truy vấn có cấu trúc SQL (Structure Query Language) được viết như thế nào. Với kiểu trường dữ liệu nhúng OLE (Object Linking and Embeding) cho phép người sử dụng có thể đưa vào bên trong tập tin cơ sở dữ liệu Acceess các ứng dụng khác trên Windows như: tập tin văn bản Word, bảng tính Axcel, hình ảnh BMP, âm thanh Wav … Dữ liệu được lưu trọn gói trong một tập tin: Tất cả các đối tượng của một ứng dụng chỉ được lưu trong một tập tin cơ sở dữ liệu duy nhất đó là tập tin cơ sở dữ liệu Access (MDB). Ứng dụng có thể sử dụng trên môi trường mạng máy tính nhiều người sử dụng, cơ sở dữ liệu được bảo mật tốt. Có khả năng trao đổi dữ liệu qua lại với các ứng dụng khác, có thể chuyển đổi qua lại với các ứng dụng như: Word, Axcel, Fox, Dbase, HTML … Kết nối trực tiếp vào hệ cơ sở dữ liệu Microsoft SQL Server để phát triển các ứng dụng mô hình khách chủ (Client / Server). 2. Đối tượng bảng trong cơ sở dữ liệu Access 2000 a.Bảng Là thành phần cơ sở của tập tin cơ sở dữ liệu Access, dùng để lưu trữ dữ liệu, nó chính là cấu trúc cơ sở dữ liệu. Do đó đây là đối tượng đầu tiên phải được tạo ra trước. Bên trong một bảng, dữ liệu được lưu thành nhiều cột và nhiều dòng. Thí dụ: Một bảng bệnh nhân dùng lưu thông tin của các bệnh nhân trong bệnh viện gồm các cột: Mã bệnh nhân, Họ bệnh nhân, ngày sinh bệnh nhân,… Cụ thể như sau: Màn hình hiển thị bảng bệnh nhân trong Microsoft Access 2000. b.Cơ sở dữ liệu là gì? Cơ sở dữ liệu là một kho chứa thông tin. Có nhiều loại cơ sở dữ liệu nhưng trong đó cơ sở dữ liệu quan hệ, là cơ sở dữ liệu phổ biến nhất hiện nay. Một cơ sở dữ liệu quan hệ: Kho chứa dữ liệu trong các bảng, được cấu tạo bởi các dòng còn gọi là các mẫu tin, và các cột gọi là các trường. - Cho phép lấy về (hay truy vấn) các tập hợp dữ liệu con từ các bảng. - Cho phép nối các bảng với nhau cho mục đích truy cập các mẫu tin liên quan với nhau chứa trong các bảng khác nhau. c.Bảng và Trường Các cơ sở dữ liệu được cấu tạo từ các bảng dùng thể hiện các phân nhóm dữ liệu: - Bảng: chứa các mẫu tin là các mẫu dữ liệu riêng rẽ bên trong phân nhóm dữ liệu. - Mẫu tin: chứa các trường. Mỗi trường thể hiện một bộ phận dữ liệu trong một mẫu tin. Ví dụ mẫu tin chứa trong mục bệnh nhân chứa các trường Họ tên bệnh nhân, Ngày sinh bênh nhân, giới tính bệnh nhân, nơi sinh bệnh nhân, địa chỉ bệnh nhân… Ta có thể dùng chương trình Visual Basic 6.0 để tham chiếu và thao tác với cơ sở dữ liệu, bảng, mẫu tin. 3.Thiết kế cơ sở dữ liệu Để tạo một cơ sở dữ liệu, trước hết ta phải xác định thông tin gì cần quản lý. Sau đó thiết kế cơ sở dữ liệu, tạo bảng và các trường định nghĩa kiểu dữ liệu sẽ có. Sau khi tạo ra cấu trúc cơ sở dữ liệu có thể tạo ra dữ liệu dưới dạng mẫu tin. Ta không thể đưa dữ liệu vào mà không có bảng hay định nghĩa trường vì dữ liệu sẽ không có chỗ để chứa. Do đó thiết kế cơ sở dữ liệu cục kỳ quan trọng, nhất là rất khó thay đổi thiết kế một khi đã tạo ra nó. 4.Recordset là gì? Một khi ta có khả năng tạo bảng, ta cần phải biết cách thao tác với chúng. Thao tác trên các bảng liên quan đến việc nhập và lấy về dữ liệu từ các bảng khác cũng như việc kiểm tra và sửa đổi cấu trúc bảng. Để thao tác với cấu bảng, ta dùng các câu lệnh định nghĩa dữ liệu. Để thao tác dữ liệu trong một bảng, ta dùng Recorset. Một Recorset là một cấu trúc thể hiện một tập hợp con các mẫu tin lấy về từ cơ sở dũ liệu. Về khái niệm nó tương tự như một bảng, nhưng có thêm một vài thuộc tính riêng biệt quan trọng. Các Recorset thể hiện như các đối tượng, về khái niệm tương tự như là các đối tượng giao diện người sử dụng (như là các nút lệnh và hộp văn bản) mà ta đã làm quen với Visual Basic 6.0. Cũng như các kiểu đối tượng khác trong Visual Basic, các đối tượng Recordset có các thuộc tính và phương thức riêng. 5.Tạo lược đồ cơ sở dữ liệu Mặc dù việc tạo danh sách các bảng và trường là cách tốt nhất để xác định cấu trúc cơ sở dữ liệu, ta còn có một cách để xem các bảng và trường dưới dạng đồ hoạ. Sau đó không chỉ xem được các bảng và trường hiện có, mà còn thấy được mối liên hệ giữa chúng. Để làm được điều này bằng cách là ta tạo lược đồ. Lược đồ là bản đồ các con đường trong cơ sở dữ liệu. Lược đồ thể hiện các bảng, trường và mối quan hệ trong cơ sở dữ liệu. Có lược đồ cơ sở dữ liệu là phần quan trọng trong thiết kế phần mềm vì nó cho ta một cách nhìn nhanh về những gì có trong cơ sở dữ liệu. Các lược đồ vẫn có vị trí quan trọng lâu dài sau khi thiết kế cơ sở dữ liệu hoàn tất. Ta sẽ cần đến lược đồ để thi hành các câu truy vấn trên nhiều bảng. Không có phương pháp chính thức để tạo lược đồ, tuy vậy Microsoft Access là công cụ tương đối thuận tiện và dễ dàng trong việc tạo lược đồ. 6.Các mối liên hệ Mối liên hệ là một cách định nghĩa chính thức hai bảng liên hệ với nhau như thế nào. Khi ta định nghĩa một mối liên hệ ta đã thông báo với bộ máy cơ sở dữ liệu rằng hai trường trong bảng liên quan được nối với nhau. Hai trường liên quan với nhau trong một mối liên hệ là khoá chính và khoá ngoại. Khoá ngoại là khoá trong bảng liên quan chứa bảng sao của khoá chính của bản chính. Mối quan hệ sau đó thông báo cho bộ máy cơ sở dữ liệu hai bảng liên quan với nhau trong mối liên hệ và khoá ngoại nào liên quan với khoá chính nào. Bộ máy Acceess / Jet không đòi hỏi ta phải khai báo tường minh các mối quan hệ này, nhưng nó có lợi hơn nếu làm điều này bởi vì nó đơn giản hoá công việc lấy về dữ liệu dựa trên các mẫu tin nối qua hai hay nhiều bảng. Ngoài việc ghép các mẫu tin liên quan trong những bảng riêng biệt, ta còn định nghĩa mối quan hệ để tận dụng thế mạnh tính toàn vẹn tham chiếu, một thuộc tính của bộ máy cơ sở dữ liệu duy trì các dữ liệu trong một cơ sở dữ liệu nhiều bảng luôn luôn nhất quán. Khi tính toàn vẹn tham chiếu tồn tại trong một cơ sở dữ liệu, bộ máy cơ sở dữ liệu sẽ ngăn cản ta xoá một mẫu tin khi các mẫu tin khác tham chiếu đến nó trong cơ sở dữ liệu.Sau khi đã định nghĩa mối quan hệ trong cơ sở dữ liệu, việc định nghĩa mối quan hệ này được lưu trữ cho đến khi ta xoá nó. 7.Chuẩn hoá Chuẩn hoá là một khái niệm liên quan đến mối quan hệ. Về cơ bản, nguyên tắc của chuẩn hoá phát biểu rằng các bảng cơ sở dữ liệu sẽ loại trừ tính không nhất quán và giảm thiểu sự kém hiệu quả.Các cơ sở dữ liệu được mô tả là không nhất quán khidữ liệu trong một bảng không tương ứng với các dữ liệu nhập vào trong bảng khác. Một cơ sở dữ liệu kém hiệu quả không cho phép ta trích ra các dữ liệu chính xác mà ta muốn. Khi một cơ sở dữ liệu được chuẩn hoá đầy đủ chứa từng mẫu thông tin của cơ sở dữ liệu trong bảng riêng và xa hơn, xác định từng mẫu thông tin duy nhất thông qua khoá chính của thông tin đó. Ta quyết định cách thức để chuẩn hoá cơ sở dữ liệu. Thông thường, mọi thứ về ứng dụng cơ sở dữ liệu từ thiết kế bảng cho đến truy vấn, từ giao diện người sử dụng đến cách thức hoạt động của báo cáo đều xuất phát từ cách chuẩn hoá dữ liệu. 2. Giới Thiệu Tổng Quan Về Các Đối Tượng Truy Cập Dữ Liệu Với Lớp (trong Visual Basic 6.0) Có một số phương tiện giúp cho việc áp dụng kỹ thuật hướng đối tượng truy cập dữ liệu trong VB: - Gắn mẫu tin duy nhất với một đối tượng: Đây là kỹ thuật đơn giản nhất, không cần lập trình nhiều. Mỗi trường trong mẫu tin trở thành một thuộc tính của đối tượng; lấy dữ liệu về từ cơ sở dữ liệu hay lưu dữ liệu vào cơ sở dữ liệu đều được xử lý qua đối tượng. - Ủy nhiệm xử lý dữ liệu cho một đối tượng Recorset chứa trong một đối tượng: Đây là kỹ thuật tốt nhất khi ta cần xử lý một số không giới hạn mẫu tin. Kỹ thuật này cũng dễ lập trình, bởi có nhiều chức năng quản lý được cung cấp sẵn trong các mô hình đối tượng được sử dụng (DAO hay RDO). Kỹ thuật đặc biệt hữu dụng khi dùng ADO bởi vì ADO cung cấp khả năng ngắt kết nối với nguồn dữ liệu, cho phép ứng dụng Client thao tác với dữ liệu không cần thao tác với server. Bởi vì nhiều người sử dụng kết nối đồng thời là một điểm yếu của các hệ thống Client / Server, ngắt kết nối nghĩa là giải pháp sẽ linh hoạt hơn. Mô hình dữ liệu ADO (ActiveX Data Object: Đối tượng dữ liệu ActiveX) Ta có thể hình dung rằng mô hình ADO là một mô hình làm giảm kích thước của mô hình RDO (Đối tượng dữ liệu từ xa). Mô hình đối tượng dữ liệu ActiveX rất gọn. Nó được thiết kế để cho phép những người lập trình lấy được một tập các Record từ nguồn dữ liệu một cách nhanh nhất nếu có thể. Tốc độ và tính đơn giản là một trong các mục tiêu cối lõi của ADO, mô hình này được thiết kế để cho phép bạn tạo ra một đối tượng Recordset mà không cần phải duy chuyển qua các đối tượng trung gian khác trong quá trình. Thực tế chỉ có ba đối tượng cốt lõi sau trong mô hình: - Connection đại diện kết nối dữ liệu thực sự. - Command được sử dụng để thực thi các query dựa vào kết nối dữ liệu. - Recordset đại diện cho một tập các record được chọn query thông qua đối tượng Command. Đối tượng Connection có một sưu tập đối tượng con gọi là các đối tượng Errors đối tượng này giữ lại bất kỳ một thông tin lỗi nào có liên quan đến kết nối. Đối tượng Command có một sưu tập đối tượng con, Paramters để giữ bất cứ các tham số nào có thể thay thế cho các query. Recorset cũng có một đối tượng sưu tập con Properties để lưu các thông tin chi tiết về đối tượng. Connection Command Parameter Recorset Fields Error Sơ đồ mô hình ActiveX Data Object Các thuộc tính ADO đặc biệt Mô hình ADO có một số các thuộc tính duy nhất không có các mô hình khác như DAO và RDO. Các thuộc tính này điều khiển cách thức tạo ra dataset và quyền hạn truy cập trong một kết nối dữ liệu. Có 7 thuộc tính như sau: - Connection string (Chuỗi kết nối). - Command Text (Văn bản câu lệnh). - Command Type (Kiểu câu lệnh). - Cursor location (Định vị con trỏ). - Cursor Type (Kiểu con trỏ). - Look type (Kiểu khoá). - Mode type (Kiểu chế độ làm việc). Phần 2: PHÂN TÍCH VÀ THIẾT KẾ BÀI TOÁN QUẢN LÝ THƯ VIỆN Chương 1: KHẢO SÁT HỆ THỐNG THƯ VIỆN HIỆN TẠI 1. Hệ thống quản lý thư viện a. Tổng quan về thư viện Cơ cấu tổ chức: Ban quản lý thư viện Thủ thư BP.Bổ sung tài liệu Phòng nghiệp vụ Mô tả sơ lược về cơ cấu tổ chức: Ban quản lý thư viện: chịu trách nhiệm điều hành chung cho toàn bộ các công tác trong Thư viện. Phòng nghiệp vụ: Lập kế hoạch mua sách mới, thanh lý sách cũ, kế hoạch phục vụ độc giả, cấp thẻ độc giả. Bộ phận bổ xung tài liệu: liên hệ với các nhà xuất bản để mua sách, các đơn vị, cá nhân cung ứng sách để tiếp nhận sách đưa vào thư viện. Nhân viên thủ thư: Tiếp nhận sách đánh mã số, phân loai sách, kiểm tra độc giả có thể đọc sách, thống kê và tra cứu sách. b. Quy trình quản lý sách và độc giả Công việc quản lý sách trong Thư viện được quản lý theo một quy trình như sau: a. Đối với công việc nhập sách Mỗi khi có bổ sung sách mới bộ phận bổ sung tài liệu sẽ lập kế hoạch bổ sung tài liệu dựa trên catalog nhà xuất bản và tên các loại sách hiện có ở các hiệu sách. Nếu kế hoạch bổ sung tài liệu được duyệt thì bộ phận này sẽ tiến hành đi mua về và làm một số thao tác sau trước khi nhập sách vào kho: Đóng dấu của thư viện lên sách Phân loại sách theo lĩnh vực: Ví dụ: Tin học, y học, nghệ thuật… Phân loại sách theo môn loại: Sách về tin học: cơ sở dữ liệu, mạng máy tính, tối ưu hoá… Sách về toán: toán cao cấp, hình giải tích… Đánh mã số cho sách : Mã số sách gồm :mã phân loại ghép với mã môn loại ghép với số thứ tự ghép v số tập của sách. Viết các thông tin về sách (mã số sách, tên sách, tên tác giả, nơi xuất bản, năm xuất bản, giá tiền, số trang, tập ) vào fic và bỏ vào hộp fic. Các hộp fic được phân loại theo lĩnh vực như: kinh tế, điện tủ vi tính…trong mỗi hộp lại được phân nhỏ theo một số đặc thù nhất định. Các hộp fic cũng được phân loại theo vần đầu của tên tác giả hoặc tên sách. Nhận độc giả mới: Khi độc giả đến đăng ký làm thẻ trình thẻ sinh viên và nộp một hình của độc giả và kèm theo lệ phí làm thẻ. Nhân viên cấp thẻ sẽ phát phiếu đăng ký để bạn đọc khai báo vào theo một chuẩn hóa do thư viện quy định. Sau đó bạn đọc sẽ được cấp một thẻ đọc sách, mỗi thẻ có 1 số thẻ riêng không trùng với các số thẻ khác. Ở đây số thẻ chính là mã số của độc giả. Mã số độc giả được đánh theo quy định của thư viện, gồm 2 chữ cái và 4 chữ số. Trong đó, 2 chữ cái đầu tiên là “DG”, 4chữ số sau chỉ số thứ tự của độc giả được lưu trong CSDL. Ví dụ: Độc giả đầu tiên được lưu trong CSDL có mã số là: DG0001. Thẻ đọc sách của độc giả có giá trị khi đã được ký duyệt đầy đủ và nó chỉ có giá trị trong 1 năm kể từ ngày làm thẻ. Quy trình mượn – trả sách: Khi độc giả đến mượn sách, độc giả chọn sách trong fic sách và lựa chọn cuốn sách cần mượn. Sau khi tìm được sách cần mượn, độc giả sẽ gửi lại thẻ đọc sách tại bàn của thủ thư và nhận phiếu yêu cầu từ thủ thư để điền các thông tin vào phiếu yêu cầu mượn sách. Thủ thư căn cứ vào thông tin về sách yêu cầu mà độc giả đã ghi vào phiếu yêu cầu để để lấy sách cho độc giả. Khi tìm được sách thủ thư yêu cầu độc giả ký nhận sách. Sau khi thủ thư nhận lại phiếu yêu cầu đã có ký nhận của độc giả thì sẽ giao sách cho độc giả và giữ lại phiếu yêu cầu kẹp cùng với thẻ đọc sách của độc giả bỏ vào hộp chứa thẻ. Mỗi phiếu yêu cầu có một số phiếu riêng và không được phép trùng nhau. Trong phiếu yêu cầu có ghi rõ ngày mượn sách và ngày hẹn trả sách của độc giả. Khi thời hạn mượn sách hết hoặc độc giả không có nhu cầu mượn nữa sẽ trả lại sách cho thư viện. Thủ thư yêu cầu độc giả ký trả sách xong sẽ trả lại thẻ đọc sách cho độc giả khi độc giả không có nhu cầu mượn sách khác nữa. Thủ thư theo dõi việc mượn sách của độc giả dựa vào ngày mượn ghi trên phiếu yêu cầu và ngày trả sách, nếu độc giả nào mượn sách quá hạn quy định, thủ thư sẽ thông báo nhắc trả sách cho độc giả biết qua thông tin đăng ký của độc giả như số điện thoại hay địa chỉ Email và sẽ xử phạt tiền về số ngày quá hạn hoặc làm rách sách, mất sách theo quy định của thư viện.Trương hợp nào vi phạm nghiêm trọng có thể bị hủy thẻ. Báo cáo thống kê: Ngoài công việc phục vụ trực tiếp bạn đọc, Thư viện còn phải thống kê độc giả theo thời gian chỉ định từ đó nắm bắt được chính xác số độc giả và các thông tin liên quan. Thống kê sách và các thông tin liên quan đến sách như số sách đang được mượn, số sách đã được trả…để biết được tình hình sách tại thư viện. Thống kê thu , chi trong việc mua sách và mượn sách để biết số tiền đã chi và thu vào liên quan tới sách. c. Nhiệm vụ của một hệ thống quản lý thư viện: Một hệ thống quản lý thư viện có nhiệm vụ quản lý kho tư liệu mà thư viện hiện có, phục vụ công tác tra cứu, nghiên cứu của độc giả. Hệ thống quản lý thư viện phải nắm được số lượng sách có trong thư viện, phân loại sách theo phân loại, môn loại cụ thể để dễ dàng cho việc mã hoá, tiện cho việc truy tìm. Ngoài ra hệ thống cũng phải biết được tình trạng hiện tại, phải được cập nhật thông tin mỗi khi bổ sung các tư liệu mới hoặc thanh lý các tư liệu không có giá trị. Đối với việc phục vụ tra cứu, hệ thống phải đưa ra mục lục phân loại, môn loại các sách có trong thư viện, sao cho độc giả dễ dàng tìm được các tư liệu cần thiết, bên cạnh đó hệ thống cũng phải quản lý được những độc giả có nhu cầu mượn tư liệu. Thông thường việc phân loại sách và quản lý độc giả là những công việc phức tạp nhất trong hệ thống quản lý thư viện. d. Nhược điểm của hệ thống quản lý thư viện trên: Hệ thống trên dùng nhiều đến giấy tờ, vì vậy việc bảo quản, truy tìm mất nhiều thời gian. Hệ thống dễ mắc phải sai sót cũng như chưa tiện lợi với bạn đọc. Công việc quản lý độc giả rất khó khăn khi số lượng bạn đọc lớn, bởi việc kiểm tra thời gian mượn trả sách, số lượng sách mượn là thủ công, vì vậy rất dễ thất thoát tư liệu. Việc phân loại sách và tạo ra mục lục cần khá nhiều thời gian. 2. Hướng thực thi của đề tài. Xuất phát từ những nhược điểm của hệ thống quản lý bằng thủ công, nên việc tin học hoá công tác quản lý là việc làm hợp lý. Từ những yêu cầu quản lý, chương trình làm các công việc với 4 mảng như sau: Quản lý sách Quản lý độc giả Quản lý mượn sách – trả sách Quản lý thống kê – báo cáo Ở đây mảng Quản lý mượn – trả sách được chia thành 2 mảng con là Quản lý mượn sách và Quản lý trả sách. Hệ thống cho phép lưu trữ, cập nhật sách một cách dễ dàng, với khối lượng lớn.Tối thiểu hoá thời gian tìm kiếm sách, thống kê sách, hỗ trợ những cách tìm kiếm sách khác nhau. Hệ thống thích hợp với việc gia tăng số lượng sách, số lượng độc giả. Chương 2:THIẾT KẾ HỆ THỐNG QUẢN LÝ THƯ VIỆN 1. Xác định yêu cầu. a. Yêu cầu về chức năng: Tìm kiếm: Sách: Tiêu chuẩn: Mã số sách, tên sách, tên tác giả, nhà xuất bản, năm xuất bản, ngôn ngữ sách, môn loại sách, phân loại sách, theo thứ tự chữ cái tên sách, theo thứ tự chữ cái tên tác giả. Độc giả: Tiêu chuẩn: Mã độc giả, họ tên độc giả, lớp học độc giả, khoá học độc giả, năm học. Cập nhật: Tiêu chuẩn: Sách, bạn đọc, khoá học, phân loại, môn loại, ngôn ngữ, nhà xuất bản, mượn trả. Thống kê: Sách: Tiêu chuẩn: Thống kê sách còn, sách mất, sách thanh lý, sách đền. Độc giả: Tiêu chuẩn: Độc giả vi phạm nội quy. Thống kê mượn trả sách: Theo ngày, tháng, năm. b. Các số liệu lưu trữ: STT Tên Mục đích Thông tin lưu trữ 1 SÁCH Lưu trữ các thông tin liên quan đến sách Mã sách, mả thể loại, tên sách, tên tác giả,NXB, năm xuất bản,,lan XB, số lượng, Giá sách,số trang 2 ĐỘC GIẢ Lưu trữ các thông tin liên quan tới độc giả làm thẻ đọc sách Số thẻ, họ tên,địa chỉ,lần cấp, ngày cấp,ngày hết hạn,Enail 3 THỂ LOẠI SÁCH Lưu trữ thông tin liên quan đến thể loại sách Mã thể loại, tên thể loại 4 PHIẾU MƯỢN Lưu các thông tin về mượn trả sách của độc giả Số phiếu,số thẻ, mã sách,số tiền, ngày mượn ,ngày trả 5 PHIẾU THU Lưu các thông tin về số tiền thu của độc giả vi phạm Số phiếu,số thẻ ,tên phiếu,lí do ,số tiền,ngày lập phiếu 2. Sơ đồ phân ra chức năng Hệ thống quản lý Quản lý độc giả Cấp thẻ độc giả Xoá độc giả Tìm kiếm độc giả Hủy thẻ độc giả Thống kê báo cáo Sách Độc giả Mượn trả sách Quản lý sách CN Thể loại Cập nhật sách Tra cứu sách Mượn – trả sách Mượn sách Trả sách Nhắc trả sách 3. Biểu đồ luồng dữ liệu mức khung cảnh quản lý thư viện. Ở mức này ban quản lý,thủ thư, bộ phận bổ sung tài liệu, độc giả có quan hệ trực tiếp với chức năng chính của hệ thống, chức năng này chỉ ở mức khung cảnh, nghĩa là chức năng này bao gồm nhiều hệ thống hoạt động với mục tiêu được gắn với nó. Ở đây là 1 chức năng: Quản lý thư viện. Quản lý Thư viện Ban quản lý Độc giả Sách mới Yêu cầu bổ sung sách Yêu cầu Kết quả Yêu cầu báo cáo thống kê Báo cáo thống kê BP.Bổ xung tài liệu Thủ thư Yêu cầu Kết quả 4. Biểu đồ luồng dữ liệu mức đỉnh. Ở mức này ban quản lý, bộ phận bổ sung tài liệu, thủ thư có quan hệ trực tiếp với các chức năng chính của hệ thống, các chức năng này chưa ở mức chi tiết, nghĩa là mỗi chức năng này bao gồm một hệ thống hoạt động với mục tiêu được gắn với nó. Ở đây gồm 3 chức năng lớn và 2 chức năng con là: Quản lý sách, quản lý độc giả qua việc quản lý cấp thẻ, quản lý việc cho độc giả mượn sách và trả sách, thống kê báo cáo. Chức năng quản lý sách làm nhiệm vụ quản lý sách có tại thư viện, công việc chính là lập mã số sách và quản lý sách. Khi có yêu cầu mua sách, bộ phận bổ sung tài liệu sẽ mua sách về, tiến hành xử lý sách, viết fic cho sách. Sau đó lưu quá trình xử lý vào kho dữ liệu hệ thống về sách là: “Hồ sơ quản lý sách”, đưa fic vào hộp fic để độc giả tra cứu sách và chuyển sách về kho sách. Chức năng quản lý độc giả ở đây là chức năng quản lý việc cấp thẻ cho độc giả. Công việc chính là lập mã số độc giả và quản lý thông tin về độc giả: Khi độc giả đến làm thẻ đọc sách, phải khai báo đầy đủ thông tin theo yêu cầu về độc giả cho bộ phận cấp thẻ độc giả. Bộ phận này sẽ kiểm tra trong hồ sơ cấp thẻ và hồ sơ xử lý vi phạm xem độc giả có vi phạm kỷ luật mà không thi hành hay không, nếu độc giả không vi phạm hay vi phạm kỷ luật mà đã hết hạn kỷ luật, đồng thời thông tin độc giả khai báo là hợp lệ thì sẽ tiến hành lập mã số cho độc giả, và lưu quá trình xử lý vào kho dữ liệu “Hồ sơ cấp thẻ” của hệ thống. Sau đó bộ phận này sẽ cấp cho độc giả một thẻ đọc sách. Quản lý mượn sách làm nhiệm vụ quản lý việc mượn sách của độc giả, công việc chính là lập phiếu mượn sách và cho mượn sách : Độc giả muốn mượn sách phải biết thông tin về sách chứa trong các hộp fic. Khi độc giả đến mượn sách phải đưa thẻ đọc sách và phiếu yêu cầu đã điền đủ thông tin cho thủ thư. Thủ thư sẽ kiểm tra tính hợp lệ của thẻ và phiếu yêu cầu, nếu không phù hợp thì sẽ trả lại cho độc giả ngược lại sẽ lấy sách trong kho theo yêu cầu. Sau đó thủ thư kiểm tra phiếu mượn của độc giả để quyết định cho mượn hay không, nếu cho mượn thì cập nhật phiếu mượn, hồ sơ quản lý sách và yêu cầu độc giả ký nhận sách trước khi giao sách. Quản lý trả sách làm nhiệm vụ quản lý việc trả sách của độc giả: Khi độc giả đến trả sách phải đưa thẻ đọc sách cùng với sách cho thủ thư. Thủ thư sẽ cất sách vào vị trí trong kho và yêu cầu thi hành kỷ luật với các độc giả vi phạm, đồng thời cập nhật vào hồ sơ xử lý vi phạm. Thống kê làm nhiệm vụ: Thống kê sách của thư viện bao gồm sách còn, sách đã mất, sách thanh lý bằng cách lấy thông tin từ hồ sơ quản lý sách…. Thống kê mượn trả sách bằng cách lấy các thông tin cần thiết từ phiếu mượn. Thống kê độc giả vi phạm từ hồ sơ xử lý vi phạm. Yêu cầu cấp thẻ Độc giả Ban quản lý BP.Bổ sung tài liệu Thống kê báo cáo Quản lý sách QL.Mượn sách Quản lý độc giả Phiếu mượn Hồ sơ cấp thẻ Hồ sơ xử lý vi phạm Hồ sơ quản lý sách Kho sách Fic lưu thông tin sách Thẻ/Yêu cầu mượn sách Sách/Không chấp nhận Thẻ/ Không chấp nhận Yêu cầu thông tin Báo cáo Phiếu mượn Hồ sơ xử lý vi phạm Yêu cầu mua sách Sách mới Thủ thư Sách yêu cầu Thông tin sách QL.Trả sách Độc giả Thẻ, Sách Phạt/Không, thẻ 5. Biểu đồ luồng dữ liệu mức dưới đỉnh. a. Chức năng quản lý sách: Khi có sách mới, bộ phận quản lý sách sẽ đóng dấu thư viện lên sách, xác định phân loại sách, xác định môn loại sách và gán mã số cho sách theo cách thức sau: Mã sách gồm 2 phần là phần chữ và phần số Phần chữ là mã thể loại của sách Phần số là 4 số xếp theo thứ tự tăng dần Sau đó viết fic rồi cập nhật vào hồ sơ quản lý sách của thư viện căn cứ trên phiếu quản lý sách, đưa sách vào vị trí trong kho và fic vào hộp fic. Đối với sách đã có nhưng thêm số lượng thì tiến hành tìm sách và hiệu chỉnh thông tin về sách trong hồ sơ quản lý sách, fic sách và đưa vào vị trí trong kho. Sửa BP.Bổ sung tài liệu Thêm sách mới Tìm kiếm Kho sách Yêu cầu bổ sung sách Sách mới Thông tin sách cần tìm Hồ sơ quản lý sách Phích lưu thông tin sách Kết quả tìm b. Chức năng quản lý độc giả : Khi có độc giả đến làm thẻ đọc sách, bộ phận cấp thẻ độc giả yêu cầu độc giả điền đầy đủ thông tin vào phiếu đăng ký và nộp lại cho bộ phận QLTV, đồng thời độc giả phải nộp 1 hình 3x4 để dán vào thẻ đọc sách cùng với lệ phí làm thẻ. Tiếp đó bộ phận này sẽ đánh mã số độc giả theo quy định của thư viện. Mã số độc giả chính là số thẻ đọc sách và là số thứ tự của độc giả đến làm thẻ, gồm tối đa là 6 ký tự và nhập vào hồ sơ cấp thẻ. Vì thẻ chỉ có giá trị trong 1 năm, nên khi có đợt làm thẻ mới mà độc giả đã có thẻ cũ thì bộ phận cấp thẻ độc giả sẽ tìm độc giả để sửa lại thông tin cần thay đổi về độc giả. Xoá độc giả đối với các độc giả vi phạm nội quy của thư viện. Thêm thẻ mới Xoá Sửa Độc giả Hồ sơ xử lý vi phạm Hồ sơ cấp thẻ Phiếu mượn Yêu cầu cấp thẻ Thẻ/ Không chấp nhận Tìm kiếm Thông tin độc giả cần tìm Kết quả tìm Danh sách xoá Hồ sơ cấp thẻ c. Chức năng quản lý mượn sách: Độc giả đến mượn sách sẽ nhận phiếu yêu cầu từ thủ thư để điền các thông tin về độc giả và sách cần mượn. Thủ thư sẽ lấy thông tin từ hồ sơ cấp thẻ và phiếu yêu cầu để kiểm tra nếu không phù hợp thì không chấp nhận yêu cầu mượn sách của độc giả, nếu chấp nhận thì sẽ lấy sách trong kho dựa vào thông tin trên phiếu yêu cầu. Trước khi thủ thư giao sách và thẻ cho độc giả thì độc giả phải ký nhận vào phiếu yêu cầu của mình và giao lại cho thủ thư. Sau đó thủ thư sẽ đưa thông tin về mượn sách vào hồ sơ quản lý sách và phiếu mượn. Ký mượn sách Kiểm mượn sách Thủ thư Độc giả Fic lưu thông tin sách Hồ sơ quản lý sách Kho sách Thẻ, Yêu cầu mượn sách Tìm kiếm sách Không chấp nhận Yêu cầu kiểm tra Kết quả Thông tin sách cần tìm Kết quả Yêu cầu sách Sách yêu cầu Giao sách, Thẻ Phiếu mượn Hồ sơ cấp thẻ Phiếu mượn d. Chức năng quản lý trả sách: Khi độc giả đến trả sách thì thủ thư sẽ kiểm tra sách, nếu sách không phù hợp thì trả lại sách cho độc giả và yêu cầu độc giả thi hành kỷ luật và cập nhật vào hồ sơ xử lý vi phạm, nếu sách phù hợp thì yêu cầu độc giả ký trả sách rồi cập nhật vào phiếu mượn của độc giả và đưa sách về kho. Ký trả sách Phiếu mượn Thủ thư Hồ sơ xử lý vi phạm Kiểm tra sách Yêu cầu kiểm tra Kết quả Độc giả Sách, Thẻ Sách không phù hợp Yêu cầu ký trả sách Kho sách Kết quả Thẻ e. Chức năng thống kê: Chức năng thống kê ở đây là việc in báo cáo thống kê về sách, độc giả vi phạm, thống kê về tình hình mượn trả sách. Ban quản lý In báo cáo Hồ sơ quản lý sách Yêu cầu báo cáo Phiếu mượn Hồ sơ xử lý vi phạm Báo cáo 6. Mô hình thực thể liên kết Đây là mô hình mô tả dữ liệu được lưu trữ trong cơ sở dữ liệu, biểu diễn mối quan hệ chặt chẽ và logic giữa các dữ liệu đó. Từ quá trình phân tích ở trên, mô hình thmột kho có nhiều vị trí. Một cuốn sách có thể được mượn trả nhiều lần. Một năm có nhiều độc giả đến làm thẻ đọc sách, mỗi độc giả, độc giả có thể có nhiều lần mượn trả sách. Một độc giả có thể có nhiều lần vi phạm kỷ luật, mỗi hồ sơ kỷ luật chỉ có một lý do kỷ luật và một hình thức kỷ luật.). 7. Thiết kế hệ thống. a. Mô hình tổ chức dữ liệu. Qua kết quả của quá trình phân tích hệ thống và mô hình thực thể liên kết ở trên đến đây có thể đưa ra mô hình tổ chức dữ liệu. Mô hình này mô tả cụ thể, thực tế việc tổ chức vật lý dữ liệu của cơ sở dữ liệu trong hệ thống. Toàn bộ mô hình sẽ được trình bày như sau: SACH(MASACH, MATL, TENS, TENTG, NXB, LANXB, NAMXB, TIENPHAT, SOTRANG, GIASACH) BANDOC(SOTHE, HOTEN,DIACHI,DIENTHOAI,LANCAP, NGAYCAP, NGAYHH, EMAIL) THELOAI(MATL, TENTL) PHIEUTHU(SOPHIEU, SOTHE,TENPHIEU, LIDO, SOTIEN,NGAYLAPPHIEU) PHIEUMS(SOPHIEU, SOTHE, MASACH, SOTIEN, NGAYMUON, NGAYTRA) b. Danh sách các bảng dữ liệu. Từ mô hình tổ chức dữ liệu có thể đưa ra danh sách các bảng dữ liệu như sau: STT Tên bảng Diễn giải 1 SACH Lưu trữ thông tin về sách 2 PHIEUMUON Sách được mượn bởi độc giả nào 3 DOCGIA Lưu trữ thông tin về độc giả làm thẻ 4 THELOAI Lưu trữ thông tin thể loại sách. 5 PHIEUTHU Lưu trữ thông tin về lý do thu tiền c. Mô tả chi tiết các bảng: + SACH THUỘC TÍNH DIỄN GIẢI KIỂU KÍCH THƯỚC MIỀN GIÁ TRỊ RÀNG BUỘC MASACH Mã sách Char 10 Chữ và số Khoá chính MATL Mã thể loại char 8 Chữ và số TENS Tên sách nchar 100 Chữ và số TENTG Tên tác giả Char 50 Chữ NAMXB Năm xuất bản int 4 Sô LANXB Lần xuất bản int 50 Số NXB Nhà xuất bản Char 50 Chữ TIENPHAT Tiền phạt Money SOTRANG Số trang int Chữ và số GIASACH Giá sách Money 1000 Chữ và số + THELOAI THUỘC TÍNH DIỄN GIẢI KIỂU KÍCH THƯỚC MIỀN GIÁ TRỊ RÀNG BUỘC MATL Mã thể loại Char 8 Chữ và số Khoá chính SOTHE Tên thể loại nchar 20 Chữ + PHIEUTHU THUỘC TÍNH DIỄN GIẢI KIỂU KÍCH THƯỚC MIỀN GIÁ TRỊ RÀNG BUỘC SOPHIEU Số phiếu Char 20 Số Khoá chính SOTHE Số thẻ nchar 20 Chữ và số TENPHIEU Tên phiếu Char 20 Chữ LIDO Lí do Char 20 Chữ SOTIEN Số tièn int 20 Số NGAYLAPTHE Ngày lạp thẻ date + BANDOC THUỘC TÍNH DIỄN GIẢI KIỂU KÍCH THƯỚC MIỀN GIÁ TRỊ RÀNG BUỘC SOTHE Mã độc giả Char 10 Số vả chữ Khoá chính HOTEN Tên độc giả Char 30 Chữ DIACHI Địa chỉ Char 50 Số và chữ DIENTHOAI Điện thoại int 20 Số LANCAP Làn cấp Char 5 số NGAYCAP Ngày cấp Datetime 50 Số NGAYHH Ngày hết hạn Datetime 50 số EMAIL Email 50 Số và chữ + PHIEUMUON THUỘC TÍNH DIỄN GIẢI KIỂU KÍCH THƯỚC MIỀN GIÁ TRỊ RÀNG BUỘC SOPHIEU Số phiếu Char 10 số Khoá chính SOTHE Số thẻ Char 10 Chữ và số Khoá ngoại MASACH Mã sách Char 20 Chữ và số Khóa ngoại SOTIEN Số tiền money 50 Số NGAYMUON Ngày mượn Datetime NGAYTRA Ngày trả Datetime d. Ràng buộc toàn vẹn dữ liệu : + Các ràng buộc khoá chính : (RB1) MASACH là khoá chính của SACH (RB2) SOTHE là khoá chính của DOCGIA (RB3) SOPHIEU là khoá chính của PHIEUMUON (RB4) MATL là khoá chính của THELOAI (RB5) SOPHIEU là khoá chính của PHIEUTHU + Các ràng buộc khoá ngoại : (RB6) SOTHElà khoá ngoại của PHIEUMUON tham khảo từ BANDOC (RB7) MASACH là khoá ngoại của PHIEUMUON tham khảo từ SACH + Các ràng buộc về phụ thuộc : (RB8) Với "pm Î PHIEUMUON, thì $ s Î SACH & $ bd Î BANDOC sao cho pm.MASACH = s.MASACH và pm.SOTHE = dg. BANDOC . + Các ràng buộc về giá trị : (RB9) Với "s Î SACH => s[SOLUONG] > 0 (RB10) Với "s Î SACH => s[SOMAT] >= 0 (RB11) Với "s Î SACH => s[GIATIEN] > 0 (RB12) Với "s Î SACH => s[SOTRANG] > 0 (RB13) Với "pm Î PHIEUMUON => pm[TIENPHAT] >= 0 + Ràng buộc về ngữ cảnh : (RB14) Ngày-tháng- năm làm thẻ đọc sách < ngày- tháng- năm hết hạn thẻ đọc sách. e. Thiết kế giao diện và xử lý : Mô tả chi tiết các xử lý : * Bảng các xử lý lưu trữ : STT TÊN DỮ LIỆU VÀO ĐIỀU KIỆN RÀNG BUỘC 1 Nhập sách Sách mới Mã sách không được trùng lặp 2 Nhập thể loại sách Thể loại mới Mã thể loại không được trùng lặp 3 Nhập độc giả Nhập độc giả mới Mã độc giả không được trùng lặp 4 Nhập phiếu mượn Số phiéu mượn mới Số phiếu mượn không được trùng lặp * Bảng các xử lý tra cứu : STT TÊN XỬ LÝ TIÊU CHUẨN TRACỨU YÊU CẦU 1 Tìm sách Dựa vào mã sách, tên sách, thể loại sách. Nhập vào một trong những tiêu chuẩn tra cứu bên. 2 Tìm độc giả Dựa vào số thẻ độc giả, họ tên độc giả. Nhập vào một trong những tiêu chuẩn tra cứu bên. b. Thiết kế giao diện : Một số Form của chương trình: + Form chính : Danh sách các xử lý : STT Mà SỐ BIẾN CỐ Ý NGHĨA 1 XL1 Click vào Đăng nhập thuộc menuHệ thống Đăng nhập vào hệ thống 2 XL2 Click vào Đổi mật khẩu thuộc menuHệ thống Đổi mật khẩu cho người sử dụng 3 XL3 Click vào Đăng ký thuộc menuHệ thống Đăng ký làm thành viên 4 XL4 Click vào Thông tin hệ thống menuHệ thống Xem thông tin hệ thống 5 XL5 Click vào Thoát thuộc menuHệ thống Thoát khỏi hệ thống 6 XL6 Click vào Cập nhật thể loại thuộc menuQuản lý sách Thêm, sửa, xóa thể loại sách 7 XL7 Click vào Cập nhật sách thuộc menuQuản lý sách Thêm, sửa, xóa sách 8 XL8 Click vào Tra cứu sách thuộc menuQuản lý sách Tìm kiếm sách 9 XL9 Click vào Cấp thẻ độc giả thuộc menuQuản lý độc giả Thêm hoặc sửa độc giả 10 XL10 Click vào Hủy thẻ độc giả thuộc menuQuản lý độc giả Xóa độc giả 11 XL11 Click vào Tìm kiếm độc giả thuộc menuQuản lý độc giả Tìm kiếm độc giả 12 XL12 Click vào Mượn sách thuộc menuMượn-trả sách Cho mượn sách 13 XL13 Click vào Trả sách thuộc menuMượn-trả sách Thu hồi sách 14 XL14 Click vào Nhắc trả sách thuộc menuMượn-trả sách Xem danh sách độc giả mượn sách quá hạn + Form Đăng nhập Danh sách các xử lý : STT Mà SỐ BIẾN CỐ Ý NGHĨA 1 XL1 Đăng nhập Đăng nhập vào hệ thống 2 XL2 Thoát Không đăng nhập hệ thống + Form nhập sách mới: Danh sách các xử lý : STT Mà SỐ BIẾN CỐ Ý NGHĨA 1 XL1 Thêm Thêm sách vào CSDL 2 XL2 Sửa Sửa thông tin về sách 3 XL3 Xóa Xóa sách trong CSDL 4 XL5 Lưu Lưu thông tin sách khi thêm hoặc sửa sách 5 XL6 Hủy bỏ Hủy lựa chọn thêm hoặc sửa sách 6 XL7 Thoát Trở ra màn hình chính + Form Cập nhật độc giả: Danh sách các xử lý : STT Mà SỐ BIẾN CỐ Ý NGHĨA 1 XL1 Cấp mới Thêm độc giả vào CSDL 2 XL2 Sửa Sửa thông tin về độc giả 3 XL3 Xóa Xóa độc giả trong CSDL 4 XL5 Lưu Lưu thông tin độc giả khi thêm hoặc sửa độc giả 5 XL6 Hủy bỏ Hủy lựa chọn thêm hoặc sửa độc giả 6 XL7 Thoát Trở ra màn hình chính + Form thêm thể loại: Danh sách các xử lý : STT Mà SỐ BIẾN CỐ Ý NGHĨA 1 XL1 Thêm Thêm Thể loại sách vào CSDL 2 XL2 Sửa Sửa thông tin về Thể loại sách 3 XL3 Xóa Xóa Thể loại sách trong CSDL 4 XL5 Lưu Lưu thông tin Thể loại sách khi thêm hoặc sửa độc giả 5 XL6 Hủy bỏ Hủy lựa chọn thêm hoặc sửa Thể loại sách 6 XL7 Thoát Trở ra màn hình chính Chương 3: CÀI ĐẶT CHƯƠNG TRÌNH 1. Một số modul tiêu biểu giải quyết bài toán. a. Đăng nhập hệ thống: Hình 27.Lưu đồ xử lý đăng nhập hệ thống b. Module Tìm kiếm: 2. Kiểm thử hệ thống. Tích hợp kiểm tra toàn bộ chương trình sem có lỗi ghì xảy ra không CHƯƠNG IV : KẾT LUẬN 1.Nhận xét và tự đánh giá. Đề tài quản lý thư viện là một đề tài khá thú vị về việc quản lý sách, đây là một đề tài nghiên cứu để ứng dụng trong công tác quản lý sách mà em đã có dịp tiếp xúc, phân tích và tiến hành viết phần mềm. Trong quá trình chúng em tìm hiểu, phân tích đề tài này dưới sự chỉ bảo của thầy hướng dẫn và thày cô trường Đại học Phương Đông cùng cán bộ Thư viện. Em đã hiểu được các công việc cần phải làm trong một thư viện. Vì vậy với chương trình quản lý thư viện của em mặc dù chỉ có thể giải quyết một phần rất nhỏ nhưng đó chính là nền tảng cho việc quản lý sách trên máy tính. Xong với hy vọng nó sẽ được tiếp tục phát triển và hoàn thiện để có thể giải quyết được nhiều vấn đề trong việc quản lý sách. Đã làm : Chương trình chỉ quản lý được sách và độc giả là sinh viên. * Đối với người quản trị : Có thể truy xuất vào toàn bộ hệ thống. - Thay đổi thông tin của riêng mình. - Cập nhật nhân viên sử dụng. - Cập nhật sách, cập nhật độc giả. - Tra cứu sách, tra cứu độc giả theo nhiều thuộc tính. - Thống kê theo nhiều tiêu chuẩn khác nhau * Thủ thư : - Xem thông tin sách Xem thông tin độc giả. - Cập nhật mượn trả sách. - Tra cứu sách theo nhiều thuộc tính khác nhau. * Độc giả : - Tra cứu sách theo nhiều thuộc tính khác nhau. Chưa làm : - Chưa quản lý được các độc giả không phải là sinh viên. - Chưa quản lý được sách thuộc phòng đọc sau đại học. - Ch ưa quản lý được tư liệu là băng đĩa, báo, tạp trí… 2. Hướng phát triển của đề tài : Chương trình sẽ được mở rộng ra với nhiều loại tài liệu khác nhau như băng, đĩa, báo, tạp trí… Quản lý nhiều đối tượng độc giả khác nhau. Do trình độ và thời gian làm luận văn hiện nay của em có hạn, chương trình quản lý thư viện chỉ dừng lại ở một số chức năng. Chắc chắn còn nhiều thiếu sót, hạn chế. Đồng thời chúng em cũng nhìn thấy những gì đã làm được và chưa làm được trong quá trình tìm hiểu về vấn đề quản lý thư viện. Trong quá trình bảo vệ nếu được sự đồng tình ủng hộ và góp ý của quý thầy cô, đề tài chúng em sẽ được hoàn thiện hơn trong tương lai. PHỤ LỤC Một số code xử lý Code kết nối cơ sỏ dữ liệu Public Sub Ketnoi() On Error Resume Next Set Cnn = CreateObject("ADODB.Connection") Set Rcs = CreateObject("ADODB.Recordset") Str = "provider=microsoft.jet.oledb.4.0;data source=" & VBA.Trim(App.Path & "/datas.mdb") Cnn.Open Str, "admin", "" DataEnv.Dulieu.ConnectionString = Str DataEnv.Dulieu.Open End Sub Code dang nhập Private Sub cmdDangnhap_Click() On Error Resume Next If (VBA.Trim(txtTen.Text) = "" Or VBA.Trim(txtMk.Text) = "") Then MsgBox " B¹n ph¶i nhËp ®Çy ®ñ th«ng tin !", vbExclamation, "Th«ng b¸o" Exit Sub End If Str = "select * from tbl_admin where name='" & VBA.Trim(txtTen.Text) & "' and pas='" & VBA.Trim(txtMk.Text) & "'" If Rcs.State = adStateOpen Then Rcs.Close Rcs.Open Str, Cnn, adOpenKeyset, adLockPessimistic If Rcs.RecordCount <= 0 Then MsgBox "B¹n nhËp sai tªn hoÆc mËt khÈu!", vbExclamation, "Th«ng b¸o" Exit Sub End If MsgBox "§¨ng nhËp thµnh c«ng!", vbInformation, "Th«ng b¸o" Call LogIn Unload Me End Sub Code Tìm kiếm Private Sub cmdTim_Click() Select Case Tim Case 0 Str = "select a.masach, a.tensach, b.tentheloai, a.tentacgia, a.nxb, a.namxb, a.lanxb, a.tienphat, a.giasach, a.soluong from(tbl_sach as a INNER JOIN tbl_theloai as b ON a.matheloai=b.matheloai) where a.masach like '%" & VBA.Trim(T1.Text) & "%'" Case 1 Str = "select a.masach, a.tensach, b.tentheloai , a.tentacgia, a.nxb, a.namxb, a.lanxb,a.tienphat,a.giasach,a.soluong from (tbl_sach as a inner join tbl_theloai as b on a.matheloai=b.matheloai) where a.tentacgia like '%" & VBA.Trim(T1.Text) & "%'" Case 2 Str = "select a.masach, a.tensach, b.tentheloai, a.tentacgia, a.nxb, a.namxb, a.lanxb,a.tienphat,a.giasach,a.soluong from (tbl_sach as a inner join tbl_theloai as b on a.matheloai=b.matheloai) where a.nxb like '%" & VBA.Trim(T1.Text) & "%'" Case 3 Str = "select a.masach, a.tensach, b.tentheloai, a.tentacgia, a.nxb,a.namxb, a.lanxb, a.tienphat,a.giasach,a.soluong from (tbl_sach as a inner join tbl_theloai as b on a.matheloai=b.matheloai) where a.tensach like '%" & VBA.Trim(T1.Text) & "%'" Case 4 Str = "select a.masach, a.tensach,b.tentheloai, a.tentacgia, a.nxb,a.namxb, a.lanxb,a.tienphat,a.giasach,a.soluong from (tbl_sach as a inner join tbl_theloai as b on a.matheloai=b.matheloai) where b.tentheloai like '%" & VBA.Trim(T1.Text) & "%'" Case 5 Str = "select a.masach,a.tensach,b.tentheloai, a.tentacgia,a.nxb, a.namxb,a.lanxb,a.tienphat,a.giasach,a.soluong from (tbl_sach as a inner join tbl_theloai as b on a.matheloai=b.matheloai) where a.namxb like '%" & VBA.Trim(T1.Text) & "%'" End Select lst.ListItems.Clear If (Rcs.State = adStateOpen) Then Rcs.Close Rcs.Open Str, Cnn, adOpenKeyset, adLockPessimistic If (Rcs.RecordCount <= 0) Then Exit Sub Dim I As Integer, lis As ListItem Rcs.MoveFirst For I = 0 To Rcs.RecordCount - 1 Set lis = lst.ListItems.Add(, , Rcs.Fields(0).Value) lis.SubItems(1) = Rcs.Fields(1).Value lis.SubItems(2) = Rcs.Fields(2).Value lis.SubItems(3) = Rcs.Fields(3).Value lis.SubItems(4) = Rcs.Fields(4).Value lis.SubItems(5) = Rcs.Fields(5).Value lis.SubItems(6) = Rcs.Fields(6).Value lis.SubItems(7) = Rcs.Fields(7).Value lis.SubItems(8) = Rcs.Fields(8).Value lis.SubItems(9) = Rcs.Fields(9).Value Rcs.MoveNext Next End Sub TÀI LIỆU THAM KHẢO [1]- “Kỹ xảo lập trình VB6”, Nguyễn Trường Sinh, NXB Lao Động – Xã Hội. [2]- “Phân tích thiết kế hệ thống thông tin quản lý”, Thạc sĩ Đinh Thế Hiển, NXB Thống Kê. [3]- “Những bài thực hành VB6”, VN-GUIDE, NXB Thống Kê. [4]- “Lập trình VB6 ”, Nguyễn Phương Lan, NXB Giáo Dục. [5]- “ Những bài thực hành HTML”, VN-GUIDE, NXB Thống Kê. [6]- “Tự học Microsoft Access”, Nguyễn Văn Hoàng, NXB Thống Kê.

Các file đính kèm theo tài liệu này:

  • doc34807.doc