CÁC YÊU CẦU REQUIREMENTS 2.1 Th ực tế hoạt động của thư viện Thực tế hoạt động của thư viện bao gồm rất nhiều các công việc trong đó các công việc chính như cấp thẻ đọc cho thành viên m
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
SCHOOL OF ELECTRONICS AND TELECOMMUNICATIONS
Trang 2M ỤC LỤC
PH ẦN 1 XÁC ĐỊNH ĐỀ TÀI VÀ KẾ HOẠCH LÀM VIỆC 4
1.1 Xác định đề tài 4
1.2 Xác định tính khả thi 5
PH ẦN 2 CÁC YÊU CẦU (REQUIREMENTS) 6
2.1 Th ực tế hoạt động của thư viện 6
2.2 Yêu c ầu chức năng 7
2.3 Yêu c ầu phi chức năng 8
PH ẦN 3 PHÂN TÍCH (ANALYSIS) 9
3.1 Sơ đồ chức năng (Fuction Diagram) 9
3.2 Sơ đồ luồng dữ liệu (Data Flow Diagram) 10
3.2.1 Data Flow Diagram Level 1 10
3.2.2 Data Flow Diagram Level 2 11
3.2.3 Data Flow Diagram Level 3 12
3.3 Đặc tả tiến trình (PSPECs) 15
3.3.1 Đặc tả tiến trình cho DFD Level 3-1 15
3.3.2 Đặc tả tiến trình cho DFD Level 3-2 16
3.3.3 Đặc tả tiến trình cho DFD Level 3-3 17
3.3.4 Đặc tả tiến trình cho DFD Level 3-4 17
3.3.5 Đặc tả tiến trình cho DFD Level 3-5 18
3.3.6 Đặc tả tiến trình cho DFD Level 3-6 18
3.4 T ừ điển dữ liệu 19
3.5 Mô hình th ực thể liên kết 20
PH ẦN 4 THIẾT KẾ (DESIGN) 22
4.1 Thi ết kế chức năng 22
4.2 Thi ết kế cơ sở dữ liệu 22
4.2.1 Quan h ệ 22
4.2.2 Chu ẩn hóa 23
4.3 Giao di ện 27
4.3.1 Giao di ện chính 27
4.3.2 Qu ản lý bạn đọc 29
4.3.3 Qu ản lý sách 31
Trang 34.3.4 Tìm ki ếm 32
4.3.5 Qu ản lý mượn trả sách 33
4.3.6 Báo cáo 34
4.3.7 Đổi mật khẩu 35
PH ẦN 5 KẾT LUẬN 36
Trang 4PH ẦN 1 XÁC ĐỊNH ĐỀ TÀI VÀ KẾ HOẠCH LÀM VIỆC
1.1 Xác định đề tài
Thư viện là một trong các hệ thống rất phổ biến trong trường học hiện nay Đi cùng với sự phát triển của giáo dục, kinh tế, hệ thống thư viện ngày càng được mở rộng
và hiện đại hơn Rất nhiều thư viện lớn có hệ thống quản lý hiện đại, các máy quét thẻ
từ, mã vạch giúp việc quản lý hoạt động của thư viện trở nên dễ dàng, chính xác hơn
Tuy nhiên việc trang bị những hệ thống như trên là vô cùng tốn kém chỉ khả thi với các thư viện lớn Hầu hết các thư viện nhỏ ở các trường phổ thông hiện nay đều
quản lý sách và các hoạt động trên giấy tờ Điều này có một nhược điểm rất lớn đó là:
Dễ nhầm lẫn, thất lạc tài liệu, các thông tin bị mất do tính hư hỏng nhanh của giấy, chi phí hoạt động tốn kém
Yêu cầu đặt ra là làm sao có một hệ thống quản lý hiệu quản nhất cho các đối tượng nhỏ này Bởi vậy mà chúng em đã chọn đề tài “ xây dựng phần mềm quản lý thư
viện” cho các thư viện nhỏ, không có trang bị máy đọc mã vạch Nhận thấy đây là đề tài hợp lý, vừa có khả năng ứng dụng cao, vừa phù hợp với khả năng của nhóm do đòi hỏi hiểu biết ở mức trung bình, chưa được tiếp xúc với các thiết bị như máy đọc mã
vạch, nhân lực hạn hẹp, thời gian ngắn, nhất là kinh nghiệm non kém
Phần mềm sẽ cung cấp các chức năng cơ bản cần có như quản lý bạn đọc; quản
lý việc mượn, trả sách; quản lý việc nhập sách mới vào kho…Các thao tác được thực
hiện trên giao diện đơn giản, trực quan Tuy chưa hoàn thiện nhưng mong muốn đáp ứng được hoạt động quản lý của các thư viện nhỏ ở các trường phổ thông
Trang 51.2 Xác định tính khả thi
Khả thi về kĩ thuật: do yêu cầu của bài tập chỉ dừng ở mức lập kế hoạch, phân
tích, thiết kế mà chưa tiến đến mức cài đặt nên chưa cần sử dụng đến các ngôn ngữ lập trình Yêu cầu ở đây chính là kiến thức về quản trị cơ sở dữ liệu, nội dung này tuy chưa được học hết nhưng cả nhóm sẽ cố gắng hoàn thiện trong quá trình phát triển Về giao diện sử dụng, nhóm sẽ dùng công cụ visual studio để tạo một giao diện đơn giản đủ để mô tả các chức năng của phần mềm Tuy thời gian ngắn nhưng nhóm vẫn hy vọng có thể hoàn thành cả phần cài đặt
Khả thi về kinh tế: Do đây chỉ là một bài tập lớn, nhằm hoàn thiện các khả năng
học tập của sinh viên nên khả thi về kinh tế không được xét đến
Khả thi về vận hành: Tất cả các thành viên đều có máy tính cá nhân, trong
trường hợp không thể gặp mặt trực tiếp có thể làm việc, báo cáo tiến trình thông qua các công cụ như Email, Skype đảm bảo đúng tiến độ của bài tập Phần mềm
Visual Studio cũng được cài đặt để tạo giao diện cho phần mềm
Khả thi về thời gian: Nhóm dự định sẽ thực hiện trong vòng 9 tuần Hoàn thành trước tuần 12 theo như yêu cầu của bài tập Phân công thời gian và như sau:
25/9 - 22/10 Phân tích hệ thống
20/10 - 11/11 Thiết kế
10/11 - 17/11 Kiểm tra, hoàn thiện báo cáo
Figure 1 B ảng phân công thời gian
Thời gian thực hiện giữa các giai đoạn có thể linh hoạt đan xen lẫn nhau nhằm tiết kiệm
thời gian
Trang 6PH ẦN 2 CÁC YÊU CẦU (REQUIREMENTS)
2.1 Th ực tế hoạt động của thư viện
Thực tế hoạt động của thư viện bao gồm rất nhiều các công việc trong đó các công việc chính như cấp thẻ đọc cho thành viên mới, đọc, mượn sách, nhập sách mới vào kho, đồng thời loại bỏ sách quá cũ không thể sử dụng Chúng ta có thể hình dung quy trình của chúng như sau:
Mỗi bạn đọc khi bắt đầu đăng ký sử dụng thư viện được cấp một thẻ đọc Mỗi thẻ đọc hay nói cách khác là mỗi một bạn đọc có một mã ID riêng
Khi đọc sách Ban đầu bạn đọc tra cứu xem sách mình cần tìm có trong danh
mục sách thư viện có không Nếu có thì xem vị trí của sách trong thư viện rồi tự tìm và đọc
Khi mượn sách Sau khi đọc xong, nếu cảm thấy cần mượn thì đưa sách cho nhân viên thư viện Trong trường hợp chưa đọc thì tìm sách trong danh mục sách của thư viện, sau đó đưa cho nhân viên thư viện thông tin cuốn sách như Mã ID của đầu sách Nhân viên kiểm tra xem sách được yêu cầu có còn không, nếu còn thì yêu cầu bạn đọc xuất trình thẻ thư viện để lấy thông tin cá nhân của bạn đọc Nhân viên thư viện lập phiếu mượn, ghi thông tin cho mượn vào sổ, sau đó trao phiếu mượn cho bạn đọc Trên phiếu mượn ghi thông tin tài liệu, hạn trả tài liệu Bạn đọc nộp tiền đặt cọc và nhận sách
Khi trả sách Bạn đọc đưa sách, thẻ mượn cho nhân viên; nhân viên kiểm tra thông tin sách có trùng với thẻ mượn và sổ không Nếu đúng thì nhận lại sách và trả lại tiền đặt cọc cho bạn đọc Trong trường hợp quá hạn trả sách, bạn đọc phải trả một mức tiền phạt nhất định
Xuất, nhập sách Sau khi nhận sách mới, nhân viên thư viện đánh số ID cho mỗi đầu sách, phân loại sách, thêm sách vào danh mục Trong trường hợp thanh lý sách nhân viên điều chỉnh lại thông tin số lượng sách…
Trang 72.2 Yêu c ầu chức năng
Từ thực tế hoạt động thư viện ở phần trên ta có thể rút ra các yêu cầu chức năng của hệ thống như sau:
Quản lý Tài liệu: Cung cấp khả năng quản lý tài liệu như chỉnh sửa thông tin tài liệu, bổ sung tài liệu mới, xóa tài liệu…
Quản lý bạn đọc: Tương tự như quản lý tài liệu, cho phép cấp thêm thẻ bạn đọc
mới, xóa bạn đọc, chỉnh sửa thông tin bạn đọc
Quản lý hoạt động mượn trả sách: Cho biết thông tin ngày mượn, ngày hết hạn, thông tin các đầu sách mà bạn đọc đã mượn, xóa thông tin mượn khi bạn đọc trả sách
Tìm kiếm: Cho phép bạn đọc và nhân viên tìm kiếm thông tin, vị trí của sách thông qua mã ID sách, loại sách, tác giả…Đối với nhân viên có thêm chức năng tìm kiếm bạn đọc
Báo cáo: Cho phép bạn đọc cũng như nhân viên xem các số liệu hữu ích liên quan đến hoạt động của thư viện như đầu sách được mượn nhiều nhất, bạn đọc
có thể xem đó như là một kênh gợi ý sách hay, các sách tạm thời đã mượn hết, danh sách các bạn đọc phải trả sách do hết hạn…
Hệ thống: Mỗi nhân viên, bạn đọc được cấp một mã số ID và mật khẩu để đăng nhập vào hệ thống Dựa vào loại user mà hệ thống lọc các chức năng cho phù hợp, theo đó nhân viên thư viện sẽ có đầy đủ quyền, còn bạn đọc bị hạn chế một
số chức năng
Trang 82.3 Yêu c ầu phi chức năng
Các yêu cầu trên cũng cũng như dưới đây chính là mục tiêu mà nhóm hướng đến, tuy
có thể không đạt được do hạn chế về trình độ nhưng nhóm vẫn cố gắng hết khả năng của mình
Yêu cầu sản phẩm (product requirements)
Tính hiệu quả (Efficiency requirements): Sử dụng ít tài nguyên nhất có thể, đòi hỏi cấu hình hệ thống thấp, nhưng vẫn đảm bảo hiệu quả; hiệu năng hoạt động cao
Độ tin cậy (Reliability requirements): Bảo đảm tính bảo mật thông tin, ít xảy ra lỗi, có khả năng phục hồi thông tin trong trường hợp lỗi xảy ra
Tính tương thích (Portability requirements) : Không gây xung đột với các phần mềm khác trong hệ thống, có khả năng nâng cấp lên phiên bản cao hơn mà không làm mất dữ liệu đã xây dựng
Tính khả dụng (Usability requirements): Giao diện trực quan, đơn giản,
có khả năng truy cập, sử dụng chung CSDL từ nhiều máy khác nhau trong
một mạng nội bộ
Các yêu cầu khác: Phần mềm sử dụng hệ quản trị CSDL là Microsoft SQL Express hoàn toàn miễn phí nhưng vẫn bảo đảm tính năng sử dụng
Các yêu cầu phi chức năng khác
Thời gian: Hoàn thành trước tuần 12 theo yêu cầu của bài tập
Trang 9PH ẦN 3 PHÂN TÍCH (ANALYSIS)
3.1 Sơ đồ chức năng (Fuction Diagram)
Quản lý thư viện
Xóa bạn đọc
Sửa thông tin bạn đọc
Thêm sách
Xóa sách
Sửa thông tin sách
Mượn sách
Trả sách
Sách mượn nhiều nhất
Sách hết
Bạn đọc đến hạn trả
Tìm sách
Tìm bạn đọc
Figure 2 Sơ đồ chức năng - Function Diagram
Trang 103.2 Sơ đồ luồng dữ liệu (Data Flow Diagram)
3.2.1 Data Flow Diagram Level 1
Quản lý thư viện
Nhân viên
Bạn đọc
(3) (4) (1) Dữ liệu nhân viên thư viện có thể tìm kiếm, sửa đổi
(2) Kết quả tìm kiếm, sửa đổi (3) Dữ liệu bạn đọc có thể tìm kiếm, sửa đổi (4) Kết quả tìm kiếm, sửa đổi
Figure 3 Data FLow Diagram Level 1
Trang 113.2.2 Data Flow Diagram Level 2
1 Quản lý
hệ thống
6 Tìm kiếm
2 Quản lý bạn đọc
3 Quản lý tài liệu
Bạn đọc
Nhân viên
Thông tin cần báo cáo
Kết quả báo cáo
Thông tin cần báo cáo
Kết quả báo cáo
Dữ liệu Kết quả tìm kiếm
Figure 4 Data Flow Diagram Level 2
Trang 123.2.3 Data Flow Diagram Level 3
1.1 Đăng nhập
1.2 Đăng xuất
1.3 Đổi mật khẩu
Thông tin user
2.3 Sửa thông tin
cá nhân
Kho thông tin bạn đọc
Nhân viên
Nhân viên Tình trạng bạn đọc
Dữ liệu thay đổi
Figure 6 Data Flow Diagram Level 3-2
Trang 13Kho thông tin sách
Nhân viên
Nhân viên Tình trạng sách
Dữ liệu thay đổi
Figure 7 Data Flow Diagram Level 3-3
sách
4.2 Trả sách
Nhân viên
Thông tin mượn Trạng thái mượn
Trạng thái trả Thông tin trả
Kho dữ liệu
Dữ liệu thay đổi
Dữ liệu
Dữ liệu
Dữ liệu thay đổi
Figure 8 Data Flow Diagram Level 3-4
Trang 145.1 Sách mượn nhiều
5.3 Bạn đọc đến hạn trả
5.2 Sách hết Bạn đọc
Báo cáo
Figure 9 Data Flow Diagram Level 3-5
6.1 Tìm kiếm sách
6.2 Tìm kiếm bạn đọc
Bạn đọc
Thông tin tìm kiếm
Kết quả tìm kiếm Thông tin tìm kiếm
Trang 153.3 Đặc tả tiến trình (PSPECs)
3.3.1 Đặc tả tiến trình cho DFD Level 3-1
Đăng nhập: Kiểm tra Thông tin đăng nhập (user name, pasword)
Đầu vào: User name, password nhập vào, User name, password lưu trên hệ thống
Đầu ra : Trạng thái đăng nhập, thông báo cho bạn đọc
Tiến trình: Với mỗi người dùng kí hiệu
o UN, PW là tên đăng nhập và mật khẩu nhập vào;
o UNs và PWs là thông tin đăng nhập được lưu trong hệ thống
Thay đổi mật khẩu: Chỉ được thực hiện trong trạng thái T = “Đã đăng nhập”
Đầu vào: Password mới nhập (PWn) Pasword hiện tại nhập vào (PW),
Password lưu trên hệ thống (PWs)
Đầu ra : Thông tin trạng thái mật khẩu (T), thông báo cho người dùng
Trang 16Thông tin User (User name, pasword)
Thông tin là đúng
Trạng thái đã đăng nhập
Báo lỗi SAI
ĐÚNG
Yêu cầu đổi đăng xuất
Trạng thái chưa đăng nhập
Yêu cầu đổi mật khẩu
Thông tin mật khẩu
cũ, mới ĐÚNG
Mật khẩu cũ là
ĐÚNG
SAI Lưu mật khẩu mới ĐÚNG
Figure 11 Đặc tả tiến trình QL Hệ thống DFD Level 3-1
3.3.2 Đặc tả tiến trình cho DFD Level 3-2
Thêm b ạn đọc: Kiểm tra thông tin xem bạn đọc đã tồn tại trong hệ thống chưa
Đầu vào: Thông tin bạn đọc : User name (UN), Password (PW), Họ tên, Ngày sinh…
Đầu ra : Trạng thái bạn đọc, thông báo
Đầu vào: Thông tin User name (UN), password Admin(PW)
Đầu ra : Trạng thái bạn đọc (T), thông báo người dùng
Tiến trình:
Trang 17o Nếu UN trùng với một UNs khác trên hệ thống, và PW==PWs, xóa thông tin bạn đọc, T= “Đã xóa”, đưa ra thông báo xóa thành công cho người dùng
o Nếu UN không trùng với bất kỳ UNs nào hoặc PW!=PWs, đưa ra thông báo lỗi, yêu cầu nhập lại
Đổi thông tin bạn đọc:
Đầu vào: Thông tin bạn đọc : User name (UN)
Đầu ra: Trạng thái bạn đọc, thông báo người dùng
3.3.3 Đặc tả tiến trình cho DFD Level 3-3
Đặc tả tiến trình cho DFD quản lý sách cũng tương tự như DFD quản lý bạn đọc ở
Đầu vào: Thông tin thẻ mượn: Username , Mã sách, Ngày trả
Đầu ra : Trạng thái mượn, tiền phạt, thông báo
Tiến trình:
Trang 18o Nếu thông tin thẻ mượn UN, MS trùng với thông tin của thẻ mượn nào, thì lưu lại ngày trả, Trạng thái mượn T= “Đã trả”, Nếu ngày trả > hạn trả thì đưa ra mức tiền phạt, thông báo trả sách thành công
o Nếu thông tin đầu vào sai, yêu cầu nhập lại, trạng thái mượn vẫn là T =
“Đang mượn”
3.3.5 Đặc tả tiến trình cho DFD Level 3-5
Sau khi có yêu cầu báo cáo, hệ thống đưa ra các báo cáo tương ứng
3.3.6 Đặc tả tiến trình cho DFD Level 3-6
Tìm ki ếm sách: Cho phép cả nhân viên và bạn đọc tìm kiếm Kiểm tra thông tin sách
o Nếu thông tin vào giống toàn bộ, hay một phần với một cuốn sách trong
hệ thống, thì thêm cuốn sách đó vào danh sách hiển thị kết quả tìm kiếm
o Nếu thông tin vào không trùng với cuốn sách nào trong hệ thống thì đưa
ra thông báo T = “Không tìm thấy sách”
Tìm ki ếm bạn đọc: Chỉ cho phép nhân viên tìm kiếm Tiến trình tương tự như tìm
kiếm sách
Thông tin bạn đọc, sách
Thông tin tồn tại Báo lỗi
Hiển thị danh sách liên quan
ĐÚNG
SAI
Figure 12 Đặc tả tiến trình tìm kiếm DFD Level 3-6
Trang 193.4 T ừ điển dữ liệu
Do thư viện nhỏ, chỉ cần một nhân viên điều hành nên không cần quan tâm về dữ liệu
của nhân viên
Tên (Name) Bí danh
Tên sách Không Là Input (QL Sách, Tìm kiếm)
Mã Tác giả Không Là Input (QL Sách, Tìm kiếm)
Tháng + Năm
+ Năm
…
Trang 20Số trang Giá tiền
Viết 1 N
Xuất bản
1 1 N
Figure 13 Mô hình thực thể liên kết
Giải thích: Ở đây liên kết Sách – Bạn đọc là
Mượn
Ở đây tại sao Một quyển sách lại được mượn bởi 0 hoặc N bạn đọc? Có vô lý
Do ở đây ứng với mỗi cuốn sách có cùng tên (Title) thì sẽ có cùng mã ID Trong trường hợp nếu mỗi một quyển đều có một ID khác nhau thì việc nhập vào CSDL là
rất lớn và trùng lặp
Trang 21Vậy nên liên kết này có thể đọc là : Mỗi đầu sách có một ID, một đầu sách có rất nhiều cuốn sách, do vậy một đầu sách được mượn bởi nhiều bạn đọc
Trang 22PH ẦN 4 THIẾT KẾ (DESIGN)
4.1 Thi ết kế chức năng
Nhắc lại sơ đồ chức năng
Quản lý thư viện
Xóa bạn đọc
Sửa thông tin bạn đọc
Thêm sách
Xóa sách
Sửa thông tin sách
Mượn sách
Trả sách
Sách mượn nhiều nhất
Sách hết
Bạn đọc đến hạn trả
Tìm sách
Tìm bạn đọc
Figure 14 Sơ đồ chức năng
4.2 Thi ết kế cơ sở dữ liệu
4.2.1 Quan h ệ
Từ Mô hình thực thể liên kết ta suy ra các quan hệ sau:
Bạn đọc ( Mã BĐ, Tên BD, Ngày sinh, Giới tính, Lớp, SĐT)
Sách (Mã Sách, Tên sách, Mã thể loại*, Mã Tác giả*, Mã NXB*, Năm XB, Số trang, Giá tiền)
Thể loại (Mã TL, Tên thể loại)
Tác giả (Mã Tác giả, Tên tác giả)
Nhà XB (Mã NXB, Tên NXB)
Mượn (Mã BĐ, Mã Sách, Ngày mượn, Hạn trả)
Trả (Mã BĐ, Mã Sách, Ngày trả, Tiền phạt)
Trang 23Do mỗi năm một bạn đọc (học sinh) đều được
chuyển lớp nên mỗi bạn đọc có thể có nhiều lớp
Ràng buộc & Quy tắc nghiệp vụ Phụ thuộc hàm
Mỗi đầu sách có một Mã sách, một tên sách, một
NXB, một năm XB, một số trang và giá tiền Mã sách Tên sách Mã sách Mã NXB
Mã sách Năm XB
Mã sách Số trang
Mã sách Giá tiền Mỗi đầu sách có thể thuộc nhiều thể loại khác
nhau
Mỗi đầu sách có thể được viết bởi nhiều tác giả