Tổng quan nghiên cứu

Trong bối cảnh ngành công nghệ thông tin phát triển với tốc độ trên 25% mỗi năm, nhu cầu xây dựng các hệ thống phần mềm quy mô lớn, chất lượng cao và giá thành hạ ngày càng trở nên cấp bách. Tuy nhiên, theo các khảo sát thực tế trong ngành công nghiệp phần mềm, có tới hơn 60% dự án đối mặt với nguy cơ chậm tiến độ và vượt ngân sách do các nhóm phát triển phải lập trình lại các chức năng tương tự từ đầu. Tại Việt Nam, hoạt động xây dựng phần mềm thời điểm đầu những năm 2000 vẫn còn mang nặng tính kinh nghiệm cá nhân và thủ công, khiến năng suất lao động và khả năng kiểm soát chất lượng bị hạn chế đáng kể.

Nhằm giải quyết triệt để vấn đề này, luận văn tập trung nghiên cứu phương pháp luận và kỹ thuật tái sử dụng tài sản phần mềm dựa trên cách tiếp cận kỹ nghệ miền ứng dụng kết hợp với công nghệ hướng đối tượng. Mục tiêu cốt lõi của nghiên cứu là làm chủ các công cụ, phương pháp phân tích miền và xây dựng quy trình tái sử dụng có hệ thống, từ việc thu thập, tổng quát hóa đến lưu trữ và khai thác tài nguyên phần mềm. Phạm vi thực nghiệm của đề tài được triển khai trực tiếp trên miền nghiệp vụ Giáo dục và Đào tạo Đại học tại Trường Đại học Công nghệ thuộc Đại học Quốc gia Hà Nội trong giai đoạn 2003 - 2004.

Ý nghĩa khoa học và thực tiễn của đề tài được lượng hóa rõ nét khi cung cấp giải pháp giảm thiểu khoảng 35% đến 45% thời gian phát triển các hệ thống mới, cắt giảm hơn 30% chi phí sản xuất, đồng thời nâng cao độ tin cậy và chuẩn hóa kiến trúc của các sản phẩm phần mềm giáo dục lên trên 85%.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết áp dụng

Nghiên cứu được xây dựng trên nền tảng của hai trụ cột lý thuyết chính trong kỹ nghệ phần mềm hiện đại: lý thuyết Kỹ nghệ miền kết hợp Kỹ nghệ ứng dụng và lý thuyết Phát triển phần mềm hướng đối tượng.

Lý thuyết Kỹ nghệ miền xác lập tiến trình lặp hai giai đoạn gồm phát triển cho tái sử dụng và phát triển với tái sử dụng. Tiến trình này giúp xác định, đóng gói các yếu tố cốt lõi chung của một họ ứng dụng để tạo thành các tài sản dùng chung có giá trị lâu dài. Song song đó, phương pháp luận phát triển hướng đối tượng đóng gói chặt chẽ dữ liệu và xử lý, tạo tiền đề để triển khai các mô hình trừu tượng hóa mức cao.

Hệ thống khái niệm cốt lõi được vận dụng xuyên suốt bao gồm: Thư viện tài sản tái sử dụng (Reusable Asset Library), Mẫu thiết kế (tiêu biểu như mẫu Expert), Khung cảnh nghiệp vụ (Context Diagram), Mô hình miền (Domain Model), và Ngôn ngữ mô hình hóa thống nhất UML.

Lịch sử phát triển chỉ ra rằng từ cuối thập niên 1940 tại Đại học Cambridge với thư viện sơ khai gồm hơn 200 đoạn chương trình con vào cuối thập niên 1950, kỹ thuật tái sử dụng đã tiến hóa qua 3 cấp độ căn bản: mức mã nguồn và thư viện con, mức đối tượng và thành phần đóng gói, và mức trừu tượng hóa kiến trúc cùng các đặc tả yêu cầu.

Phương pháp nghiên cứu

Nguồn dữ liệu của luận văn được thu thập từ 12 quy trình nghiệp vụ chuẩn và hơn 50 biểu mẫu quản lý đào tạo đại học đang vận hành tại Trường Đại học Công nghệ. Phương pháp chọn mẫu phi xác suất có chủ đích được áp dụng nhằm lựa chọn các phân hệ nghiệp vụ có tần suất lặp lại cao nhất, bao gồm phân hệ Quản lý sinh viên, Tuyển sinh đại học, Quản lý khóa luận và Xét tốt nghiệp. Việc lựa chọn phương pháp phân tích và thiết kế hệ thống theo công nghệ hướng đối tượng với chuẩn UML cùng các công cụ hỗ trợ mô hình hóa trực quan (như Rational Rose và PowerDesigner) xuất phát từ khả năng hỗ trợ đắc lực kỹ thuật dịch xuôi và dịch ngược, đảm bảo tính nhất quán 100% giữa mô hình kiến trúc và mã nguồn cài đặt. Toàn bộ quá trình nghiên cứu và thử nghiệm được thực hiện liên tục trong khoảng thời gian từ năm 2003 đến tháng 8 năm 2004, trải qua các đợt báo cáo khoa học tại hội nghị cơ sở vào tháng 5 năm 2004 và Hội thảo Quốc gia lần thứ VII tại Đà Nẵng vào tháng 8 năm 2004.

Kết quả nghiên cứu và thảo luận

Những phát hiện chính

Quá trình nghiên cứu và thực nghiệm đã mang lại 4 phát hiện khoa học và kết quả công nghệ mang tính đột phá:

Thứ nhất, luận văn đã xây dựng thành công Thư viện tài sản tái sử dụng với hơn 30 tài sản miền được chuẩn hóa hoàn chỉnh, bao gồm từ điển dữ liệu miền, lược đồ thực thể quan hệ và tập hợp các biểu đồ ca sử dụng nghiệp vụ giáo dục đại học.

Thứ hai, việc áp dụng mô hình phân tích miền vào xây dựng phân hệ Quản lý sinh viên đã chứng minh tỷ lệ tái sử dụng tài sản thiết kế đạt mức 45% đến 60%, giúp rút ngắn gần 40% thời gian viết mã nguồn so với việc phát triển độc lập không có tài sản tái sử dụng.

Thứ ba, nghiên cứu chứng minh rằng hiệu quả tái sử dụng ở mức trừu tượng cao (đặc tả yêu cầu, mẫu phân tích, kiến trúc miền) mang lại giá trị tiết kiệm tài nguyên lớn hơn gấp 2,5 lần so với việc chỉ tái sử dụng ở mức dòng mã nguồn đơn lẻ.

Thứ tư, thử nghiệm cơ chế tìm kiếm kết hợp đa tiêu chí (dựa trên từ điển hệ thống và phân loại từ khóa nghiệp vụ) đã tăng tốc độ định vị và trích xuất tài sản phù hợp trong kho lưu trữ lên hơn 70%, giảm thiểu tối đa tình trạng trùng lặp thiết kế.

Thảo luận kết quả

Nguyên nhân cốt lõi dẫn đến hiệu quả vượt trội của phương pháp tiếp cận miền ứng dụng nằm ở khả năng tách biệt hoàn hảo giữa phần cốt lõi chung của toàn bộ miền nghiệp vụ và phần biến đổi chuyên biệt của từng ứng dụng cụ thể. Khi các lớp đối tượng được thiết kế trừu tượng và độc lập với ngữ cảnh thực thi, các kỹ sư phần mềm có thể dễ dàng lắp ráp hoặc mở rộng tính năng mà không làm xáo trộn cấu trúc toàn cục.

So với các thử nghiệm đơn lẻ trước đây tại một số trường đại học trong nước vào năm 2003 chỉ dừng lại ở mức chia sẻ mã nguồn mở, nghiên cứu này đã thiết lập một phương pháp luận hoàn chỉnh từ khâu kỹ nghệ miền đến kỹ nghệ ứng dụng.

Các dữ liệu thực nghiệm trong luận văn có thể được trình bày sinh động thông qua biểu đồ cột so sánh thời gian phát triển giữa các ca sử dụng (như Thêm mới, Tìm kiếm, Sửa, Xóa hồ sơ sinh viên) khi có và không có tài sản tái sử dụng, kết hợp cùng bảng ma trận phân loại tài sản theo 3 tầng kiến trúc. Cách trực quan hóa này giúp các nhà quản trị thấy rõ mức độ suy giảm của chi phí bảo trì và nâng cao năng suất dự án sau mỗi chu kỳ tái sử dụng.

Đề xuất và khuyến nghị

Dựa trên các kết quả nghiên cứu lý thuyết và kiểm chứng thực nghiệm, tác giả đề xuất 4 nhóm giải pháp chiến lược nhằm thúc đẩy hoạt động tái sử dụng phần mềm:

Một là, chuẩn hóa quy trình kỹ nghệ miền tại các doanh nghiệp công nghệ thông tin. Các công ty phát triển phần mềm cần ban hành khung quy trình phân tích miền và xây dựng bộ mẫu thiết kế hướng đối tượng chuẩn hóa UML trong vòng 6 đến 12 tháng, hướng tới mục tiêu nâng tỷ lệ tái sử dụng tài sản trong toàn bộ dự án của doanh nghiệp lên mức trên 50%.

Hai là, đầu tư xây dựng hệ thống quản trị thư viện tài sản tái sử dụng tập trung. Bộ phận kiến trúc công nghệ và quản trị tri thức tại các tổ chức cần ứng dụng các hệ quản trị cơ sở dữ liệu mạnh mẽ như Oracle hoặc Microsoft SQL Server nhằm lưu trữ, phân loại và lập chỉ mục cho hơn 100 thành phần phần mềm dùng chung trong lộ trình 18 tháng.

Ba là, đổi mới nội dung đào tạo công nghệ phần mềm tại các cơ sở giáo dục đại học. Các trường đại học khối kỹ thuật cần đưa chuyên đề Kỹ nghệ miền và Mẫu thiết kế phần mềm vào chương trình đào tạo cử nhân và thạc sĩ công nghệ thông tin từ năm học tiếp theo, tăng thời lượng thực hành phân tích miền lên mức tối thiểu 40% tổng số tiết học.

Bốn là, đẩy mạnh cơ chế tài trợ và liên kết dự án phần mềm nguồn mở cấp quốc gia. Cơ quan quản lý nhà nước cần phân bổ nguồn kinh phí từ các chương trình phát triển phần mềm trọng điểm quốc gia với quy mô hàng chục tỷ đồng để tạo lập các kho tài nguyên số dùng chung cho khối cơ quan hành chính và đào tạo trong giai đoạn 3 đến 5 năm tới.

Đối tượng nên tham khảo luận văn

Luận văn là tài liệu tham khảo giá trị cao cho 4 nhóm đối tượng chuyên môn cụ thể:

Nhóm học viên cao học và nghiên cứu sinh chuyên ngành Công nghệ thông tin: Tài liệu cung cấp hệ thống cơ sở phương pháp luận chặt chẽ, các trích dẫn học thuật uy tín và quy trình nghiên cứu thực nghiệm chuẩn mực để phát triển các đề tài liên quan đến kỹ nghệ phần mềm tiên tiến.

Nhóm kiến trúc sư phần mềm và lập trình viên cao cấp: Những người trực tiếp thiết kế hệ thống sẽ tìm thấy các giải pháp mẫu thiết kế hữu ích, phương pháp xây dựng mô hình 3 tầng và cách thức đóng gói các thành phần độc lập nhằm tối ưu hóa mã nguồn trong các dự án thực tế.

Nhóm giám đốc công nghệ và quản lý dự án: Nghiên cứu mang lại góc nhìn chiến lược về bài toán kinh tế trong sản xuất phần mềm, giúp các nhà quản lý hoạch định chiến lược đầu tư tài sản số, cắt giảm từ 30% đến 40% chi phí vận hành và rút ngắn thời gian bàn giao sản phẩm ra thị trường.

Nhóm chuyên viên công nghệ thông tin tại các trường đại học và viện nghiên cứu: Cung cấp trực tiếp bộ tài sản phân tích miền Giáo dục - Đào tạo Đại học đã được chuẩn hóa để áp dụng ngay vào việc xây dựng các phân hệ quản lý sinh viên, tuyển sinh và đào tạo tín chỉ.

Câu hỏi thường gặp

Tái sử dụng theo hướng tiếp cận miền khác gì so với tái sử dụng mã nguồn truyền thống? Tái sử dụng mã nguồn truyền thống chỉ diễn ra ở mức thấp, mang tính thủ công và phụ thuộc hoàn toàn vào ngôn ngữ lập trình cụ thể. Ngược lại, tiếp cận theo kỹ nghệ miền cho phép tái sử dụng ở mức trừu tượng hóa cao gồm đặc tả yêu cầu, kiến trúc và mô hình miền, giúp tăng năng suất phát triển lên hơn 40% trên toàn bộ vòng đời phần mềm.

Thư viện tài sản sử dụng lại đóng vai trò như thế nào trong tiến trình phát triển hệ thống? Thư viện tài sản đóng vai trò là kho tri thức tập trung, lưu trữ có cấu trúc các mô hình phân tích, ca sử dụng, mẫu thiết kế và mô-đun chương trình. Thư viện cung cấp các dịch vụ tìm kiếm thông minh giúp rút ngắn thời gian truy xuất tài sản lên hơn 70%, kết nối hiệu quả giữa giai đoạn phát triển cho tái sử dụng và phát triển với tái sử dụng.

Làm thế nào để khắc phục chi phí đầu tư ban đầu cao khi phát triển phần mềm cho tái sử dụng? Phát triển phần mềm cho tái sử dụng đòi hỏi chi phí ban đầu cao hơn khoảng 20% đến 30% để tổng quát hóa tài sản. Tuy nhiên, chi phí này sẽ nhanh chóng được bù đắp và tạo ra lợi nhuận vượt trội từ dự án thứ hai trở đi nhờ giảm thiểu 35% chi phí bảo trì và rút ngắn thời gian kiểm thử sản phẩm.

Công nghệ hướng đối tượng và chuẩn UML hỗ trợ kỹ nghệ miền ra sao? Công nghệ hướng đối tượng đóng gói dữ liệu và hàm xử lý thành các khối độc lập, trong khi chuẩn UML cung cấp ký pháp trực quan thống nhất. Sự kết hợp này cho phép mô hình hóa cấu trúc hệ thống mạch lạc, hỗ trợ công cụ dịch ngược và dịch xuôi tự động để duy trì tính đồng bộ 100% giữa thiết kế và mã nguồn.

Hệ thống Quản lý sinh viên trong luận văn có thể triển khai cho các trường đại học khác không? Hệ thống hoàn toàn có thể nhân rộng cho các cơ sở giáo dục đại học khác nhờ việc mô hình hóa dựa trên các nghiệp vụ cốt lõi chung của toàn miền giáo dục. Các trường tiếp nhận chỉ cần tùy biến khoảng 15% đến 20% các quy định đặc thù mà không cần phải tái thiết kế lại toàn bộ cấu trúc hệ thống.

Kết luận

Những đóng góp và kết luận trọng tâm của công trình nghiên cứu bao gồm:

  • Hệ thống hóa toàn diện cơ sở phương pháp luận về kỹ nghệ miền, làm rõ sự khác biệt giữa hai tiến trình phát triển cho tái sử dụng và phát triển với tái sử dụng.
  • Xây dựng thành công mô hình kiến trúc miền Giáo dục và Đào tạo Đại học với mức độ khái quát hóa cao, bao quát 12 quy trình nghiệp vụ cốt lõi.
  • Thiết kế và thử nghiệm hoàn chỉnh Thư viện tài sản tái sử dụng, cung cấp giải pháp phân loại và tìm kiếm kết hợp đa tiêu chí đạt hiệu quả tối ưu.
  • Thực hiện thành công ca thực nghiệm hệ thống Quản lý sinh viên tại Trường Đại học Công nghệ, chứng minh khả năng tiết kiệm 40% công sức lập trình và nâng cao độ tin cậy phần mềm.
  • Đề xuất lộ trình tích hợp hoạt động tái sử dụng có hệ thống vào quy trình sản xuất phần mềm tại Việt Nam trong giai đoạn chuyển đổi công nghệ.

Công trình đã đặt nền móng vững chắc cho việc ứng dụng kỹ nghệ miền trong phát triển phần mềm hướng đối tượng, mở ra hướng nghiên cứu mở rộng sang các công cụ sinh mã tự động trong lộ trình 2 đến 3 năm tiếp theo. Các nhà nghiên cứu, kỹ sư hệ thống và nhà quản lý công nghệ hãy khai thác ngay những mô hình và giải pháp trong luận văn này để chuẩn hóa quy trình và tối ưu hóa năng suất phát triển phần mềm tại đơn vị mình.