BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á BÀI TẬP LỚN HỌC PHẦN ( Lập Trình Hướng Đối Tượng ) TÊN BÀI TẬP LỚN Xây Dựng Chương Trình Quản Lý Thư Viện Sinh viên thực hiên Nhóm 1 Lớp CNTT 3 K.
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á
BÀI TẬP LỚN
HỌC PHẦN: ( Lập Trình Hướng Đối Tượng )
TÊN BÀI TẬP LỚN:
Xây Dựng Chương Trình Quản Lý Thư Viện
Sinh viên thực hiên : Nhóm 1
Bắc Ninh, … tháng 10 năm 2021
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
NHÓM 1
TÊN BÀI TẬP LỚN:
Xây Dựng Chương Trình Quản Lý Thư Viện
NHÓM 1 Khóa: K11
CÁN BỘ CHẤM 1
(Ký và ghi rõ họ tên)
CÁN BỘ CHẤM 2
(Ký và ghi rõ họ tên)
Trang 3DANH MỤC THANH VIÊN
Sinh Viên Thực Hiện Khóa Lớp Mã Sinh Viên
Giáo viên hướng dẫn xác nhận
Trang 4MỤC LỤC
LỜI NÓI ĐẦU 1
I Kiến Thức Nền Tảng 3
1 Lập Trình Hướng Đối Tượng 3
1.1 Đối tượng ( Object ): 3
1.2 Tính trìu Tượng ( abstraction ): 3
1.3 Tính Đóng Gói ( encapsulation ) : 4
1.4 Tính Đa Hình ( polymorphism ): 4
1.5 Tính Kế Thừa ( inheritance ): 4
2 Cơ Sở Dữ Liệu ( SQL Server ) 5
2.1 Cơ Sở Dữ Liệu: 5
2.2 SQL: 5
2.3 SQL Server: 5
3 Phân Tích Và Thiết Kế Bài Toán 6
1 Phân Tích Bài Toán 6
1.1 Lý do chọn đề tài 6
1.2 Yêu cầu của chương trình 6
2 Thiết Kế Bài Toán 7
5.1 Mô Hình Class 7
5.2 Chức năng của chương trình 8
2.2 Ưu điểm của chương trình 12
2.3 Các bảng trong cơ sở dữ liệu: 13
4 Kết Luận 15
Trang 6Danh Mục Hình Ảnh
Hình 1:sơ đồ class 7
Hình 2:sơ đồ chức năng 8
Hình 3:Chức năng login của chương trình 9
Hình 4: Chức năng đăng kí tài khoản admin mới 10
Hình 5:các menu lựa chọn chức năng của trương trình 10
Hình 6:Thông tin sách 11
Hình 7:Thông tin mượn trả 11
Hình 8:Thông tin bạn đọc 12
Hình 9:Table Account database 13
Hình 10:Table mượn trả database 13
Hình 11:Table Sách database 14
Hình 12:Table bạn đọc database 14
Trang 7LỜI NÓI ĐẦU
Hiện nay, sự phát triển của Công Nghệ Thông Tin ở nước ta đang bước vào thời kì mới với việc triển khai rộng rãi các ứng dụng tin học cho các tổ chức và xã hội Không ai còn nghi ngờ gì về vai trò của Công Nghệ Thông Tin trong đời sống, trong khoa học kĩ thuật, kinh doanh, cũng như trong mọi mặt của xã hội, ngay cả đối với mỗi
cá nhân
Tuy nhiên trong thời điểm hiện tại, Công Nghệ Thông Tin mới chỉ bước đầu được ứng dụng trong đời sống nói chung và giáo dục nói riêng Việc sử dụng tài liệu điện tử trong dạy và học chưa thực sự phổ biến, chưa mang lại hiệu quả cao thì những quyển sách, giáo trình … Vẫn có vai trò vô cùng quan trọng Đối với các trường đại học , việc quản lý một hệ thống thư viện với hàng ngàn đầu sách và quản lý việc mượn-trả sách của hàng ngàn sinh viên là vô cùng phức tạp Vì vậy nhóm chúng em đã nghiên cứu đề tài:
“ Xây dựng chương trình quản lý thư viện “
Chương trình được viết bằng ngôn ngữ java với cơ sở dữ liệu SQL Sever
2
Trang 8I Kiến Thức Nền Tảng
- Lập trình hướng đối tượng (object oriented programming- OOP), hay còn gọi là lập trình định hướng đối tượng, là kĩ thuật lập trình hỗ trợ công nghệ đối tượng OOP được xem là giúp tăng năng suất, đơn giản hóa độ phức tạp khi bảo trì cũng như mở rộng phần mềm bằng cách cho phép lập trình viên tập trung vào các đối tượng phần mềm ở bậc cao hơn Ngoài ra, nhiều người còn cho rằng OOP dễ tiếp thu hơn cho những người mới học về lập trình hơn là các phương pháp trước đó
- Một số khái niệm:
1.1 Đối tượng ( Object ):
Các dữ liệu và chỉ thị được kết hợp vào 1 đơn vị đầy đủ tạo nên 1 đối tượng Đơn vị này tương đương với 1 chương trình con và vì thế các đối tượng
sẽ được chia thanh 2 bộ phận chính: Phần các phương thức ( method ) và phần các thuộc tính ( attribute ).
Các phương thức của đối tượng là các hàm và các thuộc tính của nó là
các biến, các tham số hay hằng nội tại của một đối tượng Các phương thức là phương tiện để sử dụng một đối tượng trong khi các thuộc tính sẽ mô tả đối
tượng có những tính chất gì Các phương thức và các thuộc tính thường gắn chặt với thực tế các đặc tính và sử dụng của đối tượng Các đối tượng thường được
trìu tượng hóa qua việc định nghĩa các lớp class
- Lập trình hướng đối tượng là một phương pháp lập trình có 1 số tính chất chính sau:
1.2 Tính trìu Tượng ( abstraction ):
Trang 9Đây là khả năng của chương trình bỏ qua hay không chú ý đến một số khía cạnh của thông tin mà nó đang trực tiếp làm việc lên, nghĩa là nó có khả năng tập trung vào những cốt lõi cần thiết Mỗi đối tượng phục vụ như là một
“động tử” có thể hoàn tất các công việc một cách nội bộ , báo cáo, thay đổi trạng thái của nó và liên lạc với các đối tượng khác mà không cần cho biết làm cách
nào đối tượng tiến hanh được các thao tác Tính chất này được gọi là sự trìu
tượng của dữ liệu.
Tính trừu tượng cho phép các lập trình viên loại bỏ tính chất phức tạp của đối tượng bằng cách chỉ đưa ra các thuộc tính và phương thức cần thiết của đối tượng trong lập trình, cải thiện khả năng bảo trì của hệ thống
Tính trừu tượng giúp chúng ta tập trung vào những cốt lõi cần thiết của đối tượng thay vì quan tâm đến cách nó thực hiện
Tính trừu tượng cung cấp nhiều tính năng mở rộng khi sử dụng kết hợp với tính
đa hình và kế thừa trong lập trình hướng đối tượng
1.3 Tính Đóng Gói ( encapsulation ) :
Tính đóng gói là tính chất không cho phép người dùng hay đối tượng khác thay đổi dữ liệu thành viên của đối tượng nội tại Chỉ có các hàm thành viên của đối tượng đó mới có quyền thay đổi trạng thái nội tại của nó mà thôi Các đối tượng khác muốn thay đổi thuộc tính thành viên của đối tượng nội tại, thì chúng cần truyền thông điệp cho đối tượng, và việc quyết định thay đổi hay không vẫn do đối tượng nội tại quyết định
1.4 Tính Đa Hình ( polymorphism ):
Tính đa hình (Polymorphism) được hiểu là trong từng trường hợp, hoàn
cảnh khác nhau thì đối tượng có hình thái khác nhau tùy thuộc vào từng ngữ cảnh Đối tượng có tính đa hình được xem như một đối tượng đặc biệt vì có lúc đối tượng này trở thành một đối tượng khác và cũng có lúc đối tượng này trở
thành một đối tượng khác nữa (tùy vào từng hoàn cảnh).
4
Trang 101.5 Tính Kế Thừa ( inheritance ):
Tính kế thừa trong lập trình hướng đối tượng thể hiện mối quan hệ cha-con giữa các lớp (classes) với nhau và nhờ vào mối quan hệ này cho phép lớp con (child class) thừa hưởng những đặc tính của lớp cha (parent class), các đặc tính này có thể bao gồm thuộc tính (attributes) hoặc các phương thức (methods) được định nghĩa trong lớp cha
2.1 Cơ Sở Dữ Liệu: Cơ sở dữ liệu (Database) là một tập hợp các dữ liệu có
tổ chức, thường được lưu trữ và truy cập điện tử từ hệ thống máy tính Khi cơ sở
dữ liệu phức tạp hơn, chúng thường được phát triển bằng cách sử dụng các kỹ thuật thiết kế và mô hình hóa chính thức
2.2 SQL: là ngôn ngữ phi thủ tục, không yêu cầu cách thức truy cập cơ sở dữ
liệu như thế nào Tất cả các thông báo của SQL rất dễ dàng sử dụng và ít mắc lỗi
2.3 SQL Server: là một hệ quản trị cơ sở dữ liệu quan hệ (Relational
Database Management System (RDBMS) ) sử dụng câu lệnh SQL
(Transact-SQL) để trao đổi dữ liệu giữa máy Client và máy cài SQL Server.
Trang 11II Phân Tích Và Thiết Kế Bài Toán
1 Phân Tích Bài Toán
1.1 Lý do chọn đề tài
Trong quá trình học tập chúng em đã rất nhiều lần đến thư viện của trường để đọc sách cũng như tìm các tài liệu liên quan đến các môn học của mình Nhưng việc tìm kiếm thứ mình cần trở nên khó khăn hơn khi số lượng sách có trong thư viện ngày càng nhiều, và bạn đọc cũng ngày càng đông khiến cho việc quản lý ngày càng trở nên khó
khăn Vì vậy nhóm chúng em đã nảy ra ý tưởng thiết kế Chương trinh quản lý thư
viện với mong muốn sẽ giúp cho việc quản lý thư viện trở nên dễ dàng và khoa học
hơn
Chương trình được xây dựng dựa trên ngôn ngữ java và sử dụng cơ sở dữ liệu ( SQL Server )
1.2 Yêu cầu của chương trình
Xây dựng chương trình Quản Lý Thư Viện đơn giản với nhiệm vụ quản lý sách có trong thư viện cũng như quản lý các bạn đọc
6
Trang 122 Thiết Kế Bài Toán
II.1 Mô Hình Class
Hình 1:sơ đồ class
Trang 13II.2 Chức năng của chương trình
Hình 2:sơ đồ chức năng
- Quản Lý Thông Tin Của Các Admin
+ Đăng nhập tài khoản của admin
+ Cho phép đăng kí thêm tài khoản admin
+ Thêm, sửa, xóa thông tin của admin
- Quản Lý Sách
+ Quản lý các thông tin liên quan đến sách như: mã sách, tên sách, thể loại, ngôn ngữ, tác giả, nhà xuất bản, năm xuất bản, sách nằm ở kệ số…
+ Quản lý chi tiết về sách như số lượng có trong thư viện, số lượng còn lại… + Cho phép tìm kiếm thông tin sách theo mã sách, giúp việc tìm kiếm sách cho bạn đọc trở nên dễ dàng, khoa học và nhanh chóng
- Quản Lý Thông Tin Bạn Đọc
8
Trang 14+ Thông tin bạn đọc được quản lý chặt chẽ bởi admin Việc quản lý cập nhật, sửa, xóa thông tin được thực hiện nhanh chông, chính xác
+ Cho phép admin tìm kiếm thông tin bạn đọc theo mã bạn đọc giúp cho việc tìm kiếm trở nên dễ dàng, nhanh chóng
- Quản Lý Mượn,Trả Sách
+ Quản lý số sách bạn đọc mượn, trả của thư viện
+ Quản lý ngày,tháng độc giả mượn
+ Quản lý số lượng sách độc giả mượn
+ Quản lý thông tin cuốn sách độc giả mượn
Trang 1510
Trang 16Hình 4: Chức năng đăng kí tài khoản admin mới
Trang 17Hình 6:Thông tin sách
Hình 7:Thông tin mượn trả
12
Trang 18Hình 8:Thông tin bạn đọc
2.2 Ưu điểm của chương trinh
- Tiết kiệm thời gian tìm kiếm, quản lý
- Đơn giản dễ sử dụng
- Thông tin mã sách giúp dễ tìm kiếm, quản lý
- Quản lý thông tin bạn đọc, thời gian mượn trả sách…
Trang 192.3 Các bảng trong cơ sở dữ liệu:
Gồm 4 bảng: account, mượn trả, sách, bạn đọc
Hình 9:Table Account database
Hình 10:Table mượn trả database
14
Trang 20Hình 11:Table Sách database
Hình 12:Table bạn đọc database
Trang 21III Kết Luận
Trong điều kiện học tập như hiện nay, vấn đề quản lý thư viện 1 cách khoa học
có ý nghĩa rất quan trọng trong việc thu hút được các học sinh, sinh viên cũng như bạn đọc đến thư viện, và nó cũng 1 phần nào đó quyết định đến thành công của thư viện đó Trong thời gian học tập và tiếp xúc với thư viện của trường nhóm em đã tìm hiểu sâu vào công tác quản lý Qua đó thấy được những ưu điểm song bên cạnh đó còn 1 số vấn
đề tồn tại Để khắc phục phần nào những vấn đề còn tồn đọng nhóm chúng em mạnh
dạn chưa ra 1 chương trình quản lý thư viện.
Chương trình đã đạt được 1 số yêu cầu nhất định như: thêm, sửa, xóa, tìm kiếm thông tin của các loại sách cũng như các độc giả, góp phần nào giúp cho thư viện của trường nói riêng và có thể sau này là các thư viện trên toàn quốc nói chung giảm thiểu tối đa thời gian cũng như nguồn lực cho việc quản lý thư viện
Nhưng bên cạnh đó thì chương trình vẫn còn nhiều hạn chế , chúng em rất mong
sẽ nhận được những lời đóng góp quý báu của thầy để chương trình của chúng em được hoàn thiện hơn Chúng em xin trân thành cảm ơn thầy đã tận tình giúp đỡ để chúng em có thể hoàn thành tốt đề tài này
16
Trang 22IV Tài Liệu Tham Khảo
- Website:
1. https://lap-trinh-may-tinh.blogspot.com
2.https://viettuts.vn/java
3. https://www.tutorialspoint.com/java/index.htm
4. https://docs.oracle.com/javase/tutorial/java/index.html