版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
“同學選課系統(tǒng)”開發(fā)案例(設計說明)
這里以同學選課系統(tǒng)為例,簡略地描述應用用VFP開發(fā)數據庫應用系統(tǒng)的全過程。
一、需求分析
某高校教務部計劃采納計算機管理同學選課及成果管理的全過程,以幫助管理人員更快、更好的做好選課管理工作。其功能如下:(1)能輸入、修改、查詢選課有關的信息,如同學檔案、課程信息、老師信息、成果信息等;(2)能進行統(tǒng)計,如同學選修課程的平均成果、某課程的平均成果.(3)能打印同學成果單、老師工作量表等。用戶提出開發(fā)應用系統(tǒng)的要求后,軟件開發(fā)者應通過調查討論歸納出目標系統(tǒng)的數據需求和功能需求。(一)數據需求通過調查,總結出用戶對數據的需求如下:(1)同學信息包括:同學姓名、性別、誕生日期、是否團員、專業(yè)、入學時間、入學成果、簡歷、照片等。(2)課程信息包括:課程名稱、課程性質、學時數、學分等。(3)老師信息包括:老師姓名、性別、職稱、通信地址、電話、電子信箱等。(4)選課信息包括:同學姓名、課程名稱、開課時間、成果等。(二)功能需求功能分析的任務是了解用戶對數據的處理方法和輸出格式。1.基礎數據錄入基礎數據包括同學數據、課程數據、老師數據和同學選課數據以及編碼數據等.要求系統(tǒng)能錄入這些數據,并且能夠進行修改.注意在數據錄入和修改的過程中應保持數據的參照完整性。2、查詢能夠查詢出同學數據、課程數據、老師數據以及同學選課數據等.3、統(tǒng)計要求能依據同學選課信息按同學統(tǒng)計平均成果和按課程統(tǒng)計平均成果。4、打印輸出打印同學成果單和老師工作量表.二、概要設計
項目設計一個典型的數據庫應用程序有數據結構、用戶界面、查詢選項和報表組成.在設計應用程序時,應仔細考慮每個組件將供應的功能以及與其他組件之間的關系。一個經過良好組織的VisulaFoxPro應用程序一般需要為用戶供應菜單;一個或多個表單,供數據輸入并顯示。同時還需要添加某些大事響應代碼,供應特定的功能,保證數據的完整性和平安性。此外,還需要供應查詢和報表,允許用戶從數據庫中選擇信息。VisualFoxPro供應的項目管理器作為集成管理各相關組件的組織工具,并把它們編譯為單個應用文件。使用項目管理器創(chuàng)建一個項目后,就可以應用程序已具備一個開發(fā)框架了,下一步的工作就是如何在這個框架之下利用項目管理器所供應的強大功能,依據需求來實現(xiàn)應用程序所要求的功能.1.建立“同學選課系統(tǒng)“項目為快速建立一個應用程序及其項目,即一個完整“應用程序框架”的項目,可以使用“應用程序向導”,在項目建立后,便打開了應用程序生成器。也可以使用“新建文件",彈出創(chuàng)建對話框,指定項目及其組件的存儲路徑為“C:\同學選課系統(tǒng)",項目名為“同學選課系統(tǒng)”.
2.設置主文件當用戶運行應用程序時,VisualFoxPro將啟動主文件,然后主文件再依次調用所需要的應用程序其他組件。一般最好的方法是為應用程序建立一個主程序。但是,使用一個表單作為主程序,可以將主程序的功能和初始界面集成在一起。本項目設置主文件為程序文件“主程序”,如圖1所示。方法:在“主程序”上單擊鼠標右鍵,選中“設置主文件”菜單項,或先選中“主程序”,單擊“項目”菜單,選中選中“設置主文件"菜單項。例如,主文件代碼編寫如下:clearallsettalkoffsetdefaulttoc:\同學選課系統(tǒng)\?&&設置程序的默認路徑publicxh,jsbh,kcbh? ?&&xh、jsbh、kcbh分別用于存儲輸入的學號、&&老師編號、課程編號doform封面 ????&&調用封面程序modifywindowscreentitle"同學選課管理系統(tǒng)"&&設置主窗口的標題do主菜單。mpr?? &&調用出菜單readevent? ???&&建立時間循環(huán)quit?? ???&&退出VFP
圖1設置項目的主文件
數據庫的設計數據庫設計的任務是確定系統(tǒng)所需的數據庫。數據庫是表的集合,通常一個系統(tǒng)只需一個數據庫。數據庫的設計一般可分為規(guī)律設計和物理設計兩步。規(guī)律設計的任務是依據需求分析,確定數據庫所包含的表及字段、表間的關系,物理設計就是簡略確定表的結構,包括字段名、字段類型及寬度,需要的索引等.(一)規(guī)律設計依據對需求得到的數據結構進行分析,按數據輸入輸出的要求,確定表和表間的關系,并進行驗證、調整、修改、完善,使其能夠實現(xiàn)用戶對數據和功能的要求。本例依據分析確定系統(tǒng)要設置如下表:(1)同學基本表,包括字段:學號、姓名、性別、誕生日期、是否團員、照片、入學時間、入學成果、專業(yè)編號、簡歷。學號為主索引,為專業(yè)編號建立索引,通過該索引和專業(yè)基本表建立關聯(lián)。(2)老師基本表,包括字段:老師編號、老師姓名、性別、職稱、電話、通訊地址、郵政編碼、電子信箱。老師編號為主索引。(3)課程基本表,包括字段:課程編號、課程名稱、課程性質、學時、學分、備注。課程編號為主索引。(4)同學選課表,字段包括:學號、課程編號、開課時間、成果.同學、課程編號和開課時間共同做主索引,分別為學號、課程編號、開課時間、成果建立索引,通過學號和同學基本表建立關聯(lián),通過課程編號和課程基本表建立關聯(lián),開課時間和成果索引用于做統(tǒng)計計算。(5)老師任課表,包括字段:老師編號、課程編號。分別為老師編號和課程編號建立索引,通過老師編號和老師基本表建立關聯(lián),通過課程編號和課程基本表建立關聯(lián)。(6)專業(yè)表,字段包括:專業(yè)編號、專業(yè)名稱、所屬系、備注。為專業(yè)編號建立索引,通過專業(yè)編號和同學基本表建立關聯(lián).(二)物理設計下面列出選課系統(tǒng)全部表的結構和索引,為了便于理解,將部分數據列出。1.同學基本表表名:同學結構:字段名類型寬度小數位數索引學號字符型12
主索引姓名字符型8
性別字符型2
誕生日期日期型
是否團員規(guī)律型
照片通用型
入學時間日期型
入學成果數值型30
專業(yè)編號字符型4
一般索引簡歷記憶型
記錄:學號姓名專業(yè)編號性別誕生日期入學時間入學成果團員否200010301001謝勝03男1980-10-232000-9-1589TRUE200010301020張輝03男1981-5-202000—9-1608TRUE200020302045陳誠03男1980—8—42000-9-1598TRUE200034201002劉玫42女1980—9-42000-9-1567FALSE200034202123李丹42女1981—3-52000—9—1601TRUE199920403128胡廣飛04男1980-4-61999—9-1521FALSE199924104112廖榮化41男1980-10-311999-9-1534FALSE199934205255趙雅娟42女1980-7—81999—9-1546TRUE200010401081李文浩04男1981—9-202000—9—1638TRUE200010401032陶冶04女1980-7-302000—9-1599TRUE199934202152王濤42男1980—1-21999-9—1576TRUE199934101067高磊41男1980—5-31999—9—1543FALSE
2。老師基本表表名:老師結構:字段名類型寬度小數位數索引老師編號字符型4
主索引老師姓名字符型8
性別字符型2
職稱字符型8
通訊地址字符型40
郵政編碼字符型6
電話字符型20
電子信箱字符型40
記錄:老師編號老師姓名性別職稱通訊地址郵政編碼電話電子信箱CC01陳利民男教授武漢高校182棟8號430072027-87675423lmchen@263。netCC02王惠敏女副教授武漢市武昌區(qū)民主路2345號430043027-87876745hmwang@163.netCC03劉江男講師武漢高校11棟12號430072
CS01張健中男副教授武漢市中山大道345號430030027-83457231jzzhang@263.netCS02吳秀芝女講師武漢高校14棟8號430072027-87883476xzwu@263。net
3。課程基本表表名:課程結構:字段名類型寬度小數位數索引課程編號字符型4
主索引課程名稱字符型20
學時數值型30
學分數值型20
課程性質字符型8
備注備注型
記錄:課程編號課程名稱學時學分課程性質CC01C語言程序設計483選修課CC02FoxPro數據庫及程序設322選修課CC03多媒體計算機技術322選修課CS01計算機原理483必修課CS02編譯原理483指定選修
4.同學選課表表名:同學選課結構:字段名類型寬度小數位數索引學號字符型12
一般索引課程編號字符型4
一般索引開課時間日期型
一般索引成果數值型30一般索引記錄:學號課程編號開課時間成果200010301001CC012001-2-200200010301001CC032001-2—200200010301001CS012001—9-10200010301020CC022001-2-200200010301020CS032001-2-200200020302045CC022001—2-200200034201002CC032001—2-200200034202123CS022001-9-10199920403128CC012000-2-2386199924104112CS022000-2-2350199924104112CS022001-2-200199934202152CC022000—2-2391199934202152CC032000-2-2385199934202152CS012000-9-378199934202152CS022000-9—375200010401081CC022001-2-200
5.老師任課表表名:老師任課表結構:字段名類型寬度小數位數索引課程編號字符型4
一般索引老師編號字符型8
一般索引
記錄:課程編號老師編號CC01CC01CC01CC02CC02CC01CC02CC03CC03CC02CC03CC03CS01CS01CS01CS02CS02CS01
6.專業(yè)表表名:專業(yè)表結構:字段名類型寬度小數位數索引專業(yè)編號字符型4
主索引專業(yè)名稱字符型40
所屬系字符型40
備注備注型
記錄:專業(yè)編號專業(yè)名稱所屬系03水動水利04農田水利05水資源水利41自動化電力42熱動電力
應用程序設計(一)程序總體結構設計在開頭程序設計前,應先將程序的總體結構以層次圖的形式表示出來,便于對程序分層編程和實現(xiàn)。如圖3所示.圖的第一層為系統(tǒng)層,通常對應主程序;其次層為子系統(tǒng)層,一般起劃分系統(tǒng)功能的作用,通常對應主菜單;第三層為功能層,對應菜單項,一般通過表單的調用實現(xiàn)某些特定的功能。(二)界面設計1.封面設計(封面.scx)選中項目管理器中文檔-表單,按下“新建”按鈕,在隨后打開的對話框中單擊“新建表單”按鈕,彈出表單設計器和一個表單,其對象名為Form1。在表單中添加一個Lable對象,采納系統(tǒng)默認名稱Label1,一個Timer對象,系統(tǒng)默認名稱Timer1,如圖4所示.設置對象屬性如下:圖4“封面”表單(1)Form1的屬性設置及大事代碼屬性名設置值說明Left0
Top0
Heigh431
Width771
BorderStyle0-無邊框
PictureC:\windows\circles.bmp設置窗口背景TitleBar0-關閉只顯示背景和標簽WindowState2—最大化
Activate大事代碼:?&&調整標簽在啟動窗口中的位置thisform.label1。top=thisform。height/3thisform。label1.left=(thisform。width—thisform.label1。width)/2thisform.label1.visible=.t.RightClick大事代碼:thisform.release?&&關閉啟動窗口(2)Label1的屬性設置屬性名設置值說明Top132
Left60
Height60
Width517
Caption同學選課管理系統(tǒng)
FontName隸書
FontSize48
ForeColor255,128,128
BackStyle2—透明以免遮住窗口背景VisibleF.-假以免在調整標簽位置時閃動(3)Timer1的屬性設置及大事代碼屬性名設置值說明Interval5000每5000ms調用一次Timer大事Timer大事代碼:thisform.release
2.主菜單設計(主菜單.mnx)選中項目設計器中其他-菜單,單擊“新建”按鈕,在彈出的對話框中選擇“菜單”按鈕,參照總體結構圖,設計主菜單如下.基本信息選課信息統(tǒng)計查詢報表打印代碼維護同學名冊(同學基本情況。scx)選課登記(選課登記.scx)按課程查詢(按課程查詢.scx)同學成果單課程代碼老師名冊(老師。scx)
按同學查詢
老師工作量
課程信息(課程信息。scx)
按課程平均(按課程求平均.scx)課程成果單退出(命令)按同學平均
“退出”菜單項命令如下:clearevents?&&退出大事循環(huán)從菜單文件生成菜單程序“主菜單。mpr”3?!巴瑢W名冊”表單(同學基本情況.scx)同學名冊表單用于輸入、修改、刪除、查詢同學信息。窗口設計見圖5。在窗口上單擊鼠標右鍵打開彈出菜單,選擇數據環(huán)境打開“數據環(huán)境設計器“,在數據環(huán)境中添加“同學”、“專業(yè)表"兩個表,建立關聯(lián)。如圖6所示。(1)StudentForm的屬性設置屬性名設置值說明NameStudentForm
Caption同學基本情況
AutoCenter.T.-真窗口自動居中BorderStyle2-固定對話框無需用戶調整窗口大小MaxButton.F.-假同上圖5“同學基本情況“表單圖6“同學基本情況"表單的數據環(huán)境設置(2)標簽和文字框的設置從數據環(huán)境將下列字段拖到表單中規(guī)定的位置,產生相應的標簽和文本框:同學表中的學號、姓名、誕生日期、入學時間、入學成果、簡歷等字段;專業(yè)表中的專業(yè)編號、專業(yè)名稱、所屬系等字段。從數據環(huán)境來產生標簽和文本框,不僅速度快,而且標簽的Caption和Name屬性、文本框的Name屬性都會自動設定位與源字段有關的名字,文本框也會自動與源表中的源字段綁定。(3)“專業(yè)編號”列表框的設置及大事代碼從表單控件工具欄中選擇“組合框”工具,在窗口上相應位置單擊,產生一個組合框Combo1,設置其屬性.屬性名設置值說明NameCombo1
ControlSource同學。專業(yè)編號數據存儲的字段RowSource專業(yè)表.專業(yè)編號列表框中數據來源字段RowSourceType6—字段數據來源為字段Style2-下拉列表框
Valid大事代碼:thisform.refresh(4)“團員”復選框的設置從數據環(huán)境中將“同學.團員否“字段拖到窗口上相應的位置,會自動產生團員復選框。并且將它與同學。團員否字段綁定。(5)“性別”選項按鈕組的設置從表單控件工具欄中選擇選項按鈕組工具,在窗口相應的位置單擊鼠標左鍵,創(chuàng)建選項按鈕組控件,在控件上單擊鼠標右鍵打開彈出式菜單,選擇生成器材單項,打開選項組生成器窗口,如圖7所示,按步驟完成如下操作.圖7設置“性別”選項組第一步,將標題改為“男”、“女";其次步,將布局改為水平排列;第三步,將值與同學.性別字段綁定。單擊“確定”完成設置。(6)命令按鈕組設置與大事代碼從表單控件工具欄中選擇命令按鈕組工具,在窗口相應的位置單擊鼠標左鍵創(chuàng)建命令按鈕組控件CommandGroup1,在控件上單擊鼠標右鍵彈出菜單,選擇生成器菜單項,打開命令組生成器窗口,格式與圖8。14類似。按要求第一步設置按鈕數目及每個按鈕的標題(見圖8.12);其次步設置布局為水平排列,單擊“確定"即可生成按鈕組。CommandGroup1的Click大事代碼:docasecasethis。value=1 &&到首頁 ?gotopcasethis.value=2?&&到上頁 ?ifnotbof()???skip-1? endifcasethis.value=3?&&到下頁 skip? ifeof()???skip—1??endifcasethis.value=4?&&到末頁??gobottomcasethis.value=5?&&按學號查詢 ?xh=""??doform輸入學號??&&打開學號輸入窗口(見下文),關閉時&&將輸入的學號返回 ?dqjlh=recno()??iflen(xh)<>0???locatefor學號=xh?? ifnotfound()? ?waitwindow"無此學號!” ?? godqjlh???endif? endifcasethis.value=6?&&新增同學名單 zy=messagebox('需要增加同學名單嗎?',4+32+256,'確認’) ?ifzy=6?&&對話框含“是”“否”按鈕,按下“是"按鈕返回6?? appendblank??endifcasethis.value=7?&&刪除當前同學名單 ?sy=messagebox('需要刪除當前的同學名單嗎?',4+32+256,'確認’)??ifsy=6???delete???pack??endifcasethis.value=8?&&關閉當前窗口??thisform。release?endcasethisform.refresh4.“輸入學號”表單(輸入學號.scx)在“同學名冊”窗口中,當單擊尋頁按鈕時,調用“輸入學號”表單,通過公共變量xh,將輸入的需要查詢的學號傳回到“同學名冊”窗口,并進行定位,如果沒有相應學號的數據,則在等待窗口中顯示“無此學號”。“輸入學號”窗口如圖8所示。圖8“輸入學號”表單窗口(1)Form的屬性設置屬性名設置值說明AutoCenter.T.-真
BorderStyle2—固定對話框
Caption輸入學號
ControlBox.F.-假
NamenoForm
WindowStyle1—模式在窗口關閉前不能操作其他窗口(2)命令按鈕組的屬性設置及大事代碼利用生成器,創(chuàng)建命令按鈕組CommandGroup1其中包含“確定”、“取消”兩個按鈕。CommandGroup1的Click大事代碼:docase?casethis。value=1?&&單擊“確定",將文本框中的值給予全局變量xh??xh=trim(thisform.text1。value) ?thisform.release?casethis.value=2?&&單擊“取消”,將全局變量xh賦空字符串? xh=''??thisform。releaseendcase5.“選課登記”表單(選課登記.scx)“選課登記”表單用于輸入、修改和查詢同學選課信息,需要使用同學選課表、同學表和課程表三個表。在“選課登記”表單的數據環(huán)境中加入這三個表,同時以建立同學選課表為主表建立同學選課表和同學表、同學選課表和課程表之間的關聯(lián),如圖9所示。圖9“選課登記”表單的數據環(huán)境和“同學名冊”表單類似,從數據環(huán)境中將需要的數據拖到表單窗口的相應位置,創(chuàng)建“選課登記”表單如圖10所示。圖10“選課登記”表單窗口屬性的設置和“同學名冊”表單類似,其中命令組可以從“同學名冊”表單中復制過來,修改其Click大事中的代碼如下:docase?casethis。value=1? gotop?casethis。value=2? ifnotbof() ??skip-1??endif casethis。value=3 skip??ifeof()???skip-1??endif?casethis。value=4??gobottom?casethis.value=5 kcbh=”"? doform輸入學號 ?dqjlh=recno()??iflen(kcbh)〈〉0 ?locate
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026浙江象山半邊山紫冠投資有限公司酒店管理分公司(寧波象山海景皇冠假日酒店)招聘5人備考考試題庫及答案解析
- 2026天津商業(yè)大學第一批招聘20人 (高層次人才崗位)備考考試題庫及答案解析
- 2026山東事業(yè)單位統(tǒng)考煙臺市萊山區(qū)招聘4人考試備考試題及答案解析
- 骨髓瘤患者營養(yǎng)支持護理
- 2026交通運輸部所屬事業(yè)單位第四批統(tǒng)一招聘24人備考考試試題及答案解析
- 2026年寧德人民醫(yī)院編外人員招聘1人(一)備考考試題庫及答案解析
- 失智照護區(qū)管理制度(3篇)
- 2026山東事業(yè)單位統(tǒng)考青島西海岸新區(qū)招聘工作人員2人參考考試題庫及答案解析
- 中美藥品廣告管理制度對比(3篇)
- 2026云南昭通市彝良縣公安局警務輔助人員招聘6人備考考試試題及答案解析
- 2026年吉林大學附屬中學公開招聘教師備考題庫(4人)及參考答案詳解
- 2025年大學旅游管理(旅游服務質量管理)試題及答案
- 打捆機培訓課件
- 2026年淺二度燒傷處理
- 北京通州產業(yè)服務有限公司招聘考試備考題庫及答案解析
- 河北省NT名校聯(lián)合體2025-2026學年高三上學期1月月考英語(含答案)
- 2025-2026學年滬科版八年級數學上冊期末測試卷(含答案)
- 途虎養(yǎng)車安全培訓課件
- 衛(wèi)生管理研究論文
- 委托市場調研合同范本
- 畜牧安全培訓資料課件
評論
0/150
提交評論