Báo cáo phân tích thiết kế hệ thống - Tra cứu và nhập sách trong thư viện
Trang 1MỤC LỤC
I Yêu cầu của đềà bài
II Khảo sát thực tế nghiệp vụ quản lý tra cứu và nhập sách của thư viện
4
II Thiết kế cơ sở dữ liệu
Trang 2NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIÁO VIÊN HƯỚNG DẪN
-
-
-
-
-
-
Hưng Yên : Ngày …… Tháng … Năm ……
Giáo viên hướng dẫn: Nguyễn Minh Quý
Trang 3LỜI MỞ ĐẦU
Máy tính ngày nay ngày càng phát triển và giữ vai trò quan trọng trong cácngành khoa học kĩ thuật cũng như đời sống con người Máy tính ngày nay đa dạngcác thế hệ máy tính đời mới ra đời cho phép sử dụng những phần mềm, ứng dụnghơn và làm nhiều công việc một lúc Nếu sự phát triển mạnh mẽ và ứng dụng sâucủa khoa công nghệ thông tin là một đặc điểm nổi bật của cuộc cách mạng khoahọc và công nghệ, việc đưa tin học vào trong trường phổ thông để cải tiến phươngpháp dạy và học nhằm nâng cao chấp lượng giáo dục.Việc làm này sẽ đáp ứngnhững yêu cầu của thực tiễn trong kỷ nguyên của công nghệ thông tin
Những yếu tố của tin học có thể khai thác để phát triển ở học sinh năng lựcvà trí tuệ, ví dụ như năng lực phân tích, tổng hợp, khái quát hoá và trừu tượnghoá Chúng ta có thể có được năng lực tư duy như vậy là do chúng ta đã được họcmôn “Phân tích và thiết kế hệ thống thông tin” Môn này sẽ giúp chúng ta cóđược những phân tích chính xác trong quá trình xây dựng các phần mềm ứngdụng Phần mềm “Tra cứu và nhập sách trong thư viện” của chúng em ra đời đãđáp ứng phần nào nhu cầu của độc giả và thủ thư trong quá trình tra cứu sách.Nhưng do kinh nghiệm và trình độ còn hạn chúng em chỉ có thể phân tích mộtcách tổng quan về hệ thống tra cứu và nhập sách trong thư viện, môi trường đithực tế còn ít Vì vậy nhóm thực hành chúng em rất mong nhận được sự góp ý đểcho chương trình của chúng em có thể hoàn thiện hơn
Chúng em chân thành cảm ơn sự hướng dẫn tận tình của thày: NguyễnMinh Quý đã giúp chúng em hoàn thành chương trình này
Hưng Yên : Ngày 10 - 5 – 2007Sinh viên thực hiện: Nguyễn Văn Định
Nguyễn Thị Bông Trần Thị Minh Hải
Trang 4PHẦN I
PHÂN TÍCH ĐỀ TÀI
I. Yêu cầu của đề bài
Xây dựng phần mền tra cứu và nhập sách của thư viện
Chương trình có khả năng tra cứu các thông tin về sách và nhập sách Qua đó làmcho công việc quản lý sách trở lên đơn giản hơn
Dùng ngôn ngữ lập trình C# thiết kế môi trường quản lý việc“ tra cứu vànhập sách của thư viện” Yêu cầu đưa ra :
- Thiết kế cơ sở dữ liệu cho chương trình
- Thiết kế chương trình nhập danh mục các loại sách
- Giúp cho thủ thư và độc giả có thể tra cứu sách
- Thống kê và báo cáo sách theo yêu cầu của thủ thư và độc giả
II. Khảo sát thực tế nghiệp vụ quản lý tra cứu và nhập sách của thư
viện
1 Khảo sát thực tế
Bằng phỏng vấn và quan sát thực tế chúng em thấy trong trường việc quảnlý sách chủ yếu bằng thủ công, công việc đăng nhập và lưu trữ vào sổ sách là chủyếu Ngoài ra việc quản lý sách có thể được thực hiện trên môi trường Excel Quaphương thức hoạt động của thư viện ta thấy công việc hàng ngày của thư việnchia làm nhiều giai đoạn, khối lượng công việc lớn xảy ra liên tục Đặc biệt trongviệc mượn và trả sách Để quản lý tốt cần phải sử dụng nhiều biểu mẫu, sổ sách,việc lưu lại các hồ sơ chứng từ được lặp đi lặp lại và kiểm tra qua nhiều khâu sẽrất tốn thời gian và nhân lực, nhưng cũng không tránh khỏi sai sót dữ liệu
Nếu có sai sót thì việc tìm kiếm để khắc phục dữ liệu sẽ rất khó khăn, gâytốn thời gian và mất mát, cũng như không phục vụ tốt cho công việc quản lý thưviện
Vì vậy việc đưa máy tính vào quản lý tại thư viện là rất cần thiết Bằngnhững công cụ phần mềm quản trị cơ sở dữ liệu có thể khắc phục được những
Trang 5nhược điểm nói trên đồng thời nó có thể xử lý dữ liệu một cách chính xác nhanhgọn.
Chính vì vậy cần phải đưa mạng máy tính vào mới có thể giải quyết đượcnhững yếu điểm nêu trên
Thông thường khi bạn mượn sách ở thư viện bạn cần đưa thông tin cho thủthư, dựa vào thông tin của cuốn sách thủ thư có nhiệm vụ tìm sách để đáp ứng nhucầu của bạn Như vậy sẽ mất rất nhiều thời gian và đôi khi bạn không thể mượnđược sách mặc dù trong thư viện vẫn còn sách mà bạn cần
Qua khảo sát cứu thực tế chúng em đã đưa ra giải pháp để khắc phục nhữngnhược điểm trên Vì vậy chúng em đã nghiên cứu và đưa ra phần mềm “Tra cứuvà nhập sách”, nó đã đáp ứng phần nào công việc của thủ thư và độc giả Theođó quá trình tìm kiếm sách sẽ diễn ra như sau : Độc giả khi muốn mượn một cuốnsách sẽ đưa thông tin cho thủ thư ( tên sách, tác giả, nhà xuất bản, thể loại … ), thủthư dựa vào phần mềm này để tra cứu theo những thông tin đó, phần mềm trả rakết quả là cuốn sách đó nằm ở giá sách nào, số lượng còn lại bao nhiêu…
Nếu độïc giả không có nhiều thông tin về cuốn sách thì có thể sử dụng phầnmềm này như là một tiện ích để tra cứu
2 Nghiệp vụ quản lý
Công việc quản lý thư viện chính là việc quản lý kho sách
( quản lý theo tên sách, quản lý theo mã sách, quản lý theo tác giả…) Khi thưviện nhập sách về thủ thư làm nhiệm vụ thống kê sách (xem các loại sách nhậpvề gồm các loại sách gì (sách thuộc những môn nào), của những tác giả nào (tácgiả là tập thể hay cá nhân), của nhà xuất bản nào, năm xuất bản, số trang, khổcỡ, nội dung, tình trạng) Sau công việc thống kê sách thì thủ thư làm công việclưu trữ Dựa vào các thông tin của sách mà thủ thư tìm hiểu ở trên thì mọi nộidung của sách (tên sách, mã sách, tên tác giả, nhà xuất bản, số trang, khổ cỡ, nộidung, tình trạng…) sẽ được lưu trữ vào sổ sách hay máy tính Cuối cùng là thủ thưsẽ sắp xếp sách vào kho đó là công việc lưu trữ sách vào kho, công việc lưu trữsách vào kho sẽ được sắp xếp theo giá, theo tác giả, theo nhà xuất bản, theo tìnhtrạng, theo nội dung…
3 yêu cầu của chương trình
Để đáp ứng được mục tiêu như trên và mong muốn của người sử dụng.Chương trình cần đáp ứng một số yêu cầu sau:
Trang 6- Giao diện đơn giản, dễ sử dụng.
- Các nút lệnh rõ ràng
- Chương trình phù hợp với quản lý thực tế
PHẦN II THIẾT KẾ CHƯƠNG TRÌNH
I Phân tích đề tài
Trong một thư viện dữ liệu bao gồm: Sách
1 Liệt kê các chức năng
Ngành tin học có ứng dụng rất lớn trong cuộc sống của con người, nó đã gópphần rất lớn trong việc quản lý nhân sự trong một tổ chức cơ quan nào đó, hayquản lý một cơ sở sản xuất… Mỗi khi thực hiện tạo ra một chương trình quản lýnào đó mà người ta không thể bỏ qua bước phân tích thiết kế hệ thống Vì trướckhi viết một phần mềm nào đó lập trình viên phải hình thành cấu trúc và phươngán giải quyết chương trình thuận tiện cho người sử dụng Đồng thời giảm thiểu tối
đa sức lao động của con người Đối với chúng em cũng vậy, tuy chưa phải là mộtnhà lập trình viên nhưng cũng không thể bỏ qua các bước cơ sở đó Khi nhận đượcđề tài và để đáp ứng được nhu cầu của đề tài chúng em đã hình thành nên cácchức năng của chương trình:
a. Cập nhật sách
b Tra cứu sách
c. Báo cáo – In ấnViệc quản lý sách sẽ dựa vào các trường như sau:
Tên sách (nhan dề chính và phụ), mã sách (mã phân loại), tên tác giả (tập thể, cánhân), năm xuất bản (NXB), nhà xuất bản (nhaXB), số trang, tóm tắt nội dung,khổ, cỡ, tình trạng sách (sách mới, cũ), từ khoá (theo từng môn học)
2 Biểu đồ phân cấp chức năng
BIỂU ĐỒ PHÂN CẤP CHỨC NĂNG
Trang 7Nhìn vào biểu đồ phân cấp chức năng chúng ta có thể thấyđược toàn bộ côngviệc của chương trình Trong các sơ đồ trên đều có các sơ đồ luồng mức duớiđỉnh.
3 Biểu đồ luồng dữ liệu
Trang 8b Mức đỉnh
Chức năng ngữ cảnh có thể phân rã thành 4 chức năng con là: quản lý ngườidùng, tra cứu, cập nhật và báo cáo in ấn Ngoài những luồng dữ liệu vào/ra chứcnăng ngữ cảnh được bảo toàn, ta thấy luồng thông tin trao đổi giữa các chức nănglà không trực tiếp, mà phải thông qua một kho dữ liệu (sách) Nên ta có sơ đồ sau
Tra cứu và nhập sách Thủ thư
Thơng tin đăng nhập
Thơng tin cập nhật
KQ tra cứu Y/c báo cáo
Y/c tra cứu
Độc giả
KQ báo cáo
KQ tra cứu Y/c báo cáo
Y/c tra cứu
KQ báo cáo
Trang 9c Mức dưới dỉnh
Chức năng này được phân rã thành một chức năng là đăng nhập Chỉ có thủ thưmới có chức năng đăng nhập để có thể cập nhật sách Độc giả thì không cần đăngnhập vẫn có thể tra cứu các thông tin sách
Biểu đồ luồng dữ liệu giải thích chức năng 1 Quản lý người dùng
1
QL người dùng
3 Cập nhật
4 Báo cáo – in ấn Danh sách user
Y/c tra cứu
Y/c tra cứu t/t tra cứu
t/t tra cứu
1.1 Đăng nhập Thủ thư
Danh sách user
T/t đăng nhập
Trang 10Biểu đồ luồng dữ liệu giải thích chức năng 2 Tra cứu
Chức năng tra cứu được phân rã thành 4 chức năng: TC theo mã, TC theo tênsách , TC theo tên tác giả, TC theo NXB
Biểu đồ luồng dữ liệu giải thích chức năng 3 Cập nhật
Chức năng cập nhật cũng được phân rã thành 3 chức năng : Bổ sung, sửa, xoá.Các chức năng này chỉ có thủ thư mới có quyền sử dụng Độc giả không đượcphép sử dụng
Trang 11Biểu đồ luồng dữ liệu giải thích chức năng 4 Báo cáo – in ấn
Chức năng này cũng được phân rã thành 4 chức năng: Báo cáo tất cả sách, báocáo theo ngành, báo cáo theo thể loại, báo cáo theo thời gian nhập Với các chứcnăng này thì cả thủ thư và độc giả đều có quyền sử dụng
3.2 Sửa
3.3 Xoá
Thủ thư t/t cần sửa
t/t cần xoá
3.1 Bổ sung
t/t cần bổ sung
s á c h
Trang 12d Biểu đồ thực thể liên kết
Biểu đồ thể hiện mối quan hệ giữa 3 thực thể đó là thủ thư, độc giả và sách Thựcthể sách có 4 thuộc tính: Mã sách, tên sách, tác giả, NXB, trong đó có thuộc tínhMã sách là thuộc tính khoá
Xét 2 thực thể độc giả và sách ta thấy 1 độc giả có thể tra cứu nhiều sách, và 1sách cũng có thể được tra cứu bởi nhiều độc giả Vậy quan hệ giữa độc giả vàsách là quan hệ nhiều-nhiều
Xét 2 thực thể thủ thư và sách ta thấy 1 thủ thư có thể tra cứu nhiều sách, và 1sách cũng có thể được tra cứu bởi nhiều thủ thư Vậy quan hệ giữa thủ thư và sáchlà quan hệ nhiều-nhiều Quan hệ giữa thủ thư và sách thông qua 2 quan hệ tra cứuvà cập nhật
4.4 Báo cáo theo thời gian nhập
sách Thủ thư
Trang 13II Thiết kế CSDL
1 Các bảng cần có trong cơ sở dữ liệu
Với lưu ý : Các từ được gạch chân đều là khoá chính của bảng
Bảng tác giả:
Bảng này đưa ra thông tin về tác giả của cuốn sách TblTacGia(MaTG,TenTG)
tblTacGia
Bảng này đưa ra các thông tin về sách
TblSach(MaSach, TenSach, SoTrang, MaTG, NamXB, TuKhoa, NXB)
Tra cứu
sách
Mã sách
Tên sách
NXB
Tác giả
Cập nhật
Trang 14Bảng này đưa ra các thông tin về nhà xuất bảntblNXB (MaNXB, TenNXB)
tblNXB
2 Mối quan hệ giữa các bảng
Trang 15a, Mối quan hệ giữa tblSach – tblTheLoai
Ứng với 1 thể loại có nhiều sách khác hoặc giống nhau, nhưng mỗi quyểnsách chỉ tương ứng với 1 thể loại nào đó Vậy mối quan hệ ở đây là một - nhiều
MaLoai MaSach
b, Mối quan hệ giữa tblSach – tblTacGia
Ứng với 1 tác giả sẽ có rất nhiều cuốn sách, nhưng xét mỗi cuốn sách thìchỉ thuộc về một tác giả Vậy mối quan hệ ở đây là mối quan hệ một – nhiều
MaTG MaSach
c, Mối quan hệ giữa tblSach – tblNXB
Ta thấy rằng 1 nhà xuất bản có thể xuất bản rất là nhiều sách khác nhau.Nhưng xét cuốn sách cụ thể thì nó chỉ thuộc vào một nhà xuất bản Vậy mối quanhệ ở đây là mối quan hệ một – nhiều
Nếu thoả mãn thì sẽ trả ra thông tin sách cần tìm
Nếu thơng tin sách đầu vào không thoả mãn thì tra cứu khơng thànhcơng, cần nhập lại thơng tin sách
PHẦN III: Thiết kế giao diện và xử lý form:
1 Giao diện của form tra cứu
Trang 16Hình 1 : Form tra cứu sách1.1 Tra cứu các thông tin theo mã sách
Trong thư viện đồ sộ các thông tin về sách, bạn muốn chọn tùy ý một đầusách theo ý mình thì yêu cầu tra sách để tìm kiếm nhanh Đáp ứng được yêu cầunày phần mềm có phần tra cứu theo mã sách để đáp ứng cho độc giả và thủ thư.Từ menu ngang bạn click chọn tra cứu, form của tra cứu sẽ hiện ra để bạn tìm đầusách mà mình cần, bạn hãy nhập thông tin của mã sách mà bạn cần tìm vào hộptext Sau khi nhập xong thông tin về mã sách bạn click chọn nút Search Khi đó sẽcó một bảng hiện các thông tin liên quan đến cuốn sách mà bạn cần tìm như: Mãsách, tên sách, tên tác giả tên nhà xuất bản… Còn nếu thông tin mà bạn nhập vềmã sách không có thì nó sẽ trả ra kết quả là không tin thấy
1.1 Tra cứu theo tên sách
Đây là cách tra cứu rất tiện và nhanh Độc giả chỉ cần biết tên cuốn sáchmà mình cần tìm là gì và tìm theo tên đó bạn sẽ có được các thông tin về sách màbạn mong muốn Từ menu ngang bạn click chọn tra cứu, form của tra cứu sẽ hiện
ra và bạn hãy nhập vào đó thông tin về tên của cuốn sách vào trong hộp text Sauđó click chọn nút Search Khi đó bạn có thể biết các thông tin về sách bạn cần :Tên sách, nhà xuất bản, tác giả…
Trang 171.3 Tra cứu theo tên tác giả
Nếu bạn quan tâm đến tác giả của cuốn sách mà bạn cần tìm, thì khi tra cứusách trong thư viện bạn hãy tra cứu theo tên tác giả Từ menu ngang bạn clickchọn tra cứu, hộp thoại tra cứu hiện ra, bạn hãy nhập thông tin về tác giả vào hộptext Khi đó đầu sách mà tác giả đó viết sẽ hiện ra và chi tiết hơn bạn có thể biếtthêm các thông tin về: Tên sách, tên tác giả, mã sách, chủ đề… Vì vậy khi vào thưviện bạn hãy nhớ tên tác giả mà mình cần quan tâm
Nhiều khi bạn không nhớ được các thông tin chi tiết về cuốn sách, nếu bạnnhớ được tên của NXB, bạn cũng có thể tra theo tên của NXB Từ menu ngangbạn click chọn tra cứu, khi đó hộp thoại tra cứu hiện ra, bạn hãy nhập thông tin vềNXB và click chọn nút Search, khi đó các thông tin liên quan sẽ hiện ra
1.5 Tra cứu tổng hợp theo điều kiện bất kì
Đôi khi bạn muốn tra sách và đưa ra các điều kiện nào đó: Theo chủ đề, tácgiả, tên sách… thì chương trình có phần tra cứu tổng hợp Từ menu ngang ban clickchọn tra cứu, khi đó hộp thoại tra cứu sẽ hiện ra, bạn hãy nhập vào hộp text cácthông tin như : mã sách, tên NXB, tác giả và các đầu sách mà bạn quan tâm, sauđó sẽ click chọn nút Search, các thông tin liên quan sẽ hiện ra để bạn chọn theo ýmình
Đây là code của form tra cứu:
Trang 18public partial class frmsearch : Form
string tensach = "'%" + txttensach.Text + "%'" ;
string tacgia = "'%" + txttacgia.Text + "%'" ;
string theloai = "'%" + txttheloai.Text + "%'" ;
string nxb = "'%" + txtNXB.Text + "%'" ;
string nam = "'%" + txtnamXB.Text + "%'" ;
string command= "Select * from viewsearch where tensach like
" +tensach+ " and tacgia like " +tacgia+ " and theloai like " +theloai+ " and tenNXB like " +nxb+ " and namxb like " +nam;
SqlDataAdapter da= new SqlDataAdapter(command,Connection.cn);
DataSet ds = new DataSet();
Trang 19Hình 2 : Form nhập thêm sách
Khi chúng ta mới mua sách về mỗi cuốn sách sẽ được cô thủ thư dán cho nómột mã số, nó được gọi là Mã sách Từ menu ngang bạn click chọn nhập thêmsách, khi đó hộp thoại nhập thêm sách sẽ hiện ra, bạn hãy nhập vào hộp text đầyđủ các thông tin liên quan như: Mã sách, mã NXB, mã loại, tên sách, tác giả, năm
xb, số lượng Sau khi nhập xong thông tin và bạn click OK Vậy là việc thêm sáchđã hoàn tất
Đây là code của form thêm sách
string command = "insert into tblsach values('" + txtmasach.Text +
"','" + txtmanxb.Text + "','" + txtmaloai.Text + "','" + txttensach.Text + "','"
+ txttacgia.Text + "','" + txtnamxb.Text + "'," + txtsotrang.Text + ")" ;
SqlCommand cm = new SqlCommand(command,Connection.cn);
try
{
cm.ExecuteNonQuery();
thongb.Text = "Du lieu duoc cap nhat thanh cong !" ;
label.Text = "Ma sach :" +txtmasach.Text+ ", ma NXB :" +txtmanxb.Text+ ", ma loai :" +txtmaloai.Text+ ", ten sach :" +txttensach.Text+ ", tac gia :" +txttacgia.Text+ ", nam
XB :" +txtnamxb.Text+ ", so luong:" +txtsotrang.Text;