宿舍管理系統c#_第1頁
宿舍管理系統c#_第2頁
宿舍管理系統c#_第3頁
宿舍管理系統c#_第4頁
宿舍管理系統c#_第5頁
已閱讀5頁,還剩12頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

宿舍管理系統c#?宿舍管理系統是一個用于高?;蚱渌w住宿環境下,對宿舍信息、學生住宿信息進行有效管理的軟件系統。通過該系統,能夠方便快捷地實現宿舍分配、學生入住與退宿管理、宿舍信息查詢與統計等功能,提高宿舍管理的工作效率和管理水平,為學生提供更好的住宿服務。本系統采用C#語言進行開發,使用WindowsForms作為用戶界面設計框架,數據庫選用SQLServer來存儲系統所需的數據。##二、功能需求分析(一)宿舍信息管理1.宿舍基本信息錄入-能夠錄入宿舍編號、宿舍地址、宿舍類型(如四人間、六人間等)、可容納人數等信息。-對錄入的信息進行合法性檢查,如宿舍編號不能重復,人數必須為正整數等。2.宿舍信息修改-可以根據宿舍編號等條件查詢到特定宿舍信息,然后對其進行修改操作。-修改后的信息同樣要進行合法性驗證。3.宿舍信息刪除-允許刪除已存在的宿舍信息,但要確保該宿舍沒有學生居住,否則給出提示。(二)學生住宿信息管理1.學生入住登記-輸入學生學號、姓名、性別、專業等基本信息。-根據宿舍情況進行合理的宿舍分配,優先分配有空床位的宿舍。-記錄學生入住時間,生成入住記錄。2.學生退宿管理-通過學號或姓名查詢到學生住宿信息,進行退宿操作。-更新學生住宿狀態為已退宿,同時記錄退宿時間。3.學生住宿信息查詢-可以按學號、姓名、宿舍編號等條件查詢學生住宿情況,包括入住時間、退宿時間等詳細信息。(三)系統統計功能1.宿舍入住情況統計-統計每個宿舍的入住人數、空置床位等信息。-生成宿舍入住情況報表,可按宿舍類型、宿舍樓等維度進行分類統計。2.學生住宿時間統計-計算每個學生的在校住宿時長。-可以按專業、年級等條件統計學生住宿時間分布情況。(四)系統用戶管理1.用戶注冊-新用戶輸入用戶名、密碼、聯系方式等信息進行注冊。-對輸入的信息進行格式校驗,如密碼強度要求等。2.用戶登錄-已注冊用戶輸入用戶名和密碼進行登錄驗證。-登錄成功后進入系統主界面,不同權限用戶看到不同功能菜單。3.用戶權限管理-分為管理員和普通用戶兩種權限。-管理員可以進行所有系統功能操作,包括用戶管理、數據備份與恢復等。-普通用戶只能進行學生住宿信息的查詢和基本的入住、退宿操作。##三、數據庫設計(一)數據庫E-R圖1.宿舍表(Dormitory)-宿舍編號(DormitoryID):主鍵,唯一標識每個宿舍。-宿舍地址(Address):宿舍所在位置。-宿舍類型(Type):如四人間、六人間等。-可容納人數(Capacity):宿舍最多可住人數。2.學生表(Student)-學號(StudentID):主鍵,唯一標識每個學生。-姓名(Name):學生姓名。-性別(Gender):學生性別。-專業(Major):學生所在專業。3.住宿記錄表(AmodationRecord)-記錄編號(RecordID):主鍵。-學生學號(StudentID):外鍵,關聯學生表。-宿舍編號(DormitoryID):外鍵,關聯宿舍表。-入住時間(CheckInTime):學生入住宿舍的時間。-退宿時間(CheckOutTime):學生退宿宿舍的時間(可為空,代表未退宿)。4.用戶表(User)-用戶ID(UserID):主鍵。-用戶名(Username):用戶登錄名。-密碼(Password):用戶登錄密碼。-聯系方式(Contact):用戶聯系電話。-用戶類型(UserType):0代表管理員,1代表普通用戶。(二)數據庫表結構定義1.宿舍表(Dormitory)```sqlCREATETABLEDormitory(DormitoryIDINTPRIMARYKEYIDENTITY(1,1),AddressNVARCHAR(100)NOTNULL,TypeNVARCHAR(20)NOTNULL,CapacityINTNOTNULL);```2.學生表(Student)```sqlCREATETABLEStudent(StudentIDNVARCHAR(20)PRIMARYKEY,NameNVARCHAR(50)NOTNULL,GenderNVARCHAR(10)NOTNULL,MajorNVARCHAR(100)NOTNULL);```3.住宿記錄表(AmodationRecord)```sqlCREATETABLEAmodationRecord(RecordIDINTPRIMARYKEYIDENTITY(1,1),StudentIDNVARCHAR(20)FOREIGNKEYREFERENCESStudent(StudentID),DormitoryIDINTFOREIGNKEYREFERENCESDormitory(DormitoryID),CheckInTimeDATETIMENOTNULL,CheckOutTimeDATETIME);```4.用戶表(User)```sqlCREATETABLEUser(UserIDINTPRIMARYKEYIDENTITY(1,1),UsernameNVARCHAR(50)NOTNULLUNIQUE,PasswordNVARCHAR(50)NOTNULL,ContactNVARCHAR(20),UserTypeINTNOTNULL);```##四、系統架構設計(一)分層架構1.表示層(PresentationLayer)-采用WindowsForms設計用戶界面,包括宿舍信息管理界面、學生住宿信息管理界面、系統統計界面、用戶管理界面等。-負責與用戶進行交互,接收用戶輸入的數據,并將處理結果展示給用戶。2.業務邏輯層(BusinessLogicLayer)-包含各個功能模塊的業務邏輯處理類,如宿舍信息管理邏輯、學生住宿信息管理邏輯、系統統計邏輯、用戶管理邏輯等。-對表示層傳來的數據進行合法性校驗和業務規則處理,調用數據訪問層獲取或存儲數據。3.數據訪問層(DataAccessLayer)-實現與數據庫的連接和數據操作,如插入、查詢、更新、刪除等。-使用ADO.NET技術與SQLServer數據庫進行交互,封裝數據庫操作細節。(二)模塊劃分1.宿舍信息管理模塊-負責宿舍基本信息的錄入、修改、刪除操作,包含相應的業務邏輯和數據訪問代碼。2.學生住宿信息管理模塊-處理學生入住登記、退宿管理、住宿信息查詢等功能,同樣有對應的業務邏輯和數據訪問實現。3.系統統計模塊-實現宿舍入住情況統計和學生住宿時間統計功能,通過對數據庫數據的處理和計算生成統計報表。4.用戶管理模塊-管理用戶注冊、登錄和權限設置,確保系統安全并提供不同用戶角色的功能訪問控制。##五、詳細設計(一)宿舍信息管理模塊詳細設計1.宿舍信息錄入界面設計-設計一個WindowsForms界面,包含宿舍編號、地址、類型、可容納人數等文本框,以及"保存"按鈕。-在"保存"按鈕的Click事件中,獲取文本框中的值,進行合法性校驗(如宿舍編號是否重復,人數是否為正整數等)。如果校驗通過,調用業務邏輯層的方法將數據插入到數據庫的宿舍表中。2.宿舍信息修改界面設計-提供一個查詢界面,通過輸入宿舍編號等條件查詢到要修改的宿舍信息,并顯示在界面上。-對顯示的信息進行文本框綁定,用戶修改后點擊"修改"按鈕。在按鈕Click事件中,獲取修改后的值,進行合法性校驗,然后調用業務邏輯層的方法更新數據庫中的宿舍表。3.宿舍信息刪除界面設計-同樣先設計查詢界面,根據宿舍編號查詢到要刪除的宿舍信息。-顯示宿舍信息并提供"刪除"按鈕,在按鈕Click事件中,調用業務邏輯層方法檢查該宿舍是否有學生居住。如果沒有學生居住,調用數據訪問層方法刪除數據庫中的宿舍記錄;否則給出提示。(二)學生住宿信息管理模塊詳細設計1.學生入住登記界面設計-界面包含學生學號、姓名、性別、專業等文本框,以及宿舍選擇下拉框(可通過業務邏輯層獲取所有可用宿舍信息填充)和"入住"按鈕。-在"入住"按鈕Click事件中,獲取文本框和下拉框的值,進行合法性校驗(如學號是否符合格式等)。如果校驗通過,調用業務邏輯層方法進行宿舍分配(優先分配有空床位的宿舍),然后將學生入住信息插入到住宿記錄表和更新相關宿舍的入住人數信息。2.學生退宿管理界面設計-設計查詢界面,通過學號或姓名查詢到學生住宿信息并顯示。-提供"退宿"按鈕,在按鈕Click事件中,調用業務邏輯層方法更新學生住宿記錄的退宿時間,同時更新相關宿舍的入住人數信息。3.學生住宿信息查詢界面設計-提供多個查詢條件輸入框,如學號、姓名、宿舍編號等。-點擊"查詢"按鈕,在按鈕Click事件中,根據輸入條件調用業務邏輯層方法從數據庫中查詢學生住宿信息,并將結果顯示在DataGridView控件中。(三)系統統計功能模塊詳細設計1.宿舍入住情況統計實現-業務邏輯層方法通過查詢住宿記錄表,按宿舍編號進行分組統計入住人數。-對于每個宿舍,計算空置床位數量(可容納人數-入住人數)。-將統計結果返回給表示層,通過DataGridView或報表控件展示宿舍入住情況報表,報表可按宿舍類型、宿舍樓等維度進行進一步分類統計(通過在業務邏輯層添加相應的分組條件實現)。2.學生住宿時間統計實現-業務邏輯層方法根據住宿記錄表,按學生學號進行分組計算每個學生的住宿時長(退宿時間-入住時間)。-將統計結果按專業、年級等條件進行分類匯總(通過在業務邏輯層添加分組和匯總邏輯實現)。-表示層獲取統計結果并展示學生住宿時間分布情況報表。(四)用戶管理模塊詳細設計1.用戶注冊界面設計-界面包含用戶名、密碼、確認密碼、聯系方式等文本框,以及"注冊"按鈕。-在"注冊"按鈕Click事件中,獲取文本框的值,進行格式校驗(如密碼強度要求,用戶名是否唯一等)。如果校驗通過,調用業務邏輯層方法將用戶信息插入到數據庫的用戶表中。2.用戶登錄界面設計-包含用戶名和密碼文本框以及"登錄"按鈕。-在"登錄"按鈕Click事件中,獲取輸入的用戶名和密碼,調用業務邏輯層方法進行驗證。如果驗證成功,根據用戶類型設置相應的權限,進入系統主界面;否則給出錯誤提示。3.用戶權限管理實現-業務邏輯層在用戶登錄驗證成功后,獲取用戶類型。-根據用戶類型設置不同的功能菜單可見性。例如,管理員用戶可以看到所有功能菜單,普通用戶只能看到學生住宿信息查詢、入住、退宿等相關菜單。在系統主界面加載時,通過代碼動態控制菜單的顯示與隱藏。##六、系統實現(一)表示層代碼示例(以學生住宿信息查詢界面為例)```csharpusingSystem;usingSystem.Data;usingSystem.Windows.Forms;namespaceDormitoryManagementSystem{publicpartialclassStudentAmodationQueryForm:Form{publicStudentAmodationQueryForm(){InitializeComponent();}privatevoidqueryButton_Click(objectsender,EventArgse){stringstudentID=studentIDTextBox.Text;stringname=nameTextBox.Text;stringdormitoryID=dormitoryIDTextBox.Text;DataTableresultTable=StudentAmodationLogic.QueryStudentAmodation(studentID,name,dormitoryID);amodationDataGridView.DataSource=resultTable;}}}```(二)業務邏輯層代碼示例(以學生住宿信息查詢邏輯為例)```csharpusingSystem.Data;usingDormitoryManagementSystem.DAL;namespaceDormitoryManagementSystem.BLL{publicclassStudentAmodationLogic{publicstaticDataTableQueryStudentAmodation(stringstudentID,stringname,stringdormitoryID){returnStudentAmodationDAO.QueryStudentAmodation(studentID,name,dormitoryID);}}}```(三)數據訪問層代碼示例(以學生住宿信息查詢數據訪問為例)```csharpusingSystem.Data;usingSystem.Data.SqlClient;namespaceDormitoryManagementSystem.DAL{publicclassStudentAmodationDAO{privateconststringConnectionString="your_connection_string";publicstaticDataTableQueryStudentAmodation(stringstudentID,stringname,stringdormitoryID){stringquery="SELECTs.StudentID,s.Name,s.Gender,s.Major,d.DormitoryID,d.Address,d.Type,d.Capacity,ar.CheckInTime,ar.CheckOutTime"+"FROMStudents"+"LEFTJOINAmodationRecordarONs.StudentID=ar.StudentID"+"LEFTJOINDormitorydONar.DormitoryID=d.DormitoryID"+"WHERE1=1";if(!string.IsNullOrEmpty(studentID)){query+="ANDs.StudentID=@StudentID";}if(!string.IsNullOrEmpty(name)){query+="ANDs.Name=@Name";}if(!string.IsNullOrEmpty(dormitoryID)){query+="ANDd.DormitoryID=@DormitoryID";}using(SqlConnectionconnection=newSqlConnection(ConnectionString)){SqlCommandmand=newSqlCommand(query,connection);if(!string.IsNullOrEmpty(studentID)){mand.Parameters.AddWithValue("@StudentID",studentID);}if(!string.IsNullOrEmpty(name)){mand.Parameters.AddWithValue("@Name",name);}if(!string.IsNullOrEmpty(dormitoryID)){mand.Parameters.AddWithValue("@DormitoryID",dormitoryID);}SqlDataAdapteradapter=newSqlDataAdaptermand);DataTabletable=newDataTable();adapter.Fill(table);returntable;}}}}```##七、系統測試(一)功能測試1.宿舍信息管理功能測試-錄入合法的宿舍信息,檢查是否能成功保存到數據庫。-修改宿舍信息,驗證修改后的數據是否正確更新

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論