1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Môn pt tk hệ thống thông tin đề tài hệ thống quản lý và đăng ký ký túc xá sinh viên

62 2 0

Đ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 đề Hệ Thống Quản Lý Và Đăng Ký Ký Túc Xá Sinh Viên
Tác giả Phùng Đức Mạnh, Đặng Đức Trọng, Châu Huy Diễn, Trần Việt Anh, Huỳnh Gia Hưng
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đề Tài
Năm xuất bản 2024
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 62
Dung lượng 2,82 MB

Cấu trúc

  • 1. Danh mục từ viết tắt Tiếng Việt (7)
  • 2. Danh mục từ viết tắt Tiếng Anh (7)
  • I. Xác định yêu cầu hệ thống (8)
    • 1. Vẽ sơ đồ mô hình hoạt động, workflow của hệ thống (8)
    • 2. Mô tả yêu cầu hệ thống (8)
    • 3. Vẽ các biểu đồ usecase tương ứng (13)
    • 4. Vẽ các biểu đồ tuần tự/ giao tiếp tương ứng (20)
    • 5. Vẽ các biểu đồ hoạt động tương ứng (32)
  • II. Phân tích hệ thống (2 điểm) (34)
    • 1. Mô tả phân tích hệ thống (34)
    • 2. Vẽ biểu đồ lớp tương ứng (48)
    • 3. Vẽ các biểu đồ trạng thái tương ứng (49)
  • III. Thiết kế hệ thống (4 điểm) (51)
    • 1. Thiết kế kiến trúc hệ thống (51)
    • 2. Lựa chọn CSDL, các công nghệ ứng dụng trong hệ thống. Có giải thích lý do lựa chọn. 54 a) SQL Server Management Studio 19 (53)
    • 3. Vẽ biểu đồ thiết kế cơ sở dữ liệu (56)
    • 4. Thiết kế một số giao diện người dùng chính (59)

Nội dung

Xác định yêu cầu hệ thống

Vẽ sơ đồ mô hình hoạt động, workflow của hệ thống

Hình 1 Mô hình hoạt động

Mô tả yêu cầu hệ thống

a) Xác định và mô tả các tác nhân

- Sinh viên: Mỗi sinh viên có một tài khoản đăng nhập vào hệ thống được cấp ngay khi vào trường để thực hiện các chức năng: o Đăng ký phòng KTX: Khi sinh viên muốn vào ở KTX thì phải thực hiện chọn phòng còn trống và thực hiện đăng ký phòng đó. o Gia hạn phòng KTX: Khi sinh viên sắp hết hạn ở phòng KTX thì sinh viên sẽ được gửi thông báo có gia hạn tiền phòng hay không Nếu sinh viên gia hạn thì sẽ chọn gia hạn trong 1 kỳ hay 2 kì rồi thực hiện thanh toán. o Thanh toán tiền phòng: Khi sinh viên thực hiện đăng ký hoặc gia hạn thì đều phải thanh toán phí Sinh viên thực hiện thanh toán qua tài khoản ngân hàng, vnpay, momo o Thanh toán dịch vụ hàng tháng. o Gửi yêu cầu bảo trì phòng: Thực hiện gửi yêu cầu bảo trì phòng lên hệ thống. o Gửi yêu cầu khiếu nại. o Đóng phạt.

- Nhân viên kế toán: o Lập hoá đơn đóng phí. o Thống kê doanh thu. o Thống kê phiếu bảo trì. o Thống kê tiền phạt.

- Nhân viên quản lý: o Cập nhật thông tin sinh viên và phòng KTX, thực hiện được các chức năng thêm, xóa, sửa sinh viên/ phòng.

- Phòng nhân sự: o Cập nhật thông tin nhân viên, thực hiện các chức năng như: thêm, xóa, sửa và kiểm tra lịch sử làm việc của nhân viên.

- Hệ thống đăng ký KTX: o Cho phép người dùng thao tác và sử dụng các chức năng trên giao diện của hệ thống. o Hiển thị các thông báo trên hộp thư cho người dùng. b) Xác định và mô tả các ca sử dụng

U1 Đăng nhập: các tác nhân đăng nhập hệ thống.

U2 Quản lý nhân viên: phòng nhân sự thực hiện chức năng thêm, xóa, cập nhật các nhân viên

U3 Quản lý sinh viên: quản lý thực hiện chức năng thêm, xóa, cập nhật các sinh viên U4 Quản lý phòng: quản lý thực hiện chức năng thêm, xóa, cập nhật các phòng

U5 Lập hóa đơn đóng phí: kế toán thực hiện lập hóa đơn đóng phí cho sinh viên U6 Thống kê doanh thu: kế toán thống kê doanh thu các phí đã đóng của sinh viên U7 Đăng ký KTX: sinh viên đăng ký KTX

U8 Gia hạn KTX: sinh viên gia hạn KTX

U9 Thanh toán tiền phòng: sinh viên thanh toán hóa đơn tiền phòng đã đăng ký

Hình 2 Các ca sử dụng của hệ thống quản lý ktx c) Xác định biểu đồ ca sử dụng

- Biểu đồ phân rã ca sử dụng quản lý nhân viên:

Hình 3 Phân rã ca sử dụng Quản lý nhân viên o Đặc biệt hóa: Quản lý nhân viên được phân rã thành các ca sử dụng: Thêm nhân viên, Cập nhật thông tin nhân viên, Xóa nhân viên Khi đó ca sử dụng Quản lý nhân viên là ca sử dụng trừu tượng và được xem là đã được đặc biệt hóa o Bao hàm: Thêm nhân viên, Cập nhật thông tin nhân viên trước khi thực hiện phải bao gồm thao tác tìm kiếm thông tin cần thiết Do đó, các ca sử dụng này bao gồm ca sử dụng Tìm kiếm thông tin nhân viên

- Biểu đồ phân rã ca sử dụng quản lý sinh viên:

Hình 4 Phân rã ca sử dụng Quản lý sinh viên

- Biểu đồ phân rã ca sử dụng quản lý phòng:

Hình 5 Phân rã ca sử dụng Quản lý phòng d) Khảo sát các ca sử dụng

- Khi truy cập vào hệ thống quản lý và đăng ký KTX sinh viên, yêu cầu người dùng phải đăng nhập vào hệ thống (U1) trước khi có thể sử dụng các chức năng của hệ thống

- Phòng nhân sự sau khi đăng nhập hệ thống (U1) có thể sử dụng chức năng Quản lý nhân viên (U2) đã phân ra thành các ca: Thêm nhân viên, Cập nhật thông tin nhân viên, Xóa nhân viên.

- Quản lý sau khi đăng nhập hệ thống (U1) có thể sử dụng chức năng Quản lý sinh viên (U3), Quản lý phòng (U4).

- Kế toán sau khi đăng nhập hệ thống (U1) có thể sử dụng chức năng Lập hóa đơn (U5), Thống kế doanh thu (U6).

- Sinh viên sau khi đăng nhập vào hệ thống (U1) có các tùy chọn sử dụng chức năng của hệ thống như Đăng ký KTX (U7), Gia hạn KTX (U8), Thanh toán tiền phòng (U9). e) Xếp ưu tiên các ca sử dụng

- Một kỹ thuật sắp xếp ưu tiên thông dụng là dùng các màu đèn giao thông. o Các ca sử dụng có mức độ ưu tiên màu xanh phải được cài đặt trong giai đoạn hiện tại. o Các ca sử dụng có mức độ ưu tiên màu vàng không bắt buộc phải được cài đặt trong giai đoạn hiện tại và chỉ được cài đặt khi các ca sử dụng màu xanh đã hoàn thành. o Các ca sử dụng có mức độ ưu tiên màu đỏ không được cài đặt trong giai đoạn hiện tại.

- Sắp xếp ưu tiên của hệ thống quản lý và đăng ký KTX sinh viên: o Xanh:

 U9: Thanh toán tiền phòng o Vàng:

Vẽ các biểu đồ usecase tương ứng

a) Usecase đăng nhập: mỗi tác nhân trong hệ thống có thể đăng nhập hệ thống

- Kịch bản usecase người dùng (user) đăng nhập vào hệ thống: o Người dùng là: phòng nhân sự, sinh viên, nhân viên quản lý, kế toán

Tên usecase Người dùng đăng nhập vào hệ thống

Tác nhân chính Người dùng Điều kiện trước Mỗi người dùng được cấp một password và username riêng và thông tin người dùng Đảm bảo tối thiểu Hệ thống loại bỏ các thông tin sai về username và password và quay lại trang đăng nhập Điều kiện sau Người dùng đăng nhập thành công

1 Người dùng chọn chức năng đăng nhập

2 Hệ thống hiển thị form đăng nhập và yêu cầu người dùng nhập username và password

3 Người dùng nhập đầy đủ username và password sau đó nhấn chấp nhận.

4 Hệ thống kiểm tra thông tin người dùng nhập và xác nhận hợp lệ

5 Hệ thống thông báo thành công

6 Người dùng thoát khỏi chức năng đăng nhập Ngoại lệ:

- Hệ thống thông báo username, password nhập không đúng

- Yêu cầu người dùng nhập lại

- Hệ thống thông báo đăng nhập thành công

Bảng 1 Kịch bản usecase người dùng b) Usecase phòng nhân sự quản lý nhân viên

Hình 7 Usecase phòng nhân sự quản lý nhân viên

- Kịch bản phòng nhân sự xóa nhân viên:

Tên usecase Phòng nhân sự xóa nhân viên

Tác nhân chính Phòng nhân sự Điều kiện trước Phòng nhân sự đã đăng nhập vào hệ thống Đảm bảo tối thiểu Hệ thống khôi phục lại các thông tin đã bị xóa và quay lui bước trước Điều kiện sau Thông tin về nhân viên bị xóa khỏi cơ sở dữ liệu

1 Phòng nhân sự chọn nút xóa nhân viên trong bảng danh sách nhân viên

2 Hệ thống hiển thị thông báo phòng nhân sự có muốn xóa hay không

3 Phòng nhân sự nhấn nút xác nhận xóa

4 Hệ thống kiểm tra thông tin nhân viên được xóa

5 Hệ thống báo xóa nhân viên thành công

Bảng 2 Kịch bản phòng nhân sự xóa nhân viên

- Kịch bản phòng nhân sự cập nhật thông tin nhân viên:

Tên usecase Phòng nhân sự cập nhật thông tin nhân viên

Tác nhân chính Phòng nhân sự Điều kiện trước Phòng nhân sự đã đăng nhập vào hệ thống Đảm bảo tối thiểu Hệ thống khôi phục lại các thông tin đã bị sửa và quay lui bước trước Điều kiện sau Thông tin về nhân viên được cập nhật mới trong cơ sở dữ liệuChuỗi sự kiện chính:

1 Phòng nhân sự chọn nút cập nhật nhân viên trong bảng danh sách nhân viên

2 Hệ thống hiển thị giao diện thông tin nhân viên

3 Phòng nhân sự cập nhật thông tin và nhấn nút cập nhật

4 Hệ thống kiểm tra thông tin nhân viên được cập nhật

5 Hệ thống thoát khỏi giao diện thông tin nhân viên và trở về giao diện bảng danh sách nhân viên

6 Hệ thống báo cập nhật nhân viên thành công

Bảng 3 Kịch bản phòng nhân sự cập nhật thông tin nhân viên

- Kịch bản phòng nhân sự thêm nhân viên:

Tên usecase Phòng nhân sự thêm nhân viên

Tác nhân chính Phòng nhân sự Điều kiện trước Phòng nhân sự đã đăng nhập vào hệ thống Đảm bảo tối thiểu Hệ thống quay lui về trạng thái trước khi thêm Điều kiện sau Thông tin về nhân viên được thêm mới trong cơ sở dữ liệu Chuỗi sự kiện chính:

1 Phòng nhân sự chọn nút thêm nhân viên nằm phía trên bảng danh sách nhân viên

2 Hệ thống hiển thị giao diện nhập thông tin nhân viên

3 Phòng nhân sự nhập thông tin và nhấn nút thêm

4 Hệ thống kiểm tra thông tin nhân viên được thêm

5 Hệ thống thoát khỏi giao diện thông tin nhân viên và trở về giao diện bảng danh sách nhân viên

6 Hệ thống báo thêm nhân viên thành công

Bảng 4 Kịch bản phòng nhân sự thêm nhân viên c) Usecase quản lý quản lý sinh viên và quản lý phòng

Hình 8 Usecase Quản lý quản lý sinh viên và quản lý phòng

- Kịch bản Quản lý thêm sinh viên:

Tên usecase Quản lý thêm sinh viên

Tác nhân chính Quản lý Điều kiện trước Quản lý đã đăng nhập vào hệ thống Đảm bảo tối thiểu Hệ thống quay lui về trạng thái trước khi thêm Điều kiện sau Thông tin về sinh viên được thêm mới trong cơ sở dữ liệu Chuỗi sự kiện chính:

1 Quản lý chọn nút thêm sinh viên nằm phía trên bảng danh sách sinh viên

2 Hệ thống hiển thị giao diện nhập thông tin sinh viên

3 Quản lý nhập thông tin và nhấn nút thêm

4 Hệ thống kiểm tra thông tin sinh viên được thêm

5 Hệ thống thoát khỏi giao diện thông tin sinh viên và trở về giao diện bảng danh sách sinh viên

6 Hệ thống báo thêm sinh viên thành công

Bảng 5 Kịch bản Quản lý thêm sinh viên

- Kịch bản Quản lý cập nhật thông tin sinh viên:

Tên usecase Quản lý cập nhật thông tin sinh viên

Tác nhân chính Quản lý Điều kiện trước Quản lý đã đăng nhập vào hệ thống Đảm bảo tối thiểu Hệ thống khôi phục lại các thông tin đã bị sửa và quay lui bước trước Điều kiện sau Thông tin về sinh viên được cập nhật mới trong cơ sở dữ liệu Chuỗi sự kiện chính:

1 Quản lý chọn nút cập nhật sinh viên trong bảng danh sách sinh viên

2 Hệ thống hiển thị giao diện thông tin sinh viên

3 Quản lý cập nhật thông tin và nhấn nút cập nhật

4 Hệ thống kiểm tra thông tin sinh viên được cập nhật

5 Hệ thống thoát khỏi giao diện thông tin sinh viên và trở về giao diện bảng danh sách sinh viên

6 Hệ thống báo cập nhật sinh viên thành công

Bảng 6 Kịch bản Quản lý cập nhật thông tin sinh viên

- Kịch bản Quản lý xóa sinh viên:

Tên usecase Quản lý xóa sinh viên

Tác nhân chính Quản lý Điều kiện trước Quản lý đã đăng nhập vào hệ thống Đảm bảo tối thiểu Hệ thống khôi phục lại các thông tin đã bị xóa và quay lui bước trước Điều kiện sau Thông tin về sinh viên bị xóa khỏi cơ sở dữ liệu

1 Quản lý chọn nút xóa sinh viên trong bảng danh sách sinh viên

2 Hệ thống hiển thị thông báo quản lý có muốn xóa hay không

3 Quản lý nhấn nút xác nhận xóa

4 Hệ thống kiểm tra thông tin sinh viên được xóa

5 Hệ thống báo xóa sinh viên thành công

Bảng 7 Kịch bản Quản lý xóa sinh viên

- Kịch bản Quản lý thêm phòng:

Tên usecase Quản lý thêm phòng

Tác nhân chính Quản lý Điều kiện trước Quản lý đã đăng nhập vào hệ thống Đảm bảo tối thiểu Hệ thống quay lui về trạng thái trước khi thêm Điều kiện sau Thông tin về phòng được thêm mới trong cơ sở dữ liệu Chuỗi sự kiện chính:

1 Quản lý chọn nút thêm phòng nằm phía trên bảng danh sách phòng

2 Hệ thống hiển thị giao diện nhập thông tin phòng

3 Quản lý nhập thông tin và nhấn nút thêm

4 Hệ thống kiểm tra thông tin phòng được thêm

5 Hệ thống thoát khỏi giao diện thông tin phòng và trở về giao diện bảng danh sách phòng

6 Hệ thống báo thêm phòng thành công

Bảng 8 Kịch bản Quản lý thêm phòng

- Kịch bản Quản lý cập nhật thông tin phòng:

Tên usecase Quản lý cập nhật thông tin phòng

Tác nhân chính Quản lý Điều kiện trước Quản lý đã đăng nhập vào hệ thống Đảm bảo tối thiểu Hệ thống khôi phục lại các thông tin đã bị sửa và quay lui bước trước Điều kiện sau Thông tin về phòng được cập nhật mới trong cơ sở dữ liệu Chuỗi sự kiện chính:

1 Quản lý chọn nút cập nhật phòng trong bảng danh sách phòng

2 Hệ thống hiển thị giao diện thông tin phòng

3 Quản lý cập nhật thông tin và nhấn nút cập nhật

4 Hệ thống kiểm tra thông tin phòng được cập nhật

5 Hệ thống thoát khỏi giao diện thông tin phòng và trở về giao diện bảng danh sách phòng

6 Hệ thống báo cập nhật phòng thành công

Bảng 9 Kịch bản Quản lý cập nhật thông tin phòng

- Kịch bản Quản lý xóa phòng:

Tên usecase Quản lý xóa phòng

Tác nhân chính Quản lý Điều kiện trước Quản lý đã đăng nhập vào hệ thống Đảm bảo tối thiểu Hệ thống khôi phục lại các thông tin đã bị xóa và quay lui bước trước Điều kiện sau Thông tin về phòng bị xóa khỏi cơ sở dữ liệu

1 Quản lý chọn nút xóa phòng trong bảng danh sách phòng

2 Hệ thống hiển thị thông báo quản lý có muốn xóa hay không

3 Quản lý nhấn nút xác nhận xóa

4 Hệ thống kiểm tra thông tin phòng được xóa

5 Hệ thống báo xóa phòng thành công

Bảng 10 Kịch bản Quản lý xóa phòng d) Usecase kế toán lập hóa đơn đóng phí

Hình 9 Usecase Kế toán lập hóa đơn đóng phí

- Kịch bản kế toán lập hóa đơn đóng phí

Tên usecase Kế toán lập hóa đơn đóng phí

Tác nhân chính Kế toán Điều kiện trước Kế toán đã đăng nhập vào hệ thống Đảm bảo tối thiểu Hệ thống khôi phục lại các thông tin lúc chưa lập hóa đơn và quay lui bước trước Điều kiện sau Thông tin hóa đơn được lưu vào cơ sở dữ liệu

1 Kế toán chọn chức năng lập hóa đơn

2 Hệ thống hiển thị danh sách các đơn hàng do sinh viên đăng ký KTX chưa được lập hóa đơn

3 Kế toán nhấn chọn một đơn hàng

4 Hệ thống hiển thị thông tin hóa đơn

5 Kế toán nhấn chọn xác nhận hóa đơn

6 Hệ thống thông báo lập hóa đơn thành công

Bảng 11 Kịch bản kế toán lập hóa đơn đóng phí e) Usecase sinh viên đăng ký ktx

Hình 10 Usecase Sinh viên đăng ký KTX

- Kịch bản sinh viên đăng ký ký túc xá:

Tên usecase Sinh viên đăng ký ký túc xá

Tác nhân chính Sinh viên Điều kiện trước Sinh viên đã đăng nhập vào hệ thống Đảm bảo tối thiểu Hệ thống khôi phục lại các thông tin lúc chưa đăng ký và quay lui bước trước Điều kiện sau Thông tin sinh viên đăng ký được lưu vào cơ sở dữ liệu Chuỗi sự kiện chính:

7 Sinh viên chọn nút đăng ký ở ký túc xá

8 Hệ thống kiểm tra trạng thái phòng còn trống và hiển thị giao diện các phòng

9 Sinh viên nhấn chọn một phòng

10 Sinh viên nhấn xác nhận đăng ký

11 Hệ thống báo đăng ký thành công

Bảng 12 Kịch bản sinh viên đăng ký ký túc xá

Vẽ các biểu đồ tuần tự/ giao tiếp tương ứng

a) Biểu đồ tuần tự đăng nhập

Hình 11 Biểu đồ tuần tự đăng nhập b) Biểu đồ tuần tự đăng ký ktx

Hình 12 Biểu đồ tuần tự đăng ký ktx c) Biểu đồ tuần tự thêm sinh viên

Hình 13 Biểu đồ tuần tự thêm sinh viên d) Biểu đồ tuần tự cập nhật thông tin sinh viên

Hình 14 Biểu đồ tuần tự cập nhật thông tin sinh viên e) Biểu đồ tuần tự xóa sinh viên

Hình 15 Biểu đồ tuần tự xóa sinh viên f) Biểu đồ tuần tự thêm phòng

Hình 16 Biểu đồ tuần tự thêm phòng g) Biểu đồ tuần tự cập nhật thông tin phòng

Hình 17 Biểu đồ tuần tự cập nhật thông tin phòng h) Biểu đồ tuần tự xóa phòng

Hình 18 Biểu đồ tuần tự xóa phòng i) Biểu đồ tuần tự lập hóa đơn đóng phí

Hình 19 Biểu đồ tuần tự lập hóa đơn đóng phí j) Biểu đồ tuần tự thêm nhân viên

Hình 20 Biểu đồ tuần tự thêm nhân viên k) Biểu đồ tuần tự cập nhật thông tin nhân viên

Hình 21 Biểu đồ tuần tự cập nhật thông tin nhân viên l) Biểu đồ tuần tự xóa nhân viên

Hình 22 Biểu đồ tuần tự xóa nhân viên

Vẽ các biểu đồ hoạt động tương ứng

a) Biểu đồ hoạt động kiểm tra xóa nhân viên

Hình 23 Biểu đồ hoạt động kiểm tra xóa nhân viên b) Biểu đồ hoạt động kiểm tra xóa sinh viên

Hình 24 Biểu đồ hoạt động kiểm tra xóa nhân viên c) Biểu đồ hoạt động kiểm tra xóa phòng

Hình 25 Biểu đồ hoạt động kiểm tra xóa phòng d) Biểu đồ hoạt động đăng nhập

Hình 26 Biểu đồ hoạt động đăng nhập e) Biểu đồ hoạt động đăng ký ktx

Hình 27 Biểu đồ hoạt động đăng ký KTX

Phân tích hệ thống (2 điểm)

Mô tả phân tích hệ thống

- Tác nhân: User, PhongNhanSu (Phòng nhân sự), NhanVien (Nhân viên), QuanLy (Quản lý), KeToan (Kế toán), SinhVien (Sinh viên)

- Các lớp khác: HocKy (Học kỳ), DonHang (Đơn hàng), HoaDon (Hóa đơn), Phong(Phòng) b) Xác định quan hệ giữa các lớp

Hình 28 Quan hệ kế thừa giữa các lớp

Hình 29 Quan hệ kết hợp giữa các lớp

- Cộng hợp: o Một thành viên phòng nhân sự có thể thêm 0 hoặc nhiều nhân viên

Hình 30 Quan hệ cộng hợp giữa lớp NhanVien và PhongNhanSu o Một kế toán có thể thêm 0 hoặc nhiều hóa đơn

Hình 31 Quan hệ cộng hợp giữa lớp HoaDon và KeToan o Một quản lý có thể thêm 0 hoặc nhiều phòng

Hình 32 Quan hệ cộng hợp giữa lớp Phong và QuanLy o Một quản lý có thể thêm 0 hoặc nhiều sinh viên

Hình 33 Quan hệ cộng hợp giữa lớp SinhVien và QuanLy o Một phòng có thể có nhiều đơn hàng, một đơn hàng phải thuộc một phòng

Hình 34 Quan hệ cộng hợp giữa lớp DonHang và Phong

- (Multiplicity) số nhiều: o Một sinh viên có thể đăng ký KTX nhiều học kỳ, một học kỳ có nhiều sinh viên ở KTX

Hình 35 Multiplicity giữa lớp HocKy và SinhVien c) Xây dựng biểu đồ lớp

Hình 36 Xây dựng biểu đồ lớp d) Xác định thuộc tính lớp

Hình 37 Xác định thuộc tính lớp e) Xây dựng biểu đồ giao tiếp i Biểu đồ giao tiếp đăng nhập

Hình 38 Biểu đồ giao tiếp đăng nhập ii Biểu đồ giao tiếp đăng ký ktx

Hình 39 Biểu đồ giao tiếp đăng ký ktx iii Biểu đồ giao tiếp thêm sinh viên

Hình 40 Biểu đồ giao tiếp thêm sinh viên iv Biểu đồ giao tiếp cập nhật thông tin sinh viên

Hình 41 Biểu đồ giao tiếp cập nhật thông tin sinh viên v Biểu đồ giao tiếp xóa sinh viên

Hình 42 Biểu đồ giao tiếp xóa sinh viên vi Biểu đồ giao tiếp thêm phòng

Hình 43 Biểu đồ giao tiếp thêm phòng vii Biểu đồ giao tiếp cập nhật thông tin phòng

Hình 44 Biểu đồ giao tiếp cập nhật thông tin phòng viii Biểu đồ giao tiếp xóa phòng

Hình 45 Biểu đồ giao tiếp xóa phòng ix Biểu đồ giao tiếp lập hóa đơn học phí

Hình 46 Biểu đồ giao tiếp lập hóa đơn học phí x Biểu đồ giao tiếp thêm nhân viên

Hình 47 Biểu đồ giao tiếp thêm nhân viên xi Biểu đồ giao tiếp cập nhật thông tin nhân viên

Hình 48 Biểu đồ giao tiếp cập nhật thông tin nhân viên xii Biểu đồ giao tiếp xóa nhân viên

Hình 49 Biểu đồ giao tiếp xóa nhân viên f) Gán phương thức cho lớp

Hình 50 Gán phương thức cho lớp

Hình 51 Gán phương thức cho lớp Định nghĩa Chưa các thuộc tính cơ bản của các đối tượng là User (người dùng) trong hệ thốngThuộc tính  taiKhoan: tên tài khoản đăng nhập vào hệ thống

 matKhau: mật khẩu đăng nhập hệ thống

 ngaySinh: ngáy tháng năm sinh

 gioiTinh: giới tính: Nam = 1, Nữ = 0

 laSinhVien: 1 là sinh viên, 0 là nhân viên Phương thức  dangNhap(taiKhoan, matKhau): mỗi người sử dụng hệ thống đều phải đăng nhập sử dụng tài khoản và mật khẩu riêng của mình Phương thức này trả về giá trị True nếu đăng nhập thành công, False nếu đăng nhập không thành công

 thayDoiThongTin():người dùng sau khi đăng nhập thành công có thể thay đổi thông tin cá nhân của mình Định nghĩa Có quan hệ kiểu hợp thành (composition) với lớp User, việc tách thành lớp Họ tên phục vụ cho việc quản lý và tìm kiếm dễ dàng hơn Thuộc tính  ho, tenDem, ten: họ, tên đệm, tên tương ứng với từng trường trong họ tên đầy đủ Phương thức  getHoTen(): lấy ra họ tên đầy đủ

 setHoTen(ho, tenDem, ten): gán các trường thành họ, tên đầy đủ Định nghĩa Có quan hệ kiểu hợp thành (composition) với lớp Người, , việc tách thành lớp Địa chỉ phục vụ cho việc quản lý và tìm kiếm dễ dàng hơn. Thuộc tính  soNha: số nhà

 thanhPho: thành phố Phương thức  getDiaChi(): lấy ra địa chỉ đầy đủ

 setDiaChi(soNha, duong, phuong, quan, thanhPho): gán các trường thành địa chỉ đầy đủ Định nghĩa Lớp SinhVien sẽ kế thừa từ lớp User và mang đầy đủ thuộc tính của lớp User Thuộc tính  maSV: mã sinh viên

 khoa: khoa sinh viên theo học

 chuyenNganh: chuyên ngành học tập của sinh viên

 lop: mỗi sinh viên nhập học sẽ xếp vào một lớp

Phương thức  them(SinhVien): thêm sinh viên vào trong cơ sở dữ liệu

 sua(SinhVien): sửa thông tin sinh viên trong cơ sở dữ liệu

 xoa(SinhVien): xóa sinh viên khỏi cơ sở dữ liệu

 timKiem(maSV): tìm kiếm sinh viên trong cơ sở dữ liệu, 1=tồn tại, 0=không tồn tại

 layThongTin(maSV): lấy thông tin của sinh viên trong cơ sở dữ liệu Định nghĩa Lớp NhanVien sẽ kế thừa từ lớp User và mang đầy đủ thuộc tính của lớp User Thuộc tính  maNV: mã nhân viên

 email: email của nhân viên Phương thức  them(NhanVien): thêm nhân viên vào trong cơ sở dữ liệu

 sua(NhanVien): sửa thông tin nhân viên trong cơ sở dữ liệu

 xoa(NhanVien): xóa nhân viên khỏi cơ sở dữ liệu

 timKiem(maNV): tìm kiếm nhân viên trong cơ sở dữ liệu, 1=tồn tại, 0=không tồn tại

 layThongTin(maNV): lấy thông tin của nhân viên trong cơ sở dữ liệu Định nghĩa Có quan hệ kiểu cộng hợp (aggregation) với lớp NhanVien Thuộc tính  maChucVu: mã chức vụ

 tenChucVu: tên chức vụ của nhân viên (có thể là kế toán, phòng nhân sự, quản lý,…) Phương thức  getTenChucVu(): lấy ra tên chức vụ Định nghĩa Có quan hệ n-n (nhiều-nhiều) với lớp

SinhVien Thuộc tính  maHocKy: mã học kỳ

 hocKy: học kỳ (học kỳ 1,2, học kỳ hè,…) Phương thức  themHocKy(HocKy): thêm học kỳ mới sau mỗi năm học Định nghĩa Là lớp liên kết sinh ra từ mối quan hệ n-n của lớp SinhVien và lớp HocKy Thuộc tính  maDonHang: mã đơn hàng (mã tự sinh khi sinh viên đăng ký hoặc gia hạn ký túc xá với học kỳ cụ thể)

 maHocKy: mã học kỳ Phương thức  getMaHocKy(): lấy ra mã học kỳ

 getMaSV(): lấy ra mã sinh viên Định nghĩa Có quan hệ kiểu cộng hợp (aggregation) với lớp DonHang Để biết một sinh viên trong một học kỳ chỉ được đăng ký một phòng Thuộc tính  maPhong: mã phòng

 soGiuong: tổng số giường có trong phòng

 trangThai: 1=sẵn sàng, 0=bảo trì Phương thức  them(Phong): thêm phòng vào trong cơ sở dữ liệu

 sua(Phong): sửa thông tin phòng trong cơ sở dữ liệu

 xoa(Phong): xóa phòng khỏi cơ sở dữ liệu

 timKiem(maPhong): tìm kiếm phòng trong cơ sở dữ liệu, 1=tồn tại, 0=không tồn tại

 layThongTin(maPhong): lấy thông tin của phòng trong cơ sở dữ liệu Định nghĩa Có quan hệ kiểu kết hợp (aggregation) với lớp

DonHang Để biết một hóa đơn áp dụng cho một đơn hàng

Bảng 13 Liệt kê thuộc tính và phương thức của các lớp

Thuộc tính  soHoaDon: số hóa đơn

 maDonHang: mã đơn hàng Phương thức  tinhTongTienPhong(maDonHang): tính tổng tiền phòng (1 tháng = 200.000vnđ, 1 kỳ có 5 tháng thì tongTienPhong = 200.000*5 vnđ)

Vẽ biểu đồ lớp tương ứng

Hình 52 Vẽ biểu đồ lớp tương ứng

Vẽ các biểu đồ trạng thái tương ứng

a) Biểu đồ trạng thái user

Hình 53 Biểu đồ trạng thái user b) Biểu đồ trạng thái đơn hàng

Hình 54 Biểu đồ trạng thái đơn hàng c) Biểu đồ trạng thái hóa đơn

Hình 55 Biểu đồ trạng thái hóa đơn

Thiết kế hệ thống (4 điểm)

Thiết kế kiến trúc hệ thống

- Kiến trúc ba tầng trở nên khá phổ biến vào những năm 1990 bằng cách chia hệ thống thành ba phần: giao diện người dùng, logic chương trình và lưu trữ dữ liệu Trong kiến trúc này, mỗi chương trình được phân rã trên ba tầng khác nhau: o Tầng giao diện người dùng (User Interface) hay tầng máy khách thể hiện giao diện mà người sử dụng có thể nhập yêu cầu, dữ liệu và xem kết quả Nghĩa là nó chỉ xử lý việc giao tiếp với người sử dụng, nhập xuất, … mà không thực hiện việc tính toán, kiểm tra, xử lý, hay các thao tác liên quan đến cơ sở dữ liệu. o Tầng ứng dụng (Application Server, Business Rule) được biết như tầng logic nghiệp vụ hay tầng dịch vụ để chạy chương trình đa luồng Tầng này thực hiện xử lý các chức năng chính, kiểm tra các ràng buộc…Việc thực hiện này độc lập với cách thiết kế cũng như cài đặt giao diện và thông tin để xử lý lấy từ tầng giao diện. o Tầng dữ liệu (Database Server, Data Storage) nhằm lưu trữ dữ liệu và cung cấp cơ chế an toàn cho việc truy nhập đồng thời với sự giúp đỡ của hệ quản trị cơ sở dữ liệu Tầng này thực hiện các công việc liên quan đến dữ liệu mà phần mềm cần đến như đọc, ghi…

- Các ưu điểm của kiến trúc 3 tầng: o Tạo điều kiện dễ dàng khi phát triển: Bất kì hệ thống lớn nào cũng đều bao gồm ba phần: logic chương trình, giao diện người dùng và cơ chế quản lý hiệu năng/bảo mật của dữ liệu Việc phân chia hệ thống thành các phần như trên sẽ tạo điều kiện cho người lập trình thực hiện công việc một cách đơn giản hơn. o Sử dụng máy tính hiệu quả hơn: Tùy theo từng tầng chúng ta sẽ sử dụng các máy tính cho phù hợp Ví dụ, giao diện người dùng là một nhiệm vụ đơn giản không đòi hỏi máy tính lớn; việc thực thi logic chương trình yêu cầu sử dụng CPU, bộ nhớ, nhưng không đòi hỏi dung lượng đĩa quá lớn, vì vậy có thể sử dụng máy tính server; quản lý dữ liệu yêu cầu nhiều về khả năng tính toán, và dung lượng đĩa, do đó có thể sử dụng máy server hay mainframe. o Cải tiến hiệu năng: có thể nhân rộng các máy ở lớp dữ liệu và lớp giữa để lan truyền tính toán (cân bằng tải), mỗi tầng được chuyên môn hóa và như vậy sẽ dễ dàng tối ưu hóa. o Nâng cao tính bảo mật: Thường thì hệ thống ba tầng sẽ được triển khai cho các máy client chạy trên mạng Internet Vì vậy, chúng ta phải có cơ chế bảo mật nghiêm ngặt để bảo vệ máy chủ, chương trình và dữ liệu Với kiến trúc ba tầng, chúng ta có thể đặt cơ chế bảo mật ở tầng giữa nhằm tránh những tấn công vô tình hay cố ý từ bên ngoài Tầng dữ liệu ở sau tầng giữa, do đó chúng ta không cần phải bảo mật cho phần cứng hay sự giao tiếp của chúng Điều này giúp tầng dữ liệu chạy với tốc độ cao và dễ thao tác. o Hạn chế đầu tư: Đối với trường hợp chúng ta có một mainframe lưu trữ và xử lý dữ liệu trong nhiều năm, khi có sự cố chúng ta không muốn phải vứt bỏ tất cả và làm lại từ đầu Kiến trúc ba tầng và mạng là phương án thích hợp nhất để giải quyết vấn đề này Ta sử dụng tầng giữa làm trung gian khi client kết nối với mainframe, hoặc khi server kết nối tới client. o Tính linh hoạt: Được thể hiện rõ qua việc chúng ta có thể thêm hoặc bớt các máy tính trong hệ thống nếu hệ thống đó được thiết kế theo kiến trúc ba tầng.

Ví dụ, khi phần logic được thiết kế đúng, chúng ta có thể phát triển nó theo kiến trúc một tầng, sau đó phát triển lên thành hai tầng, ba tầng tùy theo yêu cầu. o Đa dạng kiểu dáng máy client: máy tính ở tầng client chỉ thực hiện nhận đầu vào và hiển thị kết quả trên màn hình, do đó chúng ta có thể sử dụng các thiết bị với các giao diện khác nhau như máy tính cá nhân, PDAs, mobile-phone….Khi đó, tầng giữa và tầng dữ liệu vẫn làm việc như nhau, không có thay đổi b) Biểu diễn hình trạng mạng với UML

Hình 56 Biểu diễn hình trạng mạng với UML

- GUIWeb: tầng giao diện người dùng

- ApplicationServerKTX: tầng logic ứng dụng gọi các rest api,…

- DBServer: tầng dữ liệu lưu trữ dữ liệu để truy vấn

Lựa chọn CSDL, các công nghệ ứng dụng trong hệ thống Có giải thích lý do lựa chọn 54 a) SQL Server Management Studio 19

- Cơ sở dữ liệu: SQL Server Management Studio 19

- Công nghệ sử dụng: ReactJS, Java a) SQL Server Management Studio 19

- là một công cụ quản lý cơ sở dữ liệu của Microsoft SQL Server

- Ưu điểm: o Quản lý và Tối ưu Hóa Cơ Sở Dữ Liệu: SSMS cung cấp các công cụ mạnh mẽ để quản lý cơ sở dữ liệu SQL Server, bao gồm thiết kế cơ sở dữ liệu, quản lý lược đồ, tối ưu hóa truy vấn, và theo dõi hiệu suất. o Giao diện Đồ họa Dễ sử dụng: SSMS có một giao diện đồ họa thân thiện, giúp người quản trị và phát triển dễ dàng tương tác với cơ sở dữ liệu mà không cần viết các câu lệnh SQL phức tạp. o Quản lý Phiên Bản và Tự động Hóa: SSMS hỗ trợ quản lý phiên bản thông qua tích hợp với các tính năng như Control System (VCS) và cung cấp các công cụ tự động hóa để giúp giảm thiểu công việc lặp lại. o Các Công Cụ Tích hợp: SSMS tích hợp với nhiều công cụ quan trọng khác nhau như SQL Server Profiler, Database Engine Tuning Advisor, và SQL Server Configuration Manager để hỗ trợ quản lý và tối ưu hóa hệ thống.

- Nhược điểm: o Tài nguyên Hệ thống: SSMS có thể yêu cầu một số tài nguyên hệ thống đáng kể, đặc biệt là khi làm việc với các cơ sở dữ liệu lớn hoặc khi thực hiện các nhiệm vụ yêu cầu nhiều xử lý. o Chiếm Dụng Không Gian Đĩa: Cài đặt và sử dụng SSMS có thể chiếm dụng một lượng lớn không gian đĩa, đặc biệt là khi bạn lưu trữ nhiều bản sao lịch sử hoặc tệp tin dự trữ. o Yêu Cầu Phần Mềm Phức Tạp: Việc cài đặt và cấu hình SSMS có thể đòi hỏi kiến thức vững về SQL Server và hệ thống, đặc biệt là khi xử lý các tác vụ phức tạp. o Giới Hạn Đối với Các Hệ Thống Quản lý Dữ liệu Khác: Mặc dù SSMS được phát triển chủ yếu cho SQL Server, nó có thể có giới hạn đối với việc quản lý các hệ thống quản lý dữ liệu khác như MySQL hoặc PostgreSQL. b) ReactJS

- là một thư viện JavaScript phổ biến được phát triển bởi Facebook để xây dựng giao diện người dùng (UI) cho các ứng dụng web đơn trang (Single Page Applications - SPAs) React chủ yếu được sử dụng để xây dựng các thành phần UI tái sử dụng, giúp quản lý trạng thái ứng dụng và cập nhật giao diện người dùng một cách hiệu quả.

- Ưu điểm của ReactJS: o Thực hiện Virtual DOM: React sử dụng Virtual DOM để tối ưu hóa hiệu suất Thay vì cập nhật trực tiếp DOM mỗi khi có thay đổi, React tạo ra một bản sao ảo của DOM (Virtual DOM) để thực hiện các thay đổi, sau đó cập nhật DOM chỉ khi cần thiết Điều này giúp giảm tải cho trình duyệt và cải thiện hiệu suất. o Tái sử dụng Component: React thúc đẩy sử dụng lại các thành phần UI, giúp giảm mã lặp và làm cho mã nguồn dễ bảo trì Các component có thể được sử dụng lại ở nhiều nơi trong ứng dụng. o One-way Data Binding: React sử dụng one-way data binding, điều này có nghĩa là dữ liệu di chuyển một chiều từ component cha đến component con. Điều này giúp quản lý trạng thái ứng dụng dễ dàng hơn và giảm rủi ro xung đột. o Ecosystem Phong phú: React có một cộng đồng lớn và mạnh mẽ, điều này có nghĩa là có rất nhiều thư viện và công cụ hỗ trợ có thể được tích hợp vào dự án React. o Hỗ trợ JSX: JSX là một phần quan trọng của React, cho phép viết mã HTML trong JavaScript JSX giúp tăng khả năng đọc của mã và giảm lỗi trong quá trình phát triển.

- Nhược điểm của ReactJS: o Học Ngưỡng Đầu Vào: Đối với những người mới bắt đầu, việc học React có thể mất một khoảng thời gian JSX và cách quản lý trạng thái có thể làm cho nó trở nên phức tạp hơn so với việc sử dụng các thư viện khác. o Không Đầy Đủ Công Cụ: React là một thư viện chuyên về UI, điều này có nghĩa là bạn cần phải chọn thêm các thư viện hoặc framework khác để giải quyết các vấn đề như định tuyến (routing), quản lý trạng thái global, và giao tiếp với API. o Cần Tổ Chức Tốt: React không áp đặt cấu trúc tổ chức cho ứng dụng của bạn, điều này có nghĩa là bạn cần có một kế hoạch tổ chức tốt để giữ cho mã nguồn dễ bảo trì khi ứng dụng phát triển. o Không Hỗ Trợ Như Angular: So với Angular, React không đi kèm với nhiều tính năng tích hợp sẵn Điều này có thể đòi hỏi phải tích hợp nhiều thư viện và giải pháp bên thứ ba để có đầy đủ tính năng.

- Tổng cộng, ReactJS là một thư viện mạnh mẽ và phổ biến trong cộng đồng phát triển web, nhưng quyết định sử dụng nó hay không nên dựa vào yêu cầu cụ thể của dự án và sự thoải mái của đội ngũ phát triển c) Java

- là một ngôn ngữ lập trình phổ biến và mạnh mẽ, được thiết kế để chạy trên nền tảng đa dạng, từ thiết bị di động, máy tính cá nhân đến hệ thống máy chủ Dưới đây là một số ưu điểm và nhược điểm của Java:

- Ưu Điểm của Java: o Độ Di Động và Đa Nền Tảng: Java được thiết kế để làm cho mã nguồn có thể chạy trên mọi nền tảng mà không cần biên dịch lại Điều này giúp tạo ra ứng dụng có khả năng di động cao và tương thích trên nhiều hệ điều hành. o Ngôn Ngữ Hướng Đối Tượng: Java hỗ trợ lập trình hướng đối tượng, cung cấp tính đóng gói, kế thừa và đa hình Điều này giúp dễ dàng quản lý và tái sử dụng mã nguồn. o Bảo Mật Cao: Java có môi trường thực thi (Java Virtual Machine - JVM) giúp tăng cường bảo mật bằng cách kiểm soát quyền truy cập vào tài nguyên hệ thống và cung cấp cơ chế chữ ký số. o Thu Gọn Bộ Nhớ và Quản Lý Rác (Garbage Collection): Java có hệ thống quản lý bộ nhớ tự động và garbage collection giúp giảm nguy cơ xảy ra lỗi như tràn bộ nhớ (memory leaks) và giúp quản lý bộ nhớ hiệu quả hơn. o Hệ Sinh Thái Mạnh Mẽ: Java có một hệ sinh thái mạnh mẽ với nhiều thư viện, framework và công cụ hỗ trợ, giúp nhà phát triển xây dựng các ứng dụng phức tạp một cách nhanh chóng. o Độ Tin Cậy Cao: Java được thiết kế với ý niệm về việc xây dựng các ứng dụng có độ tin cậy cao Quy ước kiểm soát kiểu dữ liệu và quản lý ngoại lệ giúp giảm thiểu rủi ro lỗi.

- Nhược Điểm của Java: o Hiệu Suất Cao Nhất Đối Với Một Số Ứng Dụng Cụ Thể: Trong một số trường hợp, Java có thể không hiệu quả bằng các ngôn ngữ lập trình gần sắc thục hơn như C++ đối với các ứng dụng đòi hỏi hiệu suất cao. o Sử Dụng Nhiều Tài Nguyên Hệ Thống: Máy ảo Java (JVM) có thể yêu cầu nhiều tài nguyên hệ thống, đặc biệt là khi chạy trên thiết bị với tài nguyên hạn chế. o Khả Năng Chậm Chạp Ban Đầu: Một số người phát triển cho rằng ứng dụng

Java có thể chậm chạp hơn ở giai đoạn khởi động so với một số ngôn ngữ khác. o Cú Pháp Dài: Java có thể có cú pháp dài hơn so với một số ngôn ngữ, điều này có thể làm tăng khả năng mắc lỗi và giảm sự dễ đọc của mã nguồn.

- Tuy Java có nhược điểm nhất định, nhưng những ưu điểm của nó đã giúp nó trở thành một trong những ngôn ngữ lập trình phổ biến và được ưa chuộng trong nhiều lĩnh vực khác nhau.

Vẽ biểu đồ thiết kế cơ sở dữ liệu

Role(maRole, tenRole ) admin(id ,taikhoan, matkhau fullName, ngaySinh ) user(id ,taikhoan, matkhau fullName, ngaySinh )

Phong(maPhong, tenPhong, soluongGiuong, gia, trangThai )

DichVu( maDV, tenDV, giaDV, thoiGian, trangThaiThanhToan )

DonHang(maDH, tenDH, ngayBatDau, ngayKetThuc )

HoaDon(maHD, tenHD, trangThaiThanhToan ) b) ERD

Hình 57 Sơ đồ ERD c) Mô hình dữ liệu ERD (đạt dạng chuẩn 3 )

(Chú thích: MADH Khóa chính; MALOAI Khóa ngoại ; TEN_DH Khóa duy nhất) Role(maRole, tenRole ) admin(IDAdmin ,taikhoan, matkhau fullName, ngaySinh )

RoleOfAdmin(maRole, IDAdmin) user(IDUser ,taikhoan, matkhau fullName, ngaySinh, maPhong , IDAdmin) Phong(maPhong, tenPhong, soluongGiuong, gia ,trangThai , IDAdmin )

DangKiDichVu(IDUser, maDV , thoiGianDangKy, , maHD )

HoaDon(maHD, tenHD, trangThaiThanhToan, maPhong, IDUser , IDAdmin) d) Diagram

Thiết kế một số giao diện người dùng chính

Hình 59 Giao diện đăng nhập b) Giao diện lấy lại mật khẩu

Hình 60 Giao diện lấy lại mật khẩu c) Giao diện thông tin hóa đơn

Hình 61 Giao diện thông tin hóa đơn d) Giao diện đăng ký phòng

Hình 62 Giao diện đăng ký phòng

Ngày đăng: 06/03/2024, 14:49

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

TÀI LIỆU LIÊN QUAN

w