版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 第一章 緒 論</p><p> 伴隨著計(jì)算機(jī)軟硬件技術(shù)的發(fā)展,計(jì)算機(jī)的技術(shù)和應(yīng)用獲得了突飛猛進(jìn)的發(fā)展,計(jì)算機(jī)已經(jīng)在大致如下的領(lǐng)域得到廣泛的應(yīng)用:</p><p> 1、科學(xué)計(jì)算:如在天文學(xué)、生物學(xué)、空氣動(dòng)力學(xué)、核物理學(xué)、地質(zhì)勘探、新材料的研制和天氣預(yù)報(bào)等領(lǐng)域中。</p><p> 2、數(shù)據(jù)處理:與科學(xué)計(jì)算不同,數(shù)據(jù)處理涉及的數(shù)據(jù)
2、量大,但計(jì)算方法較簡(jiǎn)單。</p><p> 3、過(guò)程控制:指由計(jì)算機(jī)通過(guò)傳感器及時(shí)采集數(shù)據(jù),根據(jù)采集的數(shù)據(jù)和預(yù)先設(shè)定的要求,由計(jì)算機(jī)處理后,產(chǎn)生控制信號(hào)并通過(guò)控制系統(tǒng)對(duì)受控對(duì)象進(jìn)行控制或調(diào)整。</p><p> 4、計(jì)算機(jī)模擬:用計(jì)算機(jī)程序及相應(yīng)的設(shè)備代替或模擬實(shí)物或?qū)嶋H環(huán)境,用于實(shí)驗(yàn)、測(cè)試、特殊訓(xùn)練等。</p><p> 5、計(jì)算機(jī)輔助系統(tǒng):包括計(jì)算機(jī)輔助設(shè)
3、計(jì),計(jì)算機(jī)輔助制造、計(jì)算機(jī)輔助教育等。</p><p> 6、人工智能:指用計(jì)算機(jī)模擬人的思維和行為,包括推理,學(xué)習(xí),模擬人的感知等?,F(xiàn)在在機(jī)器人、專(zhuān)家系統(tǒng)、虛擬現(xiàn)實(shí)等方面已經(jīng)獲得了實(shí)際的應(yīng)用。</p><p> 7、辦公自動(dòng)化:可分為事務(wù)型、管理型和決策型三個(gè)層次。事務(wù)型主要處理日常的辦公事務(wù)。管理型辦公自動(dòng)化系統(tǒng)又稱(chēng)為管理信息系統(tǒng)。決策型辦公自動(dòng)化系統(tǒng)是在上述兩個(gè)系統(tǒng)的基礎(chǔ)上增加決
4、策支持系統(tǒng)構(gòu)成的。隨著互聯(lián)網(wǎng)、遠(yuǎn)程會(huì)議系統(tǒng)、多媒體技術(shù)的發(fā)展,同計(jì)算機(jī)網(wǎng)絡(luò)連接起來(lái)的新型辦公室不久將展現(xiàn)在人們面前。</p><p><b> 8、信息高速公路。</b></p><p><b> 9、電子商務(wù)</b></p><p><b> 10、新聞出版</b></p>&l
5、t;p> 11、音樂(lè)、繪畫(huà)和影視娛樂(lè)。</p><p> 隨著生產(chǎn)社會(huì)化的擴(kuò)大,科學(xué)技術(shù)的進(jìn)步,人類(lèi)知識(shí)總量呈爆炸式的增長(zhǎng),各行各業(yè)的管理工作越來(lái)越離不開(kāi)信息,信息已被列為與物質(zhì)、能源相并列的人類(lèi)社會(huì)發(fā)展的三大資源之一。隨著以計(jì)算機(jī)技術(shù)、通信技術(shù)、網(wǎng)絡(luò)技術(shù)為代表的現(xiàn)代信息技術(shù)的飛躍發(fā)展,人類(lèi)正在從工業(yè)時(shí)代向信息時(shí)代邁進(jìn),信息處理已經(jīng)成為當(dāng)今世界上一項(xiàng)重要的社會(huì)活動(dòng)。</p><p&g
6、t; 由上可知,信息工作的迅速增長(zhǎng),使計(jì)算機(jī)的應(yīng)用范圍越來(lái)越廣,應(yīng)用的功能也由一般的數(shù)據(jù)處理發(fā)展到支持決策。這就導(dǎo)致了管理信息系統(tǒng)的產(chǎn)生。管理信息系統(tǒng)是一個(gè)集計(jì)算機(jī)技術(shù)、信息技術(shù)、數(shù)據(jù)庫(kù)技術(shù)、現(xiàn)代管理理論為一體的綜合性系統(tǒng)。建立這樣一個(gè)復(fù)雜的系統(tǒng)需要付出昂貴的代價(jià)的,因?yàn)樗鼘儆趧趧?dòng)密集型、智力密集型、資金技術(shù)密集型的項(xiàng)目。所以我們有必要對(duì)管理信息系統(tǒng)有一個(gè)深入的了解,這是建立比較實(shí)用的應(yīng)用系統(tǒng)的前提所在。</p><
7、;p> 第二章 開(kāi)發(fā)方法的選擇</p><p> §2.1軟件工程方法概述</p><p> 建立一個(gè)信息系統(tǒng),是一項(xiàng)復(fù)雜的軟件工程的實(shí)施。近30年來(lái),軟件工程發(fā)展成為新科學(xué),至今已經(jīng)成為軟件產(chǎn)業(yè)的重要支柱。它以計(jì)算機(jī)軟件為工程對(duì)象,研究如何對(duì)其進(jìn)行定義、開(kāi)發(fā)和維護(hù)。多年來(lái)被人們沿用的手工作坊工的軟件開(kāi)發(fā)方法,在軟件產(chǎn)品的開(kāi)發(fā)效率和產(chǎn)品質(zhì)量、成本等方面都無(wú)法滿(mǎn)足
8、需求。用這種方法所開(kāi)發(fā)的軟件產(chǎn)品質(zhì)量低劣、可靠性差、用戶(hù)難以使用、開(kāi)發(fā)成本太高等問(wèn)題,給軟件項(xiàng)目帶來(lái)嚴(yán)重后果。不少單位花費(fèi)了大量資金,卻并未取得預(yù)期的效果。</p><p> §2.2結(jié)構(gòu)化生命周期法簡(jiǎn)介</p><p> 結(jié)構(gòu)化生命周期法是一種傳統(tǒng)的管理信息系統(tǒng)開(kāi)發(fā)方法。其基本思路是把整個(gè)系統(tǒng)開(kāi)發(fā)過(guò)程分成若干階段,每個(gè)階段進(jìn)行若干活動(dòng),每項(xiàng)活動(dòng)應(yīng)用一系列標(biāo)準(zhǔn)、規(guī)范、方法和技
9、術(shù)完成一個(gè)或者多個(gè)任務(wù),形成符合給定規(guī)范的產(chǎn)品。結(jié)構(gòu)化生命周期法的主要原則,歸納起來(lái)有以下四條:</p><p><b> 用戶(hù)參與的原則</b></p><p><b> 先邏輯后物理的原則</b></p><p><b> 自頂向下的原則</b></p><p>
10、工作成果描述標(biāo)準(zhǔn)化的原則</p><p> 其開(kāi)發(fā)大致分為以下四個(gè)階段:</p><p> 系統(tǒng)規(guī)劃:主要目標(biāo)是制訂系統(tǒng)的長(zhǎng)期發(fā)展方案,決定系統(tǒng)在整個(gè)生命周期內(nèi)的發(fā)展方向、規(guī)模和發(fā)展進(jìn)程。</p><p><b> 系統(tǒng)開(kāi)發(fā)</b></p><p><b> 系統(tǒng)分析</b></p&g
11、t;<p><b> ?系統(tǒng)初步調(diào)查</b></p><p><b> ?系統(tǒng)的可行性研究</b></p><p> ?現(xiàn)行系統(tǒng)的詳細(xì)調(diào)查</p><p> ?新系統(tǒng)邏輯方案的提出</p><p><b> 系統(tǒng)設(shè)計(jì)</b></p><
12、;p><b> ?系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)</b></p><p><b> ?系統(tǒng)總體功能設(shè)計(jì)</b></p><p> ?系統(tǒng)總體物理結(jié)構(gòu)設(shè)計(jì)</p><p><b> ?系統(tǒng)詳細(xì)設(shè)計(jì)</b></p><p><b> ?數(shù)據(jù)庫(kù)設(shè)計(jì)</b>&l
13、t;/p><p><b> ?代碼設(shè)計(jì)</b></p><p><b> ?輸入輸出設(shè)計(jì)</b></p><p><b> ?處理過(guò)程設(shè)計(jì)</b></p><p><b> 系統(tǒng)實(shí)現(xiàn)</b></p><p><b>
14、 ?程序設(shè)計(jì)</b></p><p><b> ?系統(tǒng)測(cè)試</b></p><p><b> ?系統(tǒng)轉(zhuǎn)換</b></p><p><b> 系統(tǒng)運(yùn)行及維護(hù)</b></p><p><b> 系統(tǒng)評(píng)價(jià)</b></p><
15、;p><b> §2.3原型法簡(jiǎn)介</b></p><p> 原型法的基本思路是用戶(hù)與系統(tǒng)分析、設(shè)計(jì)人員合作,根據(jù)用戶(hù)提出的最基本的問(wèn)題和想法,先很快建立一個(gè)應(yīng)用軟件的骨架,作為應(yīng)用開(kāi)發(fā)的實(shí)驗(yàn)?zāi)P停@個(gè)實(shí)驗(yàn)?zāi)P徒凶鱿到y(tǒng)原型。用戶(hù)先運(yùn)行這個(gè)原型系統(tǒng),熟悉它,使用它,受到啟發(fā)并取得經(jīng)驗(yàn),然后對(duì)系統(tǒng)的目標(biāo)和功能提出精確、具體的要求,在對(duì)系統(tǒng)的需求最后決定后,再用傳統(tǒng)的方法建設(shè)系
16、統(tǒng),通常原型系統(tǒng)的部分程序可以在后來(lái)的系統(tǒng)建設(shè)中直接采用。該方法是傳統(tǒng)方法和用戶(hù)開(kāi)發(fā)相結(jié)合的方法。</p><p> 建立一個(gè)管理信息系統(tǒng)的原型可分四步進(jìn)行:</p><p> (1)明確用戶(hù)基本信息需求</p><p> (2)建立初始的原型系統(tǒng)</p><p> (3)使用原型系統(tǒng),進(jìn)一步明確用戶(hù)需求</p><
17、;p> (4)修改和完善原型系統(tǒng)</p><p> 快速原型法的開(kāi)發(fā)過(guò)程可分為快速分析、構(gòu)造模型、運(yùn)行模型、評(píng)價(jià)模型、改進(jìn)模型等。</p><p> §2.4本系統(tǒng)開(kāi)發(fā)方法選擇</p><p> 基于上述兩種開(kāi)發(fā)方法的優(yōu)劣,本系統(tǒng)利用軟件工程化思想和方法,總體上是采用結(jié)構(gòu)化生命周期法從上而下地進(jìn)行系統(tǒng)分析和設(shè)計(jì)的,但系統(tǒng)實(shí)現(xiàn)等步驟采用了自下而
18、上的快速原型法。</p><p> 第三章 系統(tǒng)規(guī)劃</p><p> 系統(tǒng)規(guī)劃是管理信息系統(tǒng)生命周期的第一階段,這一階段的主要目標(biāo)是制訂系統(tǒng)的長(zhǎng)期發(fā)展方案,決定系統(tǒng)在整個(gè)生命周期內(nèi)的發(fā)展方向、規(guī)模和發(fā)展進(jìn)程。這一階段對(duì)MIS系統(tǒng)的成敗,對(duì)整個(gè)組織信息化的進(jìn)展具有重要意義,以計(jì)算機(jī)為主要手段的管理信息系統(tǒng)是使用單位的管理系統(tǒng)的一個(gè)組成部分。它的建立應(yīng)該服從使用單位的整體目標(biāo)和管理
19、決策活動(dòng)的需要。為此,這個(gè)階段的主要任務(wù)是了解使用單位的戰(zhàn)略目標(biāo)以及內(nèi)外現(xiàn)實(shí)環(huán)境,確定系統(tǒng)的總目標(biāo)和主要功能,擬定總體方案,并從技術(shù)、經(jīng)濟(jì)、社會(huì)條件等方面論證技術(shù)方案的可行性,制定投資規(guī)劃和開(kāi)發(fā)計(jì)劃,編寫(xiě)可行性論證報(bào)告。</p><p> 系統(tǒng)初步調(diào)查和可行性分析的工作步驟如圖3-1所示</p><p><b> (使用單位要求)</b></p>&
20、lt;p><b> 組織隊(duì)伍擬定計(jì)劃</b></p><p> 單位情況調(diào)查 現(xiàn)行信息系統(tǒng)調(diào)查</p><p> 確定新系統(tǒng)的目標(biāo)和功能</p><p><b> 提出技術(shù)方案</b></p><p> 明確新系統(tǒng)對(duì)單 擬定新系統(tǒng) 效益分
21、析</p><p> 位變化的影響 開(kāi)發(fā)計(jì)劃</p><p><b> 可行性論證</b></p><p> 不可行 修改</p><p><b> ?。ㄔu(píng)審)</b></p><p> 不可行
22、 修改</p><p><b> ?。ㄏ到y(tǒng)分析)</b></p><p> 圖3-1 可行性論證的工作步驟</p><p> §3.1 系統(tǒng)的初步調(diào)查</p><p> 在正式立項(xiàng)之前必須進(jìn)行可行性分析,而可行性分析的基礎(chǔ)是對(duì)系統(tǒng)的初步調(diào)查。初步調(diào)查是在使用單位的高層進(jìn)行的,系統(tǒng)分析員站在高層觀察
23、使用單位的現(xiàn)狀,分析現(xiàn)有系統(tǒng)的運(yùn)行情況。初步調(diào)查主要由兩部分組成:一般調(diào)查和信息需求初步調(diào)查。前者包括了解使用單位當(dāng)前的信息流程,明確使用單位改造的需求以及確定系統(tǒng)目標(biāo)和主要功能;后者是初步調(diào)查的主要內(nèi)容,調(diào)查組織系統(tǒng)的工作職責(zé)及活動(dòng)和各種職能部門(mén)所要處理的數(shù)據(jù),還需了解環(huán)境信息,包括內(nèi)部環(huán)境和外部環(huán)境信息。</p><p> 本人對(duì)學(xué)生成績(jī)管理活動(dòng)有了一定的了解,本系統(tǒng)初步調(diào)查采用的主要方式是與學(xué)校的有關(guān)負(fù)責(zé)
24、教學(xué)的領(lǐng)導(dǎo)及部分一線教師進(jìn)行交流,了解他們的需求,把握第一手資料。此外我還到其它學(xué)校找有關(guān)同行了解他們學(xué)校的情況,經(jīng)過(guò)初步調(diào)查,當(dāng)前吳橋中學(xué)學(xué)生成績(jī)處理情況介紹如下:</p><p> 吳橋中學(xué)是一所完全中學(xué),現(xiàn)有在校學(xué)生1100人,共15個(gè)教學(xué)班,分為初中部(9個(gè)班)、高中部(6個(gè)班)。初二年級(jí)新開(kāi)設(shè)物理課程,初三年級(jí)新開(kāi)設(shè)化學(xué)課程,高一新開(kāi)設(shè)信息技術(shù)課,高二文理分科,每次考試,文科班和理科班分開(kāi)統(tǒng)計(jì),高三與
25、高二類(lèi)同。所以使用環(huán)境復(fù)雜,而且具有代表性。現(xiàn)在學(xué)生成績(jī)處理采用在幾年前用VFP3.0編寫(xiě)的學(xué)生成績(jī)管理系統(tǒng),該系統(tǒng)統(tǒng)計(jì)打印結(jié)果能夠滿(mǎn)足學(xué)校需求,對(duì)總分以及單科的成績(jī)分析很詳細(xì),且打印的報(bào)表樣式優(yōu)美。本系統(tǒng)能夠及時(shí)處理出各次期中、期末以及畢業(yè)班每學(xué)年的8次統(tǒng)考,盡管每個(gè)年級(jí)人數(shù)都在一千人左右,但只要5個(gè)小時(shí)左右就能處理完畢一個(gè)年級(jí)的學(xué)生成績(jī),使用效果良好。然而此系統(tǒng)一個(gè)不足之處就是學(xué)生成績(jī)庫(kù)中的字段依次為“學(xué)號(hào)”、“姓名”、“班級(jí)號(hào)”、
26、“考試代號(hào)”、“語(yǔ)文”、“數(shù)學(xué)”、“英語(yǔ)”、“物理”、“化學(xué)”、“政治”、“歷史”、“地理”、“生物”、“總分”、“平均”、“班級(jí)名次”、“年級(jí)名次”、“班名升降”、“年名升降”等,大家一看就明白,如果出現(xiàn)新的考試科目,要么需要重新編程,要么就只有用學(xué)生成績(jī)庫(kù)里面列出的科目代替,所以它的通用性、適應(yīng)性較弱,當(dāng)2001年實(shí)行3+X高</p><p> 再來(lái)看一下學(xué)生成績(jī)管理系統(tǒng)的使用環(huán)境,吳橋中學(xué)中學(xué)實(shí)行校長(zhǎng)負(fù)責(zé)
27、制,下設(shè)一名分管教學(xué)的副校長(zhǎng),副校長(zhǎng)直接領(lǐng)導(dǎo)教導(dǎo)處,學(xué)校設(shè)有微機(jī)管理室,平時(shí)負(fù)責(zé)各種數(shù)據(jù)處理,輔助進(jìn)行教學(xué)管理。微機(jī)管理室直接受教導(dǎo)處領(lǐng)導(dǎo)。每次年級(jí)考試舉行前,各年級(jí)組長(zhǎng)到教導(dǎo)處領(lǐng)取學(xué)生成績(jī)填寫(xiě)單(即各班學(xué)生名單,每學(xué)期打印一次),考試結(jié)束后在規(guī)定的時(shí)間內(nèi)將填好的學(xué)生成績(jī)交給教導(dǎo)處,教導(dǎo)處送給微機(jī)管理室進(jìn)行成績(jī)處理,微機(jī)室在規(guī)定的時(shí)間內(nèi)處理完畢學(xué)生成績(jī),將打印結(jié)果送給文印室,文印室復(fù)印完畢,送給教導(dǎo)處,教導(dǎo)處再將處理結(jié)果分發(fā)給各班班主任
28、、有關(guān)校領(lǐng)導(dǎo)、檔案室等處。</p><p> 該學(xué)生成績(jī)管理系統(tǒng)的組織機(jī)構(gòu)設(shè)置如圖3-2所示</p><p> 學(xué)校現(xiàn)在已經(jīng)實(shí)現(xiàn)工資、分班、排課、學(xué)籍管理、成績(jī)處理、人事管理的計(jì)算機(jī)化,全部由微機(jī)管理室來(lái)進(jìn)行。而且學(xué)生成績(jī)的管理已經(jīng)初步規(guī)范化,學(xué)校領(lǐng)導(dǎo)也非常重視這一工作,為了以后更好地開(kāi)展這項(xiàng)工作,非常支持新系統(tǒng)的開(kāi)發(fā)工作。</p><p> 圖3-2本系統(tǒng)的
29、組織機(jī)構(gòu)設(shè)置圖</p><p> §3.2 系統(tǒng)的可行性調(diào)查</p><p> 可行性分析包括兩部分內(nèi)容:分析建立新的管理信息系統(tǒng)的必要性和可能性。分析建立信息系統(tǒng)的必要性時(shí)要注意用戶(hù)提出的理由是否充分和合理;分析建立信息系統(tǒng)的可能性主要包括經(jīng)濟(jì)可行性、技術(shù)可行性和社會(huì)可行性。</p><p> 經(jīng)濟(jì)可行性研究的目的是使新系統(tǒng)能達(dá)到以最小的開(kāi)發(fā)成本取
30、得最佳的經(jīng)濟(jì)效益。需要作投資估算,對(duì)開(kāi)發(fā)中所需人員、硬軟件支持以及其它費(fèi)用進(jìn)行估算,并對(duì)系統(tǒng)投入使用后帶來(lái)的經(jīng)濟(jì)效益進(jìn)行估計(jì)。</p><p> 技術(shù)可行性研究就是弄清現(xiàn)有技術(shù)條件能否順利完成開(kāi)發(fā)工作,硬軟件配置能否滿(mǎn)足開(kāi)發(fā)的需要等等。</p><p> 社會(huì)可行性研究是指新系統(tǒng)在投入使用后,對(duì)社會(huì)可能帶來(lái)的影響進(jìn)行分析。</p><p> 可行性分析的最后成
31、果是寫(xiě)出可行性分析報(bào)告??尚行苑治鰣?bào)告包括如下內(nèi)容:</p><p> ?使用單位的戰(zhàn)略目標(biāo),新系統(tǒng)的總體目標(biāo)及主要功能;</p><p> ?擬定新系統(tǒng)的總體方案;</p><p> ?從技術(shù)、經(jīng)濟(jì)、社會(huì)等方面論證技術(shù)方案的可行性;</p><p> ?制定投資規(guī)劃和開(kāi)發(fā)計(jì)劃。</p><p> 在系統(tǒng)初步
32、調(diào)查的基礎(chǔ)上,明確了使用單位現(xiàn)行管理系統(tǒng)存在的主要問(wèn)題和建立管理信息系統(tǒng)的初步設(shè)想,進(jìn)一步對(duì)系統(tǒng)目標(biāo)、范圍等因素進(jìn)行分析研究。</p><p> 3.2.1使用單位的戰(zhàn)略目標(biāo)</p><p> 吳橋中學(xué)現(xiàn)在是一所縣級(jí)中學(xué),學(xué)校在提高教師隊(duì)伍素質(zhì)、狠抓教學(xué)質(zhì)量的同時(shí),非常重視現(xiàn)代化教學(xué)管理手段的應(yīng)用,近幾年在這方面投入很大。使用微機(jī)及學(xué)生成績(jī)管理系統(tǒng)進(jìn)行學(xué)生成績(jī)處理,能夠及時(shí)準(zhǔn)確地對(duì)學(xué)生
33、的成績(jī)進(jìn)行統(tǒng)計(jì)分析。一方面可使校領(lǐng)導(dǎo)全面及時(shí)地了解各位教師的教學(xué)效果,另一方面,又能幫助各位班主任及任課教師了解各位學(xué)生的學(xué)習(xí)效果,減輕每次考試統(tǒng)計(jì)總分、排名次的工作量,提高效率及準(zhǔn)確度。現(xiàn)有的學(xué)生成績(jī)管理系統(tǒng)盡管已經(jīng)滿(mǎn)足了當(dāng)前學(xué)生成績(jī)處理的要求,但為了適應(yīng)未來(lái)課程調(diào)整的變化,所以非常希望能開(kāi)發(fā)出一個(gè)適應(yīng)性、通用性強(qiáng)的學(xué)生成績(jī)管理系統(tǒng)。</p><p> 3.2.2教務(wù)管理的目標(biāo)</p><
34、p> 學(xué)校教務(wù)管理信息系統(tǒng)的目標(biāo)是:按照管理信息系統(tǒng)的原理和方法,采用先進(jìn)的計(jì)算機(jī)信息技術(shù)和手段,充分利用現(xiàn)有微機(jī)設(shè)備,加強(qiáng)教學(xué)管理活動(dòng)中的各種信息資源的管理和應(yīng)用,提高學(xué)校教務(wù)管理的現(xiàn)代化水平,實(shí)現(xiàn)學(xué)籍管理、學(xué)生成績(jī)管理、新生分班、排課表、人事管理、工資管理等的微機(jī)化。在為學(xué)校教學(xué)管理活動(dòng)提供有關(guān)信息服務(wù)的基礎(chǔ)上,提供教學(xué)管理決策支持功能,為實(shí)現(xiàn)教學(xué)管理的科學(xué)化、信息化進(jìn)行技術(shù)準(zhǔn)備。</p><p>
35、 3.2.3學(xué)生成績(jī)管理系統(tǒng)的范圍和邊界</p><p> 學(xué)生成績(jī)管理信息系統(tǒng)的范圍和邊界是:為學(xué)校提供各次期中、期末考試及畢業(yè)班的統(tǒng)考中有關(guān)學(xué)生成績(jī)的各種信息,涵蓋學(xué)生成績(jī)處理的各項(xiàng)工作,涉及成績(jī)管理的各項(xiàng)功能。系統(tǒng)能夠?qū)Π嗉?jí)的單科、總分成績(jī),年級(jí)的單科、總分成績(jī)進(jìn)行統(tǒng)計(jì)分析。系統(tǒng)的數(shù)據(jù)來(lái)源是根據(jù)教導(dǎo)處送來(lái)的有關(guān)數(shù)據(jù)(學(xué)生名單、學(xué)生成績(jī)等),然后由微機(jī)管理室工作人員負(fù)責(zé)錄入。系統(tǒng)范圍不涉及數(shù)據(jù)實(shí)時(shí)采集功能,
36、也不涉及遠(yuǎn)程信息傳輸功能。此外,本系統(tǒng)暫時(shí)不為學(xué)籍管理系統(tǒng)提供有關(guān)信息,包括各次考試分?jǐn)?shù)、學(xué)生姓名等信息,以后將逐步完善本系統(tǒng)和學(xué)籍管理系統(tǒng),使兩者能共享數(shù)據(jù)。</p><p><b> 第四章 系統(tǒng)設(shè)計(jì)</b></p><p> 這個(gè)階段的主要目標(biāo)是將系統(tǒng)分析階段所提出的反映了用戶(hù)信息要求的系統(tǒng)邏輯方案轉(zhuǎn)換成可以實(shí)施的基于計(jì)算機(jī)的物理方案。</p>
37、<p> 系統(tǒng)設(shè)計(jì)階段的主要活動(dòng)包括:</p><p> ?、畔到y(tǒng)總體結(jié)構(gòu)設(shè)計(jì)。其中包括:</p><p> ?、傧到y(tǒng)總體布局方案的確定</p><p> ?、谲浖到y(tǒng)總體結(jié)構(gòu)的設(shè)計(jì)</p><p> ③計(jì)算機(jī)硬件方案的選擇和設(shè)計(jì)</p><p> ?、軘?shù)據(jù)存儲(chǔ)的總體設(shè)計(jì)</p><
38、;p><b> ⑤功能結(jié)構(gòu)圖設(shè)計(jì)</b></p><p> ?、扌畔⑾到y(tǒng)流程圖設(shè)計(jì)</p><p><b> ?、圃敿?xì)設(shè)計(jì)</b></p><p><b> ?、贁?shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p><b> ?、诖a設(shè)計(jì)</b></p>
39、<p><b> ?、圯敵鲈O(shè)計(jì)</b></p><p><b> ④輸入設(shè)計(jì)</b></p><p><b> ?、萏幚磉^(guò)程設(shè)計(jì)</b></p><p> ?、窍到y(tǒng)實(shí)施進(jìn)度與計(jì)劃的確定。</p><p> ⑷“系統(tǒng)設(shè)計(jì)說(shuō)明書(shū)”的編寫(xiě)。</p>&
40、lt;p> 本論文主要擇其重要環(huán)節(jié)進(jìn)行闡述。</p><p> §4.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)</p><p> 4.1.1 系統(tǒng)的總體布局方案</p><p> 系統(tǒng)的總體布局是指系統(tǒng)的硬軟件資源以及數(shù)據(jù)資源在空間上的分布特征。結(jié)合吳橋中學(xué)實(shí)際情況(吳橋中學(xué)的使用環(huán)境具有典型性,代表了大多數(shù)學(xué)校的使用情況),采用以下總體布局方案:</p
41、><p> 本系統(tǒng)的功能比較簡(jiǎn)單,并且規(guī)模不大,采用單機(jī)系統(tǒng)</p><p> 從信息資源管理的集中程度來(lái)看,采用集中式系統(tǒng)</p><p> 從信息處理的方式來(lái)看,采用批處理系統(tǒng)</p><p> 4.1.2軟件系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì):</p><p> 軟件系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)的主要任務(wù)就是將整個(gè)系統(tǒng)合理的劃分成各個(gè)功
42、能模塊,正確處理模塊之間與模塊內(nèi)部的聯(lián)系及它們之間的調(diào)用關(guān)系和數(shù)據(jù)聯(lián)系,定義各模塊的內(nèi)部結(jié)構(gòu)等,本系統(tǒng)的軟件總體結(jié)構(gòu)按分解-協(xié)調(diào)的原則,信息隱蔽抽象的原則,自頂向下的原則,一致性原則,面向用戶(hù)的原則進(jìn)行設(shè)計(jì)。</p><p> 4.1.3計(jì)算機(jī)硬件方案的選擇和設(shè)計(jì)</p><p> 本系統(tǒng)采用單機(jī)單用戶(hù)操作方式,基本配置如下:</p><p> 機(jī)型:奔騰四代
43、1.6G以上</p><p> 硬盤(pán):40G以上(至少需要250M自由空間,以運(yùn)行操作系統(tǒng)和本系統(tǒng))</p><p> 軟驅(qū):3.5′/1.44MB</p><p><b> 內(nèi)存:256M以上</b></p><p> 打印機(jī):一臺(tái),品牌不限。</p><p> 4.1.4數(shù)據(jù)存儲(chǔ)的總
44、體設(shè)計(jì)</p><p> 按用途分類(lèi)可把本系統(tǒng)文件分成以下幾種:</p><p> 主文件:系統(tǒng)中的主文件是最重要的共享文件,主要存放具有固定值屬性的數(shù)據(jù)。它需要長(zhǎng)期保存,并不斷更新。如學(xué)生信息文件、班級(jí)信息文件、用戶(hù)信息文件、課程文件、考試信息文件。</p><p> 處理文件:處理文件包含下一次更新文件所需要的全部記錄,本系統(tǒng)中的處理文件如學(xué)生成績(jī)文件&l
45、t;/p><p> 工作文件:暫時(shí)存放數(shù)據(jù)的文件。如存放學(xué)生成績(jī)排序結(jié)果的臨時(shí)文件,存放單科年級(jí)分析結(jié)果的臨時(shí)文件,存放年級(jí)總分分析結(jié)果的臨時(shí)文件,這些文件使用后里面的記錄立即被清除。</p><p> 4.1.5系統(tǒng)總體功能結(jié)構(gòu)設(shè)計(jì)</p><p> 通過(guò)對(duì)系統(tǒng)的數(shù)據(jù)流圖進(jìn)行分析,進(jìn)一步進(jìn)行功能分解,直到分解成含義明確,功能單一的功能模塊,從而得到系統(tǒng)的功能模塊
46、結(jié)構(gòu)圖,即系統(tǒng)的HIPO圖。本系統(tǒng)的HIPO圖如圖4-1(見(jiàn)下頁(yè))所示。</p><p><b> 圖4-1</b></p><p> 4.1.6新系統(tǒng)的計(jì)算機(jī)信息系統(tǒng)流程設(shè)計(jì)</p><p> 現(xiàn)在對(duì)其做一點(diǎn)改進(jìn),那就是,為了便于統(tǒng)計(jì)分析和輸出打印年級(jí)總分分析報(bào)表、年級(jí)單科分析報(bào)表,可以先根據(jù)課程信息庫(kù)文件、班級(jí)信息庫(kù)文件、學(xué)生成績(jī)庫(kù)文
47、件、考試信息庫(kù)文件生成一個(gè)臨時(shí)報(bào)表文件,然后再根據(jù)這個(gè)臨時(shí)報(bào)表庫(kù)文件進(jìn)行打印輸出,一旦輸出打印結(jié)束,便將這個(gè)臨時(shí)報(bào)表庫(kù)文件清空。因此,本系統(tǒng)的信息系統(tǒng)流程圖如圖4-2所示</p><p><b> 圖4-2</b></p><p><b> 系統(tǒng)實(shí)施</b></p><p> 系統(tǒng)實(shí)施在管理信息系統(tǒng)的生命周期中,要繼
48、承此前各階段的工作,將技術(shù)設(shè)計(jì)轉(zhuǎn)化成為物理實(shí)現(xiàn),是系統(tǒng)建設(shè)的實(shí)現(xiàn)階段。因此,系統(tǒng)實(shí)施的成果將是系統(tǒng)分析和設(shè)計(jì)階段的結(jié)晶。</p><p> 系統(tǒng)實(shí)施的主要活動(dòng):</p><p> 程序設(shè)計(jì) ②系統(tǒng)測(cè)試 ③系統(tǒng)安裝 ④新舊系統(tǒng)轉(zhuǎn)換</p><p><b> §5.1程序設(shè)計(jì)</b></p><p>
49、; 5.1.1 數(shù)據(jù)庫(kù)的選擇—client/server(客戶(hù)機(jī)/服務(wù)器)型數(shù)據(jù)庫(kù)簡(jiǎn)介</p><p> 數(shù)據(jù)庫(kù)雖然家族龐大,但一般來(lái)說(shuō)可分為兩種:文件型數(shù)據(jù)庫(kù)和C/S型數(shù)據(jù)庫(kù)。</p><p> 文件型數(shù)據(jù)庫(kù)是基于文件的,數(shù)據(jù)被按照一定格式儲(chǔ)存在磁盤(pán)里,使用時(shí)由應(yīng)用程序通過(guò)相應(yīng)的驅(qū)動(dòng)程序甚至直接對(duì)數(shù)據(jù)文件進(jìn)行讀取。DBF(Dbase/Foxbase/Foxpro)數(shù)據(jù)庫(kù)就是文件型數(shù)
50、據(jù)庫(kù),這種數(shù)據(jù)庫(kù)的訪問(wèn)方式是被動(dòng)式的,只要了解其文件格式,任何程序都可以直接讀取,這就使得它的安全性相當(dāng)糟糕。使用DBF(Dbase/Foxbase/Foxpro)系列開(kāi)發(fā)工具,可以用它自己的語(yǔ)法開(kāi)發(fā)出應(yīng)用程序,其中對(duì)DBF文件的具體訪問(wèn)操作被封裝了,這樣才使得大家可以方便地開(kāi)發(fā)應(yīng)用程序。但是,在蓬勃興起的網(wǎng)絡(luò)應(yīng)用中,文件型數(shù)據(jù)庫(kù)更是難有用武之地:效率低下,不支持很多SQL命令,不支持視圖、觸發(fā)器、存儲(chǔ)過(guò)程等高級(jí)功能。</p>
51、;<p> 近二十多年來(lái),網(wǎng)絡(luò)的普遍使用,使人們提出了客戶(hù)/服務(wù)器(C/S)體系結(jié)構(gòu)。這種結(jié)構(gòu)如圖5-1所示,客戶(hù)機(jī)一般是中低檔微機(jī),服務(wù)器一般是高檔微機(jī)或小型機(jī)。此種結(jié)構(gòu)的優(yōu)勢(shì)在于:可使多人共享服務(wù)器資源,協(xié)調(diào)工作,并且此體系結(jié)構(gòu)的花費(fèi)要比使用大中型計(jì)算機(jī)少得多,性能也不差,更加靈活。</p><p> 圖5-1 C/S體系結(jié)構(gòu)</p><p> 在開(kāi)發(fā)網(wǎng)絡(luò)計(jì)算機(jī)系
52、統(tǒng)環(huán)境下的數(shù)據(jù)庫(kù)應(yīng)用時(shí),C/S型數(shù)據(jù)庫(kù)成為主流是理所當(dāng)然的事。C/S型數(shù)據(jù)庫(kù)非常適合于網(wǎng)絡(luò)應(yīng)用,可以同時(shí)被多個(gè)用戶(hù)所訪問(wèn),并賦予不同的用戶(hù)以不同的安全權(quán)限。C/S型數(shù)據(jù)庫(kù)支持的數(shù)據(jù)量要比文件型數(shù)據(jù)庫(kù)大得多,還支持分布式的數(shù)據(jù)庫(kù),一般能完善地支持SQL語(yǔ)言,非常適于高端應(yīng)用。</p><p> C/S型數(shù)據(jù)庫(kù)應(yīng)用程序由兩個(gè)部分組成:服務(wù)器和客戶(hù)機(jī)。服務(wù)器指數(shù)據(jù)庫(kù)管理系統(tǒng),用于描述、管理和維護(hù)數(shù)據(jù)庫(kù)的程序系統(tǒng),是數(shù)
53、據(jù)庫(kù)系統(tǒng)核心組成部分,對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一的管理和控制??蛻?hù)機(jī)則將用戶(hù)的需求送交到服務(wù)器,再?gòu)姆?wù)器返回?cái)?shù)據(jù)給用戶(hù)。</p><p> 隨著應(yīng)用復(fù)雜性的提高和INTERNET的普及,C/S型數(shù)據(jù)庫(kù)也難以滿(mǎn)足要求了,于是又出現(xiàn)了三層模型、多層模型,這里不作介紹了。</p><p> 5.1.2 開(kāi)發(fā)工具的選擇—PowerBuilder 7.0簡(jiǎn)介</p><p>
54、現(xiàn)在流行的數(shù)據(jù)庫(kù)開(kāi)發(fā)工具很多,象Delphi,Vb,Vc++,Vfp等,那么為什么本系統(tǒng)要采用PowerBuilder 7.0呢?</p><p> Sybase公司推出的PB 7.0是一種可視化的,面向?qū)ο蟮目焖賾?yīng)用開(kāi)發(fā)(RAD)工具。PB7.0提供了對(duì)目前流行的幾乎所有的大型數(shù)據(jù)庫(kù)和桌面數(shù)據(jù)庫(kù)的支持,同時(shí)它內(nèi)置了32位關(guān)系型數(shù)據(jù)庫(kù)Sybase SQL Anywhere ,可以方便地創(chuàng)建Adapter ser
55、ver anywhere本地?cái)?shù)據(jù)庫(kù)。PB 7.0還支持多種軟硬件平臺(tái),它不僅可以跨平臺(tái)共享程序中的各種對(duì)象,還支持應(yīng)用程序的跨平臺(tái)開(kāi)發(fā)和分布,極大地減輕了程序員在不同平臺(tái)上移植程序的工作量。從PB6.5開(kāi)始,增加了PowerSite Web應(yīng)用開(kāi)發(fā)技術(shù),成為建立C/S和多層分布式應(yīng)用的一個(gè)完整的4GL RAD環(huán)境。PB 7.0的推出,標(biāo)志著Sybase公司的開(kāi)發(fā)工具的重心已經(jīng)從桌面轉(zhuǎn)移到跨平臺(tái)的分布式應(yīng)用和基于Internet的Web
56、應(yīng)用領(lǐng)域。</p><p> 數(shù)據(jù)窗口(DataWindow)有11種顯示風(fēng)格,5種數(shù)據(jù)源,是人機(jī)交互的主要界面。它有兩個(gè)主要作用:首先通過(guò)它可以操作數(shù)據(jù)庫(kù)的數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行各種處理,幾乎所有的數(shù)據(jù)庫(kù)操作都可在其中完成,包括多表更新,復(fù)雜的多表數(shù)據(jù)查詢(xún)等。其次通過(guò)它可以設(shè)計(jì)數(shù)據(jù)的輸入、輸出格式以及數(shù)據(jù)處理中經(jīng)常用到的數(shù)據(jù)圖表和多種屏幕顯示風(fēng)格。數(shù)據(jù)窗口對(duì)象是從數(shù)據(jù)源中獲得數(shù)據(jù)或向數(shù)據(jù)源中寫(xiě)入數(shù)據(jù)。</p
57、><p> 掌握PB 7.0這個(gè)開(kāi)發(fā)工具的重點(diǎn)也是難點(diǎn)便是全面理解和掌握數(shù)據(jù)窗口技術(shù),此外還要熟悉PowerBuilder的開(kāi)發(fā)環(huán)境,掌握使用PB開(kāi)發(fā)軟件的一般流程,開(kāi)發(fā)時(shí)常用的函數(shù)、事件等。這樣才能順利地進(jìn)行軟件的開(kāi)發(fā)。這里只簡(jiǎn)單地介紹一下應(yīng)用對(duì)象與庫(kù)及其他對(duì)象的關(guān)系,如圖(5-2)所示:</p><p> 關(guān)于其它技術(shù)細(xì)節(jié)問(wèn)題,這里就不一一詳述了。</p><p&g
58、t; 5.1.3 開(kāi)發(fā)平臺(tái)的選擇</p><p> 基于上面數(shù)據(jù)庫(kù)產(chǎn)品和開(kāi)發(fā)工具的運(yùn)行要求,考慮到本系統(tǒng)的性能要求,選擇了Windows 98作為開(kāi)發(fā)、測(cè)試和運(yùn)行平臺(tái)。</p><p> 5.1.4 各模塊程序設(shè)計(jì)舉例</p><p> 一、建立一個(gè)新的應(yīng)用:選擇“File”菜單中 “New”菜單項(xiàng),在彈出的窗口中選擇“start wizard”選項(xiàng)卡,再選
59、擇其中的“Application”圖標(biāo),然后按提示輸入相應(yīng)的應(yīng)用名稱(chēng)和路徑即可。本應(yīng)用的名稱(chēng)為“score_manager”。在創(chuàng)建應(yīng)用的同時(shí),系統(tǒng)提示建立庫(kù)文件,本系統(tǒng)先建立一個(gè)與應(yīng)用同名的庫(kù)文件“score_manager.pbl” 。</p><p><b> 圖5-2 </b></p><p> 創(chuàng)建、連接數(shù)據(jù)庫(kù),創(chuàng)建數(shù)據(jù)庫(kù)表:</p>
60、<p> 創(chuàng)建、連接數(shù)據(jù)庫(kù)以及創(chuàng)建數(shù)據(jù)庫(kù)表這里就不一一細(xì)說(shuō)了。這里,新創(chuàng)建了一個(gè)名為user.db的用戶(hù)信息庫(kù),存放有用戶(hù)名和密碼。為了判斷本系統(tǒng)是否首次運(yùn)行、運(yùn)行的次數(shù)、連接數(shù)據(jù)庫(kù)表,本系統(tǒng)特地建立了名為first.ini的配置文件。文件內(nèi)容如下:</p><p><b> [start]</b></p><p><b> first=1&
61、lt;/b></p><p> [Database]</p><p><b> DBMS=ODBC</b></p><p><b> Database=</b></p><p><b> UserId=</b></p><p> Data
62、basePassword=</p><p> LogPassword=</p><p> ServerName=</p><p><b> LogId=</b></p><p><b> Lock=</b></p><p> DbParm=ConnectString
63、='DSN=ASA 6.0 Sample;UID=dba;PWD=sql'</p><p><b> Prompt=0</b></p><p> 此文件的進(jìn)一步應(yīng)用將在下面介紹。</p><p> 本應(yīng)用的“open”事件編程:</p><p> 本模塊程序框圖:如圖5-3所示
64、 </p><p><b> 2.代碼如下:</b></p><p><b> string cs</b></p><p> integer rc,sy</p><p> rc=profileint("first.ini","start"
65、,"first",3) //讀取運(yùn)行次數(shù)</p><p><b> sy=rc+1</b></p><p> cs=string(sy) </p><p> if rc=1 then //如果系統(tǒng)是首次運(yùn)行,打開(kāi)系統(tǒng)注冊(cè)窗口(轉(zhuǎn)下頁(yè))</p><p><b> 圖5-3 <
66、/b></p><p><b> ?。ń由享?yè))</b></p><p> open(w_test)</p><p> elseif rc=66 then //如果系統(tǒng)運(yùn)行了66次,再進(jìn)行注冊(cè)</p><p> messagebox("注意!","你已經(jīng)使用了66次了,請(qǐng)注冊(cè)。&q
67、uot;)</p><p> setprofilestring("first.ini","start","first","66")</p><p><b> return</b></p><p> else//如果不是首次運(yùn)行,打開(kāi)Splash 窗口,并連接
68、數(shù)據(jù)庫(kù)</p><p> open(w_splash)</p><p> string ls_startupfile //此變量保存獲取數(shù)據(jù)庫(kù)信息的文件名</p><p> //數(shù)據(jù)庫(kù)連接信息存儲(chǔ)在文件"first.ini"中</p><p> ls_startupfile = "first.ini&qu
69、ot;</p><p> //從文件(pb.ini)中獲取數(shù)據(jù)庫(kù)連接信息</p><p> sqlca.dbms = profilestring(ls_startupfile,"database","dbms", "")</p><p> sqlca.database=profilestring(ls
70、_startupfile,"database","database","") </p><p> sqlca.userid=profilestring(ls_startupfile,"database","userid","")</p><p> sqlca.dbpa
71、ss=profilestring(ls_startupfile,"database","dbpass", "")</p><p> sqlca.logid = profilestring(ls_startupfile,"database","logid", "")</p><
72、;p> sqlca.logpass = profilestring(ls_startupfile,"database","LogPassWord", "")</p><p> sqlca.servername = profilestring(ls_startupfile,"database","servername
73、", "")</p><p> sqlca.dbparm = profilestring(ls_startupfile,"database","dbparm", "")</p><p> //往配置文件中寫(xiě)入新的運(yùn)行次數(shù)</p><p> setprofilestring
74、("first.ini","start","first",cs)</p><p> connect; //連接數(shù)據(jù)庫(kù)</p><p> if sqlca.sqlcode<>0 then</p><p> Messagebox("錯(cuò)誤","不能連接到數(shù)據(jù)庫(kù)&qu
75、ot;)</p><p><b> return</b></p><p><b> end if</b></p><p><b> end if</b></p><p> 四、系統(tǒng)認(rèn)證模塊(w_test)</p><p> 當(dāng)運(yùn)行此功能時(shí),系統(tǒng)
76、彈出窗口,窗口及各控件的屬性設(shè)置略。</p><p><b> 圖5-4</b></p><p> ?、逶撃K的框圖如圖5-5所示。</p><p><b> 圖5-5</b></p><p> ?、嬖撃K的代碼如下:</p><p> 1.W-test 的open事件
77、:</p><p> //以下代碼使窗口居中</p><p> Environment lenv//設(shè)置環(huán)境變量lenv </p><p> integer l_screenwidth,l_screenheight,l_rc,l_x=1,l_y=1</p><p> l_rc=getenvironment(lenv)</p&g
78、t;<p> if l_rc=1 then</p><p> l_screenwidth=pixelstounits(lenv.screenwidth,xpixelstounits!)</p><p> l_screenheight=pixelstounits(lenv.screenheight,ypixelstounits!)</p><p>
79、 l_x=(l_screenwidth/2) - (this.width/2)</p><p> l_y=(l_screenheight/2) - (this.height/2)</p><p> this.move(l_x,l_y)</p><p><b> end if</b></p><p> //由當(dāng)前
80、系統(tǒng)的秒數(shù)和小時(shí)數(shù)算出一個(gè)數(shù)字作為序列號(hào),并賦值給sle_1</p><p> integer yz</p><p> yz=second(now())*hour(now())</p><p> sle_1.text=string(yz)</p><p> 2.聲明窗口的全局外部函數(shù)GetCurrentDirectoryA(),得出本
81、程序運(yùn)行的當(dāng)前路徑,此函數(shù)屬于WINDOWS API函數(shù)。</p><p> FUNCTION ulong GetCurrentDirectoryA(ulong BufferLen,ref string currentdir)&</p><p> Library "kernel32.dll" </p><p> 3.“確定”按鈕的c
82、lick事件代碼:</p><p><b> int sle3</b></p><p> sle3=integer(sle_1.text)*78 + 1216 //算出認(rèn)證碼</p><p> //比較用戶(hù)輸入結(jié)果和認(rèn)證碼是否相同</p><p> if integer(sle_3.text)<>sl
83、e3 then</p><p> messagebox("對(duì)不起!","認(rèn)證碼有誤,請(qǐng)重新輸入或與軟件供應(yīng)商聯(lián)系。")</p><p><b> else </b></p><p> messagebox("注冊(cè)成功","歡迎使用!")</p>
84、<p> //得出當(dāng)前程序運(yùn)行路徑 </p><p> ulong l_buf</p><p><b> l_buf=100</b></p><p> string ls_curdir,st,sdrv,sstart,sini</p><p> ls_curdir=space(l_buf)</
85、p><p> GetCurrentDirectoryA(l_buf,ls_curdir)</p><p> st = ls_curdir+'\'+'scomana.db'</p><p> sdrv=ls_curdir+'\'+'dbodbc6.dll'</p><p> s
86、start=ls_curdir+'\'+'dbeng6.exe -c 8m'</p><p> //將數(shù)據(jù)源名稱(chēng)“scomana”注冊(cè)到"HKEY_CURRENT_USER\software\odbc\odbc.ini\odbc data source"下</p><p> registryset("HKEY_CURRENT
87、_USER\software\odbc\odbc.ini\ODBC DataSources","scomana",regstring!,"Adaptive Server Anywhere 6.0")</p><p> registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\ODBC</p>
88、<p> Data Sources","ASA 6.0 Sample",regstring!,"Adaptive Server Anywhere 6.0")</p><p> //新增以該數(shù)據(jù)源名稱(chēng)"scomana"為鍵名的子鍵</p><p> registryset("HKEY_CURR
89、ENT_USER\software\odbc\odbc.ini\scomana","",</p><p> regstring!,"")</p><p> //創(chuàng)建連接到數(shù)據(jù)源所需要的參數(shù)</p><p> registryset("HKEY_CURRENT_USER\software\odbc\od
90、bc.ini\scomana","autostop",regstring!,"yes")</p><p> registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\scomana",</p><p> "databasefile",regstri
91、ng!,st)</p><p> registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\scomana",</p><p> "databasename",regstring!,"scomana") </p><p> registryset(&q
92、uot;HKEY_CURRENT_USER\software\odbc\odbc.ini\scomana","driver",</p><p> regstring!,"dbodbc6.dll")</p><p> registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\sc
93、omana","pwd",</p><p> regstring!,"sql") registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\scomana","start",</p><p> regstring!,"dbeng6 -
94、Q")</p><p> registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\scomana","uid",</p><p> regstring!,"dba")</p><p> //注冊(cè)ASA 6.0 Sample</p>
95、;<p> registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\</p><p> ASA 6.0 Sample","",regstring!,"")</p><p> //創(chuàng)建連接到數(shù)據(jù)源所需要的參數(shù)</p><p> regi
96、stryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\</p><p> ASA 6.0 Sample","autostop",regstring!,"yes")</p><p> registryset("HKEY_CURRENT_USER\software\odbc\
97、odbc.ini\</p><p> ASA 6.0 Sample","databasefile",regstring!,st)</p><p> registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\</p><p> ASA 6.0 Sample",&q
98、uot;driver",regstring!,sdrv)</p><p> registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\</p><p> ASA 6.0 Sample","pwd",regstring!,"sql")</p><p&
99、gt; registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\</p><p> ASA 6.0 Sample","start",regstring!,sstart)</p><p> registryset("HKEY_CURRENT_USER\software\odbc\odb
100、c.ini\</p><p> ASA 6.0 Sample","uid",regstring!,"dba")</p><p> registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\ASA 6.0 Sample",</p><p> &
101、quot;Description",regstring!,"Adaptive Server Anywhere Sample Database")</p><p> registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\ASA 6.0 Sample",</p><p> "I
102、ntegrated",regstring!,"No")</p><p> registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\ASA 6.0 Sample",</p><p> "Debug",regstring!,"No")</p&g
103、t;<p> registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\ASA 6.0 Sample",</p><p> "DisableMultiRowFetch",regstring!,"No")</p><p> setprofilestring(&qu
104、ot;first.ini","start","first","2")</p><p> string ls_startupfile //此變量保存獲取數(shù)據(jù)庫(kù)信息的文件名</p><p> //數(shù)據(jù)庫(kù)連接信息存儲(chǔ)在文件"first.ini"中</p><p> ls_sta
105、rtupfile = ls_curdir+'\'+'first.ini'</p><p> //從文件(pb.ini)中獲取數(shù)據(jù)庫(kù)連接信息</p><p> sqlca.dbms = profilestring(ls_startupfile,"database","dbms", "")</
106、p><p> sqlca.database = profilestring(ls_startupfile,"database","database", "") </p><p> sqlca.userid = profilestring(ls_startupfile,"database","useri
107、d", "")</p><p> sqlca.dbpass = profilestring(ls_startupfile,"database","dbpass", "")</p><p> sqlca.logid = profilestring(ls_startupfile,"datab
108、ase","logid", "")</p><p> sqlca.logpass = profilestring(ls_startupfile,"database","LogPassWord", "")</p><p> sqlca.servername = profilest
109、ring(ls_startupfile,"database","servername", "")</p><p> sqlca.dbparm = profilestring(ls_startupfile,"database","dbparm", "")</p><p>
110、<b> //連接數(shù)據(jù)庫(kù)</b></p><p> Connect Using Sqlca ;</p><p> if sqlca.sqlcode<>0 then</p><p> Messagebox("錯(cuò)誤","不能連接到數(shù)據(jù)庫(kù)")</p><p><
111、b> return</b></p><p><b> end if</b></p><p> open(w_splash)</p><p><b> end if</b></p><p> 4.“退出”按鈕的click事件:</p><p> s
112、etprofilestring("first.ini","start","first","1")//運(yùn)行次數(shù)置1</p><p> close(parent)</p><p> 五、創(chuàng)建Splash窗口(w_splash)</p><p> 現(xiàn)在的商業(yè)化軟件在進(jìn)入程序主界面以前都有
113、一個(gè)顯示窗口,用來(lái)顯示一些信息,例如進(jìn)入Powerbuilder時(shí)的暗紅色窗口就是這種窗口,它的作用是避免因應(yīng)用程序初始化工作占用時(shí)間太長(zhǎng)而讓用戶(hù)感到煩燥。</p><p> 本系統(tǒng)的splash窗口采用名為back.jpg的圖片作背景,上面寫(xiě)有一些關(guān)于本軟件的信息,在屏幕上停留8秒鐘之后,自動(dòng)消失。</p><p> 實(shí)現(xiàn)本模塊功能的代碼如下:</p><p>
114、; W_splash窗口的open事件代碼:</p><p> //使窗口居中的代碼可參考“系統(tǒng)認(rèn)證”模塊中的相關(guān)代碼,這里從略。</p><p> p_1.PictureName = "back.jpg"</p><p> timer(8,this)//8秒鐘后觸發(fā)計(jì)時(shí)器事件</p><p> W_splash
115、窗口的timer事件代碼:</p><p> close(this)//關(guān)閉此窗口,同時(shí)引起Close事件</p><p> W_splash窗口的close事件代碼:</p><p> timer(0,this)</p><p> open(w_login)//打開(kāi)系統(tǒng)登錄窗口</p><p> close
116、(w_test)</p><p> 4.W_splash窗口的key事件代碼:(當(dāng)用戶(hù)按下鍵盤(pán)上任意一鍵時(shí)發(fā)生)</p><p> close(this)</p><p> 5. W_splash窗口的click事件代碼:(當(dāng)用戶(hù)按下鼠標(biāo)左鍵時(shí)發(fā)生)</p><p> close(this)</p><p>
117、 六、創(chuàng)建系統(tǒng)菜單scomanager:</p><p> 菜單項(xiàng)具體內(nèi)容與5.1.5中的圖5-1內(nèi)容基本一致。部分菜單項(xiàng)設(shè)置了快捷鍵。</p><p> 七、設(shè)計(jì)系統(tǒng)運(yùn)行主窗口w_main:</p><p> 系統(tǒng)運(yùn)行主窗口w_main是系統(tǒng)運(yùn)行的主界面,里面加入了菜單scomanager和一個(gè)工具欄,并設(shè)置了一個(gè)背景圖pic0003.jpg,此窗口的運(yùn)行結(jié)
118、果如圖</p><p><b> 5-6所示</b></p><p><b> 圖5-6</b></p><p> 八、系統(tǒng)登錄窗口(w_login)編程:</p><p> ?、澹灸K程序流程圖,如圖5-6所示</p><p> ?、妫\(yùn)行時(shí)的界面如圖5-7所示,有
119、關(guān)控件及屬性如何設(shè)置略。這里著重</p><p><b> 圖5-7</b></p><p> 講述一下如何用下拉列表框把user.db表中的用戶(hù)名給列舉出來(lái),這里的下拉列表框又叫下拉子數(shù)據(jù)窗口。步驟如下:①新建一數(shù)據(jù)窗口對(duì)象,其顯示風(fēng)格為“freeform”,“Data Source”為“Quick Select”,選擇“user”表中的“username”字段
120、,保存該數(shù)據(jù)窗口對(duì)象命名為“d_username”。②再新建一數(shù)據(jù)窗口對(duì)象,其顯示風(fēng)格為“freeform”,“Data Source”為“Quick Select”,選擇“user”表中的“username”字段,在其屬性畫(huà)板中,從“EditStyle”列表中選擇“DropDownDW”,其“Display Column”設(shè)置為“username”,其“Data Column”設(shè)置為“username”,選中“Always Show
121、Arrow”屬性,其“Datawindow”設(shè)置為“d_username”,這時(shí)把上一步建立的數(shù)據(jù)窗口加入進(jìn)來(lái)了,保存該數(shù)據(jù)窗口,命名為“d_user”。③在如圖5-7所示的窗口中加入數(shù)據(jù)窗口控件dw_1,</p><p> 其 “dataobject”設(shè)置為“d_user”。再加入其它控件,結(jié)果如圖5-7所示。</p><p> ㈢有關(guān)事件代碼如下:</p><p
122、> 窗口W_login的open事件代碼:</p><p> dw_1.settransobject(sqlca)</p><p> dw_1.retrieve()</p><p> sle_2.setfocus()</p><p> //使窗口居中的代碼參見(jiàn)系統(tǒng)認(rèn)證模塊的相關(guān)代碼。</p><p>
123、 確定按鈕的click事件代碼:</p><p> userxm=dw_1.gettext()//從dw_1中選擇用戶(hù)名稱(chēng)</p><p> string kouling</p><p> kouling=sle_2.text//從sle_2中獲得輸入的密碼</p><p> //以下代碼是從user.db中得出和用戶(hù)名對(duì)應(yīng)的密碼,并
124、賦值給變量mima</p><p> string mima</p><p><b> connect;</b></p><p> select "user"."password"</p><p> into :mima</p><p> from
125、 "user"</p><p> where "user"."username"=:userxm;</p><p> //以下代碼進(jìn)行密碼比較</p><p> if kouling=mima then</p><p> Open(w_main)//打開(kāi)系統(tǒng)主界面</
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)(論文)-pb9.0學(xué)生學(xué)籍管理系統(tǒng)的研究與設(shè)計(jì)
- 基于pb9.0的學(xué)生信息管理系統(tǒng)課題設(shè)計(jì)報(bào)告
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì)(論文)
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì)(論文)
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)----學(xué)生成績(jī)管理系統(tǒng)
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng)---畢業(yè)設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng)pb課程設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì) (3)
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì) (3)
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì)報(bào)告
- 畢業(yè)設(shè)計(jì)--學(xué)生成績(jī)管理設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論