Bối cảnh và vấn đề nghiên cứu
Bối cảnh thực tiễn và lý do chọn đề tài
Trong xu thế phát triển của cuộc Cách mạng Công nghiệp 4.0 và sự bùng nổ của mạng Internet, việc ứng dụng công nghệ thông tin vào công tác quản trị và giáo dục đào tạo trở thành yêu cầu thiết yếu. Đối với môi trường đại học, thư viện tài liệu là trung tâm học tập và nghiên cứu khoa học của sinh viên và giảng viên. Tuy nhiên, việc quản lý và chia sẻ tài liệu theo phương thức truyền thống bộc lộ nhiều hạn chế về mặt thời gian, nhân lực và không gian lưu trữ.
Xuất phát từ thực tế đó, nhóm tác giả Phùng Văn An và Lê Công Đạt (Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh) dưới sự hướng dẫn của ThS. Nguyễn Hữu Trung đã thực hiện đề tài "Xây dựng hệ thống thư viện online sử dụng MVC Entity Framework 6 và API Restful 2". Đề tài hướng tới việc số hóa quy trình quản lý, học tập và chia sẻ tài nguyên học thuật nội bộ (bao gồm sách điện tử eBook, khóa luận tốt nghiệp và tiểu luận chuyên ngành) cho Khoa Công nghệ Thông tin.
Mục tiêu và nhiệm vụ nghiên cứu
Văn bản xác định mục đích cốt lõi là nghiên cứu nền tảng công nghệ ASP.NET MVC kết hợp Entity Framework 6 và RESTful API 2 để xây dựng một ứng dụng web thư viện hoàn chỉnh. Để hoàn thành mục đích này, 6 nhiệm vụ nghiên cứu cụ thể được phân bổ như sau:
- Tìm hiểu khung làm việc Entity Framework 6, kỹ thuật truy vấn LINQ và công nghệ ASP.NET MVC API Restful 2.
- Khảo sát hiện trạng, phân tích các yêu cầu nghiệp vụ, thiết kế kiến trúc và cơ sở dữ liệu cho hệ thống Website thư viện online.
- Dự kiến các kết quả cụ thể cần đạt được sau khi hoàn thành luận văn.
- Nghiên cứu mô hình hóa và hiện thực hóa các chức năng phần mềm dựa trên các ca sử dụng (Use Case) đã xác định.
- Đề xuất các ý tưởng, tính năng mới nhằm tối ưu hóa việc quản lý và chia sẻ tài liệu trực tuyến.
- Báo cáo tiến độ và hoàn thiện hồ sơ đồ án theo đúng quy định của Khoa Công nghệ Thông tin và yêu cầu của giảng viên hướng dẫn.
Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu:
- Về mặt nghiệp vụ: Quy trình quản lý, lưu trữ, tra cứu, đánh giá và thống kê tài liệu học thuật (eBook, khóa luận, tiểu luận).
- Về mặt công nghệ: Framework ASP.NET MVC, hệ quản trị cơ sở dữ liệu Microsoft SQL Server, ngôn ngữ JavaScript, công nghệ ánh xạ quan hệ Entity Framework 6 (EF6) và kiến trúc API RESTful 2.
- Phạm vi nghiên cứu:
- Không gian: Hệ thống được triển khai phục vụ nội bộ cán bộ, giảng viên và sinh viên Khoa Công nghệ Thông tin – Trường Đại học Sư phạm Kỹ thuật TP.HCM.
- Thời gian thực hiện: Đồ án được triển khai trong 19 giai đoạn công việc, kéo dài từ ngày 18/02/2019 đến ngày 14/07/2019.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết và công nghệ sử dụng
Đề tài dựa trên 3 trụ cột công nghệ chính trong hệ sinh thái Microsoft .NET:
-
Mô hình kiến trúc MVC (Model - View - Controller):
- Model: Đảm nhiệm toàn bộ logic nghiệp vụ và tương tác với hệ quản trị cơ sở dữ liệu (MS SQL Server), định nghĩa các lớp dữ liệu và hàm xử lý truy vấn dữ liệu.
- View: Thành phần giao diện người dùng (nút bấm, bảng dữ liệu, menu, hình ảnh), tiếp nhận dữ liệu từ Controller để hiển thị và thu thập tương tác từ người dùng.
- Controller: Tiếp nhận yêu cầu HTTP Request từ trình duyệt thông qua cơ chế điều hướng (Routing), xử lý logic, gọi các dịch vụ tại Model và chuyển đổi dữ liệu kết quả (Resulting Arrays) sang View hiển thị.
- ASP.NET MVC 5: Phiên bản phát hành tháng 10/2013 trên nền .NET Framework 4.5.1, hỗ trợ cơ chế Code Behind, biên dịch trước thành các tập tin Dynamic Link Library (DLL), quản lý Session tập trung và tự động sinh mã HTML tương thích nhiều trình duyệt.
-
Khung ánh xạ đối tượng - quan hệ Entity Framework 6 (EF6):
- Hỗ trợ lập trình viên thao tác với dữ liệu quan hệ dưới dạng các đối tượng (Plain Old CLR Objects - POCO) thông qua ngôn ngữ truy vấn tích hợp LINQ to Entities hoặc Entity SQL.
- Mô hình dữ liệu thực thể EDM (Entity Data Model): Sử dụng 3 tệp định dạng XML cấu thành:
CSDL (Conceptual Schema Definition Language): Định nghĩa mô hình ý niệm của ứng dụng.
SSDL (Store Schema Definition Language): Định nghĩa mô hình lưu trữ vật lý của cơ sở dữ liệu.
MSL (Mapping Specification Language): Định nghĩa quy tắc ánh xạ giữa mô hình ý niệm và mô hình lưu trữ.
- Kiến trúc xử lý dữ liệu EF: Bao gồm tầng Object Service (chuyển đổi dữ liệu thực thể), Entity Client Data Provider, ADO.NET Data Provider, và bộ đọc dữ liệu EntityDataReader/DBDataReader. Hỗ trợ phương pháp phát triển Code First với công cụ Code First Migrations.
-
Kiến trúc dịch vụ web API RESTful 2:
- Xây dựng giao diện lập trình ứng dụng tuân thủ các nguyên tắc REST (Representational State Transfer), sử dụng giao thức HTTP và định dạng trao đổi dữ liệu nhẹ JSON/XML.
- Cơ chế ánh xạ phương thức HTTP với các thao tác CRUD và lệnh SQL:
| Phương thức HTTP |
Thao tác CRUD |
Ý nghĩa nghiệp vụ |
Tương quan lệnh SQL |
| GET |
Read |
Truy xuất / Lấy danh sách hoặc chi tiết dữ liệu |
SELECT |
| POST |
Create |
Tạo mới bản ghi dữ liệu trên hệ thống |
INSERT |
| PUT |
Update |
Cập nhật, thay đổi toàn bộ hoặc một phần bản ghi |
UPDATE |
| DELETE |
Delete |
Xóa bỏ bản ghi dữ liệu khỏi cơ sở dữ liệu |
DELETE |
So với giao thức SOAP (sử dụng định dạng XML phức tạp và đòi hỏi băng thông lớn), RESTful API được lựa chọn nhờ ưu thế tiết kiệm băng thông, độ trễ thấp, không phụ thuộc công cụ đắt tiền và dễ tích hợp với các ứng dụng Web hiện đại.
Phương pháp nghiên cứu
Tác giả áp dụng kết hợp 3 phương pháp nghiên cứu kỹ thuật phần mềm:
- Phương pháp nghiên cứu tài liệu: Tổng hợp tài liệu chính thống về ASP.NET MVC 5 từ Microsoft Docs, lý thuyết ORM từ Entity Framework Tutorial, các khóa luận liên quan tại trường và chuẩn kiến trúc RESTful API.
- Phương pháp nghiên cứu sản phẩm hoạt động: Khảo sát các hệ thống quản lý thư viện số và cổng lưu trữ tài liệu trực tuyến đang vận hành để rút ra các luồng xử lý và giao diện phù hợp.
- Phương pháp phân tích và tổng hợp: Mô hình hóa nghiệp vụ thông qua ngôn ngữ UML (lược đồ Use Case, lược đồ hoạt động - Activity Diagram, lược đồ tuần tự - Sequence Diagram), từ đó thiết kế chuẩn hóa cơ sở dữ liệu và xây dựng mã nguồn.
Thiết kế và triển khai
Phân tích yêu cầu và mô hình hóa tác nhân
Hệ thống thư viện trực tuyến phân chia quyền hạn chặt chẽ theo 3 nhóm tác nhân chính:
[Hệ thống Thư viện Online]
Yêu cầu phi chức năng đặt ra bao gồm: tính tiến hóa (dễ bảo trì, nâng cấp), tính tiện dụng (giao diện tối giản, dễ tra cứu), tính hiệu quả (xử lý nhanh, truy xuất cơ sở dữ liệu ổn định) và tính tái sử dụng cao trong các mô-đun phần mềm.
Cấu trúc cơ sở dữ liệu
Cơ sở dữ liệu của hệ thống được thiết kế trên MS SQL Server, bao gồm 11 bảng dữ liệu quan hệ:
| STT |
Tên bảng CSDL |
Mục đích và chức năng lưu trữ |
| 1 |
Users |
Lưu trữ thông tin tài khoản người dùng (email, họ tên, mật khẩu, mã số sinh viên/giảng viên, mã lớp, quyền). |
| 2 |
Role |
Quản lý các vai trò phân quyền hệ thống (Admin, Giảng viên, Sinh viên). |
| 3 |
Ebook |
Lưu trữ metadata của sách điện tử (mã sách, tiêu đề, tác giả, mô tả, đường dẫn tệp, lượt xem, lượt tải). |
| 4 |
Essay |
Lưu trữ danh mục và tệp tài liệu tiểu luận chuyên ngành của sinh viên. |
| 5 |
Thesis |
Lưu trữ dữ liệu các khóa luận tốt nghiệp kỹ sư/cử nhân. |
| 6 |
RateStar |
Ghi nhận điểm số và lượt đánh giá sao của người dùng đối với từng tài liệu. |
| 7 |
SearchFile |
Bảng chỉ mục hỗ trợ xử lý tra cứu và tìm kiếm tài liệu nhanh. |
| 8 |
Subject_Ebook |
Bảng quan hệ liên kết giữa danh mục môn học và sách điện tử eBook. |
| 9 |
Subject_Essay |
Bảng quan hệ liên kết giữa môn học và tài liệu tiểu luận. |
| 10 |
Subject_Thesis |
Bảng quan hệ liên kết giữa bộ môn/môn học chuyên ngành và khóa luận tốt nghiệp. |
| 11 |
SlideImage |
Quản lý thông tin và hình ảnh banner, slide trình chiếu giới thiệu trên trang chủ. |
Kiểm thử hệ thống
Nhóm nghiên cứu xây dựng các kịch bản kiểm thử (Test Case) chi tiết theo từng vai trò:
- Kiểm thử vai trò Admin: Kiểm tra các ca sử dụng đăng nhập/đăng xuất, tạo tài khoản mới, hiệu chỉnh thông tin người dùng, khóa/xóa tài khoản, thêm/sửa/xóa danh mục môn học và quản lý slide trình chiếu.
- Kiểm thử vai trò Giảng viên: Đánh giá chức năng đăng nhập, tải tệp tài liệu (eBook, luận văn), chỉnh sửa metadata tài liệu, xóa tài liệu do chính giảng viên đăng tải, xem danh sách đánh giá sao và kiểm tra nhật ký thời gian đọc của sinh viên.
- Kiểm thử vai trò Sinh viên: Kiểm thử tính năng tìm kiếm, giao diện đọc tệp trực tuyến, nút tải tài liệu về máy tính, cơ chế chấm điểm đánh giá (RateStar), đổi mật khẩu và xem lại lịch sử thời gian đọc tài liệu cá nhân.
Nội dung chính theo từng chương
Chương 1: Cơ sở lý thuyết
Chương này cung cấp toàn bộ nền tảng lý thuyết phục vụ xây dựng phần mềm. Nhóm tác giả trình bày nguồn gốc mô hình MVC từ phòng thí nghiệm Xerox PARC, phân tích sâu cơ chế hoạt động của ASP.NET MVC 5 và luồng điều khiển của bộ định tuyến Routing. Tiếp đó, chương phân tích cấu trúc 3 tầng của Entity Framework (EDM, LINQ to Entities, Object Services), quy trình phát triển Code First và cơ chế đồng bộ cơ sở dữ liệu qua Migrations. Cuối cùng, chương đối chiếu giữa kiến trúc RESTful API và giao thức SOAP, giải thích cách thức vận hành của 4 phương thức HTTP tương ứng với các thao tác dữ liệu.
Chương 2: Phân tích hệ thống ứng dụng
Chương 2 tập trung vào việc mô hình hóa các yêu cầu của bài toán quản lý thư viện số:
- Khảo sát hiện trạng thực tế tại Khoa Công nghệ Thông tin, chỉ ra nhu cầu cấp bách của việc quản lý trực tuyến các nguồn tài liệu học thuật.
- Xác định 3 nhóm yêu cầu nghiệp vụ: Lưu trữ, Tra cứu và Tính toán (thống kê lượt xem, lượt tải, tính toán thời gian xem tài liệu và điểm đánh giá trung bình).
- Xây dựng hệ thống tài liệu thiết kế UML bao gồm: Lược đồ Use Case tổng quát, 8 lược đồ Use Case phân rã, 8 lược đồ hoạt động (Activity Diagrams) cho các luồng nghiệp vụ chính và 12 lược đồ tuần tự (Sequence Diagrams) thể hiện sự tương tác giữa giao diện, Controller, API Service và Database.
Chương 3: Thiết kế và xây dựng ứng dụng
Chương này hiện thực hóa các phân tích thành mô hình kỹ thuật chi tiết:
- Thiết kế lược đồ quan hệ thực thể (ERD) và đặc tả chi tiết thuộc tính, kiểu dữ liệu, khóa chính, khóa ngoại của 11 bảng cơ sở dữ liệu.
- Thiết kế sơ đồ lớp điều khiển
API Controller chịu trách nhiệm xử lý các tác vụ RESTful.
- Xây dựng sơ đồ luân chuyển màn hình và thiết kế hệ thống giao diện người dùng: màn hình Đăng nhập, Quên mật khẩu, Thay đổi mật khẩu, Đổi thông tin cá nhân, Bảng điều khiển Admin, Giao diện quản lý User, Quản lý môn học, Quản lý Upload tài liệu và Giao diện xem/tải tài liệu. Kèm theo đó là bảng đặc tả các đối tượng giao diện và sơ đồ biến cố tương ứng.
Chương 4: Kiểm thử ứng dụng
Chương 4 ghi nhận quá trình đánh giá chất lượng phần mềm thông qua việc lập kế hoạch kiểm thử và thực thi các bảng kiểm thử chức năng. Nội dung chia thành 3 bảng kiểm thử chi tiết tương ứng với 3 vai trò tác nhân: Quản trị viên (Admin), Giảng viên và Sinh viên. Quá trình kiểm thử tập trung vào việc xác nhận tính đúng đắn của logic xử lý, tính toàn vẹn dữ liệu khi thêm/sửa/xóa, cơ chế xác thực phân quyền và độ ổn định của giao diện người dùng.
Kết quả và đóng góp
Kết quả chính đạt được
Dựa trên các bảng số liệu và lược đồ trong văn bản, đồ án đã hoàn thành các nội dung kỹ thuật sau:
[Tổng kết kết quả kỹ thuật]
- Hệ thống xử lý hoàn chỉnh các luồng dữ liệu cho 3 định dạng tài liệu học thuật: sách điện tử (Ebook), khóa luận tốt nghiệp (Thesis) và tiểu luận chuyên ngành (Essay).
- Xây dựng thành công tính năng theo dõi và thống kê thời gian đọc tài liệu trực tuyến của sinh viên, giúp giảng viên nắm bắt mức độ chuyên cần và thời lượng nghiên cứu tài liệu của người học.
- Triển khai thành công kiến trúc tách biệt giữa tầng hiển thị ASP.NET MVC và tầng dịch vụ API RESTful 2 tương tác dữ liệu qua Entity Framework 6.
Giải pháp và đóng góp của đề tài
- Giải pháp tổ chức dữ liệu khoa học: Phân loại tài liệu gắn liền với danh mục môn học cụ thể (
Subject_Ebook, Subject_Essay, Subject_Thesis), giúp việc tìm kiếm tài liệu của sinh viên chính xác và nhanh chóng.
- Đóng góp ứng dụng: Tạo ra một nền tảng chia sẻ học thuật nội bộ thiết thực cho Khoa Công nghệ Thông tin - Trường Đại học Sư phạm Kỹ thuật TP.HCM, giải quyết bài toán phân phối tài liệu tham khảo và lưu trữ khóa luận tốt nghiệp của các khóa sinh viên trước.
- Đóng góp học thuật/kỹ thuật: Đồ án là tài liệu thực hành chi tiết về việc kết hợp mô hình MVC 5 với công nghệ ORM Entity Framework 6 và dịch vụ RESTful API, cung cấp quy trình phân tích thiết kế phần mềm bài bản từ UML đến lập trình và kiểm thử.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế tồn tại
Văn bản đồ án tự nhìn nhận các giới hạn do điều kiện thời gian và năng lực thực hiện:
- Hệ thống tập trung chủ yếu vào các chức năng quản trị và nghiệp vụ lưu trữ cơ bản, chưa phát triển các thuật toán tìm kiếm nâng cao (như tìm kiếm toàn văn - full-text search bên trong nội dung tệp tài liệu).
- Ứng dụng mới chỉ thử nghiệm trong phạm vi mô hình dữ liệu nội bộ của Khoa Công nghệ Thông tin, chưa tích hợp đồng bộ với hệ thống quản lý đào tạo chung của toàn trường Đại học Sư phạm Kỹ thuật TP.HCM.
- Chưa hỗ trợ đa nền tảng mở rộng (như ứng dụng di động) ngoài giao diện web trình duyệt.
Hướng nghiên cứu và phát triển tiếp theo
- Nâng cấp và tối ưu hóa hệ thống tìm kiếm thông minh, tích hợp bộ lọc tìm kiếm theo nhiều tiêu chí nâng cao (tác giả, năm xuất bản, từ khóa nội dung).
- Phát triển thêm các phân hệ ứng dụng di động (Mobile App) kết nối trực tiếp với hệ thống API RESTful đã xây dựng sẵn.
- Tích hợp thêm các cơ chế bảo mật nâng cao cho tệp tài liệu số (chống tải trái phép, đóng dấu bản quyền - watermark cho các khóa luận/tiểu luận nội bộ).
Giá trị tham khảo
Tài liệu đồ án này mang lại giá trị tham khảo thiết thực cho nhiều nhóm đối tượng:
- Sinh viên ngành Công nghệ thông tin / Kỹ thuật phần mềm: Là tài liệu tham khảo trực quan về quy trình hoàn thiện một đồ án tốt nghiệp kỹ sư, từ khâu lập kế hoạch (19 tuần), viết đề cương, mô hình hóa phân tích hệ thống bằng UML đến thiết kế CSDL.
- Lập trình viên và người học công nghệ Microsoft .NET: Cung cấp tài liệu tổng hợp và các bước ứng dụng thực tế của ASP.NET MVC 5, Entity Framework 6 (cơ chế Code First / EDM) và kỹ thuật xây dựng API RESTful.
- Nhóm nghiên cứu xây dựng hệ thống quản lý thư viện số: Có thể kế thừa trực tiếp mô hình cơ sở dữ liệu (11 bảng) và mô hình phân quyền 3 tác nhân (Admin, Giảng viên, Sinh viên) để áp dụng cho các bài toán quản lý tài liệu học tập tương tự tại các khoa hoặc trường đại học.
Câu hỏi thường gặp
1. Đồ án sử dụng phiên bản ASP.NET MVC và Entity Framework nào?
Khóa luận sử dụng khung làm việc ASP.NET MVC 5 (phát hành trên nền tảng .NET Framework 4.5.1) kết hợp với công nghệ ánh xạ dữ liệu Entity Framework 6 và kiến trúc dịch vụ API RESTful 2, lưu trữ dữ liệu trên hệ quản trị Microsoft SQL Server.
2. Hệ thống thư viện online này quản lý những loại tài liệu học thuật nào?
Hệ thống được thiết kế chuyên biệt để phân loại và quản lý 3 nguồn tài liệu học thuật chính: Sách điện tử (Ebook), Khóa luận tốt nghiệp (Thesis) và Tiểu luận chuyên môn (Essay).
3. Cơ sở dữ liệu của hệ thống gồm những bảng nào?
Cơ sở dữ liệu hệ thống gồm 11 bảng: Users, Role, Ebook, Essay, Thesis, RateStar, SearchFile, Subject_Ebook, Subject_Essay, Subject_Thesis và SlideImage.
4. Giảng viên có những quyền hạn và tính năng gì trên hệ thống?
Giảng viên có quyền đăng nhập, tải lên (upload) tài liệu học thuật mới, quản lý/sửa/xóa các tài liệu do chính mình đăng tải, xem điểm đánh giá sao từ người dùng, và đặc biệt là tính năng theo dõi thời gian đọc tài liệu online của sinh viên.
5. Sinh viên có thể thực hiện các thao tác nào đối với tài liệu?
Sinh viên có thể tra cứu thông tin sách/tài liệu, xem trực tuyến nội dung tệp, tải tài liệu về thiết bị, gửi đánh giá xếp hạng sao (RateStar), đồng thời có thể tự xem lại lịch sử thời gian đọc tài liệu trực tuyến của chính mình.
Kết luận
Đồ án tốt nghiệp "Xây dựng hệ thống thư viện online sử dụng MVC Entity Framework 6 và API Restful 2" của sinh viên Phùng Văn An và Lê Công Đạt đã hoàn thành đầy đủ các nhiệm vụ nghiên cứu và yêu cầu kỹ thuật đề ra. Đề tài vận dụng hiệu quả các công nghệ trong hệ sinh thái .NET để giải quyết bài toán số hóa quy trình quản lý, chia sẻ và theo dõi tài liệu học thuật trong phạm vi Khoa Công nghệ Thông tin - Trường Đại học Sư phạm Kỹ thuật TP.HCM. Báo cáo đồ án có cấu trúc 4 chương rõ ràng, phương pháp phân tích thiết kế hệ thống bằng UML chuẩn mực cùng bộ kịch bản kiểm thử chi tiết, tạo nguồn tài liệu tham khảo học thuật và kỹ thuật giá trị cho sinh viên ngành Công nghệ thông tin.