.26 Lược đồ các Use Case hệ thống

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu, xây dựng phần mềm hỗ trợ giảng dạy theo mô hình vai mẫu” đối với kịch hát dân tộc luận văn ths máy tính 84801 (Trang 73)

Hình 3.28 Lược đồ hoạt động thêm mới nội dung video 2D

Hình 3.30 Lược đồ hoạt động tra cứu, xem nội dung đa phương tiện

Lược đồ lớp

Hình 3.32 Lược đồ lớp

Mô hình cơ sở dữ liệu

3.4.2 Xây dựng hệ thống

Từ những nguyên mẫu đã được xây dựng và đánh giá, học viên tiến hành xây dựng hệ thống. Học viên lựa chọn công nghệ phát triển hệ thống ứng dụng trên nền tảng web, dùng ngôn ngữ lập trình C# .Net Framework, sử dụng cơ sở dữ liệu SQL Server để lưu trữ dữ liệu, sử dụng các thư viện Java Script cụ thể ở đây là thư viện Three.js để xử lý và biểu diễn dữ liệu 3D lên trình duyệt web, giao diện hệ thống sử dụng Bootstrap v3.3.2,…

Hệ thống hỗ trợ giảng dạy này được xây dựng có đặc điểm khác biệt so với những hệ thống khác ở đặc điểm như: với các hệ thống khác thì mới chỉ dừng ở mức cho phép người dùng nhúng nội dung video 3D từ một hệ thống khác vào bài giảng. Còn đối hệ thống hỗ trợ giảng dạy này được xây dựng cung cấp chức năng cho phép người dùng chủ động quản lý được thư viện nội dung video 3D, cho phép nhúng các video 3D từ thư viện vào bài giảng, chức năng so sánh giữa các video 3D cùng vai diễn nhưng khác người diễn, chức năng so sánh giữa vai diễn trong video 2D với video 3D, các tiện ích xem – dừng – tua – đổi góc nhìn khi xem vở diễn video 3D, đặc biệt là chức năng hỗ trợ biên tập nội dung 3D (đóng gói dữ liệu từ các video 3D khác nhau kết hợp với nhạc nền thành một vở diễn và biểu diễn đồng thời các video 3D đó tại cùng thời điểm trên nền web). Tôi sẽ nói rõ hơn về ý tưởng và cách xử lý trong nội dung trình bày tiếp theo.

Trong quá trình xây dựng hệ thống, mục tiêu của hệ thống là sẽ ứng dụng được công nghệ đa phương tiện đặc biệt là công nghệ 3D vào giảng dạy, vì vậy nội dung 3D sẽ là một phần của hệ thống. Tuy nhiên việc thu thập và biên tập dữ liệu video 3D là quá trình tốn nhiều thời gian và công sức. Để hiểu rõ hơn về việc biên tập dữ liệu video 3D, tôi xin phác thảo tóm tắt quy trình xây dựng một video 3D vai mẫu.

Hình 3.34 Tóm tắt quy trình xây dựng một video 3D

Thu thập dữ liệu Xây dựng mô hình người Xây dựng sân khấu

Gắn chuyển động khung xương vào mô hình người

Ghép mô hình người chuyển động vào sân khấu

Bước 1: Thu thập dữ liệu, trích xuất chuyển động của khung xương bằng các thiết bị như sence, kinec.

Đầu vào của bước này là diễn viên mặc bộ trang phục có gắn các cảm biến, có kết nối với máy tính. Khi diễn viên chuyển động thì cảm biển sẽ gửi các chuyển

động của diễn viên về máy tính. Đầu ra của bước này là tệp tin dữ liệu khung xương chuyển động với định dạng .bvh, các hình ảnh diễn viên thực tế cùng trang phục, tệp tin dữ liệu âm thanh của quá trình ghi, hình ảnh sân khấu

Bước 2: Sử dụng Human Maker để dựng mô hình người, ở bước này có thể sử dụng những mô hình người có sẵn. Đầu ra của bước này là mô hình người với định dạng .obj

Bước 3: Xây dựng sân khấu, ở bước này dùng các hình ảnh sân khẩu đã thu thập được ở bước 1 và các hình ảnh sân khấu thực tế tham khảo để dựng lên cảnh sân khấu 3D

Bước 4: Sử dụng Blender gắn mô hình người tạo ở bước 2 vào khung xương chuyển động thu được ở bước 1, kết hợp dựng trang phục theo nhân vật cùng với các kỹ thuật phủ da cho mô hình người – (skinning), chỉnh sửa – (modifies), chuyển động vật lý – (physics simulations), để mô hình người và trang phục của nhân vật chuyển động theo khung xương. Kết quả của bước 4 là xuất được ra mô hình vai mẫu 3D chuyển động

Bước 5: Ghép mô hình vai mẫu 3D chuyển động ở bước 4 với sân khấu 3D xây dựng ở bước 3. Kết quả của bước này là xuất ra được vở diễn 3D với định dạng .glb

Khi theo dõi quy trình biên tập nội dung video 3D tôi thấy vấn đề hạn chế ở quy trình này đó là sẽ rất mất thời gian cho việc dựng video 3D, câu hỏi đặt ra là làm thế nào để tiết kiệm được thời gian của người biên tập nội dung, tái sử dụng được các đoạn video 3D đã xây dựng, chuyên biệt hóa từng công đoạn, hệ thống xây dựng lên sẽ giải quyết và hỗ trợ được vấn đề gì cho người biên tập nội dung video 3D?

Ý tưởng chia nhỏ công đọan dựng video 3D thành các cảnh khác nhau, tách các nội dung ra làm các cảnh trong đó mỗi người biên tập nội dung sẽ phụ trách làm một cảnh khác nhau, kết hợp với xử lý nhạc nền của cảnh diễn. Ví dụ:

một người làm cảnh sân khấu, những người khác sẽ phân chia việc dựng các nhân vật trong vở diễn, và kết quả cuối cùng là các cảnh diễn 3D của mỗi người sẽ được tải lên hệ thống hỗ trợ giảng dạy, hệ thống sẽ ghép các cảnh diễn lại và biểu diễn thành một video 3D trên nền web. Việc này sẽ giải quyết được vấn đề như giúp tiết kiệm được thời gian xây dựng nội dung 3D, giúp tái sử dụng được các cảnh.

Từ ý tưởng trên, tôi nghiên cứu cách làm sao để hệ thống có thể thực hiện được ý tưởng đó, thể hiện cùng một lúc nhiều đoạn diễn video 3D trên nền web. Qua tìm hiểu tôi thấy hầu như các hệ thống và thư viện hiện tại chỉ hỗ trợ biểu diễn được một tệp tin dữ liệu 3D định dạng .glb tại một thời điểm (giống như khi chúng ta mở một tệp tin video trên chương trình chơi nhạc Windows media player), chưa có hệ thống nào cho phép mở đồng thời nhiều tệp tin video 3D.

Để thực hiện được ý tưởng của hệ thống, tôi cần xử lý việc tổng hợp, đóng gói thông tin của vở diễn và biểu diễn tất cả các cảnh video 3D đó cùng một thời điểm. Đầu tiên tôi nghiên cứu xây dựng chức năng upload tệp tin, chức năng này cho phép khi người dùng upload tệp tin lên hệ thống, hệ thống sẽ tự động phân tích và phân loại kiểu dữ liệu là dữ liệu âm thanh hay dữ liệu các cảnh video 3D - dữ liệu âm thanh ở đây là tệp tin nhạc và tiếng hát của người diễn viên đã được thu lại ở bước 1 trong quy trình xây dựng nội dung video 3D, sau đó đóng gói các thông tin đó lại thành một tệp tin lưu trữ trên máy chủ đồng thời lưu trong cơ sở dữ liệu.

Chức năng này hoạt động và xử lý dữ liệu theo luồng sau: khi người dùng nhập các thông tin mô tả như tiêu đề của vở diễn, chọn các tệp dữ liệu của vở diễn (dữ liệu hình ảnh, dữ liệu âm thanh, dữ liệu các cảnh diễn 3D kết quả của quy trình biên tập nội dung video 3D) và chọn lưu, hệ thống sẽ phân tích dữ liệu đầu vào các tệp được chọn có kiểu dữ liệu gì, sau đó tải các tệp tin đó lên thư mục lưu trữ trên máy chủ đồng thời ghi và đóng gói lại thông tin (tên tệp tin, vị trí lưu tệp tin) của các tệp tin đó vào một tệp tin dưới dạng json, tệp tin này sẽ đồng thời được tải lên thư mục lưu trữ trên máy chủ và hệ thống lưu tên tệp tin vào cơ sở dữ liệu, tệp tin json có cấu trúc như sau:

{ "bgm": "<audio_url>", "gltf": [ "[ <gltf_url> * ]" ] } Ví dụ: { "bgm": "files/3d/suyvan/suyvan.mp3", "gltf": ["files/3d/suyvan/scene.glb","files/3d/suyvan/scene1.glb"] } Trong đó:

 bgm: tham số truyền vào là đường dẫn đến tệp tin nhạc nền  gltf: tham số truyền vào là đường dẫn đến các tệp tin video 3D  * : thể hiện là tham số đường dẫn có thể nhiều hơn 1 tệp tin Sau khi tải dữ liệu lên hệ thống thành công, cấu trúc lưu trữ các tệp tin video 3D được lưu như cây thư mục dưới đây.

Hình 3.36 Cấu trúc lưu trữ các tệp tin video 3D sau khi người dùng tải lên hệ thống

Đối với thông tin vai mẫu video 3D thì được lưu trong cơ sở dữ liệu SQL Server như hình sau.

Hình 3.37 Cấu trúc bảng dữ liệu video 3D của hệ thống

Chức năng trên hệ thống quản lý hiển thị thư viện video 3D như hình dưới.

Hình 3.38 Danh sách thư viện video 3D

Bước tiếp theo là cách biểu diễn các tệp tin cảnh video 3D đã được đóng gói đó ra nền web cùng một thời điểm.

Hình 3.39 Màn hình biểu diễn 2 diễn viên là 2 cảnh video 3D cùng một thời điểm

Chức năng này hoạt động và xử lý dữ liệu theo luồng sau: khi người dùng chọn xem video 3D từ thư viện video 3D, hệ thống sẽ lấy thông tin video 3D mà người dùng chọn từ cơ sở dữ liệu, và đưa thông tin tệp tin đã đóng gói vào đoạn script.

<script>

var clip3D = new h3r.Clip(document.getElementById("main")); let jsonURL = 'files/3d/<%= json%>';

let prog = clip3D.appendJson(jsonURL); prog.onFinishAll = function () {

totalTime.textContent = formatTime(clip3D.duration); }

</script> <script>

function appendJson(url) {

var xhttp = new XMLHttpRequest();

xhttp.onreadystatechange = function () {

if (this.readyState == 4 && this.status == 200) { var serverResponse = this.responseText;

var h3r = JSON.parse(serverResponse); /** sence video 3d */ progress.needDone = h3r.gltf.length; h3r.gltf.forEach(function (gltf) { appendGLTF(gltf); }); /** audio */ if (h3r.bgm) {

audio = new Audio(h3r.bgm); }

console.log(audio); }

}

xhttp.open("GET", url, true); xhttp.send();

return progress; }

</script>

Trong đó:

 clip: là khai báo mới đối tượng video 3D

 h3rURL : là đường dẫn đến tệp tin đóng gói trong chức năng upload tệp tin video 3D

 prog: là quá tiến trình mà hệ thống tải các tệp tin lên

Hệ thống sử dụng thư viện Three.js và các hàm mở rộng để biểu diễn tất cả các cảnh trong tệp tin json đã đóng gói. Tệp tin json sẽ được đọc để lấy ra các thông tin của tệp tin nhạc, video 3D sau đó hàm mở rộng sẽ nối chúng vào thành một video 3D đầy đủ và biểu diễn lên trình duyệt web.

Với các chức năng trên, hệ thống đã hiện thực hóa được ý tưởng tổng hợp các cảnh diễn vào một vở diễn và thể hiện cùng lúc các cảnh diễn, giúp giảm được thời gian biên tập nội dung 3D, giúp tái sử dụng được các cảnh diễn.

Ngoài các chức năng hỗ trợ việc biên tập nội dung và biểu diễn cùng lúc nhiều nội dung 3D trên nền web, hệ thống cũng đã cung cấp các chức năng biên soạn bài giảng có hỗ trợ việc nhúng nội dung đa phương tiện và nội dung video 3D vào bài giảng, chức năng biên tập nội dung bài giảng có so sánh giữa các vai diễn trong video 3D với video 3D và giữa video 2D với video 3D, chức năng xem nội dung bài giảng,… dưới đây là một số hình ảnh chụp từ hệ thống.

Hình 3.40 Màn hình biên tập bài giảng có hỗ trợ nhúng nội dung đa phương tiện từ thư viện

Hình 3.42 Màn hình xem nội dung bài giảng, so sánh giữa các diễn viên

3.5 Kết chương

Trong chương này, học viên đã áp dụng mô hình thiết kế lấy người dùng làm trung tâm (User Center System Design – UCSD), kỹ thuật tạo mẫu nhanh

(Rapid Prototying) trong quá trình xây dựng phần mềm hỗ trợ giảng dạy theo

mô hình “vai mẫu” đối với kịch hát dân tộc. Các mẫu thiết kế được xây dựng dựa trên hai mức độ là mẫu thiết kế có độ trung thực thấp và mẫu thiết kế có độ trung thực cao. Từ những mẫu đã xây dựng được, học viên đã tiến hành lên kế hoạch đánh giá các mẫu từ đó rút ra được những hạn chế và đề xuất các cải tiến phù hợp trong quá trình phát triển phần mềm sử dụng kỹ thuật tạo mẫu nhanh. Hệ thống được xây dựng dựa trên những mẫu đã xây dựng.

Học viên cũng đã nghiên cứu công nghệ để xây dựng hệ thống ứng dụng được công nghệ đa phương tiện. Các chức năng hỗ trợ quá trình biên tập nội dung video 3D, giúp tiết kiệm được thời gian xây dựng nội dung video 3D, giúp tái sử dụng được các cảnh diễn 3D. Hỗ trợ giảng viên như các chức năng hỗ trợ việc xây dựng bài giảng, cho phép tìm kiếm và nhúng nội dung đa phương tiện từ thư viện đa phương tiện, cho phép xây dựng nội dung bài giảng có tính chất so sánh. Đối với người học, hệ thống cho phép xem các vở diễn vai mẫu ở nhiều góc cảnh khác nhau, cho phép chơi – dừng – tua video 3D.

KẾT LUẬN

1.Những kết quả chính của luận văn

Luận văn cung cấp một cái nhìn tổng thể về các yếu tố trong qui trình phát triển phần mềm ảnh hưởng đến chất lượng phần mềm và khả năng đáp ứng mong muốn của khách hàng. Mỗi qui trình phát triển phần mềm đều có những ưu điểm và nhược điểm riêng, do đó cần phải phân tích hệ thống chi tiết trước khi lựa chọn qui trình xây dựng để có được sản phẩm phần mềm có chất lượng, thoả mãn mong muốn của khách hàng và đảm bảo tiến độ thực hiện.

Tìm hiểu, phân tích, so sánh, đánh giá ưu, nhược điểm của các kỹ thuật xây dựng mẫu trong thiết kế một hệ thống phần mềm với các tiêu chí đánh giá.

Áp dụng mô hình thiết kế lấy người dùng làm trung tâm, kỹ thuật tạo mẫu nhanh trong xây dựng phần mềm hỗ trợ giảng dạy theo mô hình “vai mẫu” đối với kịch hát dân tộc. Các mẫu thiết kế được xây dựng dựa trên hai mức độ là mẫu thiết kế có độ trung thực thấp và mẫu thiết kế có độ trung thực cao. Từ những mẫu đã xây dựng được, học viên đã tiến hành lên kế hoạch đánh giá các mẫu từ đó rút ra được những hạn chế và đề xuất các cải tiến phù hợp trong quá trình phát triển phần mềm sử dụng kỹ thuật tạo mẫu nhanh.

Nghiên cứu công nghệ và xây dựng hệ thống ứng dụng được nội dung đa phương tiện (văn bản, hình ảnh, âm thanh, video 2D, video 3D) hỗ trợ vào việc giảng dạy, hỗ trợ cán bộ biên tập nội dung đa phương tiên, hỗ trợ giáo viên xây dựng bài giảng, hỗ trợ người học xem và học các vai mẫu video 3D.

2.Hướng phát triển của luận văn

Tiếp tục hoàn thiện qui trình tổ chức đánh giá các mẫu, xây dựng được mô hình kết hợp đánh giá mẫu giữa người dùng với người phát triển hệ thống để có thể nắm bắt, phản ánh tốt nhất những yêu cầu đối với từng mẫu.

Xây dựng được các khuyến nghị về các công cụ xây dựng các mẫu thiết kế với các mức độ trung thực khác nhau dễ sử dụng, dễ thiết kế, dễ vận hành và dễ tương tác.

Xây dựng bổ sung được các chức năng tiện ích trên hệ thống hỗ trợ người dùng.

TÀI LIỆU THAM KHẢO

Tiếng Việt

[1] Bùi Thế Duy (2005). Bài giảng môn “Tương tác người máy”

[2] Ngô Thị Duyên. Bài giảng môn “Thiết kế giao diện người dùng”

Tiếng Anh

[3] Ghezzi, C., Jazayeri, M., & Mandrioli, D. (2002). Fundamentals of

software engineering. Prentice Hall PTR.

[4] Tavolato, P., & Vincena, K. (1984). A prototyping methodology and its tool. In Approaches to prototyping (pp. 434-446). Springer, Berlin, Heidelberg.

[5] Carr, M., & Verner, J. (1997). Prototyping and software development approaches. Department of Information Systems, City University of Hong Kong,

Hong Kong, 319-338.

[6] Morris, D. (Ed.). (2013). Concise encyclopedia of software

engineering (Vol. 1). Elsevier.

[7] Seffah, A., Gulliksen, J., & Desmarais, M. C. (Eds.). (2005). Human- centered software engineering-integrating usability in the software development

lifecycle (Vol. 8). Springer Science & Business Media.

[8] Rome, N. Y. (1992). Software Prototyping and Requirements Engineering.

[9] Landay, J. A., & Myers, B. A. (1995, May). Interactive sketching for the early stages of user interface design. In Proceedings of the SIGCHI

conference on Human factors in computing systems (pp. 43-50). ACM

Press/Addison-Wesley Publishing Co.

[10]Dix, A. (2009). Human-computer interaction. In Encyclopedia of

database systems (pp. 1327-1331). Springer, Boston, MA.

[11]Rising, L., & Janoff, N. S. (2000). The Scrum software development process for small teams. IEEE software, 17(4), 26-32.

[12]Cockburn, A. (2002). Agile software development (Vol. 177). Boston: Addison-Wesley.

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu, xây dựng phần mềm hỗ trợ giảng dạy theo mô hình vai mẫu” đối với kịch hát dân tộc luận văn ths máy tính 84801 (Trang 73)

Tải bản đầy đủ (PDF)

(87 trang)