學(xué)生宿舍管理系統(tǒng)課程設(shè)計_第1頁
已閱讀1頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  課程設(shè)計任務(wù)書</b></p><p>  題目: 學(xué)生宿舍管理系統(tǒng) </p><p>  學(xué)號: </p><p>  姓名: </p><p>  專業(yè): 計算機(jī)科學(xué)與技術(shù)

2、 </p><p>  課程: delphi程序設(shè)計 </p><p>  指導(dǎo)教師: 職稱: </p><p>  完成時間:2010年12月1日——2010年12月27日</p><p>  課程設(shè)計任務(wù)書及成績評定</p><p><b&g

3、t;  一、摘要</b></p><p>  宿舍管理系統(tǒng)是目前各所高校后勤管理之中的重要部分,如何能科學(xué)有效的開展學(xué)生公寓管理工作,是當(dāng)前高校領(lǐng)導(dǎo)人和后勤管理人員關(guān)心的問題?因此, 公寓管理工作的信息化和科學(xué)化有著十分重要的實踐意義,此次開發(fā)的大公寓管理信息系統(tǒng), 旨在實現(xiàn)對現(xiàn)有的宿舍管理系統(tǒng)中遇到的宿舍信息情況和大量數(shù)據(jù)進(jìn)行數(shù)據(jù)存儲的基礎(chǔ)上,設(shè)計并完成對其宿舍信息的分類?查詢,添加,刪除,修改和打

4、印報表在深入研究的過程中,盡可能實現(xiàn)方便友好的操作界面和數(shù)據(jù)報表?</p><p>  該系統(tǒng)運(yùn)用 DELPHI7技術(shù), 以 Microsoft SQL Server 2005 為后臺數(shù)據(jù)庫, 開發(fā)了一套為高校服務(wù)的公寓管理信息系統(tǒng)。利用該系統(tǒng)大大的加強(qiáng)管理部門的相互溝通能力,提高工作效率,減少不必要的重復(fù)勞動,加速信息的記錄、查閱以及傳播速度,實現(xiàn)人性化管理和溝通服務(wù)管理的一種實用型管理軟件。</p>

5、;<p>  管理信息系統(tǒng)是一個由人和計算機(jī)軟件硬件資源組成的人機(jī)系統(tǒng),能進(jìn)行管理信息的收集、傳遞、加工、保存、維護(hù)和使用,提供信息支持單位的運(yùn)行、管理和決策的功能。在強(qiáng)調(diào)管理、調(diào)信息的現(xiàn)代社會中,管理信息系統(tǒng)變得越來越普及,可以說它是一門新的學(xué)科,跨越了若干個領(lǐng)域,如管理科學(xué)、系統(tǒng)科學(xué)、統(tǒng)計學(xué)以及計算機(jī)科學(xué)等,并在這些學(xué)科的基礎(chǔ)上,形成信息收集和加工的方法,從而形成一個縱橫交織的系統(tǒng)。</p><p&

6、gt;  在傳統(tǒng)的業(yè)務(wù)流程中,數(shù)據(jù)信息附著于業(yè)務(wù)流程之上,這是一種效率很低的數(shù)據(jù)處理方法;實現(xiàn)了辦公自動化之后,雖然很多業(yè)務(wù)數(shù)據(jù)電子化了,但是不借助數(shù)據(jù)庫的幫助,數(shù)據(jù)信息仍然附著于業(yè)務(wù)流程之上,雖然可以以文件等形式將電子化的數(shù)據(jù)存儲,但是數(shù)據(jù)的再利用效率很低,而且也無法從這些無序的數(shù)據(jù)中提取進(jìn)一步的信息;當(dāng)建立了數(shù)據(jù)庫系統(tǒng)之后,數(shù)據(jù)終于脫離業(yè)務(wù)流程而獨(dú)立存在。人們不但可以通過管理信息系統(tǒng)將其儲存于數(shù)據(jù)庫之中,而且還可以對其方便地再利用。

7、</p><p>  隨著社會對人才需求的增加,以及高校的全面擴(kuò)招,在校學(xué)生人數(shù)劇增,這給高校的后勤管理,特別是對學(xué)生公寓的管理帶來很大的壓力。學(xué)生公寓的管理是一項非常煩瑣的工作,但又是高校發(fā)展畢不可少的一部分。在學(xué)生公寓管理工作中,很大一部分是重復(fù)性的勞動,完全可以通過計算機(jī)信息技術(shù)來取代人工進(jìn)行這些工作,從而是管理人員將更多的精力集中在如何提高服務(wù)質(zhì)量方面。學(xué)生公寓管理系統(tǒng)就是為了滿足這個需求而開發(fā)的一個管理

8、信息系統(tǒng)。</p><p><b>  二、目錄</b></p><p>  1. 摘要 ………………………………………… 4</p><p>  2. 目錄 ………………………………………… 5</p><p>  3. 正文 ………………………………………… 6</p><p&g

9、t;  3.1 系統(tǒng)功能設(shè)計 ……………………… 6</p><p>  3.2 數(shù)據(jù)庫設(shè)計 ………………… 7</p><p>  3.3 系統(tǒng)主界面設(shè)計 ………………… 7</p><p>  3.4 系統(tǒng)功能模塊設(shè)計 ………………… 7</p><p>  3.5 其它設(shè)計功能

10、 ………………… 15</p><p>  4. 實驗中出現(xiàn)的問題及解決方法 …… 16</p><p>  5. 結(jié)束語 ……………………………… 16</p><p><b>  三、正文</b></p><p><b>  1.系統(tǒng)功能設(shè)計</b&g

11、t;</p><p>  右圖為查詢管理子模塊:</p><p>  在本系統(tǒng)中,將實現(xiàn)以下功能:</p><p>  學(xué)生住宿信息管理. </p><p><b>  刪除記錄管理.</b></p><p>

12、<b>  學(xué)生綜合信息查詢.</b></p><p><b>  2. 數(shù)據(jù)庫設(shè)計</b></p><p>  在sql server 2005中建立了一個學(xué)生宿舍管理數(shù)據(jù)庫,數(shù)據(jù)表如下所示:</p><p>  用戶信息表(賬戶,密碼,身份)</p><p>  住宿學(xué)生(學(xué)號,姓名,性別,專業(yè)

13、,宿舍號,入住時間)</p><p>  宿舍(宿舍號,宿舍電話)</p><p>  夜歸(學(xué)號,宿舍號,晚歸時間,晚歸原因)</p><p>  離校(學(xué)號,宿舍號,離校時間,返回時間)</p><p>  來訪者(姓名,身份證,來訪時間,離開時間)</p><p><b>  系統(tǒng)主界面設(shè)計 </

14、b></p><p>  包括菜單欄(mainmenu)、狀態(tài)欄(toolbar)、工具欄(statusbar)三大部分,其中還添加了imagelist,timer等組件,進(jìn)行輔助的設(shè)計。</p><p>  4.系統(tǒng)功能模塊設(shè)計</p><p><b>  1)用戶登錄模塊</b></p><p>  用戶登錄窗

15、體如圖所示:</p><p>  各組件的添加省略,下面只給出主要的代碼:</p><p>  “管理員登錄”按鈕代碼:</p><p>  procedure TForm2.Button3Click(Sender: TObject);</p><p><b>  begin</b></p><p&g

16、t;  adoquery1.Close;</p><p>  adoquery1.SQL.Clear;</p><p>  adoquery1.SQL.Add('select * from user_info where user_na='''+uname.Text+''' and user_pwd='''+p

17、word.Text+''' and user_des='''+combobox2.Text+'''');</p><p>  adoquery1.Open;</p><p>  if (uname.Text='') or (pword.Text='') or (combobox2

18、.Text='') then</p><p>  showmessage('輸入的用戶名或密碼不能為空')</p><p>  else if adoquery1.Recordset.RecordCount=0 then</p><p>  showmessage('用戶名或密碼輸入錯誤')</p>&l

19、t;p><b>  else</b></p><p><b>  begin</b></p><p>  form2.FreeOnRelease;</p><p>  form2.Visible:=false;</p><p>  form1.MainMenu1.Items[4].Visibl

20、e:=false;</p><p>  form1.ShowModal;</p><p><b>  end;</b></p><p><b>  end;</b></p><p>  “游客登錄”按鈕代碼:</p><p>  procedure TForm2.ComboB

21、ox2Click(Sender: TObject);</p><p><b>  begin</b></p><p>  if combobox2.Text='游客' then</p><p><b>  begin</b></p><p>  button3.Enabled:=fa

22、lse;</p><p>  button1.Enabled:=true</p><p><b>  end</b></p><p><b>  else</b></p><p><b>  begin</b></p><p>  button1.Ena

23、bled:=false;</p><p>  button3.Enabled:=true;</p><p><b>  end;</b></p><p><b>  end;</b></p><p>  2)添加用戶功能模塊</p><p><b>  用戶管理窗口

24、</b></p><p>  “添加用戶”按鈕代碼:</p><p>  procedure TForm4.Button2Click(Sender: TObject);</p><p><b>  begin</b></p><p>  With ADOQuery1 do</p><

25、;p><b>  begin</b></p><p><b>  Close;</b></p><p>  SQL.Clear;</p><p>  SQL.Add('Insert Into user_info(user_na,user_pwd,user_des)');</p><

26、p>  SQL.Add('Values('''+edit1.Text+''','''+edit2.Text+''','''+combobox1.Text+''') ');</p><p><b>  ExecSQL;</b>&l

27、t;/p><p>  showmessage('添加成功');</p><p><b>  end;</b></p><p><b>  end;</b></p><p><b>  3)管理功能模塊</b></p><p>  下面宿舍信息

28、管理子功能為例,其他管理只給出窗體設(shè)計功能代碼類似。</p><p><b>  宿舍管理</b></p><p>  “插入”按鈕代碼: </p><p>  procedure TForm9.Button2Click(Sender: TObject);</p><p><b>  begin</b&g

29、t;</p><p>  if (edit1.Text='') or (edit2.Text='') then</p><p>  showmessage('不能為空')</p><p><b>  else</b></p><p><b>  begin<

30、/b></p><p>  adotable1.append;</p><p>  ADOTable1.FieldByName('dorm_no').asstring:=vartostr(edit1.Text);</p><p>  ADOTable1.FieldByName('dorm_tel').asstring:=vart

31、ostr(edit2.Text);</p><p>  adotable1.post;</p><p><b>  end</b></p><p><b>  end;</b></p><p>  “顯示所有”按鈕代碼:</p><p>  procedure TForm9.

32、Button6Click(Sender: TObject);</p><p><b>  begin</b></p><p>  adotable1.Filtered:=false;</p><p>  MessageBox(handle,'查詢完畢!','提示',MB_OK or MB_ICONINFORMAT

33、ION);</p><p>  edit1.Text:='';</p><p>  edit2.Text:='';</p><p>  edit3.Text:='';</p><p><b>  end;</b></p><p><b> 

34、 “查找”按鈕代碼:</b></p><p>  procedure TForm9.Button5Click(Sender: TObject);</p><p><b>  begin</b></p><p>  if adotable1.Active then</p><p><b>  begi

35、n</b></p><p>  if not ADOTable1.Locate('dorm_no',Edit3.Text,[loCaseInsensitive, loPartialKey]) then</p><p>  showmessage('對不起,沒有您要查找的記錄!')</p><p><b>  el

36、se</b></p><p><b>  begin</b></p><p>  ADOTable1.Filter:='dorm_no='+QuotedStr(Edit3.Text);</p><p>  ADOTable1.Filtered := True;</p><p><b>

37、;  end</b></p><p><b>  end</b></p><p>  else showmessage('系統(tǒng)錯誤');</p><p><b>  end;</b></p><p><b>  “刪除”按鈕代碼:</b></

38、p><p>  procedure TForm9.Button3Click(Sender: TObject);</p><p><b>  begin</b></p><p>  if messagedlg('確實要刪除嗎?',mtinformation,[mbyes,mbno],0)=mryes then</p>&

39、lt;p>  adotable1.Delete</p><p><b>  else</b></p><p>  edit3.Text:='';</p><p><b>  end;</b></p><p><b>  “返回”按鈕代碼:</b></

40、p><p>  procedure TForm9.Button1Click(Sender: TObject);</p><p><b>  begin</b></p><p>  edit1.Text:='';</p><p>  edit2.Text:='';</p><

41、p>  edit3.Text:='';</p><p>  FreeOnRelease;</p><p>  form9.Visible:=false;</p><p>  form1.Show;</p><p><b>  end;</b></p><p>  來訪者管理子

42、模塊功能與上面的累類似,在此省略介紹。</p><p>  下面是分別是離校學(xué)生管理與夜歸學(xué)生管理兩個子模塊,都采用了DBnavigator組件,設(shè)置較簡單,省了編寫代碼,具體設(shè)置在此不做介紹。</p><p>  下面是學(xué)生信息管理子模塊,與宿舍管理模塊功能類似。</p><p><b>  4)查詢功能模塊 </b></p>

43、<p>  下面是查詢功能模塊,首先是學(xué)生信息查詢,主要同過label組件與edit組件進(jìn)行分類查找,來訪信息查詢與宿舍信息查詢由于數(shù)據(jù)單一,所以只進(jìn)行單方面的查找,離校與夜歸學(xué)生查詢采用了combobox組件與edit組件配合,實現(xiàn)分類查尋,具體代碼設(shè)計如下:</p><p>  第一個“查找”按鈕代碼:</p><p>  procedure TForm10.Button2C

44、lick(Sender: TObject);</p><p><b>  begin</b></p><p>  if adotable1.Active then</p><p><b>  begin</b></p><p>  if not ADOTable1.Locate('s_no&

45、#39;,Edit1.Text,[loCaseInsensitive, loPartialKey]) then</p><p>  showmessage('對不起,沒有您要查找的記錄!')</p><p><b>  else</b></p><p><b>  begin</b></p>

46、<p>  ADOTable1.Filter:='s_no='+QuotedStr(Edit1.Text);</p><p>  ADOTable1.Filtered := True;</p><p><b>  end</b></p><p><b>  end</b></p>&

47、lt;p>  else showmessage('系統(tǒng)錯誤');</p><p><b>  end;</b></p><p>  “顯示所有”按鈕代碼:</p><p>  procedure TForm10.Button5Click(Sender: TObject);</p><p><

48、b>  begin</b></p><p>  adotable1.Filtered:=false;</p><p>  MessageBox(handle,'查詢完畢!','提示',MB_OK or MB_ICONINFORMATION);</p><p>  edit1.Text:='';<

49、/p><p>  edit2.Text:='';</p><p>  edit3.Text:='';</p><p><b>  end;</b></p><p>  以上兩個模塊的功能與第一個類似,在此省略介紹。</p><p><b>  “查找”按鈕代碼

50、:</b></p><p>  procedure TForm15.Button1Click(Sender: TObject);</p><p><b>  begin</b></p><p>  if adotable1.Active=true then</p><p><b>  begin&l

51、t;/b></p><p>  if combobox1.Text='學(xué)號' then</p><p>  if adotable1.Locate('s_no',edit1.Text,[loCaseInsensitive, loPartialKey]) then</p><p><b>  begin</b>

52、;</p><p>  ADOTable1.Filter:='s_no='+QuotedStr(Edit1.Text);</p><p>  ADOTable1.Filtered := True</p><p><b>  end</b></p><p><b>  else</b>

53、</p><p>  showmessage('對不起,沒有您要查找的記錄!');</p><p>  if adotable1.Active=true then</p><p>  if combobox1.Text='姓名' then</p><p>  if adotable1.Locate('s

54、_name',edit1.Text,[loCaseInsensitive, loPartialKey]) then</p><p><b>  begin</b></p><p>  ADOTable1.Filter:='s_name='+QuotedStr(Edit1.Text);</p><p>  ADOTable

55、1.Filtered := True</p><p><b>  end</b></p><p><b>  else</b></p><p>  showmessage('對不起,沒有您要查找的記錄!');</p><p>  if adotable1.Active=true th

56、en</p><p>  if combobox1.Text='宿舍號' then</p><p>  if adotable1.Locate('s_dorm_no',edit1.Text,[loCaseInsensitive, loPartialKey]) then</p><p><b>  begin</b>

57、;</p><p>  ADOTable1.Filter:='s_dorm_no='+QuotedStr(Edit1.Text);</p><p>  ADOTable1.Filtered := True;</p><p><b>  end</b></p><p><b>  else<

58、/b></p><p>  showmessage('對不起,沒有您要查找的記錄!');</p><p><b>  end;</b></p><p><b>  end;</b></p><p>  此模塊設(shè)計與上面的類似,在此省略介紹。</p><p&g

59、t;<b>  5) 報表的設(shè)計</b></p><p>  主要采用Ehlib組件包進(jìn)行開發(fā),只要設(shè)置一些組件的屬性即可,簡單易懂,在此省略具體設(shè)計步驟,設(shè)計圖如上面所示。</p><p><b>  6)其它設(shè)計功能</b></p><p>  采用互斥對象方法避免應(yīng)用程序重復(fù)啟動</p><p&g

60、t;<b>  var</b></p><p>  mutex:THandle;</p><p><b>  begin</b></p><p>  mutex:=createmutex(NIL,TRUE,'form1');</p><p>  if getlasterror<

61、>ERROR_ALREADY_EXISTS then</p><p><b>  begin</b></p><p>  Application.Initialize;</p><p>  Form3:=TForm3.Create(application);</p><p>  Form3.Show;</p&

62、gt;<p>  form3.Update;</p><p>  sleep(100);</p><p>  Application.CreateForm(TForm2, Form2);</p><p>  Application.CreateForm(TForm1, Form1);</p><p>  Application.

63、CreateForm(TForm16, Form16);</p><p>  Application.CreateForm(TForm17, Form17);</p><p>  form1.StatusBar1.Panels[1].Text:=' 小賀';</p><p>  Application.CreateForm(TForm4, F

64、orm4);</p><p>  Application.CreateForm(TForm6, Form6);</p><p>  Application.CreateForm(TForm8, Form8);</p><p>  Application.CreateForm(TForm9, Form9);</p><p>  Applicat

65、ion.CreateForm(TForm10, Form10);</p><p>  Application.CreateForm(TForm11, Form11);</p><p>  Application.CreateForm(TForm12, Form12);</p><p>  Application.CreateForm(TForm13, Form13)

66、;</p><p>  Application.CreateForm(TForm14, Form14);</p><p>  Application.CreateForm(TForm15, Form15);</p><p>  form3.Free;</p><p>  Application.Run;</p><p>

67、;<b>  end;</b></p><p><b>  else</b></p><p>  showmessage('應(yīng)用程序已啟動!');</p><p>  releasemutex(mutex);</p><p>  實驗中出現(xiàn)的問題及解決方法 </p>&

68、lt;p>  技術(shù)水平不是很扎實。有很多的新的控件、新的知識要學(xué)習(xí)、所以做起來沒想象中的容易,不過最終可以克服。</p><p>  在調(diào)試的過程中遇到了許多錯誤,話費(fèi)了大量時間進(jìn)行修改、整理,浪費(fèi)了整體的開發(fā)時間。幸好,最終問題都得到了解決,并按預(yù)期時間完成了設(shè)計工作。</p><p><b>  結(jié)束語</b></p><p>  通

溫馨提示

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

評論

0/150

提交評論