Hệ điều hành Android Hình 1.1-1: Sơ đồ kiến trúc Android Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho cácthiết bị di động có màn hình cảm ứng như điện thoại
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT HÀN
Khoa Khoa Học Máy Tính
ĐỒ ÁN CƠ SỞ 3
XÂY DỰNG ỨNG DỤNG QUẢN LÍ SỨC
KHỎE HEALTH APP
Sinh viên thực hiện: BÙI ĐÌNH NHÃ
TRẦN LONG ẨN
Giảng viên hướng dẫn: ThS NGUYỄN THANH TUẤN
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT HÀN
Khoa Khoa Học Máy Tính
ĐỒ ÁN CƠ SỞ 3
XÂY DỰNG ỨNG DỤNG QUẢN LÍ SỨC
KHỎE HEALTH APP
Sinh viên thực hiện: BÙI ĐÌNH NHÃ Mã: 18IT160
TRẦN LONG ẨN Mã: 19IT065
Giảng viên hướng dẫn ThS NGUYỄN THANH TUẤN
Đà Nẵng, tháng 05 năm 2021
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
………
………
………
………
………
Trang 5MỤC LỤC
Trang
MỞ ĐẦU 1
1 Đặt vấn đề 1
2 Mục tiêu của đề tài 1
3 Cấu trúc đồ án 1
Chương 1: TỔNG QUAN 2
1 Khái niệm cơ bản 2
1.1 Hệ điều hành Android 2
1.2 Lịch sử phát triển 4
2 Công cụ, ngôn ngữ lập trình 6
2.1 Công cụ lập trình 6
2.2 Ngôn ngữ lập trình 6
Chương 2: PHÂN TÍCH, THIẾT KẾ HỆ THỐNG 7
1 Các chức năng chính của ứng dụng 7
2 Đặc tả Ca sử dụng của User 7
2.1 Đăng kí 7
2.2 Đăng nhập 7
2.3 Xem thông tin hồ sơ bệnh án 7
2.4 Thêm vào hồ sơ bệnh án 8
2.5 Cập nhật hồ sơ bệnh án 8
2.6 Thêm thông tin báo thức 8
2.7 Sửa thông tin báo thức 9
2.8 Xóa báo thức 9
2.9 Tìm kiếm thông tin 9
3 Sơ đồ Use Case 10
4 Sơ đồ lớp 10
Chương 3: TRIỂN KHAI XÂY DỰNG 11
1 Thiết kế cơ sở dữ liệu 11
1.1 Các bảng cơ sở dữ liệu của ứng dụng 11
1.2 Chi tiết dữ liệu bảng new_record 11
Trang 61.3 Chi tiết dữ liệu bảng table3 11
1.4 Chi tiết dữ liệu bảng table_accounts 12
1.5 Chi tiết dữ liệu bảng table_detail_medicine 12
1.6 Chi tiết dữ liệu bảng table_diseases 12
1.7 Chi tiết dữ liệu bảng table_medicine 12
2 Triển khai chương trình 13
2.1 Đăng nhập, đăng kí 13
2.2 Trang chủ Health App 14
2.3 Danh sách dữ liệu lưu trữ của bênh án 15
2.4 Danh sách lưu trữ chi tiết của bệnh án 16
2.5 Đặt thời gian báo thức 17
2.6 Lịch sử bệnh án 19
2.7 Tìm kiếm bệnh án 21
KẾT LUẬN 22
1 Kết quả đạt được 22
1.1 Về kiến thức 22
1.2 Về chương trình 22
2 Kết quả chưa đạt được 22
3 Hướng nghiên cứu 22
TÀI LIỆU THAM KHẢO 23
Trang 7DANH MỤC HÌNH
Trang
Hình 1.1-1: Sơ đồ kiến trúc Android 2
Hình 1.2-1: Sơ đồ lịch sử phát triển Android 4
Hình 2.9-1: Sơ đồ Use Case mức tổng quát 10
Hình 2.9-1: Sơ đồ lớp 10
Hình 1.1-1: Các bảng cơ sở dữ liệu 11
Hình 1.2-1: Chi tiết dữ liệu bảng new_record 11
Hình 1.3-1: Chi tiết dữ liệu bảng table3 11
Hình 1.4-1: Chi tiết dữ liệu bảng table_accounts 12
Hình 1.5-1: Chi tiết dữ liệu bảng table_detail_medicine 12
Hình 1.6-1: Chi tiết dữ liệu bảng table_diseases 12
Hình 1.7-1: Chi tiết dữ liệu bảng table_medicine 12
Hình 2.1-1: Giao diện trang đăng nhập, đăng kí 13
Hình 2.2-1: Giao diện trang chủ Health App 14
Hình 2.3-1: Giao diện dữ liệu lưu trữ bệnh án 15
Hình 2.4-1: Giao diện chi tiết bệnh án 16
Hình 2.5-1: Giao diện báo thức 17
Hình 2.5-2: Giao diện báo thức chi tiết 18
Hình 2.6-1: Giao diện lịch sử căn bệnh 19
Hình 2.6-2: Giao diện lịch sử uống thuốc 20
Hình 2.7-1: Giao diện tìm kiếm 21
Trang 8MỞ ĐẦU
Đặt vấn đề
Trong tình xã hội ngày càng phát triển, xã hội ngày càng bất cập nhiều vấn đề vềsức khỏe của mỗi một cá nhân trong cộng đồng, việc quản lí sức khỏe luôn là một trongnhững vấn đề đang được mọi người quan tâm và chú ý Trong quá khứ, việc lưu trữthông tin bệnh án của bệnh nhân đều được lưu trữ trên bệnh án của bệnh nhân, việc lưutrữ ngày không được tối ưu cho việc quản lí và kiểm tra thông tin mỗi một cá nhân kịpthời và thường xuyên
Vì vậy, ứng dụng Health App ra đời với nhiều mục đích khác nhau Trong đóứng dụng đáp ứng dụng đáp ứng được 2 vấn đề quan trọng Một là, lưu trữ thông tinbệnh án đầy đủ và chi tiết, cập nhật đầy đủ thông tin sức khỏe đã được thăm khám Hai
là, hẹn báo thức uống thuốc giúp cho mỗi một bệnh nhân có được lịch uống thuốc 1cách đúng lịch trình nhằm đáp ứng tối đa công dụng của thuốc
Mục tiêu của đề tài
Ứng dụng sức khỏe Health App chạy trên nền tảng Android được thực hiện nhờtrên 2 mục dích sau đây
- Thứ nhất là nghiên cứu các công nghệ lập trình như: lập trình ứng dụng vớiAndrod
- Thứ hai là phát triển ứng dụng có tính thực tiễn cao, có khả năng năng triểnkhai ứng dụng vào thực tế, giúp mỗi một cá nhân đều có thể dùng ứng dụngmột cách dễ dàng và dễ tiếp cận với dời sống
Cấu trúc đồ án
- Chương 1: Tổng quan
- Chương 2: Phân tích, thiết kế hệ thống
- Chương 3: Triển khai xây dựng
Trang 9Chương 1: TỔNG QUAN
Khái niệm cơ bản
1 Hệ điều hành Android
Hình 1.1-1: Sơ đồ kiến trúc Android
Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho cácthiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng Banđầu, Android được phát triển bởi Tổng công ty Android, với sự hỗ trợ tài chính từGoogle và sau này được chính Google mua lại vào năm 2005 Android ra mắt vào năm
2007 cùng với tuyên bố thành lập Liên minh thiết bị cầm tay mở: một hiệp hội gồm cáccông ty phần cứng, phần mềm, và viễn thông với mục tiêu đẩy mạnh các tiêu chuẩn mởcho các thiết bị di động Chiếc điện thoại đầu tiên chạy Android được bán vào tháng 10năm 2008
Trang 10Android có mã nguồn mở và Google phát hành mã nguồn theo Giấy phépApache Chính mã nguồn mở cùng với một giấy phép không có nhiều ràng buộc đã chophép các nhà phát triển thiết bị, mạng di động và các lập trình viên nhiệt huyết đượcđiều chỉnh và phân phối Android một cách tự do Ngoài ra, Android còn có một cộngđồng lập trình viên đông đảo chuyên viết các ứng dụng để mở rộng chức năng của thiết
bị, bằng một loại ngôn ngữ lập trình Java có sửa đổi Vào tháng 10 năm 2012, cókhoảng 700.000 ứng dụng trên Android, và số lượt tải ứng dụng từ Google Play, cửahàng ứng dụng chính của Android, ước tính khoảng 25 tỷ lượt
Những yếu tố này đã giúp Android trở thành nền tảng điện thoại thông minh phổbiến nhất thế giới, vượt qua Symbian vào quý 4 năm 2010, và được các công ty côngnghệ lựa chọn khi họ cần một hệ điều hành không nặng nề, có khả năng tinh chỉnh, vàgiá rẻ chạy trên các thiết bị công nghệ cao thay vì tạo dựng từ đầu Kết quả là mặc dùđược thiết kế để chạy trên điện thoại và máy tính bảng, Android đã xuất hiện trên TV,máy chơi game và các thiết bị điện tử khác Bản chất mở của Android cũng khích lệmột đội ngũ đông đảo lập trình viên và những người đam mê sử dụng mã nguồn mở đểtạo ra những dự án do cộng đồng quản lý Những dự án này bổ sung các tính năng caocấp cho những người dùng thích tìm tòi hoặc đưa Android vào các thiết bị ban đầu chạy
hệ điều hành khác
Android chiếm 75% thị phần điện thoại thông minh trên toàn thế giới vào thờiđiểm quý 3 năm 2012, với tổng cộng 500 triệu thiết bị đã được kích hoạt và 1,3 triệulượt kích hoạt mỗi ngày Sự thành công của hệ điều hành cũng khiến nó trở thành mụctiêu trong các vụ kiện liên quan đến bằng phát minh, góp mặt trong cái gọi là "cuộcchiến điện thoại thông minh" giữa các công ty công nghệ
Trang 112 Lịch sử phát triển
Hình 1.2-2: Sơ đồ lịch sử phát triển Android
Tổng công ty Android (Android, Inc.) được thành lập tại Palo Alto, California vàotháng 10 năm 2003 bởi Andy Rubin (đồng sáng lập công ty Danger), [20] Rich Miner(đồng sáng lập Tổng công ty Viễn thông Wildfire), Nick Sears (từng là Phó giám đốcT-Mobile), và Chris White (trưởng thiết kế và giao diện tại WebTV) để phát triển, theolời của Rubin, "các thiết bị di động thông minh hơn có thể biết được vị trí và sở thíchcủa người dùng" Dù những người thành lập và nhân viên đều là những người có tiếngtăm, Tổng công ty Android hoạt động một cách âm thầm, chỉ tiết lộ rằng họ đang làmphần mềm dành cho điện thoại di động Trong năm đó, Rubin hết kinh phí StevePerlman, một người bạn thân của Rubin, mang cho ông 10.000 USD tiền mặt nhưng từchối tham gia vào công ty
Google mua lại Tổng công ty Android vào ngày 17 tháng 8 năm 2005, biến nóthành một bộ phận trực thuộc Google Những nhân viên của chủ chốt của Tổng công tyAndroid, gồm Rubin, Miner và White, vẫn tiếp tục ở lại công ty làm việc sau thương vụnày Vào thời điểm đó không có nhiều thông tin về Tổng công ty, nhưng nhiều ngườiđồn đoán rằng Google dự tính tham gia thị trường điện thoại di động sau bước đi này.Tại Google, nhóm do Rubin đứng đầu đã phát triển một nền tảng thiết bị di động pháttriển trên nền nhân Linux Google quảng bá nền tảng này cho các nhà sản xuất điệnthoại và các nhà mạng với lời hứa sẽ cung cấp một hệ thống uyển chuyển và có khả
Trang 12năng nâng cấp Google đã liên hệ với hàng loạt hãng phần cứng cũng như đối tác phầnmềm, bắn tin cho các nhà mạng rằng họ sẵn sàng hợp tác với các cấp độ khác nhau Ngày càng nhiều suy đoán rằng Google sẽ tham gia thị trường điện thoại di độngxuất hiện trong tháng 12 năm 2006 Tin tức của BBC và Nhật báo phố Wall chú thíchrằng Google muốn đưa công nghệ tìm kiếm và các ứng dụng của họ vào điện thoại diđộng và họ đang nỗ lực làm việc để thực hiện điều này Các phương tiện truyền thôngtruyền thống lẫn online cũng viết về tin đồn rằng Google đang phát triển một thiết bịcầm tay mang thương hiệu Google Một vài tờ báo còn nói rằng trong khi Google vẫnđang thực hiện những bản mô tả kỹ thuật chi tiết, họ đã trình diễn sản phẩm mẫu chocác nhà sản xuất điện thoại di động và nhà mạng Tháng 9 năm 2007, InformationWeekđăng tải một nghiên cứu của Evalueserve cho biết Google đã nộp một số đơn xin cấpbằng sáng chế trong lĩnh vực điện thoại di động
Ngày 5 tháng 11 năm 2007, Liên minh thiết bị cầm tay mở (Open HandsetAlliance), một hiệp hội bao gồm nhiều công ty trong đó có Texas Instruments, Tậpđoàn Broadcom, Google, HTC, Intel, LG, Tập đoàn Marvell Technology, Motorola,Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel và T-Mobile được thành lậpvới mục đích phát triển các tiêu chuẩn mở cho thiết bị di động Cùng ngày, Androidcũng được ra mắt với vai trò là sản phẩm đầu tiên của Liên minh, một nền tảng thiết bị
di động được xây dựng trên nhân Linux phiên bản 2.6 Chiếc điện thoại chạy Androidđầu tiên được bán ra là HTC Dream, phát hành ngày 22 tháng 10 năm 2008 Biểu trưngcủa hệ điều hành Android mới là một con rôbốt màu xanh lá cây do hãng thiết kế IrinaBlok tại California vẽ
Từ năm 2008, Android đã trải qua nhiều lần cập nhật để dần dần cải tiến hệ điềuhành, bổ sung các tính năng mới và sửa các lỗi trong những lần phát hành trước Mỗibản nâng cấp được đặt tên lần lượt theo thứ tự bảng chữ cái, theo tên của một món ăntráng miệng; ví dụ như phiên bản 1.5 Cupcake (bánh bông lan nhỏ có kem) tiếp nốibằng phiên bản 1.6 Donut (bánh vòng) Phiên bản mới nhất hiện nay là 5.0 Lollipop.Vào năm 2010, Google ra mắt loạt thiết bị Nexus—một dòng sản phẩm bao gồm điệnthoại thông minh và máy tính bảng chạy hệ điều hành Android, do các đối tác phầncứng sản xuất HTC đã hợp tác với Google trong chiếc điện thoại thông minh Nexusđầu tiên, Nexus One Kể từ đó nhiều thiết bị mới hơn đã gia nhập vào dòng sản phẩm
Trang 13này, như điện thoại Nexus 4 và máy tính bảng Nexus 10, lần lượt do LG và Samsungsản xuất Google xem điện thoại và máy tính bảng Nexus là những thiết bị Android chủlực của mình, với những tính năng phần cứng và phần mềm mới nhất của Android Năm 2014, Google công báo Android Wear, hệ điều hành dành cho các thiết bịđeo được.
Công cụ, ngôn ngữ lập trình
1 Công cụ lập trình
Google cung cấp một công cụ phát triển ứng dụng Android trên Website chínhthức dựa trên nền tảng IntelliJ IDEA gọi là Android Studio Android studio dựa vàoIntelliJ IDEA, là một IDE tốt cho nhất Java hiện nay Do đó Android Studio sẽ là môitrường phát triển ứng dụng tốt nhất cho Android
Cung cấp các tính năng mạnh mẽ hơn ADT, bao gồm:
- Hỗ trợ xây dựng dự án dạng Gradle.
- Hỗ trợ sửa lỗi nhanh, tái cấu trúc phương thức
- Cung cấp các công cụ kiểm tra tính khả dụng, khả năng hoạt động của ứng
dụng, tương thích nền tảng…
- Hỗ trợ bảo mật mã nguồn và đóng gói ứng dụng
- Trình biên tập giao diện cung cấp tổng quan giao diện ứng dụng và các thành
phần, cho phép tùy chỉnh trên nhiều cấu hình khác nhau
- Cho phép tương tác với nền Google Cloud
2 Ngôn ngữ lập trình
Back-end: Node.js
Front-end: Google Material
Trang 14Chương 2: PHÂN TÍCH, THIẾT KẾ HỆ THỐNG
- Tác vụ này dành cho User muốn đăng kí thông tin tài khoản.
Luồng dữ liệu vào:
- Tài khoản.
- Mật khẩu.
Luồng dữ liệu ra:
- Thông báo kết quả đăng kí thành công và vào màn hình chính của ứng dụng.
- Thông báo kết quả đăng kí thất bại: tài khoản đã tồn tại hoặc nhập chưa đầy đủ.
2 Đăng nhập
- Tác vụ này dành cho User muốn đăng nhập vào ứng dụng.
Luồng dữ liệu vào:
- Tài khoản.
- Mật khẩu.
Luồng dữ liệu ra:
- Thông báo kết quả đăng nhập thành công và vào màn hình chính của ứng dụng.
- Thông báo kết quả đăng nhập thất bại: tài khoản không đúng và nhập chưa đầy
đủ
3 Xem thông tin hồ sơ bệnh án
- Tác vụ này dành cho User muốn xem thông tin bệnh án.
Luồng dữ liệu vào:
- Tên bệnh án Người dùng chọn danh mục bệnh án.
Luồng dữ liệu ra:
- Hiển thị thông tin bệnh án chi tiết.
Trang 154 Thêm vào hồ sơ bệnh án
- Tác vụ này dành cho User muốn thêm mới vào hồ sơ bệnh án.
Luồng dữ liệu vào:
Liệu trình uống thuốc
Luồng dữ liệu ra:
- Thông báo hộp thoại cập nhật đã được thành công hay thất bại.
Hiển thị giao diện cho phép sửa hồ sơ bệnh án
Hiển thị giao diện cho phép thêm hồ sơ bệnh án mới
5 Cập nhật hồ sơ bệnh án
- Tác vụ này dành cho User muốn cập nhật lại bệnh án.
Luồng dữ liệu vào:
- Tên hồ sơ bệnh án
Luồng dữ liệu ra:
- Thông báo cập nhật thành công hay thất bại.
Hiển thị giao diện cho phép sửa hồ sơ bệnh án
Hiển thị giao diện cho phép thêm hồ sơ bệnh án
6 Thêm thông tin báo thức
- Tác vụ này dành cho User muốn làm mới báo thức uống thuốc.
Luồng dữ liệu vào:
- Thông tin báo thức:
Thời gian
Lặp lại
Tiêu đề
Thông tin thuốc uống
Luồng dữ liệu ra:
- Thông báo thêm báo thức thành công hay thất bại
Hiển thị giao diện cho phép sửa báo thức
Trang 16 Hiển thị giao diện thêm báo thức.
7 Sửa thông tin báo thức
- Tác vụ này dành cho User muốn sửa thông tin báo thức.
Luồng dữ liệu vào:
- Chọn thời gian báo thức.
Luồng dữ liệu ra:
- Thông báo sửa báo thức thành công hay thất bại.
Hiển thị giao diện cho phép sửa báo thức
Hiển thị giao diện thêm báo thức
8 Xóa báo thức
- Tác vụ này dành cho User muốn xóa thông tin báo thức.
Luồng dữ liệu vào:
- Chọn thời gin báo thức
Luồng dữ liệu ra:
- Thông báo xóa báo thức thành công hay thất bại.
Hiển thị giao diện thêm báo thức
9 Tìm kiếm thông tin
- Tác vụ này dành cho User muốn tìm kiếm.
Luồng dữ liệu vào:
- Tên thuốc
- Tên bệnh án
Luồng dữ liệu ra:
- Hiển thị danh sách thuốc.
- Hiển thị danh sách bệnh án.
Trang 17Sơ đồ Use Case
Hình 2.9-3: Sơ đồ Use Case mức tổng quát
Sơ đồ lớp
Hình 2.9-4: Sơ đồ lớp
Trang 18Chương 3: TRIỂN KHAI XÂY DỰNG
1 Thiết kế cơ sở dữ liệu
2 Các bảng cơ sở dữ liệu của ứng dụng
- Gồm có 6 bảng dữ liệu được dùng.
Hình 1.1-5: Các bảng cơ sở dữ liệu.
3 Chi tiết dữ liệu bảng new_record
Hình 1.2-6: Chi tiết dữ liệu bảng new_record
4 Chi tiết dữ liệu bảng table3
Hình 1.3-7: Chi tiết dữ liệu bảng table3
Trang 195 Chi tiết dữ liệu bảng table_accounts
Hình 1.4-8: Chi tiết dữ liệu bảng table_accounts
6 Chi tiết dữ liệu bảng table_detail_medicine
Hình 1.5-9: Chi tiết dữ liệu bảng table_detail_medicine
7 Chi tiết dữ liệu bảng table_diseases
Hình 1.6-10: Chi tiết dữ liệu bảng table_diseases
8 Chi tiết dữ liệu bảng table_medicine
Hình 1.7-11: Chi tiết dữ liệu bảng table_medicine