Tải bản đầy đủ (.pdf) (76 trang)

nghiên cứu xây dựng ứng dụng mô phỏng nhà

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (9.72 MB, 76 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIÊN THONG KHOA CÔNG NGHỆ THÔNG TIN

<small>Nghiên cứu xây dựng ứng dụng mô phỏng nhà</small>

<small>Giảng viên hướng dẫn: TS. Đỗ Thị LiênSinh viên thực hiện: Trần Thành Tài</small>

<small>Mã sinh viên: BI9DCCN565</small>

Lớp: DI9CNPMI

<small>Niên khóa: 2019-2024</small>

<small>Hệ đào tạo: Đại học chính quy</small>

<small>HÀ NỘI — 2023</small>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

NHAN XÉT CUA GIẢNG VIÊN HƯỚNG DAN

<small>Điểm: ... (Bằng chữ )</small>

<small>Ngày ... tháng... năm 20....</small>

<small>Giáo viên hướng dân</small>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

NHẬN XÉT CUA GIANG VIÊN PHAN BIEN

Điểm: ... (Bang chữ )

<small>Ngày ... tháng... năm 20....</small>

<small>Giáo viên phản biện</small>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<small>Đồ án tốt nghiệp đại học</small>

LỜI CẢM ƠN

Đầu tiên, em xin gửi lời cảm ơn đến các thây cô trong Học viện cơng nghệ

<small>bưu chính viễn thơng nói chung và các thay cơ trong khoa Cơng nghệ thơng tin nóiriêng. Cảm ơn các thây cô đã dạy cho em rất nhiều kiến thức và kinh nghiệm trong</small>

suốt 5 năm đại học, giúp em có được cơ sở ly thuyết vững vàng và tạo một mơi

<small>trường học tập chun nghiệp dé em có thé phát triển bản thân và vững bước trên</small>

<small>con đường phát triên sự nghiệp.</small>

Em xin gửi lời cảm ơn chân thành đến cô TS. Đỗ Thị Liên — Giảng viên bộ

<small>mon Cơng nghệ phân mém đã tận tình hướng dan cũng như tạo điêu kiện giúp em</small>

<small>hoàn thành đồ án này, em xin chúc cơ và gia đình thật nhiêu sức khỏe và thànhCÔNG.</small>

Cuối cùng, em xin chân thành cảm ơn gia đình và bạn bè, đã ln tạo diéu

<small>kiện, quan tâm, giúp đỡ, động viên em trong suôt quá trình học tập va hồn thànhkhóa luận tot nghiệp.</small>

Vì thời gian có hạn, trình độ hiểu biết của bản thân cịn nhiều hạn chế. Cho

<small>nên trong đồ án này khơng tránh khỏi những thiếu sót, em rất mong nhận được sựđóng góp ý kiến của tat cả các thay cơ giáo cũng như các bạn bè dé đô án em đượchoàn thiện hơn nữa.</small>

<small>Em xin chân thành cảm ơn!</small>

<small>Trần Thanh Tài - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

DANH MỤC CAC HÌNH VẼ...---- 5s 2s E2 12E121121121212111 11211111111 re. 9

THUẬT NGỮ VIET TÁTT... --- 2-2 SE+ESE£EE£EEEEEEE2EE 2121212111111 11x 1xe 11

PHAN MO ĐẦU...- 5-5221 2S 2E 2212212211211211211211211211111211211211111 1121. xe 12 CHUONG 1. TONG QUAN VE UNG DỤNG MO PHONG NHÀ... 13

1.1 Xác định yêu cầu...-- 5c SE E2 12112112112112112111 1111111 re. 13

1.1.1 Mục đích hệ thống...--- 5-25 SE SE E2EEE12171211 2111111111 ye, 13

1.1.2 Khảo sát thị trường và các sản phẩm tương tự...--- 2 s5 s+: 13

1.1.3. Yêu cầu hoạt động của ứng dụng...---- 2 +sccecscrxzxexererree 17

1.2 Thiết kế tương tác...--- 22522 E2E221217111212112111111111111 1x cce. 18

1.3 Xác định phương pháp tiếp cận và giải quyết vấn đề...----5- 5+: 19 1.3.1. Mơ hình tổng quát hệ thống...-- 2-52 +S2+E+E££E+E+EzEzEerxzxeree 19 1.3.2. Phương pháp xây dung phan mềm...--- ¿2 52 z+*+E+Ez£z£z+xz 20 1.4 Công nghệ triển khai hệ thống...-- 2-2 2SE+E£EE+E£EE2E+EEEE2EeEEzEeErrkrree 20 <small>1.4.1 Unity Engine...-- -.c c1 vn ng vn kg 20</small>

<small>Trần Thanh Tai - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<small>Đồ án tốt nghiệp đại học</small>

<small>1.4.3. Shader Code... LH TH TH TH HH kp 22</small>

1.5 Kết luận chương...--2:222+5E2E222E2EEE2E22122122121122121121 2... xe 23

CHUONG 2. CÔNG NGHỆ XÂY DUNG UNG DUNG MÔ PHONG NHÀ24

2.1 Hé thong Unity 3D ieee ceccccccccssssssesseessessessessssssessssussssssesseauesseesesseseeeees 24

<small>2.1.1 Giới thiGU. eee ccccccccssessessecssessessesssessessessussssssessssusssessesssssesseesesseess 24</small>

2.1.2 Thành phan chinh...cccccccccccccscesssssesesscssessessessessessessessssessscsesessesesees 24

<small>2.2 Builder Pattern... ccc cece ccccesscsccceesssccccesseeeccessssseeeseeseeeeesesssesssssssnaees 26</small>

2.2.1 Vấn đề khởi tạo ham trong hệ thống lớn...--2 2 2+s+z+zx+zx+s+ 26 2.2.2. Giới thiệu về Builder Pattern...-¿-:- - sSx+E+EEE+E£EEEE+EvErxrrerssesee 28 2.2.3. Cấu trúc của Builder Patterth...cccccccccccccscesesecesesesecesescesesescseseeceseeees 30

2.3. Kết luận chương 2... --:- 2252 E2 E21121211111111121121121111 1111111. te. 31 CHƯƠNG3. PHAN TÍCH VÀ THIẾT KE HỆ THĨNG...-- 33

3.1 Phân tích hệ thống...---- 2 2S E2ESEEEEEEEEEE12115112112112112111E 111 xe. 33

3.1.1 Biểu đồ Use Case và Scenario....c.ccccccccssssssssessssssestsesesescscestevstseseeeeees 33

<small>3.1.2 Danh sách Use Case va Scenario tương Ứng...- ----+s-s++ssssssxsss 34</small>

3.1.3 Biểu đồ lớp phân tích...-- ¿5-52 S222 E2EEE12121E212111211 1111 xe, 48

3.2 Thiết kế hệ thống...---:- 2 5ESE2EE2EE2E12E12112121711111211211211211 1.21 xe. 51

3.2.1 Biểu đỗ tuần tet. eccccccccccccccccssssssessessessessessessessessessssssessssesessesesisseeeeeees 51

3.2.2 Biểu đỗ lớp thiết kế...--- essecsesscssessessesesecsesssestsecsessseseeenees 59

3.3 Kết luận chương 3...cecccecccssesescsesssesessesessessesessessesesseseseesscstsasstsvsssesessesees 61

<small>Trần Thanh Tai - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<small>Đồ án tốt nghiệp đại học</small>

KET LUẬN VÀ HƯỚNG PHAT TRIỆN...---° <5 5° se sess=sesesseses 63 1. _ Đánh giá kết quả của đồ án...- -©2¿2+22S 2x2 EEE2E2E2122121 2122121 zxe 63

2. Phương hướng phát triỂn...--- - + seSeEEEEE2EE2E12E12E121121E 2121211 xeE 63

PHU LUC CÀI ĐẶT VÀ TRIEN KHAI...-- 5-5-2 s s+ssss=sesssesss 64

I. _ Thiết lập môi trường...--- ¿- ++++k‡EE£EEEEEEEEEE121121121121121E 21211 64

2. Cài đặt triển khai hệ thống...¿--¿- + ©2¿22222E2E2EE212E 2122121 2EeErcxe2 64 3... Giao diện và hình ảnh sản phẩm...--- - 2c 2 E+EE£EE£EE2EE2EE2EzErrerkered 68

TÀI LIEU THAM KHẢO...-- <2 s2 se s£Es£Ess£xseEseEsetxserserssrssrsere 76

<small>Trần Thanh Tài - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<small>Đồ án tốt nghiệp đại học</small>

DANH MỤC CÁC BANG

<small>Bang 3.1. Kịch bản module tạo phòng TỚI...- -- 5 25 32+ * +2 k+seeerersekee 34Bang 3.2. Kịch ban module chỉnh sửa phòng...- .-- 5à Shin, 35</small>

<small>Bảng 3.3. Kịch bản module xem video hướng dẫn...----2- 52 52+s+£+cz£ss+ 36</small>

Bang 3.4. Kịch bản module thêm d6 vật...--- ¿2-52 5E E‡E‡ESEE2E2EeEeEerrkrvee 37

Bảng 3.5. Kịch ban module thay đổi chat liệu sàn...- - 2-52 5s2cs2cs2cc+2 39 Bảng 3.6. Kịch bản module ấn toàn bộ đồ vật...-- i5: St ctct x2 EE2EEsxsxsxsez 41

Bang 3.7. Kich ban module tao chất liệu mới...--¿- - + + ‡x+EeErxerererxerrrs 42 Bảng 3.8. Kịch bản module thay đổi cài đặt ánh sáng...---2- ¿5 255: 44 Bang 3.9. Kịch ban module thay đổi chế độ góc nhìn...- 2-5 + +c£zc5+: 46 Bảng 3.10. Kịch bản module chỉnh sửa AG vật... ác cv 12121 re 47

<small>Trần Thanh Tài - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<small>Đồ án tốt nghiệp đại học</small>

DANH MỤC CÁC HÌNH VE

Hình 1.1.Thống kê số lượng nhà ở những năm gan đây...-- s2: 14 Hình 1.2.Thống kê số lượng người dung smartphone qua các năm... 15 Hình 1.3. Mơ hình thiết kế tương tác của hệ thống...-- - - + z+s+x+xzcsez 18 Hình 1.4.Mơ hình tong qt của hệ thống...--- 2 ¿SE £E2E+EeEeErxrxez 19 Hình 1.5. Phác thảo mơ hình MVC cho hệ thống...----2- 2 2522 2+2: 20 Hình 1.6. Ví dụ về ShaderLab trong Unity...- - 2-2 s+2++S++E++E+zEzEzEerxzxee 23 Hình 2.1. Các Component chuyên dụng trong hệ thống...--- 5-2: 25 Hình 2.2. Van đề trong lập trình với constructOr...---¿ ¿+ =z+s+z++zz+xze: 27 Hình 2.3. Phương án giải quyết trong van đề constructOr...--- 2: scscs+: 27 Hình 2.4. Mơ hình hệ thống nhà nhiều thành phần...--- 2 2 s2 22 z£z+522 28 Hình 2.5. Cấu trúc hồn chỉnh của Builder Pattern trong hệ thống nhà... 31

Hình 3.1. Use Case tổng quát hệ thống...-- 2-2 2 SSE2E#ESEE2EEEE2EEEEErEerkeg 33

<small>Hình 3.2. Use Case module tạo phòng MỚII... - 5 2c 3S 3+3 Evssseerrrrrevee 34</small>

<small>Hình 3.3. Use Case module xem video hướng dẫn...--- 2-5 2 s+s+=+s+sss+ 36</small>

Hình 3.4. Use Case mudule thay đổi chất liệu sàn...--- 2-52 522cs+cz2cz+2 39 Hình 3.5. Use Case module ân toàn bộ d6 vật...-- - + xe +x+EeEeEerrerererx 40 Hình 3.6. Use Case module tạo chất liệu mới...-¿-¿2+s+x+E+E+EvEEEEE+E+EzEezrsez 42 Hình 3.7. Use Case module thay đổi cài đặt ánh sáng...---- - + czcse: 44

Hình 3.8. Use Case module thay đổi chế độ góc nhìn...-- ¿5 5x5: 45 Hình 3.9. Use Case module chỉnh sửa d6 vật...-¿- 5xx EvEvEeEeEexererrrres 47

Hình 3.10. Biêu đồ lớp phân tích... - 2:22 + x2E22E+2EEtEE2EE2Exerxzreerxerxee 50 Hình 3.11. Biéu đồ tuần tự module xem danh sách loại phịng... 51 Hình 3.12. Biểu đồ tuần tự module thêm phòng mới...- - 2 s2 2+ +2: 52 Hình 3.13. Biéu đồ tuần tự module xem video hướng dẫn...-- 5: 5+ 52

<small>Trần Thanh Tài - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<small>Đồ án tốt nghiệp đại học</small>

Hình 3.14. Biéu đồ tuần tự module thêm đồ vật...-- - 2 2s t+x+EvEvEeEvrervsi 53 Hình 3.15. Biéu đồ tuần tu module tạo chất liệu mới...--- - + + c+s+=+zexss+ 54 Hình 3.16. Biéu đồ tuần tự module ân tồn bộ đồ vật...-- ¿2+ se s22 55 Hình 3.17. Biểu đồ tuần tự module hiền thị lưới...---.¿-ccccccccscxerrreee 56 Hình 3.18. Biéu đồ tuần tự module thay đổi cai đặt ánh sáng... 57 Hình 3.19. Biéu đồ tuần tự module thay đơi cài đặt góc nhìn...-- 58 Hình 3.20. Biéu đồ tuần tu module chỉnh sửa đồ vật...-- ¿+ scz+x+x+xzzzs+2 59 Hình 3.21. Biểu đồ lớp thiết kẾ...--- ¿S2 SE E21 12121815E111712151 11111 cxe 60 Hình 3.22. Biểu đồ gói hệ thống...-- 2-2 252222 EEEEEEEEEE71E21211221 2211. xe. 61 <small>Hình 0.1. Giao diện trang chủ nIfy... -- .-- c2 Sc 3321111325 1E EESEkrrerrvee 65Hình 0.2. Giao diện cai đặt Un1fy...-- 2c 2211121123111 112111111 kg re 65Hình 0.3. Giao diện chọn thư mục chứa EdItor... 5555553 + +++++++++++++++>s+ 66</small>

<small>Hình 0.4. Giao diện cai đặt thành cơng... ..-- - c2 222211 1*22 112Exxexzxes 66Hình 0.5. Giao diện tao dự án Unity... ccc cccccsccsccesecssecessecesecesseeeseesseeensees 67Hình 0.6. Giao diện mở ứng dụng...- - -- 3322133211131 1515EE1EEEekxrs 68Hình 0.7. Giao diện horne... ---- c2 2 2211112222311 11 1131115515555 xx 69</small>

<small>Hình 0.8. Giao điện phịng mẫu...-¿- 5 2 +E+S£S2SE+E£EEEE£EEEEEEEEEEEEErErrkrkrrres 70</small>

Hình 0.9. Giao diện thiết kế...--c2cc22tttEth HH 71

Hình 0.10. Giao điện danh sách đồ Vate.c.c.ccccccccccccsesecesecsssescsesesececsesescscsesesvscseeees 72 Hình 0.11. Giao diện chỉnh sửa đỗ vật...-- ¿5c cv 73 Hình 0.12. Giao điện xem chất liệu...-.---55:22+tc tri 74 Hình 0.13. Giao điện thêm chất liệu...- ¿2-2-5 SE EESE£E+E‡E+EvEEEEEEEErEsEErrrrrsee 75

<small>Trần Thanh Tài - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<small>Đồ án tốt nghiệp đại học</small>

PHAN MỞ ĐẦU

Với sự tiến bộ nhanh chóng của cơng nghệ và sự phát triển đô thị, ngành xây

<small>dựng và thiết kế nhà đang trở thành một lĩnh vực ngày càng quan trọng trong phát</small>

<small>triển đất nước. Theo đó, gia tăng dân số và lượng nhà ở nhanh chóng khiến cho việc</small>

<small>quan lý và tối ưu hóa khơng gian trở thành một yếu tô thiết yếu trong việc xây dựng.</small>

Vào những năm trước, kiến trúc sư chủ yếu sử dụng những phần mềm

<small>chuyên dụng, xong lại gây khó khăn trong việc giao tiếp giữa người xây dựng vàchủ nhà. Trong khi người bình thường chỉ có thé dùng các ứng dụng mang tính chấtgiải trí hơn. Liệu có thể tạo ra một ứng dụng đơn giản được dùng trên điện thoại di</small> động nhưng lại cung cấp một nền tảng mô phỏng 3D chân thực, giúp kiến trúc sư và <small>nhà thiết kế trực quan hóa ý tưởng của họ, đồng thời hỗ trợ chủ nhà cũng như nhà</small>

<small>thầu hiểu rõ về cau trúc và quy trình xây dựng?</small>

Từ những vấn đề cấp thiết trên, em đã nảy ra ý tưởng “Xây dựng ứng dụng

<small>nhà mơ phỏng” và chọn nó làm đê tài cho đô án tôt nghiệp đại học.</small>

Đồ án được cau trúc thành 3 chương gồm có những nội dung chính sau: Chương 1: Tổng quan về ứng dụng mô phỏng nhà.

<small>Chương 2: Công nghệ xây dựng ứng dụng mơ phỏng nhà.</small>

Chương 3: Phân tích thiết kế hệ thống.

<small>Trần Thanh Tài - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<small>Đồ án tốt nghiệp đại học</small>

CHUONG 1. TONG QUAN VE UNG DỤNG MÔ

PHONG NHA

Trong chương này, đồ án tập trung giới thiệu tong quan về lý do chọn đề tài,

<small>đặt ra các vân đê mà hệ thơng cân xử lý, từ đó đưa ra các phương pháp và công nghệdùng đê triên khai hệ thơng.</small>

1.1 Xác định u cầu

1.1.1 Mục đích hệ thống

Cung cấp một ứng dụng trò chơi, cho phép người dùng sử dụng để xây dựng

<small>và thiệt kê các phòng dê dàng thông qua giao diện đơn giản.</small>

1.1.2 Khảo sát thị trường và các sản phẩm tương tự <small>Khảo sát thị trường</small>

Theo số liệu thông kê về nhà ở năm 2023, Số ngôi nhà mới bắt đầu xây dựng <small>vào năm 2023 cao hơn 15,0% so với mức trung bình 120 tháng trước đó.[I]</small>

<small>e_ Trong 5 năm (2018 đến 2022), trung bình mỗi năm có 1,41 triệu đơn vi nhà ở</small>

<small>thuộc sở hữu tư nhân mới được khởi công.</small>

<small>e 1,67 triệu là số giấy phép nhà ở trung bình hàng năm được cấp phép trong 5</small>

° Tổng số 1,60 triệu nhà ở mới thuộc sở hữu tư nhân bắt đầu được xây dựng vào <small>năm 2021, tăng 16,0% so với năm 2020.</small>

e Tổng số giấy phép nha ở được cấp là 1,74 triệu vào năm 2021, tăng 18,1% so <small>với năm 2020</small>

<small>Trần Thanh Tài - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<small>Sep22 0(t22 Nov22 Dec22 Jan’23 Feb2š Mar2š Apr25 May'235 lun 25 Jul'23 Aug23 Sep 2š</small>

<small>Bra New Permits @ New Starts</small>

<small>iPropertyManagement.com data source: U.S. Census Bureau</small>

<small>Hình 1.1.Thong kê số lượng nha ở những năm gân đây</small>

<small>Ngoài ra theo Statista [2], số lượng người dùng điện thoại di động trên thế giới</small>

<small>là là 6,567 tỷ người, chiếm 82,16 % dân số thé giới (khoảng 7,992 tỷ người) sở hữu</small>

<small>smartphone. Con sô này tăng đáng kế so với năm 2016 khi chỉ có 3,668 tỷ người</small>

<small>dùng, chiếm 49,40 % dân số toàn cau.</small>

<small>Trần Thanh Tài - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<small>@ Additional information Show source @</small>

Hình 1.2.Thống kê số lượng người dùng smartphone qua các năm

<small>Từ các sơ liệu phân tích trên, có thê thay nhu câu sử dụng điện thoại di động trên</small>

<small>thê giới là rât lớn, đơng thời mỗi cá nhân đêu có mong muôn được tự mô phỏngnên một ngôi nhà của riêng mình!</small>

Khảo sát các sản phẩm tương tự:

Sau khi tham khảo 3 ứng dụng phố biến thuộc thé loại Simulator, em rút ra

<small>được các ưu nhược diém như sau:</small>

Ưu điểm Nhược điểm

Flight Simulatơ | Đồ họa và Realism: Microsoft e | Dung lượng ứng dụng quá nặng

<small>Flight Simulator nôi tiêng với đô</small>

<small>(https:// hoa tuyét voi va su chan thuc</small>

<small>www.flightsimu | trong việc mơ phỏng máy bay va</small>

<small>lator.com/) mơi trường.</small>

<small>® | Sự Da Dạng của Máy Bay: Cung</small> cấp một loạt rộng lớn các loại

máy bay từ những chiếc nhẹ đến

<small>máy bay thương mại vả quân sự.</small>

<small>Trần Thanh Tài - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<small>Đồ án tốt nghiệp đại học</small>

Dữ Liệu Thực Tế: Sử dụng dữ

liệu thực tế dé tái tạo môi trường

và điều kiện thời tiết thực tế trên

<small>Nôi tiêng với việc tap trung vàoe</small>

<small>mô phỏng cuộc sông hăng ngày</small>

<small>của nhân vật.</small>

<small>Cung câp nhiêu lựa chọn xây</small>

<small>dựng nhà cửa với giao diện thân</small>

<small>thiện với người chơi.</small>

Đa dạng về nội thất và trang trí.

<small>Hạn chê đơi với các dự án xây</small>

<small>Tap trung vào việc mua ban, sửachữa và trang trí nhà cửa.</small>

Cung cấp trải nghiệm xây dựng

<small>nhà cụ thê và chi tiết.</small>

<small>Thách thức người chơi với</small>

<small>nhiệm vu sửa nhà dé ban lại với</small>

<small>giá cao hơn.</small>

<small>Chưa đủ độ chân thực và hơi đơn</small>

<small>giản so với thực tê</small>

<small>=> Từ các ưu điêm, nhược diém cua 3 ứng dụng em đã rút ra những u tơ cânphải có ở sản phâm của mình là:</small>

<small>e Giao diện thân thiện, dé sử dụng với người dùng.</small>

Dữ liệu local, có thé dùng offline Đa dạng đồ vật, chất lượng đồ vật.

<small>Dễ dàng tìm kiếm và điều hướng.</small>

<small>Trần Thanh Tài - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<small>Đồ án tốt nghiệp đại học</small>

<small>e Dung lượng ứng dụng nhẹ, phủ hợp với nhiều dong máy.e Trải nghiệm chân thực với chất liệu thong dụng</small>

1.1.3. Yêu cầu hoạt động của ứng dụng

<small>e Người dùng truy cập ứng dụng trực tiếp thông qua thiết bi di donge Người dùng có thé xem các video hướng dẫn</small>

e Người dùng có thé tạo một project mới

e Người dùng có thê truy cập và sửa đổi các project cũ

e Người dùng có thé xem các template được tạo sẵn

<small>e Khi truy cập một project, người dùng có thể thêm, sửa, xố các object trong</small>

<small>project đó</small>

e Người dùng có thé thay đổi kích thước, chất liệu, các thuộc tinh của tồn bộ

<small>object có trong project</small>

<small>Trần Thanh Tai - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

<small>x zAS</small>

<small>Đô an tot nghiệp đại hoc</small>

1.2 Thiết kế tương tác

<small>TRANG CHỦ DANH SÁCH LOẠI PHỊNG DANH BACH PHỊNG ĐÃ TAO</small>

<small>Doanh sich loại phơng,</small>

<small>¬ Danh sách loại phịng Danh sách phẳng đã tạo</small>

<small>“hơng 1 Phịng? eter 3</small>

<small>trông ngà | | Phàngan ° hora</small>

<small>DANH SACH DO VAT CHỈNH SỬA ĐỒ VAT</small>

Hình 1.3. Mơ hình thiết kế tương tác của hệ thong

<small>Trần Thanh Tài - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<small>Scriptable Object Unity Asset</small>

<small>Texture JSON DATA</small>

<small>Thêm vào dữ liệu</small>

<small>Lấy ra dữ liệu</small>

Hình 1.4.Mơ hình tổng qt của hệ thống

<small>Trần Thanh Tài - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

<small>Đồ án tốt nghiệp đại học</small>

1.3.2. Phương pháp xây dựng phần mềm

Mục tiêu của dự án là phát triển một hệ thống có khả năng tách biệt các

<small>nhiệm vụ trong ứng dụng, giúp việc quản lý, mở rộng va bao trì dễ dàng hon. Dođó, ứng dụng sẽ được sử dụng phương pháp xây dựng phân mêm theo mơ hình</small>

Hình 1.5. Phác thảo mơ hình MVC cho hệ thống

1.4 Cơng nghệ triển khai hệ thống

<small>1.4.1 Unity Engine</small>

<small>Khai niém:</small>

Unity là một nền tảng phát triển trò chơi đa năng được phát triển bởi Unity

<small>Technologies và đã ra mắt lần đầu vào năm 2005. Nền tảng này được sử dụng rộng</small>

<small>rãi trong ngành công nghiệp phát triển trò chơi, đặc biệt là trên các nền tảng</small>

<small>Android và iOS.</small>

<small>Trong lĩnh vực trò choi, Unity là cơng cụ mạnh mẽ cho việc tạo ra cả trị chơihai chiều (2D) và ba chiều (3D), cũng như mô phỏng các tương tác phức tạp. Ngoài</small>

<small>ra, phần mềm này cũng được ưa chuộng và sử dụng rộng rãi trong các lĩnh vực khác</small>

<small>như điện ảnh, kiến trúc, công nghiệp ô tô, và xây dựng</small>

<small>Trần Thanh Tài - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

<small>Đồ án tốt nghiệp đại học</small>

<small>Tinh năng cơ bản cua Unity:</small>

<small>@ Tạo giao diện UI của Game như tạo drop bar, textbox,...</small>

@ Hiền thị mơ hình 3D, 2D — hệ thống vật lý 2D, 3D

@ Networking: Hỗ trợ tao game chơi nhiều người cùng lúc

@ Hỗ trợ nèn tảng đặc biệt mới: AR — Augmented reality (Thực tế tăng cường),

<small>VR — Virtual reality (Thực tê ảo)</small>

@ Hỗ trợ hiền thị chữ bằng font đặc biệt

Ưu điểm khi sử dung Unity:

Trên thị trường game quốc tế và Việt Nam, vẫn tồn tại nhiều game engine duoc

ưa chuộng bởi các nha phát triển, chăng hạn như Unreal, CryEngine, và nhiều

engine khác. Mỗi engine có ưu điểm và hạn chế riêng biệt và vân được sử dụng

<small>rộng rãi trong các studio phát triển game. Riêng về khía cạnh tổng thé của khả năng</small> làm game, Huy đã đề cập đến ba lợi thế quan trọng của Unity như sau:

<small>e Trình chỉnh sửa (Editor): Unity cung cấp một trình chính sửa cho phép nhà phát</small>

triển sắp xếp các đối tượng trong trò chơi mà khơng cần phải viết mã. Người

<small>phát triên có thé dé dang kéo và thả, cũng như thay đổi vị trí của các đối tượngtrực tiếp trong trình chỉnh sửa.</small>

e Da nên tang: Lợi ích thứ hai quan trọng đối với nhiều cơng ty và nhà phát triển

là tính đa nền tảng của Unity. Bằng cách phát triển trò chơi có khả năng hoạt động trên nhiều hệ điều hành quan trọng như máy tính (Mac, Windows, và

<small>Linux), thiết bị di động (iOS, Android), hoặc trình duyệt web (WebGL), Unity</small>

<small>giúp tiết kiệm thời gian và nguồn lực cho doanh nghiệp.</small>

e Miễn phí: Một ưu điểm cuối cùng mà Unity mang lại là tính miễn phí. Điều này

thu hút nhiều nhà phát triển lựa chọn sử dụng engine này. Tuy nhiên, đối với các

<small>trị chơi được tạo ra miễn phí, buộc phải bao gồm biểu trưng Unity trong tròchơi.</small>

<small>1.4.2 Scriptable Object</small>

Xây dựng một hệ thống với lượng data lớn yêu cau việc quan ly dit liệu một

<small>cách thuận tiện nhât cho việc truy xuât cũng như lưu trữ.</small>

<small>Trần Thanh Tài - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

<small>Đồ án tốt nghiệp đại học</small>

<small>ScriptableObject là một lớp cơ bản trong Unity, cho phép lưu trữ dữ liệukhông phụ thuộc vào các đối tượng trong Scene. Điều này giúp tạo ra các tài</small>

<small>nguyên đữ liệu có thể tái sử dụng và đễ dàng quản lý.</small>

Ưu điểm của Scriptable Object:

<small>Tách rời dữ liệu từ Scene: ScriptableObject giúp tách rời dữ liệu từ Scene, cho.phép tạo và chỉnh sửa dữ liệu mà không cần mở Scene. Điều này tiện lợi khi cần</small>

thay đôi giá trị, thử nghiệm và cập nhật dữ liệu mà không làm ảnh hưởng đến

cầu trúc của Scene.

Tái sử dụng dé dang: Có thé tạo ra các ScriptableObject dé lưu trữ cấu hình, tai

nguyên, hoặc bat kỳ dit liệu nào cần được chia sẻ giữa nhiều đối tượng trong

game. Điều này giúp giảm sự phụ thuộc và tăng khả năng tái sử dụng.

Dễ dàng quản lý và mở rộng: ScriptableObject tạo ra một cách thuận tiện dé

quản ly đữ liệu. Có thé tạo và tổ chức ScriptableObject trong thư mục Assets,

giúp dé dàng theo dõi và mở rộng hệ thống dữ liệu.

Hỗ trợ Serialize: ScriptableObject được hỗ trợ trong quá trình serialize, điều này

có nghĩa là có thể lưu trữ và giữ nguyên dữ liệu của nó sau cả khi thốt và khởi

<small>động lại ứng dụng.</small>

Sử dụng trong Editor: ScriptableObject có thé được sử dung dé tạo các công cụ

<small>và tùy chọn tùy chỉnh trong trình soạn thao cua Unity, giúp tối ưu hóa q trình</small> phát triển và làm cho các tác vụ lặp lại trở nên dễ dàng.

<small>Hiệu suất tốt: Sử dụng ScriptableObject giúp giảm bớt việc thực hiện</small>

serialize/deserialize đối tượng trong Scene, giảm tải cho CPU và cải thiện hiệu

suất của ứng dụng.

<small>1.4.3 Shader Code</small>

<small>Shader code là một phan quan trọng trong lập trình đồ họa, được sử dụng dé</small>

<small>mơ tả cách các đối tượng và hiệu ứng được vẽ và hiển thị trên màn hình. Trong ngữ</small>

<small>cảnh của trị chơi và đồ họa máy tính, shader code thường được viết bằng ngơn ngữlập trình shader như OpenGL Shading Language (GLSL), DirectX High-Level</small>

<small>Shading Language (HLSL), hoặc ShaderLab trong Unity.</small>

<small>Trần Thanh Tai - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

Hinh 1.6. Vi du vé ShaderLab trong Unity

<small>Lợi ich của việc sử dung shader code bao gơm khả năng tơi ưu hóa hiệu st,</small>

tạo ra hiệu ứng đồ họa phức tạp, và kiêm soát mọi khía cạnh của việc hiển thị đối <small>tượng trên màn hình. Shader code đóng vai trị quan trọng trong việc tạo ra trải</small>

<small>nghiệm đô họa động và hap dan trong trò chơi và ứng dụng đa phương tiện.</small>

<small>1.5</small> Kết luận chương

Như vậy, ở chương 1 đồ án đã giới thiệu tông quan về đề tài bao gồm những <small>nội dung sau:</small>

Khảo sát về hiện trạng của ngành xây dựng vào công nghệ hiện nay Xác định mục tiêu và mục tiêu nghiên cứu của đề tài.

<small>Xác định phương pháp dé thực hiện dé tai.</small>

<small>Giới thiệu về các công nghệ và công cụ được sử dung dé thực hiện đề tài.</small>

Dựa vào bài toán đã được đặt ra ở chương này, chương tiếp theo đồ án sẽ thực hiện xây dựng phân tích và thiết kế cho hệ thống

CHƯƠNG 2. CÔNG NGHỆ XÂY DỰNG ỨNG DỤNG MÔ PHỎNG NHÀ

<small>Trong chương này, ta tập trung nghiên cứu vào bộ khung xương của ứng</small>

<small>dụng, những thành phần công nghệ chủ yếu duoc sử dung trong ứng dụng.</small>

<small>Trần Thanh Tài - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

<small>Đồ án tốt nghiệp đại học</small>

2.1 Hệ thống unity 3D <small>2.1.1 Giới thiệu</small>

Như đã đề cập ở mục 1.4.2, Unity là một trang phần mềm phát triển trò chơi

<small>và ứng dụng 3D phô biến. Hệ thống 3D của Unity cung cap môi trường phát triểnmạnh mẽ và linh hoạt cho các nhà phát triển dé tạo ra các trò choi va ứng dụng</small>

động đa dạng. Đặc biệt với hệ thống xây dựng nhà mô phỏng trong không gian 3D,

<small>việc sử dụng mơi trường 3D của Unity là hồn tồn phù hợp.</small>

2.1.2 _ Thành phan chính

Game Objects (Đối tượng trị choi):

<small>e Là các phan cơ bản của mơi trường 3D trong Unity.</small>

<small>e Đại diện cho toàn bộ thực thé trong ứng dụng bao gồm phòng, đồ vật, ánh sáng,</small>

<small>Components (Bộ phan):</small>

<small>e Là các thành phần được đính kèm vào Game Objects dé định rõ tinh chat và</small>

<small>hành vi của chúng.</small>

e Các Components quan trọng bao gồm Transform (vị trí, quay, tỷ lệ), Mesh

<small>Renderer (hiên thị hình dang 3D), Collider (xác định vùng va chạm), và</small>

<small>Animator (quản lý animation).</small>

Hình 2.7. Các Component chuyên dụng trong hệ thống

Trong đó, Component Transform là thơng dụng nhất, được dùng dé chỉnh vị trí,

kích thước, góc xoay của đơ vật. Component MeshRenderer nhận vào các

lưới(Mesh) thể hiện hình dạng của đồ vật, thuộc tính material cho phép vật được

render theo chất liệu sẵn có, ngồi ra cịn một vai cài đặt khác như đồ

<small>Trần Thanh Tài - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

<small>Đồ án tốt nghiệp đại học</small>

bóng(Shadows), phản xạ(Reflection),.. .Cuối cùng, Collider là Component được

<small>dùng đê xử lý va chạm và các thao tác kéo thả đơ vật.</small>

Ngồi ra, mỗi script khi được gắn vào Game Object cũng được xem như một <small>Component</small>

<small>Materials (Vật liệu):</small>

<small>e Định nghĩa các đặc tính vật liệu của một đơi tượng như màu sắc, độ bóng, và</small>

<small>ánh sáng phản xạ.</small>

<small>e Materials thường được gan cho Mesh Renderer(Hình 2.1), đây cũng là mộtthành phân rât được chú trọng trong ứng dụng.</small>

Shaders (Bộ vi xử lý đồ họa):

<small>e Định rõ cách mà vật liệu phản ánh ánh sáng va màu sắc.</small>

e Unity hỗ trợ nhiều loại shaders dé tạo ra các hiệu ứng đồ họa đa dạng. Lighting (Chiếu sáng):

e Hệ thống chiếu sáng của Unity bao gồm nhiều loại đèn như Directional Light,

<small>Point Light, va Spot Light.</small>

e Cung cấp các tính năng như Global Illumination để mơ phỏng ánh sáng lan toa

<small>trong mơi trường.Camera (Máy ảnh):</small>

<small>e Định rõ góc nhìn va cách nhìn của người chơi hoặc người dùng.</small>

e Có thể cấu hình thơng số như cận cảnh, góc nhìn, và độ chệch.

e Cung cấp các tính năng vật ly như trong lực, va cham, và độ ma sat.

e_ Collider và Rigidbody là các Components quan trọng dé xác định hình dang và

<small>động lực.</small>

<small>Trần Thanh Tài - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

<small>Đồ án tốt nghiệp đại học</small>

Particle System (Hệ thống hạt):

<small>e Cho phép tạo ra các hiệu ứng như hỏa, khói, và mưa.</small>

<small>e Điều chỉnh các tham số như tốc độ, hướng, và kích thước của hạt.</small>

Asset Import Pipeline (Đường ống nhập tài nguyên):

<small>e Hỗ trợ quá trình nhập va quản ly tài nguyên như model 3D, texture, âm thanh,</small>

<small>và video.</small>

<small>2.2 Builder Pattern</small>

2.2.1 Vấn đề khởi tao ham trong hệ thống lớn

Ở hau hết ngơn ngữ lập trình, trong mỗi lớp đều có những ham constructor và nếu chúng khơng được khai báo thì trình biên dịch sẽ tự động xây dựng một hàm constructor mặc định cho lớp ay. Khi chúng ta xây dựng, ta cũng thé tùy ý lựa chọn

những tham số truyền vào cho constructor miễn là nó hữu ích.

Như vậy, vấn đề đặt ra ở đây khi một đối tượng có thể được khởi tạo với rất

<small>nhiêu những tham sơ truyện vào va có thê một vai trong sơ đó khơng nhât thiệt phảitruyền vào trong lúc khởi tao:</small>

Hình 2.8. Van dé trong lập trình với constructor

Có một phương án dé giải quyết, đó là bằng cách truyền những giá trị null

<small>vào tham số trong hàm constructor hoặc là nạp chồng nhiều ham constructor khác</small>

<small>với những tham số tùy ý. Khi đó cấu trúc lớp sẽ trông như sau:</small>

<small>Trần Thanh Tài - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

<small>Đồ án tốt nghiệp đại học</small>

<small>Student(String 1d, String firstName, String lastName.id = id;</small>

<small>= id;</small>

Hình 2.9. Phương án giải quyết trong van dé constructor

Cách này có thể giải quyết một số trường hợp nhưng sẽ có những nhược điểm như

e Phải tao rất nhiều ham constructor trong những trường hợp khác nhau

e Khó khăn trong việc xác định thứ tự của những tham số truyền vào

Vậy liệu có cách nào để giải quyết vấn đề này không? 2.2.2. Giới thiệu về Builder Pattern

<small>e Builder là một mau thiết kế thuộc nhóm Creational Pattern — những mẫu thiết kế</small>

<small>cho việc khởi tạo đôi tượng của lớp</small>

e Builder Pattern là một mẫu thiết kế được dùng dé cung cấp một giải pháp linh

<small>hoạt cho các van đê tạo đôi tượng (object) khác nhau trong lập trình hướng đơi</small>

e_ Cho phép xây dựng các đối tượng phức tạp bằng cách sử dụng các đối tượng

<small>đơn giản và sử dụng tiếp cận từng bước. Builder Pattern còn cho phép tạo ra các</small>

<small>kiêu thê hiện khác nhau của một đôi tượng băng cách sử dụng cùng một</small>

<small>constructor code.</small>

<small>Trần Thanh Tài - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

<small>Đồ án tốt nghiệp đại học</small>

Tại sao chọn builder Pattern cho hệ thống?

Hình 2.10. Mơ hình hệ thong nhà nhiễu thành phan

<small>Xây dựng một ứng dụng nhà mô phỏng yêu cầu một lượng đầu vào</small>

<small>constructor rất lớn, đồng thời yêu cầu sự mở rộng, linh hoạt cao, do đó BuilderPattern chắc chắn sẽ là phương pháp phù hợp đề làm bộ khung chính cho dự án.</small>

Ngồi ra, Builder Pattern cịn có những ưu điểm không không hề nhỏ hỗ trợ

<small>cho sự linh hoạt của hệ thông.</small>

Ưu điểm của Builder Pattern?

Builder Pattern được thiết kế dé giải quyết một số van dé chung xuất hiện

<small>trong quá trình xây dựng đối tượng, đặc biệt là khi đối tượng đó có nhiều thành</small>

<small>phần hoặc cần được xây dựng theo nhiều cách khác nhau. Dưới đây là một số mục</small>

<small>đích quan trọng cua Builder Pattern:</small>

- Tach biệt quá trình xây dựng và biéu diễn:

<small>e Builder Pattern cho phép chúng ta tách biệt quá trình xây dựng đối tượng từ cách</small>

<small>đối tượng được biểu diễn.</small>

e Client không cần biết chi tiết về cách đối tượng được xây dựng hoặc cách các <small>thành phân được tạo ra.</small>

<small>- Linh họat quá trình xây dựng:</small>

<small>Trần Thanh Tài - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

<small>Đồ án tốt nghiệp đại học</small>

Khi một đối tượng có nhiều thành phần và cách xây dựng có thé thay đổi,

<small>Builder Pattern giúp linh hoạt chọn cách xây dựng phù hợp tùy thuộc vào yêu</small>

<small>câu hoặc ngữ cảnh.</small>

<small>- Tránh constructor overload:</small>

Khi có quá nhiều tham số trong constructor, đặc biệt là khi một số tham số là tùy

<small>chọn, code trở nên khó đọc và bảo trì.</small>

Builder Pattern giảm sự phức tạp của constructor và giúp tránh việc có quá nhiều

<small>phiên ban constructor (constructor overload).</small>

<small>- H6 tro immutable objects:</small>

<small>Builder Pattern thường được sử dụng dé xây dựng immutable objects, tức là các</small>

<small>đối tượng không thé thay đổi sau khi đã được tạo.</small>

Các phương thức của builder thường trả về một phiên bản mới của chính builder

<small>đó, giúp g1ữ ngun tính khơng thay đơi của đơi tượng.</small>

<small>- Dễ mở rộng:</small>

Nếu cần thêm các thành phần mới cho đối tượng, ta chỉ cần thêm phương thức

<small>vào builder mà không ảnh hưởng đên client code.</small>

Builder Pattern làm cho quá trình mở rộng đối tượng trở nên dé dang ma không <small>làm thay đơi code hiện tại.</small>

- Đồng nhất quy trình xây dựng:

<small>Builder Pattern giúp định rõ các bước cần thiết dé xây dựng một đối tượng, giúp</small>

<small>đồng nhất quy trình xây dựng và giảm kha năng quên một số bước quan trọng.</small>

2.2.3. Cấu trúc của Builder Pattern Các thành phần trong mơ hình:

Builder: Giao diện Builder khai báo các bước product construction chung cho tất

<small>cả các loại builder. Abstract interface đê tạo nên các đôi tượng sản pham ( objectproduct )</small>

Concrete Builder: Cung cấp các cách triển khai khác nhau của các bước

<small>construction cho Builder. Cac concrete builder có thê tạo ra các product không</small>

<small>tuân theo giao diện chung.</small>

ConcreBuilder: Là một object có thé xây dựng nên các object khác. Xây dựng

<small>và lap ráp các phân đê xây dựng object.</small>

<small>Trần Thanh Tài - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

<small>Đồ án tốt nghiệp đại học</small>

@ Products: Là các đối tượng kết quả. Các product do các builder khác nhau tạo ra

<small>không nhât thiệt phải thuộc cùng một hệ thông phân câp hoặc giao diện lớp.</small>

<small>e Director: Lớp Director xác định thứ tự gọi các bước construction, vì vậy có thêtạo và sử dụng lại các câu hình cụ thê của product.</small>

@ Client: Client phải liên kết một trong các đối tượng trình tạo với director. Thơng

<small>thường, nó chỉ được thực hiện một lân, thông qua các tham sô của hàm tạo của</small>

<small>director. Sau đó, director sử dung builder object đó cho tat cả các construction</small>

<small>tiép theo.</small>

<small>Trần Thanh Tai - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

Tóm lại, thơng qua việc phân tích chi tiết trong Chương 2 của đồ án, ta đã có

<small>cơ hội hiệu rõ vê những cơng nghệ hàng dau được tích hợp trong ứng dụng. Trong</small>

<small>đó, hệ thong Unity 3D và mơ hình thiệt kê Builder Pattern đã nơi bật lên như những</small>

<small>Trần Thanh Tài - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

<small>Đồ án tốt nghiệp đại học</small>

<small>yếu tơ chính, đóng vai trị quan trọng trong việc xây dựng và phát triển ứng dụng.</small>

<small>Sự tích hợp của những thành phần này khơng chỉ tạo nên sự độc đáo và đặc sắc củaứng dụng mà cịn góp phần định hình những ưu điểm và khả năng mở rộng của nó.</small>

Việc sử dụng hệ thống Unity 3D mang lại khả năng tương tác và trải nghiệm

người dùng độc đáo, trong khi mơ hình Builder Pattern giúp: tối ưu hóa q trình

<small>xây dựng và quản lý các thành phần của ứng dụng. Cả hai yếu tố này khơng chỉ tạora một ứng dụng mạnh mẽ từ góc độ kỹ thuật mà còn mang lại trải nghiệm người</small>

dùng tốt nhất có thé.

<small>Đồ án đã chú trọng vào việc phân tích các cơng nghệ này khơng chỉ để hiểu rõ về</small>

tính năng của chúng ma cịn dé a áp dụng chúng một cách linh hoạt và hiệu quả trong

ngữ cảnh cụ thê của ứng dụng. Điều này đặt nên móng cho sự thành cơng của dự án

<small>và đồng thời tạo ra tiềm năng phát triển và mở rộng trong tương lai.</small>

<small>Trần Thanh Tài - BI9DCCN565</small>

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

CHUONG 3. PHAN TÍCH VÀ THIET KE HE THONG

Trong chương này, đồ án sẽ tập trung vào việc trình bay phân tích thiết kế cho <small>tồn bộ hệ thơng và phân tích thiệt kê chi tiệt cho từng module có mặt trong trong hệ</small>

<small>3.1 Phân tích hệ thống</small>

<small>3.1.1 Biểu đồ Use Case va Scenario</small>

<small>Actor chính của hệ thong là người dùng.</small>

<small>Hệ thơng nha mé phỏng</small>

<small>fan tồn bộ đơ vat</small>

<small>đổi cài đặt phố “““ <<Exlend></small>

<small>Thay đổi chất liệu san = mame</small><sub>extension points</sub>

<small>SELES “vm NaHiển thị lưới</small>

<small>Sửa đồ vật trong phòng Tao chat liệu mới</small>

<small>Xem danh sách loại đỗ vật \ ^^” </small><sup>^^ ^^ ^^ z ExtensionPoint c</sup>

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

<small>3.1.2 Danh sách Use Case và Scenario tương ứng</small>

<small>Module tạo phịng mới:</small>

<small>Hình 3.13. Use Case module tạo phòng mới</small>

<small>Bang 3.1. Kich ban module tao phong moi</small>

<small>Tén Use case Tao phong moi</small>

<small>Tac nhan chinh Người dùng</small>

<small>Điều kiện tiên quyết Người dùng đã truy cập ứng dụng</small>

Hậu điều kiện Người dùng tạo phòng mới thành cơng

<small>Chuỗi sự kiện chính 1. Người dùng truy cập vào ứng dụng.</small>

<small>2. Giao diện chính hiển thị các đề mục</small>

<small>3. Người dùng chọn vào Thêm phòng mới</small> 4. Giao diện phòng mới hiển thị

</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">

<small>Ngoại lệ Khơng có ngoại lệ</small>

<small>Module chỉnh sửa phịng</small>

<small>Bảng 3.2. Kịch bản module chính sửa phịng</small>

<small>Tên Ủse case Chỉnh sửa phịng</small>

<small>Tác nhân chính Người dùng</small>

<small>Điều kiện tiên quyết Người dùng truy cập ứng dụng</small>

Hậu điều kiện Người dùng thêm đồ vật thành cơng

<small>Chuỗi sự kiện chính 1. Người dùng truy cập vào ứng dụng.</small>

<small>2. Giao diện chính hiền thị các đề mục</small>

<small>3. Người dùng chọn vào một phịng đã tạo</small>

<small>Ngoại lệ Khơng có ngoại lệ</small>

</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">

<small>Module xem video hướng dẫn</small>

<small>Người dùng</small>

<small>Hình 3.14. Use Case module xem video hướng dẫn</small>

<small>Bang 3.3. Kịch ban module xem video hướng dan</small>

<small>Tên Use case Xem video hướng dan</small>

<small>Tac nhan chinh Người dùng</small>

<small>Điều kiện tiên quyết Người dùng truy cập ứng dụng</small>

<small>Hậu điều kiện Người dùng xem video hướng dẫn thành</small>

<small>Chuỗi sự kiện chính 1. Người dùng truy cập vào ứng dụng.2. Giao diện chính hiển thị các đề mục</small>

<small>3. Người dùng chọn vào phần “Tutorials”</small>

</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">

<small>5. Người dụng chọn một video bat ki</small>

6. Ung dụng dan đến video tương ứng trên

<small>nên tảng youtube</small>

5.2. Ứng dụng hiển thị video không tồn tại

<small>Module thêm đồ vật</small>

<small>Bảng 3.4. Kịch bản module thêm đồ vật</small>

<small>Tên Use case</small>

<small>Điều kiện tiên quyếtNgười dùng đã truy cập giao diện chỉnhsửa phòng</small>

<small>Hậu điêu kiệnNgười dùng thêm đồ vật thành cơng</small>

<small>Chuỗi sự kiện chính1. Người dùng click vào button “AddObject”</small>

<small>2. Ứng dung hiển thi popup gồm các loại</small>

<small>đô vật theo môi trường sử dụng</small>

</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38">

<small>3. Người dùng click vào một loại bat kì4. Ứng dụng hiển thị các loại đồ vật theo</small>

<small>mục đích sử dụng nắm trong mơi trường</small>

<small>Ngoại lệ Khơng có ngoại lệ</small>

<small>Module thay đối chất liệu sàn</small>

<small>Người dùng</small>

Hình 3.15. Use Case mudule thay đổi chất liệu sàn

</div>

×