Hướng dẫn viết báo cáo khóa luận hoặc thực tập dự án tốt nghiệp
Tài liệu hướng dẫn viết báo cáo khóa luận hoặc thực tập dự án tốt nghiệp do giảng viên Ngô Huy Biên hướng dẫn.
1. Thông tin chung
- Sinh viên tuyệt đối KHÔNG chép lại từ các nguồn tiếng Việt (hoặc chép và sửa vài từ).
- Sinh viên cần ghi đầy đủ các tài liệu tham khảo, và chỉ dùng sách, bài báo và các liên kết đến các trường học, viện nghiên cứu.
- Sinh viên không dùng liên kết đến Wikipedia hay bất cứ trang tin tức nào.
- Với mỗi tài liệu tham khảo, sinh viên phải có trích dẫn trong báo cáo.
- Sinh viên cần thể hiện các tài liệu tham khảo theo đúng chuẩn thông dụng. Sinh viên nên sử dụng tính năng Cite (thể hiện bằng dấu nháy) của Google Scholar để xem mẫu trình bày tài liệu tham khảo. Sinh viên nên chọn chuẩn APA.
- Các liên kết nếu có sinh viên để trong Footnote tại trang đề cập, không để trong tài liệu tham khảo.
- Trong báo cáo sinh viên hạn chế tối đa mã nguồn và việc sử dụng các liên kết.
- Sinh viên chỉ sử dụng LaTeX để viết báo cáo. Sinh viên viết báo cáo trực tiếp trong trang web của Overleaf mà giảng viên đã tạo.
2. Cấu trúc báo cáo
Bộ khung báo cáo thường như sau:
- Trang bìa 1
- Trang bìa 2
- Lời cam đoan
- Lời cảm ơn
- Mục lục
- Danh sách hình
- Danh sách bảng
- Chương 1 – Giới thiệu đề tài (trình bày các hệ thống có sẵn, roles, problems, business cases, user stories).
- Chương 2 – Lý thuyết nền tảng (trình bày các mẫu kiến trúc, các mô hình, các thuật toán, các độ đo đã được chứng minh là hiệu quả, sẽ được dùng trong đề tài).
- Chương 3 – Thiết kế giải pháp (so sánh phân tích các giải pháp cho các bài toán cụ thể của đề tài, giải thích kiến trúc, thuật toán đề xuất).
- Chương 4 – Cài đặt giải pháp (trình bày các nền tảng, công cụ, ngôn ngữ lập trình được sử dụng, kinh nghiệm xử lý các vấn đề gặp phải khi cài đặt).
- Chương 5 – Đánh giá giải pháp (mô tả cách tính toán các độ đo và thảo luận về các kết quả tính toán, trình bày việc kiểm thử, so sánh với các hệ thống tương tự).
- Chương 6 – Kết luận.
- Tài liệu tham khảo
- Phụ lục
3. Quy trình viết báo cáo
- Báo cáo được phép có một số nội dung trùng lắp với nội dung của Đề cương.
- Sinh viên có thể viết dài không giới hạn, giảng viên hướng dẫn sẽ cắt bỏ nhiều, thông thường bản cuối của báo cáo sẽ thiếu nội dung hơn là thừa.
- Sinh viên luôn viết bản nháp cho từng chương càng sớm càng tốt. Để viết bản nháp, sinh viên vẽ một bản đồ tư duy (mindmap) về những nội dung dự định trình bày trong chương. Bắt đầu với điểm giữa là tên chủ đề của chương và lan dần ra những vấn đề, kiến thức liên quan. Sinh viên luôn luôn tự hỏi tại sao báo cáo lại trình bày nội dung này, liên quan gì đến điểm giữa của bản đồ tư duy, xa hay gần điểm giữa của bản đồ tư duy. Các điểm càng xa điểm giữa của bản đồ tư duy thì trình bày càng ít và sơ lược.
- Các bước khuyến nghị:
- Khởi tạo: Tạo bộ khung (mục lục). Những chương nào chưa có nội dung sinh viên để là “Sẽ bổ sung”.
- Viết Chương 1.
- Liệt kê một số khái niệm của Chương 2.
- Tạo một số sơ đồ của Chương 3.
- Phát triển phần mềm hoặc thực hiện thí nghiệm. Dựa vào các sản phẩm tạo ra và các kinh nghiệm thu được trong quá trình phát triển phần mềm để viết chương 4.
- Kiểm thử phần mềm, so sánh một hệ thống tương tự. Dựa vào các sản phẩm tạo ra và các kinh nghiệm thu được trong quá trình kiểm thử, so sánh để viết Chương 5.
- Viết Chương 6.
- Cập nhật Chương 3.
- Viết chi tiết Chương 2.
- Chỉnh sửa tất cả các chương theo mạch logic của từng chương như hướng dẫn ở mục 3 trong tài liệu này.
4. Nội dung báo cáo
4.1. Chương 1 – Giới thiệu đề tài (khoảng 10 trang)
- Đề tài làm gì (WHAT)? Tại sao thực hiện đề tài (WHY)? Sinh viên cần làm rõ ít nhất các ý sau:
- Bối cảnh của đề tài.
- Các vai trò quan tâm, các vấn đề họ gặp phải.
- Giải thích tại sao phải giải quyết những vấn đề đó. Có nhu cầu thực tế không? Mang lại lợi ích thực tế gì? (nên có số liệu tin cậy, cụ thể)
- Khảo sát hiện trạng quy trình thủ công trong thực tế nếu có.
- Khảo sát, tổng hợp, phân tích, đánh giá tối thiểu 3 hệ thống tương tự. Các hệ thống này đã làm ra những sản phẩm nào, quy trình nào, tính năng nào để giải quyết vấn đề trên. Lập bảng so sánh các sản phẩm một cách chi tiết dựa trên từng quy trình thực tế. Phân tích điểm mạnh, điểm yếu, điểm chưa hoàn chỉnh.
- Mô tả luồng quy trình nghiệp vụ dự kiến đề tài sẽ thực hiện để giải quyết vấn đề cho từng vai trò (end-to-end business workflows), các chức năng cần có để thực thi luồng quy trình nghiệp vụ đề ra. Sinh viên có thể chỉ trình bày 1 hoặc 2 luồng nghiệp vụ chính ở chương này, những luồng phụ cần để trong Phụ lục.
- Mục tiêu và yêu cầu chi tiết của đề tài:
- Đề tài giải quyết vấn đề hay khắc phục điểm yếu của các ứng dụng tương tự? Mục tiêu khi làm đề tài này là gì? Các tính năng cần đạt được là gì? Các sản phẩm cần đạt được là gì?
- Phần mục tiêu cần bao gồm tối thiểu các mục tiêu trong File “Tên và mục tiêu đề tài” mà giảng viên đã gửi cho sinh viên.
- Phần mục tiêu cần ghi rõ, ngắn gọn, gạch đầu dòng: Các sản phẩm cần đạt được, các tính năng cần đạt được, các cải tiến cần đạt được. Cần loại bỏ các mục tiêu mơ hồ, không thể hiện được bằng sản phẩm.
- Phạm vi đề tài: Các nội dung sẽ không quan tâm, các tính năng sẽ không thực hiện?
- Mạch logich của Chương 1 thường như sau:
- Vì vấn đề P (dẫn chứng bằng số liệu) nên người ta đề xuất các giải pháp thủ công S1, S2. Các giải pháp S1, S2 có các hạn chế L1, L2 (dẫn chứng). Chúng tôi đề xuất giải pháp NEW_S1 để giải quyết hạn chế L1. Chúng tôi đề xuất giải pháp NEW_S2 để giải quyết hạn chế L2. Giải pháp NEW_S1 khác với giải pháp S1 ở chỗ… Giải pháp NEW_S2 khác với giải pháp S2 ở chỗ …
- và/hoặc
- Vì vấn đề P (dẫn chứng bằng số liệu) nên người ta đã xây dựng hệ thống S3. Hệ thống S3 thiếu các tính năng F1, F2 hoặc có các hạn chế L3, L4 (dẫn chứng bằng khảo sát). Chúng tôi đề xuất xây dựng hệ thống S4 tương tự hệ thống S3 và bổ sung tính năng F1, tính năng F2, hoặc nhằm khắc phục hạn chế L3, L4.
4.2. Chương 2 – Lý thuyết nền tảng (10 trang)
- Trình bày các kiến thức nền tảng liên quan đến từng vấn đề cần giải quyết của đề tài, dựa vào các tài liệu tham khảo, phần mềm tham khảo. Các kiến thức trong chương 2 là các kiến thức đã được chứng minh là đúng. Sinh viên chỉ cần liệt kê các thuật ngữ thật ngắn gọn, không cần đi chi tiết vào diễn giải hay trình bày chi tiết các thuật ngữ này.
- Nội dung chương có thể trình bày các mẫu kiến trúc, các mô hình, các thuật toán, các độ đo đã được chứng minh là hiệu quả, sẽ được dùng trong đề tài.
- Mạch logich của Chương 2 thường như sau:
- Ở chương 1 đề tài đã đề xuất giải pháp NEW_S1. Giải pháp NEW_S1 được xây dựng trên nền tảng lý thuyết T1. T1 là … Chúng ta quan tâm đến T1 vì … T1 hoạt động như sau …
- Ở chương 1 đề tài đã đề xuất xây dựng hệ thống S4. Hệ thống S4 được xây dựng trên nền tảng lý thuyết T4. T4 là … Chúng ta quan tâm đến T4 vì … T4 hoạt động như sau …
- Ở chương 1 đề tài đã đề xuất giải pháp NEW_S1. Giải pháp NEW_S1 có thể được đánh giá, so sánh với giải pháp S1 bằng độ đo M1. M1 được đề xuất bởi … Chúng ta quan tâm đến M1 vì … M1 hoạt động như sau …
4.3. Chương 3 – Thiết kế giải pháp (30 trang)
- Nội dung chương 3 trình bày giải pháp cho từng bài toán cụ thể. Các nội dung cần trình bày bằng ví dụ, với các giá trị cụ thể, minh họa cho các khái niệm. Các ví dụ được lấy ra từ hệ thống phần mềm đã được viết.
- Giải pháp được trình bày không phụ thuộc vào ngôn ngữ lập trình, công cụ sử dụng.
- Sinh viên dựa vào các tài liệu tham khảo, các suy luận, các chuẩn có sẵn, các kết quả đạt được khi thực nghiệm để chứng minh, lý giải vì sao lại chọn giải pháp như vậy cho từng vấn đề, mục tiêu.
- Nội dung chương 3 có thể bao gồm, nhưng không giới hạn:
- Thiết kế giao diện hệ thống: chỉ 1 hoặc 2 giao diện chính. Sinh viên nên lựa chọn một vài phong cách thiết kế giao diện, phân tích lợi ích của cách tiếp cận, và minh họa phong cách bằng giao diện của hệ thống. Các giao diện còn lại cần để trong Phụ lục. Sinh viên cần trình bày kết hợp thiết kế giao diện theo luồng nghiệp vụ.
- Giải pháp lưu trữ dữ liệu: Mô tả bằng các sơ đồ và diễn giải từng thành phần trong sơ đồ.
- Thiết kế kiến trúc tổng quan của hệ thống: Mô tả bằng các sơ đồ và diễn giải từng thành phần trong sơ đồ.
- Các thuật toán để hiện thực các tính năng cốt lõi của hệ thống: Mô tả bằng các sơ đồ, code snippets và diễn giải từng thành phần trong sơ đồ, từng đoạn mã nhỏ.
- Mạch logich của Chương 3 thường như sau:
- Ở chương 1 chúng tôi đề xuất xây dựng hệ thống S4.
- Chúng tôi thiết kế hệ thống S4 như sau: S4 bao gồm các thành phần sau… S4 hoạt động như sau…. Chúng tôi thiết kế S4 như vậy vì…
- Ở chương 1 chúng tôi đề xuất giải pháp NEW_S1. Chúng tôi thiết kế giải pháp NEW_S1 như sau: hình vẽ hoặc sơ đồ. Diễn giải: NEW_S1 bao gồm các thành phần sau… NEW_S1 hoạt động như sau…. Chúng tôi đề xuất thiết kế NEW_S1 như vậy vì …
- Ở chương 1 chúng tôi đề xuất giải pháp NEW_S2. Chúng tôi thiết kế giải pháp NEW_S2 như sau: hình vẽ hoặc sơ đồ. Diễn giải: NEW_S2 bao gồm các thành phần sau… NEW_S2 hoạt động như sau…. Chúng tôi thiết kế NEW_S2 như vậy vì…
4.4. Chương 4 – Cài đặt giải pháp (20 trang)
- Phần lớn nội dung chi tiết của chương này nằm ở Phụ lục, chỉ các ý chính được trình bày trong báo cáo. Sinh viên tập trung chủ yếu vào việc báo cáo kinh nghiệm thực tế.
- Những kết quả nào đã có sẵn (nền tảng, khung ứng dụng, thư viện, mã nguồn có sẵn, dữ liệu có sẵn)? Những kết quả này tồn tại vấn đề gì chưa giải quyết hoặc cung cấp sẵn các tính năng nào trong việc giải quyết vấn đề đặt ra?
- Đề tài đã tạo thêm các công cụ để xử lý tác vụ đặc thù nào, đã chỉnh/thêm dữ liệu nào, đã chỉnh/thêm các thành phần hệ thống có sẵn nào, đã chỉnh/thêm mã nguồn có sẵn nào. Những thay đổi này dùng để giải quyết vấn đề gì?
- Các công cụ nào đã được dùng để cài đặt, kiểm thử từng giải pháp hoặc từng thành phần ở Chương 3.
- Các kinh nghiệm thực tế về các vấn đề phát sinh khi cài đặt giải pháp. Nội dung này là quan trọng nhất và nên được lựa chọn theo từng vấn đề thực tế mà nhóm sinh viên gặp phải, nhằm trình bày các kinh nghiệm, phân tích và đánh giá giải pháp của công nghệ mới so với kỹ thuật truyền thống.
- Mạch logich của Chương 3 thường như sau:
- Ở chương 3 chúng tôi đã trình bày thiết kế của giải pháp NEW_S1. Giải pháp NEW_S1 được chúng tôi cài đặt bằng công cụ, thành phần, thư viện sau … Khi cài đặt giải pháp NEW_S1 bằng công cụ, thành phần, thư viện … chúng tôi gặp các vấn đề sau… Chúng tôi đã giải quyết như sau … Chúng tôi rút ra kinh nghiệm sau …
- Hệ thống S4 được chúng tôi cài đặt bằng công cụ, thành phần, thư viện … Khi cài đặt hệ thống S4 bằng công cụ, thành phần, thư viện … chúng tôi gặp các vấn đề sau … Chúng tôi đã giải quyết như sau … Chúng tôi rút ra kinh nghiệm sau …
- Sinh viên có thể lập bảng để trình bày ngắn gọn hơn.
4.5. Chương 5 – Đánh giá giải pháp (15 trang)
- Khóa luận hoặc thực tập dự án tốt nghiệp đã xây dựng được hệ thống phần mềm với bao nhiêu dòng mã nguồn, bao nhiêu hàm/lớp, bao nhiêu mối liên hệ giữa các hàm/lớp, bao nhiêu bảng dữ liệu, bao nhiêu mối liên hệ giữa các bảng, bao nhiêu màn hình giao diện?
- Giải pháp đã được kiểm thử như thế nào? Các kết quả kiểm thử thể hiện điều gì? Chúng tôi đã thực hiện kiểm thử NEW_S1 bằng công cụ, thành phần, thư viện sau … Kết quả kiểm thử có số liệu như sau … Kết quả này thể hiện rằng …
- Khóa luận hoặc thực tập dự án tốt nghiệp đã xây dựng được hệ thống phần mềm với những tính năng nổi bật nào, đã giải quyết được những vấn đề gì trong thực tế.
- Bảng so sánh các nghiệp vụ chính của phần mềm so với các hệ thống tương tự.
- Đánh giá định lượng lợi ích của sản phẩm khi áp dụng vào môi trường thực: tiết kiệm bao nhiêu thời gian, chi phí so với giải pháp thủ công.
- Giải pháp đã được đánh giá định lượng, so sánh với … dựa trên độ đo … Các kết quả đánh giá thể hiện có số liệu như sau … Kết quả này thể hiện rằng … Chi tiết dữ liệu tính toán có thể truy cập ở …
- Giải pháp đã được đánh giá định tính bằng … (khảo sát) … Số lượng khảo sát là … Nội dung khảo sát là … Kết quả thể hiện … Chi tiết dữ liệu khảo sát có thể truy cập ở …
4.6. Chương 6 – Kết luận (5 trang)
- Các sản phẩm nổi bật thu được là gì (thiết kế, hệ thống phần mềm, công cụ hỗ trợ, tài liệu nghiên cứu về sản phẩm, dữ liệu tạo ra được, mô hình huấn luyện được, công cụ tạo ra được để xử lý một tác vụ đặc thù nào đó). Có cải tiến, mở rộng mã nguồn mở không?
- Bảng so sánh các kết quả thu được với các mục tiêu đề ra ban đầu.
- Phương hướng phát triển và nghiên cứu trong tương lai: Liệt kê một số vấn đề còn tồn tại và đề ra phương hướng giải quyết (một cách rất tổng quát) trong tương lai.
- Tập trung vào ưu điểm của ứng dụng. Không tập trung vào các hạn chế, không nêu các lý do biện minh (nhân lực, thời gian), chỉ nói là chúng tôi dự định trong tương lai sẽ khắc phục các hạn chế.
4.7. Tài liệu tham khảo
- Báo cáo phải có tối thiểu 3 tài liệu tham khảo.
- Nếu sách được sử dụng thì sách cần được xuất bản trong 5 năm gần nhất.
- Các tài liệu tham khảo phải được tham chiếu trong báo cáo.
4.8. Phụ lục
- Lịch sử các hệ thống, công cụ.
- Giao diện hệ thống. Các giao diện nên được trình bày ngắn gọn. Sinh viên hạn chế liệt kê toàn bộ các giao diện.
- Bản mô tả chi tiết thiết kế hệ thống