PHÁT TRIỂN PHẦN MỀM ỨNG DỤNG TRONG THUỶ LỢI<br />
THÁCH THỨC VÀ KHẢ NĂNG<br />
GS. TS. Nguyễn Văn Lệ<br />
<br />
<br />
Tóm tắt báo cáo<br />
Báo cáo trình bày những nét chính về yêu cầu phát triển phần mềm ứng dụng trong<br />
thuỷ lợi, một số kết quả đã đạt được và triển vọng phát triển<br />
<br />
<br />
Thuỷ lợi là một ngành kinh tế có vai trò quan trọng trong việc phát triển nông nghiệp,<br />
công nghiệp, giao thông thuỷ, bảo vệ và cải tạo môi trường sống, phòng chống lũ lụt và<br />
giảm nhẹ thiên tai, xoá đói giảm nghèo và cải thiện điều kiện sinh hoạt cho dân cư ở các<br />
vùng có điều kiện tự nhiên khắc nghiệt v.v. Các hoạt động trong lĩnh vực thuỷ lợi dựa trên<br />
cơ sở xử lý thông tin khá đa dạng:<br />
+ Xây dựng ngân hàng dữ liệu về địa hình, địa chất, khí tượng, thuỷ văn, dân<br />
sinh, kinh tế v.v. phục vụ cho công tác lập qui hoạch, thiết kế, quản lý vận hành công trình.<br />
+ Thực hiện các tính toán phục vụ cho công tác qui hoạch, thiết kế, thi công, vận<br />
hành công trình.<br />
+ Vẽ thiết kế công trình v.v.<br />
Trước năm 1990, khi các phần mềm ngoại nhập còn hạn chế, hầu hết công việc xử<br />
lý tính toán được thực hiện bằng các phần mềm "tự viết" chạy trên các máy tính lớn, xử lý<br />
lô hoặc trên các máy tính PC với hệ điều hành DOS và dữ liệu chủ yếu nhập từ file. Người<br />
sử dụng chương trình cũng chính là người viết chương trình, nên rất am hiểu về lĩnh vực<br />
chuyên môn của mình và do vậy phần mềm làm ra đáp ứng hầu như tối đa yêu cầu của<br />
người sử dụng. Hạn chế của các phần mềm này là tính chuyên nghiệp chưa cao, do hầu hết<br />
người viết đều ở dạng "nghiệp dư" về tin học, tự trang bị kiến thức về lập trình. Do vậy,<br />
kiến trúc của phần mềm còn nhiều điểm chưa hợp lý, hiệu năng sử dụng chưa cao, chương<br />
trình khó sử dụng, chỉ người viết chương trình hoặc một nhóm nhỏ "có kiến thức về lập<br />
trình" mới có thể thực hiện, tính thương mại hầu như không có.<br />
Sau năm 1990, các phần mềm ngoại nhập ngày càng nhiều, đưa đến những tác động<br />
cả tích cực, lẫn tiêu cực. Tác dụng tích cực là thúc đẩy việc phát triển phần mềm chuyên<br />
nghiệp hơn. Hầu hết các phần mềm được viết chạy trên nền WINDOWS với giao diện khá<br />
thân thiện. Tác dụng tiêu cực là một bộ phận khá lớn người sử dụng từ chỗ hăm hở tự trang<br />
bị thêm kiến thức về tin học để có thể viết được phần mềm phục vụ cho công việc của mình<br />
và phổ biến trong cộng đồng, chuyển sang sử dụng phần mềm sẵn có và "ngại" viết phần<br />
mềm. Về mặt chuyên môn, phải nói các phần mềm chuyên dụng ngoại nhập có tính năng<br />
mạnh, độ tin cậy cao, đáp ứng khá đầy đủ yêu cầu người dùng, giao diện thân thiện v.v.<br />
Điểm hạn chế cơ bản của các phần mềm ngoại nhập là hướng dẫn và giao diện viết bằng<br />
tiếng Anh, nên nhân rộng khó khăn, nhất là ở các địa phương, nơi các cán bộ kỹ thuật nói<br />
chung có kiến thức tiếng Anh hạn chế. Mặt khác, nhiều phần tính toán và cách biểu diễn<br />
không phù hợp với tiêu chuẩn và thói quen hiện dùng trong nước. Chẳng hạn, các phần<br />
mềm phân tích kết cấu như SAP hoặc ANSYS của Mỹ chỉ sử dụng được phần tính toán ứng<br />
suất và nội lực, không sử dụng được phần tính toán bê tông cốt thép hoặc thép được xây<br />
dựng theo tiêu chuẩn của Mỹ. Biểu diễn ngoại, nội lực thể hiện trong các phần mềm này<br />
cũng khác với cách biểu diễn ở trong nước đã quen dùng.<br />
Thực tế này dẫn đến việc cần thiết phải phát triển các ứng dụng trong nước. Công<br />
việc này hiện được tiến hành theo hai hướng:<br />
+ Thêm vào phần mềm ngoại nhập những chức năng chưa có hoặc không phù<br />
hợp để vừa tận dụng được sức mạnh của các phần mềm đã được thừa nhận rộng rãi có độ<br />
tin cậy cao, hiệu năng tốt v.v. để đáp ứng đầy đủ hơn các yêu cầu của người sử dụng trong<br />
nước.<br />
+ Làm phần mềm mới có công năng tương tự với phần mềm ngoại nhập, thân<br />
thiện hơn với người sử dụng trong nước (giao diện tiếng Việt, biểu diễn quen dùng v.v.).<br />
Về hướng thứ nhất, chẳng hạn, để dễ dàng hơn cho người thiết kế trong việc xây<br />
dựng một bản vẽ 3D về cống lộ thiên, với ngôn ngữ Autolisp của AutoCAD có thể thêm<br />
vào phần mềm AutoCAD công năng chuyên dụng vẽ 3D và render kết cấu cống lộ thiên<br />
với các giao diện hướng dẫn người dùng nhập các dữ liệu cơ bản để máy tự xử lý [1].<br />
<br />
<br />
<br />
<br />
H. 1. Form nhập dữ liệu để dựng hình 3D của cống<br />
H. 1 là giao diện người dùng phục vụ cho công năng này, trong đó người dùng nhập<br />
các dữ liệu chung như số khoang cống và kích thước mỗi khoang. Sau đó, chọn các chức<br />
năng như nhập dữ liệu của các bộ phận của cống (tường cánh, cầu giao thông, cửa van<br />
v.v.). H. 2 là form nhập dữ liệu để vẽ kết cấu tường cánh.<br />
H. 2. Form nhập dữ liệu để dựng tường cánh cánh và sân phủ<br />
<br />
<br />
<br />
<br />
H. 3. Hình vẽ 3D sau khi nhập dữ liệu Hình 4. Kết quả sau khi render<br />
<br />
Sau khi đã nhập đủ kích thước cho các bộ phận của cống, chỉ cần bấm OK, máy sẽ<br />
tự vẽ và hiện ảnh 3D của cống như biểu diễn trong h. 3 và ảnh sau khi render như h. 4.<br />
Về hướng thứ hai, chẳng hạn, phần mềm Tính toán kết cấu công trình thuỷ lợi được<br />
xây dựng bởi Trung tâm Tin học, Đại học Thuỷ lợi có các công năng tương tự như các công<br />
năng của SAP, nhưng giao diện được Việt hoá và hướng mạnh vào các dạng kết cấu công<br />
trình thuỷ lợi thường gặp như cống ngầm, đường hầm, bản đáy tràn v.v. để tăng tính tiện<br />
dụng cho người dùng trong lĩnh vực này (h. 5).<br />
<br />
<br />
<br />
<br />
H. 5. Một số giao diện của phần mềm Tính toán kết cấu CTTL<br />
Mặt khác, trong thiết kế giao diện nhập dữ liệu và hiển thị kết quả cũng như các<br />
công năng tính toán liên quan đến các tiêu chuẩn kỹ thuật đều sử dụng các biểu diễn quen<br />
dùng và các qui chuẩn kỹ thuật hiện hành trong nước.<br />
Thêm vào đó, để hạn chế tối đa các sai sót của người dùng, trong chương trình đã<br />
đưa vào các bẫy lỗi hoặc các cảnh báo trong trường hợp người dùng nhập sai định dạng dữ<br />
liệu, nhập dữ liệu không hợp lý về mặt chuyên môn hoặc nhập thiếu dữ liệu (h. 6).<br />
<br />
<br />
<br />
<br />
H. 6. Bẫy lỗi và cảnh báo khi nhập dữ liệu<br />
Để thêm các công năng chuyên biệt cho các phần mềm thông dụng hoặc xây dựng<br />
các phần mềm mới ứng dụng trong thuỷ lợi đòi hỏi người phát triển phần mềm phải có "đủ"<br />
kiến thức về lĩnh vực này và nắm vững các công việc mà phần mềm sẽ hỗ trợ. Mâu thuẫn<br />
xuất hiện ở đây là, các kỹ sư chuyên ngành có kiến thức tốt về lĩnh vực chuyên môn của<br />
mình nhưng lại thiếu nền tin học, còn các kỹ sư tin học thì lại không đủ kiến thức về lĩnh<br />
vực này. Đây là thách thức lớn trong việc phát triển các ứng dung ngay cả ở Mỹ, chẳng hạn<br />
có dự án đã tiêu tốn 35 triệu USD và mất thời gian 4 năm mà không đem lại kết quả gì chỉ<br />
vì kỹ sư tin học không nắm được đầy đủ kiến thức của lĩnh vực họ phát triển ứng dụng hỗ<br />
trợ [2].<br />
Trong lĩnh vực thuỷ lợi còn rất nhiều ứng dụng mang tính đặc thù có yêu cầu cấp<br />
thiết đòi hỏi phải phát triển. Ví dụ:<br />
+ Các hệ thống cảnh báo các thảm hoạ thiên nhiên như lũ quét, lở đất v.v.<br />
+ Các hệ thống giám sát và quản lý các hệ thống công trình trong thời gian xây<br />
dựng và sau khi đi vào vận hành,<br />
+ Các hệ thống điều khiển các công trình hoặc cụm công trình có qui mô lớn<br />
v.v.<br />
Lấy một ví dụ, h. 7 biểu diễn công trình Maeslant ngăn nước biển dâng do bão<br />
(storm surge barrier) và bảo đảm giao thông thủy ở Hà Lan.<br />
<br />
<br />
<br />
<br />
H. 5. Yêu cầu hệ thống điều khiển công trình chống ngập Maeslant ở Hà Lan<br />
Do tầm quan trọng của công trình này, hệ thống phần mềm BOS phục vụ điều khiển<br />
đã được xây dựng là một hệ thống phức tạp với yêu cầu rất cao về độ tin cậy, ví dụ tự động<br />
hoá về mặt quyết định, rủi ro về mặt vận hành đóng chỉ là 1/1000, kết nối nhiều kênh liên<br />
lạc và vệ tinh v.v. Phần mềm này đã được phát triển trên cơ sở phương pháp hình thức<br />
(formal method) và có qui mô lên đến 450000 dòng lệnh [3].<br />
Trong tương lai không xa, hệ thống các công trình chống ngập cho thành phố Hồ<br />
Chí Minh có qui mô khá lớn với yêu cầu vận hành tương tự sẽ được xây dựng. Đây là một<br />
thách thức to lớn đối với các kỹ sư tin học và thuỷ lợi.<br />
Như vậy là yêu cầu phát triển các phần mềm ứng dụng trong thuỷ lợi là bức thiết và<br />
to lớn. Những năm qua, trong khuôn khổ các đề tài nghiên cứu và phục vụ sản xuất nhiều<br />
phần mềm ứng dụng đã được phát triển. Tuy vậy, để có các phần mềm mang tính tầm cỡ,<br />
vấn đề đặt ra cho cả công tác đào tạo và tổ chức phát triển phần mềm trong lĩnh vực này là<br />
cần có chính sách và biện pháp kết nối hai khối kiến thức tin học và lĩnh vực ứng dụng.<br />
Tài liệu tham khảo<br />
[1] Po-Han Chen, Nguyen Thi Lan Truc: Automatic 3D Modelling Development and<br />
Application for Hydraulic Construction<br />
The 25th Symposium on Automation and Robotics in Construction, 2008<br />
[2] Những bài học từ một dự án phần mềm<br />
www.dt.ussh.edu.vn/index.php<br />
[3] Jan Tretmans et. al.: Software Engineering with Formal Methods: The Developmnt ò a<br />
Storm Surge Barrier Control System.<br />
www.minvenw.nl/rws/dzh/svk/engels/<br />
<br />
<br />
DEVELOPMENT OF APPLICATION SOFTWARE IN WATER RESOURCES:<br />
CHALLENGE AND POSSIBILITY<br />
Prof. Dr. Nguyen Van Le<br />
Summary<br />
The paper presents the main features of demand on water resources application<br />
development, some results and prospectives.<br />