Ú N G D Ụ N G H Ỏ T RỢ C H Ă M SÓ C, T H EO D Õ I T RẺ E M M À M N O N T R ÊN A N D RO ID N iê n kh óa 2 01 3 2 01 7 VIỆN DẠI HỌC MỜ HÀ NỘI KHOA CÔNG NGHÊ THÔNG TIN ĐÀO VĂN TÂM XÂY DỤNG ÚNG DỤNG HÒ TR.
Niên khóa: 2013 - 2017 ÚNG DỤNG HỎ TRỢ CHĂM SÓC, THEO DÕI TRẺ EM MÀM NON TRÊN ANDROID VIỆN DẠI HỌC MỜ HÀ NỘI KHOA CÔNG NGHÊ THÔNG TIN ĐÀO VĂN TÂM XÂY DỤNG ÚNG DỤNG HÒ TRỢ CHĂM SÓC, THEO DÕI TRẺ EM MÀM NON TRÊN NỀN TẢNG ANDROID Chun ngành: Cơng Nghệ Thơng Tin ĐỊ ÁN TỐT NGHIỆP ĐẠI HỌC Hà Nội - Năm 2017 VIỆN DẠI HỌC MỜ HÀ NỘI KHOA CÔNG NGHÊ THÔNG TIN ĐÀO VÀN TÂM XÂY DỰNG ÚNG DỤNG HỊ TRỢ CHÀM SĨC, THEO DÕI TRÉ EM MẦM NON TRÊN NỀN TẢNG ANDROID Chuyên ngành: Công Nghệ Thông Tin Giảng viên hướng dẫn: TS Nguyền Đức Tuấn ĐÒ ÁN TỐT NGHIỆP ĐẠI HỌC Hà Nội - Năm 2017 LỜI NÓI ĐẦU Ngày nay, thời đại công nghệ ngày phát triển tiên tiên việc tiếp xúc, sử dụng áp dụng công nghệ đại trờ thành công việc không xa lạ dối với người Tuy nhiên đề áp dụng cách có hiệu q thơng minh tận dụng hết ưu điềm mà cơng nghệ mang lại vấn đề cịn cần có dâu tư lâu dài nghiêm túc trình phát triên vững Trong nhiều lĩnh vực, thấy có áp dụng cơng nghệ đe nâng cao hiệu quà công việc dịch vụ kế như: Y tế, giáo dục, giao thơng vận tải, tài Thời gian gần đây, với đời điện thoại thông minh lại có thêm cơng cụ giái pháp tốt thuận tiện việc áp dụng kỹ thuật công nghệ vào đời sống công việc Chúng ta thấy có góp mặt cúa điện thoại thông minh việc giãi vấn dề số lình vực dã tăng hiệu cơng việc cãi thiện qui trình Đối với y tế có ứng dụng giúp người dùng kiêm tra tình trạng sức khoe, quan lý bệnh án, bệnh nhân; giáo dục có nhiều ứng dụng dạy học, hồ trợ tính tốn; Trong lĩnh vự giáo dục nói chung giáo dục mầm non nói riêng có hị trợ phần công nghệ kỹ thuật đa số vần cịn chưa dáp ứng tồn vẹn nhu cầu người sử dụng Đặc biệt giáo dục mầm non trè em mầm non đế có the ứng dụng điện thoại thơng minh việc quàn lý giang dạy bé điều chưa có nghiên cứu áp dụng rõ rệt Em tìm hiểu nghiên cứu trường mầm non Năm ngón tay ngoan - Five fingers Kindergarten, nhận thấy rat cần thiết có ứng dụng giúp hồ trợ bậc phụ huynh giáo viên việc quản lý bé chăm sóc bé Vì vậy, em chọn đề tài: “Xây dựng ứng dụng hồ trợ chăm sóc theo dõi trẻ em mầm non táng Android" làm đề tài cho đồ án tốt nghiệp đại học cùa Đồ án tốt nghiệp kết cùa khóa học thành quà lao động cúa em Đề thực hoàn thành đồ án này, em nhận hướng dẫn giúp đỡ nhiệt tình thầy bạn Khoa Công Nghệ Thông Tin - Viện Đại học Mở Hà Nội Em xin gửi lời cảm ơn chân thành sâu sắc tới thầy, cô Khoa, người tận tình giáng dạy truyền đạt kiến thức cần thiết, kinh nghiệm quý báu cho em suốt bốn năm học Viện Đại học Mớ Hà Nội để em tự tin thực đồ án Đặc biệt, em xin cảm ơn thầy Nguyễn Đức Tuấn, người tận tình, chi bảo động viên hỗ trợ em suốt trình thực đề tài Trong thời gian làm đồ án thầy, em học hỏi kiến thức mà học khả làm việc nghiêm túc, độc lập có trách nhiệm với cơng việc cũa Thự vịện Viện Đại học Mở Hà Nội Mặc dù, em cố gang hoàn thiện đồ ân phạm vi kha cho phép cùa mình, chan khơng tránh khói thiếu sót Em xin kính mong nhận thơng cảm góp ý thầy, bạn Cuối em xin kính chúc thầy mạnh khóe, ln ln người lái đị ân cần dìu dắt hệ FITHOU trướng thành Em xin xin chân thành cảm ơn ! Hà Nội, ngày 17 tháng 04 năm 2017 Sinh viên thực Đào Văn Tâm MỤC LỤC Trang Chuông 1KHÁO SÁT HỆ THÓNG 1.1 Khảo sát thực tể 1.2 Nhiệm vụ 1.3 Quy trình sử dụng Chưong 2PHÂN TÍCH HỆ THĨNG VÈ CHÚC NĂNG 2.1 Sơ đồ phân rã chức (BFD) 2.1.1 Xác định chức 2.1.2 Gom nhóm chức 2.2 Sơ đồ phân rã chức hệ thống 2.3 Sơ đồ luồng liệu (DFD) 2.3.1 Ký hiệu sử dụng 2.3.2 Sơ đồỊỈỊ^ ^Ịiệu^c^ỹ 2.3.3 Sơ đồ luồng dừ liệu mức đinh 11 2.3.4 Sơ đồ luồng liệu mức đình 12 2.4 10 Đặc tà chức chi tiết 17 Chng 3PHÂN TÍCH HỆ THÔNG VÈ DŨ LIỆU 33 3.1 ER mở rộng 33 3.1.1 Xác định kiểu thực thể, kiều thuộc tính 33 3.1.2 Xác định kiểu liên kết 34 3.1.3 Mơ hình ER mờ rộng 35 3.2 Chuẩn hóa dừ liệu 36 3.2.1 Chuyến đồi từ ER mờ rộng ER kinh điến 36 3.2.2 Chuyền đồi từ ER kinh điền ER hạn chế 40 3.2.3 Chuyền đồi từ ER hạn chế mơ hình quan hệ 43 3.3 Đặc tả bảng liệu mơ hình quan hệ 46 Chng 4THIẾT KÉ HỆ THĨNG 51 4.1 Thiết kế tổng thể 51 4.1.1 4.2 Phân định công việc người máy 51 Thiết kể kiểm soát 54 4.2.1 Xác định nhóm người dùng 54 4.2.2 Phân định quyền hạn nhóm người dùng 55 4.3 Thiết kế CSDL vật lý 57 4.3.1 Mơ hình liệu hệ thống 57 4.3.2 Đặc tả báng liệu 58 4.4 Thiết kế kiến trúc chương trình giao diện 69 4.4.1 Thiết kế kiến trúc 69 4.4.2 Thiết kế hình giao diện 70 Chuoìig 5TRIÊN KHAI 96 5.1 Cơ sở lý thuyết Thiuviên Viện Đại học Mờ Hà Nội -1 5.2 96 o, Lập trình ứng dụng xử lý phía Server 99 5.2.1 Cơ sở liệu cùa hệ thống 99 5.2.2 Lập trình hệ thống máy 100 5.3 Lập trình ứng dụng xử lý phía thiết bị 101 Chng 6TĨNG KÉT VÀ ĐÁNH GIÁ 103 6.1 Cấu hình yêu cầu 103 6.2 Kết đạt 103 6.3 Các mặt hạn chế 103 6.4 Hướng phát triển tương lai 103 TÀI LIỆU THAM KHẢO 104 TĨM TẤT ĐỊ ÁN Đồ án chia thành chương với nội dung sau: • Chương 1: Khảo sát hệ thống: Chương trình bày nhiệm vụ, phạm vi đồ án quy trình nghiệp vụ đề tài • Chưong 2: Phân tích hệ thống chức năng: Chương trình bày q trình phân tích chức hệ thống • Chưong 3: Phân tích hệ thống liệu: Chương trình bày q trình phân tích liệu hệ thống • Chương 4: Thiết kế hệ thống: Chương trình bày thiết kế tống thiết kế chi tiết hệ thống • Chng 5: Triển khai: Chương trình bày cơng nghệ sử dụng q trình thực đề tài q trình thực đề tài • Chưong 6: Tổng kết đánh giá: Chương trình bày kết đề tài^ằU^níạ^ẶiX^VPỡil^Àậ^plĩíl^i^k^cuà^yề tài tương lai DANH MỤC CÁC CHỮ VIÉT TẮT STT Dịch Tiếng Việt Tên đẩy đủ Tên viết tắt BFD Bussiness Function Diagram Sơ đô phân rã chức c Char Ký tự CSDL Cơ sở liệu D Date Ngày tháng DFD Data Flow Diagram Sơ đồ luồng liệu ER Entity Relationship Thực quan hệ FK Foreign Key Khóa ngoại MT Máy tính N Number Số Khóa 10 PK Primary Key 11 TC Thù công 12 NIO 13 ƯDP 14 TCP 15 HTTP Hypertext Transfer Protocol 16 SSL Secure Sockets Layer Tầng bảo mật ỈẩệùtÌQpM VàoVaỉ khơng khóa User Datagram Protocol Giao thức liệu người dùng Transmission Control Giao thức Kiểm soát vận Protocol chuyển Giao thức truyền siêu vãn 17 SPDY Speedy Nhanh 18 TLS Transport Layer Security Bào mật tầng vận tái 19 XML Extensible Markup Language Ngôn ngừ đánh dấu mờ rộng DANH MỤC HÌNH VẼ Hình 2.1 Sơ đồ phân rã chức Hình 2.2 Các thành phần Hình 2.3 Quan hệ kho dừ liệu, tiến trình, luồng liệu Hình 2.4 DFD mức khung cảnh .10 Hình 2.5 DFD mức đỉnh 11 Hình 2.6 DFD Quăn lý tài khoản ngườidùng 12 Hình 2.7 DFD Quản lý danh mục 12 Hình 2.8 DFD Quán lý thực đơn 13 Hình 2.9 DFD Quàn lý chương trìnhhọc 14 Hình 2.10 DFD Quàn lý hình ảnh 15 Hình 2.11 DFD Tìm kiếm 16 Hình 2.12 DFD Thơng báo nội dung 16 Hình 2.13 DFD Lập danh sách 16 Hình 3.1 Mơ hình ER mờ rộng 35 Hình 3.2 Mơ hình ER kinh điển 39 Hình 3.3 Mơ hình ER hạn chế 42 Hình 3.4 Mơ hìnĩlịỉỂuVtíẹl.Ị Y.lến.Đ.ạ.Ị.h.Q.Q MơLH.ậ ỉS.QỊ 45 Hình 4.1 Phân định người - máy chức đăng ký, đăng nhập 51 Hình 4.2 Phân định người - máy chức tạo thực đơn 52 Hình 4.3 Phân định người - máy chức tạo chương trìnhhọc 53 Hình 4.5 Phân định người - máy chức tìm kiếm 53 Hình 4.6 Mơ hình sở liệu hệ thống 57 Hình 4.7 Kiến trúc hệ thống mức cao 69 Hình 4.8 Giao diện đăng nhập ứng dụng 70 Hình 4.9 Biểu đồ trình tự hoạt đơng view đăng nhập 71 Hình 4.10 Giao diện đăng ký ứng dụng 72 Hình 4.11 Biểu đồ trình tự hoạt động view đăng ký 73 Hình 4.12 Giao diện hiển thị chương trình học 74 Hình 4.13 Biểu đồ trình tự hoạt động view hiển thị chương trình học .75 Hình 4.14 Giao diện hiển thị thực đơn tuần 76 Hình 4.15 Giao diện hiển thị thông tin người dùng 77 Hình 4.16 Biểu đồ trình tự hoạt động view hiển thị thơng tin người dùng 78 Hình 4.17 Giao diện cập nhật thông tin người dùng 79 Hình 4.18 Biểu đồ trình tự hoạt động view cập nhậtthông tin người dùng 80 Hình 4.19 Giao diện cập nhật mật khấu 81 Hình 4.20 Biểu đồ trình tự hoạt động view cập nhậtthơng tinngười dùng 82 Hình 4.21 Giao diện tạo chương trình học tuần 83 Hình 4.22 Giao diện chọn ngày tuần cho chương trình học 84 Hình 4.23 Giao diện tạo chương trình học ngày 85 Hình 4.24 Giao diện tạo thực đơn tuần 86 Hình 4.25 Giao diện tạo thực đơn dinh dưỡng ngày 87 Hình 4.26 Giao diện hiến thị thơng tin trẻ 88 Hình 4.27 Giao diện cập nhật thông tin trẻ 89 Hình 4.28 Giao diện cập nhật thông tin sức khỏe trẻ 90 Hình 4.29 Giao diện thơng báo sau cập nhật thơng tin sức khỏe cùa trê 91 Hình 4.30 Giao diện lựa chọn danh sách 92 Hình 4.31 Giao diện hiển thị danh sách bé theo lớp 93 Hình 4.32 Giao diện hiển thị danh sách phụ huynh theo lớp 94 Hình 4.33 Giao diện hiển thị danh sách cán nhân viên 95 Hình 5.1 Kiến trúc Netty framework 97 Hình 5.2 CSDL server 99 Hình 5.3 Cấu trúc phân t)ốjthư fQyp hp thống phía .100 Hình 5.4 Cấu trúc mã lệnh chương trìiih 101 90 Hình 4.28 Giao diện cập nhật thơng tin sức khởe trẻ 91 Hình 4.29 Giao diện thông báo sau cập nhật thông tin sức khỏe cùa trẻ 92 Thiết kế giao diện ứng dụng view lập danh sách, thống kê: Hình 4.30 Giao diện lựa chọn danh sách 93 Danh Sách Tré I Mã bé Five Fingers Họ tẽn Tràn Mỹ Linh Ngày sinh Giới tính 04/03/2014 Nữ Tuổi Phạm bá Tháng 03/05/2014 Nam Q®jnênTrUn9 10/04/2014 Nam Nguyẻn Khánh An 12/07/2014 Nữ Hình 4.31 Giao diện hiển thị danh sách bé theo lớp 94 Hình 4.32 Giao diện hiên thị danh sách phụ huynh theo lớp 95 Hình 4.33 Giao diện hiền thị danh sách cán nhân viên 96 Chương TRIẾN KHAI 5.1 Cơ sõ'lý thuyết 5.1.1 Công nghệ sử dụng Netty IO|2| Netty NIO(Non-blocking Input Output) framework dành cho việc phát triển hệ thống client-server lập trình chương trình mạng bang ngơn ngừ java, ví dụ giao thức mạng client-server Mặt khác, netty khung (framework) không đồng dành cho việc phát triền nhanh giao thức mạng client-server có hiệu cao, dễ vận hành bào trì Netty sử dụng để lập trình socket server đơn giàn UDP TCP Bên cạnh việc “ãsỷnchronous framework” dành cho việc phát triên ứng dụng mạng, netty đồng thời xây dựng để hỗ trợ chuẩn giao thức mạng HTTP, mang đến chạy bên “servlet container”(web container), hỗ trợ cho web socket, tích hợp với Google protocol Buffers, hỗ trợ hai chuấn bão mật SSL/TLS giao thức SPDY Protocol Support Transport Services Socket & Datagram IITTP& WebSocket JTTO HTTPTUnncl zUb/gzip In VM Pipe ■ Large File with Unit Testability Extensible Event Model Universal Communication A3I Zerc Copy Capable Rich Byte Buffer Google Protobuf OTCO RTSP 97 Hình 5.1 Kiến trúc Netty framework Google Protocol BufferS| i) Protocol buffers phương thức hóa liệu có cấu trúc Đây phương pháp hữu ích việc phát triển chương trình đế giao tiếp với lưu trữ dừ liệu Proto buffers chế tự động hóa liệu có cấu trúc linh hoạt, hiệu nhanh chóng giống XML nhó hơn, nhanh hơnvà đơn giản Dừ liệu định nghĩa lần sử dụng cho tất ngôn ngừ khác Google phát hành nội protocol buffers lần đầu vào năm 2001, sau tháng năm 2008 công khai giao thức cuối năm 2016 dã có ổn định Đe sử dụng giao thức ta tạo mã nguồn proto định nghĩa message bao gồm thuộc tính kiểu dừ liệu Giả sứ liệu trà người dùng có thuộc tính: Mã, tên, email Thì đối tượng định nghĩa sau: message Person { required string name = 1; required int32 id = 2; optional string email = 3; } Với việc hỗ trợ đa táng, đa ngơn ngữ sử dụng proto buffers hữ ích cho việc phát triển chương trình, hệ thống có giao tiếp liệu với Đối với ngơn ngữ java sau định nghĩa message tạo đối tượng sử dụng chúng theo cú pháp sau: 98 Personperson = Person.newBuilderO ,setld( 1234) setName("John Doe") ,setEmail("jdoe@example.com") buildO; output = new FilcOutputStream(args[0]); person writcTo(output); - Client máy khách, trường hợp thiết bị di động chạy hệ điều hành Android - Server quản lý sở liệu, có giao thức kết nối - Giao thức trung gian cầu nối server client, có nhiệm vụ nhận yêu cầu trá kết Trong đề tài này, em sử dụng netty framwork để làm giao thức trung gian kết nối client server tính bão mật tiện lợi mà framework nậy có Đồng:thịrij em sứ dụng, giao thức Google protocol Bufers đế đóng gói định nghĩa liệu đối tượng mà em sử dụng suốt trình 99 5.2 Lập trình ứng dụng xử lý phía Server 5.2.1 Cơ sở liệu hệ thống Hệ quàn trị sử dụng: Microsoft SQLServer s ũEEiSl B n Database Diagrams 3g dbo.Diagram.O a r~3 Tables a nì System Tables a dbo.tbl-Be a dbo.tbl_Chitietchuongtrinh a □ dbo.tbl_Chitietthucdon -3 a3 a a dbo.tbl_Chuongtrinh dbo.tbl_Hinhanh dbo.tbl_Loainguoidung a clbo.tbl_l.op a a3 a dbo.tbl_Monan dbo.tbl_Nguoidung dbo.tbl_Quanhe a □ dbo.tbl-Suckhoe a a Thư 3 dbo.tbl_Tbongbao dbo.tbl_Thucdon MVe^là Nội 100 5.2.2 Lập trình hệ thống máy chủ Ngơn ngữ lập trình sử dụng: Java I ộ- CfofiSource Packages I é SijConfig Ị SgComect I ' • I Ổ |ă| Config.java [d&| cormectDatabase.java SgData ’ |ã| Be java |g] ChitjetChuongtnnh.java (• Bl Chibetthucdon.java Bl Chuongtrmh.java : Bl Data java I B EchoMessage.java ijS JSONData.java Bl ListData.java ỉ • |ẳỊ Listusers java • Bl MessageKey.java Bl NoidungChuongtrinh.java Bl ResponeMessage.java IB Thucdon.java ị Bl UserInfos, java '■■■■ Pi test, proto Thu vi EHijNoffltations ■ |d5l Notification.java )i ffi El ETiyiettv server ị ị- jafi Netty-Server java - |3j ServerHandler.java Hình 5.3 Cấu trúc phân bố thư mục hệ thống phía server Trong đó: - Thư mục Config chứa file cấu hình server - Thư mục Connect chứa file liên kết tới sở liệu - Thư mục Data chứa đối tượng tự định nghĩa - Thư mục Notifications chứa phương thức tạo thông báo tới client - Thư mục libs chứa file thư viện bố sung có thư viện: o netty-all-4.1.9.Final.jar o protobuf-javame-1.1.2.jar o proto2javame-1.1.2.jar 101 o sqljdbc4-3.0.jar Và thư viện tạo từ giao thức protocol buffers: BabicareProto.jar - Thư mục netty_server chứa file tương tác,giao tiếp với client 5.3 Lập trình ứng dụng xử lý phía thiết bị ▼ tỉapp ▼ Ẽ3 manifests ▼ Ũ java AndroidManifestjrml El com.fihou.babicare ▼ ► El Activitys ► El Adapter ► El config ► El Data ► El Dialog ► El Fragment ► El Network ► El Service ► ▼ ► El Utility ► El com.fihou.babicare í.androidĩest) ► El cxyn.fihou.babicare (test) E=res ► El drawable ► El layout ► El menu ► El mipmap ► El values C/ Gradle Scripts Hình 5.4 Cấu trúc mã lệnh chương trình Trong đó: - File AndroidManifest.xml - Tệp kê khai trình bày thông tin thiết yếu ứng dụng với hệ thống Android, thơng tin mà hệ thống phái có trước có thề chạy mã ứng dụng 102 Thư mục Java: Nơi xử lý mã lệnh chương trình, tác vụ khơng nhìn thấy ngôn ngữ java Thư mục res(resources): Là thư mục chứa file xml - giao diện ứng dụng, file ành, media, font, liên quan đến phần bên mà người dùng nhìn thấy Thư viện Viện Đại học Mớ Hà Nội 103 Chương TÓNG KÉT VÀ ĐÁNH GIÁ 6.1 Cấu hình yêu cầu - Thiết bị sử dụng hệ điều hành Android 4.0.3 trở lên - Yêu cầu có kết nối Internet ồn định 6.2 - Kết đạt đtrọc Nhìn chung ứng dụng đáp ứng nhiệm vụ đề q trình phân tích - Các chức cùa ứng dụng điều hướng hợp lý, dễ sử dụng chi vài thao tác 6.3 - Có thề triền khai ứng dụng mà không cần tốn chi phí Các mặt hạn chế Các chức ĩẳỉt^ hÌề^k^iìh^ỉĩằẰ^llíế tĩiỊl? đ^c điện thoại khơng có kết nối mạng - 6.4 Địi hỏi phải có kết nối Internet mạnh đế thực thi công việc Hướng phát triển tưong lai - Cãi tiến giao diện người dùng hiệu sử dụng - Phát triển thêm tính giúp bão mật, mã hóa liệu lưu trữ điện thoại - Sử dụng CSDL nội lưu trữ tạm thời liệu tài từ đế tăng tốc độ thực thi ứng dụng - Ghi nhớ, tự đăng nhập người dùng mở ứng dụng người dùng chưa đăng xuất 104 TÀI LIỆU THAM KHẢO [1] Google Developers, Protocol buffers, [online] https://developers.google.com/protocol-buffers/docs/overview [21 The Netty project, [online| http://netty.io/index.html Thư viện Viện Đại học Mớ Hà Nội ... tài Xây dựng ứng dụng hỗ trợ chăm sóc, theo dõi trẻ em mầm non tảng Android làm đề tài đồ án tốt nghiệp Đại học Yêu cầu đặt cần có ứng dụng hỗ trợ tốt cho cà phụ huynh cúa tré lẫn giáo viên chăm. .. thấy rat cần thiết có ứng dụng giúp hồ trợ bậc phụ huynh giáo viên việc quản lý bé chăm sóc bé Vì vậy, em chọn đề tài: ? ?Xây dựng ứng dụng hồ trợ chăm sóc theo dõi trẻ em mầm non táng Android" làm... dục mầm non Nắm bắt tâm lý trên, em nghĩ ý tướng xây dựng ứng dụng giúp bậc phụ huynh có gửi nhà trẻ, trường mầm non quan tâm chăm sóc trẻ khơng bên cạnh con, cập nhật thông tin cần Ngồi ứng dụng