焦連維招生管理系統(tǒng)正文附錄樣本_第1頁(yè)
焦連維招生管理系統(tǒng)正文附錄樣本_第2頁(yè)
焦連維招生管理系統(tǒng)正文附錄樣本_第3頁(yè)
焦連維招生管理系統(tǒng)正文附錄樣本_第4頁(yè)
焦連維招生管理系統(tǒng)正文附錄樣本_第5頁(yè)
已閱讀5頁(yè),還剩63頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

資料內(nèi)容僅供您學(xué)習(xí)參考,如有不當(dāng)之處,請(qǐng)聯(lián)系改正或者刪除。第一章緒論管理信息系統(tǒng)是一個(gè)由人和計(jì)算機(jī)等組成的,能進(jìn)行管理信息的收集、傳遞、加工、保存、維護(hù)和使用的系統(tǒng),它能實(shí)測(cè)國(guó)民經(jīng)濟(jì)和企業(yè)的各種運(yùn)行情況;利用歷史數(shù)據(jù)預(yù)測(cè)未來(lái);從全局出發(fā)輔助管理決策;利用信息控制企業(yè)的行為、幫助實(shí)現(xiàn)其規(guī)劃目標(biāo)。簡(jiǎn)言之,管理信息系統(tǒng)是一個(gè)以計(jì)算機(jī)為工具,具有數(shù)據(jù)處理、預(yù)測(cè)、控制和輔助決策功能的信息系統(tǒng)。本課題的發(fā)展概況、研究意義信息作為生產(chǎn)力中最活躍的因素,很早就在人類(lèi)經(jīng)濟(jì)生活中發(fā)揮著不可替代的作用,但把信息納入企業(yè)經(jīng)營(yíng)管理系統(tǒng)中高效處理和應(yīng)用是在計(jì)算機(jī)創(chuàng)造以后的50年代末。

當(dāng)前人們所提到的管理信息系統(tǒng),一般是指以計(jì)算機(jī)為工具,對(duì)管理信息進(jìn)行收集、存貯、檢索、加工和傳遞,使其應(yīng)用于組織機(jī)構(gòu)及企業(yè)管理領(lǐng)域的"人-機(jī)系統(tǒng)",該系統(tǒng)是70年代初"后工業(yè)經(jīng)濟(jì)"時(shí)代的產(chǎn)物,在企業(yè)管理信息系統(tǒng)在其發(fā)展的初期,是單一的人—機(jī)系統(tǒng),系統(tǒng)功能簡(jiǎn)單,效率低,對(duì)管理的作用有限。

進(jìn)入20世紀(jì)80年代末,隨著計(jì)算機(jī)網(wǎng)絡(luò)和通信技術(shù)的大力發(fā)展,企業(yè)管理信息系統(tǒng)進(jìn)入網(wǎng)絡(luò)化的發(fā)展時(shí)期。世界發(fā)達(dá)國(guó)家已建立起了完善的先進(jìn)的管理信息系統(tǒng)體系,在其社會(huì)經(jīng)濟(jì)發(fā)展領(lǐng)域中發(fā)揮著巨大的作用。

中國(guó)的管理信息系統(tǒng)大發(fā)展是在80年代末90年代初,國(guó)家相繼建立起了"金卡"、"金關(guān)"、"金橋"工程,多數(shù)企事業(yè)單位建立了局域網(wǎng)和廣域網(wǎng)管理信息系統(tǒng)。隨著世界經(jīng)濟(jì)和中國(guó)經(jīng)濟(jì)逐步向知識(shí)經(jīng)濟(jì)邁進(jìn),無(wú)論是基于工業(yè)經(jīng)濟(jì)的管理信息系統(tǒng),還是面向少數(shù)專(zhuān)家和管理人員的專(zhuān)家系統(tǒng)(ES)或決策支持系統(tǒng)(DSS),其處理對(duì)象和服務(wù)對(duì)象,自身的系統(tǒng)結(jié)構(gòu),處理能力,都有了進(jìn)一步的發(fā)展。信息在社會(huì)經(jīng)濟(jì)系統(tǒng)中始終起著至關(guān)重要的作用,它在控制、預(yù)測(cè)、人類(lèi)認(rèn)識(shí)和心理等方面極大地影響著系統(tǒng)的運(yùn)轉(zhuǎn)。而信息處理的手段更是直接關(guān)系到上述各個(gè)方面,信息技術(shù)不但影響著各個(gè)組織系統(tǒng)的狀態(tài),更重要的是它不斷地改變著它們的結(jié)構(gòu)和運(yùn)行規(guī)則。因此,管理信息系統(tǒng)作為信息技術(shù)的主要應(yīng)用已經(jīng)滲入社會(huì)經(jīng)濟(jì)系統(tǒng)的各個(gè)領(lǐng)域。招生管理系統(tǒng)是"數(shù)字化校園"整體解決方案的有機(jī)組成部分,是其它各系統(tǒng)學(xué)生基本數(shù)據(jù)的來(lái)源,與辦公自動(dòng)化、教務(wù)、人事、科研、后勤等系統(tǒng)互相協(xié)作,相輔相成,共同構(gòu)成"數(shù)字化校園"。系統(tǒng)采用C/S體系結(jié)構(gòu)Client負(fù)責(zé)提供表示式邏輯、顯示用戶(hù)界面信息、訪問(wèn)數(shù)據(jù)庫(kù)服務(wù)器;Server則用于提供數(shù)據(jù)服務(wù)。系統(tǒng)采用模塊化程序設(shè)計(jì)方法,既便于系統(tǒng)功能的各種組合和修改,又便于未參加與開(kāi)發(fā)的技術(shù)維護(hù)人員補(bǔ)充、維護(hù);系統(tǒng)具備數(shù)據(jù)庫(kù)維護(hù)功能,及時(shí)根據(jù)用戶(hù)需求進(jìn)行數(shù)據(jù)的添加、刪除、修改、打印等功能該系統(tǒng)的設(shè)計(jì)從可行性上分析,盡管該系統(tǒng)的作用并不是很完美,但對(duì)學(xué)校的招生工作卻有非常重要的意義。近年來(lái)學(xué)校投入大量資金實(shí)現(xiàn)了辦公自動(dòng)化。建立了學(xué)校的內(nèi)部網(wǎng)絡(luò),但招生管理卻還是傳統(tǒng)的手工作業(yè)方式,沒(méi)有開(kāi)發(fā)相應(yīng)的應(yīng)用軟件。開(kāi)發(fā)這個(gè)管理系統(tǒng),客戶(hù)操作界面設(shè)計(jì)個(gè)性化,具有直觀、簡(jiǎn)單、方便的特點(diǎn),能夠滿(mǎn)足客戶(hù)個(gè)性化的操作要求。同時(shí)由于開(kāi)發(fā)是針對(duì)性的,因此,操作界面漂亮、形式多樣,可充分滿(mǎn)足客戶(hù)自身的個(gè)性化要求,能夠說(shuō)它對(duì)學(xué)校內(nèi)部對(duì)學(xué)生招生管理發(fā)揮著重要作用。1.2本課題的目的、主要解決的問(wèn)題招生管理系統(tǒng)是各個(gè)學(xué)校在招生工作中的重要環(huán)節(jié),在過(guò)去的時(shí)間里學(xué)校的招生工作都是把學(xué)校的招生信息以表格的形式把信息記錄下來(lái),這樣的操作是不靈活的也是不安全的,隨著網(wǎng)絡(luò)的發(fā)展,現(xiàn)在的招生管理能夠在網(wǎng)上進(jìn)行招生,這樣對(duì)學(xué)校來(lái)說(shuō)是節(jié)省了時(shí)間,可是對(duì)于進(jìn)入學(xué)校的學(xué)生來(lái)說(shuō)她們的錄取、報(bào)到、交費(fèi)、報(bào)名等信息就需要一個(gè)學(xué)校內(nèi)部管理,這就需要一個(gè)和B/S模式進(jìn)行互補(bǔ)來(lái)完成工作的管理系統(tǒng),也就是C/S模式的招生管理系統(tǒng)。C/S模式一般說(shuō)來(lái),在這種模式下,服務(wù)器只集中管理數(shù)據(jù),而計(jì)算任務(wù)分散在客戶(hù)機(jī)上,客戶(hù)機(jī)和服務(wù)器之間經(jīng)過(guò)網(wǎng)絡(luò)協(xié)議來(lái)進(jìn)行通訊.客戶(hù)機(jī)向服務(wù)器發(fā)出數(shù)據(jù)請(qǐng)求,服務(wù)器將數(shù)據(jù)傳送給客戶(hù)機(jī)進(jìn)行計(jì)算,計(jì)算完畢,計(jì)算結(jié)果可返回給服務(wù)器.這種模式的優(yōu)點(diǎn)充分利用了客戶(hù)機(jī)的性能,使計(jì)算能力大大提高;另外,由于客戶(hù)機(jī)和服務(wù)器之間的通訊是經(jīng)過(guò)網(wǎng)絡(luò)協(xié)議進(jìn)行的,是一種邏輯的聯(lián)系,因此物理上在客戶(hù)機(jī)和服務(wù)器兩端是易于擴(kuò)充的。它是當(dāng)前占主流的網(wǎng)絡(luò)計(jì)算模式。C/S模式優(yōu)點(diǎn):由于客戶(hù)端實(shí)現(xiàn)與服務(wù)器的直接相連,沒(méi)有中間環(huán)節(jié),因此響應(yīng)速度快。客戶(hù)操作界面設(shè)計(jì)個(gè)性化,具有直觀、簡(jiǎn)單、方便的特點(diǎn),能夠滿(mǎn)足客戶(hù)個(gè)性化的操作要求。同時(shí)由于開(kāi)發(fā)是針對(duì)性的,因此,操作界面漂亮、形式多樣,能夠充分滿(mǎn)足客戶(hù)自身的個(gè)性化要求。因此,本系統(tǒng)解決如下問(wèn)題:(1)它有效地解決了手工方式查找所帶來(lái)的費(fèi)時(shí)、費(fèi)力、易出錯(cuò)問(wèn)題,實(shí)現(xiàn)了綜合信息的查詢(xún)、修改、刪除,打印,提高了招生管理工作的準(zhǔn)確性和效率性。(2)功能強(qiáng)、穩(wěn)定性好、操作簡(jiǎn)單、維護(hù)方便。能給學(xué)校對(duì)學(xué)生招生的管理帶來(lái)極大的實(shí)用價(jià)值。(3)利用權(quán)限設(shè)置解決了系統(tǒng)的安全問(wèn)題。(4)能夠?qū)Τ跏荚拖到y(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成用戶(hù)滿(mǎn)意的可行系統(tǒng)。本系統(tǒng)一切從實(shí)際出發(fā),充分考慮了招生的內(nèi)部管理、信息交流等方面的復(fù)雜需求,實(shí)現(xiàn)招生的有效管理,真正為學(xué)校招生管理提供一個(gè)電子平臺(tái)。第二章系統(tǒng)開(kāi)發(fā)方案2.1研究課題開(kāi)發(fā)方案的特點(diǎn)及優(yōu)缺點(diǎn)分析經(jīng)過(guò)四年的大學(xué)學(xué)習(xí),在我所用到的數(shù)據(jù)庫(kù)開(kāi)發(fā)軟件中,我覺(jué)得PowerBuilder9.0,SQLserver是開(kāi)發(fā)本系統(tǒng)最佳組合也是我所熟悉的工具。2.1.1系統(tǒng)方案選擇的特點(diǎn)PowerBuilder9.0是一種高效而快捷的集成開(kāi)發(fā)環(huán)境,它提供了可視化的、面向?qū)ο蟮?、基于客?hù)機(jī)—服務(wù)器的開(kāi)發(fā)環(huán)境。

1.開(kāi)放式數(shù)據(jù)庫(kù)聯(lián)接ODBC環(huán)境

這種體系結(jié)構(gòu)能更好地滿(mǎn)足學(xué)校的實(shí)際需要,有利于應(yīng)用系統(tǒng)的移植和擴(kuò)充。當(dāng)前,市場(chǎng)上流行的各種數(shù)據(jù)庫(kù)系統(tǒng)軟件,如Oracle,Informix,Sybase等,各行其道,使用戶(hù)無(wú)所適從。然而PowerBuilder為這些數(shù)據(jù)庫(kù)提供了公共的前端工具,提供了開(kāi)放式數(shù)據(jù)庫(kù)連接ODBC,不但適用于各種數(shù)據(jù)庫(kù)管理系統(tǒng),具有很好的兼容性,而且還能給已有的數(shù)據(jù)資源帶來(lái)全新的圖形界面。

2.基于客戶(hù)機(jī)/服務(wù)器的體系結(jié)構(gòu)

基于客戶(hù)機(jī)/服務(wù)器(Client/Sever)的體系結(jié)構(gòu)能夠減少硬件平臺(tái)的投資,并能完成大型主機(jī)的功能,而且能夠集中數(shù)據(jù)的存儲(chǔ)和管理,實(shí)現(xiàn)資源的共享,降低維護(hù)的難度,還能集中實(shí)施企業(yè)規(guī)則,實(shí)現(xiàn)企業(yè)信息的標(biāo)準(zhǔn)化。

3.面向?qū)ο蟮膽?yīng)用程序開(kāi)發(fā)方法

一個(gè)對(duì)象是一個(gè)類(lèi)的具體表現(xiàn),在功能上它與其它程序保持獨(dú)立,一個(gè)定義良好的對(duì)象具有封裝的數(shù)據(jù)和功能。

對(duì)象能夠繼承。函數(shù)、事件、窗體、菜單、用戶(hù)對(duì)象都能夠繼承,經(jīng)過(guò)繼承,能夠快捷地開(kāi)發(fā)出全新的滿(mǎn)足特定要求的對(duì)象。如果沒(méi)有繼承,開(kāi)發(fā)者將不得不每次在編寫(xiě)相似對(duì)象時(shí)使用大量重復(fù)性代碼。有時(shí)她們應(yīng)用全局函數(shù)來(lái)減少冗余代碼,但這會(huì)使代碼要完成的任務(wù)復(fù)雜化。在GUI環(huán)境下,友好的用戶(hù)界面極為重要,其中標(biāo)

準(zhǔn)化是一種很好的方法。在特定類(lèi)型窗口中許多細(xì)節(jié)都是相同的,如果不用父類(lèi)對(duì)象,必須為這些事件不斷地進(jìn)行編碼,如果從這個(gè)窗口到那個(gè)窗口代碼不同,將不能保證一致的用戶(hù)界面,因此必須設(shè)計(jì)一個(gè)單一代碼源,以保證用戶(hù)界面的一致性。經(jīng)過(guò)在接口庫(kù)的父類(lèi)對(duì)象中編寫(xiě)的界面邏輯代碼能夠?qū)崿F(xiàn)這點(diǎn)。一個(gè)好的父類(lèi)庫(kù)能夠大大地加快項(xiàng)目開(kāi)發(fā)的進(jìn)度。

4.可視化的開(kāi)發(fā)環(huán)境

用戶(hù)不用了解WINDOWS和C編程技術(shù),經(jīng)過(guò)圖形化的交互操作,就能夠設(shè)計(jì)實(shí)現(xiàn)應(yīng)用系統(tǒng),開(kāi)發(fā)出美觀、簡(jiǎn)潔的圖形化界面來(lái)。

5.強(qiáng)大的數(shù)據(jù)提取能力

PowerBuilder提供了功能強(qiáng)勁的數(shù)據(jù)窗口控制(DataWindowsObject)。數(shù)據(jù)窗口對(duì)象能夠用于聯(lián)接數(shù)據(jù)庫(kù),獲得記錄,以各種風(fēng)格顯示數(shù)據(jù)和更新數(shù)據(jù)庫(kù)。SQLServer是微軟公司最新版的大型數(shù)據(jù)庫(kù)服務(wù)器,其性能指標(biāo)在各方面都有趕超Oracle數(shù)據(jù)庫(kù)的趨勢(shì)。在經(jīng)歷了SQLServer6.5和7.0兩個(gè)版本的嘗試后,微軟公司終于開(kāi)始向大規(guī)模的業(yè)務(wù)領(lǐng)域進(jìn)發(fā)了。隨著信息技術(shù)的發(fā)展,計(jì)算機(jī)處理數(shù)據(jù)的方式也發(fā)生著變化,文件管理系統(tǒng)--數(shù)據(jù)庫(kù)管理系統(tǒng)。MicrosoftSQLServer是一個(gè)分布式的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),具有客戶(hù)機(jī)/服務(wù)器體系結(jié)構(gòu),采用了Transact-sql的sql語(yǔ)言在客戶(hù)機(jī)與服務(wù)器間傳遞客戶(hù)機(jī)的請(qǐng)求與服務(wù)器的處理結(jié)果。

它一種應(yīng)用廣泛的數(shù)據(jù)庫(kù)管理系統(tǒng),具有許多顯著的優(yōu)點(diǎn):易用性、適合分布式組織的可伸縮性、用于決策支持的數(shù)據(jù)倉(cāng)庫(kù)功能、與許多其它服務(wù)器軟件緊密關(guān)聯(lián)的集成性、良好的性?xún)r(jià)比等。性能、可伸縮性及可靠性是基本要求,而進(jìn)入市場(chǎng)時(shí)間也非常關(guān)鍵。除這些核心企業(yè)品質(zhì)外,SQLServer還為您的數(shù)據(jù)管理與分析帶來(lái)了靈活性,允許單位在快速變化的環(huán)境中從容響應(yīng),從而獲得競(jìng)爭(zhēng)優(yōu)勢(shì)。從數(shù)據(jù)管理和分析角度看,將原始數(shù)據(jù)轉(zhuǎn)化為商業(yè)智能和充分利用Web帶來(lái)的機(jī)會(huì)非常重要。作為一個(gè)完備的數(shù)據(jù)庫(kù)和數(shù)據(jù)分析包,SQLServer為快速開(kāi)發(fā)新一代企業(yè)級(jí)商業(yè)應(yīng)用程序、為企業(yè)贏得核心競(jìng)爭(zhēng)優(yōu)勢(shì)打開(kāi)了勝利之門(mén)。作為重要的基準(zhǔn)測(cè)試可伸縮性和速度獎(jiǎng)的記錄保持者,SQLServer是一個(gè)具備完全Web支持的數(shù)據(jù)庫(kù)產(chǎn)品,提供了對(duì)可擴(kuò)展標(biāo)記語(yǔ)言(XML)的核心支持以及在Internet上和防火墻外進(jìn)行查詢(xún)的能力。當(dāng)前國(guó)內(nèi)的一些關(guān)于微軟平臺(tái)的數(shù)據(jù)庫(kù)編程教程,喜歡使用Access作為數(shù)據(jù)庫(kù)平臺(tái)的案例,并展開(kāi)相關(guān)的內(nèi)容。這其實(shí)對(duì)于開(kāi)發(fā)真正的數(shù)據(jù)庫(kù)應(yīng)用并沒(méi)有直接的幫助作用,只能使大家停留在應(yīng)用的初級(jí)階段。SQLServer提供的非常傻瓜的缺省安裝和使用模式,其上手難度并不比Access大。另外,SQLServer能夠兼顧小、中、大規(guī)模的應(yīng)用,有著遠(yuǎn)遠(yuǎn)比Access強(qiáng)大的伸縮性。因此,有了PowerBuilder9.0強(qiáng)大的性能和功能支持,再配合其一向?yàn)槿朔Q(chēng)道的易用性,SQLServer能夠說(shuō)成為了開(kāi)發(fā)者手中的一柄利器!因此我選擇PowerBuilder9.0和SQLServer作為系統(tǒng)開(kāi)發(fā)工具。2.1.2優(yōu)缺點(diǎn)分析本系統(tǒng)采用客戶(hù)機(jī)/服務(wù)器(client/server,簡(jiǎn)稱(chēng)C/S)模式。C/S優(yōu)點(diǎn):由于客戶(hù)端實(shí)現(xiàn)與服務(wù)器的直接相連,沒(méi)有中間環(huán)節(jié),因此響應(yīng)速度快??蛻?hù)操作界面設(shè)計(jì)個(gè)性化,具有直觀、簡(jiǎn)單、方便的特點(diǎn),能夠滿(mǎn)足客戶(hù)個(gè)性化的操作要求。同時(shí)由于開(kāi)發(fā)是針對(duì)性的,因此,操作界面漂亮、形式多樣,能夠充分滿(mǎn)足客戶(hù)自身的個(gè)性化要求。C/S缺點(diǎn):由于是針對(duì)性開(kāi)發(fā),因此缺少通用性的特點(diǎn),業(yè)務(wù)變更或改變不夠靈活,需要重新設(shè)計(jì)和開(kāi)發(fā),增加了維護(hù)和管理的難度,進(jìn)一步的業(yè)務(wù)拓展困難較多。需要專(zhuān)門(mén)的客戶(hù)端安裝程序,分布功能弱,不能夠?qū)崿F(xiàn)快速部署安裝和配置。兼容性差,對(duì)于不同的開(kāi)發(fā)工具,相互之間很難兼容,具有較大的局限性。若采用不同工具,需要重新改寫(xiě)程序。開(kāi)發(fā)成本較高,需要具有一定專(zhuān)業(yè)水準(zhǔn)的技術(shù)人員才能完成。2.2具體實(shí)現(xiàn)中存在的問(wèn)題及解決辦法1.?dāng)?shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的一個(gè)非常重要的階段就是數(shù)據(jù)庫(kù)需求分析階段。就在這個(gè)階段主要是收集基本數(shù)據(jù)以及數(shù)據(jù)處理流程,為以后進(jìn)一步設(shè)計(jì)打下基礎(chǔ)。需求分析主要解決兩個(gè)問(wèn)題:內(nèi)容要求調(diào)查應(yīng)用系統(tǒng)用戶(hù)所操作的數(shù)據(jù),決定在數(shù)據(jù)庫(kù)中存儲(chǔ)什么數(shù)據(jù)。處理要求調(diào)查應(yīng)用系統(tǒng)用戶(hù)要求對(duì)數(shù)據(jù)進(jìn)行什么樣的處理,理清數(shù)據(jù)庫(kù)中的各種數(shù)據(jù)之間的關(guān)系如何。解決這兩個(gè)問(wèn)題的時(shí)候,程序設(shè)計(jì)員需要向應(yīng)用系統(tǒng)用戶(hù)做詳細(xì)的調(diào)查,保證信息收集的完整性。現(xiàn)在軟件開(kāi)發(fā)過(guò)程中最常見(jiàn)的需求分析技術(shù)是快速原型法。其實(shí)質(zhì)就是快速建立展示目標(biāo)產(chǎn)品主要功能的軟件,在開(kāi)發(fā)過(guò)程中根據(jù)用戶(hù)反饋對(duì)模型不斷修改、完善。因此其最重要的一方面體現(xiàn)在”快速”上,要盡可能快的建立原型。第二方面是所構(gòu)造的原型必須能夠改變,根據(jù)用戶(hù)反饋對(duì)模型不斷修改、完善。其示意圖如圖1所示。在開(kāi)發(fā)本系統(tǒng)過(guò)程中,基本遵循快速原型法原則,我感覺(jué)這種方法最大的優(yōu)點(diǎn)是開(kāi)發(fā)周期短、見(jiàn)效快、用戶(hù)參與性強(qiáng)、實(shí)用性強(qiáng)。快速原型驗(yàn)口快速原型驗(yàn)口計(jì)劃驗(yàn)口實(shí)驗(yàn)測(cè)試退役設(shè)計(jì)驗(yàn)口進(jìn)行狀態(tài)集成測(cè)試變化需求驗(yàn)口圖12.?dāng)?shù)據(jù)庫(kù)設(shè)計(jì)中的其它問(wèn)題(1).數(shù)據(jù)完整性數(shù)據(jù)完整性一般包括實(shí)體完整性,域完整性,引用完整性。這些完整性的實(shí)現(xiàn)在PB中都有所體現(xiàn):※實(shí)體完整性經(jīng)過(guò)建立主鍵索引能夠保證各個(gè)主鍵字段的完整性,同時(shí)建立索引也方便用戶(hù)更快地訪問(wèn)數(shù)據(jù)?!蛲暾越?jīng)過(guò)建表時(shí)設(shè)置的數(shù)據(jù)類(lèi)型和數(shù)據(jù)庫(kù)規(guī)則以及合法性檢驗(yàn)等實(shí)現(xiàn)?!猛暾阅軌蚪?jīng)過(guò)觸發(fā)器或其它引用完整性約束來(lái)實(shí)現(xiàn)。(2).?dāng)?shù)據(jù)安全性安全性設(shè)計(jì)考慮兩方面:※外來(lái)破壞為此,給系統(tǒng)設(shè)定密碼及權(quán)限設(shè)置,不同的權(quán)限能夠?qū)ο到y(tǒng)做不同的操作?!鶖?shù)據(jù)的以外破壞利用PB提供的數(shù)據(jù)管道功能,能夠設(shè)計(jì)并實(shí)現(xiàn)數(shù)據(jù)的定期備份或用SLQServer里的備份功能。第三章過(guò)程設(shè)計(jì)3.1系統(tǒng)流程圖數(shù)據(jù)流圖是表示數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)操作的圖形工具,以揭示來(lái)自狀態(tài)模型行為的細(xì)節(jié)問(wèn)題。圖2是招生管理數(shù)據(jù)流圖(DFD)頂層:學(xué)生招生辦學(xué)生招生辦將頂層的招生管理系統(tǒng)細(xì)化為:學(xué)生招生辦學(xué)生招生辦招生辦學(xué)生信息表3.1.1開(kāi)發(fā)流程3.2數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)的實(shí)現(xiàn)概念結(jié)構(gòu)是獨(dú)立于實(shí)際數(shù)據(jù)模型的,必須將其轉(zhuǎn)化為邏輯結(jié)構(gòu)后才能夠進(jìn)行數(shù)據(jù)庫(kù)應(yīng)用設(shè)計(jì)。也就是將上面的數(shù)據(jù)庫(kù)概念轉(zhuǎn)化為SLQServer數(shù)據(jù)庫(kù)系統(tǒng)所支持的實(shí)際數(shù)據(jù)模型。形成數(shù)據(jù)庫(kù)中的表格,以及各表之間的關(guān)系。”招生管理系統(tǒng)”數(shù)據(jù)庫(kù)各表格的設(shè)計(jì)結(jié)果如下面幾個(gè)表格所示。學(xué)生報(bào)到表:分?jǐn)?shù)線設(shè)置表:學(xué)生錄取報(bào)名表:學(xué)生交費(fèi)表:省份表:特長(zhǎng)生報(bào)到表:特長(zhǎng)生錄取報(bào)名表:系統(tǒng)用戶(hù)表:3.3概念設(shè)計(jì)概要設(shè)計(jì)基礎(chǔ)是完成需求分析后提供的需求說(shuō)明書(shū),用概念數(shù)據(jù)模型表示數(shù)據(jù)及其相互間的關(guān)系,這種數(shù)據(jù)模型是與DBMS無(wú)關(guān)的、面向現(xiàn)實(shí)世界的、易如理解的數(shù)據(jù)模型,其獨(dú)立于計(jì)算機(jī)的數(shù)據(jù)模型,獨(dú)立于計(jì)算機(jī)的軟硬件系統(tǒng),與用戶(hù)進(jìn)行交流十分方便。

概念性數(shù)據(jù)模型關(guān)心的是如何完整、正確地反映客觀實(shí)際情況,不關(guān)心在數(shù)據(jù)庫(kù)中如何實(shí)現(xiàn)。這種數(shù)據(jù)模式能真實(shí)地反應(yīng)用戶(hù)要求的實(shí)際情況,是一種容易被人們理解的直觀的數(shù)據(jù)庫(kù)結(jié)構(gòu)模式。同時(shí)也是一種相對(duì)穩(wěn)定統(tǒng)一的數(shù)據(jù)模式,一般情況下很少變動(dòng)。概念性數(shù)據(jù)在用戶(hù)和設(shè)計(jì)者之間建立了橋梁。是設(shè)計(jì)數(shù)據(jù)庫(kù)結(jié)構(gòu)的基礎(chǔ)。

概念設(shè)計(jì)中自頂向下的實(shí)體分析方法,即常見(jiàn)的實(shí)體聯(lián)系模型(簡(jiǎn)稱(chēng)E-R模型),對(duì)具體數(shù)據(jù)進(jìn)行抽象加工,將實(shí)體集合抽象成實(shí)體類(lèi)型。用實(shí)體間聯(lián)系反映現(xiàn)實(shí)世界事物間的內(nèi)在聯(lián)系。E-R模型是建立概念性數(shù)據(jù)模型的有力工具。本系統(tǒng)E-R圖:學(xué)生類(lèi)別學(xué)生類(lèi)別專(zhuān)業(yè)招生辦學(xué)生學(xué)生實(shí)體E-R圖:學(xué)生學(xué)生3.3.1建立數(shù)據(jù)庫(kù)及數(shù)據(jù)字典建立數(shù)據(jù)庫(kù)為了有效地保存和移植原有數(shù)據(jù),因此,招生管理系統(tǒng)后臺(tái)數(shù)據(jù)庫(kù)采用SQLserver,數(shù)據(jù)庫(kù)的建立就用SQLserver里的企業(yè)管理器建立數(shù)據(jù)庫(kù),然后為數(shù)據(jù)庫(kù)添加系統(tǒng)所需要的數(shù)據(jù)表(系統(tǒng)用戶(hù)表、學(xué)生報(bào)到表、學(xué)生錄取報(bào)名表、省份表、特長(zhǎng)生報(bào)到表、特長(zhǎng)生錄報(bào)名取表、學(xué)生交費(fèi)表、分?jǐn)?shù)線設(shè)置表),建立好數(shù)據(jù)庫(kù)后就用PowerBuilder9.0進(jìn)行連接進(jìn)行系統(tǒng)開(kāi)發(fā)。數(shù)據(jù)字典數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是說(shuō)是對(duì)數(shù)據(jù)流圖中包含的所有元素的定義的集合。它對(duì)數(shù)據(jù)流程圖加以補(bǔ)充說(shuō)明的工具,為數(shù)據(jù)庫(kù)用戶(hù)、數(shù)據(jù)庫(kù)管理員、系統(tǒng)分析員和程序員提供了某些數(shù)據(jù)項(xiàng)的綜合信息,數(shù)據(jù)字典經(jīng)過(guò)數(shù)據(jù)元素和數(shù)據(jù)結(jié)構(gòu)來(lái)描寫(xiě)數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)的屬性。數(shù)據(jù)字典中有六類(lèi)條目:數(shù)據(jù)元素、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、處理過(guò)程、外部實(shí)體。不同類(lèi)型的條目有不同的屬性需要描述,現(xiàn)在就以”學(xué)生”這個(gè)對(duì)象分別說(shuō)明。(1)數(shù)據(jù)元素是最小的數(shù)據(jù)組成單位,也就是不可再分的數(shù)據(jù)單位,它對(duì)每個(gè)數(shù)據(jù)元素的屬性描述,還包含對(duì)該元素的簡(jiǎn)要說(shuō)明、與它有關(guān)的數(shù)據(jù)結(jié)構(gòu)等。數(shù)據(jù)元素條目名稱(chēng):學(xué)號(hào)總編號(hào)0500101(自由規(guī)定)別名:ID編號(hào):01(自由規(guī)定)說(shuō)明:本校學(xué)生編碼有關(guān)編碼說(shuō)明:××(入年號(hào))×(系代號(hào))×(專(zhuān)業(yè)代號(hào))×(班號(hào))××(編號(hào))數(shù)據(jù)值類(lèi)型:離散類(lèi)型:(字符/數(shù)字)數(shù)字長(zhǎng)度:7(自由規(guī)定)有關(guān)數(shù)據(jù)結(jié)構(gòu):學(xué)生錄取報(bào)名、學(xué)生報(bào)到、學(xué)生交費(fèi)(2)數(shù)據(jù)結(jié)構(gòu)描述的重點(diǎn)是數(shù)據(jù)之間的組合關(guān)系,即說(shuō)明這個(gè)數(shù)據(jù)結(jié)構(gòu)包含那些成分。數(shù)據(jù)結(jié)構(gòu)條目名稱(chēng):學(xué)生報(bào)到總編號(hào):1-03說(shuō)明:新生入學(xué)報(bào)道編號(hào):03結(jié)構(gòu):學(xué)號(hào)、姓名、出生日期、省份有關(guān)數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ):專(zhuān)業(yè)、電話、體檢情況、類(lèi)型報(bào)到信息表、報(bào)到數(shù)據(jù)(3)數(shù)據(jù)流在數(shù)據(jù)字典中屬性是:數(shù)據(jù)流的來(lái)源、數(shù)據(jù)流的去處、組成、流通量。數(shù)據(jù)流條目名稱(chēng):學(xué)生信息表總編號(hào):2-05說(shuō)明:學(xué)生報(bào)到等信息編號(hào):05數(shù)據(jù)流來(lái)源:招生辦流通量:100份/學(xué)期數(shù)據(jù)流去向:招生辦包含的數(shù)據(jù)結(jié)構(gòu):學(xué)生錄取報(bào)名、學(xué)生報(bào)到、學(xué)生交費(fèi)(4)數(shù)據(jù)存儲(chǔ)的條目主要描寫(xiě)該數(shù)據(jù)存儲(chǔ)的結(jié)構(gòu),以及有關(guān)數(shù)據(jù)流、查詢(xún)要求。數(shù)據(jù)存儲(chǔ)條目名稱(chēng):數(shù)據(jù)信息總編號(hào):3-06說(shuō)明:招生信息編號(hào):D1結(jié)構(gòu):學(xué)生錄取報(bào)名信息有關(guān)的數(shù)據(jù)流:學(xué)生報(bào)到信息核對(duì)--D1學(xué)生交費(fèi)信息D1--存入數(shù)據(jù)D1--輸出打印(5)處理過(guò)程是對(duì)功能的簡(jiǎn)要說(shuō)明。處理過(guò)程條目名稱(chēng):查詢(xún)總編號(hào):4-07說(shuō)明:查詢(xún)學(xué)生錄取、報(bào)到、交費(fèi)信息編號(hào):07輸入:存入的數(shù)據(jù)--查詢(xún)輸出:查詢(xún)--招生辦處理:查詢(xún)存入數(shù)據(jù)中的學(xué)生錄取、報(bào)到、交費(fèi)信息(6)外部實(shí)體是數(shù)據(jù)的來(lái)源和去向。主要是說(shuō)明外部實(shí)體產(chǎn)生的數(shù)據(jù)流和傳給該外部實(shí)體的數(shù)據(jù)流。外部實(shí)體名稱(chēng):招生辦總編號(hào):5-08說(shuō)明:負(fù)責(zé)本系統(tǒng)編號(hào):08輸入數(shù)據(jù):招生辦-學(xué)生輸出數(shù)據(jù):查詢(xún)信息-招生辦3.4系統(tǒng)功能分析系統(tǒng)開(kāi)發(fā)的總體任務(wù)是實(shí)現(xiàn)各種信息的系統(tǒng)化、規(guī)范化和自動(dòng)化。本系統(tǒng)主要是應(yīng)用在大學(xué)校園,它需要完成的主要功能有:■報(bào)名信息包括本科生、專(zhuān)科生、成教、特長(zhǎng)生的報(bào)名信息■錄取信息包括本科生、專(zhuān)科生、成教、特長(zhǎng)生的錄取信息■報(bào)到信息包括本科生、專(zhuān)科生、成教、特長(zhǎng)生的報(bào)到信息■收費(fèi)信息包括本科生、專(zhuān)科生、成教、特長(zhǎng)生的收費(fèi)信息3.4.1系統(tǒng)功能模塊設(shè)計(jì)對(duì)上述各項(xiàng)功能進(jìn)行集中、分塊、按照結(jié)構(gòu)化程序設(shè)計(jì)的要求,得到如下圖的系統(tǒng)功能模塊圖。3.5詳細(xì)設(shè)計(jì)下面對(duì)系統(tǒng)功能的主要窗口的詳細(xì)設(shè)計(jì)進(jìn)行說(shuō)明,其它有類(lèi)似功能的窗口請(qǐng)?jiān)谠O(shè)計(jì)作品中得到。首先創(chuàng)立工作空間和應(yīng)用程序,然后再設(shè)計(jì)各模塊。這里先把全局變量定義如下:stringusernamestringuserpasswordintg_input_time,g_rownumberstringg_user,g_pwdstringcorrect_pswdstringsort1stringfilterconditionStringdataobject3.5.1Splash窗口設(shè)計(jì)該窗口是系統(tǒng)開(kāi)始之前的一個(gè)系統(tǒng)登錄等待三秒的窗口,如下圖所示:3.5.2用戶(hù)登錄窗口模塊設(shè)計(jì)本系統(tǒng)登錄采用權(quán)限設(shè)置,為系統(tǒng)提供了安全性,窗口(w_login)如下所示:單選框管理員clicked事件:open(w_logingl)close(w_login)單選框普通用戶(hù)clicked事件:open(w_loginp)close(w_login)這里的(w_logingl)是管理員登錄窗口,(w_loginp)是普通用戶(hù)登錄窗口。如下圖所示:3.5.3主界面窗口模塊設(shè)計(jì)用戶(hù)登錄系統(tǒng)后就進(jìn)入主界面窗口,系統(tǒng)應(yīng)用程序都是在主窗口”w_main”及在其下打開(kāi)的眾多窗口中完成的。本系統(tǒng)窗口如下圖所示,主窗口連接的菜單是”m_b_zhsh”。主窗口連接的菜單是”m_b_zhsh”,各菜單中的程序分別用以打開(kāi)各個(gè)部分的窗口,使各部分與應(yīng)用程序主窗口建立連接,該菜單的具體結(jié)構(gòu)如下圖所示:菜單項(xiàng)的clicked事件除了以open()方式打開(kāi),還有條件打開(kāi)方式,具體以清空中”本科生紀(jì)錄”和報(bào)名信息中”本科生報(bào)名”為例在附錄章節(jié)中說(shuō)明。小結(jié):在菜單項(xiàng)或子菜單打開(kāi)窗口,w_main主窗口設(shè)置最大化有背景圖片時(shí),如果以opensheet()語(yǔ)句打開(kāi)則無(wú)反應(yīng),以open()語(yǔ)句打開(kāi)則能夠。3.5.4信息模塊設(shè)計(jì)本系統(tǒng)的報(bào)名信息、報(bào)到信息、錄取信息、收費(fèi)信息模塊分別有多個(gè)窗口組成,由于原理一樣,這里就不一一講述,只講述報(bào)名窗口(w_bm)和錄取窗口(w_lq)及其相關(guān)窗口。對(duì)應(yīng)的數(shù)據(jù)窗口d_bm,d_bm_grid如下圖所示:上圖為錄取窗口,其主要功能是對(duì)錄取的學(xué)生進(jìn)行記錄,相應(yīng)的w_infor窗口如下所示:w_infor窗口主要是查看專(zhuān)業(yè)排名和各專(zhuān)業(yè)報(bào)考信息。3.5.5打印預(yù)覽模塊設(shè)計(jì)該模塊是采用標(biāo)尺設(shè)置的打印方式,便于用戶(hù)選擇不同的格式打印相應(yīng)的打印窗口如下圖所示:3.5.6修改密碼窗口模塊設(shè)計(jì)如圖所示主要是對(duì)用戶(hù)進(jìn)行資料修改3.6生成應(yīng)用程序在powerbuilder的環(huán)境下,單擊工程畫(huà)筆工具欄上的Bild圖標(biāo)進(jìn)行工程編譯,編譯后生成執(zhí)行文件,由于創(chuàng)立的是數(shù)據(jù)庫(kù)應(yīng)用程序,因此在客戶(hù)端還需安裝一個(gè)SQLServer客戶(hù)端軟件,這樣創(chuàng)立的應(yīng)用程序就能夠經(jīng)過(guò)這個(gè)數(shù)據(jù)庫(kù)接口訪問(wèn)服務(wù)器端的數(shù)據(jù)庫(kù)了。第四章結(jié)果性能測(cè)試與分析性能測(cè)試在軟件的質(zhì)量保證中起著重要的作用,它包括的測(cè)試內(nèi)容豐富多樣。本系統(tǒng)是應(yīng)用在客戶(hù)端性能的測(cè)試,應(yīng)用在客戶(hù)端性能測(cè)試的目的是考察客戶(hù)端應(yīng)用的性能,測(cè)試的入口是客戶(hù)端。性能測(cè)試與分析的目的是驗(yàn)證軟件系統(tǒng)是否能夠達(dá)到用戶(hù)提出的性能指標(biāo),同時(shí)發(fā)現(xiàn)軟件系統(tǒng)中存在的性能瓶頸,優(yōu)化軟件,最后起到優(yōu)化系統(tǒng)的目的。運(yùn)行測(cè)試用例后,收集相關(guān)信息,進(jìn)行數(shù)據(jù)統(tǒng)計(jì)分析,找到性能瓶頸。經(jīng)過(guò)排除誤差和其它因素,讓測(cè)試結(jié)果體現(xiàn)接近真實(shí)情況。不同的體系結(jié)構(gòu)分析測(cè)試結(jié)果的方法也不同,B/S結(jié)構(gòu)我們會(huì)分析網(wǎng)絡(luò)帶寬,流量對(duì)用戶(hù)操作響應(yīng)的影響,而C/S結(jié)構(gòu)我們可能更關(guān)心會(huì)系統(tǒng)整體配置對(duì)用戶(hù)操作的影響。4.1測(cè)試實(shí)例的研究與選擇

設(shè)計(jì)測(cè)試實(shí)例是在了解軟件業(yè)務(wù)流程的基礎(chǔ)上。設(shè)計(jì)測(cè)試實(shí)例的原則是受最小的影響提供最多的測(cè)試信息,設(shè)計(jì)測(cè)試實(shí)例的目標(biāo)是一次盡可能的包含多個(gè)測(cè)試要素。這些測(cè)試實(shí)例必須是測(cè)試工具能夠?qū)崿F(xiàn)的,不同的測(cè)試場(chǎng)景將測(cè)試不同的功能。因?yàn)樾阅軠y(cè)試不同于平時(shí)的測(cè)試實(shí)例,盡可能把性能測(cè)試用例設(shè)計(jì)的復(fù)雜,才有可能發(fā)現(xiàn)軟件的性能瓶頸。

經(jīng)過(guò)性能測(cè)試工具運(yùn)行測(cè)試用例。同一環(huán)境下作的性能測(cè)試得到的測(cè)試結(jié)果是不準(zhǔn)確的,因此在運(yùn)行這些測(cè)試用例的時(shí)候,需要用不同的測(cè)試環(huán)境,不同的機(jī)器配置上運(yùn)行。4.2測(cè)試環(huán)境與測(cè)試條件本設(shè)計(jì)的測(cè)試環(huán)境、條件與系統(tǒng)的開(kāi)發(fā)、運(yùn)行環(huán)境如下:Pentium4計(jì)算機(jī)一臺(tái)測(cè)試環(huán)境:WindowsXP測(cè)試工具:PowerBuilder9.0、SQLServer數(shù)據(jù)庫(kù)管理系統(tǒng):SQLServer數(shù)據(jù)庫(kù)服務(wù)器:SQLServer在WindowsXP上要安裝上SQLServer并作為本地計(jì)算機(jī)配置服務(wù)器;然后在SQLServer的企業(yè)管理器中設(shè)置SQLServer組。只有這兩步完成后,后面的用PowerBuilder設(shè)計(jì)系統(tǒng)在應(yīng)用程序中才能訪問(wèn)SQLServer服務(wù)器。4.3實(shí)例測(cè)試測(cè)試目的、測(cè)試的實(shí)例、測(cè)試環(huán)境與條件都完成后,就開(kāi)始對(duì)測(cè)試進(jìn)行實(shí)施了。測(cè)試前先打開(kāi)SQLServer服務(wù)器,然后打開(kāi)PB9.0進(jìn)行數(shù)據(jù)庫(kù)連接將系統(tǒng)連接編譯生成系統(tǒng)的可執(zhí)行文件。本系統(tǒng)主要測(cè)試實(shí)施過(guò)程如下表所示:步驟操作輸入數(shù)據(jù)預(yù)期輸出1用戶(hù)啟動(dòng)主界面,進(jìn)入招生管理系統(tǒng)權(quán)限登錄窗體。分別輸入不同的權(quán)限用戶(hù)名和密碼成功進(jìn)入管理系統(tǒng)主窗體2普通用戶(hù)進(jìn)入的修改密碼原密碼、新密碼提示成功3管理員進(jìn)入用戶(hù)設(shè)置用戶(hù)名、密碼提示成功4用戶(hù)重新登錄用戶(hù)名、密碼進(jìn)入主界面5進(jìn)入報(bào)名窗口添加各項(xiàng)數(shù)據(jù)保存成功6報(bào)名窗口查詢(xún)條件-女2條記錄7進(jìn)入錄取窗口添加各項(xiàng)數(shù)據(jù)保存成功8錄取窗口查詢(xún)條件-所有6條記錄9錄取窗口的查看信息無(wú)顯示專(zhuān)業(yè)排名10打印預(yù)覽窗口單擊-顯示標(biāo)尺顯示標(biāo)尺11預(yù)覽窗口顯示比例選擇150%以150%形式顯示12選擇菜單”清空”無(wú)提示清空所有記錄13選擇菜單”關(guān)于”無(wú)顯示信息14主窗口紅色交叉圖標(biāo)無(wú)退出系統(tǒng)性能分析經(jīng)過(guò)系統(tǒng)的測(cè)試大部分還是成功的,可是有的地方存在不足,比如在有的復(fù)合查詢(xún)時(shí)每次查詢(xún)必須刷新后才能夠進(jìn)行下一次查詢(xún),看來(lái)自己對(duì)SQL語(yǔ)言沒(méi)有達(dá)到更深的層次。另外有個(gè)局限就是在運(yùn)行本系統(tǒng)時(shí),必須有SQLServer,而且必須連接好數(shù)據(jù)庫(kù)才能夠運(yùn)行,感覺(jué)不是很靈活,由于對(duì)PB學(xué)的不是太深,還有很多控件功能沒(méi)用上,因此說(shuō)本系統(tǒng)是個(gè)性能一般系統(tǒng),有待于自己能有更多的時(shí)間去學(xué)習(xí)。第五章結(jié)束語(yǔ)5.1結(jié)論本系統(tǒng)采用PowerBuilder9.0為主要開(kāi)發(fā)工具,結(jié)合SQLServer數(shù)據(jù)庫(kù)管理系統(tǒng)與WindowsXP操作系統(tǒng),是采用C/S模式系統(tǒng)管理。既考慮了系統(tǒng)的需求,又兼顧了運(yùn)行的實(shí)際效率,以及今后系統(tǒng)的功能拓展等。具有可運(yùn)行、開(kāi)發(fā)周期短、有一定的擴(kuò)展能力、技術(shù)規(guī)范等特點(diǎn)。同時(shí)也存在不足之處就是:需要專(zhuān)門(mén)的客戶(hù)端安裝程序,分布功能弱,不能夠?qū)崿F(xiàn)快速部署安裝和配置。兼容性差,對(duì)于不同的開(kāi)發(fā)工具,具有較大的局限性。相信經(jīng)過(guò)自己的努力以后會(huì)有所進(jìn)步。5.2心得體會(huì)伴隨著信息技術(shù)的發(fā)展以及管理思想的不斷創(chuàng)新而不斷發(fā)展,利用計(jì)算機(jī)及網(wǎng)絡(luò)加強(qiáng)與拓展傳統(tǒng)信息系統(tǒng)的職能進(jìn)入了一個(gè)加速階段。從最初的DOS平臺(tái)到Windows、Unix平臺(tái),數(shù)據(jù)庫(kù)從dBASE、FoxPro再到SQLServer、Sybase、0racle等大型數(shù)據(jù)庫(kù),系統(tǒng)結(jié)構(gòu)也基本上建立在C/S甚至B/S結(jié)構(gòu)上。借助于大型數(shù)據(jù)庫(kù)系統(tǒng)的管理分析功能,管理軟件在向更強(qiáng)的分析功能發(fā)展,也有的在向支持企業(yè)管理的方向發(fā)展,可見(jiàn)信息系統(tǒng)的戰(zhàn)略作用或目標(biāo)在未來(lái)的發(fā)展前景是光明的。經(jīng)過(guò)這次的畢業(yè)設(shè)計(jì),我不但對(duì)以前學(xué)到的知識(shí)進(jìn)行鞏固,又對(duì)自己的專(zhuān)業(yè)加深了解并掌握了計(jì)算機(jī)專(zhuān)業(yè)關(guān)于軟件開(kāi)發(fā)設(shè)計(jì)知識(shí)。能夠說(shuō)又學(xué)到了不少知識(shí),同時(shí)也深感自己知識(shí)的欠缺,PB是個(gè)很好的開(kāi)發(fā)數(shù)據(jù)庫(kù)工具,可是當(dāng)前所學(xué)到的只是很基礎(chǔ)的,有待于向高級(jí)層次學(xué)習(xí),當(dāng)然這是需要時(shí)間的,我相信憑著自己對(duì)本專(zhuān)業(yè)的熱愛(ài)我會(huì)努力的。謝辭在這次的畢業(yè)設(shè)計(jì)過(guò)程中,從開(kāi)始軟件的設(shè)計(jì)到完成論文的撰寫(xiě),王化文、龔鳴敏老師一直經(jīng)過(guò)E-mail、電話、在場(chǎng)輔導(dǎo)等方式給予了精心的指導(dǎo)和熱情的幫助,提出了許多寶貴意見(jiàn)。論文完成的前提是老師給我提供了舒適的工作、學(xué)習(xí)環(huán)境,并給予我悉心的關(guān)懷與指導(dǎo)。在些表示衰心的感謝。老師認(rèn)真負(fù)責(zé)的工作態(tài)度、嚴(yán)謹(jǐn)?shù)闹螌W(xué)風(fēng)格,使我深受啟發(fā);同時(shí)也得感謝同學(xué)給我的指導(dǎo)和幫助,以及給我提供的良好的開(kāi)發(fā)環(huán)境,是她們的幫助下,我才能獨(dú)立的完成這個(gè)系統(tǒng)。

再次感謝所有給予我?guī)椭睦蠋?、同學(xué)們!參考文獻(xiàn)[1]衛(wèi)海等<<PowerBuilder課程設(shè)計(jì)案例精編>>[M]中國(guó)水利水電出版社,[2]方小偉趙永軍李其中<<PowerBuilder軟件開(kāi)發(fā)項(xiàng)目實(shí)踐>>[M]清華大學(xué)出版社,[3]張振坤李文立焦虹<<PowerBuilder精彩編程200例>>[M]機(jī)械工業(yè)出版社,

[4]黃浩趙宏杰<<PowerBuilder精彩編程百例>>[M]中國(guó)水利水電出版社,[5]劉素銘張振坤馮問(wèn)萃<<PowerBuilder數(shù)據(jù)庫(kù)開(kāi)發(fā)關(guān)鍵技術(shù)與實(shí)例應(yīng)用>>[M]人民郵電出版社,[6]<<SQLserver系統(tǒng)管理>>[P]飛思科技產(chǎn)品研發(fā)中心電子工業(yè)出版社,[7]周岐《PowerBuilder程序開(kāi)發(fā)項(xiàng)目案例》[M]清華大學(xué)出版社,附錄根據(jù)第三章中所提及到的所有模塊的功能,詳細(xì)的主要部份的代碼就包含在本附錄中。此查詢(xún)窗口是在”學(xué)生報(bào)名”(w_bm)窗口中”查詢(xún)”按扭下打開(kāi)的,報(bào)名窗口中的”查詢(xún)”的clicked事件是open(w_query)。w_query就是上圖的查詢(xún)窗口?!辈樵?xún)”clicked事件編碼如下://定義參數(shù):查詢(xún)條件綜合結(jié)果stringLookforCondition//查詢(xún)條件總個(gè)數(shù)//定義參數(shù):要查詢(xún)的列//lookforitem1,lookforitem2分別為查詢(xún)子段1(ddlb_1.text)和子段2按表中某字段項(xiàng)查詢(xún)stringlookforitem1,lookforitem2//定義參數(shù):查詢(xún)的符號(hào)//lookforhow1,lookforhow2分別為下拉框控件中符號(hào)項(xiàng)(如>,<,=,<>等)stringlookforhow1,lookforhow2//定義參數(shù):要查詢(xún)的內(nèi)容//lookforWhat1,lookforWhat2分別是輸入框(如sle_1.text)要輸入的條件內(nèi)容stringlookforWhat1,lookforWhat2stringlookforsign //查詢(xún)符號(hào)的選擇lookforHow1=ddlb_2.textlookforHow2=ddlb_4.text//操作符號(hào)的選擇ifddlb_5.text='與'thenlookforsign="and"elseifddlb_5.text='或'then lookforsign="or"endif//查詢(xún)子段1和查詢(xún)內(nèi)容1的選擇ifddlb_1.text="報(bào)名號(hào)"then lookforItem1="id" lookforwhat1=sle_1.textelseifddlb_1.text="姓名"then lookforItem1="name" lookforwhat1=sle_1.textelseifddlb_1.text="性別"then lookforItem1="gender" lookforwhat1=sle_1.textelseifddlb_1.text="總分"then lookforItem1="together" lookforwhat1=sle_1.textendif//查詢(xún)子段2和查詢(xún)內(nèi)容2的選擇ifddlb_3.text="報(bào)名號(hào)"then lookforItem2="id" lookforwhat2=sle_2.textelseifddlb_3.text="姓名"then lookforItem2="name" lookforwhat2=sle_2.textelseifddlb_3.text="性別"then lookforItem2="gender" lookforwhat2=sle_2.textelseifddlb_3.text="總分"then lookforItem2="together" lookforwhat2=sle_2.textendif//查詢(xún)條件的綜合ifddlb_1.text=""orddlb_2.text=""thenelseifddlb_3.text=""orddlb_4.text=""then lookforCondition="sort="+"'"+sort1+"'"+"and"+lookforItem1+lookforHow1+"'"+lookforwhat1+"'"else lookforCondition="sort="+"'"+sort1+"'"+"and"+lookforItem1+lookforHow1+"'"+lookforwhat1+"'"+""+lookforsign+""+lookforItem2+lookforHow2+"'"+lookforwhat2+"'"endif//過(guò)濾數(shù)據(jù)窗口currentdww_bm.dw_1.setfilter(lookforCondition)w_bm.dw_1.filter()w_bm.dw_1.retrieve()Splash窗口設(shè)計(jì)程序代碼如下:窗口的open事件:timer(3,this)this.setposition(topmost!)窗口的timer事件:close(this)窗口的close事件:timer(0,this)用戶(hù)登錄窗口模塊設(shè)計(jì)管理員登錄窗口”確定”按扭clicked事件:stringmy my="("+"user_id"+"="+"'"+'admin'+"'"+")"+"and"+"("+"user_pwd"+"="+"'"+sle_1.text+"'"+")"dw_1.setfilter(my)filter(dw_1)dw_1.retrieve(1)ifdw_1.rowcount()=0then MessageBox("警告","密碼錯(cuò)誤,你是管理員嗎?",stopsign!)else username='admin' userpassword=sle_1.text open(w_main) close(w_logingl)endif普通用戶(hù)登錄窗口的”確定”按扭clicked事件:ifsle_1.text=""then //popamessagebox messagebox("PayAttention!","Theusernamecantbenull") //sle_1getthefocus sle_1.setfocus()elseifsle_2.text=""then //popamessagebox messagebox("PayAttention!","Thepasswordcantbenull") //sle_2getthefocus sle_2.setfocus()else G_INPUT_TIME=G_INPUT_TIME+1 G_USER=sle_1.text G_PWD=sle_2.text //取出數(shù)據(jù)庫(kù)用戶(hù)口令表格中對(duì)應(yīng)用戶(hù)的口令 SELECTuser_PWDINTO:CORRECT_PSWDFROMUSER_infoWHEREuser_id=:G_USER; //將數(shù)據(jù)庫(kù)中保存的口令和用戶(hù)輸入的口令作比較 IFG_PWD=CORRECT_PSWDTHEN //輸入正確,打開(kāi)主窗口 OPEN(W_MAINp) CLOSE(W_LOGINp) ELSE //不正確,在3次以?xún)?nèi)可重新輸入,超過(guò)3次結(jié)束程序 IFG_INPUT_TIME>3THEN MESSAGEBOX("警告","輸入用戶(hù)口令的次數(shù)太多!") CLOSE(W_LOGINp) ELSE MESSAGEBOX("警告","輸入的用戶(hù)口令有誤,請(qǐng)重新輸入") ENDIF ENDIFendif普通用戶(hù)登錄窗口的”退出”按扭clicked事件:halt主界面窗口模塊設(shè)計(jì)菜單項(xiàng)的clicked事件除了以open()方式打開(kāi),還有條件打開(kāi)方式,具體以清空中”本科生紀(jì)錄”和報(bào)名信息中”本科生報(bào)名”為例說(shuō)明。本科生紀(jì)錄clicked事件://刪除已錄取本科生的所有記錄intaa=messagebox('注意!',"確定要?jiǎng)h除嗎?刪除后將無(wú)法恢復(fù)!",question!,okcancel!)ifa=1thendeletefromb_bmwherematornot='是'andsort='本科';commit;endif本科生報(bào)名clicked事件:sort1="本科"filtercondition="sort="+"'"+sort1+"'"open(w_bm)信息模塊設(shè)計(jì)報(bào)名窗口相應(yīng)的控件代碼:/*以下為”窗口打開(kāi)事件”腳本*///設(shè)置事務(wù)對(duì)象dw_bm.settransobject(sqlca)dw_1.settransobject(sqlca)//dw_bm獲取數(shù)據(jù)dw_bm.setfilter(filtercondition)dw_bm.filter()dw_bm.retrieve()//dw_1獲取數(shù)據(jù)dw_1.setfilter(filtercondition)dw_1.filter()dw_1.retrieve()st_nrow.visible=false/*以下為”窗口關(guān)閉事件”腳本*///定義兩個(gè)變量intMCount//修改后沒(méi)有保存的行數(shù)intUpdateOrNot//是否修改//得到修改后沒(méi)有保存的行數(shù)MCount=w_bm.dw_bm.ModifiedCount()ifMCount=0then //沒(méi)有未保存的修改 close(w_bm)elseifMcount>0then //詢(xún)問(wèn)是否保存所做的修改 UpdateOrNot=MessageBox("保存修改","您修改了數(shù)據(jù)窗口中的數(shù)據(jù),現(xiàn)在是否保存?",Question!,YesNoCancel!) ifUpdateOrNot=1then //保存 ifupdate(w_bm.dw_bm,true,false)=1then //保存修改成功,提交修改 w_bm.dw_bm.resetupdate() commit; else //保存修改失敗,取消所作的修改 rollback; //彈出一個(gè)對(duì)話框警告 messagebox("錯(cuò)誤!!!","數(shù)據(jù)保存失敗") endif close(w_bm) elseifUpdateOrNot=2then //不保存 rollback; close(w_bm) endifendif打開(kāi)打印預(yù)覽窗口定義的函數(shù)”f(datawindowadw_data)”如下所示:openwithparm(w_dw_printpreview,adw_data)intlili=message.longparmifli=1thenreturntrueelsereturnfalseendif/*以下為”添加”clicked事件腳本*///在最后插入一行g(shù)_RowNumber=dw_bm.InsertRow(0)//dw_bm得到焦點(diǎn)dw_bm.SetFocus()//到當(dāng)前行dw_bm.ScrollToRow(G_RowNumber)//第一個(gè)字段得到焦點(diǎn)dw_bm.SetColumn(1)/*以下為”刪除”clicked事件腳本*/inta//確定刪除a=messagebox("!","確定要?jiǎng)h除本條記錄嗎?",question!,okcancel!)ifa=1then//得到當(dāng)前記錄G_RowNumber=dw_bm.getrow()//刪除當(dāng)前記錄deleterow(dw_bm,g_rownumber)//保存刪除ifupdate(dw_bm,true,false)=1then //保存修改成功,提交修改 dw_bm.resetupdate() commit;else //保存修改失敗,取消所作的修改 rollback; //彈出一個(gè)對(duì)話框警告 messagebox("錯(cuò)誤!!!","刪除失敗!")endifendif/*以下為”保存”clicked事件腳本*/ifupdate(dw_bm,true,false)=1then //保存修改成功,提交修改 dw_bm.resetupdate() commit;else //保存修改失敗,取消所作的修改 rollback; //彈出一個(gè)對(duì)話框警告 messagebox("錯(cuò)誤!!!","數(shù)據(jù)保存失敗")endifdw_1.retrieve()dw_1.scrolltorow(g_RowNumber)dw_1.selectrow(g_RowNumber,true)/*以下為”上一條”clicked事件腳本*///數(shù)據(jù)窗口向前滾動(dòng)一條記錄row_current=dw_bm.ScrollPriorRow()//如果已經(jīng)到達(dá)第一條記錄,則彈出一個(gè)對(duì)話框警告ifrow_current=1then MessageBox("警告","已經(jīng)是最前一條記錄")endif/*以下為”下一條”clicked事件腳本*///定義參數(shù)表的總行數(shù)integerrow_count//數(shù)據(jù)窗口向后滾動(dòng)一條紀(jì)錄row_current=dw_bm.ScrollNextRow()//得到表的總行數(shù)row_count=dw_bm.RowCount()//判斷是否是最后一條記錄ifrow_current=row_countthen MessageBox("警告","已經(jīng)是最后一條記錄")endif/*以下為”打印”腳本*/longll_rowsll_rows=dw_1.rowcount()ifll_rows>0theniff(dw_1)thenmessagebox('提示','打印成功')elsemessagebox('提示','取消打印')endifendif查詢(xún)代碼前面說(shuō)過(guò),原理一樣這里不再說(shuō)明。/*以下為”退出”腳本*///定義兩個(gè)變量intMCount//修改后沒(méi)有保存的行數(shù)intUpdateOrNot//是否修改//得到修改后沒(méi)有保存的行數(shù)MCount=w_bm.dw_bm.ModifiedCount()ifMCount=0then //沒(méi)有未保存的修改 close(w_bm)elseifMcount>0then //詢(xún)問(wèn)是否保存所做的修改 UpdateOrNot=MessageBox("保存修改","您修改了數(shù)據(jù)窗口中的數(shù)據(jù),現(xiàn)在是否保存?",Question!,YesNoCancel!) ifUpdateOrNot=1then //保存 ifupdate(w_bm.dw_bm,true,false)=1then //保存修改成功,提交修改 w_bm.dw_bm.resetupdate() commit; else //保存修改失敗,取消所作的修改 rollback; //彈出一個(gè)對(duì)話框警告 messagebox("錯(cuò)誤!!!","數(shù)據(jù)保存失敗") endif close(w_bm) elseifUpdateOrNot=2then //不保存 rollback; close(w_bm) endifendif錄取窗口相應(yīng)的代碼:/*以下為”查看信息”腳本*///打開(kāi)窗口open(w_infor)//將特長(zhǎng)信息設(shè)置為不可見(jiàn)w_infor.st_sort1.visible=falsew_infor.st_sort.visible=falsew_infor.st_prof1.visible=falsew_infor.st_prof.visible=falsew_infor.st_tscore1.visible=falsew_infor.st_tscore.visible=false//定義參數(shù)stringbmid,a,b,c,d,d1,e,f,max,min,max1,min1,max3,max4,min3,min4intn,m,k,n1,m1,n3,n4,m3,m4//定義當(dāng)前行號(hào)intcurrentrowcurrentrow=dw_lq.getrow()bmid=dw_lq.getitemstring(currentrow,1)//將考生的姓名、省份、總分、專(zhuān)業(yè)賦予窗口selectname,province,together,firspec,secspec,typeinto:a,:b,:c,:d,:d1,:efromb_bmwhereid=:bmid;w_infor.st_name.text=aw_infor.st_province.text=bw_infor.st_score.text=cw_infor.st_zhy.text=dw_infor.st_zhy1.text=d1//將分?jǐn)?shù)線賦予窗口selectlineinto:ffromb_shzhwhereprovince=:bandtype=:eandsort=:sort1;w_infor.st_line.text=f//將第一志愿的統(tǒng)計(jì)信息賦予輔助信息窗口selectcount(*),max(together),min(together)into:n,:max,:minfromb_bmwhereprovince=:bandfirspec=:dandsort=:sort1;w_infor.st_renshu.text=string(n)w_infor.st_top.text=maxw_infor.st_low.text=min//考生第一志愿在其它二志愿中的統(tǒng)計(jì)信息selectcount(*),max(together),min(together)into:n3,:max3,:min3fromb_bmwhereprovince=:bandsecspec=:dandsort=:sort1;w_infor.st_renshu3.text=string(n3)w_infor.st_max3.text=max3w_infor.st_min3.text=min3//將第二志愿的統(tǒng)計(jì)信息賦予輔助selectcount(*),max(together),min(together)into:n1,:max1,:min1fromb_bmwhereprovince=:bandfirspec=:d1andsort=:sort1;w_infor.st_renshu1.text=string(n1)w_infor.st_top1.text=max1w_infor.st_low1.text=min1//考生2在其它二志愿中的統(tǒng)計(jì)信息selectcount(*),max(together),min(together)into:n4,:max4,:min4fromb_bmwhereprovince=:bandsecspec=:d1andsort=:sort1;w_infor.st_renshu4.text=string(n4)w_infor.st_max4.text=max4w_infor.st_min4.text=min4//將第一志愿專(zhuān)業(yè)排名信息賦予窗口selectcount(*)into:mfromb_bmwhereprovince=:bandfirspec=:dandtogether>:candsort=:sort1;ifn<>0thenw_infor.st_pm.text=string(m+1)elseifn=0then w_infor.st_pm.text="0"endifselectcount(*)into:m3fromb_bmwhereprovince=:bandsecspec=:dandtogether>:candsort=:sort1;ifn3<>0thenw_infor.st_pm3.text=string(m3+1)elseifn3=0then w_infor.st_pm3.text="0"endif//將第二志愿專(zhuān)業(yè)排名信息賦予窗口selectcount(*)into:m1fromb_bmwhereprovince=:bandfirspec=:d1andtogether>:candsort=:sort1;ifn1<>0thenw_infor.st_pm1.text=string(m1+1)elseifn1=0then w_infor.st_pm1.text="0"endifselectcount(*)into:m4fromb_bmwhereprovince=:bandsecspec=:d1andtogether>:candsort=:sort1;ifn4<>0thenw_infor.st_pm4.text=string(m4+1)elseifn4=0then w_infor.st_pm4.text="0"endif//將省排名賦予窗口selectcount(*)into:kfromb_bmwhereprovince=:bandtogether>:candsort=:sort1;w_infor.st_shpm.text=string(k+1)w_infor.st_shpm1.text=string(k+1)刷新的clicked事件:dw_lq.setfilter(filtercondition)dw_lq.filter()st_2.visible=falseddlb_1.text=''ddlb_2.text=''ddlb_3.text=''ddlb_4.text=''ddlb_5.text=''sle_1.text=''sle_2.text=''打印預(yù)覽模塊設(shè)計(jì)窗口的open事件:bloblblb_datadatawindowidw_dataidw_data=message.powerobjectparmdw_print.create(idw_data.describe("datawindow.syntax"))idw_data.getfullstate(lblb_data)dw_print.setfullstate(lblb_data)dw_print.sort()dw_print.groupcalc()dw_print.modify("datawindow.print.preview=yes,datawindow.print.preview.rulers=no")posteventue_set_page()this.title=dw_print.describe("datawindow.print.documentname")+"打印預(yù)覽"ddlb_pre.text='100%'sle_1.text='100'ifdw_print.rowcount()=0thencb_printer.enabled=falsecb_print.enabled=falsecb_first.enabled=falsecb_last.enabled=falsecb_prior.enabled=falsecb_next.enabled=falseelsecb_printer.enabled=truecb_print.enabled=truecb_first.enabled=truecb_last.enabled=truecb_prior.enabled=truecb_next.enabled=trueendif”顯示標(biāo)尺”clicked事件:ifthis.checkedthendw_print.object.datawindow.print.preview.rulers='yes'elsedw_print.object.datawindow.print.preview.rulers='no'endif”頁(yè)號(hào)”和”頁(yè)面縮放”modified事件:integerli_sifthis.text=""thenli_s=100elseli_s=integer(this.text)endififli_s<50thenthis.text='50'li_s=50endififdw_print.describe("cessing")<>'3'thendw_print.modify("datawindow.zoom="+string(integer(li_s)))endif”顯示比例”selectionchanged()事件:integerli_pstringls_zli_p=pos(this.text,'%',1)ls_z=mid(this.text,1,li_p-1)dw_print.object.datawindow.print.preview.zoom=integer(ls_z)”打印設(shè)置”clicked事件:printsetup()dw_print.setredraw(true)ddlb_pre.eventmodified()數(shù)據(jù)窗口控件的rowfocuschanged事件和scrollvertical事件:parent.postevent('ue_set_page')對(duì)窗口定義ue_se

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論