【文章內(nèi)容簡(jiǎn)介】
描述:用戶(hù)信息管理輸入數(shù)據(jù)流:基本信息輸出數(shù)據(jù)流:用戶(hù)信息2數(shù)據(jù)處理:名字:用戶(hù)信息管理描述:在客戶(hù)端對(duì)用戶(hù)的信息進(jìn)行管理記錄,在服務(wù)端對(duì)用戶(hù)信息進(jìn)行管理記錄輸入數(shù)據(jù)流:用戶(hù)的基本信息和修改信息輸出數(shù)據(jù)流:用戶(hù)信息表位置:商場(chǎng)庫(kù)存管理系統(tǒng)名字:?jiǎn)柧硇畔⒐芾砻枋觯涸诳蛻?hù)端對(duì)問(wèn)卷信息進(jìn)行管理記錄,在服務(wù)端對(duì)問(wèn)卷信息進(jìn)行管理記錄輸入數(shù)據(jù)流:?jiǎn)柧硇畔⑤敵鰯?shù)據(jù)流:?jiǎn)柧硇畔⒈砦恢茫荷虉?chǎng)庫(kù)存管理系統(tǒng)四、系統(tǒng)設(shè)計(jì)(一)系統(tǒng)功能模塊劃分功能模塊劃分是描述系統(tǒng)的一個(gè)過(guò)程,需要將需求分析中的感性描述進(jìn)行抽象,提取出要實(shí)現(xiàn)的功能,這是整個(gè)系統(tǒng)開(kāi)發(fā)的一個(gè)關(guān)鍵過(guò)程[11]。在系統(tǒng)分析的基礎(chǔ)上,確定了系統(tǒng)的功能結(jié)構(gòu)圖。選課系統(tǒng)的角色是管理員、用戶(hù),管理員對(duì)基礎(chǔ)信息和系統(tǒng)信息進(jìn)行維護(hù),用戶(hù)參與問(wèn)卷中心,模板設(shè)計(jì),統(tǒng)計(jì)分析。根據(jù)以上的用戶(hù)操作需求,將系統(tǒng)劃分為如下三大功能,并對(duì)其模塊的劃分和功能進(jìn)行描述。1.管理員功能l 登錄:登錄。l 基礎(chǔ)信息管理,包括用戶(hù)管理、權(quán)限管理、問(wèn)卷調(diào)查、基本資料管理等。l 系統(tǒng)處理。2.用戶(hù)功能l 登錄:登錄。l 問(wèn)卷中心、模板設(shè)計(jì)、統(tǒng)計(jì)分析。l 信息查看。l 密碼修改。模塊劃分后,具體清楚了系統(tǒng)所要實(shí)現(xiàn)的功能,接下來(lái)要選擇系統(tǒng)的運(yùn)行環(huán)境和開(kāi)發(fā)模式。(二)運(yùn)行環(huán)境與開(kāi)發(fā)模式的選擇由于時(shí)間以及技術(shù)的關(guān)系, 作為WEB開(kāi)發(fā)平臺(tái)。,用于構(gòu)建動(dòng)態(tài)Web應(yīng)用程序的技術(shù)[12]。,安全,高效的平臺(tái)特性。,運(yùn)行時(shí)早綁定(Early Binding),即時(shí)編譯,本地優(yōu)化,緩存服務(wù),零安裝配置。數(shù)據(jù)庫(kù)開(kāi)發(fā)系統(tǒng)采用Microsoft SQL Server 2005數(shù)據(jù)庫(kù)。SQL Server是由Microsoft開(kāi)發(fā)的一個(gè)功能強(qiáng)大的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。它能夠處理大量的數(shù)據(jù)和管理眾多的并發(fā)用戶(hù),保證數(shù)據(jù)的完整性,并提供許多高級(jí)管理和數(shù)據(jù)分布能力[13]。1.JSP編程技術(shù)Java Server Page或簡(jiǎn)稱(chēng)為JSP是由Sun公司在Java語(yǔ)言上開(kāi)發(fā)出來(lái)的一種動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù),它提供了一種建立動(dòng)態(tài)網(wǎng)頁(yè)的簡(jiǎn)單方法,并為開(kāi)發(fā)人員提供了一個(gè)Server端框架,基于這個(gè)框架,開(kāi)發(fā)人員可以綜合使用 HTML,XML,JAVA語(yǔ)言以及其他腳本語(yǔ)言,靈活,快速地創(chuàng)建和維護(hù)動(dòng)態(tài)網(wǎng)頁(yè),特別是目前的商業(yè)系統(tǒng)。作為JavaTM 技術(shù)的一部分,JSP能夠快速的開(kāi)發(fā)出基于所有Web服務(wù)器和應(yīng)用服務(wù)器環(huán)境,獨(dú)立于平臺(tái)的應(yīng)用程序,而且具有非常強(qiáng)的可伸縮性。同時(shí),JSP把用戶(hù)界面從系統(tǒng)內(nèi)容中分離開(kāi)來(lái),使得設(shè)計(jì)人員能夠在不改變底層動(dòng)態(tài)內(nèi)容的前提下改變網(wǎng)頁(yè)布局。JSP編程技術(shù)的優(yōu)勢(shì)在于:(1)一次編寫(xiě),到處運(yùn)行。在這一點(diǎn)上Java比PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改。(2)系統(tǒng)的多平臺(tái)支持?;旧峡梢栽谒衅脚_(tái)上的任意環(huán)境中開(kāi)發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是顯而易見(jiàn)的。 (3)強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無(wú)數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生命力。 (4)多樣化和功能強(qiáng)大的開(kāi)發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開(kāi)發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。JSP的運(yùn)行原理:在JSP第一次獲得來(lái)自于客戶(hù)端瀏覽器的請(qǐng)求時(shí),JSP文件將被JSP引擎(JSP engine)轉(zhuǎn)換成一個(gè)Servlet,即將”.jsp”文件編譯成Java Class文件。當(dāng)Servlet引擎接收到請(qǐng)求后,如果設(shè)置了使用最新的JSP,它就會(huì)去找JSP文件,檢查該文件在上次編譯后是否改動(dòng)過(guò)。如果改動(dòng)過(guò),就會(huì)重新編譯生成新的Servlet,最終將請(qǐng)求轉(zhuǎn)交給編譯好的Servlet引擎執(zhí)行。在編譯時(shí)如果發(fā)現(xiàn)JSP文件有任何語(yǔ)法錯(cuò)誤,轉(zhuǎn)換過(guò)程將中斷,并向客戶(hù)端發(fā)出出錯(cuò)信息;如果編譯成功,則所轉(zhuǎn)換產(chǎn)生的Servlet代碼被編譯,然后該Servlet被JSP引擎加載到內(nèi)存中。此時(shí)JSP引擎還請(qǐng)求了jspInit()方法的執(zhí)行,并對(duì)此Servlet初始化。JspInit()方法在Servlet的生命周期中只被請(qǐng)求一次,然后將被調(diào)用來(lái)處理客戶(hù)端的請(qǐng)求和回復(fù)操作。對(duì)于所有隨后對(duì)該JSP文件的請(qǐng)求,服務(wù)器將檢查該JSP文件自最后一次被存取后是否經(jīng)過(guò)修改。如果沒(méi)有修改,則將請(qǐng)求交還給還在內(nèi)存中的Servlet的jspService()方法,執(zhí)行回復(fù)操作。由于Servlet始終駐于內(nèi)存,所以響應(yīng)是非??斓?。Jsp頁(yè)面在第一次訪(fǎng)問(wèn)時(shí)由于要轉(zhuǎn)化和編譯,運(yùn)行速度較慢,但是當(dāng)?shù)诙卧L(fǎng)問(wèn)該頁(yè)時(shí),由于文件已經(jīng)被編譯成字節(jié)碼文件了,所以速度非常得快。JSP頁(yè)面的組成:JSP頁(yè)面看上去像標(biāo)準(zhǔn)的HTML和XML頁(yè)面,并附帶有JSP引擎能夠處理和解析執(zhí)行的代碼與組件。通常,JSP代碼和組件用于創(chuàng)建在最終頁(yè)面上顯示的文本。通常來(lái)說(shuō),JSP頁(yè)面包括編譯指令,聲明,表達(dá)式等內(nèi)容。(1)編譯指令:使用JSP編譯指令(〈%@ 和 %〉內(nèi)的)來(lái)指定所使用的腳本語(yǔ)言,Servlet實(shí)現(xiàn)的接口,Servlet擴(kuò)展的類(lèi),Servlet導(dǎo)入的軟件包。JSP指令的一般語(yǔ)法形式為:%@ 指令名=“值”%。 (2)聲明:用于聲明合法的變量和方法。與任何語(yǔ)言相同,JSP語(yǔ)言使用變量來(lái)保存數(shù)據(jù)。這些變量用declaration元素聲明,聲明的語(yǔ)法為%! declaration(s) %。當(dāng)頁(yè)面被初始化的時(shí)候,JSP頁(yè)面中的所有聲明都被初始化。除了簡(jiǎn)單的變量,方法也能被聲明。聲明不對(duì)當(dāng)前的輸出流產(chǎn)生任何影響。(3)表達(dá)式:通過(guò)計(jì)算表達(dá)式所得到的結(jié)果來(lái)表示某個(gè)值。表達(dá)式的形式為:%=expression。表達(dá)式求值的結(jié)果被強(qiáng)制轉(zhuǎn)換為一個(gè)字符串,并插入到當(dāng)前的輸出流中。JSP運(yùn)行環(huán)境:要運(yùn)行Jsp(注意,不是瀏覽Jsp頁(yè)面),需要有支持Jsp的服務(wù)器。這里分2種情況:一種是自身就支持Jsp的服務(wù)器,如Jrun,Weblogic,JSWDK等;而另一種則是在不支持Jsp的服務(wù)器上安裝Jsp引擎的插件,如在IIS,Apache等服務(wù)器上安裝WebSphere,tomcat,Resin等插件。其中主流服務(wù)器是Weblogic和tomcat.Tomcat服務(wù)器是Apache Group Jakarta小組開(kāi)發(fā)的一個(gè)免費(fèi)服務(wù)器軟件,適合于嵌入Apache中使用,而且,它的源代碼可以免費(fèi)獲得,你可以自由地對(duì)它進(jìn)行擴(kuò)充。訪(fǎng)問(wèn)的地址 ://jakarta. , Tomcat服務(wù)器的兼容性很好,如WebLogic服務(wù)器采用其為Web服務(wù)器引擎,Jbuilder將其作為標(biāo)準(zhǔn)的測(cè)試服務(wù)器,Sun公司也將其作為JSP技術(shù)應(yīng)用的示例服務(wù)器。不足之處是它的配置比較麻煩,而且有一些安全性的問(wèn)題沒(méi)有解決。但是Tomcat服務(wù)器有眾多大軟件公司的支持,而且服務(wù)器的性能穩(wěn)定,其發(fā)展前景很好。2.SQL Server 2000 開(kāi)源數(shù)據(jù)庫(kù)的開(kāi)發(fā)SQL Server 2000 是Microsoft 公司推出的SQL Server 數(shù)據(jù)庫(kù)管理系統(tǒng)的最新版本。它的特性包括: 集成。SQL Server 2000 數(shù)據(jù)庫(kù)引擎提供完整的XML 支持。它還具有構(gòu)成最大的Web 站點(diǎn)的數(shù)據(jù)存儲(chǔ)組件所需的可伸縮性、可用性和安全功能。SQL Server 2000 程序設(shè)計(jì)模型與 Windows DNA 構(gòu)架集成,用以開(kāi)發(fā) Web 應(yīng)用程序,并且SQL Server 2000 支持 English Query 和 Microsoft 搜索服務(wù)等功能,在Web 應(yīng)用程序中包含了用戶(hù)友好的查詢(xún)和強(qiáng)大的搜索功能。同一個(gè)數(shù)據(jù)庫(kù)引擎可以在不同的平臺(tái)上使用,從運(yùn)行 Microsoft Windowsamp。reg。 98 的便攜式電腦,到運(yùn)行 Microsoft Windows 2000 數(shù)據(jù)中心版的大型多處理器服務(wù)器。SQL Server 2000 企業(yè)版支持聯(lián)合服務(wù)器、索引視圖和大型內(nèi)存支持等功能,使其得以升級(jí)到最大 Web 站點(diǎn)所需的性能級(jí)別。SQL Server 2000 關(guān)系數(shù)據(jù)庫(kù)引擎支持當(dāng)今苛刻的數(shù)據(jù)處理環(huán)境所需的功能。數(shù)據(jù)庫(kù)引擎充分保護(hù)數(shù)據(jù)完整性,同時(shí)將管理上千個(gè)并發(fā)修改數(shù)據(jù)庫(kù)的用戶(hù)的開(kāi)銷(xiāo)減到最小。SQL S