VC++高校公寓管理系統(tǒng)(論文).doc_第1頁
VC++高校公寓管理系統(tǒng)(論文).doc_第2頁
VC++高校公寓管理系統(tǒng)(論文).doc_第3頁
VC++高校公寓管理系統(tǒng)(論文).doc_第4頁
VC++高校公寓管理系統(tǒng)(論文).doc_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

河南大學2007屆本科畢業(yè)論文高校公寓管理系統(tǒng)開發(fā)development of universitys dormitory management system論文作者姓名:緒冰凡 所在學院:計算機與信息工程學院 所學專業(yè):計算機科學與技術 導師姓名職稱:張連堂(教授) 論文完成時間:2007年5月20日 2007年5月20日河南大學2007屆畢業(yè)論文(設計、創(chuàng)作)開題報告(由學生本人認真填寫)學號03023202姓名緒冰凡導師姓名職稱張連堂(教授)開題時間2006年12月1日課題題目高校公寓管理系統(tǒng)開發(fā)課題來源導師指定 自定 其他來源課題的目的、意義以及和本課題有關的國內外現(xiàn)狀分析:1、目的:通過高校公寓管理系統(tǒng)的開發(fā)對四年所學專業(yè)知識進行實際綜合運用,進一步提高獨立的分析問題,解決問題的能力,為以后的工作奠定基礎。2、意義:引入這個系統(tǒng)后,不僅可以減少管理員的工作量和管理員的數(shù)量以減少在宿舍管理方面的成本,而且可以使公寓的管理更加簡單化,系統(tǒng)化,規(guī)范化,進而推動整個校園的信息化進程。3、現(xiàn)狀:大部分大學的公寓的管理仍然停留在手工登記階段。這樣不僅會帶來管理的混亂,而且由于各種數(shù)據(jù)都保存在紙介質上,既無數(shù)據(jù)的安全性保障也不利于各種查詢操作,而且這些數(shù)據(jù)若進行手工備份需要相當大的人力和物力資源。研究目標、研究內容和準備解決的問題:1、目標:完成一個比較成熟的公寓管理系統(tǒng)的開發(fā)任務。為高等院校公寓的管理自動化提供一個軟件支持。2、內容:數(shù)據(jù)庫的分析和設計;公寓管理系統(tǒng)的需求分析,設計;系統(tǒng)的實現(xiàn)等。3、準備解決的問題:如何使用mfc中的類庫進行程序開發(fā),list control使用方法,如何使用ado進行數(shù)據(jù)庫訪問。擬采取的方法、技術或設計(開發(fā))工具:擬采用visual c+ 6.0作為的開發(fā)工具,用c+作為本系統(tǒng)開發(fā)語言,使用mfc技術實現(xiàn)各個模塊的設計。采用sql server2000作為后臺數(shù)據(jù)庫,使用ado數(shù)據(jù)庫訪問技術進行數(shù)據(jù)庫有關操作。預期成果:1、畢業(yè)設計成果軟件:高校公寓管理系統(tǒng)2、畢業(yè)論文進度計劃:2006.12.1 - 2007.2.1:查找資料、搜集相關素材2007.2.2 - 2007.3.11:完成系統(tǒng)總體框架及數(shù)據(jù)庫部分的設計2007.3.12 - 2007.4.10:完成管理員相關部分實現(xiàn)2007.4.12 - 2007.4.30:完成所有剩余部分的實現(xiàn)2007.5.1 - 2007.5.15:整理資料、撰寫畢業(yè)論文2007.5.16 - 2007.5.25:根據(jù)導師要求,完善畢業(yè)設計和論文指導教師對選題報告的意見:該生選題有一定新意,符合開題要求,同意開題。 指導教師簽名: 2006 年 12月 1日開題報告ii河南大學2007屆畢業(yè)論文(設計、創(chuàng)作)任務書(由學生本人認真填寫)學號03023202姓名緒冰凡導師姓名張連堂任務書起止日期2006年12月8日 至 2007年5月20日論文提要:論文的撰寫應首先對國內高校公寓管理方式的現(xiàn)狀進行簡要分析,并且對用到的開發(fā)工具做簡要介紹,接著應介紹該系統(tǒng)的可行性分析和系統(tǒng)需求分析的分析過程,然后介紹系統(tǒng)結構的設計過程。另外對數(shù)據(jù)庫表的設計應做比較詳盡的闡述。在文章最后應對該系統(tǒng)的實現(xiàn)過程進行詳細的描述。課題任務要求:認真調研高校公寓管理的主要工作流程,熟悉其主要操作,充分做好需求分析,概要設計的內容;依據(jù)數(shù)據(jù)庫設計的原則對數(shù)據(jù)庫進行設計。本課題完成后應能夠實現(xiàn)學校公寓管理的自動化,對于學生信息能夠方便快速地錄入,對于不同的人員可以很好進行相應的管理。通過本系統(tǒng)的實施能夠改變現(xiàn)在較原始的管理方式,最終實現(xiàn)對公寓的簡單化,規(guī)范化,高效化管理。依據(jù)所完成的軟件撰寫論文。主要參考文獻:1 李閩溟、吳繼剛、周學明,visual c+ 6.0數(shù)據(jù)庫系統(tǒng)開發(fā)實例導航,人民郵電出版社,2004年2月2 陳志泊、李冬梅、王春玲,數(shù)據(jù)庫原理,人民郵電出版社,2004年8月3 羅斌,visual c+ 編成技巧,中國水利水電出版社,2005年1月4 齊治昌、譚慶平等編著,軟件工程,高等教育出版社,2005年7月5 richard c.lernecker, tom archer. visual c+ 6 bible, idg books worldwide,inc. 2001年1月6 美tom archer等著. visual c+.net bible. wiley publishing,inc. 2002年10月河南大學2007屆畢業(yè)設計(論文、創(chuàng)作)中期檢查表學院名稱:計算機與信息工程學院題目名稱高校公寓管理系統(tǒng)開發(fā)學號03023202所學專業(yè)計算機科學與技術指導教師姓 名張連堂姓名緒冰凡一、畢業(yè)設計進展情況截止到07年4月10日該生的畢業(yè)設計已經(jīng)完成了如下任務:1、已經(jīng)基本熟悉了mfc的開發(fā)流程以及有關控件的使用;2、完成了的總體框架及數(shù)據(jù)庫的設計;3、完成了管理員相關部分的實現(xiàn)。二、存在問題在已完成的設計中存在以下幾個問題:1、在向list control插入數(shù)據(jù)時有時出現(xiàn)錯誤或異常;2、在對數(shù)據(jù)庫進行插入,刪除操作時有異常發(fā)生,有時甚至導致整個系統(tǒng)的崩潰。三、下一階段的研究方法或設計思路在下一階段,應參考相關書籍或在線查找有關信息認真學習像list control這種控件的使用,具體設計思路如下:1、完善現(xiàn)有功能的實現(xiàn),分別對各種異常捕獲處理;2、實現(xiàn)尚未實現(xiàn)的功能。四、指導教師對學生設計(論文、創(chuàng)作)進展等方面的評語該生在給定的時間內按照要求完成了原計劃的各項任務。希望能進一步完善程序,爭取盡快完成所有任務。 指導教師簽字: 2007 年4 月 10 日此表除第四項外由學生填寫指導教師簽名河南大學2007屆畢業(yè)論文(設計、創(chuàng)作)綜合成績表(一)學院名稱:計算機與信息工程學院學 號03023202姓名緒冰凡專業(yè)計算機科學與技術指導教師張連堂(教授)綜合得分84論文題目高校公寓管理系統(tǒng)開發(fā)指導教師評語及得分指導教師評語能夠較準確的把握系統(tǒng)的要求。學習能力較強,態(tài)度認真,具有較好的分析問題和解決問題的能力,較好的完成了畢業(yè)設計和畢業(yè)論文。評分項目分值指導教師對畢業(yè)論文(設計、創(chuàng)作)評分撰寫開題報告、文獻綜述15調查研究查閱整理資料10學習態(tài)度與規(guī)范要求10數(shù)據(jù)處理、文字表達10論文(設計、創(chuàng)作)質量和創(chuàng)新意識55合計100得分138874682指導教師簽名 2007 年 5 月 20 日評閱教師評語及評分評閱教師評語論文思路清晰,語句流暢,分析問題較全面,對問題有自己的認識和理解。達到本科論文要求。評分項目分值評閱畢業(yè)論文(設計、創(chuàng)作)評分撰寫開題報告、文獻綜述15調查研究查閱整理資料10學習態(tài)度與規(guī)范要求10數(shù)據(jù)處理、文字表達10論文(設計、創(chuàng)作)質量和創(chuàng)新意識55合計100得分127884681評閱教師簽名 2007年5月21日此表由教師填寫河南大學2007屆畢業(yè)論文(設計、創(chuàng)作)綜合成績表(二)學號03023202姓名緒冰凡所在學院計算機與信息工程學院答辯委員會評語及評分答辯委員會評語該生能清晰地講述所作設計內容,能正確地回答問題。答辯委員簽字: 2007年5 月26日評分 項目 分值論文答辯小組評分答辯情況論文質量合計(100)內容表達情況(15)答辯問題情況(25)規(guī)范要求與文字表達(20)論文(設計、創(chuàng)作)質量和創(chuàng)新意識(40)得分1323183286答辯委員會主任簽字: 2007年 5月 26 日畢業(yè)論文(設計、創(chuàng)作)成績綜合評定: 84 分綜合評定等級:良備注:一、論文的質量評定,應包括對論文的語言表達、結構層次、邏輯性理論分析、設計計算、分析和概括能力及在論文中是否有新的見解或創(chuàng)新性成果等做出評價。從論文來看學生掌握本專業(yè)基礎理論和基本技能的程度。二、成績評定采用結構評分法,即由指導教師、評閱教師和答辯委員會分別給分(以百分計),評閱教師得分乘以20%加上指導教師得分乘以20%加上答辯委員會得分乘以60%即綜合成績。評估等級按優(yōu)、良、中、差劃分,優(yōu)90-100分;良76-89分;中60-75分;差60分以下。三、評分由專業(yè)教研室或院組織專門評分小組(不少于5人),根據(jù)指導教師和答辯委員會意見決定每個學生的分數(shù),在有爭議時,應由答辯委員會進行表決。四、畢業(yè)論文答辯工作結束后,各院應于6月20日前向教務處推薦優(yōu)秀論文以匯編成冊,推薦的篇數(shù)為按當年學院畢業(yè)生人數(shù)的1.5%篇。五、各院亦可根據(jù)本專業(yè)的不同情況,制定相應的具有自己特色的內容。須報教務處備案。六、書寫格式要求:1、目錄;2、內容提要須書寫200左右漢字,開題報告(文科除外)的內容要根據(jù)不同專業(yè)的課題任務要求,闡述查閱文獻、文案論證、解題思路、工作步驟等;3、正文(含引言、結論等);4、參考文獻(或資料)河南大學本科生畢業(yè)論文(設計、創(chuàng)作)承諾書論文題目高校公寓管理系統(tǒng)開發(fā)姓 名緒冰凡所學專業(yè)計算機科學與技術學 號03023202完成時間2007年5 月20日指導教師姓名職稱張連堂(教授)承諾內容:1、本畢業(yè)論文(設計、創(chuàng)作)是學生 緒冰凡 在導師張連堂的指導下獨立完成的,沒有抄襲、剽竊他人成果,沒有請人代做,若在畢業(yè)論文(設計、創(chuàng)作)的各種檢查、評比中被發(fā)現(xiàn)有以上行為,愿按學校有關規(guī)定接受處理,并承擔相應的法律責任。2、學校有權保留并向上級有關部門送交本畢業(yè)論文(設計、創(chuàng)作)的復印件和磁盤。備注:學生簽名: 指導教師簽名: 2007年 5 月 20日 2007年 5 月 20日說明:學生畢業(yè)論文(設計、創(chuàng)作)如有保密等要求,請在備注中明確,承諾內容第2條即以備注為準。目 錄摘 要iabstractii第1章 緒論11.1 開發(fā)背景及意義11.2 系統(tǒng)簡介11.3 開發(fā)工具簡介2第2章 系統(tǒng)分析32.1 可行性分析32.1.1 技術可行性32.1.2 經(jīng)濟可行性32.1.3 社會可行性42.2 系統(tǒng)需求分析42.2.1 業(yè)務流程42.2.2 數(shù)據(jù)流5第3章 系統(tǒng)設計與實現(xiàn)73.1 數(shù)據(jù)庫的設計73.1.1 數(shù)據(jù)庫設計準則73.1.2 數(shù)據(jù)庫表的設計73.2 系統(tǒng)設計93.2.1 學生信息管理設計93.2.2 管理員信息管理設計113.2.3 維修信息管理設計113.3 界面設計123.3.1 管理員信息管理界面133.3.2 學生信息管理界面133.3.3 衛(wèi)生管理界面143.3.4 違規(guī)信息管理界面143.4 數(shù)據(jù)庫操作實現(xiàn)153.4.1 ado技術介紹153.4.2 數(shù)據(jù)庫訪問實現(xiàn)163.5 功能實現(xiàn)173.5.1 學生信息添加功能的實現(xiàn)173.5.2 學生信息查詢功能的實現(xiàn)18結論與展望20致 謝21參考文獻22河南大學本科畢業(yè)生學士學位論文摘 要隨著計算機廣泛應用于人們生產(chǎn)生活的各個領域,人們可以將很多事情交給計算機去自動完成。因此,我們可以從繁瑣的事務中解脫出來,只需關心事務的核心實現(xiàn)。本文所介紹的“高校公寓管理系統(tǒng)”旨在為各個高校的公寓管理提供一個現(xiàn)代化的管理工具,方便各高校對學生公寓的管理。本文首先對國內高校公寓管理方式落后的現(xiàn)狀進行簡要分析,在此基礎上總結出本系統(tǒng)的開發(fā)背景和意義,并且對用到的visual c+ 6.0和數(shù)據(jù)庫sql server2000等開發(fā)工具做了簡要介紹;接著詳細說明高校公寓管理系統(tǒng)的可行性分析和系統(tǒng)需求分析的分析過程;然后著重從學生信息管理、管理員信息管理和維修信息管理等幾個功能模塊的設計思路及過程介紹了系統(tǒng)結構的設計過程;另外對數(shù)據(jù)庫表的設計以及系統(tǒng)界面的設計做了比較詳盡的介紹;最后以學生信息管理功能的實現(xiàn)過程以及數(shù)據(jù)庫操作的實現(xiàn)過程為例對高校公寓管理系統(tǒng)的實現(xiàn)過程進行了詳細的描述。關鍵詞 公寓管理,信息管理,動態(tài)數(shù)據(jù)交換abstractwith the region of the computer technology become large, people can do many things by computers. therefore, we can get extrication from many affairs and only care the core realization of the affairs. the aim of “the university dormitory management system” is to provide a modern management method, which is easy for university to manage the students dormitory. this paper first analyzed the internal backward status of dormitory management system, and summarized the background and meanings of development and introduced the development tools briefly such as visual c+ 6.0 and sql server 2000. it particularly talks about the feasibility analysis and the requirement analysis. the design process of system structure is introduced in detail. it focusing on the realization of the student information management, administrator information management and servicing information management. it also mentions the design of database and system interface in brief. at the end of this paper, it introduced the realization of “the university dormitory management system” in student information management function and the operation of the database briefly.keywords dormitory management, information management, dynamic data exchange第 21 頁第1章 緒論目前,不少院校的公寓管理仍停留在較原始的手工階段,這種管理方式相當?shù)托Ф覙O易出錯。高校公寓管理系統(tǒng)的開發(fā),將會使得公寓管理一改以往局面,變得更加簡便快捷。本章主要介紹了該系統(tǒng)開發(fā)的背景和意義,并簡要地介紹了系統(tǒng)的功能,最后對本系統(tǒng)所采用的開發(fā)工具做了簡要介紹。1.1 開發(fā)背景及意義大學是是高新科技的發(fā)源之一。計算機從發(fā)明到現(xiàn)在雖然僅僅才經(jīng)過幾十年的發(fā)展,但它已經(jīng)在各行各業(yè)獲得了廣泛的應用,尤其是在各個企事業(yè)單位的人事和資源管理中起到了中流砥柱的作用,使人們從各種繁瑣的數(shù)據(jù)或統(tǒng)計資料中解脫出來。但是作為高新科技發(fā)源地的大學計算機卻沒有得到充分地利用。宿舍的管理仍然停留在手工登記階段。這樣不僅會帶來管理的混亂,而且由于各種數(shù)據(jù)都保存在紙介質上,既無數(shù)據(jù)的安全性保障也不利于各種查詢操作,而且這些數(shù)據(jù)若進行手工備份需要相當大的人力和物力資源。鑒于以上現(xiàn)象,開發(fā)一個成熟的高校公寓管理系統(tǒng)是一個亟待解決的問題。引入該系統(tǒng)后,不僅可以減少管理人員的工作量和管理人員的數(shù)量以減少在宿舍管理方面的成本,而且可以使公寓的管理更加簡單化,系統(tǒng)化,規(guī)范化,進而推動整個校園的信息化進程。1.2 系統(tǒng)簡介大學公寓管理系統(tǒng)是為了規(guī)范的管理好學生公寓,為學生提供一個更加安全,舒適的學習和生活環(huán)境而開發(fā)的管理系統(tǒng)。該系統(tǒng)的主要功能有:學生信息管理,來訪人員管理,維修事務管理,衛(wèi)生管理,工作人員管理等。1.3 開發(fā)工具簡介(1)visual c+ 6.0是microsoft 迄今為止最全面、最完善的程序開發(fā)工具之一,為了適應各種編程風格,該軟件提供了各種各樣的輔助工具,在發(fā)揮編程能力和提高靈活性方面達到了空前的水平。與以往visual c+ 的各種版本相比較,visual c+ 6.0在編程環(huán)境、程序語言技術等方面做了許多改進,從而使visual c+ 6更加適合專業(yè)程序員快速進行應用程序的開發(fā)。(2)sql server 2000是microsoft公司開發(fā)的關系數(shù)據(jù)可管理系統(tǒng)。該系統(tǒng)不僅繼承了sql server 7.0版本的優(yōu)點,同時又增加了許多更先進的功能,具有使用方便、可伸縮性好以及與相關軟件集成程度高等優(yōu)點。第2章 系統(tǒng)分析一個完整而成熟的解決方案對于系統(tǒng)開發(fā)而言是非常重要的。它不僅僅影響到系統(tǒng)開發(fā)的效率,而且直接影響到系統(tǒng)運行的穩(wěn)定性和可靠性。系統(tǒng)分析是系統(tǒng)開發(fā)之前必須做的準備工作。它主要包含對系統(tǒng)的可行性研究,軟件需求分析等工作。本章主要對高校公寓管理系統(tǒng)分別從技術可行性,經(jīng)濟可行性,社會可行性等方面進行了可行性分析。用業(yè)務流程圖和數(shù)據(jù)流圖對本系統(tǒng)做了需求分析,最后介紹了本系統(tǒng)的數(shù)據(jù)庫分析。2.1 可行性分析進行系統(tǒng)可行性研究是為了用最小的代價在盡可能短的時間內確定該軟件項目是否能夠開發(fā),是否值得開發(fā)。它的任務就是先進行概要的分析和研究,確定系統(tǒng)的規(guī)模和目標,限制條件等,進而抽象出該系統(tǒng)的邏輯模型。根據(jù)該模型來提出解決該問題的若干方法,并研究各個方法的可行性。對各個方法的可行性從一下三個標準來判斷,下面是從這三個方面對該系統(tǒng)的分析。2.1.1 技術可行性本系統(tǒng)所用開發(fā)工具為visual c+6.0數(shù)據(jù)庫為sql server2000,用功能強大且可跨平臺的ado數(shù)據(jù)庫訪問技術訪問數(shù)據(jù)庫。由于本系統(tǒng)主要是進行數(shù)據(jù)庫的查詢、插入、刪除、修改等操作,因此三者的結合完成本系統(tǒng)的開發(fā)完全可行。所以本系統(tǒng)在技術上完全可行。2.1.2 經(jīng)濟可行性本系統(tǒng)所要求的硬件配置非常低,可以在現(xiàn)在的任一臺個人計算機上運行。只需要價格低廉的計算機本系統(tǒng)就能在其上面順利地運行。布署該系統(tǒng)后,由于本系統(tǒng)的操作極其簡便,所以在用戶使用培訓上的花費極少。所以本系統(tǒng)在經(jīng)濟上完全可行。2.1.3 社會可行性考慮到高校公寓管理的現(xiàn)狀,由于本系統(tǒng)完全采用圖形界面,操作極其簡單,對管理員技能和學歷上的要求極低,只要識字就能完全滿足對本系統(tǒng)的操作要求。并且只需對相關人員進行簡單培訓甚至可以不經(jīng)過系統(tǒng)的培訓,他們即可順利使用本系統(tǒng)。2.2 系統(tǒng)需求分析本系統(tǒng)開發(fā)的目標就在于改變現(xiàn)有的管理方式,實現(xiàn)對公寓的簡單化規(guī)范化高效化管理,滿足宿舍管理員對宿舍管理方便化的需求,最終實現(xiàn)公寓管理的自動化。下面將通過業(yè)務流程圖,數(shù)據(jù)流程圖等方法對本系統(tǒng)的需求進行分析。2.2.1 業(yè)務流程業(yè)務流程圖表明了本系統(tǒng)內各個模塊之間的業(yè)務關系,作業(yè)順序和管理信息流動的流程圖,它可以幫助分析人員找出業(yè)務流程中的不合理迂回等。公寓管理系統(tǒng)的需求分析的重點是對公寓管理系統(tǒng)的業(yè)務流程進行描述,通過流程圖來對公寓管理活動進行規(guī)范化說明。如圖2-1。圖2-1 業(yè)務流程圖2.2.2 數(shù)據(jù)流對于本系統(tǒng)而言,在對上述業(yè)務流程圖進行分析的基礎上,我們將系統(tǒng)的所需的各種處理功能和彼此之間的聯(lián)系自頂向下、逐層分解,從而使得能在邏輯上精確地描述出新系統(tǒng)應具有的數(shù)據(jù)加工功能、數(shù)據(jù)輸入、數(shù)據(jù)輸出、數(shù)據(jù)存儲及數(shù)據(jù)來源和去向(外部項)。首先我們要根據(jù)整個系統(tǒng)來劃分系統(tǒng)邊界,確定數(shù)據(jù)的來源和去向,得到系統(tǒng)頂層流程圖,如圖2-2。圖2-2 頂層數(shù)據(jù)流圖根據(jù)頂層流程圖我們對系統(tǒng)的各個功能進行分解細化,并結合用戶需求,得到如圖2-3所示的數(shù)據(jù)流圖。圖2-3 1級數(shù)據(jù)流圖依據(jù)圖2-3可將此系統(tǒng)按功能分為管理員登錄,學生信息管理,衛(wèi)生管理,訪問管理等子功能。管理員登錄后進入系統(tǒng)管理界面,可依據(jù)特定需求選擇相應的功能模塊進行操作。對學生信息管理子功能進行分解細化可得到如圖2-4所示的2級數(shù)據(jù)流圖。在學生信息管理模塊中,管理員可以對學生信息進行添加、修改和刪除操作;在衛(wèi)生管理模塊,管理員可以依據(jù)具體情況添加、修改、刪除清潔員信息,并且可以給清潔工分配相應的衛(wèi)生工作;在訪問管理模塊中,管理員對來訪人員進行登記,包括來訪人的基本信息和他有被訪人的關系等等信息;在維修信息管理模塊中,管理員要對來報修的學生的宿舍號、需要維修的物品進行登記。第3章 系統(tǒng)設計與實現(xiàn)本章首先對數(shù)據(jù)庫的設計與實現(xiàn)做了比較詳細的說明。然后從系統(tǒng)設計的角度介紹了該系統(tǒng)的系統(tǒng)結構設計,以及學生信息管理,管理員信息管理,來訪人員信息管理,衛(wèi)生管理,維修信息管理,違規(guī)信息管理,物品信息管理等幾個模塊的設計與實現(xiàn)過程。明確系統(tǒng)各模塊的功能定義,降低模塊之間的耦合度,提高軟件的可維護性。最后以學生信息管理功能的實現(xiàn)過程以及數(shù)據(jù)庫操作的實現(xiàn)過程為例及使用ado對數(shù)據(jù)庫進行訪問對高校公寓管理系統(tǒng)的實現(xiàn)過程進行了詳細的描述。3.1 數(shù)據(jù)庫的設計數(shù)據(jù)庫設計是數(shù)據(jù)庫應用系統(tǒng)設計與開發(fā)的關鍵性工作。它是根據(jù)用戶需求研制數(shù)據(jù)庫結構的過程。本節(jié)主要說明公寓管理系統(tǒng)的數(shù)據(jù)庫設計準則,以及本系統(tǒng)中將要用到的幾個主要表的介紹。3.1.1 數(shù)據(jù)庫設計準則本數(shù)據(jù)庫是基于關系模型的數(shù)據(jù)庫,關系模型中可以有三類完整性約束:實體完整性、參照完整性和用戶定義的完整性。其中實體完整性和參照完整性是關系模型必須滿足的完整性約束條件。3.1.2 數(shù)據(jù)庫表的設計系統(tǒng)絕大部分功能的實現(xiàn)都和數(shù)據(jù)庫的操作有關,所以數(shù)據(jù)庫表的設計就顯的非常的重要。一個規(guī)范的數(shù)據(jù)庫表設計,不僅可以減少數(shù)據(jù)冗余,還可以提高數(shù)據(jù)庫的運行效率,進而提高整個系統(tǒng)的運行效率。根據(jù)調研的結果,本系統(tǒng)涉及到的幾個實體有學生、管理員、清潔工、訪客等,依據(jù)他們之間的關系可得到如圖3-1所示的e-r圖。由圖3-1可得到如下幾個本系統(tǒng)將要用到的數(shù)據(jù)表。圖3-1 e-r圖表3-1為學生信息表,記錄著學生的基本信息,在公寓管理系統(tǒng)中起著非常重要的作用。表3-1 學生信息字段名稱字段描述類型長度keycn學號varchar8是name姓名varchar10否id身份證varchar18是sex性別char2否age年齡 int4否room所在房間varchar8否rtel宿舍電話varchar16否apr所在院系varchar20否ass輔導員varchar50否tel電話varchar13否remark備注varchar100否operator操作員varchar10否表3-2為管理員信息表,記錄著系統(tǒng)管理員的基本信息。管理員是系統(tǒng)操作者,其主要信息表3-2。表3-2 管理員信息字段名稱字段描述類型長度keyid編號char5是name姓名varchar10否sex性別char2否age年齡int4否tel電話varchar13否addr地址varchar30否bld所在樓號varchar16否ids備注varchar200否operator操作員varchar10否pwd密碼varchar12否表3-3來訪人信息表,記錄來訪人的姓名以及其與某個學生的關系、訪問的時間、操作員的姓名等等。表3-3 來訪人信息字段名稱字段描述類型長度keycn學號char5是visitor姓名varchar10否rls房間號char2否tdate日期int4否remark備注varchar200否operator操作員varchar13否表3-4是維修信息表,記錄著各個房間的物品維修信息。表3-4 維修信息字段名稱字段描述類型長度keycn學號char5是name姓名varchar10否room房間號char2否tdate日期int4否res物品名varchar20否operator操作員varchar13否3.2 系統(tǒng)設計系統(tǒng)設計是繼需求分析之后的工作,它是要把需求分析中所得到的系統(tǒng)邏輯模型逐步實現(xiàn)出來,轉化為物理模型的過程。依據(jù)圖2-3的數(shù)據(jù)流圖可將此系統(tǒng)分為學生信息管理,管理員信息管理,來訪人員信息管理,衛(wèi)生管理,維修信息管理,違規(guī)信息管理,物品信息管理等幾個模塊,他們的關系如圖3-2所示。以下分別介紹系統(tǒng)中的幾個主要功能模塊的設計。3.2.1 學生信息管理設計依據(jù)第2章的分析可知本模塊的主要功能是依據(jù)特定的需求對學生信息的添加、刪除、查詢和修改。其添加過程為:在學生添加信息界面填入必要的信息,提交后,系統(tǒng)查詢數(shù)據(jù)庫,若數(shù)據(jù)庫中有該學生的信息,則彈出對話框提示該生的信息已經(jīng)在數(shù)據(jù)庫中存在,否則把該學生的信息添圖3-2 系統(tǒng)結構圖加到的數(shù)據(jù)庫中,更新數(shù)據(jù)庫。該模塊的設計包括cenrol和cquerystudentinfo兩個類的設計。類cenrol用于學生信息的添加,它的成員函數(shù)主要有onok()提交所輸入的學生信息,并把所有文本框的內容清空;函數(shù)onbutton()也是提交所輸入的學生信息,但為了減少管理員輸入的工作量,考慮到實際情況,并不把所有的編輯框清空,而是保留部分學生可能相同的屬性,比如:性別,院系,輔導員姓名等;函數(shù)dodataexchange(cdataexchange*pdx)的作用是在編輯框與變量之間動態(tài)傳輸數(shù)據(jù),如調用updatedata(true)時將編輯框中的數(shù)據(jù)傳送到與之相應的變量中。調用updatedata(false)時將變量中的數(shù)據(jù)傳送到與之相應的編輯框中。類cquerystudentinfo主要用于學生信息的查詢。主要函數(shù)有:initlist()設置list contrlo控件的各個字段的字段名。oncicklist1(nmhdr *pnm, lresult *plr)用于得到在list control中所選的項目索引并保存在一個類成員變量中。函數(shù)dodataexchange(cdataexchange*pdx)的作用與在類cenrol中的作用相同。函數(shù)onokq()的作用是依據(jù)管理員輸入的查詢條件對數(shù)據(jù)庫進行查詢,若查詢到結果,則把它顯示在控件list control中,否則彈出提示對話框說明查詢失敗的原因。函數(shù)onselectall()的作用是將所有的學生信息都顯示到list control中。3.2.2 管理員信息管理設計依據(jù)第2章的分析可知本模塊的主要功能是依據(jù)特定的需求對管理員信息的添加、刪除、查詢和修改。其添加過程為:在管理員信息添加界面填入必要的信息,提交后,系統(tǒng)查詢數(shù)據(jù)庫,若數(shù)據(jù)庫中有該管理員的信息,則彈出對話框提示該管理員的信息已經(jīng)在數(shù)據(jù)庫中存在,本次操作無效,否則把該管理員的信息添加到的數(shù)據(jù)庫中,更新數(shù)據(jù)庫。該模塊的設計主要包括coperatorenrol和coperatorinfo兩個類的設計。類coperatorenrol用于控制管理員信息添加。它主要有以下幾個成員函數(shù)組成。構造函數(shù)coperatorenrol(cwnd *pparent = null)用于初始化成員變量。函數(shù)dodataexchange(cdataexchange*pdx)的作用與在類cenrol中的作用相同。在添加管理員界面輸入相關信息后,通過“確定”按鈕的消息相應函數(shù)onoko()完成管理員添加的操作。在onoko()函數(shù)中調用外部類的函數(shù)adoexecute(_recordsetptr &adoset, _variant_t &strsql)來完成數(shù)據(jù)庫的訪問,更新操作。類coperatorinfo用于完成管理員信息查詢的有關操作。主要有以下幾個成員函數(shù)組成。initlist()設置list contrlo控件的各個字段的字段名。oncicklist1(nmhdr *pnm, lresult *plr)用于得到在list control中所選的項目索引并保存在一個類成員變量中。函數(shù)onokq()的作用是依據(jù)管理員輸入的查詢條件對數(shù)據(jù)庫進行查詢,若查詢到結果,則把它顯示在控件list control中,否則彈出提示對話框說明查詢失敗的原因。函數(shù)onselectall()的作用是將所有的學生信息都顯示到list control中。通過ondelete()函數(shù)可將選中的管理員信息從數(shù)據(jù)庫中刪除,然后調用函數(shù)oncheck()更新list control列表,使列表中顯示的信息與數(shù)據(jù)庫中的信息一致。3.2.3 維修信息管理設計依據(jù)第2章的分析可知本模塊的主要功能是依據(jù)學生的需求對需要維修的物品如:桌子、凳子、窗戶等信息進行添加、刪除、查詢和修改等操作。其添加過程為:在物品維修登記界面填入必要的信息,提交后,若數(shù)據(jù)庫操作中有異常,則彈出對話框提示相應的異常信息,否則把該條維修信息添加到的數(shù)據(jù)庫中,更新數(shù)據(jù)庫。該模塊的設計主要包括crepairenrolr和crepai兩個類的設計。類crepairenrol主要用于完成維修信息的添加。其中函數(shù)oninitdialog()的作用是在窗口初始化時,通過調用函數(shù)coledatetime類的成員函數(shù)getcurrenttime()獲得系統(tǒng)時間。onok()是把管理員輸入的信息添加的數(shù)據(jù)庫中。類crepair主要用于完成維修信息查詢的有關操作。其函數(shù)主要包括initlist()設置list control控件的各個字段的字段名。oncicklist2(nmhdr *pnm, lresult *plr)用于得到在list control中所選的項目索引并保存在一個類成員變量中。函數(shù)onokc()的作用是依據(jù)管理員輸入的查詢條件對數(shù)據(jù)庫進行查詢,若查詢到結果,則把它顯示在控件list control中,否則彈出提示對話框說明查詢失敗的原因。通過ondelete()函數(shù)可將選中的管理員信息從數(shù)據(jù)庫中刪除。其它幾個模塊的設計的過程與以上幾個基本相同,不再詳細說明。圖3-3 系統(tǒng)管理界面3.3 界面設計本系統(tǒng)的用戶在系統(tǒng)登錄界面輸入管理員編號和密碼后,系統(tǒng)將用戶所輸入的編號進行驗證,若通過用戶驗證,系統(tǒng)將進入系統(tǒng)管理界面。大部分功能打開后將出現(xiàn)如圖3-3所示界面。3.3.1 管理員信息管理界面該界面是系統(tǒng)管理員根據(jù)上級通知和本公寓的實際情況對本公寓內所有工作人員信息進行登記和分配任務,以維持公寓內所有活動的正常進行。該模塊的功能用兩個窗口顯示,管理員添加的窗口如圖3-4所示。圖3-4 管理員添加窗口3.3.2 學生信息管理界面該界面是系統(tǒng)管理員登錄系統(tǒng)后根據(jù)各學院提供的將要入住本公寓或準備搬出本公寓的學生信息對學生信息進行添加,刪除,查詢等操作的界面,以保持數(shù)據(jù)庫中的信息與實際情況相符合。學生信息管理模塊包含學生信息輸入和查詢兩個窗口,下面是學生信息查詢窗口,可以通過學號、姓名、宿舍號進行查詢,也可以查詢所有學生信息。如圖3-5所示。圖3-5 學生信息查詢窗口3.3.3 衛(wèi)生管理界面該界面是根據(jù)實際需求把各幢樓的各個樓層的衛(wèi)生工作分配到特定的清潔人員去完成的操作界面如圖3-6所示。圖3-6 衛(wèi)生管理窗口3.3.4 違規(guī)信息管理界面該界面用于完成對夜不歸宿、使用違章電器或有其他違反公寓規(guī)定的學生進行記錄。輸入必要信息后,則會把查詢的結果顯示在列表中。如果添加信息,則會有一個添加違規(guī)信息的窗口。如圖3-7所示。圖3-7 違規(guī)信息管理窗口3.4 數(shù)據(jù)庫操作實現(xiàn)數(shù)據(jù)庫操作主要是通過使用microsoft的ado技術實現(xiàn)的,本節(jié)主要介紹ado技術的特點,使用ado的步驟以及系統(tǒng)中數(shù)據(jù)庫操作的具體實現(xiàn)。3.4.1 ado技術介紹ado是為microsoft的數(shù)據(jù)訪問接口ole db而設計的,是一個便于使用的應用程序層。ado在關鍵的internet方案中使用最少的網(wǎng)絡流量,并且在前段和數(shù)據(jù)源之間使用最少的層數(shù),所以這些都是為了提供輕量、高性能的接口。使用ado訪問數(shù)據(jù)源的特點有以下幾點。(1)易于使用,ado是高層數(shù)據(jù)庫訪問技術,相對于odbc來說,具有面向對象的特點。(2)可以訪問多種數(shù)據(jù)源,使應用程序具有很好的通用性和靈活性。但是,ado仍然具有高效訪問數(shù)據(jù)源的特點。(3)方便的web應用。ado可以以activex控件的形式出現(xiàn),這就大大方便了web應用程序的編制。(4)技術變成接口豐富。ado支持visual c+、visual basic、visual j+以及vbscript和javascript等腳本語言。在visual c+ 中使用ado,需要在多文件中加入下面幾行代碼:#import c:program filescommon filessystemadomsado15.dll no_namespace rename(eof,endoffile) #include #include #include “icrsint.h”第一行的#import語句告訴編譯器把此指令中的動態(tài)鏈接庫文件引入到程序中,并從庫中抽取出其中的對象的類的信息,并產(chǎn)生出兩個頭文件包含在工程中。其中的no_namespace用來對動態(tài)鏈接庫的名稱域進行隔離。最后的rename,把ado中的eof沖命名,避免和其他地方定義的eof產(chǎn)生沖突。第二,三行引入的頭文件定義了ado 2.0的類和接口標示。第四行引入了ado 2.0數(shù)據(jù)綁定擴展。3.4.2 數(shù)據(jù)庫訪問實現(xiàn)用connection對象來是想和數(shù)據(jù)源的連接。只需聲明一個_connectionptr型的指針,調用它的createinstance方法即可。/ 創(chuàng)建 ado 連接if( failed(:coinitialize(null) ) afxmessagebox(ado init failed); return false;tryadoconn.createinstance(_uuidof(connection); adoconn-open(dsn=dormms;provider=msdasql,sa, adconnectunspecified);/ 捕獲異常catch(_com_error &e)cstring err;err.format(%s, (char*)(e.description() );afxmessagebox(err);catch(.)afxmessagebox(unknown error.);/ 初始化 ado recordsetm_padoset.createinstance(_uuidof(recordset);在以上代碼中,語句:coinitialize(null)是用來初始化ado的com組件;語句adoconn.createinstance(_uuidof(connection)為創(chuàng)建一個數(shù)據(jù)庫連接,其中adoconn是一個_connectionptr類型的指針變量,指向一個連接;adoconn-open(dsn=dormms;provider=msdasql,sa, adconnectunspecified)的含義是打開數(shù)據(jù)庫連接,用于數(shù)據(jù)庫操作。if ( adoset-state = adstateopen) adoset-close();try adoset-open(strsql, adoconn.getinterfaceptr(),adopenstatic, adlockoptimistic, adcmdunknown); return true;catch(_com_error &e) cstring err; err.format(ado error: %s,(char*)e.description(); afxmessagebox(err); return false;以上為函數(shù)adoexecute()的主要功能實現(xiàn)代碼。語句: adoset-open(strsql, adoconn.getinterfaceptr(), adopenstatic, adlockoptimistic, adcmdunknown)的含義是執(zhí)行sql語句strsql,并且把所得結果保存在adoset紀錄集中,用于以后的操作。3.5 功能實現(xiàn)系統(tǒng)分為學生信息管理,管理員信息管理,來訪人員信息管理,衛(wèi)生管理,維修信息管理,違規(guī)信息管理,物品信息管理等幾個功能模塊,由于本文篇幅有限,僅對學生信息管理模塊的實現(xiàn)進行介紹。3.5.1 學生信息添加功能的實現(xiàn)學生信息的添加是用類cenrol實現(xiàn)的下面對該類的實現(xiàn)進行介紹。 使用getparentframe()-setwindowtext(學生信息登記)設置住窗口的標題為“學生信息登記”。void coperatorenrol:dodataexchange(cdataexchange* pdx)cdialog:dodataexchange(pdx);ddx_text(pdx, idc_edit1, m_id); .該函數(shù)的作用是在編輯框與變量之間動態(tài)傳輸數(shù)據(jù)。begin_message_map(coperatorenrol, cdialog)on_bn_clicked(id_oko, onoko)on_bn_clicked(id_cancelo, oncancelo)end_message_map()該宏的作用是把單擊按鈕所產(chǎn)生的消息與該消息的響應函數(shù)關聯(lián)起來,從而產(chǎn)生相應的動作。void coperatorenrol:onoko()updatedata(true); _variant_t strquery;strquery = select * from operators where cn= +m_id+;theapp.adoexecute(theapp.m_padoset, strquery);if ( theapp.m_padoset-getrecordcount() ) afxmessagebox(_t(已經(jīng)存在此學生的記錄!), mb_iconexclamation); return;.strquery = insert operators(cn,name,sex,age,brd,room,rtel,tel,id,apr,ass,remark,operator) values ( +m_cn+, +m_name+, +m_sex+, +m_age+, +m_buildingnum+,+m_roomnum+,+m_rtel+, +m_mobilph+, +m_id+,+m_apt+,+m_ass+,+m_remark+,+theapp.m_scurrentuser+);if ( theapp.adoexecute(theapp.m_pad

溫馨提示

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

評論

0/150

提交評論