Phương pháp nghiên cứu khoa học
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
BÀI THU HOẠCH MÔN
PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC
ĐỀ TÀI :
PHÂN TÍCH CÁC NGUYÊN TẮC SÁNG TẠO QUÁ TRÌNH
PHÁT TRIỂN JAVA SERVER FACES FRAMEWORK
Giáo viên hướng dẫn : Học viên thực hiện :
GS.TSKH. HOÀNG KIẾM Nguyễn Võ Thông Thái
MSHV : CH1301053
TPHCM, 05/2014
BỘ GIÁO DỤC VÀ ĐÀO TẠO
HVTH: Nguyễn Võ Thông Thái – CH1301053 Trang 1
Phương pháp nghiên cứu khoa học
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
BÀI THU HOẠCH MÔN
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG
ĐỀ TÀI :
PHÂN TÍCH CÁC NGUYÊN TẮC SÁNG TẠO QUÁ TRÌNH
PHÁT TRIỂN JAVA SERVER FACES FRAMEWORK
TPHCM - 2014
CHƯƠNG 1: MỞ ĐẦU
1.1. Giới thiệu đề tài
Trong cuộc sống chúng ta luôn luôn phát sinh các vấn đề cần phải giải quyết.Vì
vậy chúng ta cần trang bị năng lực sáng tạo, năng lực giải quyết vấn đề để từ đó có thể
tạo ra những tri thức mới, cách giải quyết vấn đề mới. Tuy nhiên sáng tạo là một môn
khoa học, vì vậy việc nắm vững khoa học sáng tạo sẽ tăng cường hiệu quả sáng tạo, rút
ngắn thời gian và tiết kiệm tài lực.
Sáng tạo gắn liền với sự thay đổi, đưa ra cái mới (đổi mới), sáng chế, các ý tưởng
1.4. Bố cục bài thu hoạch
Nội dung của bài thuhoạch bao gồm 4 chương:
Chương 1: Mở đầu
Giới thiệu tổng quan về đề tài, phạm vi và phương pháp thực hiện đề tài.
Cuối cùng là đề ra bố cục trình bày của bài thu hoạch.
Chương 2: Các khái niệm về khoa học và nghiên cứu khoa học
Trình bày các khái niệm cơ bản về khoa học và nghiên cứu khoa học
Chương 3: Các khái niệm liên quan đến vấn đề khoa học, các phương pháp
giải quyết, các nguyên lý sáng tạp
Đây là chương mô tả về các khái niệm liên quan đến việc giải quyết một
vấn đề khoa học, các khái niệm của các nguyên lý sáng tạo.
Chương 4:Phân tích vận dụng các nguyên lý sáng tạo vào mô hình phát triển
Java Server Faces Framwork
HVTH: Nguyễn Võ Thông Thái – CH1301053 Trang 3
Phương pháp nghiên cứu khoa học
CHƯƠNG 2: KHÁI NIỆM KHOA HỌC - NGHIÊN CỨU KHOA HỌC – TƯ DUY
SÁNG TẠO
2.1. Khoa học
Khoa học là quá trình nghiên cứu nhằm khám phá ra những kiến thức mới, học
thuyết mới về tự nhiên và xã hội cái mà có thể thay thế dần những cái cũ, cái không
còn phù hợp. Do đó, khoa học bao gồm một hệ thống tri thức về qui luật của vật chất
và sự vận động của vật chất, những qui luật của tự nhiên, xã hội, và tư duy. Hệ thống
tri thức này hình thành trong lịch sử và không ngừng phát triển trên cơ sở thực tiễn xã
hội. Phân biệt ra hai hệ thống tri thức là tri thức kinh nghiệm và tri thức khoa học.
2.2. Nghiên cứu khoa học
2.2.1. Khái niệm
Nghiên cứu khoa học (NCKH) là một họat động tìm kiếm, xem xét, điều tra, hoặc
thử nghiệm. Dựa trên những số liệu, tài liệu, kiến thức đạt được từ các thí nghiệm NCKH
để phát hiện ra những cái mới về bản chất sự vật, về thế giới tự nhiên và xã hội, và để
sáng tạo phương pháp và phương tiện kỹ thuật mới cao hơn, giá trị hơn. Con người muốn
thức khoa học hiện có với yêu cầu phát triển tri thức đó ở trình độ cao hơn.
3.2. Phân loại
Nghiên cứu khoa học luôn tồn tại hai vấn đề :
Vấn đề về bản chất sự vật đang tìm kiếm.
Vấn đề về phương pháp nghiên cứu để làm sáng tỏ về lý thuyết và thực tiễn những vấn đề
thuộc lớp thứ nhất.
3.3. Các phương pháp phát hiện vấn đề
Có 6 phương pháp:
a) Tìm những kẻ hở, phát hiện những vấn đề mới.
b) Tìm những bất đồng.
c) Nghĩ ngược lại quan niệm thông thường.
d) Quan sát những vướng mắc trong thực tiễn.
e) Lắng nghe lời kêu ca phàn nàn.
f) Cảm hứng: những câu hỏi bất chợt xuất hiện khi quan sát sự kiện nào
đó.
3.4. Các nguyên lý sáng tạo
Nguyên lý là thao tác tư duy đơn lẻ kiểu: hãy đặc biệt hoá bài toán, hãy phân nhỏ
đối tượng, hãy làm ngược lại… Dựa trên việc phân tích hàng trăm ngàn sáng chế ở
những nghành kỹ thuật mũi nhọn, người ta tìm được 40 thủ thuật cơ bản. Chúng còn có
tên gọi là các thủ thuật khắc phục mâu thuẫn kỹ thuật. Cùng với sự phát triển của KHKT,
số lượng các thủ thuật có thể tăng thêm và bản thân từng thủ thuật sẽ được cụ thể hoá hơn
nữa cho phù hợp với các chuyên nghành hẹp.
40 nguyên lý sáng tạo này bao gồm:
- Nguyên tắc phân nhỏ.
- Nguyên tắc tách khỏi.
- Nguyên tắc phẩm chất cục bộ.
- Nguyên tắc phản đối xứng.
- Nguyên tắc kết hợp.
- Nguyên tắc vạn năng.
- Nguyên tắc chứa trong.
- Nguyên tắc sử dụng sự chuyển pha.
- Nguyên tắc sử dụng sự nở nhiệt.
- Nguyên tắc sử dụng chất oxy hóa mạnh.
- Nguyên tắc thay đổi độ trơ.
- Nguyên tắc sử dụng vật liệu hợp thành composit.
3.5. Nội dung một số nguyên tắc sáng tạo được dùng. [1],[2]
3.5.1. Nguyên tắc phân nhỏ
Nội dung
Chia đối tượng thành các phần độc lập.
Làm đối tượng trở nên tháo lắp được.
Tăng mức độ phân nhỏ của đối tượng
Ví dụ
Báo khổ rộng in thành những cột nhỏ cho dễ đọc
Xe chở vật siêu trường siêu trọng, thay vì làm bánh xe ô tô cho thật lớn,
người ta làm xe có rất nhiều dãy bánh kích thước bình thường.
3.5.2. Nguyên tắc tách khỏi đối tượng
Nội dung
HVTH: Nguyễn Võ Thông Thái – CH1301053 Trang 6
Phương pháp nghiên cứu khoa học
Tách phần gây "phiền phức" (tính chất "phiền phức") hay ngược lại, tách
phần duy nhất "cần thiết" (tính chất "cần thiết") ra khỏi đối tượng
Ví dụ
Áo gối, vỏ chăn bông…tách khỏi gối và chăn, nên khi bị bẩn không cần
thiết phải giặt nguyên cả chăn hay gối.
Các thư viện lớn có nhiều sách, việc tìm sách trực tiếp gặp nhiều khó
khăn. Người ta tách những thông tin chính về quyển sách thành thư mục,
thuận tiện cho bạn đọc.
3.5.3. Nguyên tắc kết hợp
Nội dung
Kết hợp các đối tượng đồng nhất hoặc các đối tượng dùng cho các hoạt
Quần áo mặc thường rách trước tại những chỗ như đầu gối, khuỷu tay,
vai, nách, các đường chỉ may. Do vậy, đặc biệt với quần áo bảo hộ lao
động những chỗ nói trên thường được làm dày hơn và may thành gân ở
những chỗ ghép các mảnh vải.
3.5.7. Nguyên tắc “chứa trong”
Nội dung
HVTH: Nguyễn Võ Thông Thái – CH1301053 Trang 7
Phương pháp nghiên cứu khoa học
Một đối tượng được đặt bên trong đối tượng khác và bản thân nó lại
chứa đối tượng thứ ba
Một đối tượng chuyển động xuyên suốt bên trong đối tượng khác.
Ví dụ
Loại ăngten dùng cho máy thu thanh, thu hình, khi cần có thể kéo dài
hoặc thu ngắn lại nhờ những ống kim loại đặt bên trong nhau.
Vận chuyển vật liệu trong các đường ống.
3.5.8. Nguyên tắc linh động
Nội dung
Cần thay đổi các đặt trưng của đối tượng hay môi trường bên ngoài sao
cho chúng tối ưu trong từng giai đoạn làm việc.
Phân chia đối tượng thành từng phần, có khả năng dịch chuyển với nhau.
Ví dụ
Các loại bìa kẹp, cho phép lấy bớt hoặc thêm các tờ giấy rời.
Líp xe đạp có thể quay ngược mà không ảnh hưởng đến chuyển động của
xe, líp xe nhiều tầng, xe có nhiều số tốc độ.
3.5.9. Nguyên tắc sao chép
Nội dung
Thay vì sử dụng những cái không được phép, phức tạp, đắt tiền, không
tiện lợi hoặc dễ vỡ, sử dụng bản sao.
Thay thế đối tượng hoặc hệ các đối tượng bằng bản sao quang học (ảnh,
hình vẽ) với các tỷ lệ cần thiết.
triển muốn cả hai. Và JSF (JavaServer Faces) mang đến cho người lập trình sự dễ dàng
hơn trong việc tạo ra giao diện người dùng ở phía server.
Cũng như lập trình ứng dụng phía client, có thể xem JSF chính là “Swing dành cho
ứng dụng server”. So với lập trình JSP (Java Server Pages), thì JSF giúp người lập trình
dễ dàng hơn trong nhiều tác vụ mà nếu phát triển bằng JSP cần phải tự viết, ví dụ như xử
lý điều hướng và kiểm tra tính hợp lệcủa dữ liệu nhập. Một sự ví von, người lập trình có
thể xem servlet và JSP như là “ngôn ngữ assembly” nếu so với framework JSF.
JSF gồm những phần sau
Một tập những giao diện người dùng (user interfacecomponent) đã
được xây dựng sẵn.
Mô hình lập trình hướng sự kiện.
Mô hình component cho phép các bên phát triển thứ3 xây dựng bổ
sung các component.
Có những component JSF rất đơn giản, ví dụ như input field hay button. Nhưng
cũng có những component thì phức tạp hơn nhiều, ví dụ như: data tables hay trees. JSF
chứa đựng tất cả những đoạn code phục vụ cho việc xử lý sự kiện và tổ chức các
component. Lập trình viên không cần phải quan tâm đến những chi tiết đó và có thể tập
trung để xử lý các thao tác logic của ứng dụng.
Và quan trọng nhất, JSF chính là một phần của Java EE. Do đó JSF đã được bao
gồm trong các Java EE application server (vd: Tomcat), và do đó dễ dàng để có thể chạy
được ứng dụng phát triển bằng JSF. Và hầu hết các môi trường phát triển tích hợp (IDE)
ngày nay đều hỗ trợ cho JSF, từ đơn giản cho đến phức tạp, gấp thả các component. Một
số IDE hỗ trợ JSF bao gồm: NetBean, JBuilder, Eclipse, JDeveloper…
4.2. Các nguyên tắc sáng tạo được ứng dụng trong Java Server Faces (JSF)
Nguyên tắc phân nhỏ.
Nguyên tắc tách khỏi.
Nguyên tắc kết hợp.
Nguyên tắc vạn năng.
Nguyên tắc sử dụng trung gian.
Nguyên tắc phẩm chất cục bộ.
Và nhà lập trình phải tạo ra view cho dữ liệu model đó. Trong lập trình web, HTML (hay
những kỹ thuật tương tự) được dùng để tạo ra view. JSF kết nối view và model với nhau,
Faces Servlet đóngvai trò như một controller, để cập nhật view cũng như model.
Hình : Mô hình MVC trong Java Server Faces
4.3.3. Nguyên tắc kết hợp
Tuy JSF chia thành các tầng khác nhau trong mô hình MVC. Tuy nhiên controller sẽ giúp
cho view và model giao tiếp với nhau.
JSF có khả năng kết hợp với những công nghệ khác như EJB.
JSF cung cấp nhưng dịch vụ kết hợp như
Chuyển đổi dữ liệu - người dùng nhập dữ liệu vào web form dưới dạng
text. Nhưng đối tượng xử lý muốn dữ liệu ở dạng số, ngày tháng hay một
kiểu dữ liệu nào đó. Với JSF thì sự chuyển đổi dữ liệu rất đơn giản.
HVTH: Nguyễn Võ Thông Thái – CH1301053 Trang 10
Phương pháp nghiên cứu khoa học
Xử lý lỗi và kiểm tra tính hợp lệ - với JSF, ta có thể dễ dàng để thêm
những luật kiểm tra tính hợp lệ cho các field ví dụ như “field này không
được để trống”, “field này phải là số”…Và tất nhiên, khi người dung
nhập sai, JSF cung cấp cho ta cơ chế hiển thị thông báo lỗi rất đơn giản.
Quốc tế hóa – JSF hỗ trợ chúng ta phát triển ứng dụng đa ngôn ngữ với
resource bundles (tuỳ thuộc vào người dùng ở quốc gia nào thì ứng dụng
web của ta sẽ hiện thị đúng ngôn ngữ của vùng đó).
Custom components – nhà phát triển thứ 3 có thể phát triển những
component riêng cho ứng dụng JSF. Ví dụ như Calendar component, sau
đó muốn sử dụng ta chỉ việc khai báo một lệnh đơn giản:
4.3.4. Nguyên tắc vạn năng
Java vừa hỗ trợ tầng view, vừa hỗ trợ tầng controller.
Ngoài các bộ thẻ chuẩn về core và html như được giới thiệu ở phần 4.3.1. JSF còn được
hỗ trợ từ JBoss (third party vendor) bộ thẻ dành cho ajax.
4.3.5. Nguyên tắc sử dụng trung gian
Để view và model được giao tiếp với nhau, JSF đóng vai trò trung gian là controller.
JSF được xây dựng trên nền tảng lập trình hướng đối tượng nên có thể thừa kế, nâng cấp
các ứng dụng dễ dàng, linh động.
HVTH: Nguyễn Võ Thông Thái – CH1301053 Trang 11
Phương pháp nghiên cứu khoa học
4.3.9. Nguyên tắc sao chép
Khi phát triển những phiên bản mới JSF giữ lại một vài tính năng của phiên bản cũ như
bộ điều hướng, managed bean, bộ kiểm tra lỗi và chuyển kiểu…
4.3.10. Nguyên tắc “rẻ” thay cho “đắt”
JSF là một framework open source, vì vậy nó sẽ tiết kiệm hơn so với việc sử dụng .Net.
4.4. Kết luận
Qua các nội dung đã trình bày, người viết bài – với vốn kiến thức hạn hẹp của mình
đã cố gắng tìm tòi, phân tích và chỉ ra được một số trong số những nguyên tắc sáng tạo
có thể thấy được trong JSF framework
Có thể những phân tích, nhận định của người viết còn mang tính chủ quan, chưa
chính xác hoặc còn thiếu sót, nhưng qua đó chúng ta có thể phần nào sức mạnh mà
Framework này đem lại. Nó là một công nghệ khá mạnh hiện nay, có thể thay thế và vượt
trội hơn Struts Framework về mặt giao diện với những hỗ trợ từ nhà phát triển thế ba như
JBoss, Oracle…
Trong tương lai nó hứa hẹn sẽ thay thế cho Struts và hỗ trợ phát triển những ứng
dụng trực quan, thân thiện, đẹp không kém so với các công nghệ của .Net như
Sliverlight…
HVTH: Nguyễn Võ Thông Thái – CH1301053 Trang 12