1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng phần mềm hỗ trợ quản lý đào tạo cho chi nhánh tổ chức giáo dục và đào tạo apollo tại hải phòng

72 1,6K 8

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 72
Dung lượng 12,61 MB

Nội dung

Song song với lĩnh vực công nghệ thông tin, trong đổi mới đất nước, ngànhGiáo dục và Đào tạo cũng là một ngành rất quan trọng trong xu thế hiện nay.Trong các công tác quản lý đào tạo tạ

Trang 1

MỤC LỤC

LỜI MỞ ĐẦU 7

CHƯƠNG I KHẢO SÁT THỰC TẾ 8

1.1 Giới thiệu Trung tâm Anh ngữ Apollo 8

1.1.1 Năng lực đào tạo 9

1.1.2 Cơ cấu tổ chức 9

1.2 Nghiệp vụ quản lý tại Trung tâm Anh ngữ Apollo 12

1.2.1 Nghiệp vụ quản lý học viên 12

1.2.2 Nghiệp vụ quản lý giáo viên 20

CHƯƠNG II: CƠ SỞ LÝ THUYẾT 23

2.1 Tổng quan về ngôn ngữ Java,hướng dẫn cài đặt JDK và Netbean 23

2.1.1 Giới thiệu Java 23

2.1.2 Một số đặc điểm nổi bật của Java 23

2.1.3 Các câu lệnh trong Java 25

2.1.4 Hướng dẫn cài đặt JDK 39

2.1.5 NetBean IDE 41

CHƯƠNG III: PHÂN TÍCH HỆ THỐNG 47

3.1 Phân tích hệ thống 47

3.1.1 Các chức năng hệ thống cần có 47

3.1.2 Sơ đồ phân rã chức năng 48

3.1.3 Sơ đồ các luồng dữ liệu 56

3.2 Thiết kế cơ sở dữ liệu 63

3.2.1 Sơ đồ thực thể liên kết (mô hình ER) 63

Sơ đồ thực thể liên kết có thể biểu diễn theo hình 3.28 63

3.2.2 Sơ đồ dữ liệu quan hệ 68

CHƯƠNG IV : KẾT QUẢ ĐẠT ĐƯỢC 69

4.1 Hệ thống 69

4.1.1 Form đăng nhập 69

69

Trang 2

4.1.2 Menu hệ thống 69

4.2 Danh mục 71

4.2.1 Form Quản lý danh sách lớp 71

KẾT LUẬN 73

TÀI LIỆU THAM KHẢO 74

Trang 3

LỜI MỞ ĐẦU

Thế giới đang bước vào một giai đoạn phát triển mới đầy sôi động và biếnđổi, trong đó có vai trò của cách mạng khoa học rất quan trọng đặc biệt là cuộccách mạng thông tin Nó đã và đang thâm nhập, tác động sâu sắc, trực tiếp lênmọi mặt, mọi lĩnh vực của đời sống kinh tế xã hội

Việc ứng dụng tin học trong công tác quản lý đã phát triển mạnh mẽ giúpcho công tác quản lý ngày càng trở nên hiệu quả hơn như nâng cao hiệu quảtrong công việc, đưa ra báo cáo, các số liệu thống kê một cách chính xác kịpthời Đồng thời nhờ có việc ứng dụng tin học đã tiết kiệm được rất nhiều thờigian, công sức con người, nó làm giảm nhẹ bộ máy quản lý vốn rất cồng kềnh từtrước đến nay

Song song với lĩnh vực công nghệ thông tin, trong đổi mới đất nước, ngànhGiáo dục và Đào tạo cũng là một ngành rất quan trọng trong xu thế hiện nay.Trong các công tác quản lý đào tạo tại các trung tâm dạy học thì công việc quản

lý học viên, xếp lớp và theo dõi, đánh giá quá trình học tập của học viên, quản lýgiáo viên, phân lịch giảng dạy và theo dõi giảng dạy của giáo viên cũng là vấn

đề được quan tâm Vì nó quyết định công tác giảng dạy và học tập của giáo viên,học viên

Xuất phát từ những lí do trên em đã chọn đề tài “Xây dựng phần mềm hỗ trợ quản lý đào tạo cho chi nhánh Tổ chức Giáo dục và Đào tạo Apollo tại Hải Phòng”

Trang 4

CHƯƠNG I KHẢO SÁT THỰC TẾ 1.1Giới thiệu Trung tâm Anh ngữ Apollo.

- Trung tâm Anh ngữ Apollo ()

- Trụ sở chính: (Tại Hà Nội):67 Lê Văn Hưu, Quận Hai Bà Trưng,

- Điện thoại: 04 3943 2051, Fax: 04 3944 5309

- Phân hiệu tại Hải Phòng :484 Lạch Tray, Quận Ngô Quyền, Điệnthoại: 031 373 6996

Apollo English là trung tâm đào tạo Tiếng Anh 100% vốn nước ngoài

đầu tiên tại Việt Nam, được thành lập từ năm 1994 Apollo tự hào là thành viên

của International House - tổ chức Anh ngữ uy tín và lâu đời của Vương Quốc

Anh Với khẩu hiệu “Where the best become better”, Apollo luôn luôn nỗ lực

không ngừng để trở thành trung tâm đào tạo tiếng Anh hàng đầu Việt Nam

Apollo hiện có 6 trung tâm học tập tiếng Anh hiện đại tại các thành phốlớn như Thành phố Hồ Chí Minh, Hà Nội, Hải Phòng và Đà Nẵng Apollo cungcấp các chương trình học tiếng Anh theo tiêu chuẩn quốc tế, bao gồm:

 Tiếng Anh Trẻ em

 Tiếng Anh cho Teen

 Tiếng Anh Giao tiếp

 IELTS & TOEFL iBT

 Tiếng Anh Doanh nghiệp

 Liên kết Đào tạo

 Tư vấn Du học

Với đội ngũ giảng viên người nước ngoài có bằng cấp quốc tế về giảngdạy tiếng Anh, phương pháp dạy học sáng tạo cùng trang thiết bị học tập hiệnđại, trong nhiều năm liền, Apollo tự hào nhận được nhiều giải thưởng quantrọng của Chính phủ Việt Nam và Chính phủ Anh, bao gồm:

 Apollo là tổ chức nước ngoài đầu tiên được nhận 2 kỷ niệm chương “Vì

Sự Nghiệp Giáo Dục” của Bộ Giáo Dục và Đào Tạo Việt Nam

Trang 5

 Năm 2008 Chủ tịch HĐQT Apollo nhận danh hiệu MBE của Nữ HoàngAnh về phát triển đào tạo tiếng Anh theo tiêu chuẩn quốc tế tại Việt Nam

Apollo còn là đối tác của các tổ chức lớn trong và ngoài nước như:DOET, IELTS, Trường đại học Cambridge, Fahasa, Nestle…

Đồng thời, Apollo còn là đơn vị đào tạo tiếng Anh và cố vấn cho cácchương trình:

 Đường lên đỉnh Olympia

 Rung Chuông Vàng

 Hot Vteen

 Đồ Rê Mí

1.1.1 Năng lực đào tạo.

Trung tâm Anh ngữ Apollo tại Hải Phòng luôn có số giáo viên là 10người Đội ngũ giáo viên người nước ngoài tại Apollo đạt đủ 3 chuẩn: Tốtnghiệp Đại học, đạt chứng chỉ giảng dạy tiếng Anh CELTA/TEFL/DELTA vàchứng chỉ Cambridge TKT cùng phương pháp giảng dạy sinh động kết hợpluyện ngữ âm, khuyến khích học viên chủ động phát biểu, phản xạ nhanh và tựtin hơn

Trung tâm Anh ngữ Apollo nói chung và Trung tâm Anh ngữ Apollo tạiHải Phòng nói riêng có cơ sở vật chất phục vụ đào tạo có thể nói là đạt đẳng cấpquốc tế Tại Hải Phòng, trung tâm có hơn 10 phòng học khang trang, rộng rãi,được trang bị đầy đủ các vật tư, thiết bị hiện đại như máy chiếu, hệ thốngmultimedia đa người dùng, mạng máy tính,…

Mỗi tháng, Trung tâm Apollo tại Hải Phòng đón 200 lượt học viên tham

dự vào các khóa đào tạo tiếng Anh cho nhiều lứa tuổi cũng như chuyên môn,mục đích đào tạo khác nhau

1.1.2 Cơ cấu tổ chức

Sơ đồ cơ cấu tổ chức của Trung tâm Anh ngữ Apollo tại Hải Phòng được

biểu diễn qua hình 1.1

Trang 6

Giám đốc Trung tâm

Phòng chăm sóc

khách hàng Phòng đào tạo

Phòng Marketing Phòng kế toán Bộ phận Sale

Hình 1.1 Cơ cấu tổ chức

Giám đốc Trung tâm: Bà Vũ Thị Hoa Trang, đại diện về luật pháp, chịutrách nhiệm điều hành toàn bộ các hoạt động của Trung tâm, đương nhiên làngười ra quyết định ở cấp cao nhất của trung tâm Apollo tại Hải Phòng

1.1.2.1 Phòng Marketing có các chức năng:

 Phân tích mở lớp:

 Phân tích mở lớp dựa vào danh sách chờ

 Phân tích mở lớp dựa vào doanh số, nhu cầu về loại khóa học

 Phân tích mở lớp cho lớp hiện tại để tham gia khóa học kế tiếp

 Phân tích thời điểm mở lớp học phù hợp

 Tiếp thị và thị trường:

 Quản lý thông tin học viên có triển vọng

 Ghi nhận thông tin các lần học viên tiếp xúc với trung tâm

 Thống kê học viên từ các nguồn, chiến dịch tiếp thị hiệu quả

 Chăm sóc và tiếp thị để duy trì sự trung thành của học viên vớitrung tâm

 Phân tích hiệu quả của việc tư vấn của nhân viên đối với học viên(theo tỉ lệ của người thực học)

 Phân tích phân khúc đối tượng học viên theo độ tuổi, trình độ…

 Phân tích khách hàng là công ty

1.1.2.2 Phòng chăm sóc khách hàng:

Đăng ký lớp học:

Trang 7

 Các chức năng hỗ trợ kiểm tra trình độ để xếp lớp

 Quản lý thông tin học viên (tạo mới, sửa đổi…)

 Đăng ký lớp học cho học viên

 Chuyển lớp cho học viên

Sắp xếp giờ dạy cho giáo viên:

 Phân tích điều kiện đứng lớp (trình độ giáo viên, thời gian có thểđứng lớp) của giáo viên

 Sắp xếp lớp và giờ dạy phù hợp cho giáo viên

 Một lớp học có thể được nhiều giáo viên giảng dạy, xử lý chứcnăng dạy thay

Chức năng chấm công giáo viên:

 Chấm giờ dạy cho giáo viên theo lớp học, lịch học, hệ số lương củagiáo viên

 Xử lý các trường hợp dạy thay tạm thời, dạy thay hoàn toàn

Trang 8

1.1.2.3 Phòng đào tạo:

Quản lý giáo viên:

 Tuyển dụng giáo viên mới

 Quản lý thông tin trình độ, bằng cấp của giáo viên

 Ghi nhận thông tin & thời gian có thể đứng lớp của giáo viên

Chức năng quản lý học bạ:

 Quản lý (cập nhật, tìm kiếm…) học bạ của học viên

 Điểm kiểm tra đầu vào, điểm quá trình học, kết quả học…

Quản lý kết quả cuối cùng và in chứng chỉ:

 Dựa trên kết quả chuyên cần, kết quả của quá trình học của họcviên tính ra kết quả học tập của học viên

 In chứng chỉ tốt nghiệp

 Thông tin cho học viên và phụ huynh

1.1.2.4 Phòng kế toán :

- Quản lý thu chi

- Quản lý thu học phí của học viên

- Xử lý học phí khi chuyển lớp, bảo lưu, chuyển đổi cho học viên khác

- Quản lý phòng học và trang thiết bị dạy học

1.1.2.5 Bộ phận Sale:

- Sắp xếp mở lớp riêng cho các học viên của một công ty, tổ chức nào đó

- Sắp xếp giáo trình cũng như giáo viên dạy riêng theo nhu cầu học của tổchức, công ty…

1.2 Nghiệp vụ quản lý tại Trung tâm Anh ngữ Apollo.

1.2.1 Nghiệp vụ quản lý học viên

1.2.1.1 Nghiệp vụ đăng ký học

Học viên tìm hiểu khóa học, đăng ký khóa học thông qua email, điện thoại

hay trực tiếp đến trung tâm Anh ngữ Apollo sẽ nhận được phiếu đăng ký kiểm tra trình độ có biểu mẫu là hình 1.2

Trang 9

Như vậy, học viên bắt buộc phải cung cấp các thông tin về bản thân như:

Họ tên, ngày sinh, điện thoại, địa chỉ, email, Tên trường/Trung tâm tiếng Anh

đã học Ngày đăng ký kiểm tra trình độ được in trên phiếu đăng ký kiểm tra

trình độ để cho học viên lựa chọn thời gian cụ thể phù hợp với thời gian rảnhcủa học viên Các thông tin về học viên sẽ được lưu vào sổ, đồng thời nhân viênchăm sóc khách hàng sẽ đưa học viên vào danh sách chờ kiểm tra trình độ

Hình 1.2 Phiếu đăng ký kiểm tra trình độ

1.2.1.2 Nghiệp vụ kiểm tra trình độ

Mỗi tuần trung tâm thường chỉ có 3 lớp mở ra để kiểm tra trình độ củahọc viên Học viên sau khi đăng ký kiểm tra trình độ thì nhân viên trong phòngchăm sóc khách hàng sẽ thu lại lệ phí kiểm tra trình độ là bốn mươi nghìn đồng

và sẽ gửi lại phiếu hẹn kiểm tra trình độ với nội dung gồm: Họ tên, Thời gian.

Đến thời gian hẹn học viên sẽ đến trung tâm làm bài kiểm tra trình độ thông quacác bài kiểm tra ngữ pháp, nghe, nói…Sau khi học viên làm xong bài kiểm tra

Trang 10

nhân viên phòng đào tạo sẽ chấm luôn bài kiểm tra của học viên và trả lại kếtquả cho học viên.

1.2.1.3 Nghiệp vụ xếp lớp

Sau khi đã có kết quả kiểm tra thi xếp lớp (đã phân học viên vàp các cấplớp phù hợp), nhân viên phòng chăm sóc khách hàng sẽ dựa trên giờ học mà họcviên đăng ký để mở lớp Nếu có một giờ học mà có quá ít học viên thuộc cùngmột cấp lớp (dưới 12 học viên) thì sẽ không mở lớp Khi đó, nhân viên phòngchăm sóc khách hàng sẽ xem lại điểm thi của sinh viên để quyết định cho sinhviên học lên hoặc xuống một cấp nếu có lớp Nếu vẫn không được thì sẽ liên lạcvới học viên để đề nghị đổi giờ học, nếu không đổi được sẽ hoàn trả học phí chohọc viên và trong một lớp có tối đa 18 học viên

Khi học viên đã lựa chọn được khóa học muốn đăng ký phù hợp với trình

độ của mình, nhân viên phòng chăm sóc khách hàng sẽ đưa lại cho học viên đơn đăng ký nhập học tùy theo lứa tuổi.

Đơn đăng ký dành cho người lớn (từ 19 tuổi trở lên) có biểu mẫu là hình 1.3.

Đơn đăng ký dành cho trẻ em, cho teen (từ 4 -18 tuổi) có biểu mẫu là hình 1.4

Sau khi học viên đã điền đầy đủ thông tin vào đơn đăng ký nhập học nhân

viên phòng chăm sóc khách hàng sẽ lưu lại thông tin học viên vào danh sách học

viên chính thức tại trung tâm và đưa lại cho học viên lịch khai giảng với biểu mẫu là hình 1.5 Học viên khi đã đóng học phí và chính thức trở thành học viên tại trung tâm Anh ngữ Apollo sẽ được phát thẻ học viên với biểu mẫu là hình 1.6

Trang 11

Hình 1.3 Đơn đăng ký nhập học dành cho người lớn

Trang 12

Hình 1.4 Đơn đăng ký nhập học dành cho trẻ em, cho teen

Trang 13

Hình 1.5 Lịch khai giảng Hình 1.6 Thẻ học viên

1.2.1.4 Nghiệp vụ đăng ký lại

Học viên sau khi nhập học tại trung tâm có quyền bảo lưu kết quả, chuyển

lớp hay chuyển cho người khác dựa theo quy định về đăng ký nhập học và học phí các khóa học cá nhân có biểu mẫu là hình 1.7

Nếu chuyển khóa học cho người khác học viên phải chưa bắt đầu khóahọc và khóa học khi chuyển phải giữ nguyên như lúc đăng ký ban đầu Học viênchỉ cần thông báo đến trung tâm Apollo thì nhân viên phòng chăm sóc kháchhàng sẽ lưu lại thông tin người được chuyển vào danh sách học viên thay thếcho học viên cũ và tên học viên hiện tại sẽ được lưu trữ trong danh sách chờ họcviên để nhân viên phòng chăm sóc khách hàng sẽ tư vấn khi có một khóa họcmới hay có chương trình khuyến mại mới

Trang 14

Hình 1.7 Quy định về đăng ký nhập học và học phí các khóa học cá nhân

Trang 15

1.2.1.5Nghiệp vụ theo dõi quá trình học tập của học viên

Mỗi buổi học tại trung tâm Anh ngữ Apollo, giáo viên sẽ điểm danh học

viên với biểu mẫu điểm danh theo tuần có nội dung như sau: stt, họ tên, giới tính, ngày sinh, buổi học, ngày, giáo viên… để đánh giá chuyên cần học viên

vào cuối khóa học (đối với học viên là trẻ em sẽ có hai bài thi giữa khóa và cuốikhóa để đánh giá kết quả học tập) Học viên phải tham gia 70% số buổi học tạitrung tâm thì mới được tham gia thi cuối khóa Phòng chăm sóc khách hàng sẽ

tổ chức thi cuối khóa cho học viên với đề thi do phòng đào tạo ra đề Khi thixong, nếu học viên đạt đủ điểm sẽ được phòng đào tạo cấp chứng chỉ và sẽ được

tư vấn học lên cấp độ cao hơn Những học viên bị trượt sẽ không được trung tâm

tổ chức thi lại (nếu học viên tham gia 90% số buổi của khóa học sẽ được sắp xếpmột khóa học miễn phí tương đương với khóa học đã đăng ký)

1.2.1.6 Nghiệp vụ quản lý điểm thi

Khóa học dành cho người lớn tại trung tâm thường có 23 buổi học, đếnbuổi thứ 21 học viên sẽ được làm bài thi để đánh giá kết quả học tập cuối khóagồm một bài thi nghe, một bài thi viết, một bài thi phỏng vấn Kết quả thi củahọc viên sẽ được nhân viên phòng chăm sóc khách hàng gửi lại cho học viên vàobuổi thứ 23, buổi học thứ 22 sẽ ôn lại tất cả kiến thức của cả khóa học

Đối với khóa học dành cho trẻ em tại trung tâm thường có 20 buổi và cóhai bài thi trong cả khóa học, một bài thi vào buổi thứ 10 và một bài thi vào buổithứ 18 cũng gồm một bài thi nghe, một bài thi viết, một bài thi phỏng vấn Kếtquả thi của học viên sẽ được gửi lại học viên sau hai buổi mỗi lần thi

Học viên chỉ đạt yêu cầu khi hoàn thành đúng 50% bài thi, sau đó sẽ đượcnhân viên phòng đào tạo cấp chứng chỉ đối với học viên đạt yêu cầu vào buổihọc cuối cùng của khóa học Tất cả điểm thi của học viên được nhân viên phòngchăm sóc khách hàng lưu trữ lại dưới dạng file excel gồm các thông tin như: stt,

họ tên, giới tính, ngày sinh, địa chỉ, điện thoại, khóa học, lớp học, điểm bài thinghe, điểm bài thi viết, điểm bài thi phỏng vấn…

Trang 16

Những học viên không đạt yêu cầu sẽ được trung tâm xem xét lại, nếu họcviên đi học đầy đủ đạt 90% trở lên sẽ được tặng một khóa học lại miễn phí như

đã nói ở trên, còn đối với học viên đi học không đạt 90% trở lên thì sẽ đượcnhân viên phòng chăm sóc khách hàng tư vấn chọn lớp học phù hợp để học lại

1.2.2 Nghiệp vụ quản lý giáo viên.

1.2.2.1 Nghiệp vụ quản lý hồ sơ giáo viên

Cơ cấu tổ chức nhân sự của Trung tâm Anh ngữ Apollo tuân theo Quyếtđịnh số 13/2007/QĐ-BLĐTBXH ngày 14 tháng 5 năm 2007 của Bộ trưởng BộLao động - Thương binh và Xã hội về Trung tâm dạy nghề Theo điều 21 củaQuyết định, tiêu chuẩn tuyển mộ giáo viên là:

Là giáo viên nước ngoài

Phẩm chất, đạo đức tốt

Đạt trình độ chuẩn quy định tại khoản 2 Điều 21

Đủ sức khoẻ theo yêu cầu nghề nghiệp

Lý lịch bản thân rõ ràng

Khoản 2 điều 21, có quy định giáo viên nếu tốt nghiệp cao đẳng sư phạm(trong nước hay quốc tế) trở lên, thì phải có chứng chỉ sư phạm hoặc tươngđương

Trung tâm Anh ngữ Apollo tại Hải Phòng luôn phải đảm bảo số giáo viên

là 10 người Thông tin về giáo viên được phòng đào tạo lưu trữ và quản lý gồm:

mã giáo viên, tên giáo viên, ngày sinh, giới tính, địa chỉ, điện thoại, email, tình trạng hôn nhân, quốc tịch, bằng cấp, các thông tin khác….

Trung tâm Anh ngữ Apollo thường ký hợp đồng có các thời hạn 6 tháng,

1 năm, 2 năm tùy theo thâm niên phục vụ, trình độ của giáo viên Hình thức trảlương có thể là khoán hoặc theo sản phẩm tùy theo thỏa thuận được ghi rõ tronghợp đồng lao động, trong đó một đơn vị sản phẩm tương đương với một buổi lênlớp Giáo viên phải tuân theo các quyết định điều động nhân sự của Trung tâm

Vì các lý do khác nhau, hợp đồng có thể kết thúc sớm hơn so với thời hạn đãthỏa thuận Khi hợp đồng kết thúc, hoặc là hai bên (Trung tâm và giáo viên) có

Trang 17

thể gia hạn hợp đồng, hoặc là tiến hành thanh lý hợp đồng theo quy đinh củaPháp luật.

1.2.2.2 Nghiệp vụ phân công giảng dạy

Công tác phân công giảng dạy được thực hiện theo phương pháp truyềnthống là thời khóa biểu Nhân viên phòng chăm sóc khách hàng sẽ dựa vào thờigian rảnh rỗi của giáo viên để phân cho giáo viên đó dạy lớp học nào Các lớphọc trong trung tâm thường luôn có hai giáo viên luôn phiên dạy học nhưng đôivới lớp học học chương trình Tiếng Anh dành cho Mẫu giáo và thiếu nhi sẽ chỉ

do một giáo viên đảm nhận dạy từ đầu đến cuối, nếu giáo viên đó bận sẽ để chomột giáo viên khác thay thế Trong thời khóa biểu dành cho giáo viên sẽ ghi rõgiáo viên được phân công dạy lớp nào, vào thời gian nào và cũng ghi lại thời

gian làm việc của giáo viên Ví dụ minh họa như hình 1.8

Trang 18

Hình 1.8 Thời khóa biểu

Trong đó, YLJ5857,GEEA37…là ký hiệu lớp, OFF là ký hiệu thời giannghỉ của giáo viên Thời khóa biểu có thể được điều chỉnh bất cứ khi nào cóbiến động về nhân sự cũng như cơ sở vật chất

Khi có giáo viên xin nghỉ làm việc hay có việc bận đột xuất trung tâm sẽ

tự điều động hoặc liên hệ với chi nhánh tuyến trên cắt cử giáo viên thay thế

1.2.2.3 Nghiệp vụ theo dõi quá trình giảng dạy

Một trong những trách nhiệm quan trọng của phòng đào tạo là theo dõigiờ lên lớp của giáo viên Đó là cơ sở để chấm công và trả lương cuối tháng.Việc theo dõi giờ lên lớp của giáo viên được thực hiện trên excel với phươngpháp rất đơn giản: chỉ thị màu thẳng vào thời khóa biểu Trong đó, màu xanhgreen gạch dưới tên giáo viên nghĩa là giáo viên đã lên lớp Ngược lại, nếu tên

Trang 19

giáo viên bị gạch đỏ nghĩa là vắng mặt Cuối tháng, dựa vào thời khóa biểu cóchỉ thị màu, có thể dễ dàng đếm số công của từng giáo viên.

Trang 20

CHƯƠNG II: CƠ SỞ LÝ THUYẾT 2.1 Tổng quan về ngôn ngữ Java,hướng dẫn cài đặt JDK và Netbean

2.1.1 Giới thiệu Java

Java được khởi đầu bởi James Gosling và đồng nghiệp tại SunMicrosystems vào năm 1991 Ban đầu ngôn ngữ lập trình này có tên là Oak (cónghĩa là cây sồi), họ dự định thay ngôn ngữ này sẽ thay thế cho ngôn ngữ C++,nhưng các tính năng giống Object C

Java được viết với tiêu chí “Viết một lần thực thi khắp nơi”, có nghĩa là

nó có thể chạy trên hầu hết các nền tảng công nghệ hiện nay

Biểu tượng của ngôn ngữ Java là một tách cà phê bốc khói

2.1.2 Một số đặc điểm nổi bật của Java

Máy ảo Java(Java Virtual Machine)

Tất cả các chương trình muốn thực thi được thì phải được biên dịch ra mãmáy Mã máy của từng kiến trúc CPU của mỗi máy tín là khác nhau (tập lệnh

mã máy của CPU Intel, CPU Solarix, CPU Macintosh … là khác nhau), vì vậytrước đây một chương trình sau khi được biên dịch xong chỉ có thể chạy đượctrên một kiến trúc CPU cụ thể nào đó Đối với CPU Intel chúng ta có thể chạycác hệ điều hành như Microsoft Windows,Unix,Linux,OS/2,…

Ngôn ngữ lập trình Java ra đời, nhờ vào máy ảo Java mà khó khăn nêutrên đã được khắc phục Một chương trình viết bằng ngôn ngữ lập trình Java sẽđược biên dịch ra mã của máy ảo java (mã java bytecode) Sau đó máy ảo Javachịu trách nhiệm chuyển mã java bytecode thành mã máy tương ứng.SunMicrosystem chịu trách nhiệm phát triển các máy ảo Java chạy trên các hệ điềuhành trên các kiến trúc CPU khác nhau

Java là một ngôn ngữ lập trình vừa biên dịch vừa thông dịch

Trang 21

Chương trình nguồn viết bằng ngôn ngữ lập trình Java có đuôi *.java đầutiên được biên dịch thành tập tin có đuôi *.class và sau đó sẽ được thông dịch.

Độc lập nền

Một chương trình viết bằng ngôn ngữ Java có thể chạy trên nhiều máytính có hệ điều hành khác nhau (Windows, Unix,Linux, …) miễn sao ở đó có càiđặt máy ảo java (Java Virtual Machine) Viết một lần chạy mọi nơi (write oncerun anywhere)

Hướng đối tượng

Hướng đối tượng trong Java tương tự như C++ nhưng Java là một ngônngữ lập trình hướng đối tượng hoàn toàn Tất cả mọi thứ đề cập đến trong Javađều liên quan đến các đối tượng được định nghĩa trước, thậm chí hàm chính củamột chương trình viết bằng Java (đó là hàm main) cũng phải đặt bên trong mộtlớp Hướng đối tượng trong Java không có tính đa kế thừa (multi inheritance)như trong C++ mà thay vào đó Java đưa ra khái niệm interface để hỗ trợ tính đa

kế thừa Vấn đề này sẽ được bàn chi tiết trong phần sau

Đa nhiệm - đa luồng (MultiTasking - Multithreading)

Java hỗ trợ lập trình đa nhiệm, đa luồng cho phép nhiều tiến trình, tiểutrình có thể chạy song song cùng một thời điểm và tương tác với nhau

Khả chuyển (portable)

Chương trình ứng dụng viết bằng ngôn ngữ Java chỉ cần chạy được trênmáy ảo Java là có thể chạy được trên bất kỳ máy tính, hệ điều hành nào có máy

ảo Java “Viết một lần, chạy mọi nơi” (Write Once, Run Anywhere)

Hỗ trợ mạnh cho việc phát triển ứng dụng

Công nghệ Java phát triển mạnh mẽ nhờ vào “đại gia SunMicrosystem”công ty đã phát minh ra ngôn ngữ Java ,cung cấp nhiều công cụ,thư viện lập trình phong phú hỗ trợ cho việc phát triển nhiều loại hình ứng dụngkhác nhau,công nghệ Java được chia làm ba bộ phận cụ thể như sau:

Trang 22

+ J2SE (Java 2 Standard Edition):Gồm các đặc tả, công cụ, API của nhânJava giúp phát triển các ứng dụng trên desktop và định nghĩa các phần thuộcnhân của Java.

+ J2EE (Java 2 Enterprise Edition) :Gồm các đặc tả, công cụ, API mởrộng J2SE để phát triển các ứng dụng qui mô xí nghiệp, chủ yếu để chạy trênmáy chủ (server) Bộ phận hay được nhắc đến nhất của công nghệ này là côngnghệ Servlet/JSP: sử dụng Java để làm các ứng dụng web

+ J2ME (Java 2 Micro Edition) : 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

Chúng ta sẽ tìm hiểu sơ về thuật ngữ Java Development Kit (JDK - Bộcông cụ cho người phát triển ứng dụng bằng ngôn ngữ lập trình Java) là một tậphợp những công cụ phần mềm được phát triển bởi Sun Microsystems dành chocác nhà phát triển phần mềm, dùng để viết những applet Java hay những ứngdụng Java - bộ công cụ này được phát hành miễn phí gồm có trình biên dịch,trình thông dịch, trình giúp sửa lỗi (debugger, trình chạy applet và tài liệunghiên cứu

Kể từ khi ngôn ngữ Java ra đời, JDK là bộ phát triển phần mềm thôngdụng nhất cho Java Ngày 17 tháng 11 năm 2006, hãng Sun tuyên bố JDK sẽđược phát hành dưới giấy phép GNU General Public License (GPL), JDK trởthành phần mềm tự do Việc này đã được thực hiện phần lớn ngày 8 tháng 5năm 2007[1] và mã nguồn được đóng góp cho OpenJDK

Hiện tại bản JDK 6 U 18 được xem là phiên bản mới nhất với nhiều tínhnăng vượt trội hơn so với các phiên bản đầu tiên

2.1.3 Các câu lệnh trong Java.

Các toán tử quan hệ và toán tử điều kiện

Java cung cấp cho bạn một vài toán tử và câu lệnh điều khiển luồng đểcho phép bạn ra quyết định trong mã lệnh của mình Thông thường, một quyếtđịnh lựa chọn trong mã lệnh bắt đầu bằng một biểu thức logic (là biểu thức được

Trang 23

đánh giá bằng hai giá trị đúng hoặc sai – true/false) Những biểu thức đó sử

dụng các toán tử quan hệ, chúng so sánh một toán hạng hoặc một biểu thức với một với một toán hạng hay biểu thức khác, và các toán tử điều kiện nữa Dưới

&& a && b a và b cả hai đều true, tính b có điều kiện

(nếu a là false thì không cần tính b nữa)

|| a || b a hoặc b là true, tính b có điều kiện

(nếu a là true thì không cần tính b nữa)

& a & b a và b cả hai là true, luôn luôn tính b

| a | b a hoặc b là true, luôn luôn tính b

a và b là khác nhau (true nếu a là true và b là false, hoặc ngược lại, nhưng không được đồng thời là true hoặc false)

Thực thi điều kiện với lệnh if

Giờ ta phải dùng những toán tử đó Hãy thêm một vài biểu thức logic đơn giản vào phương thức walk() của chúng ta:

public String walk(int steps) {

if (steps > 100)

return "I can't walk that far at once";

progress = progress + steps;

return "Just took " + steps + " steps.";

Trang 24

Bây giờ logic hoạt động trong phương thức này sẽ kiểm tra xem sốlượng steps lớn như thế nào Nếu quá lớn, phương thức sẽ ngay lập tức trả về vàthông báo rằng thế là quá xa Mỗi phương thức có thể trả về chỉ một lần Nhưngbạn thấy, có phải có hai giá trị trả về ở đây đúng không? Đúng, nhưng chỉ cómột lần trả về được thực thi mà thôi Điều kiện if của Java có khuôn dạng như

một cách không cần thiết như thế được gọi là gia vị cú pháp vô ích, nó làm giảm

tính dễ đọc của mã lệnh

Phạm vi của biến

Tất cả các biến trong ứng dụng Java đều có một phạm vi (scope), hay là

các đặc trưng xác định nơi bạn có thể truy cập biến chỉ bằng tên của nó Nếu

biến nằm trong vùng phạm vi, bạn có thể tương tác với nó bằng tên Nếu biến nằm ngoài vùng phạm vi thì điều này là không thể.

Có nhiều mức phạm vi trong ngôn ngữ Java, được xác định bởi vị trí khai

báo của biến ở đâu (Lưu ý: không phải tất cả đều là chính thức, theo như tôi biết, nhưng chúng thường là những cái tên mà người lập trình vẫn dùng).

public class SomeClass {

member variable scope

Trang 25

public void someMethod( parameters ) {

method parameter scope

local variable declaration(s)

local scope

someStatementWithACodeBlock {

block scope

}}

}

Phạm vi của một biến trải rộng cho đến cuối đoạn (hoặc cuối khối) mãlệnh mà nó được khai báo trong đó Ví dụ, trong phương thức walk(), chúng tatham chiếu đến tham số steps bằng cái tên đơn giản của nó, vì nó nằm trongphạm vi Ở ngoài phương thức này, khi nói đến steps thì trình biên dịch sẽ báolỗi Mã lệnh cũng có thể gọi đến các biến đã được khai báo trong phạm vi rộnghơn mã đó Ví dụ, chúng ta được phép tham chiếu đến biến cá thể progress bêntrong phương thức walk()

Các dạng khác của lệnh if

Chúng ta có thể tạo ra một câu lệnh kiểm tra điều kiện đẹp hơn bằng cách viết lệnh if dưới dạng khác:

if ( boolean expression ) {

statements to execute if true

} else if ( boolean expression ) {

statements to execute if false

} else if ( boolean expression ) {

statements to execute if false

} else {

Trang 26

default statements to execute

progress = progress + steps;

return "Just took " + steps + " steps.";

}

Có một dạng viết tắt của lệnh if trông hơi xấu, nhưng cùng đạt được mụcđích, mặc dù dạng viết tắt này không cho phép có nhiều câu lệnh cả trongphần if lẫn trong phần else Dó là dùng toán tử tam nguyên ?: (Toán tử tamnguyên là toán tử có ba toán hạng) Chúng ta có thể viết lại câu lệnh if đơn giản theo cách sau:

return (steps > 100) ? "I can't walk that far at once" : "Just took " + steps + " steps.";

Tuy nhiên, câu lệnh này không đạt được mục đích vì khi steps nhỏ hơn

100, chúng ta muốn trả về một thông điệp và đồng thời muốn cập nhậtbiến progress Bởi vậy trong trường hợp này, sử dụng toán tử tắt ?: không phải

là một lựa chọn vì chúng ta không thể thực thi nhiều câu lệnh với dạng viết tắtnày

Lệnh switch

Lệnh if chỉ là một trong số các câu lệnh cho phép bạn kiểm tra điều kiệntrong mã lệnh Một câu lệnh khác bạn rất có thể đã gặp là lệnh switch Nó đánh giá một biểu thức số nguyên, sau đó thực thi một hay nhiều câu lệnh dựa trên giá trị của biểu thức này Cú pháp của lệnh như sau:

Trang 27

switch ( integer expression ) {

JRE đánh giá biểu thức số nguyên, chọn ra trường hợp áp dụng, sau đó

thực thi câu lệnh của trường hợp này Câu lệnh cuối cùng của mỗi trường hợpngoại trừ trường hợp cuối là break; Nó là “lệnh thoát” của switch, và điều khiển

sẽ tiếp tục xử lý dòng tiếp theo trong mã lệnh sau câu lệnh switch Về mặt kỹthuật, không cần có lệnh break; Câu lệnh break cuối cùng lại càng đặc biệtkhông cần thiết vì dù gì thì điều khiển cũng tự thoát khỏi câu lệnh Nhưng cáchlàm tốt là cứ thêm chúng vào Nếu bạn không thêm lệnh break; ở cuối mỗitrường hợp, việc thực thi chương trình sẽ rơi vào trường hợp kế tiếp và tiếp tụcchạy, cho đến khi gặp một câu lệnh break; hoặc đến khi kết thúc câulệnh switch Trường hợp default sẽ được thực hiện nếu giá trị số nguyên khôngkích hoạt bất cứ trường hợp nào khác Điều này không bắt buộc

Về bản chất, câu lệnh switch thực sự là câu lệnh if-else if với điều kiện củalệnh if là số nguyên; nếu điều kiện của bạn dựa trên một giá trị số nguyên đơn

lẻ, bạn có thể dùng hoặc là lệnh switch hoặc là lệnh if-else Vậy chúng ta có thểviết lại điều kiện if của chúng ta trong phương thức walk dưới dạng câu

Trang 28

lệnh switch được không? Câu trả lời là không vì chúng ta đã kiểm tra một biểuthức logic ( steps > 100) Câu lệnh switch không cho phép kiểm tra như thế.

case 1: System.out.println("January"); break;

case 2: System.out.println("February"); break;

case 3: System.out.println("March"); break;

case 4: System.out.println("April"); break;

case 5: System.out.println("May"); break;

case 6: System.out.println("June"); break;

case 7: System.out.println("July"); break;

case 8: System.out.println("August"); break;

case 9: System.out.println("September"); break;

case 10: System.out.println("October"); break;

case 11: System.out.println("November"); break;

case 12: System.out.println("December"); break;

default: System.out.println("That's not a valid month number."); break;}

month là một biến nguyên biểu thị số hiệu của tháng Vì là số nguyên nên câulệnh switch ở đây là hợp lệ Với mỗi trường hợp hợp lệ, chúng ta in ra tên tháng,sau đó thoát khỏi câu lệnh Trường hợp mặc định quản lý các số nằm ngoàiphạm vi hợp lệ của các tháng

Cuối cùng, đây là một ví dụ về việc dùng nhiều trường hợp thông nhau có thể sẽ là một mẹo nhỏ thú vị:

int month = 3;

switch (month) {

case 2:

Trang 29

case 3:

case 9: System.out.println("My family has someone with a birthday in thismonth."); break;

9|

| -10 -20 -30 -40 -50 -60 -70 -80 -| - XML error: The previous line is longer than the max of 90 characters -|

Chạy lại nhiều lần

Đến giờ, chúng ta đã học được nhiều thứ, nhưng vẫn còn những hạn chế.Thỉnh thoảng chúng ta muốn mã lệnh thi hành đi thi hành lại cùng một việc chođến khi công việc hoàn tất Ví dụ, giả sử ta muốn đối tượng Adult của chúng tanói hơn một lần câu “hello” Điều này khá dễ thực hiện trong mã lệnh Java (mặc

dù không dễ thực hiện trong các ngôn ngữ kịch bản lệnh như Groovy chẳng

Trang 30

hạn) Java cung cấp cho bạn các cách sau để lặp đi lặp lại mã lệnh, hoặc thựchiện mã lệnh hơn một lần:

 câu lệnh for

 câu lệnh do

 câu lệnh while

Chúng thường được gọi chung là các vòng lặp (loops) (ví dụ, vòng lặp

for), vì chúng lặp đi lặp lại cả khối mã lệnh cho đến khi bạn ra lệnh cho chúngdừng lại Trong các phần tiếp sau, chúng ta sẽ nói ngắn gọn về từng lệnh một vàdùng chúng trong phương thức speak() để trò chuyện chút ít

Vòng lặp for

Cấu trúc lặp cơ bản nhất trong ngôn ngữ Java là câu lệnh for, câu lệnh này cho phép bạn lặp từng bước trên một phạm vi giá trị cho phép xác định số lần thực thi vòng lặp Cú pháp thường sử dụng nhất của vòng lặp for như sau:

for ( initialization; termination; increment ) {

Sử dụng vòng lặp for

Ta hãy biến đổi phương thức speak() sao cho nó nói từ “hello” ba lần, dùng vòng lặp for Khi làm việc này, chúng ta sẽ tìm hiểu về một lớp có sẵn của Java, làm việc lắp ghép các chuỗi một cách 'ngon lành':

public String speak() {

StringBuffer speech = new StringBuffer();

Trang 31

for (int i = 0; i < 3; i++) {

chúng ta đã khai báo một biến nguyên i để làm số đếm cho vòng lặp (các ký tự i,

j và k thường được dùng làm biến đếm vòng lặp, nhưng bạn có thể đặt bất kỳ tên

nào mà bạn muốn cho biến này) Biểu thức tiếp theo cho biết chúng ta sẽ tiếp tụclặp cho đến khi biến này đạt đến một giá trị nhỏ hơn ba Biểu thức sau cho biếtchúng ta sẽ tăng biến đếm lên một sau mỗi lần lặp (hãy nhớ toán tử ++) Mỗi lần

đi qua vòng lặp, chúng ta sẽ gọi phương thức append() của speech và dán một từ

“hello” khác vào cuối

Bây giờ, thay phương thức speak() cũ bằng phương thức speak() mới, loại

bỏ mọi lệnh println trong main() và thêm một lệnh để gọi phươngthức speak() của Adult Khi bạn thực hiện, lớp có thể giống như sau:

package intro.core;

public class Adult {

protected int age = 25;

protected String firstname = "firstname";

protected String lastname = "lastname";

protected String race = "inuit";

protected String gender = "male";

protected int progress = 0;

Trang 32

public static void main(String[] args) {

Adult myAdult = new Adult();

public String getName() {

return firstname.concat(" ").concat(lastname);

}

public String speak() {

StringBuffer speech = new StringBuffer();

for (int i = 0; i < 3; i++) {

speech.append("hello");

}return speech.toString();

progress = progress + steps;

return "Just took " + steps + " steps.";

}

Trang 33

}

Khi bạn chạy đoạn mã lệnh này, bạn sẽ nhận được kết quả là

dòng hellohellohello trên màn hình Nhưng dùng vòng lặp forchỉ là một cách để làm việc này Java còn cho bạn hai cấu trúc thay thế khác mà bạn sẽ thấy tiếp theo đây

Vòng lặp while

Đầu tiên hãy thử vòng lặp while Phiên bản sau đây của phươngthức speak() cho ra cùng một kết quả như cách làm mà bạn thấy ở phần trên:

public String speak() {

StringBuffer speech = new StringBuffer();

Cú pháp cơ bản của vòng lặp while như sau:

while ( boolean expression ) {

statement(s)

}

Vòng lặp while thực hiện mã lệnh trong khối cho đến khi biểu thức của nótrả lại giá trị là false Vậy bạn điều khiển vòng lặp như thế nào? Bạn phải đảm

Trang 34

một vòng lặp vô hạn Trong trường hợp của chúng ta, ta khai báo một biến địa

phương là i ở bên ngoài vòng lặp, khởi tạo cho nó giá trị là 0, sau đó kiểm tra

giá trị của nó trong biểu thức lặp Mỗi lần đi qua vòng lặp, chúng ta lại

tăng i lên Khi nó không còn nhỏ hơn 3 nữa, vòng lặp sẽ kết thúc và chúng ta sẽ

trả lại xâu ký tự lưu trong bộ đệm

Ở đây ta thấy vòng for thuận tiện hơn Khi dùng vòng for, chúng ta khaibáo và khởi tạo biến điều khiển, kiểm tra giá trị của nó và tăng giá trị của nó chỉbằng một dòng mã lệnh Dùng vòng while đòi hỏi nhiều việc hơn Nếu chúng taquên tăng biến đếm, chúng ta sẽ có một vòng lặp vô hạn Nếu ta không khởi tạobiến đếm, trình biên dịch sẽ nhắc nhở Nhưng vòng while lại rất tiện lợi nếu bạnphải kiểm tra một biểu thức logic phức tạp (đóng hộp tất cả vào vòng lặp for thú

vị ấy sẽ làm cho nó rất khó đọc)

Bây giờ ta đã thấy vòng lặp for và while, nhưng phần tiếp theo sẽ minhhọa cho ta thấy còn một cách thứ ba nữa

Vòng lặp do

Đoạn mã lệnh sau đây sẽ thực thi chính xác những điều mà ta thấy ở hai vòng lặp trên:

public String speak() {

StringBuffer speech = new StringBuffer();

Trang 35

} while ( boolean expression ) ;

Vòng lặp do gần như giống hệt vòng lặp while, ngoại trừ việc nó kiểm tra

biểu thức logic sau khi thực thi khối lệnh lặp Với vòng lặp while, chuyện gì sẽ

xảy ra nếu biểu thức cho giá trị false ngay lần đầu tiên kiểm tra? Vòng lặp sẽkhông thực hiện dù chỉ một lần Còn với vòng lặp do, bạn sẽ được đảm bảo làvòng lặp sẽ thực hiện ít nhất 1 lần Sự khác biệt này sẽ có ích trong nhiều trườnghợp

Trước khi tạm biệt các vòng lặp, hãy xem lại hai câu lệnh rẽ nhánh.Chúng ta đã thấy lệnh break khi ta nói đến câu lệnh switch Nó cũng có hiệu quảtương tự trong vòng lặp: nó dừng vòng lặp Mặt khác, lệnh continue giúp dùng ngay lần lặp hiện tại và chuyển tới lần lặp tiếp theo Đây là một ví dụ thường thấy:

for (int i = 0; i < 3; i++) {

Haven't hit 2 yet

Haven't hit 2 yet

Hit 2

Trang 36

2.1.4 Hướng dẫn cài đặt JDK

Cài đặt JDK:Các bạn vào địa chỉ sau để tải bộ cài về:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

Ngày đăng: 22/05/2016, 22:03

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w