

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 第一章 緒 論</p><p> 伴隨著計算機軟硬件技術的發(fā)展,計算機的技術和應用獲得了突飛猛進的發(fā)展,計算機已經在大致如下的領域得到廣泛的應用:</p><p> 1、科學計算:如在天文學、生物學、空氣動力學、核物理學、地質勘探、新材料的研制和天氣預報等領域中。</p><p> 2、數據處理:與科學計算不同,數據處理涉及的數據
2、量大,但計算方法較簡單。</p><p> 3、過程控制:指由計算機通過傳感器及時采集數據,根據采集的數據和預先設定的要求,由計算機處理后,產生控制信號并通過控制系統(tǒng)對受控對象進行控制或調整。</p><p> 4、計算機模擬:用計算機程序及相應的設備代替或模擬實物或實際環(huán)境,用于實驗、測試、特殊訓練等。</p><p> 5、計算機輔助系統(tǒng):包括計算機輔助設
3、計,計算機輔助制造、計算機輔助教育等。</p><p> 6、人工智能:指用計算機模擬人的思維和行為,包括推理,學習,模擬人的感知等?,F(xiàn)在在機器人、專家系統(tǒng)、虛擬現(xiàn)實等方面已經獲得了實際的應用。</p><p> 7、辦公自動化:可分為事務型、管理型和決策型三個層次。事務型主要處理日常的辦公事務。管理型辦公自動化系統(tǒng)又稱為管理信息系統(tǒng)。決策型辦公自動化系統(tǒng)是在上述兩個系統(tǒng)的基礎上增加決
4、策支持系統(tǒng)構成的。隨著互聯(lián)網、遠程會議系統(tǒng)、多媒體技術的發(fā)展,同計算機網絡連接起來的新型辦公室不久將展現(xiàn)在人們面前。</p><p><b> 8、信息高速公路。</b></p><p><b> 9、電子商務</b></p><p><b> 10、新聞出版</b></p>&l
5、t;p> 11、音樂、繪畫和影視娛樂。</p><p> 隨著生產社會化的擴大,科學技術的進步,人類知識總量呈爆炸式的增長,各行各業(yè)的管理工作越來越離不開信息,信息已被列為與物質、能源相并列的人類社會發(fā)展的三大資源之一。隨著以計算機技術、通信技術、網絡技術為代表的現(xiàn)代信息技術的飛躍發(fā)展,人類正在從工業(yè)時代向信息時代邁進,信息處理已經成為當今世界上一項重要的社會活動。</p><p&g
6、t; 由上可知,信息工作的迅速增長,使計算機的應用范圍越來越廣,應用的功能也由一般的數據處理發(fā)展到支持決策。這就導致了管理信息系統(tǒng)的產生。管理信息系統(tǒng)是一個集計算機技術、信息技術、數據庫技術、現(xiàn)代管理理論為一體的綜合性系統(tǒng)。建立這樣一個復雜的系統(tǒng)需要付出昂貴的代價的,因為它屬于勞動密集型、智力密集型、資金技術密集型的項目。所以我們有必要對管理信息系統(tǒng)有一個深入的了解,這是建立比較實用的應用系統(tǒng)的前提所在。</p><
7、;p> 第二章 開發(fā)方法的選擇</p><p> §2.1軟件工程方法概述</p><p> 建立一個信息系統(tǒng),是一項復雜的軟件工程的實施。近30年來,軟件工程發(fā)展成為新科學,至今已經成為軟件產業(yè)的重要支柱。它以計算機軟件為工程對象,研究如何對其進行定義、開發(fā)和維護。多年來被人們沿用的手工作坊工的軟件開發(fā)方法,在軟件產品的開發(fā)效率和產品質量、成本等方面都無法滿足
8、需求。用這種方法所開發(fā)的軟件產品質量低劣、可靠性差、用戶難以使用、開發(fā)成本太高等問題,給軟件項目帶來嚴重后果。不少單位花費了大量資金,卻并未取得預期的效果。</p><p> §2.2結構化生命周期法簡介</p><p> 結構化生命周期法是一種傳統(tǒng)的管理信息系統(tǒng)開發(fā)方法。其基本思路是把整個系統(tǒng)開發(fā)過程分成若干階段,每個階段進行若干活動,每項活動應用一系列標準、規(guī)范、方法和技
9、術完成一個或者多個任務,形成符合給定規(guī)范的產品。結構化生命周期法的主要原則,歸納起來有以下四條:</p><p><b> 用戶參與的原則</b></p><p><b> 先邏輯后物理的原則</b></p><p><b> 自頂向下的原則</b></p><p>
10、工作成果描述標準化的原則</p><p> 其開發(fā)大致分為以下四個階段:</p><p> 系統(tǒng)規(guī)劃:主要目標是制訂系統(tǒng)的長期發(fā)展方案,決定系統(tǒng)在整個生命周期內的發(fā)展方向、規(guī)模和發(fā)展進程。</p><p><b> 系統(tǒng)開發(fā)</b></p><p><b> 系統(tǒng)分析</b></p&g
11、t;<p><b> ?系統(tǒng)初步調查</b></p><p><b> ?系統(tǒng)的可行性研究</b></p><p> ?現(xiàn)行系統(tǒng)的詳細調查</p><p> ?新系統(tǒng)邏輯方案的提出</p><p><b> 系統(tǒng)設計</b></p><
12、;p><b> ?系統(tǒng)總體結構設計</b></p><p><b> ?系統(tǒng)總體功能設計</b></p><p> ?系統(tǒng)總體物理結構設計</p><p><b> ?系統(tǒng)詳細設計</b></p><p><b> ?數據庫設計</b>&l
13、t;/p><p><b> ?代碼設計</b></p><p><b> ?輸入輸出設計</b></p><p><b> ?處理過程設計</b></p><p><b> 系統(tǒng)實現(xiàn)</b></p><p><b>
14、 ?程序設計</b></p><p><b> ?系統(tǒng)測試</b></p><p><b> ?系統(tǒng)轉換</b></p><p><b> 系統(tǒng)運行及維護</b></p><p><b> 系統(tǒng)評價</b></p><
15、;p><b> §2.3原型法簡介</b></p><p> 原型法的基本思路是用戶與系統(tǒng)分析、設計人員合作,根據用戶提出的最基本的問題和想法,先很快建立一個應用軟件的骨架,作為應用開發(fā)的實驗模型,這個實驗模型叫做系統(tǒng)原型。用戶先運行這個原型系統(tǒng),熟悉它,使用它,受到啟發(fā)并取得經驗,然后對系統(tǒng)的目標和功能提出精確、具體的要求,在對系統(tǒng)的需求最后決定后,再用傳統(tǒng)的方法建設系
16、統(tǒng),通常原型系統(tǒng)的部分程序可以在后來的系統(tǒng)建設中直接采用。該方法是傳統(tǒng)方法和用戶開發(fā)相結合的方法。</p><p> 建立一個管理信息系統(tǒng)的原型可分四步進行:</p><p> (1)明確用戶基本信息需求</p><p> (2)建立初始的原型系統(tǒng)</p><p> (3)使用原型系統(tǒng),進一步明確用戶需求</p><
17、;p> (4)修改和完善原型系統(tǒng)</p><p> 快速原型法的開發(fā)過程可分為快速分析、構造模型、運行模型、評價模型、改進模型等。</p><p> §2.4本系統(tǒng)開發(fā)方法選擇</p><p> 基于上述兩種開發(fā)方法的優(yōu)劣,本系統(tǒng)利用軟件工程化思想和方法,總體上是采用結構化生命周期法從上而下地進行系統(tǒng)分析和設計的,但系統(tǒng)實現(xiàn)等步驟采用了自下而
18、上的快速原型法。</p><p> 第三章 系統(tǒng)規(guī)劃</p><p> 系統(tǒng)規(guī)劃是管理信息系統(tǒng)生命周期的第一階段,這一階段的主要目標是制訂系統(tǒng)的長期發(fā)展方案,決定系統(tǒng)在整個生命周期內的發(fā)展方向、規(guī)模和發(fā)展進程。這一階段對MIS系統(tǒng)的成敗,對整個組織信息化的進展具有重要意義,以計算機為主要手段的管理信息系統(tǒng)是使用單位的管理系統(tǒng)的一個組成部分。它的建立應該服從使用單位的整體目標和管理
19、決策活動的需要。為此,這個階段的主要任務是了解使用單位的戰(zhàn)略目標以及內外現(xiàn)實環(huán)境,確定系統(tǒng)的總目標和主要功能,擬定總體方案,并從技術、經濟、社會條件等方面論證技術方案的可行性,制定投資規(guī)劃和開發(fā)計劃,編寫可行性論證報告。</p><p> 系統(tǒng)初步調查和可行性分析的工作步驟如圖3-1所示</p><p><b> (使用單位要求)</b></p>&
20、lt;p><b> 組織隊伍擬定計劃</b></p><p> 單位情況調查 現(xiàn)行信息系統(tǒng)調查</p><p> 確定新系統(tǒng)的目標和功能</p><p><b> 提出技術方案</b></p><p> 明確新系統(tǒng)對單 擬定新系統(tǒng) 效益分
21、析</p><p> 位變化的影響 開發(fā)計劃</p><p><b> 可行性論證</b></p><p> 不可行 修改</p><p><b> ?。ㄔu審)</b></p><p> 不可行
22、 修改</p><p><b> ?。ㄏ到y(tǒng)分析)</b></p><p> 圖3-1 可行性論證的工作步驟</p><p> §3.1 系統(tǒng)的初步調查</p><p> 在正式立項之前必須進行可行性分析,而可行性分析的基礎是對系統(tǒng)的初步調查。初步調查是在使用單位的高層進行的,系統(tǒng)分析員站在高層觀察
23、使用單位的現(xiàn)狀,分析現(xiàn)有系統(tǒng)的運行情況。初步調查主要由兩部分組成:一般調查和信息需求初步調查。前者包括了解使用單位當前的信息流程,明確使用單位改造的需求以及確定系統(tǒng)目標和主要功能;后者是初步調查的主要內容,調查組織系統(tǒng)的工作職責及活動和各種職能部門所要處理的數據,還需了解環(huán)境信息,包括內部環(huán)境和外部環(huán)境信息。</p><p> 本人對學生成績管理活動有了一定的了解,本系統(tǒng)初步調查采用的主要方式是與學校的有關負責
24、教學的領導及部分一線教師進行交流,了解他們的需求,把握第一手資料。此外我還到其它學校找有關同行了解他們學校的情況,經過初步調查,當前吳橋中學學生成績處理情況介紹如下:</p><p> 吳橋中學是一所完全中學,現(xiàn)有在校學生1100人,共15個教學班,分為初中部(9個班)、高中部(6個班)。初二年級新開設物理課程,初三年級新開設化學課程,高一新開設信息技術課,高二文理分科,每次考試,文科班和理科班分開統(tǒng)計,高三與
25、高二類同。所以使用環(huán)境復雜,而且具有代表性。現(xiàn)在學生成績處理采用在幾年前用VFP3.0編寫的學生成績管理系統(tǒng),該系統(tǒng)統(tǒng)計打印結果能夠滿足學校需求,對總分以及單科的成績分析很詳細,且打印的報表樣式優(yōu)美。本系統(tǒng)能夠及時處理出各次期中、期末以及畢業(yè)班每學年的8次統(tǒng)考,盡管每個年級人數都在一千人左右,但只要5個小時左右就能處理完畢一個年級的學生成績,使用效果良好。然而此系統(tǒng)一個不足之處就是學生成績庫中的字段依次為“學號”、“姓名”、“班級號”、
26、“考試代號”、“語文”、“數學”、“英語”、“物理”、“化學”、“政治”、“歷史”、“地理”、“生物”、“總分”、“平均”、“班級名次”、“年級名次”、“班名升降”、“年名升降”等,大家一看就明白,如果出現(xiàn)新的考試科目,要么需要重新編程,要么就只有用學生成績庫里面列出的科目代替,所以它的通用性、適應性較弱,當2001年實行3+X高</p><p> 再來看一下學生成績管理系統(tǒng)的使用環(huán)境,吳橋中學中學實行校長負責
27、制,下設一名分管教學的副校長,副校長直接領導教導處,學校設有微機管理室,平時負責各種數據處理,輔助進行教學管理。微機管理室直接受教導處領導。每次年級考試舉行前,各年級組長到教導處領取學生成績填寫單(即各班學生名單,每學期打印一次),考試結束后在規(guī)定的時間內將填好的學生成績交給教導處,教導處送給微機管理室進行成績處理,微機室在規(guī)定的時間內處理完畢學生成績,將打印結果送給文印室,文印室復印完畢,送給教導處,教導處再將處理結果分發(fā)給各班班主任
28、、有關校領導、檔案室等處。</p><p> 該學生成績管理系統(tǒng)的組織機構設置如圖3-2所示</p><p> 學?,F(xiàn)在已經實現(xiàn)工資、分班、排課、學籍管理、成績處理、人事管理的計算機化,全部由微機管理室來進行。而且學生成績的管理已經初步規(guī)范化,學校領導也非常重視這一工作,為了以后更好地開展這項工作,非常支持新系統(tǒng)的開發(fā)工作。</p><p> 圖3-2本系統(tǒng)的
29、組織機構設置圖</p><p> §3.2 系統(tǒng)的可行性調查</p><p> 可行性分析包括兩部分內容:分析建立新的管理信息系統(tǒng)的必要性和可能性。分析建立信息系統(tǒng)的必要性時要注意用戶提出的理由是否充分和合理;分析建立信息系統(tǒng)的可能性主要包括經濟可行性、技術可行性和社會可行性。</p><p> 經濟可行性研究的目的是使新系統(tǒng)能達到以最小的開發(fā)成本取
30、得最佳的經濟效益。需要作投資估算,對開發(fā)中所需人員、硬軟件支持以及其它費用進行估算,并對系統(tǒng)投入使用后帶來的經濟效益進行估計。</p><p> 技術可行性研究就是弄清現(xiàn)有技術條件能否順利完成開發(fā)工作,硬軟件配置能否滿足開發(fā)的需要等等。</p><p> 社會可行性研究是指新系統(tǒng)在投入使用后,對社會可能帶來的影響進行分析。</p><p> 可行性分析的最后成
31、果是寫出可行性分析報告??尚行苑治鰣蟾姘ㄈ缦聝热荩?lt;/p><p> ?使用單位的戰(zhàn)略目標,新系統(tǒng)的總體目標及主要功能;</p><p> ?擬定新系統(tǒng)的總體方案;</p><p> ?從技術、經濟、社會等方面論證技術方案的可行性;</p><p> ?制定投資規(guī)劃和開發(fā)計劃。</p><p> 在系統(tǒng)初步
32、調查的基礎上,明確了使用單位現(xiàn)行管理系統(tǒng)存在的主要問題和建立管理信息系統(tǒng)的初步設想,進一步對系統(tǒng)目標、范圍等因素進行分析研究。</p><p> 3.2.1使用單位的戰(zhàn)略目標</p><p> 吳橋中學現(xiàn)在是一所縣級中學,學校在提高教師隊伍素質、狠抓教學質量的同時,非常重視現(xiàn)代化教學管理手段的應用,近幾年在這方面投入很大。使用微機及學生成績管理系統(tǒng)進行學生成績處理,能夠及時準確地對學生
33、的成績進行統(tǒng)計分析。一方面可使校領導全面及時地了解各位教師的教學效果,另一方面,又能幫助各位班主任及任課教師了解各位學生的學習效果,減輕每次考試統(tǒng)計總分、排名次的工作量,提高效率及準確度。現(xiàn)有的學生成績管理系統(tǒng)盡管已經滿足了當前學生成績處理的要求,但為了適應未來課程調整的變化,所以非常希望能開發(fā)出一個適應性、通用性強的學生成績管理系統(tǒng)。</p><p> 3.2.2教務管理的目標</p><
34、p> 學校教務管理信息系統(tǒng)的目標是:按照管理信息系統(tǒng)的原理和方法,采用先進的計算機信息技術和手段,充分利用現(xiàn)有微機設備,加強教學管理活動中的各種信息資源的管理和應用,提高學校教務管理的現(xiàn)代化水平,實現(xiàn)學籍管理、學生成績管理、新生分班、排課表、人事管理、工資管理等的微機化。在為學校教學管理活動提供有關信息服務的基礎上,提供教學管理決策支持功能,為實現(xiàn)教學管理的科學化、信息化進行技術準備。</p><p>
35、 3.2.3學生成績管理系統(tǒng)的范圍和邊界</p><p> 學生成績管理信息系統(tǒng)的范圍和邊界是:為學校提供各次期中、期末考試及畢業(yè)班的統(tǒng)考中有關學生成績的各種信息,涵蓋學生成績處理的各項工作,涉及成績管理的各項功能。系統(tǒng)能夠對班級的單科、總分成績,年級的單科、總分成績進行統(tǒng)計分析。系統(tǒng)的數據來源是根據教導處送來的有關數據(學生名單、學生成績等),然后由微機管理室工作人員負責錄入。系統(tǒng)范圍不涉及數據實時采集功能,
36、也不涉及遠程信息傳輸功能。此外,本系統(tǒng)暫時不為學籍管理系統(tǒng)提供有關信息,包括各次考試分數、學生姓名等信息,以后將逐步完善本系統(tǒng)和學籍管理系統(tǒng),使兩者能共享數據。</p><p><b> 第四章 系統(tǒng)設計</b></p><p> 這個階段的主要目標是將系統(tǒng)分析階段所提出的反映了用戶信息要求的系統(tǒng)邏輯方案轉換成可以實施的基于計算機的物理方案。</p>
37、<p> 系統(tǒng)設計階段的主要活動包括:</p><p> ?、畔到y(tǒng)總體結構設計。其中包括:</p><p> ?、傧到y(tǒng)總體布局方案的確定</p><p> ?、谲浖到y(tǒng)總體結構的設計</p><p> ?、塾嬎銠C硬件方案的選擇和設計</p><p> ?、軘祿鎯Φ目傮w設計</p><
38、;p><b> ?、莨δ芙Y構圖設計</b></p><p> ?、扌畔⑾到y(tǒng)流程圖設計</p><p><b> ?、圃敿氃O計</b></p><p><b> ①數據庫設計</b></p><p><b> ?、诖a設計</b></p>
39、<p><b> ?、圯敵鲈O計</b></p><p><b> ?、茌斎朐O計</b></p><p><b> ?、萏幚磉^程設計</b></p><p> ?、窍到y(tǒng)實施進度與計劃的確定。</p><p> ?、取跋到y(tǒng)設計說明書”的編寫。</p>&
40、lt;p> 本論文主要擇其重要環(huán)節(jié)進行闡述。</p><p> §4.1 系統(tǒng)總體結構設計</p><p> 4.1.1 系統(tǒng)的總體布局方案</p><p> 系統(tǒng)的總體布局是指系統(tǒng)的硬軟件資源以及數據資源在空間上的分布特征。結合吳橋中學實際情況(吳橋中學的使用環(huán)境具有典型性,代表了大多數學校的使用情況),采用以下總體布局方案:</p
41、><p> 本系統(tǒng)的功能比較簡單,并且規(guī)模不大,采用單機系統(tǒng)</p><p> 從信息資源管理的集中程度來看,采用集中式系統(tǒng)</p><p> 從信息處理的方式來看,采用批處理系統(tǒng)</p><p> 4.1.2軟件系統(tǒng)總體結構設計:</p><p> 軟件系統(tǒng)總體結構設計的主要任務就是將整個系統(tǒng)合理的劃分成各個功
42、能模塊,正確處理模塊之間與模塊內部的聯(lián)系及它們之間的調用關系和數據聯(lián)系,定義各模塊的內部結構等,本系統(tǒng)的軟件總體結構按分解-協(xié)調的原則,信息隱蔽抽象的原則,自頂向下的原則,一致性原則,面向用戶的原則進行設計。</p><p> 4.1.3計算機硬件方案的選擇和設計</p><p> 本系統(tǒng)采用單機單用戶操作方式,基本配置如下:</p><p> 機型:奔騰四代
43、1.6G以上</p><p> 硬盤:40G以上(至少需要250M自由空間,以運行操作系統(tǒng)和本系統(tǒng))</p><p> 軟驅:3.5′/1.44MB</p><p><b> 內存:256M以上</b></p><p> 打印機:一臺,品牌不限。</p><p> 4.1.4數據存儲的總
44、體設計</p><p> 按用途分類可把本系統(tǒng)文件分成以下幾種:</p><p> 主文件:系統(tǒng)中的主文件是最重要的共享文件,主要存放具有固定值屬性的數據。它需要長期保存,并不斷更新。如學生信息文件、班級信息文件、用戶信息文件、課程文件、考試信息文件。</p><p> 處理文件:處理文件包含下一次更新文件所需要的全部記錄,本系統(tǒng)中的處理文件如學生成績文件&l
45、t;/p><p> 工作文件:暫時存放數據的文件。如存放學生成績排序結果的臨時文件,存放單科年級分析結果的臨時文件,存放年級總分分析結果的臨時文件,這些文件使用后里面的記錄立即被清除。</p><p> 4.1.5系統(tǒng)總體功能結構設計</p><p> 通過對系統(tǒng)的數據流圖進行分析,進一步進行功能分解,直到分解成含義明確,功能單一的功能模塊,從而得到系統(tǒng)的功能模塊
46、結構圖,即系統(tǒng)的HIPO圖。本系統(tǒng)的HIPO圖如圖4-1(見下頁)所示。</p><p><b> 圖4-1</b></p><p> 4.1.6新系統(tǒng)的計算機信息系統(tǒng)流程設計</p><p> 現(xiàn)在對其做一點改進,那就是,為了便于統(tǒng)計分析和輸出打印年級總分分析報表、年級單科分析報表,可以先根據課程信息庫文件、班級信息庫文件、學生成績庫文
47、件、考試信息庫文件生成一個臨時報表文件,然后再根據這個臨時報表庫文件進行打印輸出,一旦輸出打印結束,便將這個臨時報表庫文件清空。因此,本系統(tǒng)的信息系統(tǒng)流程圖如圖4-2所示</p><p><b> 圖4-2</b></p><p><b> 系統(tǒng)實施</b></p><p> 系統(tǒng)實施在管理信息系統(tǒng)的生命周期中,要繼
48、承此前各階段的工作,將技術設計轉化成為物理實現(xiàn),是系統(tǒng)建設的實現(xiàn)階段。因此,系統(tǒng)實施的成果將是系統(tǒng)分析和設計階段的結晶。</p><p> 系統(tǒng)實施的主要活動:</p><p> 程序設計 ②系統(tǒng)測試 ③系統(tǒng)安裝 ④新舊系統(tǒng)轉換</p><p><b> §5.1程序設計</b></p><p>
49、; 5.1.1 數據庫的選擇—client/server(客戶機/服務器)型數據庫簡介</p><p> 數據庫雖然家族龐大,但一般來說可分為兩種:文件型數據庫和C/S型數據庫。</p><p> 文件型數據庫是基于文件的,數據被按照一定格式儲存在磁盤里,使用時由應用程序通過相應的驅動程序甚至直接對數據文件進行讀取。DBF(Dbase/Foxbase/Foxpro)數據庫就是文件型數
50、據庫,這種數據庫的訪問方式是被動式的,只要了解其文件格式,任何程序都可以直接讀取,這就使得它的安全性相當糟糕。使用DBF(Dbase/Foxbase/Foxpro)系列開發(fā)工具,可以用它自己的語法開發(fā)出應用程序,其中對DBF文件的具體訪問操作被封裝了,這樣才使得大家可以方便地開發(fā)應用程序。但是,在蓬勃興起的網絡應用中,文件型數據庫更是難有用武之地:效率低下,不支持很多SQL命令,不支持視圖、觸發(fā)器、存儲過程等高級功能。</p>
51、;<p> 近二十多年來,網絡的普遍使用,使人們提出了客戶/服務器(C/S)體系結構。這種結構如圖5-1所示,客戶機一般是中低檔微機,服務器一般是高檔微機或小型機。此種結構的優(yōu)勢在于:可使多人共享服務器資源,協(xié)調工作,并且此體系結構的花費要比使用大中型計算機少得多,性能也不差,更加靈活。</p><p> 圖5-1 C/S體系結構</p><p> 在開發(fā)網絡計算機系
52、統(tǒng)環(huán)境下的數據庫應用時,C/S型數據庫成為主流是理所當然的事。C/S型數據庫非常適合于網絡應用,可以同時被多個用戶所訪問,并賦予不同的用戶以不同的安全權限。C/S型數據庫支持的數據量要比文件型數據庫大得多,還支持分布式的數據庫,一般能完善地支持SQL語言,非常適于高端應用。</p><p> C/S型數據庫應用程序由兩個部分組成:服務器和客戶機。服務器指數據庫管理系統(tǒng),用于描述、管理和維護數據庫的程序系統(tǒng),是數
53、據庫系統(tǒng)核心組成部分,對數據庫進行統(tǒng)一的管理和控制。客戶機則將用戶的需求送交到服務器,再從服務器返回數據給用戶。</p><p> 隨著應用復雜性的提高和INTERNET的普及,C/S型數據庫也難以滿足要求了,于是又出現(xiàn)了三層模型、多層模型,這里不作介紹了。</p><p> 5.1.2 開發(fā)工具的選擇—PowerBuilder 7.0簡介</p><p>
54、現(xiàn)在流行的數據庫開發(fā)工具很多,象Delphi,Vb,Vc++,Vfp等,那么為什么本系統(tǒng)要采用PowerBuilder 7.0呢?</p><p> Sybase公司推出的PB 7.0是一種可視化的,面向對象的快速應用開發(fā)(RAD)工具。PB7.0提供了對目前流行的幾乎所有的大型數據庫和桌面數據庫的支持,同時它內置了32位關系型數據庫Sybase SQL Anywhere ,可以方便地創(chuàng)建Adapter ser
55、ver anywhere本地數據庫。PB 7.0還支持多種軟硬件平臺,它不僅可以跨平臺共享程序中的各種對象,還支持應用程序的跨平臺開發(fā)和分布,極大地減輕了程序員在不同平臺上移植程序的工作量。從PB6.5開始,增加了PowerSite Web應用開發(fā)技術,成為建立C/S和多層分布式應用的一個完整的4GL RAD環(huán)境。PB 7.0的推出,標志著Sybase公司的開發(fā)工具的重心已經從桌面轉移到跨平臺的分布式應用和基于Internet的Web
56、應用領域。</p><p> 數據窗口(DataWindow)有11種顯示風格,5種數據源,是人機交互的主要界面。它有兩個主要作用:首先通過它可以操作數據庫的數據,并對數據進行各種處理,幾乎所有的數據庫操作都可在其中完成,包括多表更新,復雜的多表數據查詢等。其次通過它可以設計數據的輸入、輸出格式以及數據處理中經常用到的數據圖表和多種屏幕顯示風格。數據窗口對象是從數據源中獲得數據或向數據源中寫入數據。</p
57、><p> 掌握PB 7.0這個開發(fā)工具的重點也是難點便是全面理解和掌握數據窗口技術,此外還要熟悉PowerBuilder的開發(fā)環(huán)境,掌握使用PB開發(fā)軟件的一般流程,開發(fā)時常用的函數、事件等。這樣才能順利地進行軟件的開發(fā)。這里只簡單地介紹一下應用對象與庫及其他對象的關系,如圖(5-2)所示:</p><p> 關于其它技術細節(jié)問題,這里就不一一詳述了。</p><p&g
58、t; 5.1.3 開發(fā)平臺的選擇</p><p> 基于上面數據庫產品和開發(fā)工具的運行要求,考慮到本系統(tǒng)的性能要求,選擇了Windows 98作為開發(fā)、測試和運行平臺。</p><p> 5.1.4 各模塊程序設計舉例</p><p> 一、建立一個新的應用:選擇“File”菜單中 “New”菜單項,在彈出的窗口中選擇“start wizard”選項卡,再選
59、擇其中的“Application”圖標,然后按提示輸入相應的應用名稱和路徑即可。本應用的名稱為“score_manager”。在創(chuàng)建應用的同時,系統(tǒng)提示建立庫文件,本系統(tǒng)先建立一個與應用同名的庫文件“score_manager.pbl” 。</p><p><b> 圖5-2 </b></p><p> 創(chuàng)建、連接數據庫,創(chuàng)建數據庫表:</p>
60、<p> 創(chuàng)建、連接數據庫以及創(chuàng)建數據庫表這里就不一一細說了。這里,新創(chuàng)建了一個名為user.db的用戶信息庫,存放有用戶名和密碼。為了判斷本系統(tǒng)是否首次運行、運行的次數、連接數據庫表,本系統(tǒng)特地建立了名為first.ini的配置文件。文件內容如下:</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> 此文件的進一步應用將在下面介紹。</p><p> 本應用的“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) //讀取運行次數</p><p><b> sy=rc+1</b></p><p> cs=string(sy) </p><p> if rc=1 then //如果系統(tǒng)是首次運行,打開系統(tǒng)注冊窗口(轉下頁)</p><p><b> 圖5-3 <
66、/b></p><p><b> (接上頁)</b></p><p> open(w_test)</p><p> elseif rc=66 then //如果系統(tǒng)運行了66次,再進行注冊</p><p> messagebox("注意!","你已經使用了66次了,請注冊。&q
67、uot;)</p><p> setprofilestring("first.ini","start","first","66")</p><p><b> return</b></p><p> else//如果不是首次運行,打開Splash 窗口,并連接
68、數據庫</p><p> open(w_splash)</p><p> string ls_startupfile //此變量保存獲取數據庫信息的文件名</p><p> //數據庫連接信息存儲在文件"first.ini"中</p><p> ls_startupfile = "first.ini&qu
69、ot;</p><p> //從文件(pb.ini)中獲取數據庫連接信息</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> //往配置文件中寫入新的運行次數</p><p> setprofilestring
74、("first.ini","start","first",cs)</p><p> connect; //連接數據庫</p><p> if sqlca.sqlcode<>0 then</p><p> Messagebox("錯誤","不能連接到數據庫&qu
75、ot;)</p><p><b> return</b></p><p><b> end if</b></p><p><b> end if</b></p><p> 四、系統(tǒng)認證模塊(w_test)</p><p> 當運行此功能時,系統(tǒng)
76、彈出窗口,窗口及各控件的屬性設置略。</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//設置環(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> //由當前
80、系統(tǒng)的秒數和小時數算出一個數字作為序列號,并賦值給sle_1</p><p> integer yz</p><p> yz=second(now())*hour(now())</p><p> sle_1.text=string(yz)</p><p> 2.聲明窗口的全局外部函數GetCurrentDirectoryA(),得出本
81、程序運行的當前路徑,此函數屬于WINDOWS API函數。</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 //算出認證碼</p><p> //比較用戶輸入結果和認證碼是否相同</p><p> if integer(sle_3.text)<>sl
83、e3 then</p><p> messagebox("對不起!","認證碼有誤,請重新輸入或與軟件供應商聯(lián)系。")</p><p><b> else </b></p><p> messagebox("注冊成功","歡迎使用!")</p>
84、<p> //得出當前程序運行路徑 </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> //將數據源名稱“scomana”注冊到"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> //新增以該數據源名稱"scomana"為鍵名的子鍵</p><p> registryset("HKEY_CURR
89、ENT_USER\software\odbc\odbc.ini\scomana","",</p><p> regstring!,"")</p><p> //創(chuàng)建連接到數據源所需要的參數</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> //注冊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)建連接到數據源所需要的參數</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 //此變量保存獲取數據庫信息的文件名</p><p> //數據庫連接信息存儲在文件"first.ini"中</p><p> ls_sta
105、rtupfile = ls_curdir+'\'+'first.ini'</p><p> //從文件(pb.ini)中獲取數據庫連接信息</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> //連接數據庫</b></p><p> Connect Using Sqlca ;</p><p> if sqlca.sqlcode<>0 then</p><p> Messagebox("錯誤","不能連接到數據庫")</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")//運行次數置1</p><p> close(parent)</p><p> 五、創(chuàng)建Splash窗口(w_splash)</p><p> 現(xiàn)在的商業(yè)化軟件在進入程序主界面以前都有
113、一個顯示窗口,用來顯示一些信息,例如進入Powerbuilder時的暗紅色窗口就是這種窗口,它的作用是避免因應用程序初始化工作占用時間太長而讓用戶感到煩燥。</p><p> 本系統(tǒng)的splash窗口采用名為back.jpg的圖片作背景,上面寫有一些關于本軟件的信息,在屏幕上停留8秒鐘之后,自動消失。</p><p> 實現(xiàn)本模塊功能的代碼如下:</p><p>
114、; W_splash窗口的open事件代碼:</p><p> //使窗口居中的代碼可參考“系統(tǒng)認證”模塊中的相關代碼,這里從略。</p><p> p_1.PictureName = "back.jpg"</p><p> timer(8,this)//8秒鐘后觸發(fā)計時器事件</p><p> W_splash
115、窗口的timer事件代碼:</p><p> close(this)//關閉此窗口,同時引起Close事件</p><p> W_splash窗口的close事件代碼:</p><p> timer(0,this)</p><p> open(w_login)//打開系統(tǒng)登錄窗口</p><p> close
116、(w_test)</p><p> 4.W_splash窗口的key事件代碼:(當用戶按下鍵盤上任意一鍵時發(fā)生)</p><p> close(this)</p><p> 5. W_splash窗口的click事件代碼:(當用戶按下鼠標左鍵時發(fā)生)</p><p> close(this)</p><p>
117、 六、創(chuàng)建系統(tǒng)菜單scomanager:</p><p> 菜單項具體內容與5.1.5中的圖5-1內容基本一致。部分菜單項設置了快捷鍵。</p><p> 七、設計系統(tǒng)運行主窗口w_main:</p><p> 系統(tǒng)運行主窗口w_main是系統(tǒng)運行的主界面,里面加入了菜單scomanager和一個工具欄,并設置了一個背景圖pic0003.jpg,此窗口的運行結
118、果如圖</p><p><b> 5-6所示</b></p><p><b> 圖5-6</b></p><p> 八、系統(tǒng)登錄窗口(w_login)編程:</p><p> ㈠.本模塊程序流程圖,如圖5-6所示</p><p> ?、妫\行時的界面如圖5-7所示,有
119、關控件及屬性如何設置略。這里著重</p><p><b> 圖5-7</b></p><p> 講述一下如何用下拉列表框把user.db表中的用戶名給列舉出來,這里的下拉列表框又叫下拉子數據窗口。步驟如下:①新建一數據窗口對象,其顯示風格為“freeform”,“Data Source”為“Quick Select”,選擇“user”表中的“username”字段
120、,保存該數據窗口對象命名為“d_username”。②再新建一數據窗口對象,其顯示風格為“freeform”,“Data Source”為“Quick Select”,選擇“user”表中的“username”字段,在其屬性畫板中,從“EditStyle”列表中選擇“DropDownDW”,其“Display Column”設置為“username”,其“Data Column”設置為“username”,選中“Always Show
121、Arrow”屬性,其“Datawindow”設置為“d_username”,這時把上一步建立的數據窗口加入進來了,保存該數據窗口,命名為“d_user”。③在如圖5-7所示的窗口中加入數據窗口控件dw_1,</p><p> 其 “dataobject”設置為“d_user”。再加入其它控件,結果如圖5-7所示。</p><p> ?、缬嘘P事件代碼如下:</p><p
122、> 窗口W_login的open事件代碼:</p><p> dw_1.settransobject(sqlca)</p><p> dw_1.retrieve()</p><p> sle_2.setfocus()</p><p> //使窗口居中的代碼參見系統(tǒng)認證模塊的相關代碼。</p><p>
123、 確定按鈕的click事件代碼:</p><p> userxm=dw_1.gettext()//從dw_1中選擇用戶名稱</p><p> string kouling</p><p> kouling=sle_2.text//從sle_2中獲得輸入的密碼</p><p> //以下代碼是從user.db中得出和用戶名對應的密碼,并
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> //以下代碼進行密碼比較</p><p> if kouling=mima then</p><p> Open(w_main)//打開系統(tǒng)主界面</
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設計(論文)-pb9.0學生學籍管理系統(tǒng)的研究與設計
- 基于pb9.0的學生信息管理系統(tǒng)課題設計報告
- 學生成績管理系統(tǒng)畢業(yè)設計論文
- 學生成績管理系統(tǒng)畢業(yè)設計論文
- 學生成績管理系統(tǒng)畢業(yè)設計(論文)
- 學生成績管理系統(tǒng)畢業(yè)設計(論文)
- 學生成績管理系統(tǒng)畢業(yè)設計論文
- 畢業(yè)設計----學生成績管理系統(tǒng)
- 學生成績管理系統(tǒng)畢業(yè)設計
- 學生成績管理系統(tǒng)畢業(yè)設計
- 學生成績管理系統(tǒng)畢業(yè)設計
- 學生成績管理系統(tǒng)畢業(yè)設計
- 學生成績管理系統(tǒng)---畢業(yè)設計
- 學生成績管理系統(tǒng)畢業(yè)設計
- 學生成績管理系統(tǒng)畢業(yè)設計
- 學生成績管理系統(tǒng)pb課程設計
- 學生成績管理系統(tǒng)畢業(yè)設計 (3)
- 學生成績管理系統(tǒng)畢業(yè)設計 (3)
- 學生成績管理系統(tǒng)畢業(yè)設計報告
- 畢業(yè)設計--學生成績管理設計
評論
0/150
提交評論