






















































Preview text:
  lOMoARcPSD| 37054152 PHẦN MỞ ĐẦU 
1. Tên đề tài 
Hệ thống quản lý ký túc xá. 
2. Lý do chọn đề tài 
Ngày nay, ngành công nghệ thông tin đang phát triển vô cùng mạnh mẽ. Nó đã 
chứng tỏ được sức mạnh của mình trong mọi lĩnh vực của cuộc sống. 
Tại các trường đại học vấn đề quản lý chỗ ở của sinh viên là một trong những vấn 
đề cần thiết và cấp bách. Một sinh viên muốn đạt được thành quả cao trong hoc tập 
phải có một môi trường sống và học tập tốt. Thực tế các trường đại học việc quản 
lý chỗ ở hầu hết cũng chỉ quản lý trên giấy tờ, sổ sách; điều này gây ra nhiều khó 
khăn và rườm rà trong các khâu xử lý văn bản, giấy tờ đối với sinh viên và nhân 
viên làm việc trong Ban quản lý KTX. 
Vì vậy việc áp dụng công nghệ thông tin vào việc quản lý kí túc xá sinh viên là rất 
thiết thực, nó giúp cho người quản lý thu hẹp không gian lưu trữ, tránh được thất 
lạc dữ liệu, xử lý nhanh một khối lượng lớn về thông tin, tra cứu tìm kiếm một 
cách nhanh chóng với độ chính xác cao, tiết kiệm được nhiều thời gian và công 
sức không chỉ đối với người quản lý mà còn đối với cả người thân, bạn bè hay 
chính bản thân sinh viên. 
Xuất phát từ nhận thức trên, với mong muốn áp dụng công nghệ thông tin vào quản 
lý, dựa trên những hoạt động thực tiễn để xây dựng những bước đầu tiên của phần 
mềm "Quản lý kí túc xá sinh viên”, với các chức năng lưu trữ, xử lý thông tin về 
sinh viên và tình hình trong kí túc xá. 
Chúng em xin trân trọng cảm ơn cô Dương Thanh Thảo đã tận tình hướng dẫn 
chúng em trong quá trình thực hiện và hoàn thành đề tài này.      lOMoARcPSD| 37054152
3. Mục đích phát triển đề tài 
Xây dựng một phần mềm quản lý kí túc xá bước đầu giúp cho người quản lý có thể 
tiếp cận dễ dàng ứng dụng Công nghệ thông tin để áp dụng vào quá trình quản lý 
để mang lại hiệu quả cao hơn đ ng thời giảm tải được khối lượng công việc. 
4. Đối tượng và phạm vi nghiên cứu  - 
Quy trình quản lý sinh viên ở kí túc xá.  - 
Các vấn đề cần giải quyết trong quá trình quản lý số lượng sinh viên trong 
kí túc, tra cứu tìm kiếm sinh viên. Từ đó tiến hành xây dựng cơ sở dữ liệu 
và khai thác dữ liệu phục vụ công tác quản lý.  - 
Theo dõi và báo cáo tình hình cho ban quản lý kí túc xá, đáp ứng yêu cầu 
quản lý dịch vụ trong thời điểm hiện tại và phát triển trong tương lai. 
5. Phương pháp nghiên cứu -  
Giai đoạn khảo sát: 
Tiến hành đi khảo sát thực tế tại kí túc xá tại một trường đại học, phỏng vấn sinh 
viên và nhân viên quản lý kí túc xá, tìm hiểu thêm các tài liệu từ sách báo, Internet.  - 
Giai đoạn phân tích, thiết kế: 
Sử dụng phương pháp phân tích thiết kế hướng đối tượng bằng công cụ Rational 
Rose và MS Word để xây dựng các biểu đ , các bản mẫu.  - 
Giai đoạn xây dựng cơ sở dữ liệu: 
Sử dụng các công cụ hỗ trợ như MS Word, Excel… và hệ quản trị CSDL SQL để  thực hiện công việc.  - 
Giai đoạn cài đặt ứng dụng: 
Dùng ngôn ngữ lập trình C# để xây dựng giao diện và cài đặt chương trình.      lOMoARcPSD| 37054152
6. Dự kiến kết quả đạt được  - 
Hoàn thành được bước phân tích, thiết kế hệ thống, thu được các bản mô tả 
và các biểu đ , bản mẫu thiết kế.  - 
Thiết kế được một giao diện thân thiện, dễ nhìn, dễ sử dụng.  - 
Thu được một sản phẩm sơ bộ, đáp ứng được một số yêu cầu tối thiểu của  bản phân tích. 
7. Một số đề xuất hướng phát triển  - 
Nghiên cứu việc đ ng bộ hóa dữ liệu với cơ sở dữ liệu của nhà trường.  - 
Nghiên cứu việc kết hợp phần mềm với một hệ thống Website cho phép 
tương tác trực tiếp trên Internet để sinh viên có thể thực hiện các công việc 
như đăng kí phòng, nộp tiền trực tuyến.  - 
Có khả năng tương tác cao với người sử dụng. 
CẤU TRÚC CỦA ĐỀ TÀI 
CHƯƠNG I: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 
1. Cơ sở lý thuyết  a. 
Hệ quản trị cơ sở dữ liệu SQL Server 
SQL viết tắt của Structured Query Language hay còn gọi ngôn ngữ truy vấn 
mang tính cấu trúc, là một loại ngôn ngữ máy tính phổ biến để tạo, sửa, và lấy dữ 
liệu từ một hệ quản trị cơ sở dữ liệu quan hệ. Ngôn ngữ này phát triển vượt xa so 
với mục đích ban đầu là để phục vụ các hệ quản trị cơ sở dữ liệu đối tượng-quan 
hệ. Nó là một tiêu chuẩn ANSI/ISO. 
Khái niệm về cấu trúc vật lý   Máy chủ (Server)      lOMoARcPSD| 37054152
 Máy trạm (Client): là các máy tính được phép truy xuất các tài nguyên đã 
được chia sẻ trên mạng. 
 Dây cáp mạng (Cable hoặc Media): là một hệ thống dây cáp nối kết vật lý 
các máy tính, máy in lại với nhau 
 Dữ liệu chung (Shared data): là các tập tin, thư mục mà người sử dụng trong 
hệ thống mạng có thể truy xuất vào máy chủ từ các máy trạm 
Khái niệm về các xử lý 
 Các xử lý trong một ứng dụng có thể 
chia làm hai loại xử lý trên máy trạm và  xử lý trên máy chủ 
 Xử lý trên máy trạm o Đọc, cập nhật dữ  liệu 
o Tính toán, hiển thị dữ liệu trên màn hình giao diện o Có thể sử dụng 
nhiều loại ngôn ngữ lập trình khác nhau: Java, C#... 
 Xử lý trên máy chủ Database Server o 
Xử lý các yêu cầu đọc/ghi dữ liệu 
o Quản lý đ ng bộ dữ liệu giữa các yêu cầu đọc ghi từ nhiều máy trạm  gửi tới 
o Các dịch vụ quản trị dữ liệu tự động theo định kỳ như backup/restore  dữ liệu 
Các tiện ích trong Microsoft SQL Server 
 Tiện ích SQL Server Management Studio cho phép quản trị Cơ sở dữ liệu 
bằng giao diện đ họa o Quản trị các thể hiện o Quản trị các đối tượng      lOMoARcPSD| 37054152
o Sử dụng Query Window để thực hiện các câu lệnh 
 Tiện ích Book Online toàn bộ các tài liệu liên quan đến SQL Server 
 Tiện ích SQL Server Configuration Manager Cấu hình hệ thống 
b. Windows forms o C# là một ngôn ngữ lập trình hướng đối tượng được phát 
triển bởi Microsoft, là phần khởi đầu cho kế hoạch .NET của họ. Tên của ngôn 
ngữ bao g m ký tự thăng theo Microsoft nhưng theo ECMA là C#. 
o WinForms là ứng dụng có giao diện đ họa chạy trên hệ điều hành 
Windows. WinForms là ứng dụng chạy trên máy tính của người dùng, khác 
với Web Forms là ứng dụng chạy trên Web Forms. Khi ứng dụng chạy thì 
hiển thị kết quả lên trình duyệt Windows Forms là một phần của kiến trúc  .NET . 
o Một ứng dụng Windows Forms là một ứng dụng hướng sự kiện được hỗ trợ 
bởi Microsoft .NET Framework . Không giống như một chương trình hàng 
loạt , nó dành hầu hết thời gian của nó chỉ đơn giản là chờ đợi cho người sử 
dụng để làm điều gì đó, chẳng hạn như điền vào một hộp văn bản hoặc bấm  vào một nút . 
o Tất cả các phần tử trực quan trong thư viện lớp Windows Forms xuất phát 
từ lớp Control. Điều này cung cấp một tính năng tối thiểu của phần tử giao 
diện người dùng chẳng hạn như vị trí, kích thước, màu sắc, phông chữ, văn 
bản cũng như các sự kiện thông thường như nhấp và kéo / thả. Lớp điều 
khiển cũng có hỗ trợ docking để cho phép một sự kiểm soát sắp xếp lại vị 
trí của nó dưới quyền phụ huynh của nó.      lOMoARcPSD| 37054152 c. 
Kiến trúc Phần mềm theo Mô hình 3 lớp (Three Layers)   
Để dễ quản lý các thành phần của hệ thống, cũng như không bị ảnh hưởng 
bởi các thay đổi, người ta hay nhóm các thành phần có cùng chức năng lại với nhau 
và phân chia trách nhiệm cho từng nhóm để công việc không bị ch ng chéo và 
ảnh hưởng lẫn nhau. Một trong những mô hình lập trình như vậy đó là Mô hình 3  lớp (Three Layers).      lOMoARcPSD| 37054152
Cấu trúc của mô hình 3 Lớp ( 3 – Layer)   
Mô hình 3 lớp được cấu thành từ: Presentation Layers(GUI), Business Logic 
Layers(BLL), và Data Access Layers(BAL). 
Presentation Layers 
Lớp này làm nhiệm vụ giao tiếp với người dùng cuối để thu thập dữ liệu và 
hiển thị kết quả/dữ liệu thông qua các thành phần trong giao diện người sử dụng. 
Trong .NET thì bạn có thể dùng Windows Forms, ASP.NET hay Mobile Forms để  hiện thực lớp này. 
Có hai thành phần chính sau đây với những tác vụ cụ thể :      lOMoARcPSD| 37054152
UI Components : g m các thành phần tạo nên giao diện của ứng dụng 
(GUI). Chúng chịu trách nhiệm thu nhận và hiển thị dữ liệu cho người dùng… Ví 
dụ : textbox, button, combobox, … 
UI Process Components : là thành phần chịu trách nhiệm quản lý các quá 
trình chuyển đổi giữa các UI… 
Ví dụ : Sắp xếp quá trình kiểm tra thông tin khách hàng: 
1. Hiển thị màn hình tra cứu ID. 
2. Hiển thị màn hình thông tin chi tiết khách hàng tương ứng. 
3. Hiển thị màn hình liên lạc với khách hàng. 
Business Logic Layer 
Đây là layer xử lý chính các dữ liệu trước khi được đưa lên hiển thị trên màn 
hình hoặc xử lý các dữ liệu trước khi chuyển xuống Data Access Layer để lưu dữ 
liệu xuống cơ sở dữ liệu. Đây là nơi đê kiểm tra ràng buộc, các yêu cầu nghiệp vụ, 
tính toán, xử lý các yêu cầu và lựa chọn kết quả trả về cho Presentation Layers.  G m 4 thành phần: 
• Service Interface : là thành phần giao diện lập trình mà lớp này cung 
cấp cho lớp Presentation sử dụng. 
• Bussiness Workflows : chịu trách nhiệm xác định và điều phối các quy 
trình nghiệp vụ g m nhiều bước và kéo dài. Những quy trình này phải 
được sắp xếp và thực hiện theo một thứ tự chính xác. 
• Bussiness Components : chịu trách nhiệm kiểm tra các quy tắc nghiệp 
vụ, ràng buộc logic và thực hiện các công việc . Các thành phần này 
cũng thực hiện các dịch vụ mà Service Interface cung cấp và Business 
Workflows sẽ sử dụng nó.      lOMoARcPSD| 37054152
• Bussiness Entities : thường được sử dụng như Data Transfer Objects 
( DTO ) . Bạn có thể sử dụng để truyền dữ liệu giữa các lớp 
(Presentation và Data Layer). Chúng thường là cấu trúc dữ liệu ( 
DataSets, XML,… ) hay các lớp đối tượng đã được tùy chỉnh. Ví dụ : 
tạo 1 class Student lưu trữ các dữ liệu về tên, ngày sinh, ID, lớp. 
Data Access Layer  
Lớp này thực hiện các nghiệp vụ liên quan đến lưu trữ và truy xuất dữ liệu 
của ứng dụng như đọc, lưu, cập nhật cơ sở dữ liệu. Vì thế mô hình có 2 phần là: 
• Data Access Logic Components - lưu trữ và truy xuất dữ liệu từ các 
ngu n dữ liệu (Data Sources). Kết hợp tạo thuận lợi cho cấu hình và  bảo trì. 
• Service Agents - Tương tác với các dịch vụ từ bên ngoài. 
  Đối với 3-Layer, yêu cầu được xử lý tuần tự qua các layer. Đầu tiên User 
giao tiếp với Presentation Layers (GUI) để gửi đi thông tin và yêu cầu. Tại layer 
này, các thông tin sẽ được kiểm tra, nếu OK chúng sẽ được chuyển xuống Business 
Logic Layer (BLL). Tại BLL, các thông tin sẽ được nhào nặn, tính toán theo đúng 
yêu cầu đã gửi, nếu không cần đến Database thì BLL sẽ gửi trả kết quả về GUI, 
ngược lại nó sẽ đẩy dữ liệu (thông tin đã xử lý) xuống Data Access Layer (DAL). 
DAL sẽ thao tác với Database và trả kết quả về cho BLL, BLL kiểm tra và gửi nó 
lên GUI để hiển thị cho người dùng. Một khi gặp lỗi (các trường hợp không đúng 
dữ liệu) thì đang ở layer nào thì quăng lên trên layer cao hơn nó 1 bậc cho tới GUI 
thì sẽ quăng ra cho người dùng biết. Các dữ liệu được trung chuyển giữa các Layer 
thông qua một đối tượng gọi là Data Transfer Object (DTO), đơn giản đây chỉ là 
các Class đại diện cho các đối tượng được lưu trữ trong Database. Tổ chức mô  hình 3 –Layer.      lOMoARcPSD| 37054152
Có rất nhiều cách đặt tên cho các thành phần của 3 lớp như:  • Cách 1: GUI, BUS, DAL 
• Cách 2: GUI, BLL, DAO, DTO 
• Cách 3: Presentation, BLL, DAL  d. 
Thiết kế Phần mềm với Singleton Pattern   
o Singleton là 1 trong 5 design pattern của nhóm Creational Design Pattern. o 
Singleton đảm bảo chỉ duy nhất một thể hiện (instance) được tạo ra và nó sẽ 
cung cấp cho bạn một method để có thể truy xuất được thể hiện duy nhất đó 
mọi lúc mọi nơi trong chương trình. 
o Mục đích sử dụng Singleton Pattern 
• Đảm bảo rằng chỉ có một instance của lớp. 
• Việc quản lý việc truy cập tốt hơn vì chỉ có một thể hiện duy nhất. 
• Có thể quản lý số lượng thể hiện của một lớp trong giớn hạn chỉ định. 
o Implement Singleton Pattern: 
Có rất nhiều cách để implement Singleton Pattern. Nhưng dù cho việc 
implement bằng cách nào đi nữa cũng dựa vào nguyên tắc dưới đây cơ bản  dưới đây: 
• Private constructor để hạn chế truy cập từ class bên ngoài.      lOMoARcPSD| 37054152
• Đặt private static final variable đảm bảo biến chỉ được khởi tạo trong  class. 
• Có một method public static để return instance được khởi tạo ở trên.  e. 
Microsoft Visual Studio 
o Microsoft Visual Studio là một môi trường phát triển tích hợp (IDE) từ 
Microsoft. Nó được sử dụng để phát triển chương trình máy tính cho 
Microsoft Windows, cũng như các trang web, các ứng dụng web và các dịch  vụ web. 
o Visual Studio sử dụng nền tảng phát triển phần mềm của Microsoft như 
Windows API, WindowsForms, Windows Presentation 
Foundation, Windows Store và Microsoft Silverlight. Nó có thể sản xuất cả 
hai ngôn ngữ máy và mã số quản lý. 
o Visual Studio bao g m một trình soạn thảo mã hỗ trợ IntelliSense cũng như 
cải tiến mã ngu n. Trình gỡ lỗi tích hợp hoạt động cả về trình gỡ lỗi mức 
độ mã ngu n và gỡ lỗi mức độ máy. Công cụ tích hợp khác bao g m một 
mẫu thiết kế các hình thức xây dựng giao diện ứng dụng, thiết kế web, thiết 
kế lớp và thiết kế giản đ cơ sở dữ liệu. Nó chấp nhận các plug-in nâng cao 
các chức năng ở hầu hết các cấp bao g m thêm hỗ trợ cho các hệ thống quản 
lý phiên bản (như Subversion) và bổ sung thêm bộ công cụ mới như biên tập 
và thiết kế trực quan cho các miền ngôn ngữ cụ thể hoặc bộ công cụ dành 
cho các khía cạnh khác trong quy trình phát triển phần mềm. o Visual 
Studio không hỗ trợ cho bất kỳ ngôn ngữ lập trình nào về giải pháp hoặc 
công cụ thực chất, thay vào đó nó cho phép cắm chức năng được mã hóa 
như là một VSPackage. Visual Studio hỗ trợ chạy nhiều cá thể của môi 
trường (tất cả đều có VSPackages riêng của mình). Những trường hợp sử      lOMoARcPSD| 37054152
dụng các registry hives khác nhau để lưu trữ trạng thái cấu hình và được 
phân biệt bởi AppID (Application ID). 
2. Xác định yêu cầu  a. 
 Yêu cầu chức năng 
o Hệ thống phải cập nhập, lưu trữ được tất cả các thông tin chi tiết về sinh 
viên, phòng, điện, nước… 
o Cập nhật theo danh mục: Phòng, sinh viên,… 
o Nhập danh sách sinh viên nội trú: Từ ban quản lý, thêm xóa sửa thông tin  sinh viên. 
o Tự động xử lý tính tiền hoá đơn hằng tháng cho từng sinh viên. 
o Cung cấp, tra cứu thông tin sinh viên. 
b. Yêu cầu hệ thống o Hệ thống sử dụng hệ quản trị cơ sở dữ liệu đủ lớn để đáp 
ứng số lượng sinh viên ngày càng tăng. 
o Máy chủ có khả năng tính toán nhanh, chính xác, lưu trữ lâu dài, bảo mật. 
o Hệ thống mạng đáp ứng khả năng truy cập lớn. o Đưa ra các quản lý điện 
nước một cách tự động. o Thông tin có tính đ ng bộ, phân quyền quản lý  chặt chẽ. 
o Bảo mật tốt cho người quản trị hệ thống. 
3. Usecase mô tả chức năng      lOMoARcPSD| 37054152
 Usecase tổng quát    a. 
Usecase Đăng nhập        lOMoARcPSD| 37054152 Tên Usecase  Đăng nhập 
Tác nhân chính 
User (người dùng hệ thống)   
Tài khoản của người dùng đã có thông tin trong hệ 
Tiền điều kiện  thống 
Đảm bảo tối  
Nếu có lỗi thì hệ thống hiện lỗi  thiểu  Kích hoạt 
Người dùng đăng nhập vào hệ thống 
Chuỗi sự kiện chính 
1 .User truy cập giao diện đăng nhập 
2 .User nhập thông tin đăng nhập g m tài khoản và mật khẩu 
3 .User nhấn “Đăng nhập” 
4 .Hệ thống kiểm tra thông tin trong cơ sở dữ liệu 
5 .Hệ thống chuyển hướng giao diện người dùng sau khi đã đăng  nhập thành công.  Ngoại lệ: 
 Người dùng chọn thoát để huỷ đăng nhập 
 Hệ thống xác thực thông tin đăng nhập không đúng và hiện thông  báo. 
 Người dùng nhập lại thông tin đăng nhập.        lOMoARcPSD| 37054152 b. 
Usecase Quản lý sinh viên    Tên Usecase  Thêm sinh viên 
Tác nhân chính  Phòng Quản lý 
Tài khoản đăng nhập vào hệ thống. 
Tiền điều kiện 
Tài khoản có quyền quản lý 
Đảm bảo tối thiểu 
Hệ thống cho phép Phòng quản lý thêm mới sinh  viên. 
Đảm bảo thành công Hiển thị thông báo thành công  Kích hoạt 
Người dùng nhấn nút SAVE trong giao diện 
Chuỗi sự kiện chính 
1 .Truy cập giao diện quản lý sinh viên.  2 .Nhấn  . 
3 .Nhập thông tin sinh viên cần thêm.  4 .Nhấn 
5 .Hệ thống kiểm tra thông tin hợp lệ hay không. 
6 .Hệ thống sẽ lưu thông tin vào cơ sở dữ liệu và trả về thông báo thành  công.  Ngoại lệ   
• Thông tin không thỏa mãn điều kiện.      lOMoARcPSD| 37054152
• Hệ thống thông báo chưa cập nhật thành công và yêu cầu Phòng quản lý  cập nhật lại.  Tên Usecase  Sửa thông tin sinh viên 
Tác nhân chính  Phòng Quản lý 
Tài khoản đăng nhập vào hệ thống. 
Tiền điều kiện 
Tài khoản có quyền quản lý 
Đảm bảo tối thiểu 
Hệ thống cho phép Phòng quản lý sửa đổi thông tin. 
Đảm bảo thành công Hiển thị thông báo thành công  Kích hoạt 
Người dùng nhấn nút SAVE trong giao diện 
Chuỗi sự kiện chính 
1 .Truy cập giao diện quản lý sinh viên.  2 .Nhấn  . 
3 .Chọn sinh viên để sửa/Nhập thông tin sinh viên cần sửa.  4 .Nhấn  .H
5 ệ thống kiểm tra thông tin trả về kết quả bằng thông báo.  Ngoại lệ 
 Thông tin không thỏa mãn điều kiện. 
 Hệ thống thông báo chưa cập nhật thành công và yêu cầu Phòng quản  lý cập nhật lại.    Tên Usecase  Xoá sinh viên 
Tác nhân chính Phòng Quản lý Tiền điều kiện 
Tài khoản đăng nhập vào hệ thống. 
Tài khoản có quyền quản lý      lOMoARcPSD| 37054152
Đảm bảo tối thiểu 
Hệ thống cho phép Phòng quản lý sửa đổi thông tin. 
Đảm bảo thành công Hiển thị thông báo thành công  Kích hoạt 
Người dùng nhấn nút Delete trong giao diện 
Chuỗi sự kiện chính 
1 .Truy cập giao diện quản lý sinh viên. 
2 .Chọn sinh viên cần xóa  3 .Nhấn vào    .H
4 iện Thông báo xác nhận xóa sinh viên.  5 .Nhấn Yes để xóa 
6 .Hệ thống kiểm tra thông tin trả về kết quả bằng thông báo.  Ngoại lệ 
 Thông tin không thỏa mãn điều kiện. 
 Hệ thống thông báo xoá không thành công và yêu cầu Phòng quản lý  thực hiện lại.        lOMoARcPSD| 37054152 c. 
Usecase Quản lý nhân viên  Tên Usecase  Thêm nhân viên 
Tác nhân chính  Quản lý 
Tài khoản đăng nhập vào hệ thống. 
Tiền điều kiện 
Tài khoản có quyền quản lý 
Đảm bảo tối thiểu 
Hệ thống cho phép Quản lý thêm mới nhân viên. 
Đảm bảo thành công 
Hiển thị thông báo thành công  Kích hoạt 
Người dùng nhấn nút SAVE trong giao diện 
Chuỗi sự kiện chính 
1 .Truy cập giao diện quản lý nhân viên.  2 .Nhấn 
3 .Nhập thông tin nhân viên cần thêm.  4 .Nhấn  .H
5 ệ thống kiểm tra thông tin và trả về kết quả bằng thông báo.  Ngoại lệ 
 Thông tin không thỏa mãn điều kiện. 
 Hệ thống thông báo chưa cập nhật thành công và yêu cầu Phòng quản  lý cập nhật lại.        lOMoARcPSD| 37054152 Tên Usecase  Sửa thông tin nhân viên 
Tác nhân chính  Quản lý 
Tài khoản đăng nhập vào hệ thống. 
Tiền điều kiện 
Tài khoản có quyền quản lý 
Đảm bảo tối thiểu 
Hệ thống cho phép Quản lý sửa đổi thông tin. 
Đảm bảo thành công Hiển thị thông báo thành công  Kích hoạt 
Người dùng nhấn nút SAVE trong giao diện 
Chuỗi sự kiện chính 
1 .Truy cập giao diện quản lý nhân viên.  2 .Nhấn  . 
3 .Chọn nhân viên để sửa/Nhập thông tin nhân viên cần sửa.  4 .Nhấn  .H
5 ệ thống kiểm tra thông tin trả về kết quả bằng thông báo.  Ngoại lệ 
 Thông tin không thỏa mãn điều kiện. 
 Hệ thống thông báo chưa cập nhật thành công và yêu cầu Phòng quản  lý cập nhật lại.   
Tên UsecaseXoá nhân viên Tác nhân 
chính Quản lý  Tiền điều kiện 
Tài khoản đăng nhập vào hệ thống.      lOMoARcPSD| 37054152
Tài khoản có quyền quản lý 
Đảm bảo tối thiểu 
Hệ thống cho phép Quản lý sửa đổi thông tin. 
Đảm bảo thành công Hiển thị thông báo thành công  Kích hoạt 
Người dùng nhấn nút Delete trong giao diện 
Chuỗi sự kiện chính 
7 .Truy cập giao diện quản lý nhân viên. 
8 .Chọn nhân viên cần xóa  9 .Nhấn vào   
10 .Hiện Thông báo xác nhận xóa nhân viên.  11 .Nhấn Yes để xóa 
12 .Hệ thống kiểm tra thông tin trả về kết quả bằng thông báo.  Ngoại lệ 
 Thông tin không thỏa mãn điều kiện. 
 Hệ thống thông báo xoá không thành công và yêu cầu Phòng quản lý  thực hiện lại.        lOMoARcPSD| 37054152 d. 
Usecase Phiếu báo cáo    Tên Usecase  Báo cáo 
Tác nhân chính 
Nhân Viên trong Phòng Quản Lý 
Điều kiện trước 
Nhân Viên đăng nhập vào hệ thống 
Nếu có lỗi thì hệ thống hiện thống báo lỗi và quay lại 
Đảm bảo tối thiểu  bước trước  Kích hoạt 
Người dùng nhấn nút APPROVE trong giao diện 
Chuỗi sự kiện chính  1. 
Truy cập giao diện Phiếu báo cáo.  2. 
Nhấn vào để xem thông tin sinh viên cần duyệt.  3.  Nhấn 
 để xác nhận duyệt phiếu.      lOMoARcPSD| 37054152 4. 
Hệ thống sẽ lưu thông tin vào cơ sở dữ liệu và thông báo thành  công.Ngoại lệ     Người dùng nhấn 
 để thoát form duyệt phiếu  Tên Usecase  Duyệt phiếu đăng ký 
Tác nhân chính 
Nhân Viên trong Phòng Quản Lý 
Điều kiện trước 
Nhân Viên đăng nhập vào hệ thống 
Nếu có lỗi thì hệ thống hiện thống báo lỗi và quay lại 
Đảm bảo tối thiểu  bước trước  Kích hoạt 
Người dùng nhấn nút Accept trong giao diện 
Chuỗi sự kiện chính 
1 .Truy cập giao diện Phiếu Báo cáo. 
2 .Chọn phiếu để duyệt.  3 .Nhấn   hoặc nhấn   để duyệt tất cả.  .H
4 ệ thống hiện Thông báo đã duyệt  5 .Nhấn OK  Ngoại lệ 
 Người dùng không thực hiện thao tác duyệt r i thoát ra.        lOMoARcPSD| 37054152 Tên Usecase  Xoá phiếu đăng ký 
Tác nhân chính 
Điều kiện trước 
Nếu có lỗi thì hệ thống hiện thống báo lỗi và quay lại 
Đảm bảo tối thiểu  bước trước  Kích hoạt 
Người dùng nhấn nút Delete trong giao diện 
Chuỗi sự kiện chính 
1 .Truy cập giao diện phiếu báo cáo.  2 .Chọn phiếu cần xóa  3 .Nhấn   hoặc nhấn   để xoá tất cả. 
4 .Hệ thống xuất hiện Thông báo xác nhận xóa phiếu.  5 .Nhấn Yes để xóa 
6 .Hệ thống sẽ lưu thông tin vào cơ sở dữ liệu và thông báo thành công  Ngoại lệ 
 Người dùng không thực hiện thao tác xoá r i thoát ra. 
Nhân Viên trong Phòng Quản Lý 
Nhân Viên đăng nhập vào hệ thống      lOMoARcPSD| 37054152 e. 
Usecase Thống Kê    Tên Usecase  Tìm kiếm sinh viên 
Tác nhân chính 
Nhân Viên trong Phòng Quản Lý 
Điều kiện trước 
Nhân Viên đăng nhập vào hệ thống 
Đảm bảo tối thiểu 
Hệ thống thông báo lỗi và quay lại bước trước 
Kích hoạt Người dùng nhấn nút Tra cứu trong giao diện Chuỗi sự kiện  chính 
1. Truy cập giao diện thống kê. 
2. Nhập tên sinh viên cần tìm.  3. Nhấn 
4. Hệ thống kiểm tra thông tin và hiển thị sinh viên cần tìm  Ngoại lệ 
• Thông tin tra cứu không thỏa mãn điều kiện. 
• Hệ thống thông báo lỗi và yêu cầu Phòng quản lý thực hiện lại.  Tên Usecase  Mở/Khoá tài khoản 
Tác nhân chính 
Nhân Viên trong Phòng Quản Lý 
Điều kiện trước 
Nhân Viên đăng nhập vào hệ thống 
Đảm bảo tối thiểu 
Hệ thống thông báo lỗi và quay lại bước trước  Kích hoạt 
Người dùng nhấn nút Khoá tài khoản hoặc nhấn nút      lOMoARcPSD| 37054152
Mở khoá tài khoản trong giao diện 
Chuỗi sự kiện chính 
1. Truy cập giao diện thống kê. 
2. Chọn sinh viên để khóa/mở  3. Nhấn   hoặc 
4. Hệ thống kiểm tra thông và trả về kết quả  Tên Usecase  Kỷ luật sinh viên 
Tác nhân chính 
Nhân Viên trong Phòng Quản Lý 
Điều kiện trước 
Nhân Viên đăng nhập vào hệ thống  Sinh viên nợ tiền phòng 
Đảm bảo tối thiểu  Kích hoạt 
Chuỗi sự kiện chính 
1 .Truy cập giao diện quản lý thống kê. 
2 .Chọn sinh viên cần kỷ luật  3 .Nhấn   
4 .Hiện Thông báo đã tạo phiếu kỷ luật.  5 .Nhấn OK 
6 .Hệ thống kiểm tra thông và trả về thông báo kết quả 
Hệ thống thông báo lỗi và quay lại bước trước Người 
dùng nhấn nút Kỷ luật trong giao diện      lOMoARcPSD| 37054152 f. 
Usecase Quản lý Phòng  Tên Usecase  Quản Lý Phòng 
Tác nhân chính 
Nhân Viên trong Phòng Quản Lý 
Điều kiện trước 
Nhân Viên có tài khoản để đăng nhập vào hệ thống 
Đảm bảo tối thiểu 
Hệ thống cho phép Nhân Viên xem thông tín phòng 
Điều kiện sau 
Sinh viên được duyệt đăng ký 
Chuỗi sự kiện chính 
1 .Nhân viên tìm kiếm phòng muốn xem chi tiết sinh viên trong phòng 
2 .Nhân viên chọn Quản lý phòng trên giao diện chính của hệ thống. 
3 .Hệ thống hiển thị form Quản lý phòng        lOMoARcPSD| 37054152
4. Nhân viên tìm kiếm phòng muốn xem chi tiết sinh viên trong phòng Ngoại  lệ: 
 Hệ Thống thông báo khi chưa đủ điều kiện và yêu cầu Phòng Quản lý cập  nhật lại.  g. 
Usecase Đăng ký phòng và Cập nhật thông tin sinh viên  Tên Usecase  Đăng ký mới 
Tác nhân chính 
Sinh viên, Nhân viên phòng quản lý 
Điều kiện trước 
Sinh viên điền form đăng ký ở. 
Điều kiện tối thiểu 
Hệ thống cho phép nhân viên xét duyệt phiếu. 
Điều kiện sau 
Đăng ký phòng thành công, nhận thông báo và thông 
tin về phòng của mình đã đăng ký qua Form. 
Chuỗi sự kiện chính: 
1 .Nhân viên chọn Phiếu báo cáo sau khi đăng nhập vào hệ thống. 
2 .Sau đó chọn Phiếu đăng ký ở. 
3 .Nhân viên tìm kiếm Phiếu đăng ký của sinh viên có trạng thái chưa  duyệt. 
4 .Nhân viên chọn Duyệt/Xóa Phiếu đăng ký hoặc xem thông tín sinh viên 
sau đó sẽ chọn chấp nhận/từ chối.        lOMoARcPSD| 37054152
5. Hệ Thống kiểm tra điều kiện và thông báo “đã duyệt” hoặc “đã xóa”. sinh 
viên đã được duyệt phiếu đăng ký ở sẽ được sắp xếp vào phòng còn trống  gần nhất. 
Usecase Đăng ký Gia Hạn  Tên Usecase  Phiếu Gia Hạn 
Tác nhân chính 
Sinh viên, Nhân viên phòng quản lý 
Điều kiện trước 
Sinh viên đăng ký gia hạn hợp đ ng. 
Điều kiện tối thiểu 
Hệ thống thông báo nếu lúc đăng ký bị lỗi. 
Điều kiện sau 
Đăng ký gia hạn thành công. 
Chuỗi sự kiện chính: 
1. Nhân viên chọn Phiếu báo cáo sau khi đăng nhập vào hệ thống. 
2. Sau đó chọn Phiếu gia hạn. 
3. Nhân viên tìm kiếm Phiếu đăng ký của sinh viên có trạng thái chưaduyệt. 
4. Nhân viên chọn Duyệt/Xóa Phiếu gia hạn. 
5. Hệ thống thông báo “đã duyệt” hoặc “đã xóa”. 
Usecase Quản lý thông tin sinh viên  Tên Usecase 
Quản lý thông tin cá nhân Tác nhân 
chính Sinh viên 
Điều kiện trước 
Sinh viên có tài khoản để đăng nhập vào hệ thống 
Điều kiện tối thiểu 
Hệ thống cho phép Sinh viên cập nhật thông  tin. 
Điều kiện sau 
Sinh viên cập nhật thành công. 
Chuỗi sự kiện chính:      lOMoARcPSD| 37054152
1. Sinh viên chọn Thông tin cá nhân sau khi đăng nhập vào hệ thống. 
2. Hệ thống hiển thị form Thông tin cá nhân. 
3. Sinh viên cập nhật thông tin cá nhân hoặc đăng ký gia hạn. 
4. Hệ Thống kiểm tra điều kiện và hiển thị thông báo cập nhật thông 
tinthành công hoặc đăng ký gia hạn thành công.  h. 
Usecase Sinh viên thanh toán hóa đơn    Tên Usecase 
Thanh toán hoá đơn Tác nhân 
chính Sinh viên 
Điều kiện trước 
Sinh viên có tài khoản để đăng nhập vào hệ thống 
Điều kiện tối thiểu 
Hệ thống cho phép Sinh viên đóng tiền. 
Điều kiện sau 
Sinh viên đóng tiền thành công. 
Chuỗi sự kiện chính: 
1. Nhân viên chọn Hóa đơn sau khi đăng nhập vào hệ thống. 
2. Sau đó chọn Hóa đơn. 
3. Hệ thống hiển thị form Hóa đơn. 
4. Sinh viên tìm kiếm hóa đơn muốn đóng tiền (tiền phòng hoặc tiềnphạt).      lOMoARcPSD| 37054152 5. Tương ứng nhấn   hoặc 
 để thực hiện đóng tiền. 
6. Hệ Thống kiểm tra điều kiện và hiển thị thông báo đóng tiền phòng/  tiềnphạt thành công. 
4. Các biểu đồ tuần tự  a. 
Biều đồ tuần tự Thêm hợp đồng   
Hình 1.4.1 Biều đ tuần tự Thêm hợp đ ng  b. 
Biểu đồ tuần tự gia hạn hợp đồng      lOMoARcPSD| 37054152  
Hình 1.4.2 Biểu đ tuần tự gia hạn hợp đ ng  c. 
Biểu đồ tuần tự Thêm thông tin sinh viên   
Hình 1.4.3 Biểu đ tuần tự Thêm thông tin sinh viên      lOMoARcPSD| 37054152 d. 
Biểu đồ tuần tự sửa thông tin sinh viên   
Hình 1.4.4 Biểu đ tuần tự Sửa thông tin sinh viên  e. 
Biểu đồ tuần tự Thêm hóa đơn        lOMoARcPSD| 37054152
Hình 1.4.5 Biểu đ tuần tự Thêm hóa đơn        lOMoARcPSD| 37054152 5. Mô hình hóa 
a. Biểu đồ phân rã chức năng (BFD)   
Hình 1.1: Sơ đồ phân rã chức năng(BFD)      lOMoARcPSD| 37054152
b. Biểu đồ dòng dữ liệu (DFD)   
Hình 1.2 Biểu đồ ngữ cảnh   
Hình 1.3 Tiến trình “Quản lý sinh viên”      lOMoARcPSD| 37054152  
Hình 1.4 Tiến trình “Quản lý phòng”        lOMoARcPSD| 37054152
CHƯƠNG II: CÀI ĐẶT TRONG SQL SERVER 
 (View, Store Procedure, Function, Trigger)    2.1 
Thiết kế cơ sở dữ liệu 
Để nắm được yêu cầu của bài toán, chúng ta cần hiểu dõ về cơ sở dữ liệu mà 
bài toán cần. Ở đây em xin đưa ra những thông tin mà phần mềm quản lý KTX  thực hiện như sau: 
a. Bảng Thông tin Sinh viên    b. Bảng Khu      lOMoARcPSD| 37054152  
c. Bảng Tài khoản Nhân viên   
d. Bảng Tài khoản Sinh viên   
e. Bảng Cán bộ Quản lý      lOMoARcPSD| 37054152  
f. Bảng Quản lý Hoá đơn   
g. Bảng Hợp đồng        lOMoARcPSD| 37054152 h. Bảng Phiếu   
i. Bảng Phiếu đăng ký ở KTX   
j. Bảng Phiếu Gia hạn hợp đồng      lOMoARcPSD| 37054152  
k. Bảng Phiếu kỷ luật    l. Bảng Phòng    2.2 
Mô hình mối quan hệ giữa các bảng       lOMoARcPSD| 37054152  
Mối quan hệ thực thể  2.3 
Câu lệnh truy vấn SQL server  Select trên bảng SV 
 Thống kê toàn bộ thông tin sinh viên  Câu lệnh: Select * from SV   Thêm sinh viên 
Câu lệnh: "INSERT INTO SV VALUES('" + MSV + "','" + MKTX + "','" +      lOMoARcPSD| 37054152
H + "','" + T + "','" + CMND + "','" + GT + "','" + NS + "','" + SDT + "','" + QQ + 
"','" + NLHD + "','" + Mphong + "','" + Hinh + "','" + HTGH + "','" + SDTGH + 
"','" + QH + "','" + NN + "')"   Xóa sinh viên 
Câu lệnh: "DELETE FROM SV WHERE MaSV='" + MSV + "'"   Sửa thông tin sinh viên 
Câu lệnh: "UPDATE SV SET MaKTX ='" + MKTX + "',Ho='" + H + 
"',Ten='" + T + "',CMND='" + CMND + "',Gioitinh='" + GT + 
"',Ngaysinh='" + NS + "',SDT='" + SDT + "',Quequan='" + QQ + 
"',Ngaylamhopdong='" + NLHD + "',MaPhong='" + Mphong + "',Hinh='" + 
Hinh + "',Hotengh='" + HTGH + "',Sdtgh='" + SDTGH + "',Quanhe='" + 
QQ + "',Nghenghiep='" + NN + "' where MaSV ='" + MSV + "'"   Thống kê sinh viên 
Câu lệnh: "SELECT COUNT(*) FROM SV "   Tìm kiếm SV 
Câu lệnh: "SELECT * FROM SV WHERE MASV LIKE '%" + MSVTK +  "%'" 
Select trên bảng PHONG 
 Thống kê toàn bộ thông tin phòng 
Câu lệnh: Select * from PHONG   Thêm phòng 
Câu lệnh: "INSERT INTO Phong VALUES('" + MP + "','" + MK + "','" +      lOMoARcPSD| 37054152
TP + "','" + LP + "','" + SNHT + "','" + SNTD + "')"   Xóa phòng 
Câu lệnh: "DELETE FROM Phong WHERE Maphong='" + mp + "'"   Sửa thông tin phòng 
Câu lệnh: "UPDATE Phong SET Makhu='"+ Mk +"',Tenphong ='" + Tp + 
"',Loaiphong='"+Lp+"',Songuoihientai='"+Snht+"',Songuoitoida='"+Sntd+ 
"' where Maphong ='" + Mp + "'"   Tìm kiếm phòng 
Câu lệnh: "select * from Phong WHERE Maphong LIKE '%" + MPTK +  "%'" 
Select trên bảng KHU 
 Hiển thị toàn bộ thông tin của bảng KHU 
Câu lệnh: "Select * from Khu" 
Select trên bảng DIENNUOC 
 Thống kê toàn bộ điện nước 
Câu lệnh: "Select * from Diennuoc" 
 Thêm thông tin điện nước 
Câu lệnh: "INSERT INTO Diennuoc VALUES('" + MP + "','" + TH + "','" 
+ CSDC + "','" + CSDM + "','" + CSNC + "','" + CSNM + "')" 
 Xóa thông tin điện nước 
Câu lệnh: "DELETE FROM Diennuoc WHERE Maphong='" + MP + "'"      lOMoARcPSD| 37054152
 Sửa thông tin điện nước 
Câu lệnh: "UPDATE Diennuoc SET Thang='" + TH + "',CScudien='" + 
CSDC + "',CSmoidien='" + CSDM + "',CScunuoc='" + CSNC + 
"',CSmoinuoc='" + CSNM + "'where Maphong ='" + MP + "'" 
Select trên bảng DANGNHAP   Kiểm tra khi đăng nhập 
Câu lệnh: "Select * From Taikhoan where username='" + user + "' and 
Pass='" + Pass + "' and Quyen='Admin'"        lOMoARcPSD| 37054152
CHƯƠNG III: THIẾT KẾ VÀ CÀI ĐẶT CHƯƠNG TRÌNH 
3.1 Thiết kế phần mềm  
3.1.1 Form đăng nhập  
Form đăng nhập chính là sự phân quyền khi đăng nhập hệ thống, sẽ đảm bảo được 
tính bảo mật, tính an toàn của hệ thống. Bên cạnh đó còn hỗ trợ sự kiểm soát và hỗ 
trợ đầy đủ các chức năng như đã phân quyền.   
3.1.2 Form trang chủ của admin      lOMoARcPSD| 37054152  
a. Form Quản lý phòng   
b. Form Quản lý Sinh viên      lOMoARcPSD| 37054152  
c. Form Quản lý hoá đơn    
d. Form Phiếu báo cáo      lOMoARcPSD| 37054152  
e. Form Quản lý Nhân viên          lOMoARcPSD| 37054152 f. Form Thống kê   
g. Form Đổi Mật khẩu   
3.1.3 Form Trang chủ của Sinh viên      lOMoARcPSD| 37054152  
a. Form Quản lý phòng   
b. Form Tra cứu hoá đơn      lOMoARcPSD| 37054152  
c. Form Đổi Mật khẩu    3.2 
Cài đặt phần mềm      lOMoARcPSD| 37054152
Phần mềm “Quản lý KTX sinh viên” được xây dựng: 
 Dựa trên Visual Studio 2019. 
 Sử dụng Ngôn ngữ lập trình C# Thiết kế dựa trên  Windowns Forms. 
 Chương trình được viết theo mô hình 3 lớp. 
 Sử dụng Kiểu thiết kế Singleton Pattern.  KẾT LUẬN   Ưu điểm:   
Rút ngắn được thời gian làm h sơ cho sinh viên.   
Sử dụng máy tính vào các công việc tìm kiếm các thông tin chi tiết về lý lịch 
thông tin của sinh viên sẽ dễ dàng nhanh chóng và thuận tiện. Việc lưu trữ sẽ 
đơn giản, không cần phải có nơi lưu trữ lớn, các thông tin về sinh viên sẽ  chính xác và nhanh chóng.   
Việc thống kê sinh viên, thống kê phòng theo năm thuận tiện, nhanh chóng.   
Với chức năng xử lý hệ thống mới sẽ rút ngắn công việc của ban quản lý và 
giảm số lượng nhân viên quản lý, tránh tình trạng dư thừa. 
 Nhược điểm   
Kinh phí để xây dựng một hệ thống quản lý thiết bị mới cho ban quản 
lý bao g m máy móc, phần mềm... rất tốn kém.   
Do thời gian làm phần mềm và báo cáo chỉ gói gọn trong thời gian 
ngắn nên bài báo cáo này vẫn chưa được hoàn chỉnh, một số trường 
hợp khác trong quản lý sinh viên KTX vẫn chưa có thể giải quyết hết.      lOMoARcPSD| 37054152
 Hướng phát triển và mở rộng đề tài 
Để phần mềm quản lý KTX góp phần quan trọng trong việc quản lý hệ thống 
KTX của sinh viên Khánh Hòa, giảm bớt sự c ng kềnh của sổ sách… thì việc mở 
rộng đề tài, xem xét nhiều khía cạnh hơn nữa để phần mềm được hoàn thiện hơn 
là rất cần thiết. Trong đề tài này em chỉ mới có phân tích và xây dựng dữ liệu SQL, 
phần mềm đơn giản chưa có tính phức tạp. Vì vậy, hướng phát triển của đề tài này  là: 
 Các mối ràng buộc quan hệ giữa các table của cơ sở cần được chặt chẽ hơn. 
 Cho phép ban quản lý từ xa. 
 Quản lý thông tin sinh viên một cách chi tiết hơn như: thêm tôn giáo, ngày 
vào đoàn, ngày vào đảng, …. 
 Cập nhật năng lực học của sinh viên theo từng kỳ 
 Lập hóa đơn điện nước cho từng phòng. 
 Thêm bảng thiết bị của phòng, tình trạng phòng có hư hỏng thiết bị hay  không. 
 Phân chia sinh viên theo các diện hộ nghèo để được hỗ trợ.        lOMoARcPSD| 37054152
TÀI LIỆU THAM KHẢO 
[1] Đỗ Thị Minh Phụng. Hệ quản trị cơ sở dữ liệu SQL Server. Nhà xuất bản Đại 
học quốc gia TP H Chí Minh, 2012. 
[2] Dương Quang Thiện. C# và .NET Framework. Nhà xuất bản tổng hợp Hà Nội,  2010. 
[3] Trịnh Minh Tuấn. Thiết kế cơ sở dữ liệu. Nhà xuất bản Đại học quốc gia TP  H Chí Minh, 2012. 
[4] Rob Miles. C# Programming. Department of Computer Science University of  Hull, July 2010. 
[5] Trang web: http://vi.wikipedia.org//wiki/Cthăng 
[6] Trang web: https://vi.wikipedia.org/wiki/Microsoft_Visual_Studio     
