LỜI NÓI ĐẦUĐây là tài liệu mô tả thiết kế của Phần mềm quản lý lưu trú thuê trả phòng ký túc xá..Mục đích của tài liệu này là mô tả chi tiết thiết kế các yêu cầu được đưa ra trong tài li
TỔng quan
Mục đính tài liệu
Tài liệu này trình bày thiết kế phần mềm quản lý lưu trú ký túc xá, chi tiết hóa các yêu cầu trong tài liệu SRS Thông tin về cơ sở dữ liệu (CSDL), giao diện người dùng (GUI) và các biểu đồ (sequence, active) sẽ được mô tả đầy đủ.
Phạm vi
Tài liệu này hướng dẫn thiết kế phần mềm quản lý lưu trú, thuê và trả phòng KTX cho nhóm phát triển dự án.
Các giai đoạn thiết kế của dự án bao gồm:
Thiết kế tài liệu (các sơ đồ, luồng xử lý cần thiết cho các chức năng xử lý phức tạp - xử lý dữ liệu ở nhiều bảng).
Thiết kế cơ sở dữ liệu, kiểm tra, chỉnh sửa cơ sở dữ liệu.
Viết các lớp xử lý logic.
Cài đặt các chức năng chương trình, ghép các lớp xử lý logic từ giai đoạn 2 vào giao diện ở giai đoạn 1.
Sửa các lỗi phát sinh.
Lên danh sách các report cần lập.
Lập trình xử lý dữ liệu với report.
Kết nối report vào nút chức năng (kiểm tra điều kiện gọi report khi kết nối).
Giải thích nội dung
Bài viết này trình bày thiết kế hệ thống, bao gồm kiến trúc, cơ sở dữ liệu, giao diện người dùng (GUI) Kiến trúc chung được áp dụng cho mọi trường hợp sử dụng, với các biểu đồ chi tiết minh họa từng nhóm trường hợp cụ thể.
Định nghĩa, ký hiệu và từ viết tắt
1.4.1 Các thuật ngữ sử dụng trong tài liệu
User Là người sử dụng hệ thống
Module Thành phần của hệ thống, được phát triển để phục vụ 1 mục đích nào đó, độc lập với các thành phần khác.
Use case Mô tả 1 chức năng của hệ thống
Biểu đồ trình tự minh họa tương tác giữa các đối tượng theo thứ tự thời gian, thể hiện rõ ràng thông điệp trao đổi và trình tự xảy ra Ví dụ ứng dụng: biểu đồ lớp.
Biểu đồ hoạt động minh họa trình tự các hoạt động, thường dùng để mô tả thủ tục hoặc dòng chảy hoạt động trong use case và tương tác.
Bảng 1 - Các thuật ngữ sử dụng trong tài liệu
1.4.2 Ký hiệu và từ viết tắt
QLLTKTX Quản lý lưu trú ký túc xá.
Phần mềm máy tính (SW Software) là tập hợp các chương trình và dữ liệu hướng dẫn máy tính hoạt động.
SRS Software Requirements Specification – Tài liệu đặc tả yêu cầu phần mềm
Cơ sở dữ liệu DB là tập hợp dữ liệu được lưu trữ và quản lý bởi hệ quản trị cơ sở dữ liệu (DBMS), cho phép lưu trữ, tạo, bảo trì, tìm kiếm và truy cập dữ liệu phục vụ nhiều chức năng của chương trình.
Giao diện người dùng đồ họa (GUI) cho phép người dùng tương tác trực tiếp với phần mềm thông qua các biểu tượng và chỉ dẫn trực quan.
Bảng 2 - Ký hiệu và từ viết tắt
TỔng quan hỆ thỐng
Quy trình hoạt động hệ thống
Đầu năm học, ban quản lý ký túc xá tiếp nhận hồ sơ đăng ký của sinh viên trúng tuyển Việc xét duyệt dựa trên điều kiện và sự đầy đủ của hồ sơ.
Sinh viên đủ điều kiện sẽ được sắp xếp chỗ ở theo quy định hoặc nguyện vọng, tùy thuộc vào khả năng đáp ứng.
Sinh viên nam, nữ bắt buộc ở riêng.
Mỗi phòng có số lượng Sinh viên cố định.
Sau đó xếp đầy cho từng phòng.
Dữ liệu lưu lượng vào ra Ký túc xá Đại học Bách khoa - Đại học Đà Nẵng được tổng hợp và thể hiện qua bảng thống kê dưới đây, phản ánh nhu cầu thực tế.
STT THAO TÁC XỬ LÝ BIẾN CỐ VÀO BIẾN CỐ RA
1 Thông tin về cán bộ quản lý Danh sách các cán bộ Quản lý cán bộ vào ra
2 Kiểm tra thông tin hồ sơ SV Yêu cầu của Ký túc xá+ hồ sơ đăng ký
Hồ sơ không hợp lệ
4 Kiểm tra phòng trống Danh sách phòng Không còn phòng
6 Sắp xếp phòng theo điều kiện Danh sách đủ điều kiện + danh sách phòng trống
Phòng sinh viên được vào ở
7 Xử lý thu phí và các loại phí khác Biên lai các khoản phí đã đóng
Ghi nhận các khoản phí đã đóng
8 Kiểm tra dùng điện nước vượt định mức
Danh sách phòng + số lượng điện nước đã dùng theo phòng
Lập danh sách các phòng dùng vượt định mức
9 Xử lý thu các khoản phí khác Danh sách các phòng dùng Thông báo phí
Kiến trúc triển khai
Hình 1- Mô hình phát triển 3 lớp
Presentation layer (lớp giao diện, trình diễn): Nhập liệu và trình bày dữ liệu, có thể kiểm tra dữ liệu trước khi gọi Business logic layer.
Business logic layer (lớp xử lý logic): Kiểm tra các yêu cầu nghiệp vụ trước khi cập nhập dữ liệu, quản lý các transacsion, quản lý các concurrent access.
Data access layer (lớp truy xuấy dữ liệu): Kết nối CSDL, tìm kiếm, thêm, xóa, sửa… trên CSDL.
Data source (nguồn dữ liệu): Cơ sở dữ liệu QLLTKTX.
Công nghệ triển khai
Dự án được phát triển dựa trên các công nghệ dưới đây:
This project utilized CodeSmith for automated SQL code generation, MS SQL Server 2005 for database management, Visual Studio 2010 for development, and DevExpress v10.2 for UI design.
CÁC BIỂU ĐỒ MÔ TẢ HỆ THỐNG
Biểu đồ chức năng toàn hệ thống
Ký túc xá Bách Khoa có cơ cấu tổ chức như sau:
Hình 1: Sơ đồ phân cấp chức năng của hệ thống
Hình 2: Biểu đồ phân cấp chức năng chi tiết toàn hệ thống
Quản lý ký túc xá chặt chẽ từng nhà, từng phòng, bao gồm kiểm tra hồ sơ đăng ký của sinh viên Sinh viên được xét duyệt vào ở nếu hồ sơ hợp lệ và còn chỗ trống.
Dữ liệu xây dựng phần mềm tối ưu hóa dựa trên các yếu tố sẵn có và thuộc tính bổ sung, nhằm giảm lỗi và tăng độ chính xác Sơ đồ minh họa dữ liệu được trình bày bên dưới.
Sơ đồ ngữ cảnh
Sơ đồ ngữ cảnh (Context Diagrams) bao gồm ba nhóm thành phần:
- Thành phần chính là một hình tròn nằm giữa vị trí trung tâm của sơ đồ, biểu thị cho toàn bộ hệ thống đang được nghiên cứu.
- Xung quanh hình tròn trung tâm này là tất cả các phần tử bên ngoài, có quan hệ với hệ thống (tác nhân ngoài).
- Tất cả các đường truyền thông tin vào và ra khỏi hệ thống (nối hệ thống với các tác nhân ngoài của nó lại với nhau).
Sơ đồ ngữ cảnh xác định ranh giới hệ thống và hỗ trợ phân tích tương tác giữa hệ thống với môi trường bên ngoài.
Sơ đồ ngữ cảnh giúp cho ta có cái nhìn rõ và tổng quát một hệ thống cùng với các thông tin vào ra của hệ thống.
Hình 3: Sơ đồ ngữ cảnh
Biểu đồ luồng dữ liệu DFD
3.3.1 Khái niệm biểu đồ luồng dữ liệu DFD:
Sơ đồ DFD (Data Flow Diagram) mô tả dòng thông tin của hệ thống, sử dụng các hình vẽ và ký hiệu quy ước gồm 4 thành tố: quá trình, thực thể, kho dữ liệu và dòng dữ liệu DFD khác với sơ đồ khối và lưu đồ.
- Các quá trình trong DFD có thể đặt song song, một số hoạt động đồng thời.
Sơ đồ DFD minh họa luồng dữ liệu trong hệ thống, trong khi sơ đồ khối trình bày thứ tự các bước xử lý của thuật toán.
- DFD thể hiện quá trình ở các thời điểm khác nhau.
- DFD không giống sơ đồ khối về cách thể hiện các cấu trúc vòng lặp, và cấu trúc lựa chọn.
Biểu đồ DFD có nhiều mức độ chi tiết, bắt đầu từ mức 0 (mức tổng quan nhất) và được phân rã thành các mức thấp hơn, cho đến khi mỗi tác vụ trở nên nguyên tố.
- Phải luôn có sự cân đối giữa DFD cấp cao và DFD cấp thấp hơn.
- Bảo toàn dữ liệu: Không cho phép biến đổi hay kho dữ liệu nào có thể cho ra dữ liệu mà không cần dữ liệu vào.
Lặp lại quá trình liệt kê sự kiện và đáp ứng cho đến khi kết quả sau mỗi phép biến đổi là số nguyên tố Thêm kết quả vào danh mục sự kiện.
3.3.2 Biểu đồ luồng dữ liệu ở mức 0:
Hình 4: Mô tả sơ đồ dòng dữ liệu mức 0
Sơ đồ mức 0 cung cấp cái nhìn tổng quan về hoạt động, quản lý và điều hành hệ thống ký túc xá, giúp xác định hướng thu thập thông tin hiệu quả.
3.3.3 Biểu đồ luồng dữ liệu ở mức 1:
Hình 5: Mô tả sơ đồ dòng dữ liệu mức 1
- Khi một Sinh viên đăng ký vào ở KTX thì KTX yêu cầu phải xuất trình và làm thủ tục hồ sơ đăng ký với cán bộ quản lý.
- Hồ sơ này sẽ được các cán bộ quản lý duyệt qua và đồng ý cho phép tạm trú hoặc không.
Sinh viên có hồ sơ nhập học được chấp nhận sẽ tiến hành thủ tục nhập phòng và đóng phí theo quy định Hồ sơ sẽ được cán bộ xử lý và cập nhật vào danh sách sinh viên.
Sinh viên nhận tài sản sử dụng tại phòng và được hướng dẫn bàn giao rõ ràng.
Sinh viên cần được cán bộ quản lý thông báo trước 1 tháng về việc kết thúc hợp đồng Sau khi hợp đồng kết thúc, sinh viên phải bàn giao đầy đủ trang thiết bị và hoàn tất các thủ tục theo quy định của nhà trường.
PHÂN TÍCH CÁC NGHIỆP VỤ VÀ SƠ ĐỒ MÔ TẢ
Những nghiệp vụ chính
STT TÊN NGHIỆP VỤ MÔ TẢ NGHIỆP VỤ
Khi Sinh viên nộp hồ sơ đăng ký vào ở Ký túc xá.
Ký túc xá tiếp nhận sinh viên dựa trên số lượng phòng trống Nếu còn phòng, sinh viên sẽ được xét theo thứ tự ưu tiên Ngược lại, nếu hết phòng, đơn xin ở ký túc xá sẽ bị từ chối.
Chịu trách nhiệm: Bộ phận quản lý hành chính.
2 Xét Phòng cho Sinh viên
Khi Sinh viên được xét vào ở Ký túc xá.
Cách thực hiện: Xếp cho Sinh viên một chỗ ở trong Ký túc xá dựa vào các nguyên tắc và quy định đã có, cập nhật vào CSDL.
Chịu trách nhiệm: Bộ phận quản lý hành chính
Khi có nhu cầu về việc thống kê Sinh viên đã/ đang ở Ký túc xá.
Cách thực hiện: Dựa vào các tiêu chí thống kê (theo tỷ lệ nam, nữ, trường,…)và tính toán thực hiện các bảng thống kê.
Chịu trách nhiệm: Bộ phận quản lý hành chính.
Khi có nhu cầu tìm kiếm Sinh viên theo yêu cầu đặt ra.
Cách thực hiện: lần lượt đưa ra thông tin Sinh viên qua số thẻ nhận dạng, mã…, đưa ra thông tin theo Phòng hoặc nhà.
Chịu trách nhiệm: Bộ phận quản lý hành chính.
Quản lý thu chi ký túc xá cần xác định rõ khoản thu hay chi, kiểm tra tính chính xác và lưu trữ thông tin cẩn thận sau mỗi giao dịch.
4.1.2 Xác định các đối tượng có liên quan và nhu cầu hệ thống
Mức quản lý hệ thống được mô tả chi tiết như sau:
STT TÊN ĐẠI DIỆN VAI TRÒ
Ban Giám đốc Giám đốc
Quản lý ở mức cao toàn bộ hệ thống Ký túc xá.
Thực hiện xét chọn sinh viên vào ở Ký túc xá.
Quản lý Sinh viên trong Ký túc xá.
Xếp phòng cho Sinh viên.
Thực hiện các thống kê báo cáo về tình hình Sinh viên cho ban giám đốc
Bộ phận tài vụ Trưởng Phòng Tài vụ
Quản lý tài chính cho Ký túc xá Thực hiện các thống kê, báo cáo về tình hình tài chính của Ký túc xá cho ban giám đốc.
Ban quản lý nhà Nhà trưởng
Quản lý từng nhà trong Ký túc xá Có trách nhiệm báo cáo tình hình sv của từng nhà cho bộ phận hành chính.
Bảng 3: Đối tượng và nhu cầu
Xác định những lĩnh vực ưu tiên:
Với phạm vi hệ thống đã xác định ở trên, ta xác định những lĩnh vực sau là cần ưu tiên trên hết:
Nghiệp vụ xét chọn Sinh viên: Xét chọn những Sinh viên được phép ở Ký túc xá theo các mức độ cho phép, hồ sơ đúng theo quy định.
Nghiệp vụ xét phòng cho Sinh viên: Xếp chỗ cho những Sinh viên được chọn vào ở
Nghiệp vụ thống kê Sinh viên: Thực hiện thống kê Sinh viên theo các tiêu chí khác nhau.
Nghiệp vụ tìm kiếm Sinh viên: Liệt kê một/ nhiều sinh viên thỏa một/ nhiều tiêu chí định trước.
Nghiệp vụ quản lý tài chính: Quản lý, lưu trữ các khoản thu/chi Thực hiện thống kê các khoản thu/ chi theo các tiêu chí khác nhau.
Sơ đồ thuật toán đặc tả các nghiệp vụ
4.2.1 Nhận hồ sơ sinh viên
Hình 6: Sơ đồ mô tả chức năng tiếp nhận hồ sơ4.2.2 Thêm hồ sơ sinh viên
Hình 7: Mô hình mô tả chức năng thêm hồ sơ Sinh viên.4.2.3 Xét chọn sinh viên
Hình 8: Mô hình mô tả chức năng xét chọn Sinh viên.4.2.4 Xếp phòng cho sinh viên
Hình 9: Xếp phòng cho sinh viên
CHI TIẾT THIẾT KẾ
Chức năng quản lý hệ thống
Hình 10: Sơ đồ use-case tổng quát
Chức năng quản lý thông tin sử dụng tài sản
Hình 13: Use case quản lý thông tin sử dụng tài sản.
Chức năng quản lý thông tin tài sản KTX – Quản lý nhà
Hình 15: Use case quản lý nhà.
Sơ đồ cơ sở dữ liệu
5.2.1 Mô hình dữ liệu quan hệ Diagram
Bài viết mô tả cấu trúc bảng dữ liệu sinh viên với các trường: maSV (nvarchar, khóa chính, độ dài 12), tenSV (nvarchar, độ dài 50), ngaysinh (Date/time), quequan (nvarchar, độ dài 50), gioitinh (nvarchar, độ dài 3), dantoc (nvarchar, độ dài 10), lop (nvarchar, độ dài 8), và truong (nvarchar, độ dài 50) Các trường này tương ứng với mã sinh viên, tên sinh viên, ngày sinh, quê quán, giới tính, dân tộc, lớp và trường.
CMND nvarchar Length: 10 CMND soDTDD nvarchar Length: 11 Số di động maNha Int Mã nhà maPhong int Mã phòng
Phí nội trú, ngày vào, ngày ra, khóa học, năm học, email, tôn giáo, quốc tịch và ghi chú là các thông tin quan trọng cần cung cấp.
Chức năng: Lưu trữ thông tin cá nhân của sinh viên trong Ký túc xá.
Các thuộc tính: (maSV, tenSV, ngaysinh, quequan, gioitinh, dantoc, lop, truong, CMND, soDTDD, maPhong, maNha,phinoitru, ngayvao, ngayra, khoahoc, namhoc, tongiao, quoctich, ghichu)
Tên trường Kiểu dữ liệu Thuộc tính Loại Miêu tả
MaDV int Primary Key Mã dịch vụ tenDV nvarchar length: 20 Tên dịch vụ dongia real Đơn giá
Các thuộc tính: (maDV, tenloaiDV, dongia)
Tên trường Kiểu dữ liệu Thuộc tính Loại Miêu tả maNha int auto Primary Key Mã nhà tennha nvarchar length: 20 Tên nhà soluongPhong int Số lượng phòng
Chức năng: Lưu trữ tên các khu nhà ở, số lượng chỗ tối đa.
Các thuộc tính: (maNha, tenNha,soluongPhong)
Bài viết mô tả cấu trúc bảng dữ liệu với các trường: `maPhong` (int, khóa chính), `maNha` (int, khóa chính), `tenphong` (nvarchar, độ dài 20), `soluongGiuong` (int), và `gioitinh` (nvarchar, độ dài 20), tương ứng với mã phòng, mã nhà, tên phòng, số lượng giường và giới tính.
Phinoitru Real Phí nội trú
Chức năng: Lưu trữ địa điểm phòng, số lượng người ở tối đa và các ghi chú cần thiết.
Các thuộc tính: (maPhong, maNha, tenPhong, soluongGiuong, gioitinh, Phinoitru)
5.2.6 Thực thể sử dụng dịch vụ
Tên trường Kiểu dữ liệu Thuộc tính Loại Miêu tả
ID int Primary Key ID maDV nvarchar Length: 5 Mã dịch vụ maNha int Mã nhà maPhong int Mã phòng
CSDK int chỉ số đầu kỳ
CSCK int chỉ số cuối kỳ thang nchar Length: 10 tháng nam nchar Length: 10 năm thanhtien real thành tiền
Chức năng: Lưu trữ các chỉ số và giá thành các loại dịch vụ sử dụng trong Ký túc xá.
Các thuộc tính: (ID, maNha, maPhong, maDV, CSDK, CSCK, thang, nam, thanhtien)
5.2.7 Thực thể sử dụng tài sản
Tên trường Kiểu dữ liệu Thuộc tính Loại Miêu tả
ID int Primary Key ID maTS int Mã tài sản maNha int Mã nhà maPhong int Mã phòng soluong int Số lượng thanhtien real thành tiền
Chức năng: Lưu trữ tình trạng sử dụng tài sản tại các phòng trong Ký túc xá.
Các thuộc tính: (ID, maNha, maPhong, maTS, soluong, thanhtien)
Tên trường Kiểu dữ liệu Thuộc tính Loại Miêu tả maTS int Primary Key Mã tài sản tenTS nvarchar length: 25 Tên tài sản dongia real đơn giá
Các thuộc tính: (maTS, tenTS, dongia)
Tên trường Kiểu dữ liệu Thuộc tính Loại Miêu tả
ID int Primary Key ID maCB nvarchar Length: 10 Mã cán bộ username nvarchar Length: 25 username pass nvarchar Length: 25 mật khẩu quyen int quyền
Chức năng: Lưu trữ thông tin về username, mật khẩu và phân quyền cho người sử dụng.
Các thuộc tính: (ID,maCB, username, pass, quyen)
Sơ đồ tuần tự
Hình 22: Sơ đồ tuần tự miêu tả chức năng đăng nhập
Hình 23: Sơ đồ tuần tự mô tả chức năng xem và cập nhật thông tin cá nhân
Hình 24: Sơ đồ tuần tự mô tả chức năng đổi mật khẩu
Hình 25: Sơ đồ tuần tự mô tả chức năng xem phí điện nước
CHUẨN THIẾT KẾ GIAO DIỆN (GUI)
Grid group panel Bỏ qua với các bảng danh mục, hoặc xóa text.
Các bảng thao tác nhập liệu chính thì tạo nếu cần thiết, sửa caption thành tiếng Việt.
Lookup Edit Tên cột (column text) sửa thành tiếng Việt.
Grid Tắt nút sổ bảng detail nếu bảng master không có bảng detail.
Bảng 3 – Chuẩn thiết kế giao diện (GUI)