1. Trang chủ
  2. » Tất cả

Báo cáo thực tập chuyên ngành ứng dụng java framework trong xây dựng phần mềm quản lý phòng khám hồng cường

37 6 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo cáo thực tập chuyên ngành ứng dụng java framework trong xây dựng phần mềm quản lý phòng khám hồng cường
Tác giả Nguyễn Minh Trí
Người hướng dẫn TS. Phạm Thị Thu Thúy, Bùi Đức Lực
Trường học Trường Đại Học Nha Trang
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo cáo thực tập
Năm xuất bản 2023
Thành phố Khánh Hòa
Định dạng
Số trang 37
Dung lượng 3,63 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chính vì đó, nhân dịp này em xin chân thành cảm ơn ban lãnh đạo khoa CôngNghệ Thông Tin trường Đại học Nha Trang đã tạo điều kiện về thời gian cũng như cơhội để em có thể thực tập trong

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC NHA TRANG

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO THỰC TẬP CHUYÊN NGÀNHỨNG DỤNG JAVA FRAMEWORK TRONG XÂY DỰNG PHẦN MỀM QUẢN LÝ PHÒNG KHÁM HỒNG CƯỜNG

Người hướng dẫn tại đơn vị: Bùi Đức Lực

Giảng viên hướng dẫn: TS Phạm Thị Thu ThIy Sinh viên thực hiện: Nguyễn Minh Trí

Mã số sinh viên: 61133202

Khánh Hòa – 01/2023

Trang 2

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

Điểm thực tập: ……… / 10

GIẢNG VIÊN HƯỚNG DẪN

Trang 3

Chính vì đó, nhân dịp này em xin chân thành cảm ơn ban lãnh đạo khoa CôngNghệ Thông Tin trường Đại học Nha Trang đã tạo điều kiện về thời gian cũng như cơhội để em có thể thực tập trong môi trường thực tiễn, đồng thời để em nhận thấy kiếnthức của bản thân vẫn cần phải trao dồi nhiều hơn để có thể áp dụng nó vào thực tế.Đặc biệc, em xin được bày tỏ tấm lòng biết ơn sâu sắc đến giảng viên Phạm ThịThu Thúy, người đã tạo nhiều điều kiện để em có thể hoàn thành đợt thực tập và đạtđược kết quả tốt nhất

Trong quá thực tập và thực hiện đề tài, bản thân em không thể tránh được nhiềuthiếu sót Vì vậy mong nhận được nhiều sự đóng góp đến từ thầy cô trường Đại họcNha Trang để bài báo cáo được hoàn thiện hơn

Một lần nữa em xin chân thành cảm ơn!

Sinh viên thực tập

Nguyễn Minh Trí

Trang 4

Mục lục

LỜI CẢM ƠN 3

1 Giới thiệu, mục đích chọn đề tài 2

2 Nội dung thực tập 2

CHƯƠNG I: NỘI DUNG THỰC TẬP 4

1 Cơ sở lý thuyết liên quan 4

3.1 Tổng quan ngôn ngữ lập trình Java 4 3.2 Hệ quản trị cở sở dữ liệu PostgreSQL 4 3.3 Tổng quan về Maven 5 3.4 Tìm hiểu về RESTful API 5 3.5 Tổng quan về Spring framework 6 3.6 Giới thiếu về Spring Boot 8 3.7 Postman 8 2 Phân tích thiết kế ứng dụng 10

2.1 Phân tích hệ thống 10 2.2 Thiết kế hệ thống 12 3 Phát triển ứng dụng 22 3.1 Xây dựng cơ sở dữ liệu bằng PostgreSQL 22

3.2 Xây dựng chương trình bằng Spring Tool Suite 4 22

3.3 Các URI thao tác với dữ liệu 30

Trang 5

PHẦN MỞ ĐẦU

1 Giới thiệu, mục đích chọn đề tài

Đề tài: Quản lý phòng khám Hồng Cường

Quản lý dữ liệu được an toàn, song truy suất và xử lý hiệu quả là mộtđiều vô cùng quan trọng trong việc phát triển các dự án website Nếu quản lýkhông tốt dễ gây ra các trường hợp không đồng bộ được dữ liệu gây tổn thất,mất mát hoặc thông tin không chính xác Điều đó sẽ ảnh hưởng nặng nề đếnquá trình vận hành website hoặc sự trải nghiệm của khách hàng

Đồng thời nhằm phục vụ cho việc thực hành kiến thức được học vàothực tiễn Từ đó học hỏi được kinh nghiệm, kỹ năng để phục vụ cho các dự ántrong tương lai

Trang 6

Thời gian Nô Œi dung thực tâ ŒpTuần 1

- Lập trình hướng đối tượng với ngôn ngữ Java

- Lâp trình đa luồng

Trang 7

CHƯƠNG I: NỘI DUNG THỰC TẬP

1 Cơ sở lý thuyết liên quan

3.1 Tổng quan ngôn ngữ lập trình Java

Java là một ngôn ngữ lập trình ngôn ngữ bậc cao, là một trong nhữngngôn ngữ lập trình hướng đối tượng và giúp bảo mật vô cùng mạnh mẽ Nóđược sử dụng trong việc phát triển phần mềm, trang web, game, ứng dụng diđộng và trong nhiều lĩnh vực khác

Java ban đầu có tên là là Oak, được khởi đầu bởi James Gosling và SunMicroSystem năm 1991

Java được tạo ra với tiêu chí "Viết một lần, thực thi khắp nơi", ngôn ngữnày độc lập với nền tảng và được sử dụng rộng rãi bất kể phần cứng hay hệđiều hành

3.2 Hệ quản trị cở sở dữ liệu PostgreSQL

PostgreSQL là một hệ quản trị cơ sở dữ liệu quan hệ và đối tượng miễnphí và tiên tiến nhất hiện nay PostgreSQL được phát triển dựa trên

Trang 8

POSTGRES 4.2 tại phòng khoa học máy tính Berkeley, đại học California Nóđược điều chỉnh linh động để có thể chạy được trên nhiều nền tảng khác nhaunhư Mac OS X, Solaris và Windows.

PostgreSQL có thể được sử dụng bởi bất cứ ai và được phục vụ cho việcquản lý tập dữ liệu bất kể lớn hay nhỏ Nó sở hữu một hệ tính năng đa dạnggiúp hỗ trợ các nhà xây dựng phát triển app bảo vệ toàn vẹn dữ liệu

3.3 Tổng quan về Maven

Maven là một công cụ tự động hóa và quản lý dự án phần mềm Nó chủyếu dành cho các lập trình viên java, nhưng cũng có thể được sử dụng để tạo

và quản lý các dự án bằng C#, Ruby, Scala hoặc các ngôn ngữ khác

Maven phục vụ cùng một mục đích như Apache Ant, nhưng dựa trên mộtkhái niệm khác và hoạt động khác

Đối với những hệ thống lớn, phức tạp, sử dụng nhiều thư viện, yêu cầuphải release liên tục nên công việc đóng gói (build & Deploy), quản lý, nângcấp và bảo trì chúng tốn rất nhiều thời gian, và khi đó chúng ta có thể sử dụngMaven Khi một dự án được phát triển bởi nhiều đội, chẳng hạn có 2 đội thamgia dự án, 2 đội đó ở 2 quốc gia khác nhau Chúng ta luôn cần có sự liên hệ đểthống nhất trong lập trình nên phải có một tiêu chuẩn nào đó để mọi người tuântheo

Trang 9

API này trả các dữ liệu nào bạn làm việc với ứng dụng của mình là một

số loại dữ liệu cơ bản trong JSON hay XML

1.4.2 Khái niệm REST và RESTful

REST là cách viết tắt cho REpresentational State Transfer REST khôngphải là một chuẩn hay một giao thức, đây là cách sử dụng của một kiểu kiếntrúc khi xây dựng API Một web service là một tập hợp những giao thức và tiêuchuẩn để dùng vào việc kết nối các ứng dụng và hệ thống Web service dựa trênnhững kiến trúc REST có thể xem như RESTful webservice

Như vậy, RESTful API là một tiêu chuẩn chung về việc thết kế và thiết

kế API cho những ứng dụng web nhằm kiểm soát các resource Trọng tâm củaREST quy định việc dùng giao thức HTTP method (ví dụ GET, POST, PUT,DELETE ) và cách tạo ra URL cho ứng dụng web nhằm lưu trữ thông tinresource RESTful không quy định logic code ứng dụng và không hạn chế vềngôn ngữ lập trình ứng dụng

3.5 Tổng quan về Spring framework

1.5.1 Java Spring

Trang 10

Spring là một Framework xây dựng những ứng dụng Java được sử dụngbởi nhiều triệu lập trình viên Nó giúp xây dựng những ứng dụng có hiệu suấtcao và dễ dàng nâng cấp, sử dụng lại code

Spring Framework được thiết kế dựa trên hai nguyên tắc design cơ bảnlà: Dependency Injection và Aspect Oriented Programming

1.5.2 Kiến trIc Spring, các module của Spring Framework

Kiến trúc Spring được tổ chức theo kiểu module Spring Framework baogồm các tính năng được tổ chức trong khoảng 20 module Các module có thểđược chia nhỏ như Core Container, Data Access/Integration, Web, AOP (AspectOriented Programming) , Instrumentation, Messaging, and Test

Trang 11

3.6 Giới thiếu về Spring Boot

Spring là một framework được ra đời để giúp các nhà phát triển có thể xâydựng hệ thống và chạy ứng dụng trên JVM một cách thuận tiện, đơn giản vànhanh chóng Đây là một mã nguồn mở được phát triển và rất nhiều người sửdụng Trên thực tế, Spring framework là tập hợp gồm rất nhiều các dự án nhỏkhác nhau như: Spring MVC (sử dụng để xây dựng các ứng dụng trên nền tảngweb), Spring Data, Spring Boot,…

Ưu điểm của Spring Boot:

- Tạo ra các ứng dụng Spring mang tính độc lập

- Nhúng trực tiếp Tomcat, Jetty hoặc Undertow mà không cầnphải triển khai ra file WAR

- Starter dependency giúp cho việc chạy cấu hình Maven trở nênđơn giản hơn

- Tự động chạy cấu hình Spring khi cần thiết

- Không sinh code cấu hình, đồng thời không yêu cầu phải cấuhình bằng XML

3.7 Postman

Postman là một công cụ cho phép chúng ta thao tác với các API, phổ biếnnhất là REST Postman là một trong những công cụ phổ biến nhất để thửnghiệm API Sử dụng Postman, chúng ta có thể gọi Rest API mà không cần viếtmột dòng mã nào

Postman hỗ trợ tất cả các phương thức HTTP (GET, POST, PUT, PATCH,DELETE, v.v.) Ngoài ra, nó còn cho phép lưu lại lịch sử các yêu cầu, rất tiện

để sử dụng lại khi cần thiết

Trang 12

Hình 1 Giao diện khi sử dụng Postman

Trang 13

2 Phân tích thiết kế ứng dụng

2.1 Phân tích hệ thống

2.1.1 Phân tích hệ thống về dữ liệu.

2.1.1.1 Xác định thực thể

Bệnh nhân: Mã bệnh nhân, Tên bệnh nhân, Ngày sinh, Địa chỉ, Giới tính, Số

điện thoại, Yêu cầu khám, Đối tượng

Khoa: Mã khoa, Tên khoa.

Bác sĩ: Mã bác sĩ, Mã khoa, Tên bác sĩ, Địa chỉ, Số điện thoại, Giới tính, Ngày

sinh

Hồ sơ bệnh án: Mã hồ sơ bệnh án, Này bắt đầu, Ngày kết thúc, Địa chỉ, Kết

quả điều trị, Mã bệnh nhân, Mã bác sĩ

Nhà cung cấp: Mã nhà cung cấp, Tên nhà cung cấp, Địa chỉ, Số điện thoại Thuốc: Mã thuốc, Tên thuốc, Đơn giá, Đơn vị tính, Mã nhà cung cấp.

Phiếu thuốc: Mã phiếu thuốc, Mã bệnh nhân, Mã bác sĩ.

Chi tiết phiếu thuốc: Mã phiếu thuốc, Mã thuốc, Số lượmg.

Bệnh: Mã bệnh, Tên bệnh, Triệu chứng.

Sổ khám bệnh: Mã sổ, Ngày khám, Mã bác sĩ, Mã bệnh nhân, Chi phí khám Loại xét nghiệm: Mã xét nghiệm, Tên loại xét nghiệm, Đơn giá.

Phiếu xét nghiệm: Mã phiếu xét nghiệm, Mã loại xét nghiệm, Mã bệnh nhân,

Ngày xét nghiệm, Kết quả xét nghiệm, Lý do xét nghiệm

Loại phòng bệnh: Mã loại phòng, Tên loại phòng, Số chổ, Tình trạng, Đơn giá Phòng bệnh: Mã phòng, Mã loại phòng, Mã bệnh nhân, Số Giường, Số phòng,

Trang 14

Biên lai: Mã biên lai, Mã nhân viên, Mã bệnh nhân, Ngày thanh toán 2.1.1.2 Xác định quan hệ các thực thể

Trang 15

2.2 Thiết kế hệ thống

2.2.1 Mô hình thực thể kết hợp

2.2.2 Thiết kế cơ sở dữ liệu

Trang 16

 BENH_NHAN

 KHOA

Trang 17

 BAC_SI

 HO_SO_BENH_AN

null

Mã hồ sơ bệnhán

 NHA_CUNG_CAP

Trang 18

STT Tên trường Kiểu dữ liệu Ràng buộc Ghi chI

 THUOC

 PHIEU_THUOC

1 maPhieuThuoc char(4) Primary key, notnull Mã phiếu thuốc

Trang 19

STT Tên trường Kiểu dữ liệu Ràng buộc Ghi chI

1 maPhieuThuoc char(4) Primary key, notnull Mã phiếu thuốc

 BENH

 SO_KHAM_BENH

 LOAI_XET_NGHIEM

Trang 20

STT Tên trường Kiểu dữ liệu Ràng buộc Ghi chI

1 maLoaiXN char(4) Primary key, notnull Mã loại xétnghiệm

 PHIEU_XET_NGHIEM

null

Mã phiếu xétnghiệm

2 tenLoaiXN char(4) Foreign key, notnull Tên loại xétnghiệm

Trang 21

 LOAI_PHONG_BENH

1 maLoaiPhong char(4) Primary key, notnull Mã loại phòng

 PHONG_BENH

2 maLoaiPhong char(4) Foreign key, notnull Mã loại phòng

Trang 22

 LOAI_DICH_VU

 DICH_VU_KHAM

1 maDVKham char(4) Primary key, notnull Mã dịch vụkhám

 CHI_TIET_DVKHAM

null

Mã dịch vụkhám

Trang 23

 NHAN_VIEN

 CHI_TIET_BIEN_LAI

not null Mã biên lai

3 hinhThucThanhToan boolean Not null thanh toánHình thức

Trang 24

 BIEN_LAI

toán

Trang 25

3 Phát triển ứng dụng

3.1 Xây dựng cơ sở dữ liệu bằng PostgreSQL

Tạo cơ sở dữ thông qua các câu truy vấn SQL hoặc thao tác trực tiếp trên giao diện PostgreSQL

Hình 2 Tạo cơ sở dữ liệu PracticeManagement và các table

3.2 Xây dựng chương trình bằng Spring Tool Suite 4

Liên kết cơ sở dữ liệu PracticeManagement với IDE, tại fileapplication.properties ta thực hiện

Cấu trúc cơ bản cây thư mục:

Trang 26

Trong thư mục Manage chứa chương trình main của Spring Boot và các thưmục cùng cấp controller, model, service, utils.

Controller: trả về View (có chứa data sẵn, dạng trang HTML), hoặc Model thểhiện dưới dạng API cho View

Model: ở đây được hiểu như là các entity đại diện cho data trong databas, trựctiếp tương tác, đọc ghi dữ liệu trong database và trả cho service

Service: Chứa các code tính toán, xử lý Khi Controller yêu cầu, thì Servicetương ứng sẽ tiếp nhận và cho ra dữ liệu trả cho Controller (trả về Model).Controller sẽ gửi về View như trên

Utils: package chứa các lớp util (xử lý linh tinh), ví dụ như convert end date,

Trang 27

Đây là lớp được ánh xạ từ các bảng trong cở sở dữ liệu Tạo các đối tượngDoctor và phương thức khởi tạo contructor, setter và getter.

 Tạo interface DoctorService trong package service:

Đây là các interface để quy định hành vi có thể thực hiện được với cơ sở dữliệu

 Tạo lớp phụ thuộc DoctorServiceImp trong package imp nằm bên trongpackage service

Trang 28

Đây sẽ là lớp thực hiện hóa interface DoctorService @Repository đánh dấumột Class Là tầng Repository, phục vụ truy xuất dữ liệu

 Tạo DoctorController trong package controller

Trang 29

Thông báo chương trình chạy thành công, webservice đang chạy trên localhostwebservice tại cổng 8080 Để có thể thao tác với dữ liệu thông qua URI, ta có thể dùngPostman để kiểm tra.

 Thực hiện với phương thức GET

Thông qua URI localhost:8080/doctors ta nhận được kết quả là danh sách cácbác sĩ

Trang 30

 Thực hiện với phương thức GETById

Thông qua URI localhost:8080/doctors/BS01 ta nhận được kết quả là danh sáchcác bác sĩ có mã iddoctor là “BS01”

Trang 31

 Thực hiện với phương thức POST

Thông qua URI localhost:8080/doctors cùng với dữ liệu json là một đối tượngbác sĩ, ta nhận được kết quả thêm mới 1 đối tượng bác sĩ thành công Kiểm tra cơ sở

dữ liệu, ta thấy đối tượng bác sĩ BN05 đã được tạo

Trang 32

 Thực hiện với phương thức POST

Thông qua URI localhost:8080/doctors /BS05 cùng với file json là dữ liệu cầncập nhật, với ta nhận được kết quả thông báo thông tin đối tượng BS05 đã được cậpnhập thành công Kiểm tra cơ sở dữ liệu, ta thấy thông tin BS05 đã được cập nhật

Trang 33

 Thực hiện với phương thức DELETE

Thông qua URI localhost:8080/doctors /BS05 , ta nhận được thông báo xóa đối tượng BS05 thành công

3.3 Các URI thao tác với dữ liệu

Web Services chạy localhost Web Server tại http://localhost:8080 RESTful cung cấp các uri để thao tác với dữ liệu và trả về dữ liệu kiểu JSON để có thể dễ dàng sử dụng với Angular Các Uri được cung cấp bao gồm:

B1ng 1 Mô t1 URI Doctor.

http://localhost:8080/doctors GET, POST

Method GET trả về danhsách các bác sĩ

Method POSt lưu đối tượng bác sĩ mới

http://localhost:8080/doctors /doctors/

{id}

GET, PUT,DELETE

Method GET trả về bác

sĩ theo id

Method PUT cập nhật lạiđối tượng bác sĩ theo id.Method DELETE xóa đối tượng bác sĩ theo id

Trang 34

B1ng 2 Mô t1 URI Employee.

http://localhost:8080/employees GET, POST

Method GET trả về danhsách các nhân viên.Method POSt lưu đối tượng nhân viên mới

http://localhost:8080/employees

/doctors/{id}

GET, PUT,DELETE

Method GET trả về nhânviên theo id

Method PUT cập nhật lạiđối tượng nhân viên theoid

Method DELETE xóa đối tượng nhân viên theoid

B1ng 3 Mô t1 URI Patient.

Method GET trả về danhsách các bệnh nhân.Method POSt lưu đối tượng bệnh nhân mới

http://localhost:8080/patients/doctors/{id} GET, PUT,DELETE

Method GET trả về bệnhnhân theo id

Method PUT cập nhật lạiđối tượng bệnh nhân theo id

Method DELETE xóa đối tượng bệnh nhân theo id

Trang 35

B1ng 4 Mô t1 URI Facutly.

http://localhost:8080/facutlies GET, POST

Method GET trả về danhsách các khoa

Method POSt lưu đối tượng khoa mới

http://localhost:8080/facutlies/doctors/{id} GET, PUT,DELETE

Method GET trả về khoatheo id

Method PUT cập nhật lạiđối tượng khoa theo id.Method DELETE xóa đối tượng khoa theo id

B1ng 5 Mô t1 URI Disease.

Method GET trả về danhsách các căn bệnh.Method POSt lưu đối tượng căn bệnh mới

http://localhost:8080/diseases/doctors/{id} GET, PUT,DELETE

Method GET trả về căn bệnh theo id

Method PUT cập nhật lạiđối tượng căn bệnh theo id

Method DELETE xóa đối tượng căn bệnh theo id

Trang 36

CHƯƠNG II: PHẦN KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

1 Kết luận

Những nội dung đã thực hiện được trong quá trình thực tập:

- Làm quen quản lý cơ sở dữ liệu bằng PostgreSQL

- Xây dựng và quản lý dự án bằng Maven

- Hoàn thành cung cấp các URI thao tác được trên dữ liệu và trả về kết quả chínhxác

- Tìm hiểu và cơ bản lập trình được ứng dụng sử dụng Spring Boot Framework

Điểm mạnh và điểm yếu sau khi thực tập

- Xây dựng giao diện cho ứng dụng

- Cung cấp thêm một số chức năng như: quản lý lương thưởng, quản lý cơ sở hạ

Trang 37

TÀI LIỆU THAM KHẢO

[1] "javaTpoint," [Online] Available: https://www.javatpoint.com/spring-tutorial.[2] C Walls, Spring Boot in Action, 2015

[3] S Can, Introduction to Spring Framework, 2014

[4] D Noskov, Spring Framework 3.0

[5] N V Thành, Java Core

[6] P T T Thúy, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

Ngày đăng: 20/03/2023, 15:51

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] "javaTpoint," [Online]. Available: https://www.javatpoint.com/spring-tutorial Sách, tạp chí
Tiêu đề: Spring Tutorial
[2] C. Walls, Spring Boot in Action, 2015 Sách, tạp chí
Tiêu đề: Spring Boot in Action
Tác giả: C. Walls
Năm: 2015
[3] S. Can, Introduction to Spring Framework, 2014 Sách, tạp chí
Tiêu đề: Introduction to Spring Framework
Tác giả: S. Can
Năm: 2014
[4] D. Noskov, Spring Framework 3.0 Sách, tạp chí
Tiêu đề: Spring Framework 3.0
Tác giả: D. Noskov
[5] N. V. Thành, Java Core Sách, tạp chí
Tiêu đề: Java Core
Tác giả: N. V. Thành
[6] P. T. T. Thúy, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU Sách, tạp chí
Tiêu đề: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
Tác giả: P. T. T. Thúy

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w