Bối cảnh và vấn đề nghiên cứu
Trong quy trình sản xuất phần mềm, việc khảo sát, phân tích và thiết kế hệ thống là giai đoạn phức tạp và giữ vai trò quyết định đến chất lượng sản phẩm. Tác giả chỉ ra rằng trên thực tế, nhiều dự án công nghệ thông tin không thể hoàn thành, hoặc sau khi xây dựng xong vẫn không đưa vào vận hành được, hoặc gặp nhiều lỗi không đáp ứng được yêu cầu của người sử dụng. Nguyên nhân cốt lõi bắt nguồn từ việc cấu trúc dữ liệu của hệ thống thường xuyên phải thay đổi theo yêu cầu người dùng, trong khi phương pháp phát triển truyền thống gặp nhiều khó khăn trong việc thích ứng. Để giải quyết triệt để vấn đề này, quá trình xây dựng phần mềm đòi hỏi phải kiểm soát ba yếu tố trọng tâm:
- Dữ liệu đối tượng và cấu trúc của hệ thống.
- Những hành vi thể hiện chức năng của hệ thống.
- Điều khiển hành vi tổng thể của hệ thống.
Về bối cảnh thực tiễn, tại các cơ sở giáo dục đại học có quy mô đào tạo như Trường Đại học Công đoàn, công tác quản lý hồ sơ và kết quả học tập của sinh viên phát sinh khối lượng dữ liệu lớn và phân tán. Vào thời điểm thực hiện nghiên cứu (năm 2006), nhà trường chưa có một hệ thống phần mềm quản lý hồ sơ và kết quả học tập hoàn chỉnh nhằm đáp ứng toàn diện các yêu cầu nghiệp vụ đặt ra. Việc ứng dụng công nghệ thông tin và phương pháp tiếp cận hướng đối tượng để tin học hóa quy trình quản lý trở thành nhu cầu cấp thiết.
Từ bối cảnh trên, đề tài xác định các mục tiêu và nhiệm vụ nghiên cứu cụ thể:
- Nghiên cứu tổng quan về phương pháp phân tích, thiết kế hướng đối tượng và các công cụ hỗ trợ chuẩn hóa, đặc biệt là ngôn ngữ mô hình hóa UML.
- Nghiên cứu các mẫu gán trách nhiệm GRASP phục vụ cho quá trình thiết kế hệ thống hướng đối tượng.
- Vận dụng phương pháp tiếp cận hướng đối tượng và ngôn ngữ UML để phân tích, thiết kế hệ thống quản lý hồ sơ và kết quả học tập tại Trường Đại học Công đoàn.
- Phân tích chi tiết và cài đặt chương trình quản lý hồ sơ và kết quả học tập.
- Đối tượng nghiên cứu: Phương pháp phân tích thiết kế hướng đối tượng, ngôn ngữ mô hình hóa UML, các mẫu thiết kế GRASP và bài toán quản lý hồ sơ, kết quả học tập của sinh viên.
- Phạm vi không gian: Khảo sát và ứng dụng tại Trường Đại học Công đoàn.
- Phạm vi thời gian: Công trình hoàn thành vào năm 2006.
Cơ sở lý thuyết và phương pháp
Khóa luận xây dựng trên nền tảng lý thuyết phát triển phần mềm hướng đối tượng hiện đại, tập trung vào việc mô hình hóa trực quan và phân rã hệ thống thành các thực thể độc lập tương tác qua thông điệp.
Khung lý thuyết và mô hình được tác giả sử dụng gồm:
- Phương pháp luận hướng đối tượng: Tiếp cận hệ thống dưới dạng tập hợp các đối tượng tương tác, tận dụng các nguyên lý trừu tượng hóa, đóng gói và che giấu thông tin nhằm tăng tính an toàn, giảm độ phức tạp và hỗ trợ khả năng tái sử dụng mô hình.
- Ngôn ngữ mô hình hóa thống nhất UML (Unified Modeling Language): Chuẩn mô hình hóa đồ họa được công nghiệp phần mềm chấp nhận từ năm 1997, cung cấp ký pháp thống nhất để đặc tả, trực quan hóa, xây dựng và làm tài liệu cho các vật phẩm phần mềm độc lập với ngôn ngữ lập trình.
- Mẫu gán trách nhiệm GRASP (General Responsibility Assignment Software Patterns): Tập hợp các mẫu nguyên tắc hướng dẫn phân chia trách nhiệm cho các lớp và đối tượng trong thiết kế hướng đối tượng.
- Mô hình tiến trình phần mềm lặp và tăng dần: Quá trình phát triển được điều khiển bởi ca sử dụng (use-case driven) và lấy kiến trúc làm trung tâm (architecture-centric), trải qua các pha: xác định yêu cầu, phân tích, thiết kế, triển khai và kiểm thử.
Phương pháp nghiên cứu thực tế được triển khai:
- Phương pháp phân tích - tổng hợp lý thuyết: Hệ thống hóa các khái niệm, quy tắc ngữ nghĩa, các khối xây dựng của UML và nguyên lý của mẫu thiết kế GRASP.
- Phương pháp mô hình hóa hướng đối tượng: Lập mô hình nghiệp vụ, trích xuất tác nhân (actor) và ca sử dụng (use case), làm mịn yêu cầu thông qua các lớp phân tích, thiết kế biểu đồ tương tác và biểu đồ cấu trúc tĩnh.
- Phương pháp thiết kế hệ thống phần mềm: Chuyển đổi mô hình phân tích sang mô hình thiết kế vật lý và ánh xạ sang cấu trúc cơ sở dữ liệu quan hệ/hướng đối tượng cùng ngôn ngữ lập trình thực thi.
Nguồn dữ liệu của nghiên cứu bao gồm tài liệu chuyên ngành về công nghệ phần mềm, đặc tả chuẩn UML từ năm 1997 và quy trình nghiệp vụ quản lý sinh viên thực tế tại Trường Đại học Công đoàn.
Thiết kế và triển khai
Hệ thống được thiết kế dựa trên 5 khung nhìn kiến trúc cốt lõi của UML nhằm phản ánh toàn diện các khía cạnh của phần mềm:
| Khung nhìn (View) | Thành phần thể hiện | Mục đích và phạm vi |
|---|---|---|
| Khung nhìn Ca sử dụng (Use Case View) | Tác nhân (Actor), Ca sử dụng (Use Case), Biểu đồ ca sử dụng | Mô tả hành vi hệ thống dưới góc độ người dùng cuối và nhà phát triển. |
| Khung nhìn Thiết kế (Design View) | Lớp, Giao diện, Sự cộng tác, Biểu đồ lớp, Biểu đồ đối tượng | Biểu diễn cấu trúc tĩnh và tổ chức của các lớp có ý nghĩa trong hệ thống. |
| Khung nhìn Tiến trình (Process View) | Luồng (Threads), Tiến trình công việc | Mô tả cơ chế hoạt động tương tranh và phân luồng thực thi của hệ thống. |
| Khung nhìn Triển khai (Deployment View) | Thành phần (Components), Tập tin (Files) | Quản lý cấu hình vật lý của phần mềm và đóng gói hệ thống. |
| Khung nhìn Cài đặt (Implementation View) | Nút (Nodes), Kết cấu phần cứng | Mô tả sự phân tán vật lý của phần mềm trên hạ tầng mạng và phần cứng. |
Tác giả đã hệ thống hóa các khối xây dựng cơ bản của UML để phục vụ mô hình hóa hệ thống quản lý hồ sơ và kết quả học tập:
- Phần tử cấu trúc: Bao gồm Lớp (Class - tên, thuộc tính, thao tác), Đối tượng (Object), Giao diện (Interface), Sự cộng tác (Collaboration), Ca sử dụng (Use Case), Tác nhân (Actor), Thành phần (Component), Lớp hoạt động (Active Class) và Nút (Node).
- Phần tử hành vi: Tương tác (Interaction) thông qua thông điệp và Máy trạng thái (State Machine) phản ánh chu kỳ hoạt động.
- Phần tử nhóm gộp & chú thích: Gói (Package) giúp phân chia hệ thống và Ghi chú (Note) giải thích ngữ nghĩa.
- Hệ thống quan hệ giữa các ca sử dụng: Quan hệ mở rộng (<<extend>>), quan hệ bao gồm (<<include>>) và quan hệ tổng quát hóa (Generalization).
- Hệ thống quan hệ giữa các lớp: Quan hệ phụ thuộc (Dependency), quan hệ kết hợp (Association - gồm kết tập Aggregation và hợp thành Composition), quan hệ khái quát hóa (Generalization) và quan hệ hiện thực hóa (Realization).
Quy trình thiết kế sử dụng 8 loại biểu đồ chuyên dụng: biểu đồ ca sử dụng, biểu đồ lớp, biểu đồ đối tượng, biểu đồ trình tự, biểu đồ cộng tác, biểu đồ chuyển trạng thái, biểu đồ hoạt động, biểu đồ thành phần và biểu đồ triển khai. Mô hình UML tạo tiền đề trực tiếp để sinh mã nguồn hoặc ánh xạ sang các hệ quản trị cơ sở dữ liệu quan hệ, cơ sở dữ liệu hướng đối tượng và ngôn ngữ lập trình như Java, C++.
Nội dung chính theo từng chương
Cấu trúc đồ án được tổ chức thành 4 chương phản ánh toàn bộ tiến trình từ cơ sở lý thuyết đến phân tích, thiết kế và cài đặt thực nghiệm:
Chương 1: Phương pháp hướng đối tượng
Chương 1 tập trung trình bày tổng quan về tiến trình phát triển phần mềm hướng đối tượng và chuẩn mô hình hóa UML. Tác giả phân tích chi tiết chu trình lặp bao gồm 5 pha: xác định yêu cầu, phân tích, thiết kế, triển khai và kiểm thử. Nội dung chương làm rõ ưu thế của phương pháp hướng đối tượng so với phương pháp phân rã chức năng truyền thống ở khả năng tái sử dụng, mô hình hóa thế giới thực tự nhiên, tính an toàn nhờ đóng gói thông tin và khả năng mở rộng hệ thống quy mô lớn.
Chương này phân tích cặn kẽ các khối xây dựng của UML (phần tử cấu trúc, hành vi, nhóm gộp, chú thích), các loại quan hệ (giữa Use Case và giữa Class), 8 loại biểu đồ mô hình hóa và 4 cơ chế chung (đặc tả, bài trí, phân hoạch chung, cơ chế mở rộng qua khuôn mẫu, giá trị thẻ, ràng buộc). Cuối chương nhấn mạnh 3 đặc trưng cốt lõi của tiến trình UML: lấy ca sử dụng làm trung tâm điều khiển toàn bộ tiến trình, lấy kiến trúc làm trọng tâm và tổ chức thực hiện lặp, tăng dần.
Chương 2: GRASP – Các mẫu dùng cho gán trách nhiệm
Nội dung chương 2 đi sâu vào hệ thống các mẫu thiết kế gán trách nhiệm GRASP (General Responsibility Assignment Software Patterns). Tác giả làm rõ nguyên lý gán trách nhiệm cho các lớp và đối tượng trong hệ thống phần mềm, cung cấp các quy tắc chuẩn mực nhằm giải quyết bài toán phân bố hành vi, giảm độ phục thuộc (Low Coupling), tăng tính gắn kết (High Cohesion) và tối ưu hóa khả năng bảo trì phần mềm khi vận hành.
Chương 3: Xây dựng hệ thống quản lý hồ sơ và kết quả học tập bằng phương pháp tiếp cận hướng đối tượng
Chương 3 áp dụng toàn bộ phương pháp luận của Chương 1 và Chương 2 vào bài toán thực tế tại Trường Đại học Công đoàn. Tác giả thực hiện khảo sát nghiệp vụ quản lý hồ sơ sinh viên và điểm số; lập mô hình ca sử dụng (Use Case Model) xác định các tác nhân tương tác và các luồng chức năng; xây dựng biểu đồ phân tích, biểu đồ tương tác (trình tự và cộng tác) cùng biểu đồ lớp chi tiết nhằm phản ánh đúng nghiệp vụ quản lý đào tạo của trường.
Chương 4: Phân tích và cài đặt chương trình quản lý hồ sơ và kết quả học tập
Chương 4 hoàn thiện tiến trình phát triển phần mềm thông qua việc chuyển đổi từ mô hình phân tích - thiết kế sang cài đặt vật lý. Chương này mô tả cấu trúc cơ sở dữ liệu, giao diện tương tác người dùng, việc tổ chức các module chương trình và kết quả thử nghiệm cài đặt phần mềm quản lý hồ sơ và kết quả học tập đáp ứng các yêu cầu thực tiễn đã đặt ra.
Kết quả và đóng góp
Kết quả chính
- Hệ thống hóa toàn diện cơ sở lý thuyết về phương pháp phân tích thiết kế hướng đối tượng, chuẩn mô hình hóa UML (từ năm 1997) và các mẫu gán trách nhiệm GRASP.
- Phân tích chi tiết 5 khung nhìn kiến trúc, 4 nhóm khối xây dựng, 4 quan hệ giữa các lớp, 3 quan hệ giữa ca sử dụng và 8 loại biểu đồ trong UML.
- Xây dựng thành công bộ tài liệu phân tích và thiết kế hoàn chỉnh cho bài toán quản lý hồ sơ và kết quả học tập của sinh viên tại Trường Đại học Công đoàn theo tiến trình lặp điều khiển bởi ca sử dụng.
- Chuyển đổi mô hình thiết kế logic sang mô hình cài đặt phần mềm và cấu trúc dữ liệu cụ thể.
Giải pháp và kiến nghị
- Đề xuất áp dụng mô hình phân tích thiết kế hướng đối tượng sử dụng UML để thay thế phương pháp phân tích chức năng từ trên xuống truyền thống nhằm nâng cao chất lượng phần mềm, giúp hệ thống có tính mở cao, dễ bảo trì và dễ thích ứng với các thay đổi nghiệp vụ.
- Đề xuất quy trình phát triển lặp tăng dần, lấy kiến trúc làm trung tâm và dùng ca sử dụng để điều khiển toàn bộ các pha từ phân tích, thiết kế đến cài đặt và kiểm thử.
Đóng góp của đề tài
- Khóa luận đóng góp về mặt ứng dụng thực tiễn khi đưa phương pháp luận hướng đối tượng chuẩn quốc tế (UML, GRASP) giải quyết một bài toán nghiệp vụ quản lý cụ thể tại Trường Đại học Công đoàn vào năm 2006, nơi trước đó chưa có hệ thống quản lý hồ sơ và kết quả học tập hoàn chỉnh.
- Làm cầu nối chuyển giao giữa mô hình phân tích khái niệm và mô hình cài đặt mã nguồn trong công nghệ phần mềm.
Hạn chế và hướng nghiên cứu tiếp
- Hạn chế: Theo phạm vi văn bản, đề tài tập trung chuyên sâu vào công tác phân tích, thiết kế hệ thống và cài đặt thử nghiệm cho quy mô nghiệp vụ tại Trường Đại học Công đoàn năm 2006, chưa mở rộng ra các bài toán quản lý liên thông phức hợp khác trong toàn trường.
- Hướng nghiên cứu tiếp:
- Mở rộng hệ thống để tích hợp với các phân hệ quản lý đào tạo khác trong nhà trường.
- Tối ưu hóa mô hình triển khai trên nền tảng mạng phân tán diện rộng và các hệ quản trị cơ sở dữ liệu quy mô lớn hơn.
- Hoàn thiện thêm các kịch bản kiểm thử tự động dựa trên các đặc tả ca sử dụng đã thiết lập.
Giá trị tham khảo
Tài liệu là nguồn tham khảo trực quan và hữu ích cho:
- Sinh viên và học viên chuyên ngành Công nghệ thông tin, Hệ thống thông tin, Kỹ thuật phần mềm: Nắm vững phương pháp luận phân tích thiết kế hệ thống thông tin theo hướng đối tượng.
- Người làm đề tài về UML và Mẫu thiết kế: Tham khảo cách trình bày bài bản, chuẩn xác về các ký pháp UML (5 khung nhìn, các khối xây dựng, các loại quan hệ, 8 biểu đồ) và cách áp dụng mẫu gán trách nhiệm GRASP.
- Các nhà phát triển hệ thống quản lý đào tạo: Tham khảo mô hình phân tích nghiệp vụ quản lý hồ sơ và điểm số sinh viên trong môi trường đại học.
Câu hỏi thường gặp
1. Phương pháp tiếp cận hướng đối tượng có những ưu điểm gì vượt trội so với phương pháp phân rã theo chức năng truyền thống?
Phương pháp hướng đối tượng giải quyết bài toán theo cách tự nhiên hơn thông qua việc ánh xạ trực tiếp các thực thể thế giới thực thành các đối tượng độc lập. Phương pháp này có tính mở cao, hỗ trợ tái sử dụng tốt, giảm độ phức tạp qua cơ chế che giấu thông tin (tăng tính an toàn), đơn giản hóa việc bảo trì và xóa bỏ ngăn cách giữa các bước phân tích, thiết kế, cài đặt trong vòng đời phần mềm.
2. Năm khung nhìn kiến trúc trong UML được phân định như thế nào?
UML phân định 5 khung nhìn kiến trúc bao gồm: (1) Khung nhìn ca sử dụng mô tả hành vi hệ thống cho người dùng cuối và nhà phát triển; (2) Khung nhìn thiết kế biểu diễn cấu trúc tĩnh của các lớp và quan hệ; (3) Khung nhìn tiến trình mô tả các luồng tương tranh; (4) Khung nhìn triển khai quản lý các thành phần và tập tin vật lý; (5) Khung nhìn cài đặt biểu diễn cấu hình nút phần cứng nơi hệ thống vận hành.
3. Các ca sử dụng trong UML có những kiểu quan hệ nào với nhau?
Các ca sử dụng quan hệ với nhau theo 3 kiểu: quan hệ mở rộng (Extends - cho phép ca sử dụng mở rộng tùy ý chức năng do ca sử dụng khác cung cấp dưới điều kiện nhất định), quan hệ bao gồm (Include - cho phép tái sử dụng chức năng dùng chung giữa hai hay nhiều ca sử dụng) và quan hệ tổng quát hóa (Generalization - dùng để nhóm các ca sử dụng có chức năng tương tự).
4. Bốn quan hệ cơ bản giữa các lớp trong UML được tác giả nêu gồm những gì?
Bốn quan hệ giữa các lớp gồm: (1) Quan hệ phụ thuộc (Dependency - sự thay đổi của phần tử độc lập làm thay đổi phần tử phụ thuộc); (2) Quan hệ kết hợp (Association - gồm quan hệ kết tập biểu thị toàn thể - bộ phận và quan hệ hợp thành biểu thị tính gắn kết bền chặt); (3) Quan hệ khái quát hóa (Generalization - quan hệ kế thừa thuộc tính và phương thức); (4) Quan hệ hiện thực hóa (Realization - quan hệ ngữ nghĩa giữa giao diện và lớp thực thi).
5. Vì sao nói ca sử dụng điều khiển toàn bộ quá trình phát triển phần mềm trong UML?
Ca sử dụng không chỉ phản ánh yêu cầu chức năng của hệ thống mà còn là căn cứ trực tiếp để người phát triển tạo ra một loạt mô hình phân tích, thiết kế, triển khai và kiểm thử tương ứng. Mọi hoạt động làm mịn mô hình, phân chia gói và lập kịch bản kiểm tra đều xoay quanh việc hiện thực hóa các ca sử dụng đã xác định.
Kết luận
Khóa luận tốt nghiệp của tác giả Dương Chí Thiện (2006) đã giải quyết bài toán tin học hóa công tác quản lý sinh viên tại Trường Đại học Công đoàn bằng việc áp dụng chặt chẽ phương pháp luận phân tích thiết kế hướng đối tượng. Tác phẩm hệ thống hóa đầy đủ cơ sở lý thuyết về chuẩn mô hình hóa UML cùng các mẫu gán trách nhiệm GRASP, đồng thời hiện thực hóa thành công mô hình phần mềm quản lý hồ sơ và kết quả học tập. Công trình là tài liệu học thuật tiêu biểu về việc vận dụng công nghệ hướng đối tượng vào giải quyết các bài toán quản lý thực tiễn trong ngành giáo dục đại học.