Thay vì phải xây dựng từ đầu, các nhà phát triển có thể lựa chọn trong số các thành phần trong thư viện của mình hoặc của các hãng khác, xây dựng thêm thành phần mới phù hợp với yêu cầu,
Trang 1Ứng dụng công nghệ hướng thành phần vào xây dựng hệ
thống
Nguyễn Anh Tuấn
MSV: 0320349
Giáo viên hướng dẫn TS Trương ninh thuận
Đặt vấn đề:
Trong thời đại ngày nay, công
nghệ thông tin được ứng dụng trong hầu
hết các lĩnh vực của đời sống xã hội với
tốc độ chóng mặt Các hệ thống thông tin
ngày càng có qui mô rộng và độ phức tạp
ngày càng cao Điều này đặt ra yêu cầu
phải xây dựng hệ thống như thế nào để có
hệ thống với chất lượng tốt, trong khoảng
thời gian ngắn và đặc biệt thuận lợi cho
việc bảo trì Liệu có thể xây dựng hệ thống
bằng cách ghép nối các thành phần đã có
hay không ?
Công nghệ hướng thành phần
Hiện nay lập trình hướng đối
tượng đã chứng minh được ưu điểm vượt
trội của nó so với lập trình thủ tục trước
kia, và đang dần thay thế mô hình lập trình
thủ tục Nhờ việc dễ dàng nâng cập version
và bảo trì mã lệnh trong các hệ thông lớn,
lập trình hướng đối tượng ngày càng được
sử dụng rộng rãi Ngày nay, hầu như mọi
ngôn ngữ đều hỗ trợ và nâng cấp để có thể
sử dụng hướng đối tượng, mở đầu là
Smalltalk, C++, Object Pascal, Delphi,
Visual Basic, tiếp đến là các hệ quản trị dữ
liệu Visual Foxpro, Access, SQL Server,
Oracle và sau cùng là ngôn ngữ Java,
Visual Studio.Net thuần đối tượng
Có 1 điểm hạn chế rất lớn là khả năng chuyển đổi giữa các ngôn ngữ là các đối tượng được thiết kế bằng ngôn ngữ nào thì sau khi biên dịch ra dạng nhị phân, chỉ
có mã lệnh tương ứng của ngôn ngữ đó mới truy cập được đối tượng Vì thế khả năng sử dụng lại, tương tác giữa các đối tượng của các ngôn ngữ là rất khó khăn Công nghệ hướng thành phần là mong muốn tìm một tiếng nói chung cho tất cả các ngôn ngữ lập trình hiện có (tương tự như “quốc tế ngữ” với con người) Và do các hệ thống thông tin ngày càng có độ lớn
và phức tạp, yêu cầu phải được xây dựng trong một thời gian ngắn Vì vậy quy trình phát triển phần mềm hướng thành phần ra đời giảm bớt thời gian phát triển hệ thống Thay vì phải xây dựng từ đầu, các nhà phát triển có thể lựa chọn trong số các thành phần trong thư viện của mình hoặc của các hãng khác, xây dựng thêm thành phần mới phù hợp với yêu cầu, sau đó thích nghi và kết nối các thành phần đó với nhau Và điều này sẽ làm cho thời gian xây dựng hệ thống được giảm đáng kể, chất lượng hệ thống đáng tin cậy hơn và giá thành xây dựng hệ thống giảm xuống vì không phải mất thời gian kiểm tra và mã hoá lại Hơn nữa, các thành phần phần mềm có thể dùng cho nhiều hệ thống, độc lập với ngôn ngữ
Trang 2lập trình, có thể thích ứng với nhiều
platform…
Trong công phần mềm, sử dụng
lại là một ý tưởng mà các nhà phát triển
xưa và nay vẫn thường dùng Họ sử dụng
lại ý tưởng sự trừu tượng hoá và xử lý,
nhưng các cách tiếp cận sử dụng lại này
thường không tuân theo một quy định
chung nào Ngày nay, với việc phải xây
dựng các hệ thống trên nền máy tính phức
tạp, chất lượng cao trong một khoảng thời
gian ngắn, thì cách tiếp cận sử dụng lại
càng được đề cập đến nhiều Công nghệ
phần mềm hướng thành phần là một quá
trình nhấn mạnh đến thiết kế và xây dựng
các hệ thống phần mềm sử dụng các thành
phần Công nghệ phần mềm hướng thành
phần chuyển từ việc lập trình tạo ra các
phần mềm sang việc biên soạn, tập hợp các
hệ thống tin học, các nhà phát triển tập
trung vào việc tích hợp Tuy nhiên, có rất
nhiều câu hỏi nảy sinh Có thể tạo ra các
hệ thống phức tạp bằng việc ghép các
thành phần phần mềm không? Việc này có
thể đáp ứng được yêu cầu về giá thành và
hiệu quả không? Lợi ích đem lại có đủ
khuyến khích các kỹ sư phần mềm sử dụng
lại hơn là làm từ đầu? Việc quản trị có nảy
sinh nhiều vấn đề khi tạo ra các thành phần
phần mềm khả dụng lại? Thư viện các
thành phần cần thiết có đủ đáp ứng các yêu
cầu bài toán của người sử dụng không? Để
trả lời được các câu hỏi đó cần phải có
thêm thời gian cũng như việc đúc rút kinh
nghiệm qua các dự án phát triển phầm
mềm hướng thành phần
Xây dựng hệ thống quản lý cổ đông dựa trên công nghệ hướng thành phần
Chương trình được băt đầu xây dựng từ tháng 7/2006 Các doanh nghiệp đang cổ phần hóa để thu hút vốn đầu tư trong nước và nước ngoài Với mong muốn viết 1 phần mềm quản lý cổ phần có thể dùng được cho mọi công ty, điều này khó thực hiện do quy trình quản lý cổ phần ở các công ty là rất khác nhau,các công ty hầu hết đều bỡ ngỡ với việc quản lý cổ đông, các sửa đổi phải diễn ra liên tục, vấn
đề bảo trì phần mềm diễn ra thường xuyên, phiên bản dành cho công ty này không phù hợp với công ty khác, vì vậy việc sử đổi phiên bản cho phù hợp với từng công ty là tất yếu Chúng tôi đã có rất nhiều trăn trở, làm thế nào để việc sửa đổi chương trình không tốn quá nhiều công sức
Giải quyết vấn đề
Sau 1 thời gian tìm hiểu, chúng tôi
đã giải quyết được phần lớn vấn đề trên dựa trên công nghệ hướng thành phần, công nghệ hướng thành phần được bộ công
cụ Net của microsoft hỗ trợ rất mạnh .Net làm việc rất tốt với DLL, ngoài ra chúng tôi còn sử dụng các component sẵn do các công ty khác xây dựng cụ thể như sau Công cụ codesmithtools tự động hóa việc kết nối tới cơ sở dữ liệu giúp choviệc truy cập đến cơ sở dữ liệu được đơn giản hơn rất nhiều
Trang 32 bộ công cụ Infragistic và Developer
Express cung cấp các đối tượng đã được
xây dựng mới, nhiều tính năng hơn nhiều
so với những gì mà bộ net 2005 đã cung
cấp đáp ứng được các yêu cầu mà hệ thống
cần
Hệ thống được chia thành các thành phần
nhỏ phát triển độc lập với nhau
Kết Luận
Hệ thống được lắp ghép từ các
thành phần độc lập Khi thực thi
chương trình không phải dịch lại
Khi sửa, hoặc cập nhật một
thành phần nào đó thì không làm ảnh
hưởng tới các thành phần khác, và cũng
không ảnh hưởng tới hệ thống…
Các thành phần một khi đã
được xây dựng cẩn thận thì có thể phổ
biến cho nhiều người Họ chỉ cần tích
hợp vào chương trình và sử dụng một
cách dễ dàng Đối với các nhà phát
triển họ sử dụng lại các thành phần
trong hệ thống của họ, điều này sẽ làm
giảm thời gian, giảm chi phí phát triển
hệ thống Tạo ra một hệ thống có chất
lượng cao và dễ bảo trì…
Việc Sử dụng công nghệ
hướng đối tượng rút ngắn thời gian phát
triển hệ thống, giảm bớt rủi ro, tuy
nhiên việc lựa chọn các thành phần sẵn
có là rất cần thiết, thành phần được lựa chọn phải phù hợp với hệ thống mình đang phát triển Đề tài đã trình bày về công nghệ hướng đối tượng, đưa ra những trăn trở mà hầu hết các lập trình việc, các nhà phát triển hệ thống gặp phải, chúng tôi đã đưa ra hướng giải quyết cho 1 hệ thống cụ thể Hi vọng rằng đây sẽ là 1 hướng đi được nhiều người quan tâm và phát triển để ngày càng hoàn thiện
Tài liệu tham khảo
[1] Tìm hiểu lập trình COM,
Hồ quang khải [2] Nền tảng NET (.NET Framework),ThS Nguyễn Hoàng Linh
[3] Sun Microsystems 100% Pure Java Cookbook Guidelines for achieving the 100% Pure Java Standard Garg, M Critchlow, P Chen, C van der Westhuizen, and A van der Hoek
[4] Mastering COM and COM+, BPB Publications,
2000 Ash Rofail [5] Series Editor COM+
Developer's Reference Library, 2000 David Iseminger
[6] Component-Based Software Engineering, Ralf
H Reussner