Chương trình quản lí các tài liệu trong thư viện Chương trình quản lí các tài liệu trong thư viện Chương trình quản lí các tài liệu trong thư viện Chương trình quản lí các tài liệu trong thư viện Chương trình quản lí các tài liệu trong thư viện Chương trình quản lí các tài liệu trong thư viện Chương trình quản lí các tài liệu trong thư viện Chương trình quản lí các tài liệu trong thư viện Chương trình quản lí các tài liệu trong thư viện
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ──────── * ─────── BÁO CÁO BÀI TẬP LỚN MƠN HỌC: NHẬP MƠN JAVA CHƯƠNG TRÌNH QUẢN LÍ CÁC TÀI LIỆU TRONG THƯ VIỆN Sinh viên thực : Phạm Tuấn Hưng Nguyễn Thái An Đỗ Văn Vũ Lớp : IT3670Q_117849 – K64 Giáo viên hướng dẫn : TS TRẦN HẢI ANH Đề tài 2-Quản lí tài liệu thư viện Hà Nội, tháng 12 năm 2020 MỤC LỤC Mục lục………………………………………………………………………….2 Lời nói đầu…………………………………………………………………… CHƯƠNG GIỚI THIỆU CHUNG 1.1 Đặt vấn đề .6 1.2 Tổng quan công nghệ sử dụng 1.3 Mục tiêu đặt .6 CHƯƠNG CÔNG NGHỆ SỬ DỤNG .7 2.1 Công nghệ Java 2.1.1 Giới thiệu chung 2.1.2 Mô tả .7 2.2 Công nghệ SQL CHƯƠNG XÂY DỰNG CHƯƠNG TRÌNH 10 3.1 Xây dựng chương trình 10 3.1.1 Các lớp chương trình .10 Lớp Document 10 Lớp DocumentUI .10 3.1.2 Các tương tác 11 Kết nối ngắt kết nối với database 11 Phương thức thực thi câu truy vấn nhấn vào Button 12 Button “Add” .13 Button “Update” 14 Button “Delete” 15 Button “Clear” 16 Hiển thị liệu lên Table 16 Tìm kiếm liệu 17 3.2 Kết chương trình 19 3.3 Kết thử nghiệm 21 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 22 Tài liệu tham khảo………………………………………………………….…22 Phụ lục…………………………………………………………………………23 Đề tài 2-Quản lí tài liệu thư viện LỜI NÓI ĐẦU Việc ứng dụng máy tính để quản lý thơng tin phát triển mạnh nước tiên tiến từ thập niên 70 Còn Nước ta nay, vấn đề áp dụng Tin học để xử lý thông tin công tác quản lý trở thành nhu cầu thiết, thời đại "mở cửa" với nước khác giới Hiện nay, việc quản lý tài liệu thư viện vấn đề cần thiết Việc Tin học hóa hệ thống quản lí tài liệu góp phần khơng nhỏ vào q trình quản lý tài liệu trường Sau khảo sát trường Đại học Bách Khoa Hà Nội, nhóm chúng em định phân tích thiết kế cho phần quản lí tài liệu thư viện trường Số tài liệu trường dần tăng lên nhu cầu Tin học hóa hồn tồn hệ thống quản lí thư viện vấn đề cấp thiết Đó lý mà nhóm chúng em chọn đề tài Để hồn thành tập lớn này, nhóm chúng em xin gửi lời cảm ơn chân thành đến thầy giáo hướng dẫn đề tài Thầy Trần Hải Anh, Giảng viên Viện Công nghệ Thông tin Truyền thông, Trường Đại học Bách Khoa Hà Nội - hết lịng giúp đỡ, hướng dẫn, dạy tận tình để nhóm em hồn thành đề tài Hà Nội, tháng 12 năm 2020 Nhóm 2.2 Phạm Tuấn Hưng Nguyễn Thái An Đỗ Văn Vũ Đề tài 2-Quản lí tài liệu thư viện PHÂN CÔNG THÀNH VIÊN TRONG NHÓM STT Họ tên Phạm Tuấn Hưng Nguyễn Thái An Đỗ Văn Vũ MSSV Công việc đóng góp 20198230 Code chức chương trình, thiết kế database, kết nối chương trình với database 20198197 Thiết kế giao diện chương trình 20198276 Lên ý tưởng giao diện Thời gian thực công việc Tỉ lệ đóng góp ngày Mức độ hồn thành 100% ngày 100% 20% ngày 100% 20% 60% Đề tài 2-Quản lí tài liệu thư viện CHƯƠNG GIỚI THIỆU CHUNG 1.1 Đặt vấn đề Trong “chương trình quản lí tài liệu thư viện” có chức thêm,sửa,xóa, tìm kiếm tài liệu thư viện Sau nhiều lần trao đổi, gặp mặt với thầy Trần Hải Anh, nhóm chúng em hiểu điều cần phải làm phân chia cơng việc cho thành viên nhóm 1.2 Tổng quan công nghệ sử dụng Trong project lần nhóm chúng em sử dụng cơng nghệ : Java SQL - Java tảng phát triển ứng dụng phần mềm có vị trí lớn năm cuối kỉ 20, đầu kỉ 21 Đánh dấu trưởng thành mô hình lập trình hướng đối tượng, coi tảng mang tính cách mạng ngành phần mềm Mơ hình máy ảo Virtual Machine cho phép ứng dụng viết Java chạy nhiều hệ điều hành khác - SQL sử dụng ngôn ngữ quản lý sở liệu (CSDL) chạy máy đơn lẻ Do phát triển nhanh chóng nhu cầu xây dựng CSDL lớn theo mơ hình khách/chủ (Client/Server), nhiều phần mềm sử dụng ngôn ngữ SQL đời mà điển hình MS SQL Server, Oracle, Sybase 1.3 Mục tiêu đặt - Hồn thành chương trình “quản lí tài liệu thư viện ” Các thành viên nhóm hiểu sử dụng tốt cơng nghệ : Java SQL Nâng cao kĩ làm việc nhóm Nâng cao khả tìm kiếm, học hỏi Đề tài 2-Quản lí tài liệu thư viện CHƯƠNG CƠNG NGHỆ SỬ DỤNG 2.1 Cơng nghệ Java 2.1.1 Giới thiệu chung Java tảng phát triển ứng dụng phần mềm có vị trí lớn năm cuối kỉ 20, đầu kỉ 21 Đánh dấu trưởng thành mơ hình lập trình hướng đối tượng, coi tảng mang tính cách mạng ngành phần mềm Mơ hình máy ảo Virtual Machine cho phép ứng dụng viết Java chạy nhiều hệ điều hành khác 2.1.2 Mô tả Lần xuất vào năm 1992 ngôn ngữ dùng nội tập đoàn Sun Microsystems để xây dựng ứng dụng điều khiển xử lý bên máy điện thoại cầm tay, lị vi sóng, thiết bị điện tử dân dụng khác Không ngơn ngữ, Java cịn tảng phát triển triển khai ứng dụng máy ảo Java, thơng dịch có vai trị trung tâm Sun, công ty phát minh ngôn ngữ Java, thức ban hành Java Development Kit 1.0 vào năm 1996 hồn tồn miễn phí để nhà phát triển tải về, học Java, xây dựng ứng dụng Java triển khai chúng hệ điều hành có hỗ trợ Java Ban đầu, Java chủ yếu dùng để phát triển applet, ứng dụng nhúng vào trình duyệt, góp phần làm sinh động trang web tĩnh vốn tẻ nhạt hồi Tuy nhiên, với phát triển công nghệ thông tin nhu cầu xã hội, Java applet dần vị trí thay vào đó, cơng ty, cộng đồng ủng hộ Java phát triển theo hướng khác Hiện nay, công nghệ Java chia làm ba phận: J2SE Gồm đặc tả, công cụ, API nhân Java giúp phát triển ứng dụng desktop định nghĩa phần thuộc nhân Java J2EE Gồm đặc tả, công cụ, API mở rộng J2SE để phát triển ứng dụng quy mơ xí nghiệp, chủ yếu để chạy máy chủ (server) Bộ phận hay nhắc đến công nghệ công nghệ Servlet/JSP: sử dụng Java để làm ứng dụng web J2ME Gồm đặc tả, công cụ, API mở rộng để phát triển ứng dụng Java chạy điện thoại di động, thẻ thông minh, thiết bị điện tử cầm tay, robo ứng dụng điện tử khác Java trải qua bước phát triển quan trọng: Java 1.0 gắn liền với JDK đầu tiên, Java gắn với JDK 1.2 Java gắn với J2SDK 1.5 Đề tài 2-Quản lí tài liệu thư viện Ngày nay, nhắc đến Java người ta khơng cịn nhắc đến Java ngôn ngữ mà nhắc đến Java cơng nghệ hay tảng phát triển Nó bao gồm phận: Máy ảo Java: JVM Bộ công cụ phát triển: J2SDK Các đặc tả chi tiết kĩ thuật (specifications) Ngơn ngữ lập trình (programming language) 2.2 Công nghệ SQL SQL : Giữa năm 1970, nhóm nhà phát triển trung tâm nghiên cứu IBM San Jose phát triển hệ thống sở liệu "Hệ thống R" dựa mơ hình Codd Structured English Query Language, viết tắt "SEQUEL" (tạm dịch "Ngôn ngữ truy vấn tiếng Anh có cấu trúc"), thiết kế để quản lý truy lục liệu lưu trữ Hệ thống R Sau này, tên viết tắt SEQUEL rút gọn thành SQL để tránh việc tranh chấp nhãn hiệu (từ SEQUEL công ty máy bay UK Hawker-Siddeley đăng ký) Mặc dù SQL bị ảnh hưởng cơng trình tiến sĩ Codd khơng tiến sĩ Codd thiết kế Ngơn ngữ SEQUEL thiết kế Donald D Chamberlin Raymond F Boyce IBM, khái niệm họ phổ biến để tăng ý SQL Phiên sở liệu quan hệ phi thương mại, không hỗ trợ SQL phát triển năm 1974.(Ingres from U.C Berkeley.) Năm 1978, việc thử nghiệm phương pháp khởi đầu sở thử nghiệm khách hàng Cuộc thử nghiệm chứng minh có ích tính thực tiễn hệ thống chứng tỏ thành công IBM Dựa vào kết đó, IBM bắt đầu phát triển sản phẩm thương mại bổ sung thêm SQL dựa nguyên mẫu Hệ thống R bao gồm System/38 (Hệ thống/38) (được công bố năm 1978 thương mại hóa tháng năm 1979, SQL/DS (được giới thiệu vào năm 1981) DB2 (năm 1983) Cùng thời điểm Relational Software, Inc (bây Oracle Corporation) nhận thấy tiềm khái niệm Chamberlin and Boyce đưa phát triển phiên Hệ quản trị sở dự liệu quan hệ riêng họ cho Navy, CIA tổ chức khác Vào mùa hè năm 1979, Relational Software, Inc giới thiệu Oracle V2 (Phiên 2), phiên thương mại hỗ trợ SQL cho máy tính VAX Oracle thường xuyên nhắc tới cách khơng nghiêm túc công thị trường IBM năm, việc táo bạo quan hệ công chúng họ công phiên IBM System/38 có vài tuần Tương lai Oracle đảm bảo có quan tâm đáng kể cơng chúng sau phát triển, có nhiều phiên nhà cung cấp khác IBM chậm việc phát triển SQL sản phẩm quan hệ, có lẽ ban đầu khơng dùng mơi trường Unix máy tính lớn (Mainframe), họ sợ làm giảm lợi nhuận thu từ việc bán sản phẩm sở liệu IMS (những sản phẩm dựa mơ hình sở liệu định hướng khơng phải sở liệu quan hệ) Trong lúc đó, Oracle phát triển, IBM phát Đề tài 2-Quản lí tài liệu thư viện triển System/38, mong đợi hệ sở liệu quan hệ họ Với lực thiết kế tiên tiến nó, người ta cho thay cho hệ thống Unix máy tính lớn SQL thừa nhận tiêu chuẩn ANSI (American National Standards Institute) vào năm 1986 ISO (International Organization for Standardization) năm 1987 ANSI cơng bố cách phát âm thức SQL "ess kyoo ell", nhiều chuyên gia sở liệu nói tiếng Anh gọi sequel Một quan niệm sai khác phổ biến rộng rãi "SQL" chữ viết tắt "Structured Query Language" (Ngôn ngữ truy vấn có cấu trúc) Thực tế khơng phải vậy! Đề tài 2-Quản lí tài liệu thư viện CHƯƠNG XÂY DỰNG CHƯƠNG TRÌNH 3.1 Xây dựng chương trình 3.1.1 Các lớp chương trình Để xây dựng lên chương trình quản lí thư viện chúng em xây dựng lớp Lớp Document Lớp DocumentUI -Lớp DocumentUI kế thừa lớp JFrame Đề tài 2-Quản lí tài liệu thư viện 3.1.2 Các tương tác Lớp DocumentUI khởi tạo hiển thị lên toàn giao diện cho người dùng tương tác Kết nối ngắt kết nối với database Đầu tiên, tạo phương thức kết nối đến database pr i va t evoi dc onne c t ( ){ t r y{ S t r i ngdbURL=" j dbc : s ql s e r ve r : / /l oc a l hos t ; da t a ba s e =mi ni pr oj e c t ; " ; S t r i ngus e r=" s a " ; S t r i ngpa s s=" 12 45 " ; c on=Dr i ve r Ma na ge r g e t Co nne c t i o n( dbURL,us e r ,pa s s ) ; s t mt=c on c r e a t e S t a t e me nt ( ) ; }c a t c h( SQLEx c e pt i one ){ S ys t e m out pr i nt l n( e ) ; 10 Đề tài 2-Quản lí tài liệu thư viện lên thông báo thêm thành công Sau TextField làm để thêm liệu khác vào Ở không cần TextField nhập ID database tạo trường Into Increment cho ID để tự tạo ID đảm bảo ID không trùng i f( t f Type ge t Te xt ( ) e qual s ( " " ) ) J Opt i onPa ne s ho wMe s s a g e Di a l o g( t hi s ," Pl e a s ee nt e r doc ume ntt ype " ) ; e l s ei f( t f Name Doc ge t Te xt ( ) e qual s ( " " ) ) J Opt i onPa ne s ho wMe s s a g e Di a l o g( t hi s ," Pl e a s ee nt e r doc ume ntname " ) ; e l s ei f( t f Aut hor ge t Te xt ( ) e qua l s ( " " ) ) J Opt i onPa ne s ho wMe s s a g e Di a l o g( t hi s ," Pl e a s ee nt e raut hor na me " ) ; e l s ei f( t f Publ i s he r ge t Te xt ( ) e qual s ( " " ) ) J Opt i onPa ne s ho wMe s s a g e Di a l o g( t hi s ," Pl e a s ee nt e r publ i s he r " ) ; e l s ei f( t f Re l e a s e Numbe r ge t Te xt ( ) e qual s ( " " ) ) J Opt i onPa ne s ho wMe s s a g e Di a l o g( t hi s ," Pl e a s ee nt e rr e l e a s e numbe r " ) ; e l s e{ St r i ngque r y=" i ns e r ti nt oLi br a r yval ue s ( ' "+ t f Type ge t Te xt ( )+" ' , ' "+t f Na me Doc ge t Te xt ( )+" ' , ' " +t f Aut hor ge t Te xt ( )+" ' , ' "+ t f Publ i s he r ge t Te xt ( )+" ' , ' " +I nt e ge r p a r s e I nt ( t f Re l e as e Numbe r ge t Te xt ( ) )+ " ' ) ; " ; e x e c ut e SQl Que r y( que r y," Adde d" ) ; t f Type s e t Te xt ( " " ) ; t f Name Doc s e t Te xt ( " " ) ; t f Aut hor s e t Te xt ( " " ) ; t f Publ i s he r s e t Te xt ( " " ) ; t f Re l e a s e Numbe r s e t Te xt ( " " ) ; } Khi nhập liệu vào TextField “Release Number”, nhập số khơng thể kí tự chữ Do đó, TextField bắt kiện keyTyped để chọn lọc pr i va t evoi dc he c kDa t a I nput TFRe l e a s e Numbe r ( ){ t f Re l e a s e Numbe r a ddKe yLi s t e ne r ( ne w Ke yAda pt e r ( ){ @Ove r r i de publ i cvoi dke yT ype d( Ke yEve nte ){ i f( ! Cha r a c t e r i s Di g i t ( e ge t Ke yChar ( ) ) ){ e c ons ume ( ) ; 12 Đề tài 2-Quản lí tài liệu thư viện } } } ) ; } Button “Update” Khi muốn cập nhật liệu đó, cần chọn liệu Table, TextField set liệu cần chỉnh sửa liệu TextField Và chúng em tạo phương thức bắt kiện chọn vào liệu Table set liệu cho TextField pr i va t evoi ds e t Da t a OnTFWhe nSe l e c t ( ){ t a bl e a ddMous e Li s t e ne r ( ne w Mous e Ada pt e r ( ){ @Ove r r i de publ i cvoi dmous e Cl i c ke d( Mous e Eve nta r g0 ){ i nti=t a bl e ge t Se l e c t e dRow( ) ; t f Se l e c t Row s e t Te x t ( i+" " ) ; mode l=( De f a ul t Ta bl e Mode l )t abl e ge t Mode l ( ) ; t f I D s e t Te x t ( mode l ge t Va l ue At ( i , 0) t oS t r i ng( ) ) ; t f T ype s e t Te x t ( mode l ge t Va l ue At ( i , 1) t oSt r i ng( ) ) ; t f Na me Doc s e t T e x t ( mode l ge t Va l ue At ( i , ) t oSt r i ng( ) ) ; t f Aut hor s e t Te xt ( mode l ge t Va l ue At ( i , ) t oSt r i ng( ) ) ; t f Publ i s he r s e t Te xt ( mode l ge t Va l ue At ( i , ) t oSt r i ng( ) ) ; t f Re l e a s e Numbe r s e t Te xt ( mode l ge t Va l ue At ( i , ) t oSt r i ng( ) ) ; } } ) ; } Và sau cần nhấn vào Button “Update”, liệu cập nhật lên database Nếu chưa chọn vào liệu Table có thơng cáo yêu cầu chọn liệu cần update Ở chúng em tạo TextField để chứa thông tin ID ẩn khơng thể chỉnh sửa vào TextField TextField có tác dụng lấy ID để cập nhật liệu có ID trùng với ID liệu chọn Table pr i va t evoi dac t i onPe r f or me dBTUpda t e ( ){ i f( t a bl e ge t Se l e c t e dRow( )