L ỜI MỞ ĐẦU
2. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU
2.3.2.2. Module quản lý hệ thống
Hình 7 Lược đồ Usecase Module quản lý hệ thống 2.3.3. Đặc tả Usecase
2.3.3.1 Mô tả usecase đăng nhập
Bảng 6 Mô tả usecase đăng nhập
Use Case Đăng nhập
Mô tả Cho phép bất kỳ người dùng nào của hệ thống đã được cấp tài khoản đăng nhập vào hệ thống
31
Tiền điều kiện Tài khoản của người dùng phải đang được kích hoạt trạng thái hoạt động
Các bước thực hiện 1. Người dùng truy cập vào app
2. Nhập đầy đủ và chính xác thông tin: tên đăng nhập và mật khẩu
3. Sau đó, nhấn nút “Đăng nhập” để hoàn tất việc đăng nhập tài khoản vào hệ thống
4. Tài khoản không đăng nhập được thì người dùng không thể truy cập vào hệ thống
2.3.3.2 Mô tả usecase đăng xuất
Bảng 7 Mô tả usecase đăng xuất Use Case Đăng xuất
Mô tả Cho phép bất kỳ người dùng thoát khỏi ứng dụng
Tác nhân kích hoạt Người dùng/bác sĩ/bệnh nhân
Tiền điều kiện Tài khoản của người dùng phải đang được kích hoạt trạng thái hoạt động, đã đăng nhập
Các bước thực hiện 5. Người dùng truy cập vào app
6. Chọn đăng đăng xuất
7. Chuyển về màn hình đăng nhập
2.3.3.3 Mô tả usecase gửi tin nhắn
Bảng 8 Mô tả usecase gửi tin nhắn Use Case Gửi tin nhắn
Mô tả Cho phép bác sĩ/ bệnh nhân gửi tin nhắn
32
Tiền điều kiện Tài khoản của người dùng phải đang được kích hoạt trạng thái hoạt động, đã đăng nhập
Các bước thực hiện 8. Người dùng truy cập vào app
9. Vào màn hình danh sách người đã chat
10. Chọn người muốn chat
11. Soạn tin nhắn
12. Chọn gửi
2.3.3.4 Mô tả usecase Tạo cuộc gọi video
Bảng 9 Mô tả usecase Tạo cuộc gọi video Use Case Tạo cuộc gọi video
Mô tả Cho phép bác sĩ/ bệnh nhân gọi video
Tác nhân kích hoạt Bác sĩ/bệnh nhân
Tiền điều kiện Tài khoản của người dùng phải đang được kích hoạt trạng thái hoạt động, đã đăng nhập, chỉ bệnh nhân được gọi bác sĩ
Các bước thực hiện 13. Người dùng truy cập vào app
14. Vào màn hình danh sách người đã chat
15. Chọn người muốn gọi
16. Chọn gọi
17. Nếu người nhận chấp nhận nghe, cuộc gọi sẽ được lưu trữ
18. Kết thúc cuộc gọi phải thanh toán phí
19. Nếu người nhận không chấp nhận
33
2.3.3.5 Mô tả usecase Tìm kiếm bác sĩ
Bảng 10 Mô tả usecase Tìm kiếm bác sĩ Use Case Tìm kiếm bác sĩ
Mô tả Cho phép bệnh nhân tìm kiếm bác sĩ
Tác nhân kích hoạt Bệnh nhân
Tiền điều kiện Tài khoản của người dùng phải đang được kích hoạt trạng thái hoạt động, đã đăng nhập
Các bước thực hiện 21. Người dùng truy cập vào app
22. Vào màn hình tìm kiếm bác sĩ
2.3.3.6 Mô tả usecase Đăng kí xét nghiệm online
Bảng 11 Mô tả usecase Đăng kí xét nghiệm online Use Case Đăng kí xét nghiệm online
Mô tả Cho phép bệnh nhân đăng kí xét nghiệm
Tác nhân kích hoạt Bệnh nhân
Tiền điều kiện Tài khoản của người dùng phải đang được kích hoạt trạng thái hoạt động, đã đăng nhập
Các bước thực hiện 23. Người dùng truy cập vào app
24. Vào màn hình đăng kí xét nghiệm
25. Chọn mục phù hợp
26. Thanh toán hoặc quay lại
34
2.3.3.7 Mô tả usecase Quản lí thông tin người dùng
Bảng 12 Mô tả usecase Quản lí thông tin người dùng Use Case Quản lí thông tin người dùng
Mô tả Cho phép Admin quản lí thông tin bệnh nhân, bác sĩ
Tác nhân kích hoạt Admin
Tiền điều kiện Tài khoản của người dùng phải đang được kích hoạt trạng thái hoạt động, đã đăng nhập
Các bước thực hiện 28. Người dùng truy cập vào web
29. Chọn tab quản lí người dùng
2.3.3.8 Mô tả usecase Quản lí lịch sử cuộc gọi
Bảng 13 Mô tả usecase Quản lí lịch sử cuộc gọi Use Case Quản lí lịch sử cuộc gọi
Mô tả Cho phép Admin quản lí thông tin cuộc gọi của bệnh nhân, bác sĩ
Tác nhân kích hoạt Admin
Tiền điều kiện Tài khoản của người dùng phải đang được kích hoạt trạng thái hoạt động, đã đăng nhập
Các bước thực hiện 30. Người dùng truy cập vào web
31. Chọn tab quản lí lịch sử cuộc gọi
2.3.3.9 Mô tả usecase Quản lí danh sách online
Bảng 14 Mô tả usecase Quản lí danh sách online Use Case Quản lí danh sách online
35
Tác nhân kích hoạt Admin
Tiền điều kiện Tài khoản của người dùng phải đang được kích hoạt trạng thái hoạt động, đã đăng nhập
Các bước thực hiện 32. Người dùng truy cập vào web
36
CHƯƠNG 3. THIẾT KẾ PHẦN MỀM
3.1. THIẾT KẾ HỆ THỐNG 3.1.1. Lược đồ tuần tự 3.1.1. Lược đồ tuần tự
3.1.1.1. Lược đồ tuần tự - đăng nhập
37
3.1.1.2. Lược đồ tuần tự - đăng xuất
38
3.1.1.3. Lược đồ tuần tự - đăng ký
Hình 10 Lược đồ tuần tự - đăng ký
3.1.1.4. Lược đồ tuần tự - thêm đối tượng
39
3.1.1.5. Lược đồ tuần tự - sửa/ cập nhật đối tượng
Hình 12 Lược đồ tuần tự - sửa/ cập nhật đối tượng
3.1.1.6. Lược đồ tuần tự - xóa đối tượng
40
3.1.1.7. Lược đồ tuần tự - Gọi video call
41
3.1.1.8. Lược đồ tuần tự - Chat online
42
3.1.1.9. Lược đồ tuần tự - Đặt lịch khám online
43
3.2. THIẾT KẾ DỮ LIỆU 3.2.1. Chi tiết các bảng dữ liệu 3.2.1. Chi tiết các bảng dữ liệu
❖ User (id, roleId, fullname, email, password, avatar, gender, birthday, phone, address, city, introduction, createAt, updateAt, deleteAt, history, typeOfPlaceWork, status, account)
Bảng 15 Chi tiết dữ liệu bảng Classes - User
STT Thuộc tính Kiểu Miền giá trị Ý nghĩa Ghi chú
1 id String Khóa chính Mã người dùng
2 roleId Enum Mã loại người
dùng
3 fullname String Tên đầy đủ người
dùng
4 email String Email
5 password String Mật khẩu được
mã hóa
6 avatar String Đường dẫn lưu
file hình đại diện
7 gender String Giới tính
8 birthday Datetime Ngày sinh
9 phone String Số điện thoại
10 address String Địa chỉ
44
12 introduction String Đường dẫn lưu
file giới thiệu
13 createdAt DateTime Ngày tạo
14 updatedAt Datetime Ngày cập nhật
15 deleteAt Datetime Ngày xóa
16 history String Tiểu sử
17 typeOfPlaceWork Enum Nơi làm việc
18 status Enum Trạng thái tài
khoản
19 account String Tên đăng nhập
❖ Room (id, senderId, recieverId, portal, createAt, updateAt, deleteAt)
Bảng 16 Chi tiết dữ liệu bảng Classes - Room
STT Thuộc tính Kiểu Miền giá trị Ý nghĩa Ghi chú
1 id String Khóa chính Mã người dùng
2 senderId String Mã người gửi
3 recieverId String Mã người nhận
4 portal String
5 createdAt DateTime Ngày tạo
6 updatedAt Datetime Ngày cập nhật
45
❖ Transaction (id, senderId, recieverId, portal, createAt, updateAt, deleteAt, amount)
Bảng 17 Chi tiết dữ liệu bảng Classes - Transaction
STT Thuộc tính Kiểu Miền giá trị Ý nghĩa Ghi chú
1 id String Khóa chính Mã giao dịch
2 senderId String Mã người gửi
3 recieverId String Mã người nhận
4 portal String Cổng giao dịch
5 createdAt DateTime Ngày tạo
6 updatedAt Datetime Ngày cập nhật
7 deleteAt Datetime Ngày xóa
8 amount Int Chi phí cuộc gọi
❖ Message (id, senderId, recieverId, code, createAt, updateAt, deleteAt, content)
Bảng 18 Chi tiết dữ liệu bảng Classes - Message
STT Thuộc tính Kiểu Miền giá trị Ý nghĩa Ghi chú
1 id String Khóa chính Mã tin nhắn
2 senderId String Mã người gửi
3 recieverId String Mã người nhận
46
5 createdAt DateTime Ngày tạo
6 updatedAt Datetime Ngày cập nhật
7 deleteAt Datetime Ngày xóa
8 content String Nội dung tin nhắn
9 code String Mã tự động
❖ CallHistory (id, senderId, recieverId, code, createAt, updateAt, deleteAt, room, callduration, amount)
Bảng 19 Chi tiết dữ liệu bảng Classes - CallHistory
STT Thuộc tính Kiểu Miền giá trị Ý nghĩa Ghi chú
1 id String Khóa chính Mã người dùng
2 senderId String Mã người gửi
3 recieverId String Mã người nhận
4 code String Mã tự động
5 createdAt DateTime Ngày tạo
6 updatedAt Datetime Ngày cập nhật
7 deleteAt Datetime Ngày xóa
8 room int Mã phòng chat
9 amount String Giá cuộc gọi
47
3.2.2. Sơ đồ quan hệ
Hình 17 Sơ đồ quan hệ 3.3. THIẾT KẾ GIAO DIỆN
3.3.1. Mô tả chi tiết các màn hình
3.3.1.1. Màn hình đăng nhập ( cho người dùng )
48
❖ Chi tiết màn hình
Hình 18 Màn hình đăng nhập ( Người dùng)
❖ Các đối tượng trong màn hình
Bảng 20 Các đối tượng trong màn hình đăng nhập ( Người dùng )
STT Loại Ý nghĩa
1 textEdit Nhập số điện thoại
2 textEdit Nhập mật khẩu
3 simpleButton Hiển thị mật khẩu
4 touchAbleopacity Quên mật khẩu, set mật khẩu
mới
5 simpleButton Đăng nhập
49
3.3.1.2. Màn hình đăng xuất
❖ Ý nghĩa: Cho phép người dùng đăng xuất khỏi hệ thống
❖ Chí tiết màn hình
Hình 19 Màn hình đăng xuất
❖ Các đối tượng trong màn hình
Bảng 21 Các đối tượng trong màn hình đăng xuất
STT Loại Ý nghĩa
1 simpleButton Quản lý tài khoản
2 simpleButton Đồng ý đăng xuất
50
3.3.1.3. Màn hình chính người dùng ( bác sĩ )
❖ Ý nghĩa: cho phép xem số dư tài khoản, xem thống kê cuộc gọi, tư vấn,
bệnh nhân, thao tác với tin nhắn, xem thông báo, quản lý tài khoản
❖ Chi tiết màn hình
Hình 20 Màn hình chính người dùng ( bác sĩ )
❖ Các đối tượng trong màn hình
Bảng 22 Các đối tượng trong màn hình chính người dùng ( Bác sĩ )
STT Loại Ý nghĩa
1 label Xem số dư tài khoản
2 label Xem thống kê cuộc gọi
51
3 label Xem thống kê cuộc gọi
video
4 label Xem thống kê số lần tư vấn
5 label Xem thống kê bệnh nhân
6 simpleButton Xem trang chủ
7 simpleButton Xem tin nhắn
8 simpleButton Xem thông báo
9 simpleButton Xem quản lý tài khoản
3.3.1.4. Màn hình chính người dùng ( Bệnh nhân )
❖ Ý nghĩa: Cho phép tìm kiếm bác sĩ, gọi / chat online với bác sĩ, đặt xét
nghiệm, xem thông báo, quản lý tài khoản
❖ Chi tết màn hình
52
❖ Các đối tượng trong màn hình
Bảng 23 Các đối tượng trong màn hình chính người dùng ( Bệnh nhân )
STT Loại Ý nghĩa
1 lable Cho phép tìm kiếm bác sĩ tư
vấn
2 lable Cho phép gọi điện / gọi video
với bác sĩ
3 lable Cho phép chat message với
bác sĩ
4 lable Cho phép đăt xét nghiệm
online với bác sĩ
5 simpleButton Cho phép xem dịch vụ
6 simpleButton Cho phép xem tin nhắn
7 simpleButton Cho phép xem các thông báo
8 simpleButton Quản lý tài khoản cá nhân
3.3.1.5. Màn hình tin nhắn
53
❖ Chi tiết màn hình
Hình 22 Màn hình tin nhắn
❖Các đối tượng trong màn hình
Bảng 24 Các đối tượng trong màn hình tin nhắn
STT Loại Ý nghĩa
1 textEdit Tìm kiếm tài khoản người
gửi / nhận tin nhắn
2 cpnBoxChat Hiển thị người gửi / nhận
tin nhắn
3 listView Hiển thị nội dung tin nhắn
4 simpleButton Thực hiện cuộc gọi thường
54
6 textEdit Soạn nội dung tin nhắn
7 simpleButton Chụp ảnh, chọn ảnh gửi
8 simpleButton Gửi tin nhắn
3.3.1.6. Màn hình tìm kiếm bác sĩ
❖ Ý nghĩa: Cho phép tìm kiếm, liên hệ với bác sĩ
❖ Chi tiết màn hình
55
❖ Các đối tượng trong màn hình
Bảng 25 Các đối tượng trong màn hình tìm kiếm bác sĩ
STT Loại Ý nghĩa
1 textEdit Nhập tên bác sĩ muốn tìm
kiếm
2 label Hiển thị tên bác sĩ
3 simpleButton Nhắn tin đến bác sĩ
4 simpleButton Gọi điện thoại đến bác sĩ
5 simpleButton Gọi video call đến bác sĩ
6 simpleButton Chọn khoa
7 comboBox Chọn địa chỉ
8 radioButton Chọn chuyên khoa
9 simpleButton Tìm kiếm
10 touchAbleopacity Cho phép tìm kiếm quanh đây
bằng bản đồ
56
3.3.1.7. Màn hình đặt xét nghiệm online
❖ Ý nghĩa: Cho phép xem, đặt các xét nghiệm online
❖ Chi tiết màn hình
57
❖ Các đối tượng trong màn hình
Bảng 26 Các đối tượng trong màn hình đặt xét nghiệm online
STT Loại Ý nghĩa
1 TextEdit Nhập tên xét nghiệm cần tìm
kiếm
2 Label Hiển thị thông tin loại xét
nghiệm
3 Label Hiển thị chi tiết các thông tin
về gói xét nghiệm người dùng chọn
4 simpleButton Đặt xét nghiệm
5 radioButton Chọn hình thức thanh toán
6 simpleButton Xác nhận thanh toán
3.3.1.8. Màn hình cuộc gọi đến
❖ Ý nghĩa: Cho phép nhận / từ chối cuộc gọi đến
❖ Chi tiết màn hình
Hình 25 Màn hình cuộc gọi đến
58
Bảng 27 Các đối tượng trong màn hình cuộc gọi đến
STT Loại Ý nghĩa
1 image Hiển thị ảnh đại diện người
gọi đến
2 text Hiển thị tên người gọi đến
3 simpleButton Từ chối cuộc gọi
4 simpleButton Chấp nhận cuộc gọi
3.3.1.9. Màn hình đăng nhập ( cho Admin )
❖ Ý nghĩa: Cho phép đăng nhập dưới quyền Admin
❖ Chi tiết màn hình
59
❖ Các đối tượng trong màn hình
Bảng 28 Các đối tượng trong màn hình đăng nhập (Admin)
STT Loại Ý nghĩa
1 textEdit Nhập username
2 textEdit Nhập password
3 simpleButton Đăng nhập
3.3.1.10. Màn hình trang chủ quản lý của Admin
❖ Ý nghĩa: Xem, thực hiện các chức năng quản lý của Admin
❖ Chi tiết màn hình
Hình 27 Màn hình trang chủ quản lý của Admin
❖ Các đối tượng trong màn hình
Bảng 29 Các đối tượng trong màn hình quản lý của Admin
STT Loại Ý nghĩa
1 simpleButton Quản lý người dùng ( Bệnh
nhân)
2 simpleButton Quản lý bác sĩ
60
3.3.1.11. Màn hình quản lý người dùng
❖ Ý nghĩa: Cho phép admin thực hiện các thao tác để quản lý người dùng
❖ Chi tiết màn hình
Hình 28 Màn hình quản lý người dùng
❖ Các đối tượng trong màn hình
Bảng 30 Các đối tượng trong màn hình quản lý người dùng
STT Loại Ý nghĩa
1 simpleButton Thực hiện thêm tài khoản
người dùng
2 label Hiển thị thông tin tài khoản
61
3 simpleButton Sửa thông tin tài khoản người
dùng
4 simpleButton Xóa tài khoản
5 textEdit Nhập họ tên cho tài khoản
6 textEdit Nhập số điện thoại
7 textEdit Nhập mật khẩu cho tài khoản
62
CHƯƠNG 4. CÀI ĐẶT VÀ KIỂM THỬ PHẦN MỀM 4.1. CÀI ĐẶT PHẦN MỀM
Vì là hệ thống cung cấp dịch vụ khám bệnh từ xa, nên người dùng không cần phải cài đặt môi trường. Người dùng cuối chỉ cần truy cập vào website hoặc app store để tải app.
Để thiết lập môi trường development, người phát triển cần tiến hành cài đặt các môi trường sau đây
4.1.1. Cài đặt Node JS
- Khuyến khích cài NodeJs LTS version - Link dowload NodeJs: https://nodejs.org/en/
- Kiểm tra version NodeJs, mở Terminal và nhập lệnh: node –v
4.1.2. Cài đặt React Native CLI
- Người dùng chạy command: npm install -g react-native-cli
4.1.3. Cài đặt môi trường phát triển Android
- Vào trang chủ android studio: https://developer.android.com/studio/ - Chọn phiên bản phù hợp với thiết bị hỗ trợ
- Trong Android Studio, chọn Tools\Android\SDK Manager. Chọn SDK
Platforms và kiểm tra Show Package Details. Đảm bảo rằng các mục sau được chọn:
63
-
- Google APIs, Android 23 - Android SDK Platform 23
- Intel x86 Atom_64 System Image
- Google APIs Intel x86 Atom_64 System Image
- Sau đó, chọn SDK Tools và kiểm tra Show Package Details. Mở rộng Android
SDK Build-Tools và chắc chắn rằng 23.0.1 được chọn.
4.1.4. Cài đặt môi trường PortgreSQL
- Chạy các câu lệnh:
docker run -it --name postgres -e POSTGRES_PASSWORD=123456 -p 5432:5432