LỜI NÓI ĐẦU 2 DANH SÁCH HÌNH ẢNH 3 MỘT SỐ THUẬT NGỮ VIẾT TẮT 6 CHƯƠNG 1. TỔNG QUAN VỀ ĐỀ TÀI 9 1.1 Lý do chọn đề tài 9 1.2 Mục đích đề tài 9 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT 10 2.1 Giới thiệu về hệ điều hành Android 10 2.1.1 Tổng quan về hệ điều hành Android 10 2.1.2 Kiến trúc của hệ điều hành Android 11 2.1.3 Các thành phần cơ bản của một ứng dụng Android 12 2.1.4 Công nghệ lưu trữ trong Android 19 2.2 Giới thiệu về Web Service trong PHP và MySQL 22 2.2.1 Khái niệm 22 2.2.2 Đặc điểm 22 2.2.3 Kiến trúc của web service 23 CHƯƠNG 3. PHÂN TÍCH THIẾT KẾ 25 3.1 Khảo sát và mô tả bài toán 25 3.1.1 Khảo sát 25 3.1.2 Mô tả bài toán 26 3.2.Phân tích hệ thống 39 3.2.1 Tác nhân và ca sử dụng 39 3.2.2 Biểu đồ ca sử dụng 40 3.2.3 Biểu đồ lớp tham gia ca sử dụng 43 3.2.4 Biểu đồ trình tự 50 3.2.5 Biểu đồ hoạt động 64 3.2.6 Biểu đồ lớp lĩnh vực 76 3.2.7 Biểu đồ lớp chi tiết 77 3.3.Thiết kế cơ sở dữ liệu 77 3.4 Thiết kế giao diện 81 3.4.1 Trang đăng nhập 81 3.4.2 Trang đăng ký 82 3.4.3 Dạy kỹ năng cho bé 83 3.4.4 Tạo lịch trình cho bé 84 3.4.5 Xem lại 85 CHƯƠNG 4. KẾT QUẢ ĐẠT ĐƯỢC 86 4.1 Xây dựng ứng dụng và web service 86 4.2 Một số hình ảnh của ứng dụng 86 4.2.1 Giao diện đăng nhập 86 4.2.2 Giao diện đăng ký 87 4.2.3 Giao diện chính của ứng dụng 88 4.2.4 Giao diện tạo lịch trình cho bé 88 4.2.5 Giao diện dạy kỹ năng cho trẻ 89 4.2.6 Giao diện xem lại lịch trình đã hoàn thành 91 4.2.7 Giao diện xem lại kỹ năng đã học được 91 TỔNG KẾT 92 TÀI LIỆU THAM KHẢO 93
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
Lớp ĐH KTPM2 K7
Hà Nội, 5/2016
Trang 2LỜI NÓI ĐẦU
Trong xã hội hiện đại, bệnh tự kỷ đã trở thành mối quan tâm, lo ngại chungcủa toàn xã hội và ngày càng trở nên phổ biến hơn Từ thành thị cho tới nông thôn,
ở đâu chúng ta cũng có thể bắt gặp những đứa trẻ chậm phát triển Khi trẻ bị chẩnđoán mắc bệnh tự kỷ, các bậc phụ huynh thường không biết phải chữa trị cho conthế nào hoặc “điều trị” sai phương pháp Chính vì vậy, các bậc phụ huynh rất cầnhiểu và nắm bắt được các phương pháp giúp điều trị bệnh ở trẻ tự kỷ Một trongnhững phương pháp đó là phát triển kỹ năng ở trẻ, giúp trẻ sớm hoà nhập cùng cộngđồng
Hiện nay, Android là một hệ điều hành có được thị phần rộng lớn (chiếmkhoảng 81,3%) với kho ứng dụng vô cùng phong phú Người dùng có thể tải, cài đặt
và sử dụng ứng dụng ở mọi lúc mọi nơi Điều đó giúp cho con người ngày càng tiếpcận gần hơn với những công nghệ mới, làm tăng hiệu quả công việc cũng như giảitrí
Cũng vì lý do đó em đã lựa chọn đề tài: “Nghiên cứu và xây dựng ứng dụng giúp phát triển kỹ năng ở trẻ tự kỷ” Em hy vọng rằng, ứng dụng này sẽ giúp các
bậc phụ huynh, các cán bộ y tế, nhân viên chăm sóc trẻ giúp phát triển kỹ năng, tạomôi trường thuận lợi để trẻ phát triển bình thường và sớm hoà nhập với xã hội
Nhân đây em cũng xin cám ơn thầy Phùng Đức Hoà đã luôn chỉ bảo tận tình
trong quá trình học tập và hoàn thiện đồ án này
Em xin chân thành cảm ơn!
Trang 3DANH SÁCH HÌNH ẢNH
Hình 2.1: Kiến trúc của hệ điều hành Android 11
Hình 2.2: Vòng đời của Activity 14
Hình 2.3: Vòng đời của Services 16
Hình 2.4: Giao diện SQLite Manager 21
Hình 3.1: Lưu đồ mô tả ứng dụng 24
Hình 3.2: Lưu đồ mô tả web service 24
Hình 3.3: Biểu đồ ca sử dụng về phía ứng dụng 37
Hình 3.4: Biểu đồ ca sử dụng về phía web service 38
Hình 3.5: Biểu đồ ca sử dụng đăng ký 38
Hình 3.6: Biểu đồ ca sử dụng dạy kỹ năng mới cho trẻ 39
Hình 3.7: Biểu đồ ca sử dụng lên lịch trình cho bé 40
Hình 3.8: Biểu đồ ca sử dụng chọn loại kỹ năng 40
Hình 3.9: Biểu đồ ca sử dụng chọn kỹ năng 41
Hình 3.10: Biểu đồ ca sử dụng chọn chi tiết kỹ năng 41
Hình 3.11: Biểu đồ ca sử dụng xem các bước 41
Hình 3.12: Biểu đồ ca sử dụng xem hoàn thành kỹ năng 41
Hình 3.13: Biểu đồ ca sử dụng chọn công việc 42
Hình 3.14: Biểu đồ ca sử dụng chọn phần thưởng 42
Hình 3.15: Biểu đồ ca sử dụng xem lịch trình hoàn thành 42
Hình 3.16: Biểu đồ ca sử dụng đăng ký 43
Hình 3.17: Biểu đồ ca sử dụng đăng nhập 43
Hình 3.18: Biểu đồ ca sử dụng xem thông tin cá nhân 44
Hình 3.18: Biểu đồ ca sử dụng xem thông tin cá nhân 44
Hình 3.19: Biểu đồ ca sử dụng xem lịch trình đã hoàn thành 44
Hình 3.20: Biểu đồ ca sử dụng cập nhật loại kỹ năng 45
Trang 4Hình 3.21: Biểu đồ ca sử dụng cập nhật kỹ năng 45
Hình 3.22: Biểu đồ ca sử dụng cập nhật chi tiết kỹ năng 45
Hình 3.23: Biểu đồ ca sử dụng cập nhật loại công việc 46
Hình 3.24: Biểu đồ ca sử dụng cập nhật công việc 46
Hình 3.25: Biểu đồ ca sử dụng cập nhật chi tiết công việc 46
Hình 3.26: Biểu đồ ca sử dụng cập nhật phần thưởng 47
Hình 3.27: Biểu đồ trình tự chọn loại kỹ năng 47
Hình 3.28: Biểu đồ trình tự chọn kỹ năng 48
Hình 3.29: Biểu đồ trình tự chọn chi tiết kỹ năng 48
Hình 3.30: Biểu đồ trình tự xem các bước 49
Hình 3.31: Biểu đồ trình tự hoàn tất kỹ năng 49
Hình 3.32: Biểu đồ trình tự chọn công việc 50
Hình 3.33: Biểu đồ trình tự chọn phần thưởng 50
Hình 3.34: Biểu đồ trình tự hoàn tất lịch trình 51
Hình 3.35: Biểu đồ trình tự đăng ký 52
Hình 3.36: Biểu đồ trình tự đăng nhập 53
Hình 3.37: Biểu đồ trình tự xem lại lịch trình hoàn thành 53
Hình 3.38: Biểu đồ trình tự cập nhật loại kỹ năng 54
Hình 3.39: Biểu đồ trình tự cập nhật kỹ năng 55
Hình 3.40: Biểu đồ trình tự cập nhật chi tiết kỹ năng 56
Hình 3.41: Biểu đồ trình tự cập nhật loại công việc 57
Hình 3.42: Biểu đồ trình tự cập nhật công việc 58
Hình 3.43: Biểu đồ trình tự cập nhật chi tiết công việc 59
Hình 3.44: Biểu đồ trình tự cập nhật phần thưởng 60
Hình 3.45: Biểu đồ hoạt động đăng ký cho cha mẹ 61
Trang 5Hình 3.47: Biểu đồ hoạt động xem lịch trình đã hoàn thành 63
Hình 3.48: Biểu đồ hoạt động tạo lịch trình cho bé 64
Hình 3.49: Biểu đồ hoạt động xem kỹ năng đã học được 64
Hình 3.50: Biểu đồ hoạt động dạy kỹ năng mới cho trẻ 65
3.51: Biểu đồ hoạt động cập nhật phần thưởng 66
Hình 3.52: Biểu đồ hoạt động cập nhật loại kỹ năng 67
Hình 3.53: Biểu đồ hoạt động cập nhật kỹ năng 68
Hình 3.54: Biểu đồ hoạt động cập nhật kỹ năng 69
Hình 3.55: Biểu đồ hoạt động cập nhật loại công việc 70
Hình 3.56: Biểu đồ hoạt động cập nhật công việc 71
Hình 3.57: Biểu đồ cập nhật chi tiết công việc 72
Hình 3.58: Biểu đồ lớp lĩnh vực 73
Hình 3.59: Biểu đồ lớp chi tiết 74
Hình 3.60: Giao diện login 78
Hình 3.61: Giao diện đăng ký 79
Hình 3.62: Giao diện dạy kỹ năng cho bé 80
Hình 3.63: Giao diện tạo lịch trình cho bé 81
Hình 3.64: Giao diện xem lại 82
Trang 6MỘT SỐ THUẬT NGỮ VIẾT TẮT
sớm ở trẻ tự kỷ
A365
Center for Creative Initiatives in
Health and Population
Trung tâm Sáng kiến sức khoẻ
và dân số
CCIHP
Application Programming
Interface
Trang 7LỜI NÓI ĐẦU 2
DANH SÁCH HÌNH ẢNH 3
MỘT SỐ THUẬT NGỮ VIẾT TẮT 6
CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 9
1.1 Lý do chọn đề tài 9
1.2 Mục đích đề tài 9
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 10
2.1 Giới thiệu về hệ điều hành Android 10
2.1.1 Tổng quan về hệ điều hành Android 10
2.1.2 Kiến trúc của hệ điều hành Android 11
2.1.3 Các thành phần cơ bản của một ứng dụng Android 12
2.1.4 Công nghệ lưu trữ trong Android 19
2.2 Giới thiệu về Web Service trong PHP và MySQL 22
2.2.1 Khái niệm 22
2.2.2 Đặc điểm 22
2.2.3 Kiến trúc của web service 23
CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ 25
3.1 Khảo sát và mô tả bài toán 25
3.1.1 Khảo sát 25
3.1.2 Mô tả bài toán 26
3.2.Phân tích hệ thống 39
3.2.1 Tác nhân và ca sử dụng 39
3.2.2 Biểu đồ ca sử dụng 40
3.2.3 Biểu đồ lớp tham gia ca sử dụng 43
Trang 83.2.4 Biểu đồ trình tự 50
3.2.5 Biểu đồ hoạt động 64
3.2.6 Biểu đồ lớp lĩnh vực 76
3.2.7 Biểu đồ lớp chi tiết 77
3.3.Thiết kế cơ sở dữ liệu 77
3.4 Thiết kế giao diện 81
3.4.1 Trang đăng nhập 81
3.4.2 Trang đăng ký 82
3.4.3 Dạy kỹ năng cho bé 83
3.4.4 Tạo lịch trình cho bé 84
3.4.5 Xem lại 85
CHƯƠNG 4 KẾT QUẢ ĐẠT ĐƯỢC 86
4.1 Xây dựng ứng dụng và web service 86
4.2 Một số hình ảnh của ứng dụng 86
4.2.1 Giao diện đăng nhập 86
4.2.2 Giao diện đăng ký 87
4.2.3 Giao diện chính của ứng dụng 88
4.2.4 Giao diện tạo lịch trình cho bé 88
4.2.5 Giao diện dạy kỹ năng cho trẻ 89
4.2.6 Giao diện xem lại lịch trình đã hoàn thành 91
4.2.7 Giao diện xem lại kỹ năng đã học được 91
TỔNG KẾT 92
TÀI LIỆU THAM KHẢO 93
Trang 9CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 1.1 Lý do chọn đề tài
Chiếm tới 81,3%, Android hiện vẫn là hệ điều hành thống trị thị trường Những ứng dụng trên nền tảng Android rất phong phú và đa dạng Và nó cũng đem lại những nguồn lợi to lớn cho lập trình viên nhờ số lượng người dùng đông đảo Nó có lợi thế hơn so với những hệ thống website hay ứng dụng trên desktop nhờ tính linh hoạt, nhỏ gọn, cách tiếp cận người dùng một cách nhanh chóng
Thị trường các ứng dụng Android tại Việt Nam hiện nay khá phong phú Nhưng những sản phẩm đặc biệt chuyên về chăm sóc sức khỏe cộng đồng vẫn
còn khá ít Chính vì vậy mà em chọn lựa đề tài “Nghiên cứu và xây dựng ứng dụng giúp phát triển kỹ năng ở trẻ tự kỷ” Đây sẽ là ứng dụng giúp
những bậc phụ huynh tương tác, hướng dẫn và giúp phát triển kỹ năng ở trẻ tự.
Trang 10CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu về hệ điều hành Android
2.1.1 Tổng quan về hệ điều hành Android
Android là một hệ điều hành có mã nguồn mở dựa trên nền tảng Linux đượcthiết kế dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thôngminh và máy tính bảng
Một trong những tính năng của nền tảng Android là không có sự khác biệt giữaứng dụng built-in và các ứng dụng được tạo ra với SDK Điều này có nghĩa là cácứng dụng có thể được viết để khai thác vào các nguồn tài nguyên có sẵn trên thiết
+ Kho ứng dụng quá nhiều dẫn đến khó kiểm soát chất lượng, thiếu các ứngdụng thật sự tốt
+ Sự phân mảnh lớn Trong khi một số thiết bị Android xuất sắc đã trình làngnhư Galaxy S5, Galaxy Note 4, Xperia Z3…, vẫn còn rất nhiều sản phẩm giá rẻbình thường khác
Trang 11+ Cập nhật không tự động với tất cả thiết bị Khi một phiên bản hệ điều hànhmới ra mắt, không phải tất cả sản phẩm đều được cập nhật, thậm chí nếu muốntrải nghiệm bạn thường xuyên phải mua mới thiết bị.
2.1.2 Kiến trúc của hệ điều hành Android
Hệ điều hành Android có các thành phần phần mềm tạm chia thành 5 phần với
4 tầng chính trong sơ đồ kiến trúc như hình dưới đây:
Hình 2.1: Kiến trúc của hệ điều hành Android
Tầng 1: Tầng Application
Là tầng ở trên cùng cách xa với phần cứng nhất: Chứa các ứng dụng mà lập trình viên phát triển như : Browser, Contacts, Media…
Tầng 2: Application Framework
• Activity Manager - quản lý vòng đời của các ứng dụng
• Windows Manager - quản lý form của các ứng dụng
• Content Providers - cho phép các ứng dụng truy cập dữ liệu từ các ứng dụngkhác hoặc để chia sẻ dữ liệu của riêng ứng dụng
Trang 12• Google xây dựng cho các developer để phát triển các ứng dụng của họ trênAndroid chỉ bằng cách gọi các API.
• View UI - để xây dựng layout của ứng dụng bao gồm: list view, text field,button, dialog, form …
• Resource Manager - cung cấp cách thức truy cập đến non-code resources nhưcác asset, graphic, image, music, video …
• Notification Manager - cho phép tất cả các ứng dụng hiển thị thông báo củamình trên hệ điều hành
Tầng 3: Libraries
Là các thư viện được viết bằng ngôn ngữ C/C++ sẽ được các developer phát triểnứng dụng android thông qua tầng Android Framework Có thể kể ra đây một số thưviện quen thuộc với các lập trình viên như:
• Media Libraries – mở rộng từ PacketVideo’s OpenCORE Hỗ trợ nhiều địnhdạng video và image phổ biến: MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
• Surface Manager – quản lý việc hiển thị và kết hợp đồ họa 2D và 3D
• LibWebCore – dùng webkit engine cho việc render trình duyệt mặc định củaHDH Android browser và cho dạng web nhúng (như HTML nhúng)
• OpenGL|ES – thư viện đồ họa 2D và 3D
• SQLite – quản lý database của ứng dụng
• Runtime Android gồm một tập hợp các thư viện Java Core
• Máy ảo Dalvik thực thi các file định dạng dex (Dalvik Excutable)
• Mỗi ứng dụng Android chạy trên tiến trình riêng của máy ảo Dalvik Dalvikđược viết để chạy nhiều máy ảo cùng một lúc một cách hiệu quả trên cùng một thiếtbị
Tầng 4: Kernel Linux layer:
Dựa trên Kernel Linux version 2.6 bởi nó cung cấp các trình điều khiển các thiết
bị phần cứng(driver), quản lý tiến trình, quản lý tài nguyên, bảo mật, như sau:
•Security system
•Memory management
•Process management
•Network stack
Trang 13Lớp cơ sở Activity định nghĩa một loạt các sự kiện mà điều chỉnh vòng đời củamột hoạt động Class Activity định nghĩa các sự kiện sau đây:
- onCreate(): Được gọi khi hoạt động được tạo ra lần đầu tiên
- onStart(): Được gọi khi hoạt động trở nên hữu hình so với người dùng
- onResume(): Được gọi khi hoạt động bắt đầu tương tác với người sử dụng
- onPause(): Được gọi để dừng các hoạt động hiện tại và nối lại các hoạt động trước đó
- onStop(): Được gọi khi hoạt động không còn hiển thị với người dùng
- onDestroy(): Được gọi trước khi hoạt động bị phá hủy bởi hệ thống (bằng tay hoặc bằng hệ thống để bảo tồn bộ nhớ)
- onRestart(): Được gọi khi hệ thống đã được dừng lại và khởi động lại một lần nữa
Trang 14Vòng đời hoạt động của Activity
Hình 2.2: Vòng đời của Activity
- Toàn bộ thời gian sống của một activity xảy ra giữa lời gọi hàmonCreate() và onDestroy() Activity của bạn nên thực hiện thiết đặt toàn cục “globalsetup” như định nghĩa layout trong hàm onCreate(), và trả lại toàn bộ tài nguyêntrong phương thức onDestroy() Ví dụ, nếu một activity có một tuyến đang chạyngầm để download dữ liệu, nó có thể tạo ra tuyến đó trong phương thức onCreate()
và dừng tuyến trong phương thức onDestroy()
- Thời gian sống thật (visible lifetime) của một activity xảy ra giữa lời gọiphương thức onStart() và onStop() Trong suốt thời gian này, người dùng có thểnhìn thấy activity trên màn hình và tương tac với chúng.Ví dụ, onStop() được gọikhi một activity mới bắt đầu.Giữa hai phương thức này, bạn có thể quản lý cácnguồn tài nguyên cần thiết để hiển thị activity tới người dùng.Ví dụ, bạn đăng kýmột BroadcastReceiver trong onStart() để giám sát thay đổi tác động tới giao diện
Trang 15của, và hủy đăng ký trong phương onStop() khi người dùng không thấy giao diệnActivity xuất hiện và ẩn với người dùng
- Thời gian chờ foreground lifetime của một activity xảy ra giữa hai lời gọi Resume() và onPause() Trong suốt thời gian này, activity là nền cho các activitykhác trên màn Một activity có thể thường xuyên chuyển trạng thái thành trạng tháichờ và hoạt – ví dụ, onPause() được gọi khi thiết bị phần cứng ở trạng thái ngủ(sleep) hoặc một hộp thoại xuất hiện Bởi vì trạng thái này có thể xảy ra thườngxuyên nên mã lệnh trong hai phương thức này nên được viết cẩn thận để tăng tốc độchuyển giữa các chế độ
on-2.1.3.2 Services
Một service không có giao diện trực quan, nó chạy trên nền trong một khoảngthời gian không xác định Ví dụ một service có thể chơi nhạc nền, hay nó nạp dữliệu trên mạng hay tính toán cái gì đó và cung cấp kết quả cho activity cần đến nó.Mỗi service mở rộng từ lớp cơ sở Service
Một ví dụ cổ điển là media player chơi các bài hát từ một danh sách Ứngdụng player có thể có một hay hai activity cho phép người dùng chọn bài hát và bắtđầu chơi Tuy nhiên, music playback không tự nó được xử lý bởi một activity bởi vìngười dùng sẽ mong muốn chơi tiếp nhạc khi họ rời khỏi player và làm cái gì đókhác Để tiếp tục chơi nhạc, media player activity có thể khởi động một servicechạy trên nền Hệ thống sẽ giữ cho music playback service chạy thậm chí khiactivity khởi động nó rời khỏi màn hình
Trong khi kết nối, bạn có thể giao tiếp với dịch vụ thông qua giao diện màservice đó trưng ra Ví dụ như trong music service, giao diện này có thể cho phépngười dùng pause, rewind, stop và restart lại playback
Trang 16Giống như các activity và các thành phần khác khác, service chạy trong threadchính của tiến trình ứng dụng Vì thế chúng không thể chặn những thành phần kháchay giao diện người dùng, chúng thường tạo ra các thead khác cho các nhiệm vụhao tốn thời gian.
Hình 2.3: Vòng đời của Services
2.1.3.3 Content Provider
Content providers quản lý truy cập tới dữ liệu Chúng đóng gói dữ liệu, và cungcấp cơ chế cho phép định nghĩa bảo mật dữ liệu Content providers là giao diệnchuẩn kết nối dữ liệu trong một tiến trình cùng với mã nguồn chạy trong các tiếntrình khác
Khi bạn muốn kết nối tới dữ liệu trong content provider, bạn sử đối tượngContentRe - solver trong ứng dụng Context để giao tiếp với provider như một máykhách Đối tượng ContentResolver giao tiếp với đối tượng, một thể hiện của lớptriển khai từ giao diện ContentProvider Đối tượng provider nhận dữ liệu yêu cầu từclients, xử lý yêu cầu và trả lại kết quả
Một số chủ đề quan trọng của Content Provider:
Content Provider Basics
Creating a Content Provider
Calendar Provider
Trang 17 Contact Provider
2.1.3.4 Broadcast Receive
Một Broadcast Rreceiver là một thành phần không làm gì ngoài việc nhận và đáplại các thông báo broadcast Nhiều broadcast khởi đầu trong mã hệ thống - ví dụnhư thông báo múi giờ thay đổi, pin yếu, ảnh đã được chụp, hay người dùng đã thayđổi ngôn ngữ… Các ứng dụng có thể tạo ra các broadcast, chẳng hạn để ứng dụngkhác biết được một số dữ liệu đã được tải về thiết bị và sẵn sàng cho việc sử dụngchúng
Một ứng dụng có thể có một số Broadcast Receiver để đáp lại bất cứ thông báonào mà nó cho là quan trọng Tất cả các receiver mở rộng từ lớp cơ sởBroadcastReceiver
Broadcast Receiver không hiển thị một giao diện người dùng Tuy nhiên chúng
có thể bắt đầu một activity để đáp lại thông tin mà chúng nhận, hay chúng có thể sửdụng NotificationManager để cảnh báo người dùng Notifications có thể lấy sự chú
ý của người dùng bằng nhiều cách như lóe sáng đèn sau, rung, tạo ra âm thanh, Chúng thường tạo một biểu tượng trong thanh trạng thái, nhờ đó người dùng có thể
mở để lấy thông điệp
2.1.3.5 Intents và Intent filter
Intents được sử dụng nhưg một cơ chế gửi thông điệp triệu gọi một hành động để
xử lý, thường đi kèm với dữ liệu
Bạn có thể sử dụng Intents để hỗ trợ sự tương tác giữa bất kỳ thành phần ứngdụng trên một thiết bị Android Nó trả ra một tập các thành phần độc lập tới mộtthành phần đơn lẻ, kết nối bên trong hệ thống
Intents thường được sử dụng để bắt đầu một Activity mới, bên trong hoặc bênngoài ứng dụng
Android sử dụng Intents quảng bá để thông báo các sự kiện của hệ thống, nhưthay đối trạng thái kết nối Internet hoặc dung lượng pin Các ứng dụng Android đơngiản như phone dialer và trình quản lý tin nhắn (SMS manager) đăng ký các thànhphần lnawns nghe Intents quảng bá như “nhận một cuộc gọi đến” hoặc “nhận mộttin nhắn”
Trang 18Sử dụng Intents để lan truyền các hành động – sự kiện bên trong các ứng dụng
giống nhau – là một phần cơ bản của nguyên lý thiết kế Android.
Để mở một màn hình ứng dụng khác (Activity) trong ứng dụng của bạn, gọiphương thức startActivity, thông qua một Intent
startActivity(myIntent);
Khi phương thức này được gọi, nó sẽ tìm và kích hoạt một Activity đơn mà nótìm thấy trong ứng dụng Khi sử dụng startActivity, ứng dụng của bạn sẽ khôngnhận bất
kỳ thông báo nào đến khi quá trình kích hoạt kết thúc
2.1.3.6 Process và Thread
Một ứng dụng có thể bao gồm một hay nhiều tiến trình Một tiến trình là một đơn
vị cơ bản khi một chương trình được thực thi Một hoặc nhiều tuyến (Thread) luônchạy bên trong một tiến trình Tuyến là một thực thể trong một tiến trình, nó có thểđược lập lịch cho việc thực thi Một tiến trình bắt đầu với một tuyến đơn (a singlethread), luôn gọi đến một tuyến chính hoặc mặc định Hơn thế nữa, tuyến có thểđược tạo ra một cách tự động nếu cần thiết
Process
Mỗi ứng dụng là một tiến trình có tài nguyên và không gian bộ nhớ riêng Trongmột tiến trình có thể có một hoặc nhiều tuyến
Android có thể quyết định tắt một tiến trình tại một vài thời điểm, khi bộ nhớ đầy
và được yêu cầu bởi các tiến trình khác Các thành phần ứng dụng chạy trong tiếntrình bị chết là kết quả của việc gọi hàm hủy Một tiến trình được khởi động trở lạikhi các tiến trình khác kích hoạt chúng
Khi quyết định tiến trình nào bị hủy, Android đánh trọng số quan trọng của tiếntrình đó với người dùng Ví dụ, hệ thống sẽ tắt tiến trình hosting vì nó không xuấthiện trên màn hình trong thời gian dài, do đó, phụ thuộc vào trạng thái của cácthành phần đang chạy mà hệ thống sẽ quyết định hủy tiến trình nào
Thread
Thông thường dùng Thread để xử lý các code xử lý nặng, hoặc mất thời gian cóthể gây chậm chương trình hoặc giao diện bị block
Trang 19Thread khá thông dụng và trong Android dùng lớp Thread củaJava.
Mặc định, mỗi ứng dụng chạy trong một process và code được thực thi trongthread chính của process đó
Nếu code xử lý quá lâu, không kịp phản hồi lại các sự kiện người dùng trong 5giây thì sẽ xuất hiện dialog “Application is not responding” và người dùng có thểforce close ứng dụng ngay lập tức
Dù không bị đóng ứng dụng thì việc ứng dụng bị chậm là khóchấp nhận
Handler
Trong Android, để tiện việc giao tiếp giữa 2 thread ta dùng đối tượng Handler.Ngoài ra, có thể dùng Handler để đặt xử lý một yêu cầu nào đó sau một khoảngthời gian xác định
2.1.4 Công nghệ lưu trữ trong Android
2.1.4.1 Shared Preferences
Có hai công nghệ cho phép lưu dữ liệu đơn giản của ứng dụng là SharedPreferences và một cặp của sự kiện xảy ra được sử dụng để lưu trạng thái của mộtActivity Cả hai cơ chế này dùng cặp tên (name)/giá trị (value) để lưu các giá trịđơn giản
Sử dụng Shared Provider bạn có thể tạo một tập các các cặp key/value bên trongứng dụng của bạn và có thể chia sẻ giữa các thành phần trong một ứng dụng.Shared Provider hỗ trợ các kiểu dữ liệu cơ bản như Boolean, string, float, long vàinteger
- Tạo và lưu trữ Preferences
Để tạo và thay đổi một Shared Provider, gọi phương thức getSharedPreferencestrên ứng dụng Shared Provider chia sẻ dữ liệu thông qua các thành phần của mộtứng dụng nhưng không có khả năng chia sẻ tới các ứng dụng khác
Để thay đổi một Shared Provider dùng lớp SharedPreferences.Editer Lấy đốitượng Editer bằng việc gọi phương thức edit() trên đối tượng Shared Provider màbạn muốn thay đổi Để lưu lại các thay đổi, gọi hàm commit()
Trang 20- Lấy về giá trị Preferences chia sẻ
Truy cập tới dữ liệu được chia sẻ thông qua phương thức getSharedPreferences Thông qua tên của Shared Preferences bạn muốn truy cập, và sử dụng phươngthức get<type> để lấy về giá trị, trong đó type là kiểu dữ liệu được lưu trữ trước đó
2.1.4.2 Internal Storage
File được lưu trực tiếp trên thiết bị bộ nhớ trong.(Internal Storage)
Dữ diệu này là private và chỉ chịu sự quản lí của chính ứng dụng đang chạy nó,các ứng dụng khác không thể truy cập được
2.1.4.3 External Storage
Dữ liệu được lưu trữ ở bộ nhớ ngoài ( External Storage )
- Ưu điểm:
Không gian lưu trữ lớn
Dễ di chuyển giữa các thiết bị :PC, Mobile
2.1.4.5 Cơ sở dữ liệu SQLite
SQLite cơ bản là 1 hệ quản trị cơ sở dữ liệu thu nhỏ, nó không có server, thao táctrên file và có thể sử dụng bởi bất cứ hệ điều hành nào
SQLite cần rất ít bộ nhớ lúc chạy (khoảng 250kb) do được tích hợp như một thưviện, là một phần của chương trình khi được tạo ra nên chạy nhanh hơn các hệCSDL mà tạo ra tiến trình chạy song song
SQLite cung cấp dữ liệu dưới 3 dạng: Text, Integer, Real Tất cả kiểu khác phảiđược chuyển về một trong 3 dạng trên trước khi được lưu trữ SQLite sẽ khôngkiểm tra ràng buộc dữ liệu được lưu
Trang 21Cơ sở dữ liệu do SQLite tạo ra sẽ private, tức là chỉ sử dụng cho bản thân ứngdụng.
- Ưu điểm của SQLite
Tính toàn vẹn: đảm bảo dữ liệu được chuyển đổi đầy đủ, không gây ra mấtmát dữ liệu khi có lỗi phần cứng
Cấu trúc gọn nhẹ, không cần cài đặt cấu hình
Các thao tác đơn giản sẽ nhanh hơn hệ thống server
Trong Android, chúng ta không cần cài đặt nhiều, chỉ cần cung cấp các hàm
để thao tác và chương trình sẽ quản lí phần còn lại
Để có thể dễ dàng thao tác với SQLite chúng ta có thể sử dụng trình duyệtFireFox và tải về plugin SQLite tại link sau:
http://code.google.com/p/sqlite-manager/
Sau khi tải về file xpi, kéo file này vào cửa sổ firefox để cài đặt plugin
Sau khi cài đặt plugin xong thì vào Menu_tools trong firefox sẽ có chức năngSQLite Manager Giao diện của SQLite manager trong firefox như sau:
Hình 2.4: Giao diện SQLite Manager
Trang 222.1.4.6 Network Connection
Network Connection : Là cách thức lưu trữ dữ liệu trên các web service và là mộttrong những phương pháp được sử dụng khá phổ biến hiện nay ở các ứng dụng
Trang 232.2 Giới thiệu về Web Service trong PHP và MySQL
2.2.1 Khái niệm
Theo định nghĩa của W3C, web service là một hệ thống phần mềm được thiết kế
để hỗ trợ khả năng tương tác giữa các ứng dụng trên các máy tính khác nhau thôngqua mạng Internet Giao diện chung và sự gắn kết của nó được mô tả bằngXML.Web service là tài nguyên phần mềm có thể xác định bằng địa chỉ URL, thựchiện các chức năng và đưa ra các thông tin người dùng yêu cầu Một Web serviceđược tạo nên bằng cách lấy các chức năng và đóng gói chúng sao cho các ứng dụngkhác dễ dàng nhìn thấy và có thể truy cập đến những dịch vụ mà nó thực hiện, đồngthời có thể yêu cầu thông tin từ Web service khác Nó bao gồm các mô đun độc lậpcho hoạt động của khách hàng và doanh nghiệp và bản thân nó được thực thi trênserver
2.2.2 Đặc điểm
- Web service cho phép client và server tương tác được với nhau ngay cả trongnhững môi trường khác nhau Ví dụ, đặt Web server cho ứng dụng trên một máychủ chạy hệ điều hành Linux trong khi người dùng sử dụng máy tính chạy hệ điềuhành Windows, ứng dụng vẫn có thể chạy và xử lý bình thường mà không cần thêmyêu cầu đặc biệt để tương thích giữa hai hệ điều hành này
- Phần lớn kĩ thuật của Web service được xây dựng dựa trên mã nguồn mở vàđược phát triển từ các chuẩn đã được công nhận, ví dụ như XML
- Một Web service bao gồm có nhiều mô-đun và có thể công bố lên mạngInternet
- Là sự kết hợp của việc phát triển theo hướng từng thành phần với những lĩnhvực cụ thể và cơ sở hạ tầng Web, đưa ra những lợi ích cho cả doanh nghiệp, kháchhàng, những nhà cung cấp khác và cả những cá nhân thông qua mạng Internet
- Một ứng dụng khi được triển khai sẽ hoạt động theo mô hình client-server Nó
có thể được triển khai bởi một phần mềm ứng dụng phía server ví dụ như PHP,Oracle Application server hay Microsoft.Net…
- Ngày nay Web service đang rất phát triển, những lĩnh vực trong cuộc sống cóthể áp dụng và tích hợp Web service là khá rộng lớn như dịch vụ chọn lọc và phânloại tin tức (hệ thống thư viện có kết nối đến web portal để tìm kiếm các thông tin
Trang 24cần thiết); ứng dụng cho các dịch vụ du lịch (cung cấp giá vé, thông tin về địađiểm…), các đại lý bán hàng qua mạng, thông tin thương mại như giá cả, tỷ giá hốiđoái, đấu giá qua mạng…hay dịch vụ giao dịch trực tuyến như đặt vé máy bay,thông tin thuê xe…
- Các ứng dụng có tích hợp Web service đã không còn là xa lạ, đặc biệt trongđiều kiện thương mại điện tử đang bùng nổ và phát triển không ngừng cùng với sựlớn mạnh của Internet Bất kì một lĩnh vực nào trong cuộc sống cũng có thể tích hợpvới Web service, đây là cách thức kinh doanh và làm việc có hiệu quả bởi thời đạingày nay là thời đại của truyền thông và trao đổi thông tin qua mạng Do vậy, việcphát triển và tích hợp các ứng dụng với Web service đang được quan tâm phát triển
là điều hoàn toàn dễ hiểu
2.2.3 Kiến trúc của web service
Web service gồm có 3 chuẩn chính: SOAP (Simple Object Access Protocol),WSDL (Web Service Description Language) và UDDI (Universal Description,Discovery, and Integration) Hình 1 mô tả chồng giao thức của Web service, trong
đó UDDI được sử dụng để đăng ký và khám phá Web service đã được miêu tả cụthể trong WSDL Giao tác UDDI sử dụng SOAP để nói chuyện với UDDI server,sau đó các ứng dụng SOAP yêu cầu một Web service Các thông điệp SOAP đượcgửi đi chính xác bởi HTTP và TCP/IP
Chồng giao thức Web service là tập hợp các giao thức mạng máy tính được sửdụng để định nghĩa, xác định vị trí, thi hành và tạo nên Web service tương tác vớinhững ứng dụng hay dịch vụ khác Chồng giao thức này có 4 thành phần chính:
- Dịch vụ vận chuyển (Service Transport): có nhiệm vụ truyền thông điệp giữacác ứng dụng mạng, bao gồm những giao thức như HTTP, SMTP, FTP, JSM và gầnđây nhất là giao thức thay đổi khổi mở rộng (Blocks Extensible Exchange Protocol-BEEP)
- Thông điệp XML: có nhiệm vụ giải mã các thông điệp theo định dạng XML để
có thể hiểu được ở mức ứng dụng tương tác với người dùng Hiện tại, những giaothức thực hiện nhiệm vụ này là XML-RPC, SOAP và REST
- Mô tả dịch vụ: được sử dụng để miêu tả các giao diện chung cho một Webservice cụ thể WSDL thường được sử dụng cho mục đích này, nó là một ngôn ngữ
Trang 25mô tả giao tiếp và thực thi dựa trên XML Web service sẽ sử dụng ngôn ngữ này đểtruyền tham số và các loại dữ liệu cho các thao tác và chức năng mà Web servicecung cấp.
- Khám phá dịch vụ: tập trung dịch vụ vào trong một nơi được đăng ký, từ đógiúp một Web service có thể dễ dàng khám phá ra những dịch vụ nào đã có trênmạng, tốt hơn trong việc tìm kiếm những dịch vụ khác để tương tác Một Webservice cũng phải tiến hành đăng ký để các dịch vụ khác có thể truy cập và giaotiếp Hiện tại, UDDI API thường được sử dụng để thực hiện công việc này
Trong đó, tầng giao thức tương tác dịch vụ (Service Communication Protocol)với công nghệ chuẩn là SOAP SOAP là giao thức nằm giữa tầng vận chuyển vàtầng mô tả thông tin về dịch vụ, cho phép người dùng triệu gọi một dịch vụ từ xathông qua một thông điệp XML Ngoài ra, để các dịch vụ có tính an toàn, toàn vẹn
và bảo mật thông tin, trong kiến trúc Web service, chúng ta có thêm các tầng Policy,Security, Transaction, Management
- Giai đoạn triển khai: công bố định nghĩa dịch vụ, xây dựng WSDL và triển khai
mã thực thi của dịch vụ Web Triển khai dịch vụ Web tới một ứng dụng phía server,sau đó sẽ công bố dịch vụ Web trên mạng Internet để các client có thể nhìn thấy Sửdụng UDDI registry để công bố lên mạng
Trang 26- Giai đoạn tiến hành: tìm kiếm và gọi thực thi dịch vụ Web bởi những ngườidùng muốn sử dụng dịch vụ
- Quản lý: Quản lý và quản trị dịch vụ, duy trì sự ổn định của dịch vụ, cập nhậtthông tin mới, sửa lỗi khi nó xảy ra…
Để xây dựng một dịch vụ Web, chúng ta cần hiểu được những việc phải làm vànên bắt đầu từ đâu Có 3 cách tiếp cận chủ yếu để xây dựng nên một dịch vụ Web,
có thể từ một ứng dụng đã có (bottom-up); từ một định nghĩa dịch vụ, WSDL đểphát sinh một ứng dụng mới (top-down) hoặc có thể từ một nhóm các dịch vụ Webhiện có, kết hợp lại với nhau để tạo nên các chức năng mới hoặc mở rộng thêm chứcnăng Những hướng tiếp cận này dựa trên những gì mà chúng ta đã có, tùy thuộcvào yêu cầu của hệ thống, trong đó tối đa việc sử dụng lại các chức năng, các thànhphần, môđun đã được xây dựng
Qui trình xây dựng một dịch vụ Web bao gồm các bước sau:
- Định nghĩa và xây dựng các chức năng, các dịch vụ mà dịch vụ sẽ cung cấp
- Tạo WSDL cho dịch vụ
- Xây dựng SOAP server
- Đăng ký WSDL với UDDI registry để cho phép các client có thể tìm thấy vàtruy xuất
- Client nhận file WSDL và từ đó xây dựng SOAP client để có thể kết nối vớiSOAP server
- Xây dựng ứng dụng phía client và sau đó gọi thực hiện dịch vụ thông qua việckết nối tới SOAP server
Trang 27CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ 3.1 Khảo sát và mô tả bài toán
3.1.1 Khảo sát
3.1.1.1 Báo động chứng tự kỷ ở trẻ em tại Việt Nam
Một thống kê gần đây của Trung tâm Phòng chống và Kiểm soát bệnh dịch củaHoa Kỳ cho thấy tỉ lệ trẻ em mắc bệnh tự kỷ ngày càng tăng Cứ 88 trẻ thì có 1 em
bị tự kỷ Tại Việt Nam, theo thống kê của ngành giáo dục Hà Nội, tự kỷ là khuyếttật có tỉ lệ cao nhất ở trường học, chiếm 30% số trẻ mắc các khuyết tật học đường.Nhưng từng đó chưa nói hết lên thực trạng vì còn rất nhiều trẻ tự kỷ không đếntrường đi khi đến tuổi đi học Điều đáng lo ngại hơn là thông tin liên quan tới bệnhnày ở châu Á nói chung và Việt Nam vẫn còn nhiều hạn chế, vì vậy có thể ảnhhưởng tới việc điều trị cho trẻ
Để có thể tìm ra được phương pháp điều trị cho trẻ thì trước tiên ta phải hiểu rõ:Thế nào là tự kỷ? Các dấu hiệu của bệnh ra sao?
Tự kỷ hay còn gọi là rối loạn tự kỷ, là một loại khuyết tật, một dạng rối loạn pháttriển, thường xuất hiện trong 3 năm đầu đời Người mắc chứng tự kỷ không có giaotiếp, tương tác với xã hội và những người khác Và do vậy, sự phát triển về tâm lý
và xã hội đều hạn chế
Các dấu hiệu của bệnh:
- Trẻ chậm chễ trong ngôn ngữ nói (không nói được từ đơn khi 16-18 tháng tuổi,không nói được từ đôi khi 24 tháng, trẻ chậm nói so với những bé cùng tuổi, trẻ nóinhững từ không có nghĩa, hay gầm gừ, có dấu hiệu lặp lại 1 từ hay một câu vônghĩa)
- Trẻ có khó khăn trong giao tiếp với người khác (trẻ không cười, nhìn vào mắtngười khác trong khi nói chuyện, không có sự tương tác với người chăm sóc)
- Trẻ có những hành vi dập khuôn, định hình (như quay tròn, đi nhón chân, thíchchơi với các đồ vật hình tròn, phát âm các từ rỗng, bật tắt công tắc liên tục…)
- Trẻ khó thích nghi với những thay đổi hoàn cảnh (thay đổi chỗ ngồi, nơi ngủ,
đồ ăn… trẻ thường khó thích nghi)
Việc chẩn đoán trẻ bị mắc chứng tự kỷ là rất khó, vì phải trải qua 1 thời gian dàitheo dõi cũng như dựa trên những bài đánh giá của các chuyên gia Các triệu chứng
Trang 28thuộc nhóm khiếm khuyết xuất hiện cùng một thời điểm, ít nhất có 3 triệu chứngthuộc mỗi nhóm, các triệu chứng phải tồn tại ít nhất 6 tháng, xuất hiện trước 36tháng tuổi, đặc biệt chỉ chẩn đoán tự kỷ từ 36 tháng tuổi trở đi
Để điều trị hiệu quả thì phải chẩn đoán và can thiệp từ sớm Việc can thiệp sớm,một cách bài bản, toàn diện, hợp lý và kiên trì trước 40 tháng tuổi thì trẻ có thể tiến
bộ tốt, phát triển tương đối bình thường để hoà nhập một cách tương đối trong môitrường gia đình, nhà trường và xã hội
3.1.1.2 Trung tâm Sáng kiến Sức khoẻ và Dân số
Trung tâm Sáng kiến Sức khỏe và Dân số (CCIHP) là một tổ chức phi chính phủViệt Nam được thành lập năm 2008 CCIHP được thành lập nhằm đáp ứng các vấn
đề phức tạp về sức khỏe và dân số trong xã hội Việt Nam đương đại CCIHP sẽ gópphần giải quyết các vấn đề này thông qua những chiến lược và phương pháp tiếpcận sáng tạo
Dự án “Ứng dụng phần mềm trong chăm sóc thông minh với trẻ tự kỷ (A365)” là sự kết hợp của khoa học kỹ thuật tiên tiến, sáng kiến xã hội và thương
mại để phát triển ứng dụng phần mềm trên điện thoại thông minh nhằm hỗ trợ chotrẻ em rối loạn tự kỷ Mục tiêu của dự án là phát triển phần mềm hỗ trợ sàng lọc vàchăm sóc trẻ tự kỷ tại nhà, và thí điểm mô hình lồng ghép sàng lọc trong các đợtkhám sức khỏe thường quy cho trẻ em Hiện tại, dự án đang muốn xây dựng ứngdụng và hệ thống giúp phát triển kỹ năng ở trẻ tự kỷ để sớm hoà nhập cùng cộngđồng Vì vậy, em muốn thông qua đồ án xây dựng ứng dụng và hệ thống này
3.1.2 Mô tả bài toán
Trang 293.1.2.2 Lưu đồ mô tả bài toán
- Về phía ứng dụng:
Hình 3.1: Lưu đồ mô tả ứng dụng
- Về phía Web service:
Hình 3.2: Lưu đồ mô tả web service
Cap nhat cac
loai ky nang Cap nhat cac ky nang Cap nhat chi tiet cac ky nang Cap nhat cac loai cong viec Cap nhat cac cong viec Cap nhat chi tiet
cac cong viec Cap nhat phan thuong Xem lich trinh
da hoan thanh Xem ky nang
da hoc duoc
Trang 303 Khi người dùng chọn đăng
ký 4 Ứng dụng sẽ hiển thị 2 chế độ đăng ký - Đăng ký cho cha mẹ của bé
- Đăng ký cho cán bộ chăm sócSau đó, người dùng sẽ điền đầy đủ thông tin tàikhoản cũng như thông tin cá nhân và xác nhậnhoàn tất
5 Khi người dùng chọn đăng
nhập
6 Ứng dụng sẽ kiểm tra tên đăng nhập và mậtkhẩu người dùng đã nhập vào Nếu hợp lệ sẽhiển thị giao diện chính Nếu không thì sẽ yêucầu người dùng nhập lại
7 Khi người dùng đăng nhập
- Lịch trình công việc hàng ngày của bé(Mục9)
- Dạy kỹ năng mới cho bé(Mục 11)
- Xem thông tin tài khoản(Mục 13)
- Xem lại lịch sử(Mục 15)
- Xem thông tin nhà phát triển(Mục 17)
9 Khi người dùng chọn lựa lịch
trình công việc hàng ngày của
bé
10 Ứng dụng sẽ hiển thị các công việc sẵn có
để người dùng có thể lựa chọn và tạo thành lịchtrình 1 ngày của bé Người dùng tạo lịch trìnhxong có thể lựa chọn tiếp tục hoặc quay lại 9.1
- Khi người dùng lựa chọn tiếp
đó người dùng có thể lựa chọn tiếp tục hoặcquay lại
- Ứng dụng sẽ quay trở lại trang chính
- Ứng dụng sẽ quay trở lại trang trước đó
9.3
- Khi người dùng lựa chọn hoàn
tất
10.3
- Ứng dụng sẽ lưu và hiển thị lại các công việc
và phần thưởng người dùng đã chọn Đồng thờithông báo, nếu bé hoàn thành một công việc,người dùng có thể đánh dấu công việc đó Khi
bé hoàn thành tất cả các công việc hoặc hết 1ngày, người dùng có thể lựa chọn xác nhận
- Ứng dụng sẽ quay trở lại trang trước đó
Trang 31- Khi người dùng lựa chọn
quay lại
9.4 Khi người dùng lựa chọn
11 Khi người dùng lựa chọn
dạy kỹ năng mới cho bé
12 Ứng dụng sẽ hiển thị giao diện với các loại
kỹ năng
11.1 Khi người dùng lựa chọn
một loại kỹ năng 12.1 Ứng dụng sẽ hiển thị danh sách các kỹnăng tương ứng với loại kỹ năng ấy.11.2 Khi người dùng lựa chọn
một kỹ năng 12.2 Ứng dụng sẽ hiển thị bước đầu tiên thựchiện kỹ năng đó Sau đó, người dùng sẽ vuốt
ngang màn hình để sang bước tiếp theo Chotới bước cuối, ứng dụng sẽ hiển thị thêm 1 núthoàn tất
11.3 Khi người dùng lựa chọn
hoàn tất
12.3 Ứng dụng sẽ hiển thị trang hoàn tất kỹnăng Người dùng có thể lựa chọn hoàn thànhhoặc xem lại
- Ứng dụng sẽ quay trở lại trang chính
- Ứng dụng sẽ quay trở lại trang trước
13 Khi người dùng lựa chọn
xem thông tin tài khoản
14 Ứng dụng sẽ hiển thị thông tin tài khoảngồm: email, password, họ tên, ngày sinh, giớitính, nơi ở Cùng với chức năng đổi mật khẩu
và thoát
13.1 Khi người dùng lựa chọn
đổi mật khẩu 14.1 Ứng dụng sẽ hiển thị giao diện đổi mậtkhẩu, yêu cầu nhập lại mật khẩu và nhập mật
khẩu mới
13.2 Khi người dùng lựa chọn
15 Khi người dùng lựa chọn
đó Người dùng có thể lựa chọn thoát
15.2 Khi người dùng lựa chọn
15.3 Khi người dùng lựa chọn
kỹ năng học được
16.3 Ứng dụng sẽ hiển thị danh sách các kỹnăng bé đã học được theo thời gian cùng vớitổng số điểm bé đã đạt được theo số kỹ năng
đó Người dùng có thể lựa chọn thoát
15.4 Khi người dùng lựa chọn
Trang 32triển như: họ tên, ngày sinh, giới tính, điệnthoại, email Người dùng có thể lựa chọn thoát.
Sau đó, hệ thống sẽ hiển thị các chứcnăng chính:
- Cập nhật loại công việc (Mục 3)
3 Khi người quản trị lựa chọn cập nhật
loại công việc
4 Hệ thống sẽ hiển thị danh sách cácloại công việc hiện có Người quản trị
có thể lựa chọn thêm, sửa, xoá tại cácloại công việc
3.1 Khi người quản trị lựa chọn thêm
mới 4.1 Hệ thống sẽ yêu cầu người quản trịnhập các thông tin liên quan tới loại
công việc như: id, loại công việc,đường dẫn hình ảnh Sau đó, ngườiquản trị có thể lựa chọn hoàn tất hoặcthoát
3.1.1 Khi người quản trị lựa chọn hoàn
tất
4.1.1 Hệ thống thông báo tới ngườiquản trị đã thêm loại công việc thànhcông và quay trở lại trang chủ
3.1.2 Khi người quản trị lựa chọn thoát 4.1.2 Hệ thống quay trở lại trang chủ.3.2 Khi người quản trị lựa chọn loại
công việc để sửa
4.2 Hệ thống sẽ hiển thị giao diện cậpnhật Sau đó, người quản trị sẽ sửathông tin về loại công việc mình muốnsửa Cuối cùng, người quản trị có thểlựa chọn lưu lại hoặc thoát
3.2.1 Khi người quản trị lựa chọn lưu
lại
4.2.1 Hệ thống thông báo tới ngườiquản trị đã sửa loại công việc thànhcông và quay trở lại trang chủ
3.2.2 Khi người quản trị lựa chọn thoát 4.2.2 Hệ thống quay trở lại trang chủ.3.3 Khi người quản trị lựa chọn loại
công việc để xoá 4.3 Hệ thống sẽ yêu cầu người quản trịxác nhận hoặc huỷ
Trang 33nhận xoá loại công việc khỏi cơ sở dữ liệu và thông báo tới
người quản trị đã xoá thành công Sau
đó, hệ thống sẽ quay trở lại trang chủ.3.3.2 Khi người quản trị lựa chọn huỷ 4.3.2 Hệ thống sẽ quay trở lại trang
chủ
3.4 Ca sử dụng kết thúc
5 Khi người quản trị lựa chọn cập nhật
công việc 6 Hệ thống sẽ hiển thị danh sách cáccông việc hiện có Người quản trị có
thể lựa chọn thêm, sửa, xoá tại các côngviệc
5.1 Khi người quản trị lựa chọn thêm
mới
6.1 Hệ thống sẽ yêu cầu người quản trịnhập các thông tin liên quan tới côngviệc như: id, công việc, loại, đường dẫnhình ảnh Sau đó, người quản trị có thểlựa chọn hoàn tất hoặc thoát
5.1.1 Khi người quản trị lựa chọn hoàn
tất
6.1.1 Hệ thống thông báo tới ngườiquản trị đã thêm công việc thành công
và quay trở lại trang chủ
5.1.2 Khi người quản trị lựa chọn thoát 6.1.2 Hệ thống quay trở lại trang chủ.5.2 Khi người quản trị lựa chọn công
việc để sửa
6.2 Hệ thống sẽ hiển thị giao diện cậpnhật Sau đó, người quản trị sẽ sửathông tin về công việc mình muốn sửa.Cuối cùng, người quản trị có thể lựachọn lưu lại hoặc thoát
5.2.1 Khi người quản trị lựa chọn lưu
lại
6.2.1 Hệ thống thông báo tới ngườiquản trị đã sửa công việc thành công vàquay trở lại trang chủ
5.2.2 Khi người quản trị lựa chọn thoát 6.2.2 Hệ thống quay trở lại trang chủ.5.3 Khi người quản trị lựa chọn công
5.3.1 Khi người quản trị lựa chọn xác
nhận xoá công việc 4.3.1 Hệ thống sẽ xoá công việc khỏicơ sở dữ liệu và thông báo tới người
quản trị đã xoá thành công Sau đó, hệthống sẽ quay trở lại trang chủ
5.3.2 Khi người quản trị lựa chọn huỷ 6.3.2 Hệ thống sẽ quay trở lại trang
chủ
5.4 Ca sử dụng kết thúc
7 Khi người quản trị lựa chọn cập nhật
chi tiết công việc
8 Hệ thống sẽ hiển thị danh sách cácchi tiết công việc hiện có Người quảntrị có thể lựa chọn thêm, sửa, xoá tạicác chi tiết công việc
7.1 Khi người quản trị lựa chọn thêm
mới 8.1 Hệ thống sẽ yêu cầu người quản trịnhập các thông tin liên quan tới chi tiết
công việc như: id chi tiết, id công việc,các bước, mô tả, đường dẫn hình ảnh.Sau đó, người quản trị có thể lựa chọn
Trang 34hoàn tất hoặc thoát.
7.1.1 Khi người quản trị lựa chọn hoàn
tất
8.1.1 Hệ thống thông báo tới ngườiquản trị đã thêm chi tiết công việcthành công và quay trở lại trang chủ.7.1.2 Khi người quản trị lựa chọn thoát 8.1.2 Hệ thống quay trở lại trang chủ.7.2 Khi người quản trị lựa chọn chi tiết
công việc để sửa
8.2 Hệ thống sẽ hiển thị giao diện cậpnhật Sau đó, người quản trị sẽ sửathông tin về chi tiết công việc mìnhmuốn sửa Cuối cùng, người quản trị cóthể lựa chọn lưu lại hoặc thoát
7.2.1 Khi người quản trị lựa chọn lưu
lại
8.2.1 Hệ thống thông báo tới ngườiquản trị đã sửa chi tiết công việc thànhcông và quay trở lại trang chủ
7.2.2 Khi người quản trị lựa chọn thoát 8.2.2 Hệ thống quay trở lại trang chủ.7.3 Khi người quản trị lựa chọn chi tiết
công việc để xoá 8.3 Hệ thống sẽ yêu cầu người quản trịxác nhận hoặc huỷ.7.3.1 Khi người quản trị lựa chọn xác
nhận xoá chi tiết công việc
8.3.1 Hệ thống sẽ xoá chi tiết công việckhỏi cơ sở dữ liệu và thông báo tớingười quản trị đã xoá thành công Sau
đó, hệ thống sẽ quay trở lại trang chủ.7.3.2 Khi người quản trị lựa chọn huỷ 8.3.2 Hệ thống sẽ quay trở lại trang
kỹ năng9.1 Khi người quản trị lựa chọn thêm
mới 10.1 Hệ thống sẽ yêu cầu người quảntrị nhập các thông tin liên quan tới loại
kỹ năng như: id, loại kỹ năng, đườngdẫn hình ảnh Sau đó, người quản trị cóthể lựa chọn hoàn tất hoặc thoát
9.1.1 Khi người quản trị lựa chọn hoàn
tất 10.1.1 Hệ thống thông báo tới ngườiquản trị đã thêm loại kỹ năng thành
công và quay trở lại trang chủ
9.1.2 Khi người quản trị lựa chọn thoát 10.1.2 Hệ thống quay trở lại trang chủ.9.2 Khi người quản trị lựa chọn loại kỹ
năng để sửa 10.2 Hệ thống sẽ hiển thị giao diện cậpnhật Sau đó, người quản trị sẽ sửa
thông tin về loại kỹ năng mình muốnsửa Cuối cùng, người quản trị có thểlựa chọn lưu lại hoặc thoát
9.2.1 Khi người quản trị lựa chọn lưu
lại 10.2.1 Hệ thống thông báo tới ngườiquản trị đã sửa loại kỹ năng thành công
và quay trở lại trang chủ
9.2.2 Khi người quản trị lựa chọn thoát 10.2.2 Hệ thống quay trở lại trang chủ.9.3 Khi người quản trị lựa chọn loại kỹ 10.3 Hệ thống sẽ yêu cầu người quản
Trang 35năng để xoá trị xác nhận hoặc huỷ.
9.3.1 Khi người quản trị lựa chọn xác
nhận xoá loại kỹ năng
10.3.1 Hệ thống sẽ xoá loại kỹ năngkhỏi cơ sở dữ liệu và thông báo tớingười quản trị đã xoá thành công Sau
đó, hệ thống sẽ quay trở lại trang chủ.9.3.2 Khi người quản trị lựa chọn huỷ 10.3.2 Hệ thống sẽ quay trở lại trang
chủ
9.4 Ca sử dụng kết thúc
11 Khi người quản trị lựa chọn cập
nhật kỹ năng 12 Hệ thống sẽ hiển thị danh sách cáckỹ năng hiện có Người quản trị có thể
lựa chọn thêm, sửa, xoá tại các kỹ năng11.1 Khi người quản trị lựa chọn thêm
mới
12.1 Hệ thống sẽ yêu cầu người quảntrị nhập các thông tin liên quan tới kỹnăng như: id, tên kỹ năng, loại kỹ năng,đường dẫn hình ảnh Sau đó, ngườiquản trị có thể lựa chọn hoàn tất hoặcthoát
11.1.1 Khi người quản trị lựa chọn
hoàn tất 12.1.1 Hệ thống thông báo tới ngườiquản trị đã thêm kỹ năng thành công và
quay trở lại trang chủ
11.1.2 Khi người quản trị lựa chọn
11.2 Khi người quản trị lựa chọn kỹ
năng để sửa
12.2 Hệ thống sẽ hiển thị giao diện cậpnhật Sau đó, người quản trị sẽ sửathông tin về kỹ năng mình muốn sửa.Cuối cùng, người quản trị có thể lựachọn lưu lại hoặc thoát
11.2.1 Khi người quản trị lựa chọn lưu
lại
12.2.1 Hệ thống thông báo tới ngườiquản trị đã sửa kỹ năng thành công vàquay trở lại trang chủ
11.2.2 Khi người quản trị lựa chọn
thoát
12.2.2 Hệ thống quay trở lại trang chủ
11.3 Khi người quản trị lựa chọn kỹ
11.3.1 Khi người quản trị lựa chọn xác
nhận xoá kỹ năng 12.3.1 Hệ thống sẽ xoá kỹ năng khỏi cơsở dữ liệu và thông báo tới người quản
trị đã xoá thành công Sau đó, hệ thống
sẽ quay trở lại trang chủ
11.3.2 Khi người quản trị lựa chọn huỷ 12.3.2 Hệ thống sẽ quay trở lại trang
chủ
11.4 Ca sử dụng kết thúc
13 Khi người quản trị lựa chọn cập
nhật chi tiết kỹ năng 14 Hệ thống sẽ hiển thị danh sách cácchi tiết kỹ năng hiện có Người quản trị
có thể lựa chọn thêm, sửa, xoá tại các
kỹ năng13.1 Khi người quản trị lựa chọn thêm 14.1 Hệ thống sẽ yêu cầu người quản
Trang 36mới trị nhập các thông tin liên quan tới chi
tiết kỹ năng như: id chi tiết, id kỹ năng,các bước, mô tả, đường dẫn hình ảnh.Sau đó, người quản trị có thể lựa chọnhoàn tất hoặc thoát
13.1.1 Khi người quản trị lựa chọn
hoàn tất 14.1.1 Hệ thống thông báo tới ngườiquản trị đã thêm chi tiết kỹ năng thành
công và quay trở lại trang chủ
13.1.2 Khi người quản trị lựa chọn
13.2 Khi người quản trị lựa chọn chi
tiết kỹ năng để sửa 12.2 Hệ thống sẽ hiển thị giao diện cậpnhật Sau đó, người quản trị sẽ sửa
thông tin về chi tiết kỹ năng mìnhmuốn sửa Cuối cùng, người quản trị cóthể lựa chọn lưu lại hoặc thoát
13.2.1 Khi người quản trị lựa chọn lưu
lại
14.2.1 Hệ thống thông báo tới ngườiquản trị đã sửa chi tiết kỹ năng thànhcông và quay trở lại trang chủ
13.2.2 Khi người quản trị lựa chọn
13.3 Khi người quản trị lựa chọn chi
tiết kỹ năng để xoá 14.3 Hệ thống sẽ yêu cầu người quảntrị xác nhận hoặc huỷ.13.3.1 Khi người quản trị lựa chọn xác
nhận xoá chi tiết kỹ năng 14.3.1 Hệ thống sẽ xoá chi tiết kỹ năngkhỏi cơ sở dữ liệu và thông báo tới
người quản trị đã xoá thành công Sau
đó, hệ thống sẽ quay trở lại trang chủ.13.3.2 Khi người quản trị lựa chọn huỷ 14.3.2 Hệ thống sẽ quay trở lại trang
chủ
13.4 Ca sử dụng kết thúc
15 Khi người quản trị lựa chọn xem
lịch trình đã hoàn thành 16 Hệ thống sẽ hiển thị những côngviệc bé đã hoàn thành theo thời gian
Người quản trị có thể lựa chọn thoát.15.1 Khi người quản trị lựa chọn thoát 16.1 Hệ thống sẽ quay trở lại trang chủ.15.2 Ca sử dụng kết thúc
17 Khi người quản trị lựa chọn xem kỹ
năng đã học được
18 Hệ thống sẽ hiển thị kỹ năng bé đãhọc được theo thời gian Người quản trị
có thể lựa chọn thoát
17.1 Khi người quản trị lựa chọn thoát 18.1 Hệ thống sẽ quay trở lại trang chủ.17.2 Ca sử dụng kết thúc
19 Khi người quản trị lựa chọn cập
nhật phần thưởng 20 Hệ thống sẽ hiển thị danh sách cácphần thưởng hiện có Người quản trị có
thể lựa chọn thêm, sửa, xoá tại các kỹnăng
19.1 Khi người quản trị lựa chọn thêm
mới
20.1 Hệ thống sẽ yêu cầu người quảntrị nhập các thông tin liên quan tới phầnthưởng như: id phần thưởng, tên phần
Trang 37thưởng, đường dẫn hình ảnh Sau đó,người quản trị có thể lựa chọn hoàn tấthoặc thoát.
19.1.1 Khi người quản trị lựa chọn
hoàn tất
20.1.1 Hệ thống thông báo tới ngườiquản trị đã thêm phần thưởng thànhcông và quay trở lại trang chủ
19.1.2 Khi người quản trị lựa chọn
thoát
20.1.2 Hệ thống quay trở lại trang chủ
19.2 Khi người quản trị lựa chọn phần
thưởng để sửa 20.2 Hệ thống sẽ hiển thị giao diện cậpnhật Sau đó, người quản trị sẽ sửa
thông tin về phần thưởng mình muốnsửa Cuối cùng, người quản trị có thểlựa chọn lưu lại hoặc thoát
19.2.1 Khi người quản trị lựa chọn lưu
lại 20.2.1 Hệ thống thông báo tới ngườiquản trị đã sửa phần thưởng thành công
và quay trở lại trang chủ
19.2.2 Khi người quản trị lựa chọn
19.3 Khi người quản trị lựa chọn phần
thưởng để xoá
20.3 Hệ thống sẽ yêu cầu người quảntrị xác nhận hoặc huỷ
19.3.1 Khi người quản trị lựa chọn xác
nhận xoá phần thưởng 20.3.1 Hệ thống sẽ xoá phần thưởngkhỏi cơ sở dữ liệu và thông báo tới
người quản trị đã xoá thành công Sau
đó, hệ thống sẽ quay trở lại trang chủ.19.3.2 Khi người quản trị lựa chọn huỷ 20.3.2 Hệ thống sẽ quay trở lại trang
Người quản trị: tác nhân này tác động tới hệ thống web service Họ sẽ sử dụngcác chức năng như: cập nhật loại công việc, cập nhật các công việc, cập nhật chi tiếtcông việc, cập nhật loại kỹ năng, cập nhật các kỹ năng, cập nhật chi tiết kỹ năng,cập nhật phần thưởng, xem lịch trình đã hoàn thành, xem kỹ năng đã học được
Trang 383.2.1.2 Ca sử dụng
Người dùng
Ca sử dụngĐăng ký
Đăng nhậpDạy kỹ năng mớiTạo lịch trình mớiXem thông tin cá nhânThay đổi mật khẩuXem lịch trình hoàn thànhXem kỹ năng học được
Người quản trị
Ca sử dụngCập nhật loại công việcCập nhật các công việcCập nhật chi tiết công việcCập nhật loại kỹ năngCập nhật các kỹ năngCập nhật chi tiết kỹ năngCập nhật phần thưởngXem lịch trình đã hoàn thànhXem kỹ năng đã học được
3.2.2 Biểu đồ ca sử dụng
3.2.2.1 Biểu đồ chính
- Phía ứng dụng:
Trang 40- Phía web service: