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ƯỜ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 : 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 : NGUYỄN MẠNH HÙNG dẫn Ngành : CÔNG NGHỆ THÔNG TIN Chuyên ngành : CÔNG NGHỆ PHẦN MỀM Lớp : D16CNPM7 Hà Nội, ………/năm 2022 PHIẾU CHẤM ĐIỂM STT Họ tên sinh viên Điểm Chữ ký Mai Trung Dũng Nguyễn Đức Quang Phạm Hoàng Trung Sơn Hoàng Xuân Hiếu Họ tên giảng viên Chữ ký Ghi Giảng viên chấm 1: Giảng viên chấm 2: MỤC LỤC MỤC LỤC LỜI MỞ ĐẦU CHƯƠNG I: CƠ SỞ LÝ THUYẾT 1.Ngôn ngữ Java 1.1 Giới thiệu Java 1.2 Đặc điểm Java 1.3 Ứng dụng Java MySQL 10 2.1 Các thành phần MySQL 10 2.2 Tính 11 2.3 Ưu nhược điểm 11 *Nhược điểm 11 CHƯƠNG II PHÂN TÍCH HỆ THỐNG QUẢN LÝ THƯ VIỆN SÁCH 12 Tổng quan 12 3.1 Giới thiệu đề tài 12 3.2 Các kiến thức sử dụng 12 Nội dung 13 4.1 Phân tích thiết kế hệ thống 13 4.2 Giao diện chương trình 17 KẾT LUẬN 19 LỜI MỞ ĐẦU Trong thời đại trí thức ngày việc nâng cao chất lượng giáo dục nhiệm vụ quan trọng hàng đầu nước ta Song song với việc đào tạo, việc quản lý sở vật chất quan trọng, đặc biệt việc quản lý sách thư viện Hằng ngày số lượng lớn sách thư viện sử dụng Nhu cầu bạn đọc ngày tăng, dẫn đến việc quản lý sách vốn khó khăn, khó khăn Từ trước đến nay, thư viện dù lớn hay nhỏ hoạt động dựa theo cách thủ công người phụ trách Nhưng xu nay, phát triển mạnh mẽ ngành công nghệ thông tin dẫn đến việc đòi hỏi đời hệ thống để giúp người việc quản lý Thêm vào đó, chúng em muốn thể đầy đủ thơng tin để việc tìm kiếm, tra cứu thông tin sách, sinh viên, đầy đủ 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 hướng dẫn tận tình thầy Cù Việt Dũng thời gian lực có hạn nên kết cịn nhiều thiếu sót Mong góp ý thầy CHƯƠNG I: CƠ SỞ LÝ THUYẾT 1.Ngôn ngữ Java 1.1 Giới thiệu Java Java Ngơn ngữ lập trình Platform Ngơn ngữ lập trình: Java ngơn ngữ lập trình bậc cao, hướng đối tượng, bảo mật mạnh mẽ Platform: Bất môi trường phần cứng phần mềm mà có chương trình chạy, hiểu Platform Với môi trường runtime riêng cho (JRE) API, Java gọi Platform Ngơn ngữ lập trình Java ban đầu phát triển Sun Microsystems Joames Gosling khởi xướng phát hành vào năm 1995 Phiên Java Standard Edition Java SE Với tiến Java phổ biến rộng rãi nó, nhiều cấu hình xây dựng để phù hợp với nhiều loại tảng khác Ví dụ: J2EE cho ứng dụng doanh nghiệp, J2ME cho ứng dụng di động Các phiên J2 đổi tên thành Java SE, Java EE Java ME Phương châm java "Write Once, Run Anywhere" - viết lần chạy nhiều nơi, nghĩa bạn cần viết lần window chẳng hạn, sau chương trình bạn chạy Linux, Android, thiết bị J2ME 1.2 Đặc điểm Java ● Hướng đối tượng: Trong Java, thứ Object Java dễ dàng mở rộng bảo trì xây dựng dựa 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 ++, Java biên dịch, khơng biên dịch thành ngơn ngữ máy tảng cụ thể, thay vào mã byte - tảng độc lập Mã byte thông dịch máy ảo (JVM) tảng mà chạy ● Đơn giản: Java thiết kế để dễ học Nếu bạn hiểu khái niệm OOP Java, dễ để trở thành master java ● Bảo mật: Với tính an tồn Java, cho phép phát triển hệ thống khơng có virus, giả mạo Các kỹ thuật xác thực dựa mã hóa khóa cơng khai ● Kiến trúc - trung lập : Trình biên dịch Java tạo định dạng tệp đối tượng kiến trúc trung lập, làm cho mã biên dịch thực thi nhiều vi xử lý, với diện hệ điều hành Java ● Portable: Là kiến trúc tập trung khơng có khía cạnh thực phụ thuộc đặc tả làm cho Java khả chuyển Trình biên dịch Java viết ANSI C, tập POSIX ● Mạnh mẽ: Java làm nỗ lực để loại trừ tình dễ bị lỗi cách kiểm tra lỗi thời gian biên dịch kiểm tra lỗi runtime ● Đa luồng: Với tính đa luồng Java viết chương trình thực nhiều tác vụ đồng thời Tính thiết kế cho phép nhà phát triển xây dựng ứng dụng tương tác chạy trơn tru ● Thông dịch: Mã byte Java dịch trực tiếp tới máy tính gốc khơng lưu trữ đâu ● Hiệu cao: Với việc sử dụng trình biên dịch Just-In-Time, Java cho phép thực hiệu cao ● Phân tán: Java thiết kế cho môi trường phân tán Internet ● Năng động: Java động C C++ thiết kế để thích nghi với mơi trường phát triển Các chương trình Java mang lượng lớn thơng tin runtime mà sử dụng để xác minh giải truy cập vào đối tượng runtime 1.3 Ứng dụng Java Bạn bắt gặp Java nhiều nơi, từ 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 hệ thống giao dịch điện tử, trò chơi Minecrafr đến ứng dụng máy tính Eclipse, Netbeans, IntelliJ, Ứng dụng Android Nếu muốn nhìn thấy sản phẩm tạo từ Java thật đơn giản, mở điện thoại Android lên ứng dụng bạn nhìn thấy sản phẩm vậy, viết ngơn ngữ lập trình Java, với Android API Google, tương tự JDK Với phát triển Android ngày nay, hầu hết lập trình viên Java người viết app cho Android Android sử dụng JVM cách đóng gói khác nhau, code viết Java Các ứng dụng máy chủ dùng dịch vụ tài Trong ngành dịch vụ tài Java chiếm vị trí lớn Nhiều ngân hàng đầu tư tồn cầu Goldman Sachs, Citigroup, Barclays, Standard Charted ngân hàng khác sử dụng Java để viết hệ thống giao dịch điện tử front office back office, viết hệ thống giải xác nhận, dự án xử lý liệu, Java chủ yếu sử dụng để viết ứng dụng cho máy chủ, khơng có front end, nhận liệu từ máy chủ khác, xử lý gửi đến tiến trình Ứng dụng Web Java chiếm thị phần lớn lĩnh vực thương mại điện tử ứng dụng web Có nhiều dịch vụ RESTfull tạo cách sử dụng Spring MVC, Struts 2.0 framework tương tự Thậm chí ứng dụng web đơn giản Servlet, JSP Struts phổ biến dự án khác phủ Nhiều quan phủ, y tế, bảo hiểm, giáo dục, quốc phịng phận khác có ứng dụng web xây dựng Java Công cụ phần mềm Nhiều phần mềm hữu ích cơng cụ phát triển viết triển khai Java, ví dụ Eclipse, InetelliJ Idea Netbans IDE Rất nhiều phần mềm máy tính để bàn viết Java Công nghệ Big Data Hadoop công nghệ liệu lớn khác sử dụng Java theo cách hay cách khác Apache Java dựa HBase Accumulo (mã nguồn mở), ElasticSearch Tuy Java khơng phải kẻ thống trị lĩnh vực này, có cơng nghệ MongoDB viết C ++, Java có tiềm để đạt thị phần ngày tăng Hadoop ElasticSearch lớn mạnh Ứng dụng khoa học Java thường lựa chọn mặc định cho ứng dụng khoa học, bao gồm xử lý ngơn ngữ tự nhiên Lý Java an tồn hơn, portable, trì kèm với công cụ cấp cao tương đương C++ hay ngơn ngữ lập trình khác Vào năm 1990, Java chiếm phần lớn Internet nhờ Applet, dần dần, Applet tiếng, chủ yếu vấn đề bảo mật mô hình sand-box Hiện tại, Applets gần "chết" Java trở thành ngơn ngữ lập trình ứng dụng nhiều lập trình viên u thích, ứng dụng rộng rãi 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ỳ học Java có tương lai không tệ Java tiếp tục tăng cường niềm tin Java chi phối lĩnh vực phát triển phần mềm năm tới MySQL Cơng ty cơng nghệ Mỹ Sun Microsystem sau giữ quyền sở hữu MySQL sau mua lại MySQL vào năm 2008 Năm 2010, gã khổng lồ Oracle mua Sun Microsystems MySQL thuộc quyền sở hữu Oracle từ Quay lại với khái niệm chính, MySQL hệ thống quản trị sở liệu mã nguồn mở (Relational Database Management System, viết tắt RDBMS) hoạt động theo mơ hình client-server RDBMS phần mềm hay dịch vụ dùng để tạo quản lý sở liệu (Database) theo hình thức quản lý mối liên hệ chúng MySQL số phần mềm RDBMS RDBMS MySQL thường cho độ phổ biến lớn MySQL Các ứng dụng web lớn Facebook, Twitter, YouTube, Google, Yahoo! dùng MySQL cho mục đích lưu trữ liệu Kể ban đầu dùng hạn chế tương thích với nhiều hạ tầng máy tính quan trọng Linux, macOS, Microsoft Windows, Ubuntu 2.1 Các thành phần Sql Server Do hoạt động theo mơ hình Client – Server nên chia làm hai thành phần ● Workstation: Được cài thiết bị vận hành, 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 máy chủ (máy chủ tập trung) Đó dịch vụ như: SQL Server, SQL Server Agent, SSIS, SSAS, SSRS, SQL Browser, SQL Full Text Search 10 Bạn cài nhiều phiên MySQL máy chủ, điều giúp tiết kiệm chi phí mua Server hệ thống bạn hoạt động cần nhiều phiên khác nhau, bảo mật tách biệt hoàn tồn giúp hệ thống an tồn 2.2 Tính ● Cho phép tạo nhiều sở 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 dễ sử dụng ● Phân tích liệu SSAS – SQL Server Analysis Services ● Tạo báo cáo SSRS – SQL Server Reporting Services ● Thực trình ETL (Extract-Transform-Load) SSIS – SQL Server Integration Services 2.3 Ưu nhược điểm *Ưu điểm ● Dễ sử dụng: MySQL sở liệu tốc độ cao, ổn định, dễ sử dụng hoạt động nhiều hệ điều hành cung cấp hệ thống lớn hàm tiện ích mạnh ● Độ bảo mật cao: MySQL thích hợp cho ứng dụng có truy cập CSDL Internet sở hữu nhiều nhiều tính bảo mật chí cấp cao ● Đa tính năng: MySQL hỗ trợ nhiều chức SQL mong chờ từ hệ quản trị sở liệu quan hệ trực tiếp lẫn gián tiếp 11 ● Khả mở rộng mạnh mẽ: MySQL xử lý nhiều liệu mở rộng cần thiết ● Nhanh chóng: Việc đưa số tiêu chuẩn cho phép MySQL để làm việc hiệu tiết kiệm chi phí, 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 kèm với hạn chế chức mà vào ứng dụng cần ● Độ tin cậy: Cách chức cụ thể xử lý với MySQL (ví dụ tài liệu tham khảo, giao dịch, kiểm toán,…) làm cho tin cậy so với số hệ quản trị sở liệu quan hệ khác ● Dung lượng hạn chế: Nếu số ghi bạn lớn dần lên việc truy xuất liệu bạn khó khăn, phải áp dụng nhiều biện pháp để tăng tốc độ truy xuất liệu chia tải database nhiều server, tạo cache MySQL 12 CHƯƠNG II PHÂN TÍCH HỆ THỐNG QUẢN LÝ THƯ VIỆN SÁCH 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 điểm sinh viên môn tương ứng Giúp cho người quản lý dễ dàng xem cập nhật điểm sinh viên theo môn học 3.2 Các kiến thức sử dụng 3.2.1 Cơ sở liệu - Đã biết cách cài đặt cấu hình MySQL - Biết cách tạo bảng liên kết bảng MySQL - Biết sử dụng câu lệnh truy vấn như: ● Select : Để lấy liệu từ sở liệu ● Insert: Để ghi liệu vào sở liệu ● Update: Để cập nhật thông tin ghi sở liệu ● Delete: Để xóa ghi sở liệu ● Câu lệnh select sử dụng thêm điều kiện where để lọc liệu 3.2.2 Ngôn ngữ lập trình - Biết cách sử dụng thư viện để kết nối với MySQL 13 - 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 biến thực chức như: ● Hiển thị liệu sở liệu lên table Java ● Thêm liệu từ giao diện vào sở liệu từ code Java ● Cập nhật thông tin ghi sở liệu từ code Java ● Xóa ghi sở liệu từ code Java Nội dung 4.1 Phân tích 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 chức năng: - Quản lý khách hàng - Quản lý nhân viên - Quản lý nhà xuất - 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" 14 4.1.2 Thiết kế sở liệu * Diagram sở liệu: * Thiết kế chi tiết sở liệu: Bảng khách hàng – khach_hang Tên trường Kiểu liệu Mô tả Ma_Khach_hang VARCHAR(50) Mã khách hàng Ten_Khach_hang VARCHAR(50) Tên khách hàng Phone VARCHAR(50) Số điện thoại Email VARCHAR(50) Địa email Bảng nhân viên – nhan_vien 15 Tên trường Kiểu liệu Mô tả Ma_Nhan_vien VARCHAR(50) Mã nhân viên Ho_ten VARCHAR(50) Tên nhân viên Ngay_sinh DATE Ngày sinh SDT VARCHAR(50) Số điện thoại Bảng nhà xuất – nha_xb Mô tả Mã nhà xuất Tên trường Kiểu liệu Tên nhà xuất Ma_nxb VARCHAR(50) Địa Ten_nxb VARCHAR(50) Địa email Dia_chi VARCHAR(50) Email VARCHAR(50) Mô tả Mã thẻ Bảng thẻ thư viện – the_thu_vien Ngày cấp thẻ Ngày hết hạn thẻ Tên trường Kiểu liệu Mã khách hàng Ma_the VARCHAR(50) Ngay_cap DATE Ngay_het_han DATE Ma_Khach_hang VARCHAR(50) Bảng sách - sach 16 Tên trường Kiểu liệu Mô tả Ma_Sach VARCHAR(50) Mã sách Ten_Sach VARCHAR(50) Tên sách Ten_Tac_gia VARCHAR(50) Tên tác giả Nha_xb VARCHAR(50) Nhà xuất So_luong INT Số lượng Bảng phiếu mượn – phieu_muon Mô tả Mã phiếu mượn Tên trường Kiểu liệu Mã khách hàng Ma_Phieu_muon VARCHAR(50) Mã sách Ma_Khach_hang VARCHAR(50) Ngày mượn Ma_Sach VARCHAR(50) Ngày trả Ngay_muon DATE Số lượng Ngay_tra DATE So_luong INT Mô tả Tài khoản Bảng người dùng – quan_tri Mật Tên trường Kiểu liệu Ma_Admin VARCHAR(50) Password VARCHAR(50) 17 4.2 Giao diện chương trình * Đăng nhập : *Quản lý đọc giả : 18 *Quản lý sách : *Giao diện phiếu mượn : 19 KẾT LUẬN Với tốc độ phát triển ngày tăng mạng máy tính, việc ứng dụng thương mại điện tử vào sống ngày lựa chọn phù hợp Chính qua trình tìm hiểu, khảo sát, em chọn xây dựng hệ thống Quản lý thư viện sách Với kiến thức tảng cộng thêm giảng dạy lớp tận tình thầy Nguyễn Mạnh Hùng, nhóm em hồn thành đề tài phần hiểu quy trình, cách thức xây dựng ứng dụng Nhóm hiểu ngôn ngữ SQL, Java,… biết cách sử dụng 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ý hồn thành, nhiều mặt hạn chế vấn đề thiếu xót Như là, mơ tả chức chưa đầy đủ, thiếu xác, thiết kế giao diện sơ xài chưa chuẩn hóa, chưa thực hồn thiện, Nhóm mong nhận đóng góp thầy giáo bạn để thời gian tới nhóm em cố gắng khắc phục hạn chế, vấn đề chưa tốt, bổ sung thêm chức cho hệ thống Chúng em xin chân thành cảm ơn! 20