Báo Cáo Miniproject Java BKHN PDF

Title Báo Cáo Miniproject Java BKHN
Author DucAnhHiHi
Course Object Oriented Language and Theory (Java)
Institution Trường Đại học Bách khoa Hà Nội
Pages 26
File Size 1 MB
File Type PDF
Total Downloads 194
Total Views 280

Summary

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘIVIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG──────── * ───────BÁO CÁO BÀI TẬP LỚNMÔN HỌC: NHẬP MÔN JAVACHƯƠNG TRÌNH QUẢN LÍ CÁC TÀILIỆU TRONG THƯ VIỆNSinh viên thực hiện : Phạm Tuấn Hưng Nguyễn Thái An Đỗ Văn VũLớp : IT3670Q_117849 – KGiáo viên hướng dẫn : TS. TRẦN HẢI ANH...


Description

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 hiện : 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í các tài liệu trong 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……………………………………………………………………...3 CHƯƠNG 1. GIỚI THIỆU CHUNG..............................................................6 1.1. Đặt vấn đề.......................................................................................................6 1.2. Tổng quan các công nghệ sử dụng................................................................6 1.3. Mục tiêu đặt ra...............................................................................................6

CHƯƠNG 2. CÔNG NGHỆ SỬ DỤNG.........................................................7 2.1. Công nghệ Java..............................................................................................7 2.1.1. Giới thiệu chung........................................................................................7 2.1.2. Mô tả.........................................................................................................7 2.2. Công nghệ SQL..............................................................................................8

CHƯƠNG 3. 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 của chương trình.........................................................................10 1. Lớp Document.............................................................................................10 2. Lớp DocumentUI.........................................................................................10 3.1.2. Các tương tác...........................................................................................11 1. Kết nối và ngắt kết nối với database.............................................................11 2. Phương thức thực thi câu truy vấn khi nhấn vào Button..............................12 3. Button “Add”...............................................................................................13 4. Button “Update”..........................................................................................14 5. Button “Delete”............................................................................................15 6. Button “Clear”.............................................................................................16 7. Hiển thị dữ liệu lên Table.............................................................................16 8. Tìm kiếm dữ liệu..........................................................................................17 3.2. Kết quả chương trình...................................................................................19 3.3. Kết quả thử nghiệm......................................................................................21

CHƯƠNG 4. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN..............................22 Tài liệu tham khảo………………………………………………………….…22 Phụ lục…………………………………………………………………………23 2

Đề tài 2-Quản lí các tài liệu trong 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 ở các nước tiên tiến từ những thập niên 70. Còn ở Nước ta hiện nay, vấn đề áp dụng Tin học để xử lý thông tin trong công tác quản lý đã trở thành nhu cầu bức thiết, nhất là trong thời đại "mở cửa" với các nước khác trên thế giới. Hiện nay, việc quản lý tài liệu trong thư viện là một vấn đề hết sức 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 quá trình quản lý của tài liệu trong trường. Sau khi khảo sát tại trường Đại học Bách Khoa Hà Nội, nhóm chúng em đã cùng nhau quyết định phân tích và thiết kế cho phần quản lí các tài liệu trong thư viện của trường. Số tài liệu của trường cũng đang dần tăng lên do vậy nhu cầu Tin học hóa hoàn toàn về hệ thống quản lí thư viện đang là một vấn đề khá cấp thiết. Đó cũng là lý do mà nhóm chúng em chọn đề tài này. Để hoàn thành được bài tập lớn này, nhóm chúng em xin được 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 và 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, chỉ dạy tận tình để nhóm em hoàn thành được đề tài này. 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ũ

3

Đề tài 2-Quản lí các tài liệu trong thư viện

PHÂN CÔNG THÀNH VIÊN TRONG NHÓM STT

1

2 3

Họ tên

Phạm Tuấn Hưng

MSSV

Công việc đóng góp

20198230 Code các chức năng trong chương trình, thiết kế database, kết nối chương trình với database. Nguyễn 20198197 Thiết kế giao Thái An diện chương trình. Đỗ Văn Vũ 20198276 Lên ý tưởng giao diện.

Tỉ lệ đóng góp

2 ngày

Mức độ hoàn thành 100%

1 ngày

100%

20%

1 ngày

100%

20%

Thời gian thực hiện công việc

60%

4

Đề tài 2-Quản lí các tài liệu trong thư viện

CHƯƠNG 1. GIỚI THIỆU CHUNG 1.1. Đặt vấn đề Trong “chương trình quản lí các tài liệu trong thư viện” sẽ có các chức năng thêm,sửa,xóa, tìm kiếm các tài liệu trong 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 đã có thể hiểu được những điều mình cần phải làm và phân chia công việc cho từng thành viên trong nhóm.

1.2. Tổng quan các công nghệ sử dụng Trong project lần này nhóm chúng em đã sử dụng công nghệ : Java và SQL -

Java là một nền tảng phát triển các ứng dụng phần mềm có vị trí rất lớn trong những năm cuối thế kỉ 20, đầu thế kỉ 21. Đánh dấu sự trưởng thành của mô hình lập trình hướng đối tượng, nó được coi là một nền tảng mang tính cách mạng trong ngành phần mềm. Mô hình máy ảo Virtual Machine đã cho phép các ứng dụng viết bằng Java có thể chạy trên nhiều hệ điều hành khác nhau.

-

SQL được sử dụng trong các ngôn ngữ quản lý cơ sở dữ liệu (CSDL) và chạy trên máy đơn lẻ. Do sự phát triển nhanh chóng của nhu cầu xây dựng nhữ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 đã ra đời mà điển hình là MS SQL Server, Oracle, Sybase...

1.3. Mục tiêu đặt ra -

Hoàn thành chương trình “quản lí các tài liệu trong thư viện ”. Các thành viên trong nhóm hiểu và sử dụng tốt 2 công nghệ : Java và SQL Nâng cao kĩ năng làm việc nhóm Nâng cao khả năng tìm kiếm, học hỏi

5

Đề tài 2-Quản lí các tài liệu trong thư viện

CHƯƠNG 2. CÔNG NGHỆ SỬ DỤNG 2.1. Công nghệ Java 2.1.1. Giới thiệu chung Java là một nền tảng phát triển các ứng dụng phần mềm có vị trí rất lớn trong những năm cuối thế kỉ 20, đầu thế kỉ 21. Đánh dấu sự trưởng thành của mô hình lập trình hướng đối tượng, nó được coi là một nền tảng mang tính cách mạng trong ngành phần mềm. Mô hình máy ảo Virtual Machine đã cho phép các ứng dụng viết bằng Java có thể chạy trên nhiều hệ điều hành khác nhau.

2.1.2. Mô tả Lần đầu tiên xuất hiện vào năm 1992 như là một ngôn ngữ dùng trong nội bộ tập đoàn Sun Microsystems để xây dựng ứng dụng điều khiển các bộ xử lý bên trong máy điện thoại cầm tay, lò vi sóng, các thiết bị điện tử dân dụng khác. Không chỉ là một ngôn ngữ, Java còn là một nền tảng phát triển và triển khai ứng dụng trong đó máy ảo Java, bộ thông dịch có vai trò trung tâm. Sun, công ty đã phát minh ra ngôn ngữ Java, chính thức ban hành bản Java Development Kit 1.0 vào năm 1996 hoàn toàn miễn phí để các nhà phát triển có thể tải về, học Java, xây dựng các ứng dụng Java và triển khai chúng trên các hệ điều hành có hỗ trợ Java. Ban đầu, Java chủ yếu dùng để phát triển các applet, các ứng dụng nhúng vào trình duyệt, góp phần làm sinh động các trang web tĩnh vốn hết sức tẻ nhạt hồi đó. Tuy nhiên, cùng với sự phát triển của công nghệ thông tin và nhu cầu của xã hội, Java applet đã dần mất đi vị trí của nó và thay vào đó, các công ty, cộng đồng ủng hộ Java đã phát triển nó theo một hướng khác. . Hiện nay, công nghệ Java được chia làm ba bộ phận: J2SE Gồm các đặc tả, công cụ, API của nhân Java giúp phát triển các ứng dụng trên desktop và định nghĩa các phần thuộc nhân của Java. J2EE Gồm các đặc tả, công cụ, API mở rộng J2SE để phát triển các ứng dụng quy mô xí nghiệp, chủ yếu để chạy trên máy chủ (server). Bộ phận hay được nhắc đến nhất của công nghệ này là công nghệ Servlet/JSP: sử dụng Java để làm các ứng dụng web. J2ME Gồm các đặc tả, công cụ, API mở rộng để phát triển các ứng dụng Java chạy trên điện thoại di động, thẻ thông minh, thiết bị điện tử cầm tay, robo và những ứng dụng điện tử khác Java đã trải qua 3 bước phát triển quan trọng: Java 1.0 gắn liền với bản JDK đầu tiên, Java 2 gắn với JDK 1.2 và Java 5 gắn với J2SDK 1.5 6

Đề tài 2-Quản lí các tài liệu trong thư viện Ngày nay, khi nhắc đến Java người ta không còn chỉ nhắc đến Java như là một ngôn ngữ mà nhắc đến Java như là một công nghệ hay một nền tảng phát triển. Nó bao gồm các bộ 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 những năm 1970, một nhóm các nhà phát triển tại trung tâm nghiên cứu của IBM tại San Jose phát triển hệ thống cơ sở dữ liệu "Hệ thống R" dựa trên mô hình của Codd. Structured English Query Language, viết tắt là "SEQUEL" (tạm dịch là "Ngôn ngữ truy vấn tiếng Anh có cấu trúc"), được thiết kế để quản lý và truy lục dữ liệu được lưu trữ trong Hệ thống R. Sau này, tên viết tắt SEQUEL được rút gọn thành SQL để tránh việc tranh chấp nhãn hiệu (từ SEQUEL đã được một công ty máy bay của UK là Hawker-Siddeley đăng ký). Mặc dù SQL bị ảnh hưởng bởi công trình của tiến sĩ Codd nhưng nó không do tiến sĩ Codd thiết kế ra. Ngôn ngữ SEQUEL được thiết kế bởi Donald D. Chamberlin và Raymond F. Boyce tại IBM, và khái niệm của họ được phổ biến để tăng sự chú ý về SQL. Phiên bản cơ sở dữ liệu quan hệ phi thương mại, không hỗ trợ SQL đầu tiên được phát triển năm 1974.(Ingres from U.C. Berkeley.) Năm 1978, việc thử nghiệm phương pháp được khởi đầu tại một cơ sở thử nghiệm của khách hàng. Cuộc thử nghiệm đã chứng minh được sự có ích và tính thực tiễn của hệ thống và đã chứng tỏ sự thành công của IBM. Dựa vào kết quả đó, IBM bắt đầu phát triển các sản phẩm thương mại bổ sung thêm SQL dựa trên nguyên mẫu Hệ thống R bao gồm System/38 (Hệ thống/38) (được công bố năm 1978 và được thương mại hóa tháng 8 năm 1979, SQL/DS (được giới thiệu vào năm 1981) và DB2 (năm 1983). Cùng thời điểm đó Relational Software, Inc. (bây giờ là Oracle Corporation) đã nhận thấy tiềm năng của những khái niệm được Chamberlin and Boyce đưa ra và đã phát triển phiên bản Hệ quản trị cơ sở dự liệu quan hệ riêng của họ cho Navy, CIA và các tổ chức khác. Vào mùa hè năm 1979, Relational Software, Inc. giới thiệu Oracle V2 (Phiên bản 2), phiên bản thương mại đầu tiên hỗ trợ SQL cho máy tính VAX. Oracle thường xuyên được nhắc tới một cách không nghiêm túc vì đã tấn công thị trường của IBM trong 2 năm, nhưng việc táo bạo nhất trong quan hệ công chúng của họ là tấn công một phiên bản của IBM System/38 chỉ trong có vài tuần. Tương lai của Oracle đã được đảm bảo vì có sự quan tâm đáng kể của công chúng sau đó mới phát triển, trong khi đã có nhiều phiên bản của các nhà cung cấp khác. IBM đã quá chậm trong việc phát triển SQL và các sản phẩm quan hệ, có lẽ vì ban đầu nó không dùng được trong môi trường Unix và máy tính lớn (Mainframe), và họ sợ nó sẽ làm giảm lợi nhuận thu được từ việc bán các sản phẩm cơ sở dữ liệu IMS (những sản phẩm dựa trên mô hình cơ sở dữ liệu định hướng chứ không phải cơ sở dữ liệu quan hệ) của mình. Trong lúc đó, Oracle vẫn đang phát triển, IBM đang phát 7

Đề tài 2-Quản lí các tài liệu trong thư viện triển System/38, được mong đợi là hệ cơ sở dữ liệu quan hệ đầu tiên của họ. Với năng lực và thiết kế tiên tiến của nó, người ta cho rằng nó có thể sẽ thay thế cho hệ thống Unix và máy tính lớn. SQL được thừa nhận là tiêu chuẩn của ANSI (American National Standards Institute) vào năm 1986 và ISO (International Organization for Standardization) năm 1987. ANSI đã công bố cách phát âm chính thức của SQL là "ess kyoo ell", nhưng rất nhiều các chuyên gia cơ sở dữ liệu nói tiếng Anh vẫn gọi nó là sequel. Một quan niệm sai khác cũng được phổ biến rộng rãi đó là "SQL" là chữ viết tắt của "Structured Query Language" (Ngôn ngữ truy vấn có cấu trúc). Thực tế không phải như vậy!

8

Đề tài 2-Quản lí các tài liệu trong thư viện

CHƯƠNG 3. 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 của 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 2 lớp.

1. Lớp Document

2. Lớp DocumentUI -Lớp DocumentUI kế thừa lớp JFrame

9

Đề tài 2-Quản lí các tài liệu trong thư viện

3.1.2.

Các tương tác.

Lớp DocumentUI được khởi tạo sẽ hiển thị lên toàn bộ giao diện cho người dùng tương tác.

1. Kết nối và ngắt kết nối với database Đầu tiên, sẽ 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 3 45 6 " ; 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í các tài liệu trong thư viện J Opt i onPa ne . s ho wMe s s a g e Di a l o g ( nul l , " Conne c t i onEr r or " ) ; } } Và tiếp đó là ngắt kết nối với database pr i va t evoi ddi s c onne c t ( ){ t r y{ c on. c l os e ( ) ; }c a t c h( Ex c e pt i one ){ e . pr i nt St ac kTr a c e ( ) ; } }

2. Phương thức thực thi câu truy vấn khi nhấn vào Button Trong giao diện gồm có 4 Button, khi nhấn vào 1 Button thì dữ liệu sẽ được lấy từ các TextField hay lựa chọn dữ liệu trên Table sau đó tương tác với database để có thể thêm,sửa xóa và sau đó tất cả các dữ liệu sau khi được tương tác,sẽ thấy được những sự thay đổi mới trên Table. Do đó, chúng em đã tạo phương thức thực hiện các câu truy vấn SQL khi nhấn vào Button pr i va t evoi de x e c ut e SQl Que r y( S t r i ngque r y,S t r i ngme s s a ge ){ t r y{ c onne c t ( ) ; i f( ( s t mt . e x e c ut e Upda t e ( que r y) )==1 ){ / /r e f r e s hj t abl eda t a De f a ul t Ta bl e Mode lmode l=( De f a ul t Ta bl e Mode l )t abl e . ge t Mode l ( ) ; mode l . s e t RowCount ( 0) ; s howDoc I nTa bl e ( ) ; nul l ," Da t a"+me s s a ge+" J Opt i onPane . s h o wMe s s a g e Di a l o g ( Suc c e f ul l y" ) ; }e l s e{ J Opt i onPane . s h o wMe s s a g e Di a l o g ( nul l ," Da t aNot"+me s s a ge ) ; } di s c onne c t ( ) ; }c a t c h( Ex c e pt i one x ){ e x. pr i nt S t ac kTr a c e ( ) ; } }

3. Button “Add” Khi chọn vào Button “Add” các TextField sẽ được kiểm tra, nếu TextField nào rỗng sẽ được chương trình yêu cầu nhập dữ liệu. Sau khi không còn TextField nào rỗng thì dữ liệu của tài liệu mới sẽ được lấy từ các TextField rồi thêm vào database và 11

Đề tài 2-Quản lí các tài liệu trong thư viện hiện lên thông báo thêm thành công. Sau đó các TextField sẽ được làm mới để có thể thêm các dữ liệu khác vào. Ở đây không cần TextField nhập ID mới vì trong database đã tạo trường Into Increment cho ID để nó tự tạo ID và đảm bảo các ID không trùng nhau. 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 dữ liệu vào TextField “Release Number”, chỉ có thể nhập số chứ không thể kí tự là chữ. Do đó, TextField này sẽ được bắt sự 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í các tài liệu trong thư viện } } } ) ; }

4. Button “Update” Khi muốn cập nhật một dữ liệu nào đó, chỉ cần chọn một dữ liệu trên Table, khi đó các TextField sẽ được set dữ liệu và chỉ cần chỉnh sửa dữ liệu ở trong các TextField. Và chúng em đã tạo phương thức bắt sự kiện khi chọn vào dữ liệu trên Table và set dữ liệu cho các 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 , 2 ) . t oSt r i ng( ) ) ; t f Aut hor . s e t Te xt ( mode l . ge t Va l ue At ( i , 3 ) . 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 , 4 ) . 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 , 5 ) . t oSt r i ng( ) ) ; } } ) ; }

Và sau đó chỉ cần nhấn vào Button “Update”, dữ liệu sẽ được cập nhật lên database. Nếu chưa chọn vào dữ liệu nào của Table sẽ có thông cáo yêu cầu chọn dữ liệu cần update. Ở đây chúng em đã tạo 1 TextField để chứa thông tin ID và ẩn nó đi và cũng không thể chỉnh sửa gì vào TextField này. TextField có tác dụng lấy ID để cập nhật dữ liệu có ID trùng với ID dữ liệu đã chọn trê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( )...


Similar Free PDFs