MÔ HÌNH HÓA YÊU CẦU

Một phần của tài liệu Xây dựng app khám bệnh online với react native và nodejs (Trang 28)

L ỜI MỞ ĐẦU

2. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU

2.3. MÔ HÌNH HÓA YÊU CẦU

2.3.1. Lược đồ UseCase

28

2.3.2. Lược đồ Module cho hệ thống

29

2.3.2.1. Module quản lý người dùng

30

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

Một phần của tài liệu Xây dựng app khám bệnh online với react native và nodejs (Trang 28)

Tải bản đầy đủ (PDF)

(70 trang)