1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo bài tập lớn lập trình java đề tài quản lý thư viện sách

20 5 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Quản Lý Thư Viện Sách
Tác giả Mai Trung Dũng, Nguyễn Đức Quang, Phạm Hoàng Trung Sơn, Hoàng Xuân Hiếu
Người hướng dẫn Nguyễn Mạnh Hùng
Trường học Trường Đại Học Điện Lực
Chuyên ngành Công Nghệ Thông Tin
Thể loại báo cáo
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 20
Dung lượng 574,4 KB

Nội dung

Các kỹ thuật xác thực dựa trên mã hóa khóa công khai.● Kiến trúc - trung lập : Trình biên dịch Java tạo ra định dạng tệp đối tượng kiến trúc trung lập, làm cho mã biên dịch được thực thi

Trang 1

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO BÀI TẬP LỚN LẬP TRÌNH JAVA

ĐỀ TÀI: Quản lý thư viện sách

Sinh viên thực hiện : MAI TRUNG DŨNG

NGUYỄN ĐỨC QUANG PHẠM HOÀNG TRUNG SƠN HOÀNG XUÂN HIẾU

Giảng viên hướng

dẫn

: NGUYỄN MẠNH HÙNG

Chuyên ngành : CÔNG NGHỆ PHẦN MỀM

Hà Nội, ………/năm 2022

Trang 2

PHIẾU CHẤM ĐIỂM

3 Phạm Hoàng Trung Sơn

Giảng viên chấm 1:

Giảng viên chấm 2:

Trang 3

MỤC LỤC

CHƯƠNG II PHÂN TÍCH HỆ THỐNG QUẢN LÝ THƯ VIỆN SÁCH 12

Trang 4

LỜI MỞ ĐẦU

Trong thời đại trí thức ngày nay việc nâng cao chất lượng giáo dục là nhiệm vụ quan trọng hàng đầu của nước ta Song song với việc đào tạo, việc quản lý cơ sở vật chất cũng rất quan trọng, đặc biệt là việc quản lý sách trong các thư viện Hằng ngày một số lượng lớn sách trong thư viện được sử dụng Nhu cầu của bạn đọc ngày càng tăng, dẫn đến việc quản lý sách vốn đã khó khăn, nay càng khó khăn hơn

Từ trước đến nay, các thư viện dù lớn hay nhỏ đều chỉ hoạt động dựa theo cách thủ công do con người phụ trách Nhưng xu thế hiện nay, khi sự phát triển mạnh

mẽ của ngành công nghệ thông tin dẫn đến việc đòi hỏi ra đời các hệ thống để giúp con người trong việc quản lý

Thêm vào đó, chúng em muốn thể hiện đầy đủ thông tin để việc tìm kiếm, tra cứu thông tin về sách, sinh viên, được đầy đủ hơn nhằm tiết kiệm thời gian Vì

vậy, nhóm chúng em chọn đề tài “ Quản lý thư viện sách ” Tuy được sự

hướng dẫn tận tình của thầy Cù Việt Dũng nhưng do thời gian và năng lực có hạn nên kết quả còn nhiều thiếu sót Mong được sự góp ý của thầy cô

Trang 5

CHƯƠNG I: CƠ SỞ LÝ THUYẾT

1.Ngôn ngữ Java

1.1 Giới thiệu Java

Java là một Ngôn ngữ lập trình và là một Platform

Ngôn ngữ lập trình: Java là một ngôn ngữ lập trình bậc cao, hướng đối tượng, bảo mật và mạnh mẽ

Platform: Bất cứ môi trường phần cứng hoặc phần mềm nào mà trong đó có một chương trình chạy, thì được hiểu như là một Platform Với môi trường runtime riêng cho mình (JRE) và API, Java được gọi là Platform

Ngôn ngữ lập trình Java ban đầu được phát triển bởi Sun Microsystems do Joames Gosling khởi xướng và phát hành vào năm 1995 Phiên bản mới nhất của Java Standard Edition là Java SE 8 Với sự tiến bộ của Java và sự phổ biến rộng rãi của nó, nhiều cấu hình đã được xây dựng để phù hợp với nhiều loại nền tảng khác nhau Ví dụ: J2EE cho các ứng dụng doanh nghiệp, J2ME cho các ứng dụng di động

Các phiên bản J2 mới đã được đổi tên thành Java SE, Java EE và Java ME Phương châm của java là "Write Once, Run Anywhere" - viết một lần chạy nhiều nơi, nghĩa là bạn chỉ cần viết một lần trên window chẳng hạn, sau đó vẫn chương trình đó bạn có thể chạy trên Linux, Android, các thiết bị J2ME

Trang 6

1.2 Đặc điểm của Java

Hướng đối tượng: Trong Java, mọi thứ đều là một Object Java có thể dễ

dàng mở rộng và bảo trì vì nó được xây dựng dựa trên mô hình Object

Nền tảng độc lập: Không giống nhiều ngôn ngữ lập trình khác bao gồm

cả C và C ++, khi Java được biên dịch, nó không được biên dịch thành ngôn ngữ máy nền tảng cụ thể, thay vào mã byte - nền tảng độc lập Mã byte này được thông dịch bởi máy ảo (JVM) trên nền tảng nào đó mà nó đang chạy

Đơn giản: Java được thiết kế để dễ học Nếu bạn hiểu khái niệm cơ bản

về OOP Java, sẽ rất dễ để trở thành master về java

Bảo mật: Với tính năng an toàn của Java, nó cho phép phát triển các hệ

thống không có virus, giả mạo Các kỹ thuật xác thực dựa trên mã hóa khóa công khai

Kiến trúc - trung lập : Trình biên dịch Java tạo ra định dạng tệp đối

tượng kiến trúc trung lập, làm cho mã biên dịch được thực thi trên nhiều

bộ vi xử lý, với sự hiện diện của hệ điều hành Java

Portable: Là kiến trúc tập trung và không có khía cạnh thực hiện phụ

thuộc của đặc tả này làm cho Java khả chuyển Trình biên dịch trong Java được viết bằng ANSI C, đó là một tập con POSIX

Trang 7

Mạnh mẽ: Java làm nỗ lực để loại trừ các tình huống dễ bị lỗi bằng cách

kiểm tra lỗi tại thời gian biên dịch và kiểm tra lỗi tại runtime

Đa luồng: Với tính năng đa luồng của Java có thể viết các chương trình

có thể thực hiện nhiều tác vụ đồng thời Tính năng thiết kế này cho phép các nhà phát triển xây dựng các ứng dụng tương tác có thể chạy trơn tru hơn

Thông dịch: Mã byte Java được dịch trực tiếp tới các máy tính gốc và

không được lưu trữ ở bất cứ đâu

Hiệu năng cao: Với việc sử dụng trình biên dịch Just-In-Time, Java cho

phép thực hiện hiệu năng cao

Phân tán: Java được thiết kế cho môi trường phân tán của Internet.

Năng động: Java là năng động hơn C hoặc C++ vì nó được thiết kế để

thích nghi với môi trường đang phát triển Các chương trình Java có thể mang một lượng lớn thông tin tại runtime mà có thể được sử dụng để xác minh và giải quyết các truy cập vào các đối tượng tại runtime

1.3 Ứng dụng của Java

Bạn có thể bắt gặp Java ở rất nhiều nơi, từ những trang web thương mại điện tử đến ứng dụng Android, từ ứng dụng khoa học đến ứng dụng tài chính như hệ thống giao dịch điện tử, trò chơi như Minecrafr đến các ứng dụng trên máy tính như Eclipse, Netbeans, IntelliJ,

Ứng dụng Android

Nếu muốn nhìn thấy một sản phẩm được tạo ra từ Java thì thật đơn giản, hãy mở điện thoại Android lên và bất kỳ ứng dụng nào bạn nhìn thấy cũng chính là một sản phẩm như vậy, được viết bằng ngôn ngữ lập trình Java, với Android API của Google, tương tự như JDK Với sự phát triển của Android ngày nay, hầu hết

Trang 8

lập trình viên Java đều là những người viết app cho Android Android sử dụng JVM và cách đóng gói khác nhau, nhưng code thì vẫn được viết bằng Java

Các ứng dụng máy chủ dùng trong dịch vụ tài chính

Trong ngành dịch vụ tài chính Java chiếm một vị trí khá lớn Nhiều ngân hàng đầu tư toàn cầu như Goldman Sachs, Citigroup, Barclays, Standard Charted và các ngân hàng khác sử dụng Java để viết hệ thống giao dịch điện tử front office

và back office, viết hệ thống giải quyết và xác nhận, dự án xử lý dữ liệu, Java chủ yếu được sử dụng để viết ứng dụng cho máy chủ, không có front end, nhận

dữ liệu từ một máy chủ khác, xử lý nó và gửi đến một tiến trình tiếp theo

Ứng dụng Web

Java cũng chiếm được một thị phần khá lớn trong lĩnh vực thương mại điện tử

và ứng dụng web Có rất nhiều dịch vụ RESTfull được tạo bằng cách sử dụng Spring MVC, Struts 2.0 và những framework tương tự Thậm chí những ứng dụng web đơn giản như Servlet, JSP và Struts cũng rất phổ biến trong các dự án khác nhau của chính phủ Nhiều cơ quan chính phủ, y tế, bảo hiểm, giáo dục, quốc phòng và những bộ phận khác có ứng dụng web được xây dựng bằng Java

Công cụ phần mềm

Nhiều phần mềm hữu ích và công cụ phát triển được viết và triển khai trong Java, ví dụ như Eclipse, InetelliJ Idea và Netbans IDE Rất nhiều phần mềm trên máy tính để bàn cũng được viết bằng Java

Công nghệ Big Data

Hadoop và các công nghệ dữ liệu lớn khác cũng đang sử dụng Java theo cách này hay cách khác Apache của Java dựa trên HBase và Accumulo (mã nguồn mở), ElasticSearch cũng vậy Tuy Java không phải kẻ thống trị trong lĩnh vực này, vì có những công nghệ như MongoDB được viết bằng C ++, nhưng Java có

Trang 9

tiềm năng để đạt được thị phần ngày càng tăng nếu Hadoop hoặc ElasticSearch lớn mạnh

Ứng dụng khoa học

Java thường được lựa chọn mặc định cho các ứng dụng khoa học, bao gồm xử

lý ngôn ngữ tự nhiên Lý do chính là vì Java an toàn hơn, portable, duy trì và đi kèm với những công cụ cấp cao tương đương C++ hay những ngôn ngữ lập trình khác

Vào những năm 1990, Java đã chiếm một phần lớn trên Internet nhờ Applet, nhưng dần dần, Applet mất đi sự nổi tiếng, chủ yếu do các vấn đề bảo mật trên

mô hình sand-box Hiện tại, Applets gần như đã "chết" Java thì trở thành ngôn ngữ lập trình ứng dụng được nhiều lập trình viên yêu thích, được ứng dụng rộng rãi trong phát triển ứng dụng, dịch vụ tài chính, ngân hàng đầu tư, thương mại điện tử Bất kỳ ai học Java đều có thể có một tương lai không tệ Java 8 đã tiếp tục tăng cường niềm tin rằng Java sẽ chi phối lĩnh vực phát triển phần mềm trong những năm tới

Trang 10

2 MySQL

Công ty công nghệ Mỹ Sun Microsystem sau đó giữ quyền sở hữu MySQL sau khi mua lại MySQL vào năm 2008 Năm 2010, gã khổng lồ Oracle mua Sun Microsystems và MySQL thuộc quyền sở hữu của Oracle từ đó

Quay lại với khái niệm chính, MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (Relational Database Management System, viết tắt là RDBMS) hoạt động theo mô hình client-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ữa chúng

MySQL là một trong số các phần mềm RDBMS RDBMS và MySQL thường được cho là một vì độ phổ biến quá lớn của MySQL Các ứng dụng web lớn nhất như Facebook, Twitter, YouTube, Google, và Yahoo! đều dùng MySQL cho mục đích lưu trữ dữ liệu Kể cả khi ban đầu nó chỉ được dùng rất hạn chế nhưng giờ nó đã tương thích với nhiều hạ tầng máy tính quan trọng như Linux, macOS, Microsoft Windows, và Ubuntu

2.1 Các thành phần của Sql Server

Do hoạt động theo mô hình Client – Server nên nó được chia làm hai thành phần chính

Workstation: Được cài trên các thiết bị vận hành, nó là các phần mềm

tương tác với máy chủ server Ví dụ: SSMS, SSCM, Profiler, BIDS, SQLEM

Server: Được cài trên máy chủ chính (máy chủ tập trung) Đó là các dịch

vụ như: SQL Server, SQL Server Agent, SSIS, SSAS, SSRS, SQL

Browser, SQL Full Text Search

Trang 11

Bạn có thể cài nhiều phiên bản của MySQL trên cùng một máy chủ, điều này giúp tiết kiệm chi phí mua Server nếu hệ thống bạn hoạt động cần nhiều phiên bản khác nhau, bảo mật cũng tách biệt hoàn toàn giúp hệ thống an toàn hơn

2.2 Tính năng

● Cho phép tạo nhiều cơ sở dữ liệu

● Duy trì lưu trữ bền vững

● Bảo mật cao

● MySQL hỗ trợ ngôn ngữ truy vấn SQL – ngôn ngữ tựa Tiếng Anh nên rất

dễ sử dụng

● Phân tích dữ liệu bằng SSAS – SQL Server Analysis Services

● Tạo được báo cáo bằng SSRS – SQL Server Reporting Services

● Thực hiện quá trình ETL (Extract-Transform-Load) bằng SSIS – SQL Server Integration Services

2.3 Ưu và nhược điểm

*Ưu điểm

Dễ sử dụng: MySQL là cơ sở dữ liệu tốc độ cao, ổn định, dễ sử dụng và

hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh

Độ bảo mật cao: MySQL rất thích hợp cho các ứng dụng có truy cập

CSDL trên Internet khi sở hữu nhiều nhiều tính năng bảo mật thậm chí là

ở cấp cao

Đa tính năng: MySQL hỗ trợ rất nhiều chức năng SQL được mong chờ

từ một hệ quản trị cơ sở dữ liệu quan hệ cả trực tiếp lẫn gián tiếp

Trang 12

Khả năng mở rộng và mạnh mẽ: MySQL có thể xử lý rất nhiều dữ liệu

và hơn thế nữa nó có thể được mở rộng nếu cần thiết

Nhanh chóng: Việc đưa ra một số tiêu chuẩn cho phép MySQL để làm

việc rất hiệu quả và tiết kiệm chi phí, do đó nó làm tăng tốc độ thực thi

*Nhược điểm

Giới hạn: Theo thiết kế, MySQL không có ý định làm tất cả và nó đi

kèm với các hạn chế về chức năng mà một vào ứng dụng có thể cần

Độ tin cậy: Cách các chức năng cụ thể được xử lý với MySQL (ví dụ tài

liệu tham khảo, các giao dịch, kiểm toán,…) làm cho nó kém tin cậy hơn

so với một số hệ quản trị cơ sở dữ liệu quan hệ khác

Dung lượng hạn chế: Nếu số bản ghi của bạn lớn dần lên thì việc truy

xuất dữ liệu của bạn là khá khó khăn, khi đó chúng ta sẽ phải áp dụng nhiều biện pháp để tăng tốc độ truy xuất dữ liệu như là chia tải database

này ra nhiều server, hoặc tạo cache MySQL

Trang 13

CHƯƠNG II PHÂN TÍCH HỆ THỐNG QUẢN LÝ

THƯ VIỆN SÁCH

3 Tổng quan

3.1 Giới thiệu đề tài

Phần mềm quản lý điểm sinh viên để quản lý thông tin sinh viên và điểm của sinh viên các môn tương ứng Giúp cho người quản lý dễ dàng xem và cập nhật điểm của sinh viên theo môn học

3.2 Các kiến thức sử dụng trong bài

3.2.1 Cơ sở dữ liệu

- Đã biết cách cài đặt và cấu hình MySQL

- Biết cách tạo bảng và liên kết giữa các bảng trong MySQL

- Biết sử dụng các câu lệnh truy vấn căn bản như:

● Select : Để lấy dữ liệu từ cơ sở dữ liệu

● Insert: Để ghi dữ liệu vào cơ sở dữ liệu

● Update: Để cập nhật thông tin một bản ghi trong cơ sở dữ liệu

● Delete: Để xóa một bản ghi trong cơ sở dữ liệu

● Câu lệnh select sử dụng thêm các điều kiện where để lọc dữ liệu

3.2.2 Ngôn ngữ lập trình

Trang 14

- Biết cách thiết kế giao diện chương trình.

- Biết cách khai báo biến, sử dụng các biến và thực hiện được các chức năng như:

● Hiển thị dữ liệu trong cơ sở dữ liệu lên table trong Java

● Thêm dữ liệu từ giao diện vào cơ sở dữ liệu từ code Java

● Cập nhật thông tin của bản ghi trong cơ sở dữ liệu từ code Java

● Xóa một bản ghi trong cơ sở dữ liệu từ code Java

4 Nội dung

4.1 Phân tích và thiết kế hệ thống.

4.1.1 Phân tích chương trình

Phần mềm quản lý điểm sinh viên gồm các chức năng:

- Quản lý khách hàng

- Quản lý nhân viên

- Quản lý nhà xuất bản

- Quản lý thẻ thư viện

- Quản lý sách

- Quản lý phiếu mượn

- Quản lý người dùng"

Trang 15

4.1.2 Thiết kế cơ sở dữ liệu

* Diagram cơ sở dữ liệu:

* Thiết kế chi tiết cơ sở dữ liệu:

Bảng khách hàng – khach_hang

Tên trường Kiểu dữ liệu Mô tả

Trang 16

Tên trường Kiểu dữ liệu Mô tả

Bảng nhà xuất bản – nha_xb

Tên trường Kiểu dữ liệu Mô tả

Bảng thẻ thư viện – the_thu_vien

Tên trường Kiểu dữ liệu Mô tả

Bảng sách - sach

Trang 17

Tên trường Kiểu dữ liệu Mô tả

Bảng phiếu mượn – phieu_muon

Tên trường Kiểu dữ liệu Mô tả

Bảng người dùng – quan_tri

Tên trường Kiểu dữ liệu Mô tả

Trang 18

4.2 Giao diện chương trình

* Đăng nhập :

*Quản lý đọc giả :

Trang 19

*Quản lý sách :

*Giao diện phiếu mượn :

Trang 20

KẾT LUẬN

Với tốc độ phát triển ngày càng tăng của mạng máy tính, việc ứng dụng thương mại điện tử vào cuộc sống hằng ngày là một sự lựa chọn hết sức phù hợp Chính vì vậy qua quá trình tìm hiểu, khảo sát, em đã chọn và xây dựng hệ thống Quản lý thư viện sách

Với kiến thức nền tảng cộng thêm sự giảng dạy trên lớp tận tình của thầy Nguyễn Mạnh Hùng, nhóm em đã hoàn thành đề tài và đã phần nào hiểu được quy trình, cách thức xây dựng một ứng dụng Nhóm đã hiểu hơn

về các ngôn ngữ SQL, Java,… biết cách sử dụng các công cụ hỗ trợ để xây dựng ứng dụng nhằm tiết kiệm thời gian, công sức thiết kế

Mặc dù hệ thống quản lý đã hoàn thành, nhưng nó vẫn còn rất nhiều mặt hạn chế và vấn đề thiếu xót Như là, mô tả các chức năng chưa đầy đủ, thiếu chính xác, thiết kế giao diện sơ xài và chưa được chuẩn hóa, chưa thực

sự hoàn thiện, Nhóm rất mong nhận được sự đóng góp của thầy giáo và các bạn để trong thời gian tới thì nhóm em sẽ cố gắng khắc phục các hạn chế, những vấn đề chưa được tốt, và bổ sung thêm những chức năng mới cho hệ thống

Chúng em xin chân thành cảm ơn!

Ngày đăng: 28/02/2024, 08:53

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w