Professional Documents
Culture Documents
Lớp : D16CNPM7
1
PHIẾU CHẤM ĐIỂM
2
MỤC LỤC
MỤC LỤC 3
LỜI MỞ ĐẦU 4
CHƯƠNG I: CƠ SỞ LÝ THUYẾT 5
1.Ngôn ngữ Java 5
1.1. Giới thiệu Java 5
1.2. Đặc điểm của Java 6
1.3. Ứng dụng của Java 7
2. MySQL 10
2.1. Các thành phần của MySQL 10
2.2. Tính năng 11
2.3. Ưu và 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
3. Tổng quan 12
3.1. Giới thiệu đề tài 12
3.2. Các kiến thức sử dụng trong bài 12
4. Nội dung 13
4.1. Phân tích và thiết kế hệ thống. 13
4.2. Giao diện chương trình 17
KẾT LUẬN 19
3
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ô.
4
CHƯƠNG I: CƠ SỞ LÝ THUYẾT
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...
5
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.
6
● 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.
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,...
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
7
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.
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.
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.
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ó
8
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.
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.
9
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.
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
10
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.
● 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
*Ưu điểm
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.
11
● 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
12
CHƯƠNG II. PHÂN TÍCH HỆ THỐNG QUẢN LÝ
THƯ VIỆN SÁCH
3. Tổng quan
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
3.2.1. Cơ sở dữ liệu
- 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ư:
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 các biến và thực hiện được các chức năng
như:
4. Nội dung
Phần mềm quản lý điểm sinh viên gồm các chức năng:
- Quản lý sách
14
4.1.2. Thiết kế cơ sở dữ liệu
* Diagram cơ sở dữ liệu:
15
Tên trường Kiểu dữ liệu Mô tả
16
Tên trường Kiểu dữ liệu Mô tả
17
4.2. Giao diện chương trình
* Đăng nhập :
18
*Quản lý sách :
19
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!
20