10684_Phát triển ứng dụng trên nền eclipse

luận văn tốt nghiệp

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
——-o0o——-

ĐỒ ÁN TỐT NGHIỆP

NGÀNH CÔNG NGHỆ THÔNG TIN

HẢI PHÒNG 2013

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
——-o0o——-

PHÁT TRIỂN ỨNG DỤNG TRÊN NỀN ECLIPSE

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ Thông tin

HẢI PHÒNG – 2013

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
——-o0o——-

PHÁT TRIỂN ỨNG DỤNG TRÊN NỀN ECLIPSE

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ Thông tin

Sinh viên thực hiện: Phạm Viết Mạnh
Giáo viên hƣớng dẫn:ThS Nguyễn Trịnh Đông
Mã số sinh viên:
1351010041

HẢI PHÒNG – 2013

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
——-o0o——-

NHIỆM VỤ THIẾT KẾ TỐT NGHIỆP

Sinh viên: Phạm Viết Mạnh
Mã SV: 1351010041
Lớp: CT1301
Ngành: Công nghệ Thông tin
Tên đề tài: Phát triển ứng dụng trên nền Eclipse

NHIỆM VỤ ĐỀ TÀI
1. Nội dung và các yêu cầu cần giải quyết trong nhiệm vụ đề tài tốt nghiệp
a. Nội dung
 T×m hiÓu kiÕn tróc cña Eclipse
 T×m hiÓu ph¸t triÓn phÇn mÒm theo h-íng thµnh phÇn
 Ph¸t triÓn phÇn mÒm víi Plugin
 X©y dùng øng dông thùc nghiÖm
b. Các yêu cầu cần giải quyết
Các phần mềm cần thiết để xây dựng
 Web Server: Xampp
 Hệ quản trị cơ sở dữ liệu MySQL
 Phần mềm Eclipse.

CÁN BỘ HƢỚNG DẪN ĐỀ TÀI TỐT NGHIỆP
Ngƣời hƣớng dẫn thứ nhất:
Họ và tên:Nguyễn Trịnh Đông
Học hàm, học vị: Thạc Sĩ
Cơ quan công tác: Trƣờng Đại Học Dân Lập Hải Phòng
Nội dung hƣớng dẫn: ……………………………………………………..
…………………………………………………………………………………
…………………………………………………………………………………
Ngƣời hƣớng dẫn thứ hai:
Họ và tên:………………………………………………………………………
Học hàm, học vị: ………………………………………………………………
Cơ quan công tác: ……………………………………………………………..
Nội dung hƣớng dẫn: ………………………………………………………….
…………………………………………………………………………………
…………………………………………………………………………………
Đề tài tốt nghiệp đƣợc giao ngày tháng năm 2013
Yêu cầu phải hoàn thành trƣớc ngày tháng năm 2013
Đã nhận nhiệm vụ: Đ.T.T.N
Sinh viên

Đã nhận nhiệm vụ: Đ.T.T.N
Cán bộ hƣớng dẫn Đ.T.T.N

ThS Nguyễn Trịnh Đông
Hải Phòng, ngày …………tháng………năm 2013
HIỆU TRƢỞNG

GS.TS.NGƯT Trần Hữu Nghị
Đồ án tốt nghiệp
Trƣờng ĐH Dân Lập Hải Phòng

Phạm Viết Mạnh – CT1301

2

PHẦN NHẬN XÉT TÓM TẮT CỦA CÁN BỘ HƢỚNG DẪN

1.Tinh thần thái độ của sinh viên trong quá trình làm đề tài tốt nghiệp:
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
2.Đánh giá chất lƣợng của đề tài tốt nghiệp (so với nội dung yêu cầu đã
đề ra trong nhiệm vụ đề tài tốt nghiệp)
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
3. Cho điểm của cán bộ hƣớng dẫn:
( Điểm ghi bằng số và chữ )
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………

Ngày…….tháng………năm 2013

Cán bộ hƣớng dẫn chính

( Ký, ghi rõ họ tên )
Đồ án tốt nghiệp
Trƣờng ĐH Dân Lập Hải Phòng

Phạm Viết Mạnh – CT1301

3

Đồ án tốt nghiệp
Trƣờng ĐH Dân Lập Hải Phòng

Phạm Viết Mạnh – CT1301

4

PHẦN NHẬN XÉT ĐÁNH GIÁ CỦA CÁN BỘ CHẤM PHẢN BIỆN ĐỀ TÀI TỐT
NGHIỆP
1. Đánh giá chất lƣợng đề tài tốt nghiệp (về các mặt nhƣ cơ sở lý luận, thuyết minh
chƣơng trình, giá trị thực tế, …)
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
2. Cho điểm của cán bộ phản biện
( Điểm ghi bằng số và chữ )
………………………………………………………………………………………………………………………………..

Ngày…….tháng………năm 2013

Cán bộ chấm phản biện

( Ký, ghi rõ họ tên )

Đồ án tốt nghiệp
Trƣờng ĐH Dân Lập Hải Phòng

Phạm Viết Mạnh – CT1301

5

MỤC LỤC
MỤC LỤC
……………………………………………………………………………………. 1
DANH MỤC CÁC HÌNH
………………………………………………………………. 8
DANH SÁCH THUẬT NGỮ ……………………………………………………….. 10
LỜI CẢM ƠN …………………………………………………………………………….. 11
GIỚI THIỆU ………………………………………………………………………………. 12
CHƢƠNG 1: MỞ ĐẦU ……………………………………………………………….. 13
1.1 Giới thiệu Eclipse ……………………………………………………………….. 13
1.2 Lịch sử phát triển ………………………………………………………………… 15
1.3 Kiến trúc Eclipse
…………………………………………………………………. 16
CHƢƠNG 2: KIẾN TRÚC CỦA PLUGIN TRONG ECLIPSE ………… 22
2.1 Giới thiệu …………………………………………………………………………… 22
2.2 Phát triển phần mềm dựa trên thành phần ………………………………. 23
2.2.1 Mô hình trừu tƣợng
………………………………………………………… 23
2.2.2 Cú pháp ………………………………………………………………………… 24
2.2.3 Ngữ nghĩa …………………………………………………………………….. 24
2.2.4 Kết hợp (composition)
……………………………………………………. 25
2.3 Kiến trúc Plugin trong Eclipse
………………………………………………. 26
2.3.1 Giới thiệu về Plugin và extension point ……………………………. 26
2.3.2 Điểm mở rộng Plugin (Plugin Extension Points) ……………….. 28
2.3.3 Tiến trình làm việc của Plugin
…………………………………………. 28
2.3.4 Tập tin cấu hình (manifest) của Plugin
……………………………… 29
2.3.5 Plugin fragment và feature ……………………………………………… 31
2.3.6 Đóng gói Plugin
…………………………………………………………….. 32
Đồ án tốt nghiệp
Trƣờng ĐH Dân Lập Hải Phòng

Phạm Viết Mạnh – CT1301

6

2.3.7 Perspective, views, editor ……………………………………………….. 32
2.4 Ngôn ngữ lập trình java ……………………………………………………….. 33
2.4.1 Lịch sử phát triển của Java ……………………………………………… 33
2.4.2 Máy ảo Java (Java Virtual Machine)
………………………………… 33
2.4.3 Một số đặc điểm ngôn ngữ lập trình Java ……………………….. 35
CHƢƠNG 3: CHƢƠNG TRÌNH THỬ NGHIỆM …………………………… 36
3.1 Mô tả yêu cầu bài toán
…………………………………………………………. 36
3.2 Xác định mô hình nghiệp vụ
…………………………………………………. 37
3.2.1 Các chức năng nghiệp vụ
………………………………………………… 37
3.2.2 Biểu đồ use case tổng quan
……………………………………………… 38
3.2.3 Mô tả khái quát các quan hệ con ……………………………………… 38
3.2.4 Các mô hình ca sử dụng chi tiết ………………………………………. 39
3.3 Phân tích hệ thống
……………………………………………………………….. 42
3.3.1 Phân tích gói ca sử dụng “Cập nhật dữ liệu”
……………………… 42
3.3.2 Phân tích gói ca sử dụng “Lập thời khóa biểu”
………………….. 48
3.4 Thiết kế hệ thống ………………………………………………………………… 50
3.5 Thuật toán sử dụng………………………………………………………………. 51
3.6 Kết quả của chƣơng trình minh họa.
………………………………………. 51
3.7. Giao diện của chƣơng trình.
…………………………………………………. 52
3.7.1. Giao diện chính của chƣơng trình. ………………………………….. 52
3.7.2 Giao diện đăng nhập ………………………………………………………. 52
3.7.3 Giao diện phòng học
………………………………………………………. 53
3.7.4 Giao diện học phần ………………………………………………………… 54
3.7.5 Giao diện khoa viện ……………………………………………………….. 55
3.2.6 Giao diện niên khóa ……………………………………………………….. 56
Đồ án tốt nghiệp
Trƣờng ĐH Dân Lập Hải Phòng

Phạm Viết Mạnh – CT1301

7

3.7.7 Giao diện trang thiết bị …………………………………………………… 57
3.7.8 Giao diện thời khóa biểu
…………………………………………………. 58
KẾT LUẬN
………………………………………………………………………………… 59
TÀI LIỆU THAM KHẢO…………………………………………………………….. 60

Đồ án tốt nghiệp
Trƣờng ĐH Dân Lập Hải Phòng

Phạm Viết Mạnh – CT1301

8

DANH MỤC CÁC HÌNH
Hình 1: Mô hình Eclipse ……………………………………………………………… 13
Hình 2: Kiến trúc tổng quan Eclipse
………………………………………………. 17
Hình 3: Kiến trúc Plugin ………………………………………………………………. 22
Hình 4: Mô hình trừu tƣợng của thành phần …………………………………… 23
Hình 5:Ví dụ về thành phần với các kiểu đầu vào – ra ……………………… 24
Hình 6: Sự kết hợp các thành phần trong hệ thống
…………………………… 25
Hình 7: Plugin và extension ………………………………………………………….. 26
Hình 8: Plugin trong Workbench và Workspace ……………………………… 26
Hình 9: Tiến trình làm việc của Plugin
…………………………………………… 28
Hình 10: Kiến trúc Java Virtual Machine ……………………………………….. 34
Hình 11: Biểu đồ Use case tổng quan
…………………………………………….. 38
Hình 12: Biểu đồ ca sử dụng gói “Cập nhật dữ liệu” ……………………….. 39
Hình 13: Biểu đồ ca sử dụng gói “Lập thời khóa biểu”…………………….. 41
Hình 14: Biểu đồ tuần tự thực thi ca sử dụng “Cập nhật phòng học” …. 42
Hình 15: Biểu đồ cộng tác thực thi ca sử dụng “Cập nhật phòng học”
.. 43
Hình 16: Biểu đồ tuần tự thực thi ca sử dụng “Cập nhật thiết bị”
………. 43
Hình 17: Biểu đồ cộng tác thực thi ca sử dụng “Cập nhật thiết bị” ……. 44
Hình 18: Biểu đồ tuần tự thực thi ca sử dụng “Cập nhật niên khóa” ….. 44
Hình 19: Biểu đồ cộng tác thực thi ca sử dụng “Cập nhật niên khóa” … 45
Hình 20: Biểu đồ tuần tự thực thi ca sử dụng “Cập nhật học phần” …… 45
Hình 21: Biểu đồ cộng tác thực thi ca sử dụng “Cập nhật học phần” …. 46
Hình 22: Biểu đồ tuần tự thực thi ca sử dụng “Cập nhật khoa” …………. 46
Hình 23: Biểu đồ cộng tác thực thi ca sử dụng “Cập nhật khoa” ……….. 47
Đồ án tốt nghiệp
Trƣờng ĐH Dân Lập Hải Phòng

Phạm Viết Mạnh – CT1301

9

Hình 24: Mô hình phân tích gói ca ”Cập nhật dữ liệu ” ……………………. 47
Hình 25: Biểu đồ tuần tự thực thi ca sử dụng “Sắp thời khóa biểu” …… 48
Hình 26: Biểu đồ cộng tác thực thi ca sử dụng “Sắp thời khóa biểu” …. 48
Hình 27: Biểu đồ tuần tự thực thi ca sử dụng “In thời khóa biểu” ……… 49
Hình 28: Biểu đồ cộng tác thực thi ca sử dụng “In thời khóa biểu”
……. 49
Hình 29: Mô hình phân tích gói ca “Lập thời khóa biểu” …………………. 50
Hình 30: Mô hình cơ sở dữ liệu …………………………………………………….. 50
Hình 31: Giao diện chính của Plugin thời khóa biểu
………………………… 52
Hình 32: Giao diện đăng nhập ………………………………………………………. 52
Hình 33: Giao diện phòng học ………………………………………………………. 53
Hình 34 Giao diện học phần …………………………………………………………. 54
Hình 35: Giao diện khoa viện ……………………………………………………….. 55
Hình 36: Giao diện niên khóa ……………………………………………………….. 56
Hình 37: Giao diện trang thiết bị …………………………………………………… 57
Hình 38:Giao diện thông tin thời khóa biểu ……………………………………. 58

Đồ án tốt nghiệp
Trƣờng ĐH Dân Lập Hải Phòng

Phạm Viết Mạnh – CT1301

10

DANH SÁCH THUẬT NGỮ

STT
Thuật ngữ
Mô tả
1
Eclipse Public License (EPL)
Giấy phép công cộng Eclipse
2
Integrated Development
Enviroment (IDE)
Môi trƣờng phát triển Java tích
hợp Java
3
Plugin Development Environment
(PDE)
Môi trƣờng phát triển trình cắm
thêm
4
Java Runtime Environment (JRE)
Môi trƣờng thời gian thực
5
Java Developer Kit (JDK)
Bộ công cụ cho lập trình viên
Java
6
The Platform runtime
Nền tảng thời gian thực thi
7
Extension point
Điểm mở rộng
8
Workbench
Bàn làm việc

Đồ án tốt nghiệp
Trƣờng ĐH Dân Lập Hải Phòng

Phạm Viết Mạnh – CT1301

11

LỜI CẢM ƠN
Trƣớc hết em xin bày tỏ tình cảm và lòng biết ơn đối với Th.S Nguyễn
Trịnh Đông – Khoa Công nghệ thông tin – Trƣờng Đại học Dân Lập Hải
Phòng, ngƣời đã dành cho em rất nhiều thời gian quý báu, trực tiếp hƣớng dẫn
tận tình giúp đỡ, chỉ bảo em trong suốt quá trình làm đồ án tốt nghiệp.
Em xin chân thành cảm ơn tất cả các thầy cô giáo trong Khoa Công nghệ
thông tin – Trƣờng ĐHDL Hải Phòng, chân thành cảm ơn các thầy giáo, cô
giáo tham gia giảng dạy và truyền đạt những kiến thức quý báu trong suốt
thời gian em học tập tại trƣờng, đã đọc và phản biện đồ án của em giúp em
hiểu rõ hơn các vấn đề mình nghiên cứu, để em có thể hoàn thành đồ án này.
Em xin cảm ơn GS.TS.NGƢT Trần Hữu Nghị Hiệu trƣởng Trƣờng Đại
học Dân lập Hải Phòng, Ban giám hiệu nhà trƣờng, Bộ môn tin học, các
Phòng ban nhà trƣờng đã tạo điều kiện tốt nhất trong suốt thời gian học tập và
làm tốt nghiệp.
Tuy có nhiều cố gắng trong quá trình học tập, trong thời gian thực tập
cũng nhƣ trong quá trình làm đồ án nhƣng không thể tránh khỏi những thiếu
sót, em rất mong đƣợc sự góp ý quý báu của tất cả các thầy giáo, cô giáo cũng
nhƣ tất cả các bạn để kết quả của em đƣợc hoàn thiện hơn.
Em xin chân thành cảm ơn.
Hải Phòng, tháng 12 năm 2012
Sinh viên
Phạm Viết Mạnh

Đồ án tốt nghiệp
Trƣờng ĐH Dân Lập Hải Phòng

Phạm Viết Mạnh – CT1301

12

GIỚI THIỆU
Ngày nay, các hệ thống thông tin có khuynh hƣớng ngày càng phức tạp,
quản lý hầu hết các lĩnh vực trong đời sống xã hội, đƣợc triển khai trên nhiều
nền tảng công nghệ khác nhau. Việc phát triển những hệ thống nhƣ thế đòi
hỏi mất nhiều chi phí, thời gian, nguồn lực tài chính cũng nhƣ con ngƣời. Một
xu hƣớng xây dựng những hệ thống phức tạp dựa trên các thành phần phần
mềm có sẵn đang đƣợc các nhà nghiên cứu quan tâm và nhiều công ty lớn
trên thế giới đầu tƣ phát triển. Phát triển các phần mềm dựa trên thành phần
có nhiều ƣu điểm nhƣ: Giảm chi phí, rút ngắn thời gian triển khai, triển khai
đƣợc trên nhiều nền tảng công nghệ khác nhau. Cụ thể, các thành phần phần
mềm đƣợc nhiều hãng phần mềm cung cấp. Khi xây dựng hệ thống mới các
nhà thiết kế chỉ cần kiểm tra xem thành phần phần mềm nào phù hợp với yêu
cầu của hệ thống mới thì sẽ lựa chọn và ghép chúng lại với nhau. Các Plugin
trong Eclipse là một hƣớng xây dựng phần mềm dựa trên thành phần.Eclipse
cung cấp nhiều tính năng cho ngƣời phát triển bằng các ngôn ngữ lập trình
phổ biến hiện nayJava, C, C++, Python, …. Eclipse trở thành lõi để phát triển
ứng dụng. Việc mở rộng các tính năng của Eclipse bằng các Plugin đã đem lại
cho Eclipse sức mạnh và tính thích nghi cao trong lĩnh vực phát triển phần
mềm. Vì vậy, trong đợt tốt nghiệp này em chọn đề tài: “Phát triển ứng dụng
trên nền Eclipse”để tìm hiểu và nghiên cứu.
Nội dung khóa luận gồm có các phần sau:
Chƣơng 1:Giới thiệu sự phát triển chung về phát triển phần mềm dựa
trên thành phần, đặc biệt sự phát triển các Plugin trong
Eclipse.
Chƣơng 2: Trình bày về kiến trúc của Plugin trong Eclipse
Chƣơng 3: Trình bày chương trình thử nghiệm sắp xếp thời khóa
biểubằng plugin của eclipse.
Kết luận
Tài liệu tham khảo
Đồ án tốt nghiệp
Trƣờng ĐH Dân Lập Hải Phòng

Phạm Viết Mạnh – CT1301

13

CHƢƠNG 1: MỞ ĐẦU
Trong chƣơng này, khóa luận trình bày về chƣơng trình Eclipse, lịch sử
phát triển của Eclipse và kiến trúc nền tảng của Eclipse.
1.1Giới thiệu Eclipse
Eclipse là một nền tảng có kiến trúc mở dựa trên Java, có thể mở rộng để
phát triển các ứng dụng. Eclipse bao gồm tập hợp các dịch vụ dùngđể xây
dựng các ứng dụng dựa trên các thành phần cắm thêm (Plugin)vàcho phép các
thành phần cắm thêm tạo thành ứng dụng riêng biệt cho từng mục đích khác
nhau, trong đó phải kể đến bộ công cụ phát triển Java (JDT – Java
Development Tools).
Các ứng dứng
Plugin
1
Plugin
2
Plugin
3
Plugin n
Eclipse
Java Virtual Machine
Linux
MacOS
Window
Nứn tứng
khác

Hình 1: Mô hình Eclipse
Eclipse sử dụng môi trƣờng phát triển thành phần cắm thêm (PDE-
Plugin Development Environment)bao gồm một không gian làm việc cơ bản
và một hệ thống thành phần cắm thêm mở rộng tƣơng thích với mọi môi
trƣờng và mọi hệ điều hành. Eclipsecòn cho phép xây dựng các ứng dụng,
công cụ tích hợp vào môi trƣờng Eclipse.Điều đó trở thành mối quan tâm chủ
yếu của những nhà phát triển muốn mở rộng Eclipse. Nhà phát triển sẽ giảm
chi phí đầu tƣ phát triển ứng dụng, rút ngắn thời gian triển khai ứng dụng khi
áp dụng trên nhiều nền tảng công nghệ khác nhau.
Sự bình đẳng và nhất quán luôn có trong Java. Eclipse đƣợc viết bằng
ngôn ngữ lập trình Java và đƣợc sử dụng để phát triển các ứng dụnghỗ trợ cho
các ngôn ngữ lập trình (Ada,C, C++,COBOL,Fortran,Haskell,JavaScript,
Lasso,Perl, PHP, Python, R, Ruby…) cũng nhƣ môi trƣờng phát triển nhƣ
Đồ án tốt nghiệp
Trƣờng ĐH Dân Lập Hải Phòng

Phạm Viết Mạnh – CT1301

14

Eclipse Java development tools (JDT) cho JavavàScala, EclipseCDT
cho C/C++ và Eclipse PDT cho PHP,Android Development Tools (ADT)
Plugin cho Android.
Eclipse là mã nguồn mở
Phần mềm mã nguồn mở là phần mềm đƣợc phát hành với giấy phép
nhằm bảo đảm cấp cho ngƣời dùng các quyền tự do nghiên cứu, chỉnh sửa và
phân phối lại phần mềm. Nói chung, luật bản quyền (copyright) cho phép tác
giả cấm ngƣời khác tái tạo, sửa đổihoặc phân phối các bản sao tác phẩm của
tác giả đó. Ngƣợc lại, một tác giả, nhờ mô hình cấp phép copyleft, sẽ trao cho
mọi ngƣời bản sao tác phẩm với quyền tái tạo, sửa đổi hoặc phân phối tác
phẩm miễn là tất cả những bản sao hoặc bản sửa đổi mới đó cũng phải bị ràng
buộc bởi mô hình cấp phép copyleft. Vì điều này trên thực tế đã đặt mục đích
của bản quyền lên đầu, sử dụng quyền tác giả để cấp quyền cho ngƣời dùng,
thay vì dành riêng chúng cho các nhà phát triển phần mềm. Copyleft thƣờng
đƣợc miêu tả là “giữ bản quyền”.
OSI-Open Software Initiative là một tổ chức phi lợi nhuận định nghĩa
nguồn mở một cách rõ ràng và cấp các chứng nhận cho các giấy phép đáp ứng
đƣợc các tiêu chuẩn của nó. Eclipse đƣợc cấp phép theo Giấy phép công cộng
Eclipse (EPL- Eclipse Public License) phiên bản V1.0 đƣợc OSI phê duyệt.
Điều đótạo điều kiện thuận lợi cho việc sử dụng Eclipse phục vụ mục đích
thƣơng mại trong khi vẫn bảo đảm bản quyền tác giả theo giấy phép mã
nguồn mở.
Các nàh phát triển tạo ra các thành phần cắm thêm cho Eclipse hoặc
những ngƣời sử dụng Eclipse làm cơ sở cho phát triển phần mềm ứng dụng
đƣợc phép phát hành bất kỳ mã Eclipse nào mà họ sử dụng hoặc sửa đổi theo
EPL.
Bản chất mã nguồn mở làm cho Eclipse sẵn dùng, miễn phí. Mã nguồn
mở khuyến khích sự đổi mới và mang đến một cơ hội cho các nhà phát triển,
ngay cả với các nhà phát triển thƣơng mại.Đồng thời, có thể đóng góp trở lại
cơ sở mã nguồn mở chung. Có nhiều nguyên nhân, nhƣng có lẽ điều quan
trọng nhất là càng nhiều nhà phát triển nhiều đóng góp cho dự án, dự án càng
Đồ án tốt nghiệp
Trƣờng ĐH Dân Lập Hải Phòng

Phạm Viết Mạnh – CT1301

15

trở nên có giá trị hơn cho mọi ngƣời. Khi dự án càng trở nên có ích hơn, càng
nhiều nhà phát triển sẽ sử dụng nó và tạo ra một cộng đồng xung quanh nó,
giống nhƣ những cộng đồng đã đƣợc tạo nên xung quanh Apache và Linux.
1.2Lịch sử phát triển
Dự án Eclipse (EclipseProject) ban đầu đƣợc IBM thành lập vào tháng
11 năm 2001 và đƣợc hiệp hội các nhà cung cấp phần mềm hỗ trợ. Quỹ
Eclipse đã đƣợc thành lập vào tháng 1 năm 2004 nhƣ là một tổ chức phi lợi
nhuận, hoạt động độc lập. Nó đƣợc thành lập nhằm cho phép một cộng đồng
minh bạch, mở và trung lập đối với các nhà phát triển phần mềmcó sử
dụngnền tảngEclipse. Hiện nay, cộng đồng Eclipse hội tụ nhiều cá nhân và tổ
chức từ nhiều lĩnh vực trong công nghiệp phần mềm.
Nhiều chƣơng trình của Eclipse đã đƣợc triển khai bởi IBM trƣớc khi dự
án Eclipse đƣợc tạo ra. Ngƣời tiền nhiệm của Eclipse là VisualAge đã đƣợc
xây dựng có sử dụng Smalltalk trong một môi trƣờng phát triển đƣợc gọi là
Envy. Sau khi Java xuất hiện vào những năm 90, IBM đã phát triển mộtmáy
ảo mà nó đã làm việc với cả Smalltalk và Java. Sự phát triển nhanh chóng của
Java và những ƣu điểm của nó cùng với sự mở rộng của mạng lƣới Internet đã
buộc IBM phải xem xét tới việc bỏ máy ảo đôi này và xây dựng một nền tảng
mới dựa trên Java từ đầu. Sản phẩm cuối cùng là Eclipseđã tiêu tốn của IBM
khoảng 40 triệu USD vào năm 2001.
Cuối năm 2001, IBMhợp tácBorland tạo ra quỹ Eclipse phi lợi nhuận,
mở ra với thế giới phần mềm nguồn mở. Nhóm các doanh nghiệp này đã dần
dần liên kết đƣợc với các công ty phát triển phần mềm toàn cầu quan trọng
nhƣ: Oracle, Rational Software, Red Hat, SuSE, HP, Serena, Ericson và
Novell. Trong đó hai công ty lớn cạnh tranh với IBM là Microsoft và Sun
Microsystem.Microsoft đã bị loại bỏ vì sự độc quyền của hãng đối với thị
trƣờng và Sun Microsystem đã có IDE của riêng hãngvới sản phẩm cạnh
tranh là NetBeans. Trên thực tế, cái tên Eclipse đã đƣợc chọn vì mục tiêu là
để tạo ra một IDE có khả năng cạnh tranh với Visual Studio (của Microsoft)
và NetBeans (của Sun Microsystem).
Đồ án tốt nghiệp
Trƣờng ĐH Dân Lập Hải Phòng

Phạm Viết Mạnh – CT1301

16

Phiên bản ổn định mới nhất của Eclipse là sẵn sàng cho các hệ điều hành
Windows, Linux, Solaris, AIX, HP-UX và Mac OS X. Tất cả các phiên bản
của Eclipse cần phải có một máy chủ ảo Java – JVM (Java Virtual Machine)
đƣợc cài đặt trong hệ thống, môi trƣờng thực thi Java – JRE (Java Runtime
Environment) hoặc bộ công cụ cho lập trình viên Java – JDK (Java Developer
Kit) của Sun.
1.3 Kiến trúc Eclipse
Kiến trúc của Eclipse đƣợc xây dựng dựa trên hai thành phần chính:
thành phần lõi (core) và các thành phần gắn thêm (plugin).
 Thành phần lõibao gồm các chức năng, dịch vụ mà các hệ phát
triển ứng dụng phải có nhƣ chức năng cung cấp giao diện, trình
soạn thảo văn bản, gỡ lỗi… cần cho mọi nền tảng lập trình (cần
cho các plugin).
 Thành phần gắn thêm bao gồm nhiều thành phần dễ dàng tích hợp
vào nhiều ứng dụng chạy trên nền Eclipse.Các chức năng của
thành phần lõi tách biệt với các chức năng của phần giao diện.
Kiến trúc Eclipse đƣợc thiết kế và xây dựng để đáp ứng các yêu cầu sau:
 Hỗ trợ việc xây dựng các công cụ khác nhau để phát triển ứng
dụng.
 Hỗ trợ các công cụ để thao tác trên bất kỳ loại nội dung nào.Ví
dụ:HTML, Java, C, C++, JSP, PHP, EJB, XML và GIF.
 Hỗ trợ tích hợp các công cụ một cách dễ dàng.
 Hỗ trợ môi trường phát triển ứng dụng giao diện và không giao
diện.
 Chạy được trên nhiều hệ điều hành, gồm Window, Linux,
Android,…

Đồ án tốt nghiệp
Trƣờng ĐH Dân Lập Hải Phòng

Phạm Viết Mạnh – CT1301

17

Kiến trúc nền tảng Eclipse cung cấp các công cụ cùng cơ chế sử dụng và
quy định để có thể tích hợp các công cụ một cách dễ dàng. Những cơ chế này
đƣợc thể hiện thông qua giao diện API, lớp và phƣơng thức. Ngoài ra, nền
tảng Eclipse còn cung cấp các framework để dễ dàng phát triển các công cụ
mới.
EclipseSDKbao gồm 3 phần chính:
 Platform
 JavaDevelopment Toolkit (JDT)
 PluginDevelopment Environment (PDE)
Với JDT, Eclipse là một môi trƣờng hỗ trợ phát triển Java. JDT cũng có
thể đƣợc coi nhƣ là một Plugin cho Eclipse nhƣ là một môi trƣờng lập trình
tích hợp (Java IDE -Integrated Development Enviroment).PDE hỗ trợ việc
mở rộng Eclipse, tích hợp các Plugin vào EclipsePlatform.
EclipsePlatform là nền tảng của toàn bộ phần mềm Eclipse, cung cấp
những dịch vụ cần thiết cho việc tích hợp những bộ công cụ phát triển phần
mềm dƣới dạng Plugin.EclipsePlatform đƣợc xây dựng dựa trên cơ chếphát
hiện, tích hợp và chạy các thành phần gắn thêm. Plugin là thành phần gắn
thêm có thể hoạt động độc lập hoặc cùng với các thành phần khác. Thông
thƣờng, một ứng dụng có thể tổ hợp nhiều thành phần gắn thêm, mỗi thành
phần gắn thêm này lại nối với các thành phần gắn thêm khác tùy vào mục
đích sử dụng

Hình2: Kiến trúc tổng quan Eclipse
Đồ án tốt nghiệp
Trƣờng ĐH Dân Lập Hải Phòng

Phạm Viết Mạnh – CT1301

18

1. Nền tảng thời gian thựcthi (The Platform runtime):
Công việc chính của nền tảng thời gian thực thilà quản lýPlugin đang có
trong thƣ mục Plugin của Eclipse.Mỗi Plugin đều có 1 tập tin Manifest liệt kê
những kết nối mà Plugin cần.Plugin chỉ đƣợc tải vào Eclipse khi thực sự cần
thiết để giảm lƣợng tài nguyên yêu cầu và thời gian khởi tạo.
2. Không gian làm việc (The Workspace) :
Không gian làm việc quản lý tài nguyên ngƣời dùng đƣợc tổ chức dƣới
dạng Project. Mỗi dự án là một thƣ mục con trong thƣ mục Không gian làm
việc. Mỗi dự án có chứa các tập tin và thao tác của ngƣời dùng. Tất cả các file
trong không gian làm việc đƣợc trực tiếp tiếp cận với các chƣơng trình chuẩn
và công cụ cơ bản của hệ điều hành. Các công cụ tích hợp với nền tảng đƣợc
cung cấp API để xử lý nguồn tài nguyên trong không gian làm việc (các dự
án, các tập tin, và thƣ mục). Tài nguyên đƣợc đại diện bởi các đối tƣợng thích
ứng để các bên khác có thể mở rộng hành vi của họ.
Không gian làm việc bảo quản cấp thấp lịch sử những sự thay đổi tài
nguyên, tránh thất thoát tài nguyên ngƣời dùng. Tài nguyên đƣợc tổ chức dƣới
dạng cấu trúc cây rất hữu ích và hiệu quả.Từ đó, mỗi nút dữ liệu chỉ ra nơi mà
các công cụ cần thêm, loại bỏ, hoặc làm mới.
Không gian làm việcthông báo những công cụ cần thiết cho việc thay đổi
tài nguyên. Đặc tính này cho phép các nhà xây dựng một số dự án mở rộng
đƣợc đăng ký trên cùng một dự án và cung cấp nhiều cách để kích hoạt toàn
dự án và không gian làm việc với dự án. Một không gian làm việctự độngxây
dựng các tính năng, tự động kích hoạt các hoạt động cần thiết trong quá trình
xây dựngsau mỗi lần sửa đổi tài nguyên (hoặc hàng loạt hoạt động).
3. Bàn làm việc (Workbench):
Bàn làm việc là giao diện đồ họa ngƣời dùng của Eclipse, gồm có
Standard Widget Toolkit (SWT) và JFace. Eclipse không hoàn toàn bắt buộc
phải sử dụng SWT hay JFace để lập trình giao diện, ngƣời lập trình vẫn có thể
sử dụngAWT hay SWING của Java thông qua việc cài đặt các Plugins.
Đồ án tốt nghiệp
Trƣờng ĐH Dân Lập Hải Phòng

Phạm Viết Mạnh – CT1301

19

SWT (Standard Widget Toolkit) là một gói công cụ mã nguồn mở đƣợc
phát triển bởi IBM, cung cấp cho các lập trình viên Java giải pháp để phát
triển giao diện đồ họa ngƣời dùng. SWT cung cấp một hệ điều hành độc lập
thông thƣờng API cho các vật dụng và đồ họa thực hiện một cách mà cho
phép tích hợp chặt chẽ với hệ thống cửa sổ cơ bản. Toàn bộ giao diện ngƣời
dùng của EclipsePlatform, và các thành phần cắm vào nó, đều sử dụng SWT
để trình bày thông tin cho ngƣời sử dụng.
JFace là gói công cụ để xây dựng giao diện ngƣời dùng cấp cao, JFace
là tầng trên cùng của SWT, cung cấp các lớp thuộc mô hình MVC (Model-
View- Controller) để phát triển các ứng dụng đồ họa dễ dàng hơn.
Cơ chế hoạt động cho phép ngƣời sử dụng các lệnh đƣợc xác định độc
lập từ các điều khiển trong giao diện ngƣời dùng. Một hành động đại diện cho
một lệnh có thể đƣợc kích hoạt bởi ngƣời dùng thông qua một nút,menu, hoặc
các núttrên một thanh công cụ.
Bàn làm việc
Không giống nhƣ SWT và JFace, đƣợc cả hai mục đích chung giao diện
ngƣời dùng bộ công cụ, bàn làm việc cung cấp các tính cách giao diện ngƣời
dùng của nền tảng Eclipse và cung cấp các cấu trúc trong đó các công cụ
tƣơng tác với ngƣời sử dụng. Bởi vì điều này và xác định vai trò trung tâm,
bàn làm việclà đồng nghĩa với Nền tảng Eclipse giao diện ngƣời dùng nhƣ
một toàn thể và với các cửa sổ chính của ngƣời dùng thấy khi các nền tảng
đang chạy. Các APIWorkbench phụ thuộc vào các APISWTít hơn vào các
APIJFace. Việc thực hiện Workbenchđƣợc xây dựng bằng cách sử dụng cả
hai SWT và JFace; Java AWT và Swing không đƣợc sử dụng
Trong EclipsePlatform, giao diện ngƣời dùng dựa trên các trình soạn
thảo, khung nhìn, và phối cảnh. Từ quan điểm của ngƣời dùng, các mẫu và
khung nhìn cần đƣợc nhìn thấy trên màn hình.
Trình soạn thảocho phép ngƣời dùng mở, chỉnh sửa và lƣu các đối
tƣợng. Một vòng đời đƣợc mở, lƣu gần giống nhƣ các công cụ hệ thống tập
tin, nhƣng đƣợc tích hợp chặt chẽ hơn vào khung làm việc. Khi hoạt động,
Đồ án tốt nghiệp
Trƣờng ĐH Dân Lập Hải Phòng

Phạm Viết Mạnh – CT1301

20

một trình soạn thảocó thể bổ sung các lệnh lên thanh menuvà thanh công cụ.
Nền tảng này cung cấp một trình soạn thảo tiêu chuẩn cho các nguồn tài
nguyên văn bản, nhiều trình soạn thảocụ thể đƣợc cung cấp bởi các Plugins.
Khung nhìn cung cấp thông tin về một số đối tƣợng mà ngƣời dùng đang
làm việc tại khung làm việc. Một khung nhìn có thể hỗ trợ một mẫu bằng cách
cung cấp thông tin về các tài liệu đang đƣợc chỉnh sửa. Một khung nhìn có thể
làm tăng thêm các cách nhìn khác nhau bằng cách cung cấp thông tin về các
đối tƣợng đang đƣợc chọn.
Một cửa sổ làm việc có thể có một số khung nhìn riêng biệt, chỉ một
trong số đó có thể nhìn thấy tại bất kỳ thời điểm nào. Mỗi điểm có khung nhìn
riêng và mẫu của nó đƣợc sắp xếp để trình bày trên màn hình
4. Đội hỗ trợ (Team support):
Nền tảng Eclipse cho phép một dự án trong vùng làm việc đặt theo phiên
bản và quản lý cấu hình với một nhóm thƣ mục liên quan. Nền tảng này có
các điểm mở rộng và một API cung cấp kho lƣu trữ cho phép các thành
phầnmới đƣợc gắn vào.
Các chức năng đƣợc cung cấp bởi một sản phẩm cụ thểluôn ảnh hƣởng
đến công việc của ngƣời dùng, ví dụ, bằng cách thêm vào các bƣớc công khai
để lấy tập tin từ các kho lƣu trữ, trả lại các tập tin đƣợc cập nhật vào kho, và
để so sánh các phiên bản tập tin khác nhau. Theo đó, các nền tảng Eclipse có
một cái nhìn tổng quan và cho phép mỗi nhà cung cấp một số thƣ mục để xác
định công việc riêng của mình để ngƣời dùng quen thuộc với nhóm sản phẩm
lƣu trữ có thể nhanh chóng học cách sử dụng nó từ bên trong Eclipse.
5. Trợ giúp (Help):
Cung cấp hệ thống tài liệu mở rộng, có thể là định dạng HTML hay
XML.Những ngƣời muốn phát triển Eclipse sẽ sử dụng PDE
(PluginDevelopmentEnvironment)để bổ sung thêm các Plugin mới.

Đánh giá post

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *