Chương 1: Giới thiệu chung. — Chương 2: Tìm hiểu về các công nghệ cần dùng — Chương 3: Xây dựng ứng dụng. - Chương 4: Thiết kế cơ sở dữ liệu — Chương 5: Kiêm thử và sửa lỗi ĐỒ ÁN THỰC TẬP LẬP TRÌNH A _ | NHOM 4 TRƯỜNG ĐẠI HỌC HOA SEN KỸ THUẠT PHẦN MỀM LOI CAM ON Lời nói đầu, cho nhóm chúng tôi gửi lời cảm ơn sâu sắc đến thầy Nguyễn Văn Sơn đã hướng dẫn tận tỉnh và tạo điều kiện cho nhóm chúng tôi làm đồ án xây dựng một ứng dụng mobile trac nghiém Flags Quiz App. Nhóm chúng tôi đã cỗ gắng vận dụng những kiến thức đã học được và tìm tòi thêm nhiều thông tin để hoàn thành bài tiểu luận này.
Bên cạnh những kiến thức đã được học và tìm hiểu thì do kiến thức còn hạn chế và không có nhiều kính nghiệm thực tiễn nên chúng tôi khó tránh khỏi những thiếu sót trong khi thực hiện đồ án. Rất kính mong giảng viên cho chúng tôi thêm những đóng góp ý dé bài báo cáo của nhóm chúng tôi được hoản thiện hơn. Chúng tôi xin chân thành cảm ơn! ĐỒ ÁN THỰC TẬP LẬP TRÌNH A _ NHÓM 4 TRƯỜNG ĐẠI HỌC HOA SEN KỸ THUẠT PHẦN MỀM MỤC LỤC 3:9 :82-0 0. 3 DANH MỤC HÌNH ẢNH.crree 6 NỘI DUNG CHÍNH.
_ Giới thiệu công nghệ (Tlo0ϧ). 3 ¬¬° cece cece csettecnercscteeessteecietsecrecseciecsessssteeeisisesieesesiesessssteesssteessiees 4 IR “r*dẢỒŨŨỖŨỖŨẦẮẦẮẦẲẦẦẮAẰAẰẮ. 9 IlN Hoa cho. Đặc tả yêu cầu ứng dụng (Requirement Specification).--- se se sec sc 10 2.
Giới thiệu ứng dụng (OV€TVI€W). n T21 12121 111111221 10121812011 kg 10 ;” ` ai 0 HH. __ Các yêu cầu chức năng. Các yêu cầu phi chức năng.
Mô hình ứng dụng (software model). Phân tích ứng dụng. Mô tả các thuộc tính và phương thức của đối tượng. Mô tả Các aCẨO.
c Qn HH1 HH HH 111111111111 11115111 1k1 H 1kg khe. _ Thiết kế chỉ tiết các cÏass. 22 ĐỒ ÁN THỰC TẬP LẬP TRÌNH A _. NHOM 4 ut TRƯỜNG ĐẠI HỌC HOA SEN KỸ THUẠT PHẦN MỀM 4.
Thiết kế 2077 ccccccceseceseenseeneccnscessenseessesseeeseeeetsescsseeeeteeeeeses 25 Sau khi việc nghiên cứu và phân tích các yêu cầu được đưa ra, thêm vào đó là giải quyết các yêu câu đưa ra thì những thành phâm thu được trên ứng dụng như sau. _ Thiết kế thuậttoán. Phát triển ứng dụng. 221211121 121121 1521111551 2Ẹ1251 2112111112511 T811 HH HH ke 57 ĐỒ ÁN THỰC TẬP LẬP TRÌNH A _ NHÓM 4 v TRƯỜNG ĐẠI HỌC HOA SEN KỸ THUẠT PHẦN MỀM DANH MỤC HINH ANH Hình 1: Visual Studio Code.
121111211211 12111211111 11111 1110111111011 11 11g nha 1 Hinh 2: Expo GO. 1 Hinh 3: Minh hoa ma QR quét Expo o. 1 Hình 4: Android Studlo. - - L1 022211211121 1111 15111 211011 11111111111 111111111 TH HH Hy 2 si).
3 Hit 6: Gites cece cccccceececcneeeceseecaeeeceecsesaeeecseceeeeceeececeneeeseaecaeeeseeseqeueeseseeseeeeesas 4 Hinh 7: GitHube. 7 Hình 9: Minh hoa ludng di cia Firebase.ccccccccccscscecseseeseesessessessessessesesseseesessesneeees 7 Hình 10: React Native. 10 Hinh 14: Đăng nhập. 22 122122211211 121 11211111 111122112 1111110111 1111111 111111111 xkg 11 Hình 15: Đăng xuẤt.
13 Hình 17: Thực hiện qu1z. 14 Hinh 18: Xem điểm và xếp hạng tông.-- L0 2222112112211 1 1121111821 11211 1181 ro 15 Hình 19: Xem thông tin. G2 22222211211 12112 211211191111 11111211 1111111111111 118g key 15 Hình 20: Mô hình ứng dụng. 21 Hình 22: Class diapram.
L0 2002111211211 121 112211011 11111011111 11111 11 11H HH 1 kg 22 Hình 23: Mô tả database Ì. L Q2 1211211211111 11 1110111111011 2111111 1111112111112 11kg 23 Hinh 2, l3) [oár-Nai./X“aaiadadđiaadđaii. 23 Hình 25: Mô tả database 3. - Q TT n2 12111211111 11211101 101110112111 111 1111112111112 11kg 24 Hinh O0) cárNai v.hẼ“ađadđdđdidaai.
chgãiađaẳđiaẳađiiiẢŨẮŨ. 25 Hình 28: Thiết kế giao diện. - 1 2111 1221211111111 121111211011 211111 rg te 26 si) 092 6000. 28 Hinh 31: Trang chọn chế độ chơi.
ST S3 1211111151511 1215151111555 211821 se 29 Hình 32: Trang chọn độ khó. -- L1 221121112112 1122111111111 1111111111 1111111182112 30 Hinh 33: Trang ingame nhìn cờ đoán chữ. 1121201 121111111121 101111 81 re 31 Hinh 34: Trang chọn đúng đáp án nhìn cờ đoán chữ. ác 2 S212 sse 32 Hình 35: Trang chọn sai đáp án nhìn cờ đoán chữ.- -- c St S2 1n 2 se 33 Hình 36: Trang ingame nhìn tên đoán quốc kỳ.-- 2-2 +222S22E22EE22E22222222222222ze2 34 Hinh 37: Trang chọn đúng đáp án nhìn tên đoán quốc 4+1.
35 Hinh 38: Trang chon sai dap an nhìn tên đoán quôc kỷ. c2: 22222 2czcses 36 Hình 39: Trang kết quả.- + 2 2 1 121211211211 11111 1112121111121 1111211 ca 37 Hình 40: Trang bảng xếp hạng nhìn quốc gia đoán quốc kỳ. 72 ccccccszszsea 38 ĐỒ ÁN THỰC TẬP LẬP TRÌNH A _ NHÓM 4 TRƯỜNG ĐẠI HỌC HOA SEN KỸ THUẠT PHẦN MỀM Hình 41: Trang bảng xếp hạng nhìn quốc kỳ đoán quốc gia.--- 5: 2+2+z+2z+: 39 Hinh 42: Trang thông tin và thành tựu cá nhân. mg 40 Hình 43: Hàm shuffle mảng.
22 2212212121121 1121 1121111112 118211011 1111115 101 x6 41 Hình 44: Shuffle câu hỏi và câu trả ÏỜI.121 11121111111 2112111111111 1121 ng ưu 41 Hình 45: Bảng màu được thông qua ý tướng vả lên thiết kế trên Fipma. 45 Hình 46: Trang thiết kế login. 45 Hinh 47: Trang thiết kế hoime.eeg 46 Hình 48: Trang thiết kế chọn chế độ và chọn chế WO. eerie 47 Hình 49: Trang thiết kế chơi game chế độ nhìn quốc kỷ đoán quốc gia.
48 Hinh 50: Trang thiết kế chơi same nhìn tên đoán quôc kỷ.--cccccce: 49 Hình 51: Trang thiết kế bảng xếp hạng. 2-5 St 1E 1E 1211211211112111111221 2 1c 10 50 si 0n/280ii,. 51 ĐỒ ÁN THỰC TẬP LẬP TRÌNH A _ NHÓM 4 TRƯỜNG ĐẠI HỌC HOA SEN KỸ THUẠT PHẦN MỀM 1. Giới thiệu công nghệ (Tools) Zl.
Visual Studio Code Visual Studio Code la trinh bién dich, soan thao ma nguồn code miễn phí được phat trién boi Microsoft danh cho Window, macOS va Linux. Voi kha năng cho phép người dùng cải đặt nhtmg Extensions, nham hé tro thém bớt những chức năng hay tinh năng Visual Studio Code cần thiết để có thê tối ưu hóa việc phát triển code. Cùng với đó là khả Hình I: Visual Studio Code năng thích ứng với đa ngôn ngữ lập trinh như Java, C#, Python,. Expo Go Expo Go là ứng dụng miễn phí với mã nguồn mở hỗ trợ cho các nhà phát triển phần mềm ứng dụng trên di động, dành cho cả Android và IOS.
Với một giao diện đơn giản và dễ tiếp cận, cũng như cách thức vận hành trơn tru chỉ với việc scan mã QR sau khi nhập lệnh npx expo start. Hinh 2; Expo Go oid Studio Android Studio là môi trường phát trên = Hinh 3: Minh hoa ma OR quét Expo Go tich hop (IDE) chinh thire dé phat triển ứng dụng Android. Với việc tích hợp tat cả các phiên bản Android từ cũ nhất đến bản cập nhật gần nhất. Cùng với đó là giao diện và trình soan thao théng minh cua IntelliJ IDEA, cho phép ĐỒ ÁN THỰC TẬP LẬP TRÌNH A _ 7 NHÓM 4 TRƯỜNG ĐẠI HỌC HOA SEN KỸ THUẠT PHẦN MỀM xây dựng phần mềm theo Gradle hay Kotlin.
Android Studio mang lại nhiều tính năng giúp bạn nâng cao năng suất khi xây dựng ứng dụng Android, ví dụ như: @ Mot hé thong hé tro chạy máy ảo. ® Một trình mô phóng nhanh vả nhiều tính năng. @® Niột môi trường hợp nhất nơi bạn có thể phát triển cho mọi thiết bị Android. ® Tinh nang Live Edit - Chỉnh sửa trực tiếp, để cập nhật các thành phần kết hợp trong mô phỏng và thiết bị thực theo thời gian thực.
@ Hétro C++ va NDK. @ Tich hop san tinh nang hé tro Google Cloud Platform, gitp dé dang Hinh 4: Android Studio tich hop Google Messaging va App Engine. Figma Figma là một công cụ thiết kế đỗ họa vector có giao diện người dùng trực tuyến dựa trên nền tảng đám mây, cho phép người dùng thiết kế UX/UI], ĐỒ ÁN THỰC TẬP LẬP TRÌNH A _ NHÓM 4 8 TRƯỜNG ĐẠI HỌC HOA SEN KỸ THUẠT PHẦN MỀM dựng prototypes, phát triển và chia sẻ các thiết kế của họ với các thành viên khác trone nhóm làm việc. Điểm đặc biệt nhất của Flema chính là khả năng hoạt động trực tuyến, tương tự như Google Docs hay Sheet.
Tại đây, nhiều người dùng có thê thao tác trực tiếp trong cùng một file ở cùng một thời điểm. Như vậy, người dùng có thé chỉnh sửa, theo đõi chỉnh sửa một cách dễ đàng và nhanh chóng, tiết kiệm thời gian gửi đi qua lại rườm ra. Bên cạnh đó, Fipema còn có tính năng tương tự như các công cụ thiết kế đồ họa khác, tương thích với cả Window và Mac OS đồng thời tích hợp nhiều chức năng cộng tác và quản lý dự án. Figma được đánh giá cao vì tính đơn giản, dễ sử dụng và khả năng làm việc nhóm hay xử lý công việc từ xa cực hiệu quả.
Điều đó nó đã tiết kiệm rất nhiều thời gian và có thê hợp thức hóa quy trình làm việc của nhóm. Điều đó giúp chúng tôi tương tác với nhau qua online mà không cần phải gặp mặt bên ngoài và tiết kiệm được nhiều thời gian hơn trong quá trinh làm việc. (Flpma là gì? Khám phá những tính năng tuyệt vời của Flema, ie Figma Hinh 3: Figma n. Git Git là gì? ĐỒ ÁN THỰC TẬP LẬP TRÌNH A _ NHÓM 4 TRƯỜNG ĐẠI HỌC HOA SEN KỸ THUẠT PHẦN MỀM Git la hệ thống quản lý phiên bản , © phân tán.
Đây là hệ thông quản lý phô biến nhất hiện nay. Git là một phiên bản Đ 1 của DVCS hay còn gọi là VCS. Sử dụng Git sẽ đem tới cho các lập trình viên tình 6-Cn một kho lưu trữ, trone đó chứa đầy đủ các lịch sử thay đổi của hệ thống. (Gít là gi? Cac lénh git co ban ma moi lap trình viên nên biết, n.) Cách hoạt động của Git Giống như các VCS khác, Git hoạt động bằng cách ghi nhận lại mọi thay đổi trong hệ thống file theo thoi sian.
Sự khác biệt cua Git la mỗi khi một thay đổi được người dùng xác nhận, Git sẽ giúp lại trạng thái của toàn bộ hệ thống file tại thời điểm đó, nghĩa là lưu lại phiên bản đã thay đổi của các file. Mỗi Version của hệ thống file đều chứa đầy đủ các file kế cả có thay đổi hay không. Ví dụ Version 2 có sự thay đổi tại file A va file C so véi Version 1, các file đã thay đổi là A1 và C1 sẽ được lưu vào chỗ tương ứng. Git cũng rất thông minh khi không copy lại file B không bị thay đổi mà chỉ tham chiếu đến vi tri cua file B trong version trước đó, p1úp eiảm lãng phí bộ nhớ do trùng lặp.
Mặt khác, cac VCS khac nhu CVS, Subversion, Perforce,. déu itr lai các file ban đầu như một phiên bản gốc và chỉ lưu những phần bị thay đổi (delta) tương ứng với từng file mỗi lần cập nhật thay đôi.