Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 78 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
78
Dung lượng
4,53 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO ĐỒ ÁN NGHIÊN CỨU PHƯƠNG PHÁP XỬ LÝ THÔNG TIN DỮ LIỆU Y TẾ VÀ XÂY DỰNG ỨNG DỤNG HỖ TRỢ CHẨN ĐỐN BỆNH Nhóm thực Dương Hiển Thế 19522252 Nguyễn Tấn Thành 19522239 Gvhd: Th.S Phan Trung Hiếu TP Hồ Chí Minh, 20 tháng 12 năm 2022 LỜI CẢM ƠN Trong trình học tập, nghiên cứu phát triền đề tài “Nghiên cứu phương pháp xử lý thông tin liệu y tế xây dựng ứng dụng hỗ trợ chẩn đoán bệnh” chúng em xin bày tỏ biết ơn đặc biệt đến thầy Phan Trung Hiếu, người trực tiếp hướng dẫn, giúp đỡ kiến thức, tài liệu phương pháp để chúng em hoàn thành đề tài Chúng em xin chân thành cảm ơn thời gian quý báu thầy dành để kiểm tra, đưa ý kiến nhận xét đóng góp nhiều vào tính năng, hướng phát triển cho đề tài Hi vọng với báo góp ý từ thầy, nhóm đề tài tiếp túc phát triển để ứng dụng ngày mở rộng phục vụ tốt cho người dùng Trải qua 14 tuần tìm hiểu nghiên cứu cho chúng em nhìn chi tiết chủ đề, nghiên cứu lạ hấp dẫn Chúng em tin kiến thức hỗ trợ chúng em đường nghiệp tới Một lần nữa, cảm ơn thầy bạn đồng hành hỗ trợ nhóm chúng em mơn học Chúng em xin trân trọng cảm ơn! TP Hồ Chí Minh, ngày 10 tháng năm 2022 LỜI MỞ ĐẦU Ngày nay, AI - Artificial Intelligence (Trí Tuệ Nhân Tạo), cụ thể Machine Learning (Học Máy Máy Học) lên chứng cách mạng công nghiệp lần thứ tư Machine Learning lĩnh vực trí tuệ nhân tạo (AI) liên quan đến việc nghiên cứu xây dựng kỹ thuật cho phép hệ thống học tự động từ liệu đế giải vấn đề cụ Hiện Machine Learning áp dụng rộng rãi bao gồm máy truy tìm liệu, máy phân tích thị trường chứng khốn, nhận dạng tiếng nói, chữ viết hình ảnh Bên cạnh với phát triển vũ bão Internet, xu hướng kinh doanh trực tuyến dường trở thành điều tất yếu với nhiều doanh nghiệp.Và thấy điều cịn thiếu sót website truyền thống việc ứng dụng Machine Learning để tối ưu hóa trải nghiệm người dùng Một điều điển hình mua thuốc website, ứng dụng bán hàng online chọn loại thuốc phù hợp với loại bệnh mà thân gặp phải Nắm bắt nhu cầu đó, Website Medi-Good chúng em thực nhằm giải vấn đề chuẩn đoán bệnh trước mua thuốc Các cơng việc mà website hỗ trợ là: Xem đặt hàng sản phẩm, xem blog, quản lý đơn hàng, quản lý blog, quản lý sản phẩm, chat với admin, chuẩn đốn bệnh thơng qua khung chat LỜI CẢM ƠN LỜI MỞ ĐẦU CƠ SỞ LÝ THUYẾT A I ReactJS II NodeJS, ExpressJS III Flask 10 IV SocketIO 12 B XÂY DỰNG ỨNG DỤNG 13 I Chương 1: Tổng Quan 13 Tên đề tài 13 Nền tảng ứng dụng 13 Công nghệ 14 Nhân 14 II Chương 2: Phân tích thiết kế hệ thống 14 Danh sách tính 14 Sơ đồ Use Case 15 Sơ đồ liên kết hình (Site map) 38 Sơ đồ hoạt động 39 Cơ sở liệu 47 Kiến trúc hệ thống 51 Giao diện 54 III Chương 3: Tổng kết 75 Kết đạt 75 Hạn chế 75 Hướng phát triển 75 Cài đặt sử dụng 75 Bảng phân công công việc 76 TÀI LIỆU THAM KHẢO 78 A CƠ SỞ LÝ THUYẾT I ReactJS ReactJS gì? React (Hay ReactJS, React.js) thư viện Javascript mã nguồn mở để xây dựng thành phần giao diện tái sử dụng Nó tạo Jordan Walke, kỹ sư phần mềm Facebook Người bị ảnh hưởng XHP (Một tảng thành phần HTML cho PHP) React lần triển khai cho ứng dụng Newsfeed Facebook năm 2011, sau triển khai cho Instagram.com năm 2012 Nó mở mã nguồn (open-sourced) JSConf US tháng năm 2013 Hiện nay, thư viện nhận nhiều quan tâm đến từ cộng đồng Nó bảo trì (maintain) Facebook Instagram, với đóng góp cộng đồng lập trình viên giỏi Thế giới Hệ sinh thái React React JS thường mô tả thư viện JavaScript Đôi framework JavaScript Vậy cụ thể gì? Hay hai? Nhóm chun mơn Skillcrush định nghĩa React JS thư viện JavaScript, framework Sự khác biệt thư viện JavaScript (như React) framework JavaScript (như Angular) là: Các developer áp dụng code thư viện vào lệnh cụ thể, yêu cầu Đối với framework, tạo khung xếp trang web hay ứng dụng Rồi sau cung cấp khu vực dành riêng cho framework code Để dễ hiểu hơn, tưởng tượng code từ thư viện JavaScript đồ nội thất, trang trí cho nhà xây Cịn framework mẫu mà ta dựa vào để xây dựng nhà React JS thường bị nhầm framework hệ sinh thái mạnh mẽ, khả mở rộng lớn Do người ta xem thư viện JavaScript linh hoạt Nên nhớ, sử dụng React JS để build website hay UI ứng dụng web: - Ta truy cập vào Snippet React code thành phần (như block React code, dùng để tạo phần cụ thể giao diện người dùng) - Có thể sử dụng JSX để trực tiếp tác động vào DOM - Một Virtual DOM, giúp cải thiện đáng kể hiệu website Nhưng hết, React JS có mã nguồn mở, nên tải xuống sửa đổi miễn phí Do đó, kích thước thư viện React tăng theo cấp số nhân với vơ vàn tiện ích, add-on khác Đặc trưng ReactJS Nếu trước muốn thay đổi thành phần web đòi hỏi phải thực thao tác với DOM Tuy nhiên với ReactJS phát triển cơng nghệ Virtual DOM vấn đề giải tốt Virtual DOM công nghệ sử dụng giúp ứng dụng có khả hoạt động ổn định mượt mà cần thay đổi thành phần website liên tục với trang web lớn, có nhiều thành phần phức tạp Đối với ReactJS còn sử dụng dạng cú pháp mở rộng dành riêng cho Javascript sở hữu tên gọi JSM Nhờ có JSM thay việc phải viết cú pháp cho Javascript vơ phức tạp lúc cú pháp trở nên gọn gàng, đơn giản nhiều Nó giúp cơng việc phát triển web thực thuận lợi, hiệu với độ xác cao Lý nên chọn reactjs - Dễ dàng để học Từ đánh giá, nhận xét cộng đồng thấy ReactJS dễ dàng để tìm hiểu, tiếp cận học tập Với nguồn tài liệu phong phú, đầy đủ hướng dẫn chi tiết làm quen, hay học thành thạo điều mà đạt thực đam mê, yêu thích dành thời gian để nghiên cứu Từ tài liệu cung cấp tìm hiểu, thực hành theo khơng q khó khăn Trong điều kiện có sẵn tảng Javascript việc bắt đầu thực sau vài ngày ngắn ngủi tìm hiểu nắm bắt kiến thức liên quan - Tái sử dụng nhiều thành phần Đặc trưng bật ReactJS dùng việc tập trung vào giải tầng view nên thành phần giúp tạo ứng dụng component Đồng thời chức ReactJS phân chia thành component khác để sử dụng hiệu điều tạo điều kiện cho tái sử dụng, tránh tình trạng lặp code có khả xuất - Nhiều công cụ hỗ trợ Một ưu điểm bật, lợi ích khơng thể bỏ qua sử dụng ReactJS việc có nhiều cơng cụ hỗ trợ khác Từ công cụ kiểm tra tối ưu ứng dụng, hay công cụ debug,… sử dụng hợp lý giúp trình phát triển web, hay ứng dụng thực đạt kết cao, nhanh chóng đơn giản - Cộng đồng người dùng đông đảo Tốc độ phát triển mạnh mẽ, hoàn thiện cao với độ phổ biến khẳng định ReactJS giúp người dùng dễ dàng tìm kiếm hỗ trợ cần thiết Đồng thời việc tìm kiếm thơng tin để giải đáp cho thắc mắc người dùng trở nên đơn giản nhiều Sở hữu cộng đồng phát triển đơng đảo, mạnh mẽ với thư viện hồn thiện tốt, tối ưu tối đa để sử dụng hỗ trợ cho người dùng ứng dụng ReactJS tốt Tương lai phát triển ReactJS Facebook nhóm phát triển ReactJS thể cam kết nâng cao hiệu cho ReactJS Đây điều quan trọng đối thủ VueJS thể tham vọng bám đuổi sát Và mong đợi hy vọng ReactJS cải tiến phiên tiếp theo: Cộng đồng ReactJS trơng đợi phương pháp render Ví dụ, ReactJS team xây dựng thêm cú pháp phân đoạn vào JSX mà không cần key Các Developer trơng đợi phát triển quy trình xử lý lỗi Trước đây, lỗi runtime xuất lúc render, ReactJS xử lý vụng Developer phải refresh trang thông thường Ở phiên tại, lỗi đưa vô component lifecycle method Mặc dù điều giúp ngăn render data lỗi, ý tưởng tốt cho UX Tăng cường server-side rendering Mặc dù ReactJS phiên tăng cường điều này, có cải tiến tốc độ lý tưởng cho streaming, cịn mang tính quảng bá chủ yếu, chưa mang lại hiệu thực II NodeJS, ExpressJS NodeJS NodeJS môi trường runtime chạy JavaScript đa tảng có mã nguồn mở, sử dụng để chạy ứng dụng web bên ngồi trình duyệt client Nền tảng phát triển Ryan Dahl vào năm 2009, xem giải pháp hoàn hảo cho ứng dụng sử dụng nhiều liệu nhờ vào mơ hình hướng kiện (event-driven) khơng đồng • Ưu nhược điểm Node.JS Ưu điểm - IO hướng kiện không đồng bộ, cho phép xử lý nhiều yêu cầu đồng thời - Sử dụng JavaScript – ngôn ngữ lập trình dễ học - Chia sẻ code phía client server - NPM(Node Package Manager) module Node ngày phát triển mạnh mẽ - Cộng đồng hỗ trợ tích cực - Cho phép stream file có kích thước lớn Nhược điểm - Khơng có khả mở rộng, khơng thể tận dụng lợi mơ hình đa lõi phần cứng cấp server - Khó thao tác với sử liệu quan hệ - Mỗi callback kèm với nhiều callback lồng khác - Cần có kiến thức tốt JavaScript - Không phù hợp với tác vụ đòi hỏi nhiều CPU • Một số lý nên sử dụng NodeJS: - Tốc độ cực nhanh: Được xây dựng dựa engine JavaScript V8 Google Chrome, thư viện có khả thực thi code nhanh - NPM: Với 50,000 package khác nhau, developer dễ dàng lựa chọn tính để xây dựng cho ứng dụng - Lập trình khơng đồng bộ: Mọi API Node.JS có tính khơng đồng (non-blocking), server dựa Node.JS không cần phải đợi API trả liệu - Khơng có buffering: Node.JS giúp tiết kiệm thời gian xử lý file cần upload âm video ứng dụng khơng buffer liệu mà xuất liệu theo phần (chunk) - Đơn luồng: Node.JS sử dụng mơ hình đơn luồng với vịng lặp kiện Do ứng dụng xử lý số lượng request lớn nhiều so với server truyền thống Apache HTTP Server ExpressJS Expressjs hay còn viết Express js, Express.js Đây framework mã nguồn mở miễn phí cho Node.js Express.js sử dụng thiết kế xây dựng ứng dụng web cách đơn giản nhanh chóng Vì Express js u cầu ngơn ngữ lập trình Javascript nên việc xây dựng ứng dụng web API trở nên đơn giản với lập trình viên nhà phát triển Expressjs khuôn khổ Node.js hầu hết mã code viết sẵn cho lập trình viên làm việc Expressjs phần công nghệ giúp quản lý ứng dụng web cách dễ dàng hay còn gọi ngăn xếp phần mềm MEAN Nhờ có thư viện Javascript Express js giúp cho nhà lập trình xây dựng nên ứng dụng web hiệu nhanh chóng Expressjs sử dụng để nâng cao chức Node.js • Những tính Expressjs - Phát triển máy chủ nhanh chóng: Expressjs cung cấp nhiều tính dạng hàm để dễ dàng sử dụng đâu chương trình Điều loại bỏ nhu cầu viết mã từ tiết kiệm thời gian - Phần mềm trung gian Middleware: Đây phần mềm trung gian có quyền truy cập vào sở liệu, yêu cầu khách hàng phần mềm trung gian khác Phần mềm Middleware chịu trách nhiệm cho việc tổ chức có hệ thống chức Express.js - Định tuyến - Routing: Express js cung cấp chế định tuyến giúp trì trạng thái website với trợ giúp URL - Tạo mẫu - Templating: Các công cụ tạo khuôn mẫu Express.js cung cấp cho phép nhà xây dựng nội dung động website cách tạo dựng mẫu HTML phía máy chủ - Gỡ lỗi - Debugging: Để phát triển thành công ứng dụng web thiết việc gỡ lỗi Giờ với Expressjs việc gỡ lỗi trở nên dễ dàng nhờ khả xác định xác phần ứng dụng web có lỗi III Flask Flask framework ứng dụng web viết Python Nó phát triển Armin Ronacher, người dẫn đầu nhóm người đam mê Python quốc tế có tên Poocco Flask dựa cơng cụ Werkzeg WSGI template engine Jinja2 10 7.11 Giao diện chi tiết đơn hàng (user) 64 7.12 Giao diện tìm kiếm 65 7.13 Giao diện tra cứu đơn hàng 66 7.14 Giao diện quản lý sản phẩm 67 7.15 Giao diện thêm, chỉnh sửa sản phẩm 68 7.16 Giao diện quản lý hóa đơn 7.17 Giao diện chi tiết hóa đơn 69 7.18 Giao diện chỉnh sửa địa nhận hàng 7.19 Giao diện tạo đơn hàng (Bước 1) 70 7.20 Giao diện tạo đơn hàng ( Bước 2) 7.21 Giao diện tạo đơn hàng (Bước 3) 71 7.22 Giao diện quản lý viết 7.23 Giao diện thêm, chỉnh sửa viết 72 7.24 Giao diện quản lý người dùng 7.25 Giao diện chỉnh sửa, thêm người dùng 73 7.26 Giao diện Dashboard 74 III Chương 3: Tổng kết Kết đạt Qua thời gian nghiện cứu thực hiện, nhóm em phát triển thành cơng hệ thống bán thuốc online có sử dụng AI để chẩn đốn bệnh Ngồi qua q trình làm việc thành viên nhóm tích lũy kiến thức xây dựng AI model, xây dựng back-end với framework flask… Hạn chế − Một số quy trình nghiệp vụ khâu quản lý còn chưa hoàn thiện − Giao diện chưa thực tối ưu cho nhiều thiết bị, responsive mang tính tương đối − AI Model chưa hồn thiện, khả nhân biết chưa cao − Kiểm thử chức chưa thực kĩ Hướng phát triển − Hoàn thành đầy đủ, chi tiết vấn đề nghiệp vụ trọng tâm − Chỉnh sửa giao diện responsive hoàn hảo cho tất thiết bị − Thêm chức chuẩn đốn bênh hình ảnh − Thực nghiệp vụ Digital Maketting, tối ưu hóa cơng cụ tìm kiếm cho trang web Cài đặt sử dụng Đối với người dùng: − Demo: Link Video − Link sản phẩm deploy: Trang chủ, Quản lý, Chat Admin − Tài khoản root: username: admin@gmail.com password: a11111111 Đối với lập trình viên: • Front end: SHOP: − Link Github − Tạo thư mục env với nội dung PORT=8080 75 − Cài đặt thư viện: npm install − Khởi chạy ứng dụng: npm start CHAT ADMIN: − Link Github − Tạo thư mục env với nội dung ▪ PORT=8085 − Cài đặt thư viện: npm install − Khởi chạy ứng dụng: npm start • Back end: MAIN-SERVER − Link Github − Tạo thư mục env với nội dung: JWT_SECRET= privatekey PORT=5000 MONGODB_URI=mongodb+srv://medigood:G9wAUarEmf3VhEDy@me di-good.gqmkfau.mongodb.net/?retryWrites=true&w=majority − Cài đặt thư viện: npm install − Khởi chạy ứng dụng: npm start AI-CHAT-SERVER − Link Github − Cài đặt thư viện: pip install -r requirements.txt − Khởi chạy ứng dụng: python app.py Bảng phân công công việc STT Thành viên Tên công việc Thế Thành Chuẩn bị, lên kế hoạch x x Khảo sát, đặc tả yêu cầu x x Thiết kế kiến trúc x x 76 Thiết kế liệu x x Thiết kế giao diện x Chức người dùng (Front end) Chức quản lý (Front end) x Backend x x Kiểm tra sửa lỗi x x 10 Viết tổng hợp báo cáo x x Tỷ lệ công việc phân công 50% 50% Mức độ hoàn thành 100% 100% x 77 TÀI LIỆU THAM KHẢO - https://reactjs.org/docs/getting-started.html - https://flask.palletsprojects.com/ - https://socket.io/ - https://www.kaggle.com/ 78 ... trình học tập, nghiên cứu phát triền đề tài ? ?Nghiên cứu phương pháp xử lý thông tin liệu y tế x? ?y dựng ứng dụng hỗ trợ chẩn đoán bệnh? ?? chúng em xin b? ?y tỏ biết ơn đặc biệt đến th? ?y Phan Trung Hiếu,... x? ?y dựng giao diện người dùng Ở sử dụng js, thư viện js jquery, Nói chung ngơn ngữ B X? ?Y DỰNG ỨNG DỤNG I Chương 1: Tổng Quan Tên đề tài Nghiên cứu phương pháp xử lý thông tin liệu y tế x? ?y dựng. .. có mã nguồn mở, sử dụng để ch? ?y ứng dụng web bên trình duyệt client Nền tảng phát triển Ryan Dahl vào năm 2009, xem giải pháp hoàn hảo cho ứng dụng sử dụng nhiều liệu nhờ vào mơ hình hướng kiện