VIỆN ĐẠI HỌC MỞ HÀ NỘI CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Hà Nội, ngày 21 tháng 04 năm 2016 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Lớp hành chính: 1210A01 Xây dựng ứng dụng học tiếng Anh cho trẻ em
Trang 1VIỆN ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN
Hà Nội – Năm 2015
Hà Nội, 2016
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Công nghệ thông tin
XÂY DỰNG ỨNG DỤNG HỌC TIẾNG ANH CHO TRẺ
EM TRÊN THIẾT BỊ CẦM TAY
Trang 2VIỆN ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN
Giáo viên hướng dẫn: ThS.Nguyễn Thùy Linh
Hà Nộ
Hà Nội, 2016
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Công nghệ thông tin
XÂY DỰNG ỨNG DỤNG HỌC TIẾNG ANH CHO TRẺ
EM TRÊN THIẾT BỊ CẦM TAY
ĐẶNG THU HUYỀN
Trang 3VIỆN ĐẠI HỌC MỞ HÀ NỘI CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Hà Nội, ngày 21 tháng 04 năm 2016
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Lớp hành chính: 1210A01
Xây dựng ứng dụng học tiếng Anh cho trẻ em trên thiết bị cầm tay
- Khảo sát thực tế;
- Phân tích và thiết kế hệ thống;
- Trau dồi kiến thức lập trình Android;
- Tìm hiểu kiến thức lập trình PHP, hệ quản trị cơ sở dữ liệu MySQL;
- Xây dựng ứng dụng học tiếng Anh cho trẻ em gồm hai đối tượng sử dụng: ứng dụng cho người dùng và quản trị hệ thống cho quản trị viên
Người dùng:
Lựa chọn bài học;
Tìm kiếm bài học;
Trang 4 Quản trị viên:
Cập nhật bài học;
Tìm kiếm bài học;
Yêu cầu báo cáo, thống kê
Ngày 21 tháng 04 năm 2016
Trang 5LỜI CẢM ƠN
Trong suốt quá trình thực hiện đồ án “Xây dựng ứng dụng học tiếng Anh cho trẻ em trên thiết bị cầm tay”, em đã học hỏi được rất nhiều kiến thức, đặc biệt là kinh nghiệm thực tế về một dự án hoàn chỉnh Các kiến thức về phân tích thiết kế cũng như tư duy lập trình của em đã có tiến bộ vượt bậc
Em xin gửi lời cảm ơn sâu sắc đến giáo viên hướng dẫn của em, cô Ths.Nguyễn Thùy Linh, đã tạo điều kiện và chỉ bảo em rất nhiệt tình để em có thể hoàn thành đồ án này Em cũng xin cảm ơn tất cả các thầy cô trong khoa Công Nghệ Thông Tin đã dạy dỗ em tận tình trong bốn năm vừa qua Các kiến thức quý báu em nhận được từ các thầy cô là nền tảng vững chắc cho em trên bước đường sau này
Con xin cảm ơn cha mẹ đã sinh thành, nuôi dưỡng, tạo điều kiện cho con
ăn học, động viên con những lúc khó khăn, giúp con có điều kiện học tập và thực hiện đồ án này
Em xin cảm ơn thầy giáo chủ nhiệm Ths.Phạm Công Hòa, cùng tập thể lớp 1210A01 đã giúp đỡ em trong quá trình học tập, luôn quan tâm, ủng hộ, chỉ bảo em suốt bốn năm học, để hôm nay em có thể hoàn thành đồ án này
Hà Nội, tháng 04 năm 2016
Trang 6LỜI NÓI ĐẦU
Sự phát triển của công nghệ thông tin cùng với mạng internet trên thế giới đã thúc đẩy mạnh sự ra đời của các dòng điện thoại thông minh Đặc biệt, điện thoại thông minh sử dụng hệ điều hành Android chiếm thị phần rất lớn, không chỉ vì giá cả cạnh tranh, mà còn vì dễ sử dụng cũng như nhiều tiện ích Hàng loạt các ứng dụng trên thiết bị di động ra đời, với mục đích hiện đại hóa cuộc sống, thay đổi các phương thức cũ kỹ đã không còn cần thiết Từ lịch, đồng hồ, … đều được tích hợp vào điện thoại thông minh
Hiện nay các ứng dụng học tiếng Anh được viết ra rất đa dạng và hướng đến nhiều đối tượng người dùng khác nhau Các ứng dụng này trở nên rất quan trọng với những người đang có nhu cầu học hỏi mà chưa có điều kiện về thời gian, kinh tế…, đặc biệt với trẻ em, lứa tuổi tò mò học hỏi và dễ tiếp thu, các ứng dụng học tiếng Anh càng phát huy ưu thế của mình Từ nhu cầu thực
tế trên, là sinh viên của khoa công nghệ thông tin, em mong muốn tìm hiểu kỹ càng hơn về các ứng dụng chạy trên nền tảng Android Trên cơ sở đó, em đã
đi sâu và nghiên cứu, thực hiện đề tài “Xây dựng ứng dụng học tiếng Anh cho trẻ em trên thiết bị cầm tay”
Bố cục của đồ án gồm:
- Chương 1 – Giới thiệu đề tài: Chương này trình bày về lý do chọn đề tài, mục tiêu và nhiệm vụ nghiên cứu, phạm vi đề tài, lợi ích của ứng dụng công nghệ thông tin vào việc học tiếng Anh, đưa ra quy trình nghiệp vụ
- Chương 2 – Cơ sở lý thuyết: Mục đích của chương này là giới thiệu công nghệ đã sử dụng bao gồm Java, SQLite, PHP, MySQL, trình bày những ưu, nhược điểm, từ đó đưa ra lý do cho việc lựa chọn các công nghệ này
Trang 7- Chương 3 – Phân tích hệ thống: Chương này trình bày quá trình phân tích hệ thống, từ đó đưa ra các sơ đồ phân cấp chức năng, luồng dữ liệu các mức
- Chương 4 – Thiết kế hệ thống: Nội dung của chương này thể hiện quá trình thiết kế cơ sở dữ liệu của hệ thống và thiết kế một số module chính của chương trình
- Chương 5 – Hướng dẫn sử dụng ứng dụng: Chương này hướng dẫn người dùng cách sử dụng ứng dụng
Trong suốt quá trình thực hiện đồ án này, em đã học hỏi được nhiều hơn
về một dự án thực tế Tuy nhiên, do hạn chế về kinh nghiệm cũng như kiến thức chuyên môn, em không khỏi mắc nhiều sai sót Vì vậy, kính mong thầy
cô chỉ bảo, đóng góp ý kiến cho em, để em có thể hoàn thiện kỹ năng của mình
Trang 8Mục Lục
CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 1
1.1 Lý do chọn đề tài 1
1.2 Mục tiêu và nhiệm vụ nghiên cứu 1
1.3 Phạm vi đề tài 2
1.4 Lợi ích của việc ứng dụng công nghệ thông tin vào việc học tiếng Anh ……… 2
1.5 Quy trình nghiệp vụ 3
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 6
2.1 Giới thiệu về ngôn ngữ lập trình Java 6
2.1.1 Giới thiệu 6
2.1.2 Ưu điểm và nhược điểm của Java 6
2.1.3 Lý do chọn Java phần client 8
2.2 Giới thiệu về hệ quản trị cơ sở dữ liệu SQLite 8
2.2.1 Giới thiệu 8
2.2.2 Ưu điểm của SQLite 9
2.2.3 Lý do chọn hệ quản trị SQLite cho phần client 9
2.3 Giới thiệu về ngôn ngữ lập trình PHP 9
2.3.1 Giới thiệu 9
2.3.2 Ưu điểm và nhược điểm của PHP 10
2.3.3 Lý do chọn PHP làm ngôn ngữ server 10
2.4 Giới thiệu về hệ quản trị MySQL 10
2.4.1 Giới thiệu 10
Trang 92.4.2 Ưu điểm của MySQL 11
2.4.3 Lý do chọn hệ quản trị MySQL cho phần server 11
2.5 Giới thiệu về Photoshop 11
2.5.1 Giới thiệu chung về Photoshop 11
2.5.2 Ưu điểm của Photoshop 12
CHƯƠNG 3: PHÂN TÍCH HỆ THỐNG 14
3.1 Sơ đồ phân cấp chức năng 14
3.2 Sơ đồ phân cấp chức năng quản lý từ 15
3.4 Sơ đồ luồng dữ liệu mức đỉnh 17
3.5 Sơ đồ luồng dữ liệu mức dưới đỉnh 18
3.5.1 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý danh mục game ……… 18
3.5.2 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý bài học 19
3.5.3 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng chơi game 20
CHƯƠNG 4: THIẾT KẾ HỆ THỐNG 21
4.1 Thiết kế cơ sở dữ liệu 21
4.1.1 Xác định các tập thực thể 21
4.1.2 Mối liên kết giữa các tập thực thể 22
4.1.3 Mô hình ER 23
4.1.4 Mô hình quan hệ 24
4.1.5 Các bảng CSDL vật lý 25
4.2 Thiết kế một số module chính 32
4.2.1 Module học từ 32
Trang 104.2.2 Module chơi game 34
4.2.3 Module tìm kiếm 36
4.2.4 Module cập nhật câu hỏi 37
CHƯƠNG 5: HƯỚNG DẪN SỬ DỤNG ỨNG DỤNG 41
KẾT LUẬN 55
TÀI LIỆU THAM KHẢO 57
Trang 11TÓM TẮT ĐỒ ÁN
Họ và tên: Đặng Thu Huyền
Giảng viên hướng dẫn: Th.s Nguyễn Thùy Linh
Tên đề tài: Xây dựng ứng dụng học tiếng Anh cho trẻ em trên thiết bị
cầm tay
Tóm tắt: Ứng dụng FunnyEng được xây dựng với mục đích đưa ra các
thông tin bài học chính xác, hấp dẫn, hướng tới tạo ra nền tảng tiếng Anh vững chắc cho trẻ em Qua ứng dụng, các em nhỏ có thể ghi nhớ các bài học, cũng như chơi các mini game nhằm củng cố kiến thức, kết hợp vừa học vừa chơi, giúp cho các bậc phụ huynh tiết kiệm được chi phí, thời gian,…
Summary: Applications Funny Eng built with the purpose of giving
information accurate lesson, attractive, towards creating a solid foundation in English for children Through the app, children can remember the lessons, as well as playing the mini-games to consolidate knowledge, learning-play combination, to help parents save cost, time,
Trang 13
DANH MỤC HÌNH VẼ
Hình 3 1 Sơ đồ phân cấp chức năng 14
Hình 3 2 Sơ đồ phân cấp chức năng quản lý từ 15
Hình 3 3 Sơ đồ luồng dữ liệu mức khung cảnh 16
Hình 3 4 Sơ đồ luồng dữ liệu mức đỉnh 17
Hình 3 5 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý danh mục game 18
Hình 3 6 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý bài học 19
Hình 3 7 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng chơi game 20
Hình 4 1 Mô hình ER 23
Hình 4 2 Mô hình quan hệ 24
Hình 4 3 Sơ đồ khối module học từ 33
Hình 4 4 Sơ đồ khối module chơi game 35
Hình 4 5 Sơ đồ khối module tìm kiếm 36
Hình 4 6 Sơ đồ khối module thêm câu hỏi 37
Hình 4 7 Sơ đồ khối module sửa câu hỏi 39
Hình 4 8 Sơ đồ khối module xóa câu hỏi 40
Hình 5 1 Giao diện chính của ứng dụng 41
Hình 5 2 Giao diện trang danh mục 42
Hình 5 3 Giao diện trang chủ đề 43
Hình 5 4 Giao diện trang danh sách từ 44
Hình 5 5 Giao diện chi tiết từ 45
Hình 5 6 Giao diện trang ví dụ 46
Hình 5 7 Giao diện mở bài hát trên Youtube 47
Hình 5 8 Giao diện trang chọn game 48
Hình 5 9 Giao diện chơi game mini chọn từ đúng 49
Hình 5 10 Giao diện chơi game mini chọn hình ảnh đúng 50
Trang 14Hình 5 11 Giao diện kết thúc game 51
Hình 5 12 Giao diện tìm kiếm theo chủ đề 52
Hình 5 13 Giao diện kết quả tìm kiếm theo chủ đề 53
Hình 5 14 Giao diện dialog thoát chương trình 54
Trang 15DANH MỤC BẢNG
Bảng 4.1 Bảng Danh Mục (CATEGORY) 25
Bảng 4.2 Bảng Chủ Đề (TOPIC) 25
Bảng 4.3 Bảng Từ (WORD) 26
Bảng 4.4 Bảng Ví Dụ (EXAMPLE) 27
Bảng 4.5 Bảng Bài Hát ( SONG) 28
Bảng 4.6 Bảng Câu Giao Tiếp ( COMMUNICATE) 29
Bảng 4.7 Bảng Game 30
Bảng 4.8 Bảng Câu Hỏi Trắc Nghiệm (QUESTION) 31
Trang 16CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI
1.1 Lý do chọn đề tài
Với sự phát triển mạnh mẽ trong mọi mặt đời sống hiện nay, tiếng Anh đã
là một thứ ngôn ngữ không thể thiếu được, gần như là thứ tiếng bắt buộc
ở mọi quốc gia Tiếng Anh tồn tại trong mọi lĩnh vực thiết yếu, nhu cầu giao tiếp bằng tiếng Anh có mặt mọi nơi, trên mọi lĩnh vực
Ở Việt Nam, có thể thấy một thực tế là khả năng giao tiếp của cả trẻ em lẫn người lớn, hầu như đều chưa đạt trình độ cơ bản Vài năm trở lại đây, một số bậc cha mẹ đã nhận thức được sự quan trọng của tiếng Anh trong đời sống, nhất là đối với con cái họ, nên đã đầu tư cho con em đi học thêm tiếng Anh từ khi còn rất nhỏ Tuy nhiên, vì một vài lý do, chẳng hạn như chi phí đắt đỏ, chưa bố trí được thời gian, chưa tìm được địa điểm dạy uy tín, hoặc không muốn cho con em đi học thêm khi còn quá nhỏ …, nên còn rất nhiều gia đình vẫn chưa thể cho con học một cách bài bản Bên cạnh đó, việc bắt ép các bé đi học trong tuổi còn ham chơi như vậy sẽ gây nên sự nhàm chán không muốn tiếp thu
Với mong muốn góp phần hỗ trợ việc học tiếng Anh cơ bản cho trẻ em, tạo ra một phần mềm học tiếng Anh thú vị, hiệu quả, đơn giản, mà lại mang lại sự thích thú khi kết hợp học và chơi, cũng như mong muốn góp phần giúp các bậc phụ huynh tiết kiệm thời gian, chi phí, em đã chọn đề tài “Xây dựng ứng dụng học tiếng Anh cho trẻ em trên thiết bị cầm tay”
1.2 Mục tiêu và nhiệm vụ nghiên cứu
em từ mẫu giáo đến tiểu học Các phần học chính xác về nội dung, hình thức bắt mắt, sắp xếp thuận tiện và khoa học
Trang 17 Phần mềm được cập nhật thường xuyên những bài học mới, tránh gây nhàm chán
1.3 Phạm vi đề tài
Đề tài hướng tới đối tượng người dùng nhỏ tuổi, vào khoảng mẫu giáo đến tiểu học Hệ thống gồm hai đối tượng: Người dùng và Quản trị viên
- Đối với Người dùng, hệ thống cho phép:
Học tiếng Anh qua các từ;
Học tiếng Anh qua các bài hát;
Cùng với sự phát triển như vũ bão của điện thoại thông minh, hầu hết các bậc phụ huynh đều có thể sở hữu một thiết bị cầm tay có kết nối mạng internet Vì
Trang 18vậy, việc tạo ứng dụng học tiếng Anh trên thiết bị cầm tay mang lại nhiều lợi ích:
huynh sẽ không phải phải bỏ ra một số tiền lớn để đăng kí cho con học ở một trung tâm, hoặc thuê một giáo viên để giảng dạy, thay vào đó là việc
sử dụng phần mềm học tiếng Anh là hoàn toàn miễn phí
đợi chờ con học, có thể kết hợp học và chơi ở mọi lúc mọi nơi
Tạo hứng thú học hành: việc kết hợp học và chơi trên thiết bị cầm tay giúp các em dễ tiếp thu, không bị gò bó như các lớp học
kiểm soát xem kiến thức trong bài học là đúng hay chưa đúng, có phù hợp lứa tuổi trẻ em không
tạo sự gần gũi, giao tiếp nhiều hơn, thay vì các em đi học ở trung tâm
1.5 Quy trình nghiệp vụ
Người dùng sau khi nhấn vào ứng dụng sẽ thấy màn hình chính Để đến màn hình danh mục, người dùng ấn vào giữa màn hình Hoặc để tìm kiếm từ theo chủ đề, người dùng ấn vào biểu tượng tìm kiếm
Màn hình danh mục gồm các hình ảnh đại diện cho phần học: Học từ , học qua các bài hát, học qua các câu cơ bản, chơi game Người dùng lựa chọn phần học mong muốn
- Khi chọn chức năng Học từ, sẽ xuất hiện màn hình các chủ đề của danh mục đã chọn, chẳng hạn như: Học bảng chữ cái, học chữ số, học tên con vật, học tên đồ vật, học tên hoa quả, học tên màu sắc, học tên các hình, … Người dùng lựa chọn chủ đề muốn học
Trang 19- Khi chọn vào bài học chi tiết sẽ xuất hiện danh sách các từ của bài học, người dùng ấn vào một từ bất kì sẽ mở ra một trang mới chứa hình ảnh
to, rõ ràng của từ Bên dưới hình ảnh sẽ là cách viết, nghĩa tiếng Việt của từ đó (nếu có) Ấn vào hình ảnh sẽ bật lên cách đọc của từ, có thể bấm lại nhiều lần để nghe lại Khi ấn vào nghĩa của từ sẽ dạy cách đọc tiếng Việt của từ đó Nhấn nút next sẽ đến từ tiếp theo cho đến hết danh sách từ, vuốt sang bên phải sẽ trở lại từ đằng trước, hoặc người dùng
có thể thoát ra, chọn một từ muốn học khác trong danh sách
Nếu trong chủ đè Bảng chữ cái, khi ấn nút next sẽ cho ra ví dụ có chứa chữ cái đó được bôi đậm cho các em dễ hình dung
- Khi chọn chức năng Học qua các bài hát sẽ mở ra màn hình chứa danh sách tên các bài hát tiếng Anh trẻ em Khi thiết bị cầm tay đã được cài đặt Youtube, người dùng chọn bài nào, máy sẽ chuyển đến YouTube và
mở bài hát đó
- Khi chọn chức năng Học qua các câu giao tiếp đơn giản, các bài học trong chủ đề này sẽ được chia theo chủ đề từ cơ bản đến nâng cao Chọn một chủ đề, sẽ đưa ra danh sách các câu giao tiếp liên quan chủ
đề đó Tương tự như khi học từ, khi chọn một câu trong danh sách sẽ
mở ra màn hình có cách viết, cách đọc, nghĩa của câu đó Nhấn nút back hình sang phải sẽ chuyển sang câu trước đó, nhấn nút next sẽ chuyển sang câu tiếp
- Khi chọn chức năng Chơi game, trên danh sách sẽ đưa ra các hình thức game : chọn hình ảnh hoặc chọn tên đúng
+ Khi chọn chức năng kiểm tra Chọn hình ảnh đúng, màn hình đưa lên câu hỏi đầu tiên Tên, nghĩa và cách đọc của một từ được đưa ra
to chính giữa màn hình, ở dưới sẽ có bốn đáp án là bốn hình ảnh Nếu người dùng chọn sai đáp án sẽ có âm thanh buồn kêu lên,
Trang 20thông báo đã sai, mời chọn lại Nếu chọn đúng sẽ có âm thanh reo
hò, và chuyển qua câu khác
Sau khi làm bài kiểm tra sẽ có thông báo chúc mừng đã hoàn thành + Khi chọn chức năng Chọn tên đúng, tương tự như Chọn hình ảnh đúng, nhưng ở chức năng này sẽ đưa ra hình ảnh và nghĩa tiếng Việt của từ, và đáp án là các từ tiếng Anh ở dưới Chọn đúng đáp án
sẽ chuyển qua câu tiếp theo Chọn sai sẽ được chọn lại
Trang 21CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Giới thiệu về ngôn ngữ lập trình Java
2.1.1 Giới thiệu
Java là một ngôn ngữ lập trình hướng đối tượng (OOP) và dựa trên các lớp (class) Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch
mã nguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết
kế để biên dịch mã nguồn thành bytecode, bytecode sau đó sẽ được môi
trường thực thi (runtime environment) chạy
Trước đây, Java chạy chậm hơn những ngôn ngữ dịch thẳng ra mã máy như
C và C++, nhưng sau này nhờ công nghệ “biên dịch tại chỗ” – Just in time compilation, khoảng cách này đã được thu hẹp, và trong một số trường hợp đặc biệt Java có thể chạy nhanh hơn Java chạy nhanh hơn những ngôn ngữ thông dịch như Python, Perl, PHP gấp nhiều lần Java chạy tương đương so với C#, một ngôn ngữ khá tương đồng về mặt cú pháp và quá trình dịch/ chạy
Cú pháp Java được vay mượn nhiều từ C và C++ nhưng có cú pháp hướng đối tượng đơn giản hơn và ít tính năng xử lý cấp thấp hơn Do đó việc viết một chương trình bằng Java dễ hơn, đơn giản hơn, đỡ tốn công sửa lỗi hơn
Trong Java, hiện tượng rò rỉ bộ nhớ hầu như không xảy ra do bộ nhớ được quản lí bởi Java Virtual Machine (JVM) bằng cách tự động "dọn dẹp rác" Người lập trình không phải quan tâm đến việc cấp phát và xóa bộ nhớ như C, C++ Tuy nhiên khi sở dụng những tài nguyên mạng, file IO, database (nằm ngoài kiểm soát của JVM) mà người lập trình không đóng (close) các streams thì rò rỉ dữ liệu vẫn có thể xảy ra
2.1.2 Ưu điểm và nhược điểm của Java
Ưu điểm
Trang 22- Hướng đối tượng: Java là một ngôn ngữ lập trình hướng đối tượng, không có nhiều hằng số độc lập, các biến hoặc hàm: mỗi một thứ được mô tả có thể chỉ được truy nhập thông qua các lớp và các đối
tượng
- Mạnh mẽ: Java là một ngôn ngữ mạnh vì nó yêu cầu tất cả các dữ liệu phải được khai báo một cách tường minh Nó kiểm tra mã
nguồn tại thời điểm của sự biên dịch và sự thông dịch, và loại ra các
lỗi của chương trình
- Độc lập nền: là khả năng của một chương trình có thể chạy trên bất
kỳ máy tính nào mà không cần quan tâm đến nền bên dưới
- Bảo mật: Java cung cấp môi trường bảo mật cho các chương trình
thực thi và cung cấp một vài lớp điểu khiển bảo mật
- Phân tán: Java được sử dụng để phát triển các ứng dụng mà có khả năng linh hoạt qua nhiều nền khác nhau, các hệ điều hành, và các
giao diện đồ họa người dùng Nó hỗ trợ các ứng dụng mạng
- Đa luồng: Java cung cấp sự hỗ trợ cho đa luồng để thực thi nhiều tác
vụ đồng thời
Nhược điểm:
- Do Java biên dịch mã nguồn thành bytecode, bytecode sau đó được môi trường thực thi chạy nên Java thường chạy chậm hơn những
ngôn ngữ thông dịch khác như Python, Pearl, PHP
- Java gặp khó khăn trong việc debug chương trình
- Các tool hỗ trợ trong Java không mạnh và đơn giản Do Java là phần mềm mã nguồn mở bởi vậy việc yêu cầu xây dựng một tool hỗ trợ
chuyên ngiệp, đầu tư quy mô trở nên khó khăn
Trang 232.1.3 Lý do chọn Java phần client
Với sự phát triển của công nghệ hiện nay, việc sở hữu một chiếc điện thoại thông minh không còn là việc quá khó khăn Chiếm thị phần lớn trong số lượng sử dụng, điện thoại thông minh sử dụng hệ điều hành Android rất phổ biến, phù hợp với điều kiện của các gia đình Vì vậy em lựa chọn sử dụng ngôn ngữ Java viết nên phần mềm này mong muốn bất kì trẻ em trong gia đình nào cũng có thể được sử dụng
2.2 Giới thiệu về hệ quản trị cơ sở dữ liệu SQLite
2.2.1 Giới thiệu
Nói một cách đơn giản SQLite là phần mềm quản lý cơ sở dữ liệu (DBMS) tương tự như Mysql, PostgreSQL Đặc điểm của SQLite là gọn, nhẹ, đơn giản Chương trình gồm 1 file duy nhất vỏn vẹn chưa đến 400kB, không cần cài đặt, không cần cấu hình hay khởi động mà có thể sử dụng ngay Dữ liệu Database cũng được lưu ở một file duy nhất Không có khái niệm user, password hay quyền hạn trong SQLite Database
SQLite không thích hợp với những hệ thống lớn nhưng ở quy mô vừa tầm thì SQLite phát huy uy lực và không hề yếu kém về mặt chức năng hay tốc
độ Với các đặc điểm trên SQLite được sử dụng nhiều trong việc phát triển, thử nghiệm … và là sự lưa chọn phù hợp cho những người bắt đầu học Database
SQLite Engine không là một Standalone Process giống như các cơ sở dữ liệu khác, bạn có thể liên kết nó một cách tĩnh hoặc một cách động tùy theo yêu cầu với ứng dụng của bạn SQLite truy cập các file lưu giữ của nó một cách trực tiếp
Trang 242.2.2 Ưu điểm của SQLite
- Tin cậy: Các hoạt động transaction (chuyển giao) nội trong cơ sở dữ liệu được thực hiện trọn vẹn, không gây lỗi khi xảy ra sự cố phần cứng;
- Tuân theo chuẩn SQL92;
- Không cần cài đặt cấu hình;
- Kích thước gọn nhẹ, với cấu hình đầy đủ chỉ không đầy 300kB;
- Thực hiện các thao tác đơn giản nhanh hơn các hệ thống cơ sở dữ liệu khách/ chủ khác;
- Không cần phần mềm phụ trợ;
- Phần mềm tự do với mã nguồn mở, được chú thích rõ ràng;
2.2.3 Lý do chọn hệ quản trị SQLite cho phần client
Như chúng ta đã biết, SQLite không yêu cầu một Server riêng rẽ để hoạt động, bên cạnh đó SQLite cũng rất nhỏ gọn, không cần cấu hình, nghĩa là không cần thiết phải cài đặt, vì vậy có thể sử dụng ứng dụng khi không kết nối internet
2.3 Giới thiệu về ngôn ngữ lập trình PHP
2.3.1 Giới thiệu
PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java,
dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành mộtngôn ngữ lập trình web phổ biến nhất thế giới
Trang 252.3.2 Ưu điểm và nhược điểm của PHP
- Làm việc tốt với nhiều hệ quản trị cơ sở dữ liệu
Nhược điểm: Chỉ chạy trên ứng dụng web
2.3.3 Lý do chọn PHP làm ngôn ngữ server
PHP là một ngôn ngữ có nhiều ưu điểm, được sử dụng rộng rãi khi viết các ứng dụng cho máy chủ PHP là ngôn ngữ dễ học, dễ viết, nên em đã chọn ngôn ngữ này đồng hành cùng với ứng dụng của mình Bên cạnh đó, ngôn ngữ PHP hoàn toàn miễn phí, giúp cho ứng dụng của em tiết kiệm chi phí tối
đa, theo đúng ý tưởng ban đầu của em là tạo ra ứng dụng miễn phí, tiết kiệm
chi phí cho các bậc phụ huynh
2.4 Giới thiệu về hệ quản trị MySQL
2.4.1 Giới thiệu
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả
chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ Nó có nhiều phiên bản
Trang 26cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix,FreeBSD, NetBSD, Novell
NetWare, SGI Irix, Solaris, SunOS,
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL)
MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,
2.4.2 Ưu điểm của MySQL
2.4.3 Lý do chọn hệ quản trị MySQL cho phần server
Như đã nói ở trên, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet, vì vậy em đã chọn MySQL để lưu trữ CSDL trên server Bên cạnh đó, tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, MySQL sẽ giúp ứng dụng của em cập nhật nhanh và dễ dàng, phù hợp với nhu cầu của một ứng dụng học tiếng Anh
2.5 Giới thiệu về Photoshop
2.5.1 Giới thiệu chung về Photoshop
Trang 27Khởi đầu vào năm 1987 khi Thomas Knoll viết một phần mềm hiển thị ảnh màu xám (grayscale – mỗi điểm ảnh được lưu trữ bằng 8 bit) trên các màn hình chỉ hiện thị được các điểm ảnh (pixel) màu trắng hay đen Sau đó, Thomas Knoll cùng người anh trai của mình là John Knoll đã đăng ký bản quyền cho phần mềm với tên gọi là Barneyscan vào năm 1988 và đổi tên thành Adobe vào năm 1989 Cái tên Adobe Photoshop chính thức có mặt vào năm 1990 với phiên bản đầu tiên chỉ dành cho máy Mac
Adobe Photoshop là một phần mềm xử lý ảnh chuyên nghiệp Photoshop cho phép người sử dụng tút, sửa ảnh, ghép ảnh, phục chế ảnh, tô màu tranh ảnh… một cách dễ dàng và chuyên nghiệp Phần mềm này là một công cụ không thể thiếu của các nhiếp ảnh gia, các nhà thiết kế đồ họa, thiết kế web và biên tập video
2.5.2 Ưu điểm của Photoshop
Qua thời gian, sự phát triển của công nghệ đồ họa cho phép người ta có thể cắt rời những thành phần của một bức ảnh và ghép sang một ảnh khác hoặc chỉnh các độ sang tối và những đường cong Photoshop cũng nhanh chóng đưa những chức năng đó vào làm “của riêng”, cải tiến giao dện sử dụng và đặc biệt phân chia thành nhiều lớp layer để có thể xử lý tốt hơn cho từng thành phần chi tiết, ký tự… Photoshop bắt đầu được giới nhiếp ảnh, giới xuất bản, nghệ thuật và quảng cáo quan tâm Photoshop còn được sử dụng trong các nghiên cứu khoa học, khoa học hình sự, chẩn đoán y khoa…
Ưu điểm của Photoshop là giúp con người trở nên quyến rũ hơn, Photoshop làm gầy thêm, các đường cong cong hơn, rang trắng sang, da mịn màng hay
cơ bắp cuồn cuộn và cả môi chúm chím hồng
Từ phiên bản đầu tiên cho đến nay Photoshop đã không ngừng thay đổi, tập chung vào khả năng xử lý tự động cho các tiến trình xử lý khó khăn khi guồng quay công nghệ tiếp tục chuyển biến như sự phát triển của các thiết bị máy
Trang 28tính cầm tay nhỏ gọn hơn, netbook, tablet hay điện toán đám mây Phiên bản Photoshop trực tuyến hay các phiên bản dành cho điện thoại di động bắt đầu được cho ra mắt và có thể là một sự khởi đầu mới cho phiên bản photoshop tinh gon dành cho các thiết bị cầm tay
Hơn 20 năm qua những phiên bản cải tiến, Photoshop đã trở nên mạnh mẽ
và đóng một vai trò quan trọng trong cuộc sống công nghệ, cung cấp công cụ cho sự sáng tạo để tạo ra những bức ảnh tuyệt vời nhất Photoshop đã phá vỡ những bạn chế của trí tưởng tượng, những lằn ranh về văn hóa Có thể nói Photoshop là một trong những sản phẩm thành công và có sức ảnh hưởng lớn nhất mọi thời đại
Trang 29CHƯƠNG 3: PHÂN TÍCH HỆ THỐNG
3.1 Sơ đồ phân cấp chức năng
Qua quá trình khảo sát và phân tích, em xin đề xuất sơ đồ phân rã chức năng như Hình 3.1
Quản lý phần mềm học tiếng Anh FunnyEng
Quản lý danh mục (2.1)
Quản lý chủ đề (2.2)
Quản lý từ (2.3)
Quản lý bài hát (2.4)
Quản lý câu giao tiếp (2.5)
Chơi game (3.0)
Chọn từ đúng (3.1)
Chọn hình ảnh đúng (3.2)
Hình 3 1 Sơ đồ phân cấp chức năng
Trang 303.2 Sơ đồ phân cấp chức năng quản lý từ
Quản lý từ (2.3)
Thêm từ
(2.3.1)
Sửa từ (2.3.2)
Xóa từ (2.3.3)
Tìm kiếm từ (2.3.4)
Quản lý ví dụ (2.3.5)
Hình 3 2 Sơ đồ phân cấp chức năng quản lý từ
3.3 Sơ đồ luồng dữ liệu mức khung cảnh
Từ sơ đồ phân cấp chức năng trên, em đƣa ra sơ đồ luồng dữ liệu mức khung cảnh nhƣ Hình 3.3
Trang 323.4 Sơ đồ luồng dữ liệu mức đỉnh
Sơ đồ luồng dữ liệu mức đỉnh của hệ thống được mô tả như Hình 3.4
Thông tin lựa chọn game Kết quả lựa chọn game
Từ
Loại game
QUẢN TRỊ VIÊN NGƯỜI DÙNG
Thông tin lựa chọn đáp án Kết quả lựa chọn đáp án
Bài hát Câu giao tiếp
Thông tin lựa chọn bài học Kết quả lựa chọn bài học Thông tin tìm kiếm bài học Kết quả tìm kiếm bài học
Thông tin cập nhật game Kết quả cập nhật game Thông tin tìm kiếm game Kết quả tìm kiếm game
Thông tin yêu cầu báo cáo, thống kê game Báo cáo, thống kê game
Thông tin cập nhật bài học Kết quả cập nhật bài học Thông tin tìm kiếm bài học Kết quả tìm kiếm bài học Thông tin yêu cầu báo cáo, thống kê bài học Báo cáo, thống kê bài học
Danh Mục Chủ Đề
Câu hỏi trắc nghiệm
Loại game
Câu hỏi trắc nghiệm
Quản lý danh mục game (1.0)
Quản lý nội dung bài học (2.0)
Chơi game (3.0)
Hình 3 4 Sơ đồ luồng dữ liệu mức đỉnh
Trang 333.5 Sơ đồ luồng dữ liệu mức dưới đỉnh
3.5.1 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý danh mục
Thông tin cập nhật chủ đề game
Kết quả cập nhật chủ đề game
Thông tin tìm kiếm chủ đề game
Kết quả tìm kiếm chủ đề game
Thông tin yêu cầu báo cáo, thống kê chủ đề game
Báo cáo, thống kê chủ đề game
Thông tin yêu cầu báo cáo, thống kê câu hỏi trắc nghiệm Báo cáo, thống kê câu hỏi trắc nghiệm Thông tin cập nhật câu hỏi trắc nghiệm Kết quả cập nhật câu hỏi trắc nghiệm
Thông tin tìm kiếm câu hỏi trắc nghiệm Kết quả tìm kiếm câu hỏi trắc nghiệm
Câu hỏi trắc nghiệm
Quản lý loại game
(1.1)
Quản lý câu hỏi trắc nghiệm (1.2)
Loại game
Hình 3 5 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý danh mục
game
Trang 343.5.2 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý bài học
Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý bài học của hệ thống được mô tả như Hình 3.5
NGƯỜI DÙNG
QUẢN TRỊ VIÊN NGƯỜI DÙNG
Thông tin lựa chọn danh mục
Kết quả lựa chọn danh mục
Thông tin lựa chọn chủ đề Kết quả lựa chọn chủ đề Thông tin tìm kiếm chủ đề Kết quả tìm kiếm chủ đề
Thông tin lựa chọn từ Kết quả lựa chọn từ Thông tin tìm kiếm từ Kết quả tìm kiếm từ
Thông tin lựa chọn bài hát Kết quả lựa chọn bài hát Thông tin tìm kiếm bài hát Kết quả tìm kiếm bài hát
Thông tin lựa chọn câu giao tiếp Kết quả lựa chọn câu giao tiếp Thông tin tìm kiếm câu giao tiếp Kết quả tìm kiếm câu giao tiếp
NGƯỜI DÙNG
Thông tin cập nhật danh mục Kết quả cập nhật danh mục Thông tin tìm kiếm danh mục Kết quả tìm kiếm danh mục Thông tin yêu cầu báo cáo, thống kê danh mục
Báo cáo, thống kê danh mục
Thông tin cập nhật chủ đề Kết quả cập nhật chủ đề Thông tin tìm kiếm chủ đề Kết quả tìm kiếm chủ đề Thông tin yêu cầu báo cáo, thống kê chủ đề Báo cáo, thống kê chủ đề
Thông tin cập nhật từ Kết quả cập nhật từ Thông tin tìm kiếm từ Kết quả tìm kiếm từ Thông tin yêu cầu báo cáo, thống kê từ Báo cáo, thống kê từ
Thông tin cập nhật bài hát Kết quả cập nhật bài hát Thông tin tìm kiếm bài hát Kết quả tìm kiếm bài hát Thông tin yêu cầu báo cáo, thống kê bài hát Báo cáo, thống kê bài hát
Thông tin cập nhật câu giao tiếp Kết quả cập nhật câu giao tiếp Thông tin tìm kiếm câu giao tiếp Kết quả tìm kiếm câu giao tiếp
Báo cáo, thống kê câu giao tiếp Thông tin yêu cầu báo cáo, thống kê câu giao tiếp
QUẢN TRỊ VIÊN
QUẢN TRỊ VIÊN Câu giao tiếp
Bài hát
Từ Chủ Đề
Danh Mục
Quản lý danh mục (2.1)
Quản lý chủ đề (2.2)
Quản lý từ (2.3)
Quản lý bài hát (2.4)
Quản lý câu giao tiếp (2.5) Chủ Đề
Hình 3 6 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý bài học
Trang 353.5.3 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng chơi game
Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng chơi game của hệ thống được
Chọn từ đúng
(3.1)
Chọn hình ảnh đúng (3.2)
Loại game Câu hỏi trắc nghiệm Câu hỏi trắc nghiệm Loại game
Hình 3 7 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng chơi game
Trang 36CHƯƠNG 4: THIẾT KẾ HỆ THỐNG 4.1 Thiết kế cơ sở dữ liệu
4.1.1 Xác định các tập thực thể
(1) Tập thực thể DANH MỤC gồm cái thuộc tính: Mã Danh Mục, Tên Danh Mục, Ảnh Đại Diện Danh Mục, trong đó, Mã Danh Mục làm khóa chính
(2) Tập thực thể CHỦ ĐỀ gồm các thuộc tính: Mã Chủ Đề, Tên Chủ Đề, Ảnh Đại Diện Chủ Đề, Mã Danh Mục, trong đó, Mã Chủ Đề làm khóa chính
(3) Tập thực thể TỪ gồm các thuộc tính: Mã Từ, Nội Dung Từ, Nghĩa Tiếng Việt Của Từ, Ảnh Đại Diện Từ, Âm Thanh Đọc Từ, Ví Dụ, Mã
Chủ Đề Trong đó, Mã Từ là khóa chính, Ví Dụ là thuộc tính đa trị
(4) Tập thực thể BÀI HÁT gồm các thuộc tính: Mã Bài Hát, Tên Bài Hát, Ảnh Đại Diện Bài Hát, Đường Dẫn, Mã Chủ Đề, trong đó, Mã Bài Hát
là khóa chính
(5) Tập thực thể CÂU GIAO TIẾP gồm các thuộc tính: Mã Câu Giao Tiếp,
Nội Dung Câu Giao Tiếp,Nghĩa Tiếng Việt Câu Giao Tiếp, Ảnh Đại Diện Câu Giao Tiếp, Âm Thanh Đọc Câu, Mã Chủ Đề, trong đó, Mã Câu Giao Tiếp là khóa chính
(6) Tập thực thể GAME gồm các thuộc tính:Mã Game, Tên Game, Ảnh Đại Diện Game, Mã Danh Mục, trong đó Mã Game là khóa chính
(7) Tập thực thể CÂU HỎI TRẮC NGHIỆM gồm các thuộc tính: Mã Câu
Hỏi, Nội Dung Câu Hỏi, Nghĩa Tiếng Việt, Âm Thanh, Đáp Án A, Đáp
Án B, Đáp Án C, Đáp Án D, Đáp Án Đúng, Mã Game, trong đó, Mã Câu Hỏi là khóa chính