Tìm hiểu restful web service ứng dụng thiết kế phần mềm thi trắc nghiệm

80 7 0
Tìm hiểu restful web service ứng dụng thiết kế phần mềm thi trắc nghiệm

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƢỜNG ĐẠI HỌC VINH KHOA CÔNG NGHỆ THÔNG TIN LÊ VĂN HẬU BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Tên đồ án: Tìm Hiểu RESTful Web Service Ứng Dụng Thiết Kế Phần Mềm Thi Trắc Nghiệm VINH 2016 TRƢỜNG ĐẠI HỌC VINH KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐỐ ÁN TỐT NGHIỆP ĐẠI HỌC Tên đồ án: Tìm Hiểu RESTful Web Service Ứng Dụng Thiết Kế PhầnMềm Thi Trắc Nghiệm Sinh viên thực hiện: Lê Văn Hậu Lớp: 52K2-107 Giáo viên hướng dẫn: TS Hoàng Hữu Việt VINH 2016 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC MỤC LỤC LỜI CẢM ƠN CHƢƠNG I TỔNG QUAN VỀ ĐỀ TÀI 1.1 TỔNG QUAN VỀ NGƠN NGỮ LẬP TRÌNH VÀ CÁC THƢ VIỆN DÙNG TRONG ĐỒ ÁN 1.1.1 Mơi trƣờng lập trình trình soạn thảo NetBeans IDE 8.1 1.1.2 Ngơn ngữ lập trình Java 1.2 Đặt vấn đề 1.3 Lý chọn đề tài 1.4 Đối tƣợng, mục tiêu nghiên cứu đề tài 1.5 Phƣơng pháp nghiên cứu 1.6 Ý nghĩa lý luận thực tiễn CHƢƠNG II: WEB SERVICE 10 Tổng quan Web Service 10 1.1 khái niệm .10 1.2 đặc điểm 10 1.3 Ƣu điểm nhƣợc điểm web service 12 1.3.1 Ƣu điểm 12 1.3.2 Nhƣợc điểm 13 1.4 Kiến trúc Dịch vụ Web (Web Service) 13 1.4.1 Dịch vụ vận chuyển (Service Transport): 13 1.4.2 Thông điệp XML: 14 1.4.3 Mô tả dịch vụ: 14 1.4.4 Khám phá dịch vụ: .14 1.5 Các giao thức Web Service .15 1.5.1 XML – eXtensible Markup Language 15 1.5.2 WSDL – Web Service Description Language .16 1.5.3 Universal Description, Discovery, and Integration (UDDI) 16 Lê Văn Hậu – Lớp 52K2 – Khoa CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC 1.5.4 Cấu trúc UDDI : 16 1.5.5 SOAP – Simple Object Access Protocol .17 1.5.6 An toàn cho dịch vụ Web 19 1.6 Xây dựng dịch vụ Web với công nghệ java 21 1.6.1 Giai đoạn xây dựng bao gồm phát triển: .21 1.6.2 Giai đoạn triển khai: 21 1.6.3 Giai đoạn tiến hành: .21 1.6.4Quản lý: 22 1.6.5 Qui trình xây dựng dịch vụ Web bao gồm bƣớc sau: 22 1.6.6 Tích hợp dịch vụ Web theo chuẩn 22 1.6.7 xây dựng Web Service với jax-ws jax-rs java 24 1.7 giới thiệu REST: 31 1.8 RESTful Service 32 1.8.1 Resources .33 1.8.2 Representation of a Resource 33 1.8.3 URI 34 1.8.4 HTTP .34 1.9 JAX-RS API 35 1.9.1 JAX-RS API Annotation .35 1.9.1.1 @Path Annotation 36 1.9.1.2 HTTP Method annotaion 38 1.9.1.3 Injecting Data from Request URI Annotations 38 1.9.2 Sử dụng URIs cho xác thực tài nguyên 40 1.9.3 Data Representation Type Annotation 40 1.9.3.1 @Consumes Annotation 41 Tổng kết RESTful 41 2.1 RESTful sử dụng phƣơng thức HTTP cho việc thao tác với tài nguyên .41 Lê Văn Hậu – Lớp 52K2 – Khoa CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC 2.2 tự mô tả thông điệp (self descriptive message) 42 2.3 tạo lớp tài nguyên gốc RESTful 42 2.4 Tổng quan Client API để truy cập tài nguyên RESTful với JAX-WS API 45 2.5 Sơ lƣợc Maven phát triển ứng dụng java 45 CHƢƠNG III PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THI TRẮC NGHIỆM .47 1.Mơ tả tốn: 47 1.1 Ƣu điểm: .47 1.2 Hạn chế: 47 Phân tích thiết kế hệ thống: 47 2.1 Chức đăng ký: 48 2.2 Chức đăng nhập: 49 2.3 Chức thi: .50 2.4 Chức tạo đề thi: 51 2.5 Bảng xếp hạng : 51 2.6 quản lý câu hỏi: 51 2.7 chức quản lý môn học: .52 2.8 Chức Năng Quản Lý Account: 52 2.9 Chức Năng Quản Lý Đề Thi: 53 User case writing: 54 3.1 đăng nhập: 54 3.2 hoạt động thi: 55 3.3 Quản Lý Câu Hỏi: .56 3.3.1 thêm câu hỏi 56 3.3.2 xóa câu hỏi: 57 3.3.3 cập nhật câu hỏi: 58 3.3.4 xem câu hỏi: 59 4: Mơ Hình Luồng DL Đăng Nhập: 60 Mô Hình Luồng DL Thi: 61 Lê Văn Hậu – Lớp 52K2 – Khoa CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Luồng DL Quản Lý Câu Hỏi: 62 luồng dl quản lý môn học: .63 Sơ đồ User case diagram: 63 sơ đồ hoạt động ứng dụng: .65 10 thiết kế sở liệu .65 10.1 Bảng tbl_account : chứa thông tin tài khoản đăng nhập hệ thống 65 10.2 Bảng tbl_information: Chứa thông tin chi tiết tài khoản 66 10.3Bảng tbl_course : Chứa thông tin môn học có hệ thống 66 10.4 Bảng tbl_question: Chứa thông tin câu hỏi môn học 67 10.5 Bảng tbl_practice: chứa danh sách đề thi 68 10.6 Bảng tbl_practice_test: quy trình thi ngƣời dùng 68 10.7 mơ hình thực thể liên kết 69 CHƢƠNG IV: THIẾT KẾ GIAO DIỆN CỦA HỆ THỐNG 70 4.1 Giao Diện Đăng Nhập Hệ Thống: 70 4.2 Giao Diện Sau Khi Đăng Nhập Thành Công: 71 4.3 Giao Diện Chức Năng tạo đề thi: 72 4.4 Giao Diện Chức Năng Thi: 73 4.5 giao diện kết thi: 74 4.6 chức thêm câu hỏi: .75 4.7 chức thêm môn mới: 76 KẾT LUẬN 77 TÀI LIỆU THAM KHẢO 78 Lê Văn Hậu – Lớp 52K2 – Khoa CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC LỜI CẢM ƠN Để hoàn thành đồ án cố gắng thân em xin gửi lời cảm ơn chân thành đến Khoa Công nghệ Thông tin năm qua tạo hội giúp em đƣợc tham gia học tập, rèn luyện kỹ cần thiết cho đợt làm báo cáo đồ án tốt nghiệp Đặc biệt em xin gửi lời cảm ơn đến giảng viên TS Hoàng Hữu Việt quan tâm giúp đỡ, góp ý cho báo cáo đồ án tốt nghiệp sẵn sàng trả lời thắc mắc cần thiết giúp em hoàn thành tốt làm Mặc dù có nhiều cố gắng nhƣng kiến thức hạn chế với kinh nghiệm chƣa có nên khơng tránh khỏi thiếu sót.Vì em mong nhận đƣợc ý kiến đóng góp bổ sung thầy cô giáo bạn để làm báo cáo đồ án tốt nghiệp em đƣợc hoàn thiện Ngày 12 tháng năm 2016 Sinhviên: Lê Văn Hậu Lê Văn Hậu – Lớp 52K2 – Khoa CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƢƠNG I TỔNG QUAN VỀ ĐỀ TÀI Tên đề tài: Tìm Hiểu RESTful Web Service Ứng Dụng Thiết Kế PhầnMềm Thi Trắc Nghiệm 1.1 TỔNG QUAN VỀ NGƠN NGỮ LẬP TRÌNH VÀ CÁC THƢ VIỆN DÙNG TRONG ĐỒ ÁN 1.1.1 Môi trường lập trình trình soạn thảo NetBeans IDE 8.1 Java Development Kit (JDK - Bộ công cụ cho ngƣời phát triển ứng dụng ngơn ngữ lập trình Java) tập hợp công cụ phần mềm đƣợc phát triển Sun Microsystems dành cho nhà phát triển phần mềm, dùng để viết applet Java hay ứng dụng Java NetBeans phần mềm miễn phí, đƣợc nhà phát triển sử dụng để xây dựng ứng dụng J2EE, sử dụng NetBeans thuận tiện hầu nhƣ ứng dụng công nghệ java đƣợc tích hợp sẵn NetBeans IDE 8.1 cung cấp out-of-the-box, phân tích biên tập để làm việc với công nghệ java nhƣ Java SE Java SE Embedded 8, Java ME Embedded 8, IDE có loạt cơng cụ cho HTML5 / Javascript, đặc biệt Node.js, KnockoutJS, AngularJS cải tiến mà nâng cao dụng cho Maven Java EE với PrimeFaces; cải tiến cho PHP C / C ++ hỗ trợ 1.1.2 Ngơn ngữ lập trình Java Là ngơn ngữ lập trình mạnh đƣợc sử dụng đơng đảo phát triển phần mềm, trang web, game hay ứng dụng thiết bị di động, ngôn ngữ lập trình Java trở nên lớn mạnh hết Java đƣợc khởi đầu James Gosling bạn đồng nghiệp Sun MicroSystem năm 1991 Ban đầu Java đƣợc tạo nhằm mục đích viết phần mềm cho sản phẩm gia dụng, có tên Oak Đặc điểm bật JAVA: Lê Văn Hậu – Lớp 52K2 – Khoa CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC  Tựa C++, hƣớng đối tƣợng hồn tồn: Java phát triển dựa ngơn ngữ C++ nhƣng đƣợc nâng cấp nhƣ lƣợc bỏ số thành phần (VD: thao tác với trỏ)  Độc lập phần cứng hệ điều hành: Java dù chạy Windown hay Linux ổn định, giao diện chƣơng trình khơng bị thay đổi  Ngơn ngữ thơng dịch: Ngơn ngữ lập trình Java thuộc loại ngơn ngữ thơng dịch Chính xác hơn, Java loại ngơn ngữ vừa biên dịch vừa thông dịch  Cơ chế gom rác tự động: Khi tạo đối tƣợng Java, JRE tự động cấp phát không gian nhớ cho đối tƣợng heap Với ngôn ngữ nhƣ C \ C++, bạn phải yêu cầu hủy vùng nhớ mà bạn cấp phát, để tránh việc thất vùng nhớ Tuy nhiên lý đó, bạn khơng hủy vài vùng nhớ, dẫn đến việc thất thoát làm giảm hiệu chƣơng trình Ngơn ngữ lập trình Java hỗ trợ cho bạn điều đó, nghĩa bạn khơng phải tự gọi hủy vùng nhớ Bộ thu dọn rác Java theo vết tài nguyên đƣợc cấp Khi khơng có tham chiếu đến vùng nhớ, thu dọn rác tiến hành thu hồi vùng nhớ đƣợc cấp phát 1.2 Đặt Vấn Đề Ngày nay, công nghệ thông tin ngày phát triển tỏ rõ tầm quan trọng tất lĩnh vực, nói cơng nghệ thơng tin trở thành thƣớc đo để đánh giá phát triển xã hội đại Nơi mà ngƣời dần thoát khỏi cách làm việc thủ công, thô sơ dần tiến đến tin học hóa tất lĩnh vực Vơi cơng nghệ ngƣời dần đại hóa cơng cụ làm việc nhƣ học tập vui chơi giải trí Cùng với Lê Văn Hậu – Lớp 52K2 – Khoa CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC phát triển không không ngừng trang web, trang web khơng đơn trang web bình thƣờng ngồi việc cung cấp thơng tin hình ảnh nhƣ kiến thức hay giải trí cho ngƣời đƣợc trang bị dịch vụ web nhằm giải quết triệt để nhu cầu khách hàng Ví dụ dịch vụ tốn online, hay dịch vụ thi trắc nghiệm online rất nhiều dịch vụ khác Các trang web lại đƣợc tùy biến để hồn tồn chạy nhiều tảng khác Vì với nhu cầu ngày cao nhiều ngơn ngữ lập trình hỗ trợ phát triển dịch vụ web nhƣ C#, php java vv Java ngôn ngữ lập trình tuyệt vời hỗ trợ mạnh mẽ web service đặc biệt công nghệ web service RESTful web service, với tảng web sẵn có java nhƣ Spring web mvc, JavaServer Faces, Struts, Hibernate tất hỗ trợ web service cách tốt nói web service đặc biệt RESTful web service bƣớc đột phá thay đổi hoàn toàn việc trao đổi liệu internet, với nhiều ƣu điểm nội bật cơng nghệ trƣớc Với báo cáo đồ án giúp hiểu hơm web service nhƣ RESTful web service 1.3 Lý Do Chọn Đề Tài  Rèn luyện kỹ lập trình  Phù hợp với nhu cầu việc làm thị trƣờng  Nghiên cứu dịch vụ web chuẩn bị hành trang cho việc vấn xin việc sau trƣờng 1.4 Đối Tƣợng, Mục Tiêu Nghiên Cứu Đề Tài  Đối tƣợng nghiên cứu lý thuyết web service RESTful web service java  Mục tiêu sau tìm hiểu xong web service RESTful web service xây dựng Website chứa dịch vụ web, dịch vụ thi trắc nghiêm online server, client tạo application desktop gửi yêu cầu đến web service nhân đề thi để tiến hành thi thử Lê Văn Hậu – Lớp 52K2 – Khoa CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Lê Văn Hậu – Lớp 52K2 – Khoa CNTT 64 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Sơ Đồ Hoạt Động Của Ứng Dụng: 10 Thiết Kế Cơ Sở Dữ Liệu 10.1 Bảng tbl_account : chứa thông tin tài khoản đăng nhập hệ thống Column name Data type and default values note lenght account_id varchar(32) (Pk) not null Mã tài khoản acc_use varchar(32) Not null Tên tài khoản acc_password varchar(32) Not null Mật tài khoản token varchar(8) fk_infor_id varchar(32) Chữ ký số (fk) not null Thông tin chi tiết ngƣời dùng Lê Văn Hậu – Lớp 52K2 – Khoa CNTT 65 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC 10.2 Bảng tbl_information: Chứa thông tin chi tiết tài khoản Column name Data type and default values note lenght infor_id varchar(32) (Pk) not null Mã thông tin tài khoản full_name nvarchar(100) Họ tên đầy đủ birth_of_date date Ngày sinh address nvarchar(300) Địa gender bit Giới tính 10.3Bảng tbl_course : Chứa thơng tin mơn học có hệ thống Column name Data type default values note course_id varchar(32) (pk) not null Mã môn học course_name nvarchar(200) Not null Tên mơn học is_active bit Kích hoạt mơn học account_create varchar(32) Not null Ngƣời tạo môn học time_create datetime Not null Thời điểm tạo môn học account_delete varchar(32) null Ngƣời xóa mơn học Lê Văn Hậu – Lớp 52K2 – Khoa CNTT 66 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC 10.4 Bảng tbl_question: Chứa thông tin câu hỏi môn học Column name Data type default values note question_id varchar(32) (pk) not null Mã câu hỏi question_content text Not null Nội dung câu hỏi question_answer xml question_type bit correct_answer xml Not null Các câu trả lời Loại câu hỏi Not null Phƣơng án course_id varchar(32) Mã môn học tƣơng ứng is_active bit Kích hoạt cho phép sử dụng account_create varchar(32) Not null Ngƣời tạo câu hỏi time_create Thời điểm tạo datetime câu hỏi time_update datetime null Thời điểm thay đổi câu hỏi gần Lê Văn Hậu – Lớp 52K2 – Khoa CNTT 67 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC 10.5 Bảng tbl_practice: chứa danh sách đề thi Column name Data type default values note practice_id varchar(32) (pk) not null Mã đề thi fk_course_id varchar(32) (fk) not null Môn thi list_question xml Not null Danh sách câu hỏi author varchar(32) Not null Ngƣời tạo create_date datetime Not null Ngày tạo đề thi 10.6 Bảng tbl_practice_test: quy trình thi ngƣời dùng Column name Data type default values note test_id varchar(32) Not null Mã số lần thi fk_practice_id varchar(32) Not null Mã số đề thi tester varchar(32) Not null Mã số ngƣời thi time_start datetime Not null Ngày bắt đầu thi time_end datetime Null Ngày kết thúc score int Điểm số thi Lê Văn Hậu – Lớp 52K2 – Khoa CNTT 68 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC 10.7 Mô Hình Quan Hệ Trong CSDL Lê Văn Hậu – Lớp 52K2 – Khoa CNTT 69 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƢƠNG IV: THIẾT KẾ GIAO DIỆN CỦA HỆ THỐNG 4.1 Giao Diện Đăng Nhập Hệ Thống: Hình 4.1 form đăng nhập Ngƣời dùng đăng nhập hệ thống, sau đăng nhập thành cơng danh sách chức đƣợc lựa chon Lê Văn Hậu – Lớp 52K2 – Khoa CNTT 70 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC 4.2 Giao Diện Sau Khi Đăng Nhập Thành Cơng: Hình 4.2 giao diện Đây nơi chứa chức ngƣời dùng lựa chọn nhƣ chức thi thử, chức thêm môn chỉnh sửa mơn, xóa mơn,, xem mơn Chức thêm câu hỏi, chỉnh sửa, xóa câu hỏi Lê Văn Hậu – Lớp 52K2 – Khoa CNTT 71 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC 4.3 Giao Diện Chức Năng tạo đề thi: Hình 4.3 chức tạo đề thi Ngƣời dùng phải chọn môn thi chọn số lƣợng câu hỏi để tiến hành thi nhấn nút bắt đầu thi để tiến hành thi Lê Văn Hậu – Lớp 52K2 – Khoa CNTT 72 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC 4.4 Giao Diện Chức Năng Thi: Hình 4.4 giao diện thi Quá trình thi ngƣời dùng chọn phƣơng án cách tích vào phƣơng án mà cho đúng, chon next để qua câu Previous để quay lại câu hỏi trƣớc Sau hồn thành chọn finish để kết thúc trình thi chờ phản hồi kết Lê Văn Hậu – Lớp 52K2 – Khoa CNTT 73 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC 4.5 Giao Diện Kết Quả Thi: Hình 4.5 giao diện kết thi Kết thi trả thông tin ngƣời thi, số câu trả lời tổng số câu hỏi điểm số Lê Văn Hậu – Lớp 52K2 – Khoa CNTT 74 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC 4.6 Chức Năng Thêm Câu Hỏi: Hình 4.6 chức thêm câu hỏi Để thêm đƣợc câu hỏi ngƣời phải chọn mơn cần thêm sau nhập câu hỏi vào mục nội dung câu hỏi, viết phƣơng án trả lời vào mục phƣơng án trả lời, check phƣơng án cho câu hỏi nấn nút save Bạn tăng số lƣợng câu trả lời băng cách nhấn nút add new component Lê Văn Hậu – Lớp 52K2 – Khoa CNTT 75 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC 4.7 Chức Năng Thêm Mơn Mới: Hình 4.7 thêm môn Để thêm môn ngƣời dùng cần nhập tên môn tiến hành save Lê Văn Hậu – Lớp 52K2 – Khoa CNTT 76 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC KẾT LUẬN Trải qua trình thực đề tài “Tìm hiểu Java với web service RESTful web service ứng dụng xây dựng phần mềm thi trắc nghiệm online”, em có hội rèn luyện lại kỹ phân tích thiết kế hệ thống, lập trình thân kết đạt đƣợc nhƣ sau: - Tìm hiểu Java, web service RESTful web service, SQLServer - Sử dụng sử dụng apache-maven-3.3.9 sử dụng tomket jdk7.0, jdbc4.0 Hƣớng phát triển mở rộng đề tài: - Tối ƣu hóa tài nguyên - Thiết kế lại giao diện bắt mắt - Thêm tính nhƣ tạo đề thi file có sẵn, in đề thi, chia sẻ đề thi, đăng nhập facebook … Đứng trƣớc xu phát triển công nghệ thông tin nhƣ vũ bão xây dựng ứng dụng dựa dịch vụ web, đề tài mang tính thực tế cao Qua việc nghiên cứu xây dựng đề tài này, phần củng cố cho em kiến thức lập trình cung cấp cho em thêm làm xây dựng đƣợc phần mềm hoàn chỉnh, qua quản lý tài liệu em tự tin xây dựng đƣợc phần mềm tƣơng tự nhƣ: quản lý thƣ viện, quản lý nhân sự, quản lý khách sạn … Em xin cảm ơn TS Hồng Hữu Việt tận tình giúp đỡ hƣớng dẫn em làm báo cáo đồ án tốt nghiệp đại học này, để em hồn thiện đề tài theo thời gian quy định nhà trƣờng Em xin đƣợc gửi lời cảm ơn chân thành tới khoa Công nghệ thông tin thầy cô trƣờng tận tình giảng dạy em suốt năm học qua Lê Văn Hậu – Lớp 52K2 – Khoa CNTT 77 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC TÀI LIỆU THAM KHẢO [1] http://www.oracle.com/ [2] http://www.java2s.com/ [3] Giáo trình: Developing Web Service With Java-Class Notes [4] Tìm hiểu qua diễn đàn internet Lê Văn Hậu – Lớp 52K2 – Khoa CNTT 78 ... khoản sử dụng tài khoản đề đăng nhập vào hệ thống thi trắc nghiệm tiến hành thi Phần mềm chạy internet sử dụng công nghệ web service công nghệ RESTful web service Hệ thống thi trắc nghiệm đƣợc... ÁN TỐT NGHIỆP ĐẠI HỌC CHƢƠNG I TỔNG QUAN VỀ ĐỀ TÀI Tên đề tài: Tìm Hiểu RESTful Web Service Ứng Dụng Thi? ??t Kế PhầnMềm Thi Trắc Nghiệm 1.1 TỔNG QUAN VỀ NGƠN NGỮ LẬP TRÌNH VÀ CÁC THƢ VIỆN DÙNG... THÔNG TIN BÁO CÁO ĐỐ ÁN TỐT NGHIỆP ĐẠI HỌC Tên đồ án: Tìm Hiểu RESTful Web Service Ứng Dụng Thi? ??t Kế PhầnMềm Thi Trắc Nghiệm Sinh viên thực hiện: Lê Văn Hậu Lớp: 52K2-107 Giáo viên hướng

Ngày đăng: 01/08/2021, 10:56

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan