Tải bản đầy đủ
2 Xây dựng chương trình thử nghiệm

2 Xây dựng chương trình thử nghiệm

Tải bản đầy đủ

- 63 -

- Sơ đồ UML của ứng dụng Bán sách qua mạng

Serializable

UnicastRemoteObject
Remote

RsSerializable
java.sql.ResultSet()

DatabaseImpl
databaseName
userName
passName
RsServer
conn
Stmt
DBDriver
url
Id
locked
getID()
connectDatabase()
closeDatabase()
Begin_Transaction()
End_Transaction()
COMMIT()
ROLLBACK()
getAUTOCOMMIT()
getResultSet()
querySQL()
setTRANSACTION()
getTRANSACTION()
isLocked()
Lock()
Unlock()

<>

Database
getID()
connectDatabase()
closeDatabase()
Begin_Transaction()
End_Transaction()
COMMIT()
COMMIT()
getAUTOCOMMIT()
getResultSet()
querySQL()
setTRANSACTION()
getTRANSACTION()
isLocked()
Lock()
Unlock()

3.2.2 Lập trình mođun demo
Trong ví dụ có sử dụng các mẫu tương tranh (Concurrency Patterns) như:
Critical Section, Consistent Lock Order, Guarded Suspension, Read-Write Lock.
 Chương trình Truyền file xây dựng trên mô hình Client – Server.
- Giao diện chương trình bên phía trình chủ đăng ký tên máy chủ và số hiệu cổng.

- 64 -

- Giao diện chương trình bên phía trình khách. Chương trình cho phép truy cập vào
trình chủ để Download, Upload dữ liệu, cũng như đổi tên, xóa file, nén – giải nén
file, … bên phía trình chủ và khách. Chương trình có nhiều tuyến đoạn chạy độc lập
nhau và chiếm dụng tài nguyên bên phía trình chủ.

 Chương trình Bán sách qua mạng xây dựng trên mô hình Client – Server,
CSDL tập trung và xử lý phân tán
- Giao diện chương trình bên phía trình chủ.

- 65 -

- Chương trình bên phía trình khách truy cập vào trình chủ và truy xuất CSDL.
Trong quá trình thực hiện các giao dịch thì sẽ chiếm dụng toàn bộ CSDL trong các
thao tác ghi, cập nhật, xóa, …

3.2.3 Đánh giá kết quả thu được
Chương trình chỉ minh họa một phần rất nhỏ về việc sử dụng các mẫu hướng
đối tượng để xây dựng các phần mềm. Hai ví dụ thể hiện rất rõ việc sử dụng các

- 66 -

mẫu tương tranh để giải quyết các xung đột trong quá trình truy cập và truy xuất các
tài nguyên trên mạng.

KẾT LUẬN
Như vậy, để bổ sung cho phương pháp hướng đối tượng, các mẫu thiết
hướng đối tượng là một tiếp cận độc đáo, được đề xuất để giải quyết các vấn đề nảy
sinh trong quá trình thiết kế phần mềm hướng đối tượng. Các mẫu GoF có tầm quan
trọng và ảnh hưởng rất lớn đối với giới nghiên cứu cũng như giới công nghiệp phần
mềm. Rất nhiều công trình đặc sắc khác về mẫu thiết kế hướng đối tượng được đề
xuất để giải nhiều vấn đề đặc thù cho từng lĩnh vực ứng dụng phần mềm.
Do đặc điểm công nghệ, việc xây dựng phần mềm trong Java cũng đối diện
với nhiều vấn đề nảy sinh khác nhau. Trong luận văn, tôi giới hạn trong các vấn đề
xoay quanh ứng dụng mẫu thiết kế trong quá trình phát triển phần mềm trong Java.
Trong thực tế còn nhiều vấn đề quan trọng và thách thức khác kể cả về mặt công
nghệ và về mặt nghiên cứu phương pháp luận.
Trong khuôn khổ luận văn này đã thu được một số kết quả chính sau đây:


Trình bày tổng quan về mẫu thiết kế và ngôn ngữ mô hình hóa thống nhất

UML.


Tìm hiểu và trình bày một số mẫu thiết kế như mẫu khởi tạo, mẫu cấu trúc,

mẫu hành vi, mẫu tương tranh trong Java.


Tìm hiểu ngôn ngữ lập trình Java, ngôn ngữ mô hình hóa thống nhất UML,

phương pháp phân tích thiết kế và lập trình hướng đối tượng.

- 67 -



Xây dựng chương trình thử nghiệm bằng ngôn ngữ lập trình Java sử dụng

các mẫu thiết kế mà nổi bật là sử dụng các mẫu tương tranh để giải quyết vấn đề
xung đột trong môi trường mạng, môi trường đa tiến trình

HƯỚNG PHÁT TRIỂN
Để phát triển hướng nghiên cứu này, tôi định hướng vào những công việc
như sau:
• Nghiên cứu tiếp các mẫu thiết kế giải quyết các vấn đề khác nhau trong
phát triển ứng dụng trong Java, hệ thống hóa và phân loại để định hướng áp dụng;
• Áp dụng một cách hệ thống những mẫu thiết kế vào việc triển khai thử
nghiệm các hệ thống phần mềm trong Java để rút ra những nguyên tắc phương pháp
luận cần thiết cho việc vận dụng các mẫu này;
• Xây dựng các công cụ cần thiết nhằm tích hợp và hỗ trợ việc sử dụng các
mẫu thiết kế trong quá trình phát triển phần mềm trong Java.
Mặc dù đã rất cố gắng, nỗ lực nhưng do thời gian và trình độ có những hạn
chế nhất định nên luận văn sẽ không tránh khỏi những thiếu sót. Trong tương lai, tôi
sẽ cố gắng hoàn thiện những hạn chế và phát triển những vấn đề đã nêu trên, để
mang lại những kết quả khả quan hơn nữa. Rất mong nhận được sự đóng góp ý kiến
của thầy cô và các bạn để luận văn ngày càng hoàn thiện hơn.

- 68 -

TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Đặng Văn Đức, Phân tích thiết kế hướng đối tượng bằng UML, NXB
Giáo dục, 2002
[2] Phương Lan và một số tác giả, Design Patterns, Nhà Xuất Bản Phương
Đông
[3] Phương Lan, Hoàng Đức Hải, Java, Nhà xuất bản thống kê, 2004
[4] Nguyễn Phương Lan, Java lập trình mạng, Nhà xuất bản Lao động xã
hội, 2006
Tiếng Anh
[5] Craig Larman, Applying UML and Pattterns, Amazon, 2004.
[6] Kuchana, Partha, Software Architecture Design Patterns in Java, CRC
Press LLC, 2004.
[7] KevinZhang, Design Patterns Elements of Reusable Object-Oriented
Software,
[8] D. Bonura, R. Culmone, E. Merelli, Patterns for web applications, ACM
International Conference Proceeding Series, Vol. 27, p. 739 - 746, (2002)
[9] F. Buschmann, Pattern-oriented Software Architecture - A System of
Patterns, John Wiley & Sons, (1996).
[10] J. W. Cooper, The design patterns Java companion, Addison-Wesley,
(1998).
[11] P. Eeles, K. Houston, W. Kozaczynski, Building J2EE Applications
with the Rational Unified Process, Addison-Wesley, (2002).

- 69 -

[12] M. Ewiss, ‘Patterns for Web Applications’, Pattern Languages of
Programs conference 2003 (PLoP 2003).
Website
http://www.sqlsecurity.com/faq-inj.asp
http://www.objectmentor.com/mentoring/OOPrinciples
http://www.object-arts.com/EducationCentre/Patterns/AccessorMethods.htm
http://www.object-arts.com/OldStuff/Patterns/PrivateMethods.htm
http://java.sun.com
http://www.javaworld.com/javaworld/jw-10-2001/jw-1012-deadlock.html
http://www.research.ibm.com/designpatterns/pubs/7habits.html
http://www.w3.org/TR/REC-html40/present/frames.html