2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩22頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  1.1 課題的背景</b></p><p>  當今時代是飛速發展的信息時代。在各行各業中離不開信息處理,這正是計算機被廣泛應用于信息管理系統的環境。計算機的最到好處在于利用它能夠進行信息管理。使用計算機進行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。</p><p>  尤其對于復雜的信息管理,計算機能夠充分發揮它的優越性。

2、計算機進行信息管理與信息管理系統的開發密切相關,系統的開發是系統管理的前提。本系統就是為了管理好學生選課信息而設計的。</p><p>  學生選課作為一種信息資源的集散地,包含很多的信息數據的管理。 由于數據繁多,容易丟失,且不易查找??偟膩碚f,缺乏系統,規范的信息管理手段。盡管有的學校有計算機,但是尚未用于信息管理,沒有發揮它的效力,資源閑置比較突出,這就是管理信息系統的開發基本環境。</p>

3、<p>  數據處理手工操作,工作量大,出錯率高,出錯后不易更改。造成了時間上的浪費</p><p>  基于這個問題,我認為有必要建立一個學生選課系統,使學生選課信息管理工作規范化、系統化、程序化,避免學生選課管理的隨意性,提高信息處理的速度和準確性,能夠及時、準確、有效的查詢和修改選課情況。</p><p><b>  1.2 課題的設計</b><

4、/p><p>  本文就學生選課系統的設計與制作展開分析。學生選課系統主要應用數據庫技術開發,先從數據庫的基本知識開始介紹, 數據庫的基本概念、數據庫的發展、數據庫的結構,還介紹了開發工具PowerBuilder9.0和SQL語言。我主要是應用PowerBuilder9.0為前端開發工具,利用SQL語言實現數據查詢。設計系統時,先從系統的數據流程開始分析,設計系統的業務流程圖、系統的數據流程圖、系統的E-R圖。根據開

5、題報告的設計要求開始進入系統的總體設計,接著制定系統的設計思想,分析系統的功能并設計系統的功能模塊,這些都是系統制作前的準備工作;準備工作完成后,開始系統數據庫的建立,主要有各個功能窗口的設計,將設計好的窗口集中到主菜單上,通過用戶的用戶名和密碼的登錄可以進入到主窗口,這樣就完成系統的制作。最后,對系統進行調試,性能</p><p><b>  3 系統分析</b></p>&

6、lt;p><b>  3.1 系統分析</b></p><p>  現代的社會是信息化的社會,信息無所不在。在生產領域、流通領域、各個部門每天都和信息打交道,如何處理如此多的信息成為了一個重要的課題。學生在學期開始選課是教學活動中的一個重要環節,該環節如果能管理好,它不僅能加快學生的選課速度,也提高了整個教學活動的效率。</p><p>  大學一般都有上千名學

7、生,每學期開始學生都要選課,因而產生了大量的課程信息??紤]到用戶使用的方便和處理的信息量系統要完成錄入,保存,查詢,修改和刪除課程信息的各種過程,能打印出課程信息表。所以系統的基本體系結構采用C/S模式。</p><p>  3.1.1 用戶要求</p><p>  系統的主要使用對象是需要選課的學生。學生在選課是要察看各個課程的詳細信息,還要選擇一些感興趣的課程,需要生成課表,在發現課程

8、有沖突后能夠修改先前選擇的信息。需要隨學生選課的變化,計算相應的總學分。在全部選定后,打印報表。系統還需要管理員來查看和修改學生的總體選課情況,課程信息和學生信息。</p><p>  3.1.2 業務流程分析</p><p>  學生選課前要登錄系統,查看所有課程的詳細信息,包括課程代號、授課教師、教室、上課時間、學分、剩余名額等。根據課程代號,學生可以查詢相應的課程,并添加課程。查看課

9、表,并能發現是否存在沖突課程,如果存在,可以刪除該課程,并重新選擇。打印課表,包含詳細的課程信息。最后,選課完畢。學生選課的數據基本流程如圖所示:</p><p>  圖3-1 學生選課流程</p><p>  3.1.3 系統實體E-R圖分析</p><p>  經過上述系統功能分析和需求總結,設計如下所示的實體和屬性的定義:</p><p&g

10、t;  課程信息(課程代號,課程名稱,授課教師,教室,剩余名額,上課時間,學分)</p><p>  學生信息(學號,姓名,性別,班級,出生年月日,是否已選課)</p><p>  學生登錄信息(學號,用戶名,密碼,權限代號)</p><p>  學生選課信息(學號,課程代號,學期,課程成績)</p><p>  用戶權限(權限名稱,權限代號

11、)。</p><p>  本系統根據上面的設計規劃出的實體有:課程信息實體,學生信息實體,學生登錄信息實體,學生選課信息實體,用戶權限實體。</p><p>  實體之間關系的E-R圖如圖3-2所示。</p><p>  圖3-2系統E-R圖</p><p>  課程信息實體E-R圖,如圖3-3所示:</p><p>

12、  圖3-3課程信息實體E-R圖</p><p>  學生選課實體E-R圖,如圖3-4所示:</p><p>  圖3-4 學生選課實體圖</p><p>  學生信息實體E-R圖,如圖3-5所示:</p><p>  圖3-5 學生信息實體圖</p><p>  登錄信息實體E-R圖,如圖3-6所示:</p&g

13、t;<p>  圖3-6 登錄信息實體圖</p><p>  用戶權限實體E-R圖,如圖3-7所示:</p><p>  圖3-7 用戶權限實體圖</p><p><b>  3.2本章小結</b></p><p>  學生選課系統主要是為學生選課的管理提供全面、準確、科學的管理方法,方便快捷地處理選課的管

14、理信息;避免了信息處理錯誤,提高了信息管理的工作效率,大大地節省人力和物力的開支。本章主要闡述了系統的業務流程,根據業務流程畫出繪制出了E-R圖。</p><p><b>  4 系統實現</b></p><p>  4.1 創建一個工作空間和應用程序對象</p><p>  創建一個工作空間(WorkSpace)student,目標(Targ

15、et)student和應用(Application)stu,在應用的open 事件中寫入如下的語句進行應用與數據庫的連接。</p><p>  // Profile stu_select</p><p>  SQLCA.DBMS = "ODBC"</p><p>  SQLCA.AutoCommit = False</p><

16、p>  SQLCA.DBParm = "ConnectString='DSN=stu_select;UID=;PWD='"</p><p><b>  connect;</b></p><p><b>  4.2創建數據庫表</b></p><p>  為了保存學生信息、課程信息、

17、學生選課信息、登錄信息、用戶權限信息,數據庫設計了學生信息表,課程信息表,學生選課信息表,登錄信息表和用戶權限信息表。這些表使得用戶對數據的增刪改變得非常方便,數據的冗余不是十分明顯。</p><p>  數據庫中的學生信息表結構如表4-1所示:</p><p>  表4-1 學生信息表(stu_inform)</p><p>  數據庫中的課程信息表結構如表4-2

18、所示:</p><p>  表4-2 課程信息表(course_inform)</p><p>  數據庫中的學生選課信息表如表4-3所示:</p><p>  表4-3學生選課信息表(stu_select)</p><p>  數據庫中的登錄信息如表4-4所示:</p><p>  表4-4登錄信息表(stu_log

19、in)</p><p>  數據庫中的權限信息如表4-5所示:</p><p>  表4-5權限信息表(user_gl)</p><p><b>  4.3創建主窗口</b></p><p>  通過主窗口可以實現信息查詢,選擇課程,修改選課打印課表等功能。其主要實現窗口如下圖4-1所示:</p><

20、p><b>  圖4-1 主窗口</b></p><p><b>  4.4 創建主菜單</b></p><p>  創建主菜單主要是方便各種功能的實現,從而實現更好的完成學生選課,查看課程信息等功能。如圖4-2所示:</p><p><b>  圖4-2 主菜單</b></p>

21、<p>  在“課程查詢”菜單項的clicked事件中編寫代碼:</p><p>  open(w_course_select)</p><p>  在“選課”菜單項的click事件中編寫代碼:</p><p>  open(w_course_add)</p><p>  在“生成課表”菜單項的click事件中編寫代碼:</p

22、><p>  open(w_course_table)</p><p>  4.5系統管理模塊的實現que</p><p>  4.5.1創建課程查詢窗口</p><p>  在主菜單窗口單擊“課程查詢”即可打開此窗口,使用者可以在此窗口實現對課程的查詢。下圖4-3為“課程查詢窗口”的主界面。</p><p>  圖4-3

23、 課程查詢窗口</p><p>  其中一些主要程序代碼如下:</p><p> ?。?)open事件代碼</p><p>  dw_1.settransobject(sqlca)</p><p>  dw_1.retrieve()</p><p> ?。?)“查找”按鈕的click事件代碼</p>&l

24、t;p>  dw_1.setfilter("")</p><p>  if sle_1.text= "" or sle_1.text ="請在此輸入查詢內容" then</p><p>  messagebox("錯誤!","請輸入查詢內容!")</p><p>

25、;  sle_1.event getfocus( )</p><p><b>  else</b></p><p>  if rb_1.checked=true then</p><p><b>  //精確查找</b></p><p>  choose case ddlb_1.text</p

26、><p>  case "課程代號"</p><p>  dw_1.setfilter("課程代號='"+sle_1.text+"'")</p><p>  case "課程名稱"</p><p>  dw_1.setfilter("課程名稱

27、='"+sle_1.text+"'")</p><p>  case "授課教師"</p><p>  dw_1.setfilter("授課教師='"+sle_1.text+"'")</p><p>  case "上課時間"

28、</p><p>  dw_1.setfilter("上課時間='"+sle_1.text+"'")</p><p>  end choose</p><p><b>  else</b></p><p><b>  //模糊查詢</b><

29、;/p><p>  choose case ddlb_1.text</p><p>  case "課程代號"</p><p>  dw_1.setfilter("課程代號 like"+"'%"+sle_1.text+"%'")</p><p>  c

30、ase "課程名稱"</p><p>  dw_1.setfilter("課程名稱 like"+"'%"+sle_1.text+"%'")</p><p>  case "授課教師"</p><p>  dw_1.setfilter("授課教

31、師 like"+"'%"+sle_1.text+"%'")</p><p>  case "上課時間"</p><p>  dw_1.setfilter("上課時間 like"+"'%"+sle_1.text+"%'")</

32、p><p>  end choose</p><p><b>  end if</b></p><p><b>  end if </b></p><p><b>  //檢索數據</b></p><p>  dw_1.retrieve()</p>

33、;<p> ?。?)“選課”按鈕click事件代碼</p><p>  open(w_course_add)</p><p> ?。?)“查看課表”按鈕click事件代碼</p><p>  open(w_course_table)</p><p>  4.5.2 創建添加選課窗口</p><p>  單

34、擊主窗口的“選課”即可打開此窗口界面,在此界面可以實現對課程信息的選擇查看,可以根據課程代號查詢相應課程的詳細信息,選擇此課程,并計算選課門數和課程總學分。下圖4-2為“添加選課窗口”的主界面。</p><p>  圖4-4 添加選課窗口</p><p>  其中一些主要程序代碼如下:</p><p> ?。?)open事件代碼</p><p&g

35、t;  dw_1.settransobject(sqlca)</p><p>  dw_2.settransobject(sqlca)</p><p>  string user_name, student_no</p><p><b>  //檢索用戶的學號</b></p><p>  SELECT stu_login

36、.學號, </p><p>  stu_login.用戶名 </p><p>  INTO :student_no, </p><p>  :user_name </p><p>  FROM stu_login </p><p>  WHERE stu_login.用戶名 = :login_name

37、 ; </p><p>  //根據學號查詢用戶的詳細信息</p><p>  dw_2.setfilter("")</p><p>  dw_2.setfilter(" stu_select_學號='"+student_no+"'")</p><p>  dw

38、_2.retrieve()</p><p>  //顯示學生選擇課程數,和其學分總數</p><p>  real score</p><p><b>  int m,n</b></p><p>  m=dw_2.rowcount()</p><p><b>  score=0.0<

39、;/b></p><p>  for n=1 to m</p><p>  score=score+real(dw_2.object.course_inform_學分[n])</p><p><b>  next</b></p><p>  st_3.text=string(m)</p><p&

40、gt;  st_6.text=string(score)</p><p> ?。?)查找事件代碼如下:</p><p>  if sle_1.text="" then</p><p>  messagebox("錯誤!","請輸入查詢課程的代碼")</p><p>  sle_1.e

41、vent getfocus( )</p><p><b>  else</b></p><p>  dw_1.setfilter("")</p><p>  dw_1.setfilter("課程代號='"+sle_1.text+"'")</p><p

42、>  dw_1.retrieve()</p><p>  cb_1.default=false</p><p>  cb_2.default=true </p><p><b>  end if</b></p><p> ?。?)“確認選擇課程”按鈕click事件代碼</p><p>  i

43、nteger rnt</p><p>  rnt=messagebox("注意!","你是否確定選擇該課程?",Information!,YesNo! )</p><p>  string user_name,cour_no,student_no,cour_name,cour_sel_leastno</p><p>  if

44、 rnt = 1 and sle_1.text<> "" then</p><p>  //根據登錄的用戶名,檢索出用戶的學號</p><p>  SELECT stu_inform.學號, </p><p>  stu_login.用戶名 </p><p>  INTO :student_no, &

45、lt;/p><p>  :user_name </p><p>  FROM stu_inform, </p><p>  stu_login </p><p>  WHERE ( stu_inform.學號 = stu_login.學號 ) and </p><p>  ( ( stu_login.用戶名 =

46、:login_name ) </p><p><b>  ) ; </b></p><p>  //查詢stu_select表,看是否此學生已經選擇這門課程</p><p>  SELECT stu_select.課程代號 </p><p>  INTO :cour_no </p><p&

47、gt;  FROM stu_select </p><p>  WHERE ( stu_select.學號 = :stu_no ) AND </p><p>  ( stu_select.課程代號 = :sle_1.text ) ; </p><p>  SELECT course_inform.剩余名額 </p><p>  INT

48、O :cour_sel_leastno </p><p>  FROM course_inform, </p><p>  stu_select </p><p>  WHERE ( course_inform.課程代號 = stu_select.課程代號 ) and </p><p>  ( ( course_inform.課程代

49、號 = :sle_1.text ) </p><p><b>  ) ;</b></p><p>  if cour_no<>"" then</p><p>  messagebox("提示","你已經選擇過此門課程")</p><p> 

50、 elseif cour_sel_leastno ="0" then </p><p>  messagebox("提示","該課程的剩余名額為0,請選擇其他課程!")</p><p><b>  else</b></p><p>  //插入用戶選擇課程到stu_select表<

51、;/p><p>  INSERT INTO stu_select </p><p>  ( 學號, 課程代號 ) </p><p>  VALUES ( :student_no, </p><p>  :sle_1.text); </p><p>  messagebox("提示",&q

52、uot;恭喜你,添加課程成功!");</p><p>  //學生選定該課程后,在該課程的剩余名額中減少一人</p><p>  UPDATE course_inform </p><p>  SET 剩余名額 = '剩余名額 - 1' ;</p><p>  dw_2.retrieve( ) </p>

53、;<p><b>  end if</b></p><p>  elseif sle_1.text= "" then </p><p>  messagebox("提示","你還沒有選課!")</p><p><b>  end if </b><

54、;/p><p>  dw_2.settransobject(sqlca)</p><p>  string user_name1, student_no1</p><p><b>  //檢索用戶的學號</b></p><p>  SELECT stu_login.學號, </p><p>  s

55、tu_login.用戶名 </p><p>  INTO :student_no1, </p><p>  :user_name1 </p><p>  FROM stu_login </p><p>  WHERE stu_login.用戶名 = :login_name ; </p><p>  

56、//根據學號查詢用戶的詳細信息</p><p>  dw_2.setfilter("")</p><p>  dw_2.setfilter(" stu_select_學號='"+student_no1+"'")</p><p>  dw_2.retrieve()</p><

57、;p>  //刷新學生選擇課程數,和其學分總數</p><p>  real score</p><p><b>  int m,n</b></p><p>  m=dw_2.rowcount()</p><p><b>  score=0.0</b></p><p>

58、  for n=1 to m</p><p>  score=score+real(dw_2.object.course_inform_學分[n])</p><p><b>  next</b></p><p>  st_3.text=string(m)</p><p>  st_6.text=string(score)

59、</p><p>  4.5.3 創建生成課表窗口</p><p>  打開主窗口,單擊“生成課表”,即可打開本窗口的維護界面,在本窗口主要實現學生課程的編排和沖突課程的修改刪除,還可以打印課表。下圖為生成課表界面,如圖4-5所示</p><p>  圖4-5 生成課表主窗口</p><p>  其中一些主要代碼如下:</p>

60、<p> ?。?)查看課表事件的代碼</p><p>  dw_1.settransobject(sqlca)</p><p>  dw_1.setfilter("stu_inform_學號='"+</p><p>  trim(stu_no)+"'and stu_select_學期='"+t

61、rim(sle_1.text)+"'")</p><p>  dw_1.retrieve()</p><p>  //將課表內的文字清空,主要防止用戶再次點擊查看時而產生的錯誤</p><p>  st_1_1.text="";st_1_2.text="";st_1_3.text="&qu

62、ot;;</p><p>  st_1_4.text="";st_1_5.text=""</p><p><b>  int n,m</b></p><p>  string course_time,course,course_classroom</p><p>  n=dw_1.

63、rowcount()</p><p>  //把數據表總行數賦予n</p><p>  //把課程名稱顯示在課程表中</p><p>  for m=1 to n</p><p>  course_time=trim(dw_1.object.course_inform_上課時間[m])</p><p>  course

64、=trim(dw_1.object.course_inform_課程名稱[m])</p><p>  course_classroom =trim(dw_1.object.course_inform_教室[m])</p><p>  choose case course_time</p><p>  case "k11"</p>&

65、lt;p>  if st_1_1.text="" then</p><p>  st_1_1.text=course+" "+course_classroom</p><p><b>  else</b></p><p>  st_1_1.text=st_1_1.text+"//&quo

66、t;+course</p><p>  messagebox("提示","你的課程有沖突",exclamation!,ok!,2)</p><p><b>  end if</b></p><p><b>  ……</b></p><p>  case &qu

67、ot;k55"</p><p>  if st_5_5.text="" then</p><p>  st_5_5.text=course+" "+course_classroom</p><p><b>  else</b></p><p>  st_5_5.text

68、=st_5_5.text+"//"+course</p><p>  messagebox("提示","你的課程有沖突",exclamation!,ok!,2)</p><p><b>  end if</b></p><p>  end choose </p><

69、p><b>  next</b></p><p> ?。?)“打印課表”事件的代碼如下</p><p>  //定義一個打印工作</p><p><b>  long job</b></p><p><b>  //打開打印設置</b></p><p&

70、gt;  job = PrintOpen(string(login_name)+"一份數據文檔")</p><p>  //指定打印數據窗口</p><p>  PrintDataWindow(job, dw_1)</p><p><b>  //關閉打印工作</b></p><p>  PrintC

71、lose(job)</p><p>  4.5.4 創建個人信息窗口</p><p>  單擊主窗口的“查看學生個人信息”選項后,進入此窗口界面,在本窗口主要實現對登錄學生信息的查看,以驗證學生信息是否正確,下圖為個人信息窗口界面,如圖4-6所示。</p><p>  圖4-6 學生個人詳細信息窗口</p><p>  其中open事件代碼如

72、下:</p><p><b>  //定義全局變量</b></p><p>  string stu_no</p><p>  string login_name</p><p>  string gl_no</p><p>  dw_1.settransobject(sqlca)</p&g

73、t;<p>  string user_name, student_no</p><p><b>  //檢索用戶的學號</b></p><p>  SELECT stu_login.學號, </p><p>  stu_login.用戶名 </p><p>  INTO :student_no,

74、 </p><p>  :user_name </p><p>  FROM stu_login </p><p>  WHERE stu_login.用戶名 = :login_name ; </p><p>  //根據學號查詢用戶的詳細信息</p><p>  dw_1.setfilter("

75、;")</p><p>  dw_1.setfilter("stu_inform_學號='"+student_no+"'")</p><p>  dw_1.retrieve()</p><p>  4.5.5 生成課表窗口的設計</p><p>  單擊主窗口“修改登錄密碼”選

76、項后,即可打開密碼修改窗口。本窗口主要功能是修改學生個人的登錄密碼,在學生正確填寫舊的用戶名和密碼后即可成功就該新密碼。其主界面如圖4-7所示。</p><p>  圖4-7 密碼修改窗口主界面</p><p>  其中“確認修改”事件代碼如下:</p><p>  // Profile stu_sel</p><p>  SQLCA.DBM

77、S = "ODBC"</p><p>  SQLCA.AutoCommit = False</p><p>  SQLCA.DBParm = "ConnectString='DSN=stu_sel;UID=;PWD='"</p><p><b>  connect;</b></p&g

78、t;<p>  string ls_username,ls_userpassword</p><p>  SELECT stu_login.用戶名, </p><p>  stu_login.密碼 </p><p>  INTO :ls_username, </p><p>  :ls_userpassword &l

79、t;/p><p>  FROM stu_login </p><p>  WHERE stu_login.用戶名 = :sle_1.text ; </p><p>  if ls_userpassword<>sle_2.text then</p><p>  messagebox("提示","密碼錯

80、誤,請確認后再輸入!")</p><p>  //elseif sle_2.text="" then</p><p>  //messagebox("提示","請輸入舊密碼!")</p><p><b>  else</b></p><p>  if

81、 sle_3.text<>"" and </p><p>  sle_4.text<>"" and sle_3.text=sle_4.text then</p><p>  ls_userpassword=sle_3.text</p><p>  update stu_login</p>

82、<p>  set 密碼=:ls_userpassword</p><p>  where stu_login.用戶名=:sle_1.text ;</p><p>  messagebox("提示","恭喜你,密碼修改成功!")</p><p><b>  end if</b></p&

83、gt;<p>  if sle_3.text<>"" and </p><p>  sle_4.text<>"" and sle_3.text<>sle_4.text then</p><p>  messagebox("提示","新密碼和確認密碼不同,請重新輸入!&qu

84、ot;)</p><p><b>  end if</b></p><p>  if sle_3.text="" or sle_4.text="" then</p><p>  messagebox("提示","新密碼或確認密碼不能為空!")</p>

85、<p><b>  end if</b></p><p><b>  end if</b></p><p>  sle_1.text=""</p><p>  sle_2.text=""</p><p>  sle_3.text="&quo

86、t;</p><p>  sle_4.text=""</p><p>  4.5.6 創建登錄窗口</p><p>  登錄窗口主要是用來登錄主界面的一個關卡,根據用戶的不同設有不同的權限,其主界面如圖4-8所示。</p><p>  圖4-8登錄窗口界面</p><p>  其登錄事件代碼如下:&

87、lt;/p><p><b>  //定義兩個變量</b></p><p>  string password,username</p><p>  // Profile stu_select</p><p>  SQLCA.DBMS = "ODBC"</p><p>  SQLCA

88、.AutoCommit = False</p><p>  SQLCA.DBParm = "ConnectString='DSN=stu_select;UID=;PWD='"</p><p><b>  //連接數據庫</b></p><p><b>  connect;</b><

89、/p><p>  //檢索用戶名和密碼記錄</p><p>  SELECT stu_login.學號, </p><p>  stu_login.用戶名, </p><p>  stu_login.密碼, </p><p>  stu_login.權限代號 </p><p>  IN

90、TO :stu_no, </p><p>  :username, </p><p>  :password, </p><p><b>  :gl_no </b></p><p>  FROM stu_login </p><p>  WHERE stu_login.用戶名 =

91、 :sle_1.text ; </p><p>  //判斷用戶輸入的用戶名是否正確</p><p>  if sle_1.text="" or sle_2.text="" then</p><p>  messagebox("錯誤!",</p><p>  "

92、用戶名或密碼不能為空!",exclamation!,ok!,2)</p><p><b>  else</b></p><p>  if username=sle_1.text and password=sle_2.text then</p><p>  open(w_main)</p><p>  close

93、(w_login)</p><p><b>  else</b></p><p>  messagebox("錯誤!",</p><p>  "用戶名或密碼錯誤,請重新輸入!",exclamation!,ok!,2)</p><p><b>  end if</b&

94、gt;</p><p><b>  end if</b></p><p>  4.5.7 splash界面的實現</p><p>  Splash界面,是在登錄窗口之前出現的界面,主要用來顯示軟件的版本信息等簡略情況,界面如圖4-9所示。</p><p>  圖4-9 splash界面</p><p&

95、gt;<b>  其主要代碼如下:</b></p><p><b>  open事件代碼</b></p><p><b>  //設定關閉時間</b></p><p>  timer(3,this )</p><p>  //將Splash窗口置于其他窗口之上</p>

96、;<p>  this.setposition( topmost!)</p><p>  timer事件代碼:</p><p>  close(this)</p><p>  open(w_login)</p><p>  clsoe事件代碼:</p><p>  timer(0,this)</p&

97、gt;<p><b>  結束語</b></p><p>  隨著信息技術的發展,辦公自動化已成為社會發展的主要趨勢,學生選課管理因其勞動的復雜性已經無法適應手工操作,所以應用先進的計算機技術對學生選課進行管理是勢在必行的,因此本文采用目前流行的數據庫開發工具之一的PowerBuilder9.0設計了一個小型的學生選課系統,并對設計結果進行了一定的總結。</p>

98、<p> ?。?)學生選課管理因為其日常事務比較繁瑣,所以在設計數據庫表之前一定要對系統的設計有一個整體的認識,對學生信息和課程信息進行整理,設計好各功能模塊的E-R圖。這樣,在后期的設計時,會因前期工作處理的好而減少許多麻煩,為設計的順利進行作好了鋪墊。</p><p> ?。?)在設計各個功能模塊時,要考慮和其他模塊的聯系,更要結合實際情況對窗口要放置的空間進行分析,尤其在編制代碼是要充分考慮各種限

99、制條件,對不同的身份規定其不同的登錄權限。</p><p> ?。?)在使用學生選課系統后,提高了學生選課的準確性,信息能夠準確無誤的輸入計算機并在數據庫中存儲起來。按照規范設定標準代碼,既保證了統計原始數據的準確性,又在分析統計時最大限度的減少了人為的影響,提高了工作效率。</p><p>  通過本次的畢業設計,我們不僅掌握了設計的基本步驟,更重要的是學會了解科學的系統設計方法,加深了

100、我們對軟件開發的認識與理解。</p><p><b>  參考文獻</b></p><p>  [1] 薩師煊,王珊.數據庫系統概論.北京:高等教育出版社,2002,2</p><p>  [2] Graeme Malcolm.SQL Server 2000 with XML.北京:清華大學出版社,2003,7</p><p

101、>  [3] 求是科技主編,沈兆普,陳雍.PowerBuilder數據庫開發自學教程.北京:人民郵電出版社,2002,10</p><p>  [4] 楊昭.PowerBuilder 9.0基礎與應用教程.北京:中國水利水電出版社,2003,8</p><p>  [5] 東方人華.PowerBuilder8.0入門與提高.北京:清華大學出版社,2003,11</p>

102、<p>  [6] 何俊,謝春旺.SQL Server 2000案例教程.北京:冶金工業出版社,2004,4</p><p>  [7] 鄭阿奇.PowerBuilder實用教程.北京:電子工業出版社,2001,3</p><p>  [8] 陳弘原.PowerBuilder 8.0實用教程.北京:中國水利水電出版社,2001,11</p><p>  [

103、9] 楊昭.PowerBuilder 9.0對象與控件技術詳解.北京:中國水利水電出版社,2003,8</p><p>  [10] 樊金生,張翠肖.PowerBuilder 9.0實用教程.北京:科學出版社,2004,6</p><p>  [11] 胡存生.PowerBuilder8.0開發實例詳解.北京:電子工業出版社,2002,8</p><p>  [12

104、] Steve Erlank, Craig Levin.PowerBuilder 6.0基礎教程.北京:中國水利水電出版社,1999,7</p><p>  [13] Simon J.A. Herbert.PowerBuilder 7.0 Unleashed.北京:電子工業出版社,2001,1</p><p>  [14] 張英杰,曹巖, 曾高強.PowerBuilder應用工程軟件開發指

105、南.西安:西安交通大學出版社,2005,2</p><p>  [15] 李政.PowerBuilde8.0開發與應用實例.北京:中國水利水電出版社,2002,5</p><p>  [16] 于德壹,劉云洲.Powerbuilder8.0 實用編程技術.北京:中國水利水電出版社,2002,1</p><p>  [17] 王晟.PowerBuilder數據庫開發經

溫馨提示

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

評論

0/150

提交評論