Phương pháp nghiên cứu

Một phần của tài liệu (TIỂU LUẬN) đồ án môn học lập TRÌNH JAVA đề tài CHƯƠNG TRÌNH QUẢN lý điểm THI SINH VIÊN TRƯỜNG đại học tài CHÍNH – MARKETING (Trang 41)

Chương 1 : GIỚI THIỆU TỔNG QUAN

1.6 Phương pháp nghiên cứu

Để xây dựng được một phần mềm quản lý điểm sinh viên, em đã nghiên cứu kĩ các nội dung liên quan đến xây dựng phần mềm quản lý trên các trang web về lập trình. Kết hợp với việc tìm hiểu chuyên sâu các đặc thù quản lý điểm sinh viên, các cơng việc cần làm. Qua đó đưa ra các giải pháp xây dựng một hệ thống phần mềm quản lý điểm sinh viên phù hợp.

Một số phương pháp nghiên cứu mà em áp dụng vào đề tài để xây dựng chương trình quản lý điểm sinh viên:

 Nghiên cứu và tham khảo một số tài liệu liên quan tới mơn Phân tích thiết kế hệ thống thơng tin, tiến hành phân tích và thiết kế hệ thống thông tin quản lý điểm sinh viên.

 Phương pháp phân tích và tổng hợp.

 Phương pháp quan sát, tiềm hiểu nghiệp vụ quản lý điểm sinh viên trong thực tế.

Nguyễn Võ Quốc Huy – 1921006708 Trang 5

Đề tài: Chương trình quản lý điểm thi sinh viên trường Đại Học Tài Chính – Marketing 1.7 Dự kiến kết quả đạt được

Tìm hiểu cơ sở lý thuyết để phục vụ cho phân tích và thiết kê hệ thống, đặc tả các chức năng của hệ thống quản lý điểm sinh viên.

Xây dựng chương trình quản lý điểm sinh viên có thể giải quyết được hầu hết các vấn đề cơ bản mà một chương trình quản lý nói chung u cầu đó là:

 Dễ sử dụng.

 Khả năng cập nhật và xử lý dữ liệu chính xác và nhanh chóng.

 Cung cấp các cơng cụ hữu ích cho nghiệp vụ quản lý điểm, quản lý sinh viên.

Đề tài: Chương trình quản lý điểm thi sinh viên trường Đại Học Tài Chính – Marketing

Chương 2: CƠ SỞ LÝ THUYẾT

2.1 Tổng quan về lập trình Java

2.1.1 Ngơn ngữ lập trình Java

2.1.1.1 Khái niềm về ngơn ngữ lập trình Java

Java là một ngơn ngữ lập trình hướng đối tượng, dựa trên lớp được thiết kế để có càng ít phụ thuộc thực thi càng tốt. Nó là ngơn ngữ lập trình có mục đích chung cho phép các nhà phát triển ứng dụng viết một lần, chạy ở mọi nơi (WORA), nghĩa là mã Java đã biên dịch có thể chạy trên tất cả các nền tảng hỗ trợ Java mà không cần biên dịch lại. Các ứng dụng Java thường được biên dịch thành bytecode có thể chạy trên bất kỳ máy ảo Java (JVM) nào bất kể kiến trúc máy tính bên dưới. Cho phép tạo Application hoặc Applet (chạy trên trình duyệt có hỗ trợ Java). Sử dụng hai cơ chế: Interpreter (Thơng dịch) và Compiler (Biên dịch).

Hình 2.1.1.1.1: Ngơn ngữ lập trình Java

2.1.1.2 Đặc điểm của ngơn ngữ lập trình Java

 Đơn giản:

Java được thiết kế để dễ học, quen thuộc. Nếu hiểu được những khái niệm cơ bản về OOP, sẽ dễ dàng làm chủ Java. Loại bỏ những đặc trưng phức tạp: Con trỏ, định nghĩa chồng toán tử, đa kế thừa thay bằng interface, loại bỏ struct và union.

 Hướng đối tượng:

Mọi thứ là một đối tượng. Java có thể dễ dàng mở rộng kể tử khi nó được dựa trên mơ hình đối tượng.

 Độc lập phần cứng và hệ điều hành:

Khi Java được biên dịch, nó khơng được biên dịch vào một nền tảng cụ thể mà là

Khi Java được biên dịch, nó khơng được biên dịch vào một nền tảng cụ thể mà là bytecode. Bytecode này được thông dịch bởi máy ảo (JVM) tùy vào nên tảng mà nó đang thực thi nên khơng cần biên dịch lại mã nguồn.

 Bảo mật:

- Dữ liệu và phương thức được đóng gói bên trong lớp.

- Trình biên dịch kiểm sốt mã an tồn và kiểm sốt tn thủ đúng quy tắc của Java.

- Trình thơng dịch kiểm sốt bytecode đảm bảo quy tắc an tồn trước khi thực thi. - Kiểm sốt việc nạp vào bộ nhớ, giới hạn truy xuất trước khi nạp vào hệ thống.

 Mạnh mẽ:

- Java nỗ lực loại trừ tình huống dễ bị lỗi bằng cách nhấn mạnh chủ yếu vào việc kiểm tra lỗi thời điểm biên dịch và thực thi.

- Khai bái kiểu dữ liệu tường minh.

- Khơng dung con trỏ và phép tốn con trỏ.

- Kiểm sốt việc truy xuất ngồi phạm vi dữ liệu mảng.

- Cấp phát và giải phóng bộ nhớ được thực hiện tự động (Garbage collection). - Cơ chế bẫy lỗi giúp kiểm soát và đơn giản trong xử lý lỗi và phục hồi sau lỗi.

 Đa luồng:

- Có thể viết chương trình có thể làm nhiều việc cùng một lúc.

- Cho phép các nhà phát triển xây dựng các ứng dụng tương tác chạy đồng thời & đồng bộ.

 Hiệu suất cao:

Với việc sử dụng các trình biên dịch Just-In Time (bytecode → machine code).  Phân tán:

Java được thiết kế để hỗ trợ ứng dụng chạy trên mạng, cho môi trường phân tán, chạy trên nhiều nền khác nhau của Internet.

 Linh động:

- Java được coi là linh động hơn so với C hoặc C++ vì nó được thiết kế để thích ứng với mơi trường phát triển mở.

- Các chương trình Java có thể xử lý số lượng lớn thơng tin thực thi mà có thể được dùng để xác minh và giải quyết các truy cập đến các đối tượng trong thời gian thực thi.

2.1.1.3 Lập trình hướng đối tượng trong ngơn ngữ lập trình Java

Lập trình hướng đối tượng(OOP) là phương pháp lập trình hướng đến việc triển khai các thực thể trong thế giới thực. OOP được xem là giúp tăng năng suất, đơn giản hóa độ phức tạp khi bảo trì cũng như mở rộng phần mềm bằng cách cho phép lập trình

viên tập trung vào các đối tượng phần mềm ở bậc cao hơn.

Các tính chất trong lập trình hướng đối tượng:  Object:

Các th c th có tr ng trái hành vi đự ể ạ ược g i là object. vd: cây bút, con ngọ ười, con chim…

 Class

Class là m t b n v thi t k c a các object (blueprint). Ví d khi nói đ n xe độ ả ẽẽ ếế ếế ủ ụ ếế ạ thì chúng ta có hàng ngàn chi c xe đ p th nh ng m m i chi c đ u khác nhau có thếế ạ ếế ư à ỗẽ ếế ếề

vếề giá, ch t li u, thi t k … nh ng ch ng vấế ệ ếế ếế ư ú ấẽn là xe đạp.

Vậy l xe p à đạ được hi u nh l m t class v h ng ng n chi c xe p kia m iể ư à ộ à à à ếế đạ ỗẽ

chiếếc l m t instance. à ộ

 Kế thừa (Inheritance)

Kế thừa cho phép các class sắp xếp thành các mối quan hệ theo thứ bâc (ông nội -> cha -> con -> cháu).

Class cấp thấp có thể sử dụng các thuộc tính, method… của class cấp trên.  Đa hình (Polymorphism)

Một đối tượng có thể biểu hiện bằng nhiều hình thức và các hành động khác nhau gọi là tính đa hình.

Như ở ví dụ trên, Shape là một đối tượng nó có thể biến hố thành các hình tam giác, hình trịn…

 Trừu tượng (Abstraction)

Trừu tượng cho phép ẩn đi quá trình thực thi bên trong và chỉ hiển thị những chức năng.

Ví dụ: Khi bạn dùng một chiếc điện thoại di dộng có thể gọi điện và nhắn tin và bạn dùng nó để gọi điện và nhắn tin cho bạn bè, thế nhưng bạn khơng biết được bên trong điện thoại nó làm những gì để thực hiện các yêu cầu gọi và nhắn tin cho chúng ta phải khơng nào.

 Đóng gói (Encapsulation)

Đóng gói (Encapsulation)

Trong lập trình hướng đối tượng việc liên kết dữ liệu và method lại với nhau và giữ chúng an toàn khỏi những tác động bên ngoài gọi là tính đóng gói.

Nguyễn Võ Quốc Huy – 1921006708 Trang 10

ra bên ngồi dựa vào các từ khố:

public: Cho phép truy cập ở mọi phạm vi.private: Cho phép truy cập trong nội bộ class.protected: Chỉ cho phép các class kế thừa truy cập.

default: Chỉ cho phép truy cập nội bộ class và cùng package.

Hình 2.1.1.3.1: Bốn tính chất quan trọng trong lập trình hướng đối tượng

2.1.1.4 Ưu và nhược điểm của ngơn ngữ lập trình Java

 Ưu điểm:

Dễ học tập: Con đường học tập đối với ngơn ngữ lập trình Java là cực kỳ ngắn.

Java dễ viết, dễ biên dịch và gỡ lỗi hơn các ngơn ngữ lập trình chính khác như C ++, Objective-C, C #. Đó là một thế mạnh to lớn, bởi vì điều này đảm bảo rằng các lập trình viên Java có thể làm việc hiệu quả trong một khoảng thời gian khơng q dài để học tập. Bên cạnh đó, những điều cũng làm cho Java hấp dẫn hơn là cú pháp giống như tiếng Anh viết và nói hàng ngày. Điều này có nghĩa là Java rất dễ đọc và logic.

Lập trình hướng đối tượng: Ở đây có một lợi thế thú vị khác khi sử dụng Java.

Đó là Java cho phép bạn tạo các chương trình mơ-đun và mã có thể tái sử dụng để giữ cho hệ thống có thể mở rộng cũng như linh hoạt.

Nguyễn Võ Quốc Huy – 1921006708 Trang 11

Đề tài: Chương trình quản lý điểm thi sinh viên trường Đại Học Tài Chính – Marketing

API phong phú: Java cung cấp các API cho các hoạt động khác nhau như kết nối

cơ sở dữ liệu, kết nối mạng, I / O, phân tích cú pháp XML, các tiện ích và hơn thế nữa.

Cơng cụ mã nguồn mở mạnh mẽ phát triển nhanh chóng: Một số lượng lớn các công cụ phát triển mã nguồn mở sử dụng Java đã làm cho Java trở thành một lựa chọn mạnh mẽ hơn cho các nhà phát triển, ví dụ như Eclipse và Netbeans. Chúng là những nền tảng cực kỳ mạnh mẽ và đã đóng góp hiệu quả trong việc tạo ra Java thành cơng như ngày hơm nay. Nó làm cho mã hóa đơn giản hơn, và cung cấp khả năng cực kỳ “khủng” để gỡ lỗi. 0

thư viện này đã được đóng góp bởi nhiều tổ chức phổ biến như Apache, Google, Yahoo, Facebook, LinkedIn,… Điều đó làm cho Java trở nên phổ biến hơn.

Miễn phí: Chúng ta khơng thể bỏ lỡ yếu tố này. Khi nói đến sự phát triển, chúng

ta đang phải đối mặt với sự cạnh tranh khốc liệt. Nhiều doanh nghiệp vừa và nhỏ muốn phát triển phần mềm và/ hoặc phát triển ứng dụng web được áp dụng cho doanh nghiệp của họ, nhưng họ khơng thực sự có một ngân sách lớn cho điều đó. Miễn phí giúp mang lại hiệu quả chi phí cho doanh nghiệp.

Hỗ trợ cộng đồng: Cuối cùng, có một cộng đồng hỗ trợ Java lớn mà ngôn ngữ này tập hợp được. Cọng đồng này sẽ giúp đồng nhành cùng các Java developer để học về nghệ thuật lập trình cũng như để làm việc hiệu quả hơn.

 Nhược điểm:

+ Trình biên dịch Java chưa được tối ưu hóa tốt so với C ++. + Khơng có sự tách biệt đặc điểm kỹ thuật khi triển khai. + Quản lý bộ nhớ, với Java, là khá tốn kém.

+ Việc thiếu các template có thể hạn chế khả năng của Java để tạo ra các cấu trúc dữ liệu chất lượng cao.

Nguyễn Võ Quốc Huy – 1921006708 Trang 12

Đề tài: Chương trình quản lý điểm thi sinh viên trường Đại Học Tài Chính – Marketing

+ Người ta có thể tìm thấy một số lỗi trong trình duyệt và các chương trình ví dụ.

2.1.2 Java Swing

1.1.1.1 Khái niệm về Java Swing

Java Swing là cách gọi rút gọn khi người ta nhắc đến Swing của Java Foundation (JFC). Nó là bộ cơng cụ GUI mà Sun Microsystems phát triển để xây dựng các ứng dụng tối ưu dùng cho window (bao gồm các thành phần như nút, thanh cuộn,…).

Swing được xây dựng trên AWT API và hồn tồn được viết bằng Java. Tuy nhiên, nó lại khác với AWT ở chỗ bộ công cụ này thuộc loại nền tảng độc lập, bao gồm các thành phần nhẹ và phức tạp hơn AWT.

Các gói javax.swing bao gồm các lớp cho Java Swing API như JMenu, JButton, JTextField, JRadioButton, JColorChooser,…

Việc xây dựng ứng dụng sẽ trở nên dễ dàng hơn với Java Swing vì chúng ta có các bộ cơng cụ GUI giúp đỡ cơng việc.

Swing được chính thức phát hành vào tháng 3/1998. Nó đi kèm với thư viện Swing 1.0 với hơn 250 lớp, 80 giao tiếp.

TabbedPane và bảng điều khiển,..  Swing có những đặc điểm: - Độc lập với thiết bị - Có thể tuỳ chỉnh, mở rộng - Khá nhẹ - Có thể cấu hình

Ngồi ra bạn cũng có thể tùy chỉnh các điều khiển xoay một cách dễ dàng mà không ảnh hưởng đến các thành phần khác.

Nguyễn Võ Quốc Huy – 1921006708 Trang 13

Đề tài: Chương trình quản lý điểm thi sinh viên trường Đại Học Tài Chính – Marketing

2.1.2.2 Cấu trúc phân cấp trong Java Swing

Phân cấp của API Java swing như liệt kê ở hình dưới đây:

Hình 2.1.2.2.1: Cấu trúc phân cấp trong Java Swing

Tất cả các thành phần trong swing được kế thừa từ lớp Jcomponent như JButton, JComboBox, JList, JLabel đều có thể được thêm vào lớp Container.

Container là các window như Frame và Dialog. Các container này chỉ có thể thêm một thành phần vào chính nó.

2.1.3 JDBC

1.1.1.1 Khái niệm về JDBC

JDBC là viết tắt của Java Database Connectivity là một API dùng để kết nối và thực thi các câu lệnh SQL xuống database.

Đề tài: Chương trình quản lý điểm thi sinh viên trường Đại Học Tài Chính – Marketing

Hình 2.1.3.1.1: Sơ đồ JDBC

JDBC API sử dụng JDBC driver để làm việc với database gồm 4 loại:

- JDBC-ODBC Bridge Driver

- Native Driver

- Network Protocol Driver

- Thin Driver

2.1.3.2 Kiến trúc của JDBC

 Kiến trúc của JDBC gồm 2 tầng:

 JDBC API – cho phép ứng dụng kết nối đến JDBC Manager connection: JDBC API cung cấp cơ chế kết nối đến đến các loại database khác nhau theo một chuẩn đồng nhất.

 JDBC Driver API: Hỗ trợ JDBC Manager đến Driver connection:

JDBC driver đảm bảo cho JDBC API kết nối đến database mà nó cần. Đối với mỗi database sẽ có JDBC driver riêng mà JDBC API có thể chỉ định để làm việc với nó.

2.1.3.3 Các thành phần của JDBC

 JDBC API cung cấp các Class và Interface sau:

DriverManager: Lớp này quản lý các Database Driver. Ánh xạ các yêu cầu kết

nối từ ứng dụng Java với Data driver thích hợp bởi sử dụng giao thức kết nối phụ.

Driver: Interface này xử lý các kết nối với Database Server. Hiếm khi, bạn tương

tác trực tiếp với các đối tượng Driver này. Thay vào đó, bạn sử dụng các đối tượng DriverManager để quản lý các đối tượng kiểu này.

Connection: Đối tượng Connection biểu diễn ngữ cảnh giao tiếp. Interface này

chứa nhiều phương thức đa dạng để tạo kết nối với một Database.

Statement: Bạn sử dụng các đối tượng được tạo từ Interface này để đệ trình các

lệnh SQL tới Database. Ngồi ra, một số Interface kết thừa từ nó cung chấp nhận thêm các tham số để thực thi các thủ tục đã được lưu trữ.

ResultSet: Các đối tượng này giữ dữ liệu được thu nhận từ một Database sau khi

bạn thực thi một truy vấn SQL. Nó nóng vai trị như một Iterator để cho phép bạn vọc qua dữ liệu của nó.

SQLException: Lớp này xử lý bất cứ lỗi nào xuất hiện trong khi làm việc với

Database

Database.

2.1.4 JDK

1.1.1.1 Khái niệm về JDK

Giải nghĩa JDK - viết tắt của các từ tiếng anh - Java Develop Kit – được dịch ra tiếng Việt là bộ cơng cụ phát triển ngơn ngữ lập trình bằng ứng dụng Java.

JDK chính là một cơng nghệ và trong đó là tập hợp một loạt các cơng cụ nhằm hỗ trợ cho người dùng trong việc viết lên các chương trình ứng dụng dưới dạng ngơn ngữ lập trình.

JDK dùng để viết ứng dụng mà trong đó bao gồm JRE - dùng để chạy các ứng dụng mà JDk cần đến, để góp phần làm nên các ứng dụng trong một hệ ngơn ngữ lập trình mà trong đó JDK có được sự hỗ trợ từ các chương trình có sẵn trong JRE.

 Sự ra đời của JDK như thế nào ?

Từ khi ngơn ngữ lập trình Java ra đời cũng đồng nghĩa với sự hình thành và phát

Một phần của tài liệu (TIỂU LUẬN) đồ án môn học lập TRÌNH JAVA đề tài CHƯƠNG TRÌNH QUẢN lý điểm THI SINH VIÊN TRƯỜNG đại học tài CHÍNH – MARKETING (Trang 41)

Tải bản đầy đủ (PDF)

(132 trang)