Phát biểu bài toán Để dễ dàng trong việc quản lý thì mỗi sinh viên muốn mượn sách tại thư viện thì cầnphải gặp người quản lý để đăng ký cho mình thẻ mượn sách của thư viện, thời gianduy
Trang 1Sinh viên thực hiện Khóa Lớp Mã SV
Phạm Lê Ngọc Sơn K10 IT1 197480201201
Bắc Ninh , tháng … năm 2022
Trang 2skkndownloadbychat@gmail.com
Trang 3DANH MỤC VÀ BẢNG BIỂU SƠ ĐỒ
1 Danh mục
Số hiệu Tên Trang
Trang 4Mục lục
Trang 5Kết quả 30
Nhận xét của giáo viên
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 6có một yêu cầu đặt ra cho vấn đề này là cần thiết một phần mềm ứng dụng có thể giảiquyết được bài toán làm thế nào để có thể dễ dàng hơn trong việc quản lý thư viện màlại tiết kiệm được dữ liệu Cũng chính vì lí do này mà em có một ý tưởng đó là lập nênmột phần mềm:” Quản lý sinh viên đăng ký thẻ mượn sách thư viện theo tháng “để cóthể khắc phục được những nhược điểm trên.
2 Phát biểu bài toán
Để dễ dàng trong việc quản lý thì mỗi sinh viên muốn mượn sách tại thư viện thì cầnphải gặp người quản lý để đăng ký cho mình thẻ mượn sách của thư viện, thời gianduy trì thẻ do sinh viên tự chọn (ít nhất là 1 tháng – nhiều nhất là 1 năm) Thẻ do thưviện cung cấp bao gồm mã thẻ thư viện, tên chủ sở hữu, ngày hết hạn Khi dùng mãthẻ để tra có thể biết được số thông tin đăng ký của sinh viên, sách đã mượn, ngàyđăng ký thẻ, ngày hết hạn thẻ
3 Yêu cầu của hệ thống
Để đáp ứng được nhu cầu trên của bài toán thì ứng dụng được tạo ra cần đáp ứngđược:
- Tạo cho sinh viên một tài khoản lưu trữ thông tin cá nhân cần thiết để có thể dễdàng quản lý
- Truy – Xuất thông tin sinh viên đăng ký một các nhanh chóng
- Có thể sửa chữa, lưu thông tin sinh viên nhanh chóng, không giới hạn
- Tránh trùng lặp gây lãng phí data
Trang 7- Chi phí quản lý thấp
4 Tính hữu dụng của bài toán
- Nắm bắt được thông tin của sinh viên đăng ký
- Quản lý số lượng sách trong thư viện, sách đã cho mượn
- Quản lý được ngày đăng ký, ngày hết hạn
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
1 Các phần mềm hỗ trợ viết chương trình
Để tạo ra được một phần mềm quản lý sinh viên đăng ký thẻ mượn sách theotháng cần sử dụng những phần mềm lập trình như: my SQL Server, Spyder,Visual Studio
a My SQL Server
MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (RelationalDatabase Management System, viết tắt là RDBMS) hoạt động theo mô hìnhclient-server RDBMS là một phần mềm hay dịch vụ dùng để tạo và quản lýcác cơ sở dữ liệu (Database) theo hình thức quản lý các mối liên hệ giữachúng
MySQL là một trong số các phần mềm RDBMS RDBMS và MySQLthường được cho là một vì độ phổ biến quá lớn của MySQL Các ứng dụngweb lớn nhất như Facebook, Twitter, YouTube, Google, và Yahoo! đều dùngMySQL cho mục đích lưu trữ dữ liệu Kể cả khi ban đầu nó chỉ được dùngrất hạn chế nhưng giờ nó đã tương thích với nhiều hạ tầng máy tính quantrọng như Linux, macOS, Microsoft Windows, và Ubuntu
b Spyder
Spyder là một môi trường phát triển Python mã nguồn mở được tối ưu hóacho các bài toán liên quan đến khoa học dữ liệu Spyder đi kèm với phânphối quản lý gói Anaconda Spyder là công cụ thường dùng của các nhà khoahọc dữ liệu sử dụng Python Spyder tích hợp tốt với các thư viện khoa học dữliệu Python phổ biến như SciPy, NumPy và Matplotlib
Spyder có hầu hết các tính năng của một “IDE phổ biến”, chẳng hạn nhưtrình soạn thảo mã với chức năng đánh dấu cú pháp mạnh mẽ, tự động hoànthành mã và thậm chí là trình duyệt tài liệu được tích hợp
Một tính năng đặc biệt không có trong các môi trường phát triển Python khác
là tính năng “khám phá biến” của Spyder cho phép hiển thị dữ liệu bằng cách
sử dụng bố cục bảng ngay bên trong IDE Điều này làm nó nó trông khá gọngàng Nếu bạn thường xuyên làm các bài toán khoa học dữ liệu làm việc
Trang 8Visual studio là một trong những công cụ hỗ trợ lập trình website rất nổi
tiếng nhất hiện nay của Microsoft và chưa có một phần mềm nào có thể thaythế được nó Visual Studio được viết bằng 2 ngôn ngữ đó chính là C# vàVB+ Đây là 2 ngôn ngữ lập trình giúp người dùng có thể lập trình được hệthống một các dễ dàng và nhanh chóng nhất thông qua Visual Studio
Visual Studio là một phần mềm lập trình hệ thống được sản xuất trực tiếp
từ Microsoft Từ khi ra đời đến nay, Visual Studio đã có rất nhiều các phiênbản sử dụng khác nhau Điều đó, giúp cho người dùng có thể lựa chọn đượcphiên bản tương thích với dòng máy của mình cũng như cấu hình sử dụngphù hợp nhất
Bên cạnh đó, Visual Studio còn cho phép người dùng có thể tự chọn lựa giaodiện chính cho máy của mình tùy thuộc vào nhu cầu sử dụng
Phần mềm này tạo nên window form, tạo nên giao diện chính cho ứng dụng
Trang 9CHƯƠNG 3: ĐẶC TẢ YÊU CẦU
1 Đặc tả trang thái máy hữu hạn
Để sử dụng được phần mềm quản lý thì trước tiên ta cần mở phần mềm lên, saukhi đã mở Phần mềm sẽ hiện lên một giao diện đăng nhập với các ô để nhập tài khoản
và mật khẩu, một nút đăng nhập để vào được phần mềm Ngoài ra có các chức năngcon như báo cáo, quên mật khẩu, thoát giúp cho người dùng có thể thuận tiện hơntrong việc sử dụng Khi người dùng điền tài khoản và mật khẩu rồi nhấn đăng nhập thìphần mềm hiểu rằng người dùng đang đưa ra yêu cầu đăng nhập, nó sẽ kiểm tra trong
cơ sở dữ liệu người dùng đã đăng ký có tồn tại tài khoản mật khẩu vừa ghi hay không:
- Nếu tồn tại tài khoản mật khẩu trên thì sẽ đưa người dùng vào giao diện chínhquản lý, tiếp theo người dùng sẽ tiến hành them sửa xóa tìm kiếm theo nhu cầu.Việc của phần mềm là theo dõi các tương tác của người dùng rồi kiểm tra cơ sở
dữ liệu, truy xuất dữ liệu theo yêu cầu
- Nếu tồn tại tài khoản nhưng không tồn tại mật khẩu, phần mềm sẽ đưa ra thôngbáo mật khẩu sai đưa ra cho người dùng lựa chọn đăng nhập lại hoặc là quênmật khẩu
- Nếu không tồn tại tài khoản và mật khẩu, phần mềm đưa ra cho người dùngthông báo tài khoản của bạn không tồn tại và tiếp theo sẽ đưa ra cho ngườidùng 2 lựa chọn đăng nhập lại, hoặc tạo tài khoản mới
Mục đích của giai đoạn phân tích là xác định rõ các yêu cầu của phần mềm cần pháttriển Tài liệu yêu cầu nên dễ hiểu với người dùng, đồng thời phải chặt chẽ để làm cơ
sở cho hợp đồng và để cho người phát triển dựa vào đó để xây dựng phần mềm Do đóyêu cầu thường được mô tả ở nhiều mức chi tiết khác nhau phục vụ cho các đối tượngđọc khác nhau
Biểu đồ luồng dữ liệu có thể được dùng để biểu diễn cho một hệ thống hay phần mềm
ở bất kì mức trừu tượng nào Trong thực tế, DFD có thể được phân hoạch thành nhiềumức biểu diễn cho chi tiết chức năng và luồng thông tin ngày càng tăng Do đóphương pháp dùng DFD còn được gọi là phân tích có cấu trúc Một DFD mức 0, cũngcòn được gọi là biểu đồ nền tảng hay biẻu đồ ngữ cảnh hệ thống, biểu diễn cho toàn
bộ phần tử phần mềm như một hình tròn với dữ liệu vào và ra được chỉ ra bởi các mũitên tới và đi tương ứng Một DFD mức 1 cụ thể hóa của DFD mức 0 và có thể chứa
Trang 10nhiều hình tròn (chức năng) với các mũi tên (luồng dữ liệu) nối lẫn nhau Mỗi mộttrong các tiến trình được biểu diễn ở mức 1 đều là chức năng con của toàn bộ hệ thốngđược mô tả trong biểu đồ ngữ cảnh [1]
Hình 1: Biểu đồ DFD mức 0
Hình 2: Biểu đồ DFD mức 1
Trang 113 Đặc tả trước – sau
Các tài liệu yêu cầu cần được thẩm định để đảm bảo thỏa mãn nhu cầu ngườidùng Đây là công việc bắt buộc để đảm bảo chất lượng phần mềm Đôi khi việcxác định đầy đủ yêu cầu trước khi phát triển hệ thống là không thực tế và khi đóviệc xây dựng các bản mẫu để nắm bắt yêu cầu là cần thiết
Hình 3: Biểu đồ hình thành các yêu cầu
Sau đó người phân tích phải định ra một vài giải pháp có thể (sơ bộ) và so sánhcân nhắc các điểm tốt và không tốt của các giải pháp đó (như tính năng của hệthống, giá cả cài đặt, bảo trì, việc đào tạo người sử dụng ) Đó là việc tìm ramột điểm cân bằng giữa nhu cầu và khả năng đáp ứng Mọi dự án đều khả thi khinguồn tài nguyên vô hạn và thời gian vô hạn Nhưng việc xây dựng hệ thống lạiphải làm với sự hạn hẹp về tài nguyên và khó (nếu không phải là không hiệnthực) bảo đảm đúng ngày bàn giao Phân tích khả thi và rủi ro có liên quan vớinhau theo nhiều cách Nếu rủi ro của dự án là lớn thì tính khả thi của việc chế tạophần mềm có chất lượng sẽ bị giảm đi [2]
4 Đặc tả Z
a Giới thiệu
- Được đề xuất bởi Jean René ở đại học Oxford
- Ngôn ngữ đặc tả hình thức được sử dụng rộng dãi nhất
- Dựa trên lý thuyết tập hợp
- Ký hiệu toán học
Trang 12- Sử dụng các sơ đồ (schema)
- Gồm 4 thành phần cơ bản
+ Các kiểu dữ liệu (Types)
+ Các sơ đồ trạng thái (state schemas)
+ Các sơ đồ thao tác (Operation schemas)
+ Các toán tử sơ đồ (Schema operations)
• ví dụ: P {a, b} = {{}, {a}, {b}, {a, b}}
một số kiểu dữ liệu cơ bản đã được định
Trang 14▪ các thao tác trên các biến
▪ biến trạng thái có thể có các bất biến
• điều kiện mà luôn đúng, biểu diễn bởi các vị từ
Khởi gán biến
Khai báo thao tác trên biến
▪ kí hiệu ∆ biểu diễn biến trạng thái bị thay đổi bởi thao tác
▪ kí hiệu (dấu nháy đơn) biểu diễn giá trị mới của biến
Thao tác có thể có các tham số vào và ra
▪ tên tham số vào kết thúc bởi kí tự “?”
▪ tên tham số ra kết thúc bởi kí tự “!”
e đặc tả hệ thống ghi nhận các nhân viên vào/ra hệ thống quản lý
▪ Kiểu dữ liệu [Staff] là kiểu cơ bản mới của hệ thống
▪ Trạng thái của hệ thống bao gồm
• tập hợp các người sử dụng hệ thống user
• tập hợp các nhân viên đang vào in
• tập hợp các nhân viên đang ra out
Trang 15▪ Đặc tả thao tác ghi nhận một nhân viên vào
▪ Đặc tả thao tác ghi nhận một nhân viên ra
▪ Đặc tả thao tác kiểm tra một nhân viên vào hay ra
• Thao tác này cho kết quả là phần tử của kiểu QueryReply ==is_in | is_out
• đặc tả thao tác
▪ Khởi tạo hệ thống
[3]
Trang 16CHƯƠNG 4: THIẾT KẾ HỆ THỐNG
1 Mô hình thực thể use case
Hình 4: Biểu đồ use case tổng quan
Mô tả các use case
- Use case Người quản lý: trung gian để sinh viên tương tác với hệ thống cụ thể
là khi sinh viên đăng ký thẻ mượn sách thì người quản lý có nhiệm vụ nhập các
dữ liệu của sinh viên đó lên hệ thống,
- Use case sinh viên: là người mượn sách, muốn mượn được sách thì sinh viêncần phải đăng ký với người quản lý
- Use case hệ thống: là người quản lý toàn bộ thông tin của sinh viên đăng ký thẻthư viện, thông tin của người quản lý
- Use case sách: use case này giúp sinh viên biết được thư viện có những loạisách nào và loại sachs mình tìm kiếm có còn không và số lượng còn là baonhiêu
- Use case thẻ mượn sách: giúp sinh viên có thể mượn sách thư viện cũng như cóquyền truy cập vào hệ thống để xem thông tin sách cũng như toàn bộ thông tinđăng ký ở thẻ
Trang 17Biểu đồ use case chức năng quản lý sinh viên
Hình 5: Biểu đồ use case chức năng quản lý sinh viên
Biểu đồ use case chức năng quản lý sách
Hình 6: Biểu đồ use case chức năng quản lý sách
Trang 182 Thiết kế cơ sở dữ liệu
a Chi tiết các bảng trong cơ sở dữ liệu
Bảng 1 Sinh Viên: Bảng Sinh Viên giúp người quản lý nắm bắt được
thông tin của sinh viên để phục vụ nhập dữ liệu lên hệ thống cũng như việcquản lý sinh viên hiệu quả hơn
Tên thuộc tính Diễn giải Kiểu dữ liệu Độ dài Null Khoá
TenSV Tên sinh viên Nvarchar 30
Bảng 2 Sách: Bảng Sách giúp người quản lý nhập – xuất sách, giúp người
quản lý biết được tổng số sách và sách hiện còn là bao nhiêu
Tên thuộc tính Diễn giải Kiểu dữ liệu Độ dài Null khoá
Bảng 3 Người Quản Lý: Bảng Người Quản Lý giúp người quản lý biết được
lịch làm việc của mình
Tên thuộc tính Diễn giải Kiểu dữ liệu Độ dài null khoá
Trang 19MaNQL Mã người quản lý Char 15 Khoá chính TenNQL Tên người quản lý Nvarchar 30
Calamviec Ca làm việc Nvarchar 10
Ngay Ngày làm việc datetime
Bảng 4 Hệ thống: Sau khi sinh viên đăng ký thẻ thì mọi thông tin của sinh viên
đó sẽ được nhập lên hệ thống và sẽ được lưu trữ để phục vụ cho việc quản lý
Tên thuộc tính Diễn giải Kiểu dữ liệu Độ dài Null khoá
TenSV Tên sinh viên Nvarchar 30
Ngaydangky Ngày đăng ký Datetime
Ngayhethan Ngày hết hạn Datetime
MaNQL Mã người quản lý Char 20 Khoá ngoại
b Mô hình quan hệ giữa các bảng
Đây là mô hình liên kết các khoá giữa các bảng trong 1 CSDL với nhau
MaSV là khoá chính ở bảng SinhVien và là khoá phụ ở bảng HeThong
MaSach là khoá chính ở bảng Sach và là khoá phụ ở bảng HeThong
MaNQL là khoá chính ở bảng NguoiQuanLy và là khoá phụ ở bảng HeThongMaThe là khoá chính trong bảng HeThong
Các khoá dược liên kết với nhau để dữ liệu ở bảng này thay đổi cũng sẽ dẫnđến việc thay đổi dữ liệu ở bảng khác và ngược lại
Trang 20Hình 7: Mối quan hệ giữa các bảng
Trang 21c Giao diện phần mềm quản lý
- Tại giao diện quản lý này người quản lý cần đăng nhập tài khoản mật khẩuđược cung cấp từ trước, mỗi người sẽ được cung cấp một tài khoản và mậtkhẩu riêng và không có quyền được tạo bất kì một tài khoản nào khác Ngoài ra
để hỗ trợ người quản lý thì tại giao diện chính sẽ có một số chức năng khácnhư: Quên mật khẩu, Báo cáo lỗi và Thoát
Hình 8: Giao diện đăng nhập
Khi đăng nhập sai sẽ hiện ra một bảng thông báo yêu cầu đăng nhập lại :
Hình 9: Giao diện thông báo
Trang 22Hình 10: Giao diện quản lý sinh viên
Trang 25+ Sửa:
Tránh trường hợp người quản lý sai sót đối với thông tin của sinh viên thì phần mềm
có chức năng sửa thông tin của sinh viên
VD: muốn đổi tên của sinh viên Phạm Văn Hùng thành Phạm Văn Hùng Bá ta clickvào tên sinh viên cần đổi rồi thực hiện việc xoá và thêm tên mới
Trang 26+ Tìm Kiếm:
Chức năng này giúp người quản lý tìm được thông tin sinh viên một cách nhanh nhấtthông qua mã sinh viên
Trang 28- Bảng Sách
Trang 29Tại đây người quản lý có thể biết được số lượng sách tổng trong thư viện, sáchhiện còn trong kho là bao nhiêu để cung cấp thông tin sách cho sinh viên (nếucần) Ngoài ra nó còn giúp việc nhập xuất sách tránh bị sai sót, điển hình nhưviệc sinh viên hỏi bất kì một cuốn sách nào thì người quản lý có thể biết chínhxác được thông tin của loại sách đó và biết được có hay không, còn hay đã hếttrong thư viện
Hình 11: Giao diện quản lý sách
Trang 30- Bảng Người Quản Lý
Bảng người quản lý giúp người quản lý có thể biết được ca làm việc, ngày làmviệc của chính mình và đồng nghiệp, từ đó có thể phân công nhau tốt hơn trongcông việc
Hình 12: giao diện người quản lý
Kết quả
Sau khi thực hiện câu lệnhselect*fromtừng bảng ta được:
- Bảng sinh viên
Trang 31- Bảng sách
- Bảng hệ thống
- Bảng người quản lý
Trang 32Tổng kết
● Đề tài “Quản lý sinh viên đăng ký thẻ mượn sách theo tháng “được lấy cảmhứng cũng như dự án “Quản lý quán café “của em ở năm thứ 2 đại học Tuynhiên chương trình “Quản lý thư viện trường Đại Học Công Nghệ Đông Á
“này có nhiều tính năng hơn, dễ sử dụng, giao diện đẹp mắt, hoàn thiện hơn sovới dự án Quản lý quán café
● Kết quả của đề tài
Sau hơn 3 tháng học tập và làm việc được sự giúp đỡ của cô cũng như các bạntrong lớp em đã hoàn thành tương đối hoàn chỉnh chương trình “Quản lý thưviện trường đại học Công Nghệ Đông Á” của mình Tuy nhiên tự bản thân emđánh giá chương trình mình làm ra còn chưa được hoàn chỉnh chưa được hữudụng, độ bảo mật còn chưa cao Tuy nhiên em sẽ cố gắng hơn trong những đềtài tiếp theo của mình
● Em đã làm ra được một chương trình giúp cho người quản lý thư viện dễ dànghơn trong việc quản lý sinh viên cũng như tránh trùng lặp dữ liệu trong quản lý.Thông tin của sinh viên dễ dàng được thêm – xoá – sửa – tìm kiếm để tiện choviệc quản lý Đây là một chương trình tuy chưa được hoàn hảo nhưng khá hữuích cho những người quản lý và đặc biệt hơn cả đó là cả một thành quả, mộtchặng đường mà em cùng thẩy và các bạn từng bước vạch ra hướng đi cũngnhư có những phương án tốt nhất để có được một chương trình như ngày hômnay