版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、學(xué)生學(xué)號(hào) 實(shí)驗(yàn)課成績(jī)學(xué) 生 實(shí) 驗(yàn) 報(bào) 告 書(shū)實(shí)驗(yàn)課程名稱(chēng)開(kāi) 課 學(xué) 院指導(dǎo)教師姓名學(xué) 生 姓 名學(xué)生專(zhuān)業(yè)班級(jí)學(xué)年 第 學(xué)期實(shí)驗(yàn)項(xiàng)目名稱(chēng)系統(tǒng)分析實(shí)驗(yàn)者專(zhuān)業(yè)班級(jí)同組者實(shí)驗(yàn)日期一、 實(shí)驗(yàn)?zāi)康?、意義1) 熟悉業(yè)務(wù)流程圖、數(shù)據(jù)流程圖、數(shù)據(jù)字典的繪制。2) 樹(shù)立正確的系統(tǒng)分析思想,培養(yǎng)分析問(wèn)題、解決問(wèn)題的能力,提高查詢(xún)資料和撰寫(xiě)書(shū)面文件的能力。3)針對(duì)一個(gè)企業(yè)應(yīng)用軟件系統(tǒng),運(yùn)用系統(tǒng)分析的過(guò)程與方法,結(jié)合一個(gè)模擬或真實(shí)企業(yè)的業(yè)務(wù)過(guò)程,分析該軟件的業(yè)務(wù)處理過(guò)程及軟件功能,復(fù)習(xí)、鞏固、管理信息系統(tǒng)的系統(tǒng)分析知識(shí),提高系統(tǒng)分析實(shí)踐能力。二、 實(shí)驗(yàn)基本原理與方法 系統(tǒng)分析思想,軟件工程的基本原理和方法三、 實(shí)驗(yàn)內(nèi)
2、容及要求選擇一個(gè)工業(yè)企業(yè)或較能全面反映系統(tǒng)分析全過(guò)程的實(shí)際案例,對(duì)以下內(nèi)容進(jìn)行全面講解。 1)企業(yè)概述與組織結(jié)構(gòu)分析 2)業(yè)務(wù)流程圖 3)數(shù)據(jù)流分析 4)數(shù)據(jù)字典 5)系統(tǒng)分析報(bào)告四、 實(shí)驗(yàn)方案或技術(shù)路線(xiàn)(只針對(duì)綜合型和設(shè)計(jì)型實(shí)驗(yàn))1)業(yè)務(wù)流程圖2)數(shù)據(jù)流程圖3)功能分析圖4)數(shù)據(jù)字典5)數(shù)據(jù)加工處理的描述五、實(shí)驗(yàn)原始記錄(可附加頁(yè))(程序設(shè)計(jì)類(lèi)實(shí)驗(yàn):包括原程序、輸入數(shù)據(jù)、運(yùn)行結(jié)果、實(shí)驗(yàn)過(guò)程發(fā)現(xiàn)的問(wèn)題及解決方法等;分析與設(shè)計(jì)、軟件工程類(lèi)實(shí)驗(yàn):編制分析與設(shè)計(jì)報(bào)告,要求用標(biāo)準(zhǔn)的繪圖工具繪制文檔中的圖表。系統(tǒng)實(shí)施部分要求記錄核心處理的方法、技巧或程序段;其它實(shí)驗(yàn):記錄實(shí)驗(yàn)輸入數(shù)據(jù)、處理模型、輸出數(shù)據(jù)
3、及結(jié)果分析)學(xué)生信息管理系統(tǒng)設(shè)計(jì)(一)、需求分析隨著社會(huì)的進(jìn)步,各種信息量也逐漸增加,包括在學(xué)校內(nèi),對(duì)學(xué)生的信息管理就是一個(gè)很重要的環(huán)節(jié)。對(duì)于新錄入的學(xué)員要及時(shí)增添其相關(guān)信息到學(xué)校數(shù)據(jù)庫(kù),而對(duì)于已經(jīng)畢業(yè)的學(xué)員也要及時(shí)刪除。同時(shí),在校學(xué)生的信息還可以隨時(shí)進(jìn)行更新編輯,以便保證數(shù)據(jù)的完整性和正確性。此學(xué)生信息管理信息系統(tǒng)是面向大學(xué)的管理系統(tǒng),其目的是對(duì)學(xué)校內(nèi)的學(xué)生,班級(jí),系和學(xué)會(huì)進(jìn)行統(tǒng)一有序的管理。1)系統(tǒng)涉及到的各實(shí)體以及實(shí)體之間的關(guān)系如下:學(xué)生學(xué)號(hào), 姓名,性別,宿舍區(qū), 班號(hào),系號(hào), 學(xué)會(huì)名班級(jí)班號(hào),人數(shù),入校年份,系號(hào)系 系號(hào),系名 ,系辦公室號(hào) ,人數(shù)學(xué)會(huì)學(xué)會(huì)名,人數(shù),成立年份,地點(diǎn)經(jīng)過(guò)
4、分析,有兩個(gè)問(wèn)題:學(xué)會(huì)和學(xué)生之間是多對(duì)多的關(guān)系 學(xué)生,班級(jí)和系形成了循環(huán)的主外鍵的關(guān)系,這對(duì)于級(jí)聯(lián)刪除和級(jí)聯(lián)插入時(shí)會(huì)出現(xiàn)問(wèn)題。所以,最終將各個(gè)實(shí)體表整合如下:學(xué)生學(xué)號(hào), 姓名,性別,宿舍區(qū), 班號(hào)班級(jí)班號(hào),人數(shù),入校年份,系號(hào)系 系號(hào),系名 ,系辦公室號(hào) ,人數(shù)學(xué)會(huì)學(xué)會(huì)名,人數(shù),成立年份,地點(diǎn)學(xué)會(huì)成員學(xué)號(hào),學(xué)會(huì)名2)面向的對(duì)象有后臺(tái)管理員和前臺(tái)注冊(cè)的用戶(hù),他們的權(quán)限也不相同,權(quán)限范圍如下:管理員權(quán)限:注冊(cè)成為管理員后,可以對(duì)系,班級(jí),學(xué)生,學(xué)會(huì)以及學(xué)會(huì)成員分別進(jìn)行添加,刪除,查詢(xún)和修改,只要符合條件和邏輯便可以將數(shù)據(jù)寫(xiě)進(jìn)數(shù)據(jù)庫(kù)中,并保證數(shù)據(jù)沒(méi)有冗余。同時(shí)可以對(duì)自己的密碼進(jìn)行修改。普通用戶(hù)權(quán)限:
5、注冊(cè)成為普通用戶(hù)后,可以對(duì)每個(gè)學(xué)生的綜合信息進(jìn)行查詢(xún),但不能進(jìn)行添加,刪除以及修改操作。進(jìn)行查詢(xún)顯示的信息使用的是視圖,是將學(xué)生,班級(jí),系,學(xué)會(huì)成員四張表進(jìn)行連接生成的。同時(shí),用戶(hù)同樣可以對(duì)自己的密碼進(jìn)行修改。3)存儲(chǔ)過(guò)程的應(yīng)用:在普通用戶(hù)進(jìn)行信息查詢(xún)的時(shí)候使用了存儲(chǔ)過(guò)程,用于顯示所有學(xué)生的相關(guān)信息,是基于視圖操作的。4)觸發(fā)器:觸發(fā)器應(yīng)用在普通用戶(hù)注冊(cè)上,當(dāng)用戶(hù)注冊(cè)的用戶(hù)名為“管理員”或者是“admin”時(shí),自動(dòng)在用戶(hù)名前加上“user_”以便產(chǎn)生歧義。其組織結(jié)構(gòu)圖如下:相關(guān)數(shù)據(jù)流圖如下(1)管理員活動(dòng)流圖:(2)普通用戶(hù)數(shù)據(jù)流圖:數(shù)據(jù)字典:(1) 數(shù)據(jù)結(jié)構(gòu):學(xué)生含義說(shuō)明:定義了一個(gè)學(xué)生的信
6、息結(jié)構(gòu):組成:學(xué)號(hào), 姓名,性別, 出生年月,宿舍區(qū), 班號(hào),系號(hào),學(xué)會(huì)名數(shù)據(jù)項(xiàng):學(xué)號(hào)含義說(shuō)明:唯一標(biāo)識(shí)一個(gè)學(xué)生類(lèi)型:整型長(zhǎng)度:4(2) 數(shù)據(jù)流:管理員對(duì)所有信息進(jìn)行管理以及普通用戶(hù)對(duì)信息進(jìn)行查詢(xún)說(shuō)明:表示每一位登錄者的操作(3) 處理過(guò)程: 各項(xiàng)操作(4) 定義一個(gè)視圖,用于顯示普通用戶(hù)查詢(xún)的學(xué)生信息(5) 定義一個(gè)存儲(chǔ)過(guò)程,用于對(duì)視圖中的學(xué)生信息進(jìn)行查詢(xún)(6) 定義一個(gè)觸發(fā)器,用于對(duì)普通用戶(hù)注冊(cè)的限制,有些用戶(hù)名不能注冊(cè)(二)、結(jié)構(gòu)設(shè)計(jì)1概念結(jié)構(gòu)設(shè)計(jì)根據(jù)需求,得到的e-r圖如下:2.邏輯結(jié)構(gòu)設(shè)計(jì):根據(jù)以上e-r圖可得一下關(guān)系模型:學(xué)生(學(xué)號(hào), 姓名,性別,宿舍區(qū), 班號(hào),系號(hào), 學(xué)會(huì)名)班
7、級(jí)(班號(hào),人數(shù),入校年份,系號(hào))系 (系號(hào),系名 ,系辦公室號(hào) ,人數(shù))學(xué)會(huì)(學(xué)會(huì)名,人數(shù),成立年份,地點(diǎn))屬于(學(xué)號(hào),班號(hào))擁有(班號(hào),系號(hào))加入(學(xué)號(hào),學(xué)會(huì)名)經(jīng)過(guò)化簡(jiǎn)合并后得到最后的關(guān)系模型:學(xué)生(學(xué)號(hào), 姓名,性別,宿舍區(qū), 班號(hào))班級(jí)(班號(hào),人數(shù),入校年份,系號(hào))系 (系號(hào),系名 ,系辦公室號(hào) ,人數(shù))學(xué)會(huì)(學(xué)會(huì)名,人數(shù),成立年份,地點(diǎn))學(xué)會(huì)成員(學(xué)號(hào),學(xué)會(huì)名)根據(jù)以上關(guān)系,建立各表如下:學(xué)生:班級(jí):系:學(xué)會(huì):學(xué)會(huì)成員:管理員,用戶(hù)登錄信息:關(guān)系圖如下:六、實(shí)驗(yàn)結(jié)果與討論通過(guò)本次課程設(shè)計(jì),我在很多方面都有了提高。首先,我掌握了visual s 2005和sql se
8、rver2000兩個(gè)軟件的基本使用,可以將自己學(xué)到的理論知識(shí)借助工具應(yīng)用到實(shí)踐。其次,我又接觸了另一種語(yǔ)言,拓寬了我的知識(shí),可以以不同于以前的方式制作網(wǎng)頁(yè),創(chuàng)建網(wǎng)站。在編程上有了進(jìn)一步的提高,對(duì)于編程的格式以及一些編程思想都有了相應(yīng)的提升。在數(shù)據(jù)庫(kù)方面,尤其鞏固了sql語(yǔ)句,可以實(shí)現(xiàn)增刪查改的功能,能編寫(xiě)存儲(chǔ)過(guò)程,觸發(fā)器,并能正確的將其應(yīng)用到程序中;在對(duì)各個(gè)表的分析過(guò)程中,充分利用e-r圖,可以將各種關(guān)系冗余去除。另外,了解了項(xiàng)目開(kāi)發(fā)的各種工作步驟和流程,可以獨(dú)立完成一個(gè)中小型項(xiàng)目,提高了動(dòng)手能力,學(xué)會(huì)了自己學(xué)習(xí)一種陌生的語(yǔ)言,并在思想上有了項(xiàng)目的概念,對(duì)以后的學(xué)習(xí)和工作都十分有幫助。在實(shí)驗(yàn)過(guò)
9、程中也遇到了一些問(wèn)題,但或經(jīng)過(guò)和同學(xué)討論,或自己研究,或上網(wǎng)查詢(xún),最后都將問(wèn)題一一解決了,這點(diǎn)又讓我對(duì)自己有了進(jìn)一步的肯定,所有問(wèn)題都是可以解決的,只要肯努力。總之,這次的課程設(shè)計(jì)真的讓我獲益匪淺。 實(shí)驗(yàn)項(xiàng)目名稱(chēng)系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)者專(zhuān)業(yè)班級(jí)同組者實(shí)驗(yàn)日期一、 實(shí)驗(yàn)?zāi)康?、意義1)熟悉代碼設(shè)計(jì)、數(shù)據(jù)存儲(chǔ)設(shè)計(jì)、輸入輸出設(shè)計(jì)等環(huán)節(jié)。2)進(jìn)一步樹(shù)立正確的系統(tǒng)設(shè)計(jì)、實(shí)施思想,培養(yǎng)分析問(wèn)題、解決問(wèn)題的能力,提高查詢(xún)資料和撰寫(xiě)書(shū)面文件的能力二、 實(shí)驗(yàn)基本原理與方法 軟件工程的基本原理和方法。三、 實(shí)驗(yàn)內(nèi)容及要求結(jié)合實(shí)驗(yàn)2中系統(tǒng)分析的案例,對(duì)以下內(nèi)容進(jìn)行全面講解。代碼設(shè)計(jì)、數(shù)據(jù)存儲(chǔ)設(shè)計(jì)、功能結(jié)構(gòu)圖設(shè)計(jì)、處理流程圖設(shè)計(jì)
10、、輸入輸出設(shè)計(jì)等。講解內(nèi)容包括基本原理、使用工具、工具的使用及注意事項(xiàng)等。四、 實(shí)驗(yàn)方案或技術(shù)路線(xiàn)(只針對(duì)綜合型和設(shè)計(jì)型實(shí)驗(yàn))1)功能結(jié)構(gòu)圖設(shè)計(jì)2)新系統(tǒng)信息處理流程設(shè)計(jì)3)輸出設(shè)計(jì)(主要指打印輸出設(shè)計(jì))4)存儲(chǔ)文件格式設(shè)計(jì)(數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì))5)輸入設(shè)計(jì)(主要指數(shù)據(jù)錄入界面設(shè)計(jì))6)代碼設(shè)計(jì)(職工證號(hào)和部門(mén)代號(hào))7)程序設(shè)計(jì)說(shuō)明書(shū)五、實(shí)驗(yàn)原始記錄(可附加頁(yè))(程序設(shè)計(jì)類(lèi)實(shí)驗(yàn):包括原程序、輸入數(shù)據(jù)、運(yùn)行結(jié)果、實(shí)驗(yàn)過(guò)程發(fā)現(xiàn)的問(wèn)題及解決方法等;分析與設(shè)計(jì)、軟件工程類(lèi)實(shí)驗(yàn):編制分析與設(shè)計(jì)報(bào)告,要求用標(biāo)準(zhǔn)的繪圖工具繪制文檔中的圖表。系統(tǒng)實(shí)施部分要求記錄核心處理的方法、技巧或程序段;其它實(shí)驗(yàn):記錄實(shí)驗(yàn)輸入
11、數(shù)據(jù)、處理模型、輸出數(shù)據(jù)及結(jié)果分析)學(xué)生成績(jī)信息管理系統(tǒng)(一)、需求分析學(xué)生成績(jī)管理是高等學(xué)校教務(wù)管理的重要組成部分,其內(nèi)容較多,為了簡(jiǎn)化設(shè)計(jì),要求設(shè)計(jì)的管理系統(tǒng)能夠完成以下幾種功能:(1) 學(xué)生注冊(cè)登記;(2) 登記學(xué)生成績(jī);(3) 修改學(xué)生成績(jī);(4) 打印一個(gè)班級(jí)學(xué)生的單科成績(jī);(5) 求出每個(gè)學(xué)生一學(xué)期中各科的平均成績(jī);(6) 打印某一課程成績(jī)處于指定分?jǐn)?shù)段內(nèi)的學(xué)生名單;(7) 學(xué)生可以查詢(xún)自己的成績(jī)。1、數(shù)據(jù)模型數(shù)據(jù)模型的三個(gè)因素為數(shù)據(jù)對(duì)象、屬性以及關(guān)系。用實(shí)體-關(guān)系圖來(lái)建立數(shù)據(jù)模型。確定系統(tǒng)實(shí)體:首先分析學(xué)生成績(jī)管理系統(tǒng)的用戶(hù)要求,找出該系統(tǒng)應(yīng)該包括的實(shí)體。顯然,學(xué)生、課程和成績(jī)都
12、是系統(tǒng)的實(shí)體,并且可以初步定義它們的屬性。管理員雖然是系統(tǒng)的用戶(hù),但其信息與系統(tǒng)處理無(wú)關(guān),因此不用作為實(shí)體。另外,由于成績(jī)信息包含了選課信息,因此選課信息不用單獨(dú)記錄。最終,確定系統(tǒng)的實(shí)體是學(xué)生、課程和成績(jī)。接著,我們分析這些實(shí)體之間的關(guān)聯(lián)關(guān)系。從實(shí)際情況得知,一個(gè)學(xué)生可以選多門(mén)課程,一門(mén)課程也可以有多個(gè)學(xué)生選修,但每個(gè)學(xué)生選一門(mén)課程必須有一個(gè)成績(jī)。根據(jù)上述分析,我們得到如圖所示的實(shí)體關(guān)系圖。實(shí)體屬性定義:學(xué)生:學(xué)號(hào)、姓名、性別、出生年月、名族、入學(xué)年月、班級(jí)課程:課程編號(hào)、課程名稱(chēng)、課程學(xué)分、課程類(lèi)別、課程學(xué)時(shí)成績(jī):學(xué)號(hào)、課程編號(hào)、分?jǐn)?shù)、考核日期圖2-1 學(xué)生實(shí)體屬性圖2-2 課程實(shí)體屬性圖
13、2-3 成績(jī)實(shí)體屬性圖2-4 實(shí)體-關(guān)系圖2、功能模型用數(shù)據(jù)流圖來(lái)建立功能模型。本系統(tǒng)涉及到的業(yè)務(wù)工作主要是:學(xué)生管理、系別管理、成績(jī)管理和課程管理等方面,系統(tǒng)界面可以分為管理員界面和普通用戶(hù)界面,整個(gè)系統(tǒng)劃分為下面的信息:學(xué)生基本信息(學(xué)號(hào),姓名,性別,出生年月等);學(xué)生成績(jī)(學(xué)號(hào),姓名,各科成績(jī)等);學(xué)生課程信息(學(xué)號(hào),姓名,考試課程名)。教務(wù)人員或管理員進(jìn)入管理界面后,可以輸入學(xué)生的基本信息、成績(jī)和課程信息,而學(xué)生進(jìn)入普通用戶(hù)界面后可以查詢(xún)自己的成績(jī),整體數(shù)據(jù)流圖如圖2-5所示圖2-5 整體數(shù)據(jù)流圖對(duì)上面的學(xué)生成績(jī)管理模塊展開(kāi)如下圖2-6所示。圖2-6 學(xué)生成績(jī)管理展開(kāi)后的數(shù)據(jù)流圖對(duì)查詢(xún)
14、學(xué)生成績(jī)展開(kāi)如下圖。圖2-7 查詢(xún)部分的數(shù)據(jù)流圖繪制第0層dfd的時(shí)候,將整個(gè)系統(tǒng)看成一個(gè)加工,然后找出作用于該加工的外部實(shí)體,以及相應(yīng)的數(shù)據(jù)輸入和輸出。對(duì)于學(xué)生成績(jī)管理系統(tǒng)而言,整個(gè)系統(tǒng)就是一個(gè)加工學(xué)生成績(jī)管理。從用戶(hù)的需求描述可知,教務(wù)人員是數(shù)據(jù)的源點(diǎn),學(xué)生是數(shù)據(jù)的終點(diǎn)。另外,教務(wù)人員需要錄入學(xué)生信息、課程信息和成績(jī),說(shuō)明學(xué)生信息、課程信息和成績(jī)是數(shù)據(jù)流;同樣,查詢(xún)請(qǐng)求和查詢(xún)結(jié)果也是數(shù)據(jù)流。根據(jù)上述分析,得到如圖所示的第0層dfd。繪制下一層數(shù)據(jù)流圖時(shí),細(xì)化第0層的加工學(xué)生成績(jī)管理,從而描述系統(tǒng)的主要功能。從第0層dfd得知,學(xué)生信息是教務(wù)人員需要錄入的一個(gè)信息,因此加入一個(gè)加?quot;
15、錄入學(xué)生信息,同樣得到錄入課程信息、登記成績(jī)兩個(gè)加工。另外,數(shù)據(jù)流查詢(xún)請(qǐng)求和查詢(xún)結(jié)果應(yīng)該由加工查詢(xún)成績(jī)來(lái)完成。這樣,我們用錄入學(xué)生信息、錄入課程信息、登記學(xué)生成績(jī)和查詢(xún)學(xué)生成績(jī)四個(gè)加工代替第0層的學(xué)生成績(jī)管理,同時(shí)增加這些數(shù)據(jù)流對(duì)應(yīng)的數(shù)據(jù)存儲(chǔ),即學(xué)生、課程和成績(jī),最后得到如圖所示的第1層dfd。為了繼續(xù)進(jìn)行分解,我們分析第1層dfd中的加工查詢(xún)學(xué)生成績(jī)。學(xué)生查詢(xún)成績(jī)時(shí)需要提供合法性檢查,因此,查詢(xún)學(xué)生成績(jī)可以分解為合法性檢查和查詢(xún)成績(jī)兩個(gè)處理步驟,從而形成如圖所示的第2層dfd。3、 行為模型用狀態(tài)轉(zhuǎn)換圖來(lái)建立行為模型。在學(xué)生成績(jī)管理系統(tǒng)中,學(xué)生成績(jī)信息需要采取安全措施,我們可以采取登錄方法避
16、免非法使用系統(tǒng)。這樣,該系統(tǒng)存在登錄、正常和出錯(cuò)等狀態(tài)的轉(zhuǎn)換。啟動(dòng)系統(tǒng)之后,系統(tǒng)處于登錄狀態(tài)。在這種狀態(tài)下,學(xué)生或管理員可以進(jìn)行登錄或取消登錄。如果取消登錄,系統(tǒng)直接退出;如果登錄失敗,系統(tǒng)進(jìn)入出錯(cuò)處理狀態(tài),在顯示錯(cuò)誤信息后,又重新回到登錄狀態(tài);如果登錄成功,系統(tǒng)進(jìn)入正常 狀態(tài),即顯示操作界面(管理員操作界面或普通用戶(hù)操作界面),當(dāng)用戶(hù)退出。系統(tǒng)整體的狀態(tài)轉(zhuǎn)換圖如圖2-8所示。圖2-8 狀態(tài)轉(zhuǎn)換圖(二)、概要設(shè)計(jì)1 學(xué)生成績(jī)管理軟件的數(shù)據(jù)結(jié)構(gòu)學(xué)生成績(jī)一般都是以班級(jí)為單位進(jìn)行管理的,一個(gè)班級(jí)用一個(gè)結(jié)點(diǎn)來(lái)表示??紤]到插入和刪除的方便,這些以班級(jí)為單位的結(jié)點(diǎn)用鏈表方式組成一個(gè)主目錄。每個(gè)結(jié)點(diǎn)有四個(gè)域
17、:(1) 班級(jí)代號(hào);(2) 課程情況;(3) 學(xué)生情況;(4) 班級(jí)順序鏈。課程情況應(yīng)能反映出大專(zhuān)生所學(xué)過(guò)的全部課程。因課程是逐年增多的,所以采用鏈表結(jié)構(gòu)以便能不斷插入新的課程。該班學(xué)過(guò)的課程構(gòu)成一個(gè)課程鏈表,所以班級(jí)結(jié)點(diǎn)中的課程情況用課程鏈表表示。學(xué)生情況主要反映學(xué)生的學(xué)號(hào),姓名,每學(xué)期學(xué)生的成績(jī)情況。因?yàn)閷W(xué)號(hào)總是順序排列的,所以選用一個(gè)結(jié)構(gòu)體數(shù)組作為反映學(xué)生情況的登陸記表。該數(shù)組的下標(biāo)值接上班級(jí)結(jié)點(diǎn)中的班級(jí)號(hào)就是學(xué)號(hào)。例如,設(shè)每班學(xué)生數(shù)不超過(guò)40個(gè)人,班級(jí)號(hào)為9612,某學(xué)生在登記表中相應(yīng)分量的下標(biāo)值為26,則該學(xué)生的學(xué)號(hào)為961226。另外,學(xué)生成績(jī)管理要分6個(gè)學(xué)期,所以在學(xué)生登記表中,
18、開(kāi)設(shè)6個(gè)指針域,每個(gè)指針指向該生某學(xué)期某門(mén)課程學(xué)成績(jī)的結(jié)點(diǎn)。各結(jié)點(diǎn)結(jié)構(gòu)如下所示:(1) 主目錄中班級(jí)的結(jié)點(diǎn)為:班級(jí)號(hào) 課程鏈 班級(jí)順序鏈 學(xué)生登記表(2) 課程鏈表中的結(jié)點(diǎn):課程代號(hào) 學(xué)期號(hào) 二叉樹(shù)鏈 課程順序鏈(3) 分?jǐn)?shù)鏈表中的結(jié)點(diǎn)為:左鏈 學(xué)號(hào) 課程代號(hào) 成績(jī)分?jǐn)?shù)順序 右鏈為了便于登記和查詢(xún)學(xué)生的成績(jī),選擇二叉排序來(lái)存放學(xué)生的成績(jī)。每個(gè)班級(jí)的每門(mén)課程對(duì)應(yīng)一棵二叉樹(shù)。通過(guò)主目錄中班級(jí)結(jié)點(diǎn)的課程鏈找到指定的課程結(jié)點(diǎn),再通過(guò)課程結(jié)點(diǎn)中的二叉樹(shù)指針指向該門(mén)課程的成績(jī)二叉排序樹(shù)。另外通過(guò)主目錄中班級(jí)結(jié)點(diǎn)的學(xué)生登記表中的學(xué)期指針,指向該學(xué)生本學(xué)期某門(mén)課程的分?jǐn)?shù)結(jié)點(diǎn),并以分?jǐn)?shù)結(jié)點(diǎn)的分安數(shù)順序鏈勾鏈該生
19、各門(mén)課程的成績(jī)。在登記成績(jī)和查詢(xún)分?jǐn)?shù)時(shí),都要用到課程代號(hào)。課程代號(hào)和課程名稱(chēng)是一一對(duì)應(yīng)的。為了簡(jiǎn)化程序,課程名稱(chēng)和代號(hào)對(duì)照表設(shè)計(jì)為一個(gè)向量,向量的下標(biāo)值就作為課程代號(hào),而向量中的元素就是課程名稱(chēng),這樣可以省去代號(hào)域。1 各模塊的功能和實(shí)現(xiàn)學(xué)生成績(jī)管理的相關(guān)功能由對(duì)應(yīng)的函數(shù)來(lái)實(shí)現(xiàn)。(1)用戶(hù)登陸用戶(hù)進(jìn)入登陸界面后,輸入賬號(hào)密碼,系統(tǒng)會(huì)連接到數(shù)據(jù)庫(kù)進(jìn)行驗(yàn)證,若為管理員,則進(jìn)入管理員界面,執(zhí)行相應(yīng)的操作;若為普通用戶(hù)(學(xué)生),則進(jìn)入普通用戶(hù)界面。(2) 學(xué)生注冊(cè)登記學(xué)生入學(xué)后,首先應(yīng)是注冊(cè)登記。從登陸界面可以進(jìn)入注冊(cè)界面,注冊(cè)時(shí)應(yīng)先檢查該學(xué)生所在班級(jí)是否已經(jīng)登入主目錄,未登入則若調(diào)用新結(jié)點(diǎn)后登陸入主
20、目錄。然后將新調(diào)入的班級(jí)結(jié)點(diǎn)中對(duì)應(yīng)域賦初值,最后再讀入學(xué)生的學(xué)號(hào)和姓名并一一填入學(xué)生登記表。這樣就完成了一個(gè)班級(jí)的注冊(cè)和登記工作。(3)登記學(xué)生成績(jī)學(xué)生注冊(cè)后才可以登記成績(jī),所以先要檢查這個(gè)班級(jí)是否已經(jīng)注冊(cè),班級(jí)中是否有這個(gè)學(xué)生。在確認(rèn)有此學(xué)生后,登記該生成績(jī)。這時(shí)需完成兩個(gè)操作。一個(gè)查詢(xún)課程代號(hào),另一個(gè)是將成績(jī)填入二叉樹(shù)。這兩個(gè)操作分別用兩個(gè)函數(shù)來(lái)實(shí)現(xiàn): 查詢(xún)課程代號(hào); 插入二叉排序樹(shù)。有了這兩個(gè)函數(shù),登記學(xué)生成績(jī)的工作可以很方便地完成。首先查處課程代號(hào),調(diào)用課程結(jié)點(diǎn),填入課程代號(hào)和學(xué)期號(hào);再在二叉樹(shù)鏈域中置初值為null,將課程結(jié)點(diǎn)插入為課程鏈表的頭結(jié)點(diǎn)。接著讀入每個(gè)學(xué)生的學(xué)號(hào)和成績(jī),每個(gè)
21、學(xué)生的每門(mén)課程都生成一分?jǐn)?shù)結(jié)點(diǎn)插入到相應(yīng)課程的二叉樹(shù)中。同時(shí),還要將該分?jǐn)?shù)結(jié)點(diǎn)鏈入該生這學(xué)期各科成績(jī)的分?jǐn)?shù)鏈表中。學(xué)生登記表中的學(xué)期指針域中存放該分?jǐn)?shù)鏈表的頭結(jié)點(diǎn)地址。(4)修改學(xué)生成績(jī)?nèi)舻怯浀膶W(xué)生成績(jī)有錯(cuò)誤,則調(diào)用修改學(xué)生成績(jī)的函數(shù)便可以加以修改。修改時(shí)從主目錄出發(fā),查到班級(jí),再?gòu)膶W(xué)生登記表中查對(duì)學(xué)號(hào)和姓名,再在與學(xué)期匹配的學(xué)期指針域中取得該生的學(xué)生鏈表的頭指針,然后搜索分?jǐn)?shù)鏈表,查到指定課程的分?jǐn)?shù)結(jié)點(diǎn),就可修改成績(jī)。(5)打印一個(gè)班級(jí)學(xué)生的單科成績(jī)由于學(xué)生成績(jī)是用二叉樹(shù)排序樹(shù)來(lái)存儲(chǔ)的,所以采用中序遍歷的方法就可以按次序打印出學(xué)姓名和成績(jī)。在打印了程序中,從主目錄開(kāi)始查到班級(jí)號(hào),就可以從課程
22、結(jié)點(diǎn)的二叉樹(shù)鏈域中取得成績(jī)二叉排序樹(shù)的頭指針;然后調(diào)用中序遍歷了程序就可進(jìn)行打印,同時(shí)可求出平均成績(jī)和各個(gè)分?jǐn)?shù)段的人數(shù)。求出每個(gè)學(xué)生一學(xué)期中各科的平均成績(jī)此了程序從主目錄查對(duì)班級(jí)號(hào)開(kāi)始,通過(guò)學(xué)生登記表中每個(gè)學(xué)生的學(xué)期指針取得各自的分?jǐn)?shù)鏈表的頭指針。順著分?jǐn)?shù)鏈就可求出該生本學(xué)期各科的平均成績(jī)。打印某一課程成績(jī)處于指定分?jǐn)?shù)段內(nèi)的學(xué)生名單對(duì)二叉樹(shù)序樹(shù)進(jìn)行中序遍歷,但遍歷時(shí)應(yīng)判斷當(dāng)前成績(jī)是否處于分?jǐn)?shù)段內(nèi)而決定是否打印。(6)學(xué)生查詢(xún)成績(jī)學(xué)生從登陸界面輸入賬號(hào)密碼后,系統(tǒng)連接到數(shù)據(jù)庫(kù)檢查該用戶(hù)是否注冊(cè)等信息,若信息正確,則進(jìn)入普通用戶(hù)界面,然后調(diào)用查詢(xún)函數(shù)即可查看成績(jī)。由以上分析,學(xué)生成績(jī)管理系統(tǒng)可以分為三個(gè)模塊:用戶(hù)登錄及注冊(cè)模塊、普通用戶(hù)功能模塊、管理員功能模塊,如圖3-1所示,管理員可以完成學(xué)生成績(jī)的登記、修改、打印功能,而學(xué)生可以完成成績(jī)的查詢(xún)功能。圖3-1 系統(tǒng)總體結(jié)構(gòu)圖(三)、詳細(xì)設(shè)計(jì)系統(tǒng)總體流程圖如圖4-1所示。圖4-1 系統(tǒng)總體流程圖系統(tǒng)的部分模塊設(shè)計(jì)流程圖如下,其中矩形代表“處理”,菱形代表“選擇”,箭頭代表“控制流”,圓代表“連接”。圖4-2 登錄
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 硬質(zhì)泡沫塑料 拉伸性能的測(cè)定 編制說(shuō)明
- 部編版歷史九年級(jí)上冊(cè)第二單元 第5課《羅馬城邦和羅馬帝國(guó)》說(shuō)課稿
- 課件逐字稿教學(xué)課件
- 校外探路課件教學(xué)課件
- 自愿參加具有一定風(fēng)險(xiǎn)的文體活動(dòng)安全協(xié)議書(shū)(2篇)
- 南京航空航天大學(xué)《電子商務(wù)英文》2021-2022學(xué)年第一學(xué)期期末試卷
- 南京航空航天大學(xué)《測(cè)試技術(shù)》2022-2023學(xué)年第一學(xué)期期末試卷
- 南京工業(yè)大學(xué)浦江學(xué)院《數(shù)學(xué)與統(tǒng)計(jì)學(xué)(二)》2022-2023學(xué)年第一學(xué)期期末試卷
- 北京師范大學(xué)繼續(xù)教育學(xué)院北側(cè)附屬用房改造工程施工組織設(shè)計(jì)
- 范進(jìn)中舉說(shuō)課稿
- 行政事業(yè)單位合同管理內(nèi)部控制制度
- MSOP(測(cè)量標(biāo)準(zhǔn)作業(yè)規(guī)范)測(cè)量SOP
- 充電樁采購(gòu)安裝售后服務(wù)方案
- 老年肺炎病人護(hù)理課件
- 鄉(xiāng)鎮(zhèn)醫(yī)院網(wǎng)絡(luò)安全應(yīng)急預(yù)案
- 運(yùn)維知識(shí)庫(kù)管理制度(模板)
- 2023年新華社招聘122人筆試參考題庫(kù)(共500題)答案詳解版
- 2023游戲行業(yè)人才報(bào)告
- 流行病學(xué)的誤差和偏倚
- 2023年中級(jí)經(jīng)濟(jì)師考試真題及答案完整版
- Unit4ExploringpoetryExtendedReading公開(kāi)課課件高中英語(yǔ)牛津譯林版(2020)選擇性
評(píng)論
0/150
提交評(píng)論