版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
目錄1引言 22系統(tǒng)分析 32.1功能需求分析 32.2本系統(tǒng)采用的關(guān)鍵技術(shù) 42.2.1JSP技術(shù) 42.2.2JavaBean技術(shù) 42.2.3JDBC技術(shù) 52.2.4用JDBC訪問(wèn)數(shù)據(jù)庫(kù) 62.3可行性分析 92.4系統(tǒng)運(yùn)行環(huán)境 93系統(tǒng)概要設(shè)計(jì) 113.1總體功能 113.2E-R圖 134系統(tǒng)詳細(xì)設(shè)計(jì) 144.1后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì) 144.1.1SQLSERVER介紹 144.1.2數(shù)據(jù)庫(kù)表結(jié)構(gòu) 154.2處理流程設(shè)計(jì) 174.2.1系統(tǒng)操作流程 174.2.2數(shù)據(jù)增加流程 184.2.3數(shù)據(jù)修改流程 184.3.4數(shù)據(jù)刪除流程 194.3系統(tǒng)模塊設(shè)計(jì) 204.3.1管理員登陸 204.3.2新聞管理 225系統(tǒng)調(diào)試與測(cè)試 265.1程序調(diào)試 265.2程序的測(cè)試 265.2.1測(cè)試的重要性及目的 265.2.2測(cè)試的步驟 285.2.3測(cè)試的主要內(nèi)容 286結(jié)論 306.1系統(tǒng)評(píng)價(jià) 306.2安全性問(wèn)題 30致謝 32參考文獻(xiàn) 331引言近年來(lái),Internet技術(shù)得到迅速的發(fā)展,已經(jīng)成為計(jì)算機(jī)產(chǎn)業(yè)的一個(gè)技術(shù)熱點(diǎn)。促成Internet高速發(fā)展的因素之一就是Web技術(shù)。Web技術(shù)的發(fā)展使得那些具有交互動(dòng)態(tài)頁(yè)面、有條理的數(shù)據(jù)庫(kù)查詢、豐富信息內(nèi)容的頁(yè)面成為最吸引人的網(wǎng)頁(yè)。瀏覽Web有著執(zhí)行Windows程序一樣的感覺(jué)和操作性。隨著Internet技術(shù)的發(fā)展,它已經(jīng)成為一種操作平臺(tái),為用戶提供強(qiáng)大的服務(wù),例如網(wǎng)上購(gòu)物,網(wǎng)上電子商務(wù),社會(huì)信息數(shù)據(jù)庫(kù)服務(wù)等。作為計(jì)算機(jī)發(fā)展最迅速的領(lǐng)域之一的數(shù)據(jù)庫(kù)技術(shù),已經(jīng)形成了一整套獨(dú)有的理論,并廣泛地應(yīng)用于人們的生產(chǎn)和生活中。數(shù)據(jù)庫(kù)技術(shù)與網(wǎng)站的結(jié)合是當(dāng)今Web技術(shù)的一個(gè)熱點(diǎn)。有了數(shù)據(jù)庫(kù)的支持,可以擴(kuò)展網(wǎng)頁(yè)的功能,可以方便地設(shè)計(jì)出交互式頁(yè)面,可以構(gòu)造功能強(qiáng)大的后臺(tái)管理系統(tǒng),可以為網(wǎng)站的更新、維護(hù)提供極大的方便。因此,作為網(wǎng)絡(luò)開(kāi)發(fā)者或管理者,數(shù)據(jù)庫(kù)知識(shí)是必不可少的。在當(dāng)前社會(huì),信息已成為一種隱型的財(cái)富,人們對(duì)信息的需求再也不是局限于單純的電視、報(bào)紙等大眾途徑。隨著Internet在中國(guó)的發(fā)展日新月異,人們?cè)谌粘I钪幸苍絹?lái)越多地使用這項(xiàng)新技術(shù)來(lái)為自己的工作和生活服務(wù),人們通過(guò)網(wǎng)絡(luò)來(lái)獲取信息的需求越來(lái)越大?;诖朔N考慮,網(wǎng)絡(luò)開(kāi)發(fā)者們提出了一種“基于WEB的新聞發(fā)布系統(tǒng)”,該系統(tǒng)能夠?qū)崿F(xiàn)在線更新最新新聞、設(shè)置新聞分類(lèi)導(dǎo)航等功能,此外,網(wǎng)站管理員也可在線對(duì)后臺(tái)進(jìn)行管理,例如新聞的修改、刪除等操作,以保證新聞的及時(shí)、準(zhǔn)確性。JavaBean可以實(shí)現(xiàn)代碼的重復(fù)利用,另外對(duì)于程序的易維護(hù)性等等也有很重大的意義。JavaBean通過(guò)Java虛擬機(jī)(JavaVirtualMachine)可以得到正確的執(zhí)行,具有平臺(tái)無(wú)關(guān)性。一個(gè)JavaBean有三個(gè)部分組成:屬性(Property)Bean的屬性就是對(duì)象的屬性,但提供了屬性讀取和設(shè)置的接口支持。例如一個(gè)時(shí)鐘Bean可以有時(shí)區(qū)和鎮(zhèn)鈴屬性,日歷Bean可以有年份和月份屬性。每個(gè)屬性通常遵守簡(jiǎn)單的方法命名規(guī)則。這樣可以很方便的找出Bean提供的屬性,然后查詢屬性值或改變屬性值,對(duì)Bean進(jìn)行操作。方法(Method)由于Bean本身是Java對(duì)象,調(diào)用這個(gè)對(duì)象的方法是與其交互作用的唯一途徑。JavaBean嚴(yán)格遵守面向?qū)ο蟮念?lèi)設(shè)計(jì)邏輯,不讓外界訪問(wèn)其任何實(shí)例字段(沒(méi)有Public字段)。這樣,方法調(diào)用的是接觸Bean的唯一途徑。事件(Event)Bean與其他軟件組件交流信息的主要方式是發(fā)送和接收事件。這與對(duì)象之間通過(guò)消息通信類(lèi)似。JavaBean傳統(tǒng)的應(yīng)用在于可視化的領(lǐng)域,如AWT下的應(yīng)用。自從JSP誕生后,JavaBean更多的應(yīng)用在非可視化領(lǐng)域,在服務(wù)器端應(yīng)用方面表現(xiàn)出來(lái)了越來(lái)越強(qiáng)的生命力。利用非可視化JavaBean,來(lái)封裝事務(wù)邏輯、數(shù)據(jù)庫(kù)操作等等,可以很好地實(shí)現(xiàn)業(yè)務(wù)邏輯和前臺(tái)程序(如JSP)的分離,使得系統(tǒng)具有更好的健壯性和靈活性。2.2.3JDBC技術(shù)JDBC是Java的開(kāi)發(fā)者——Sun的JavaSoft公司制定的Java數(shù)據(jù)庫(kù)連接JavaDataBaseConnectivity技術(shù)的簡(jiǎn)稱,是為各種常用數(shù)據(jù)庫(kù)提供無(wú)縫聯(lián)接的技術(shù)。JDBC在Web和Internet應(yīng)用程序中的作用和ODBC在Windows系列平臺(tái)應(yīng)用程序中的作用類(lèi)似。JDBC有一個(gè)非常獨(dú)特的動(dòng)態(tài)連接結(jié)構(gòu),它使得系統(tǒng)模塊化。使用JDBC來(lái)完成對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)包括以下四個(gè)主要組件:Java的應(yīng)用程序、JDBC驅(qū)動(dòng)器管理器、驅(qū)動(dòng)器和數(shù)據(jù)源。簡(jiǎn)單地說(shuō),JDBC能完成下列三件事:(1)同一個(gè)數(shù)據(jù)庫(kù)建立連接;(2)向數(shù)據(jù)庫(kù)發(fā)送SQL語(yǔ)句;(3)處理數(shù)據(jù)庫(kù)返回的結(jié)果。JDBC是一種可用于執(zhí)行SQL語(yǔ)句的JavaAPI(ApplicationProgrammingInterface,應(yīng)用程序設(shè)計(jì)接口)。它由一些Java語(yǔ)言寫(xiě)的類(lèi)、界面組成。JDBC給數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)人員、數(shù)據(jù)庫(kù)前臺(tái)工具開(kāi)發(fā)人員提供了一種標(biāo)準(zhǔn)的應(yīng)用程序設(shè)計(jì)接口,使開(kāi)發(fā)人員可以用純Java語(yǔ)言編寫(xiě)完整的數(shù)據(jù)庫(kù)應(yīng)用程序。通過(guò)使用JDBC,開(kāi)發(fā)人員可以很方便地將SQL語(yǔ)句傳送給幾乎任何一種數(shù)據(jù)庫(kù)。也就是說(shuō),開(kāi)發(fā)人員可以不必寫(xiě)一個(gè)程序訪問(wèn)Sybase,寫(xiě)另一個(gè)程序訪問(wèn)Oracle,再寫(xiě)一個(gè)程序訪問(wèn)Microsoft的SQLServer。用JDBC寫(xiě)的程序能夠自動(dòng)地將SQL語(yǔ)句傳送給相應(yīng)的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)。不但如此,使用Java編寫(xiě)的應(yīng)用程序可以在任何支持Java的平臺(tái)上運(yùn)行,不必在不同的平臺(tái)上編寫(xiě)不同的應(yīng)用。Java和JDBC的結(jié)合可以讓開(kāi)發(fā)人員在開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用時(shí)真正實(shí)現(xiàn)“WriteOnce,RunEverywhere!”Java具有健壯、安全、易用等特性,而且支持自動(dòng)網(wǎng)上下載,是一種很好的與數(shù)據(jù)庫(kù)線連接而使用的編程語(yǔ)言。它所需要的是Java應(yīng)用如何同各種各樣的數(shù)據(jù)庫(kù)連接,JDBC正是實(shí)現(xiàn)這種連接的關(guān)鍵。JDBC擴(kuò)展了Java的能力,如使用Java和JDBCAPI就可以公布一個(gè)Web頁(yè),頁(yè)中帶有能訪問(wèn)遠(yuǎn)端數(shù)據(jù)庫(kù)的Applet?;蛘咂髽I(yè)可以通過(guò)JDBC讓全部的職工(他們可以使用不同的操作系統(tǒng),如Windwos,Machintosh或UNIX)在Intranet上連接到幾個(gè)全球數(shù)據(jù)庫(kù)上,而這幾個(gè)全球數(shù)據(jù)庫(kù)可以是不相同的。2.2.4用JDBC訪問(wèn)數(shù)據(jù)庫(kù)所有的數(shù)據(jù)庫(kù)的對(duì)象和方法都在java.sql.*里面,所以首先要importjava.sql.*,要想連接數(shù)據(jù)庫(kù),首先要將驅(qū)動(dòng)程序調(diào)入。Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");這是JDBC-ODBC的驅(qū)動(dòng)程序。要想連接一個(gè)指定的數(shù)據(jù)庫(kù),必須創(chuàng)建Connection類(lèi)的一個(gè)實(shí)例。Stringurl="jdbc:odbc:Groceryprices";Connectioncon=DriverManager.getConnection(url);注意在此用到的數(shù)據(jù)庫(kù)名稱是在ODBC設(shè)置控制面板中輸入的數(shù)據(jù)資源名。URL語(yǔ)法對(duì)于不同類(lèi)型的數(shù)據(jù)庫(kù)會(huì)很不一樣。語(yǔ)法是這樣的:jdbc:subprotocol:subname開(kāi)頭都是JDBC,后面是子協(xié)議,然后是ODBC名稱。若要使用純JDBC驅(qū)動(dòng)程序,必須安裝第三方軟件提供的驅(qū)動(dòng)程序,一般在數(shù)據(jù)庫(kù)的官方網(wǎng)站上可以找到這里不做討論。本系統(tǒng)采用JDBC-ODBC的驅(qū)動(dòng)程序連接數(shù)據(jù)庫(kù),并使用JavaBean組件,有效的避免了代碼的重復(fù),具體過(guò)程如下:packageexam;importjava.sql.*;publicclassExamBean{StringstrDBDriver="sun.jdbc.odbc.JdbcOdbcDriver"; //JDBC-ODBC驅(qū)動(dòng)程序StringstrDBUrl="jdbc:odbc:exam";privateConnectionconn=null;privateStatementstmt=null;ResultSetrs=null;//<!--注冊(cè)數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序-->publicExamBean(){try{Class.forName(strDBDriver);} //<!—異常處理-->catch(java.lang.ClassNotFoundExceptione){System.err.println("exam():"+e.getMessage());}}//<!—建立數(shù)據(jù)庫(kù)連接及定義數(shù)據(jù)查詢-->publicResultSetexecuteQuery(Stringsql){rs=null;try{conn=DriverManager.getConnection(strDBDriver); //創(chuàng)建數(shù)據(jù)庫(kù)連接對(duì)象stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);//支持?jǐn)?shù)據(jù)回滾rs=stmt.executeQuery(sql);}catch(SQLExceptionex){System.err.println("aq.executeQuery:"+ex.getMessage());}returnrs;}//<!—定義數(shù)據(jù)更新操作-->publicvoidexecuteUpdate(Stringsql){stmt=null;try{conn=DriverManager.getConnection(strDBDriver);stmt=conn.createStatement();stmt.executeUpdate(sql);stmt.close();}catch(SQLExceptionex){System.err.println("aq.executeQuery:"+ex.getMessage());}}//<!—關(guān)閉數(shù)據(jù)庫(kù)連接-->publicvoidcloseStmt(){try{stmt.close();}catch(SQLExceptione){e.printStackTrace();}}publicvoidcloseConn(){try{conn.close();}catch(SQLExceptione){e.printStackTrace();}}2.3可行性分析首先,技術(shù)可行性。本系統(tǒng)僅需要一臺(tái)裝有Office軟件的計(jì)算機(jī)即可,對(duì)機(jī)器本身沒(méi)有太高的要求,一般當(dāng)前學(xué)?;騻€(gè)人電腦完全可滿足要求。對(duì)于軟件技術(shù)要求,現(xiàn)在的程序設(shè)計(jì)語(yǔ)言已非常成熟,要運(yùn)用HTML樣式,圖形圖象制作工具來(lái)制作生動(dòng)活潑的網(wǎng)頁(yè)及美觀的圖形文件或動(dòng)畫(huà)文件。其次,經(jīng)濟(jì)可行性。由于本系統(tǒng)是為學(xué)生學(xué)習(xí)使用的系統(tǒng),裝上該應(yīng)用軟件,即可使用系統(tǒng),系統(tǒng)成本主要集中在系統(tǒng)軟件的開(kāi)發(fā)上,當(dāng)系統(tǒng)投入運(yùn)行后可以為學(xué)校節(jié)約大量的人力,物力。所帶來(lái)的效益遠(yuǎn)遠(yuǎn)大于系統(tǒng)軟件的開(kāi)發(fā)成本。在經(jīng)濟(jì)上完全可行。第三,操作可行性。界面設(shè)計(jì)時(shí)充分考慮管理人員的習(xí)慣,使得操作簡(jiǎn)單;數(shù)據(jù)錄入迅速、規(guī)范、可靠;統(tǒng)計(jì)準(zhǔn)確;制表靈活;適應(yīng)力強(qiáng);容易擴(kuò)充。2.4系統(tǒng)運(yùn)行環(huán)境服務(wù)起端的最低配置是由建立站點(diǎn)所需要的軟件來(lái)決定的,在最底配置的情況下,服務(wù)器的性能往往不進(jìn)人意,現(xiàn)在硬件性能已經(jīng)相當(dāng)出色,而且價(jià)格也很便宜,因此通常應(yīng)給服務(wù)器端配置高性能硬件。本機(jī)器的配置如下:處理器:InterPentium41.6Hz或更高。內(nèi)存:512MB硬件空間:160GB題目主要采用的技術(shù)數(shù)據(jù)庫(kù):MicrosoftSQLServer2000。編程語(yǔ)言JSP服務(wù)器:Tomcat5.5,jdk1.6開(kāi)發(fā)環(huán)境:WindowsXP3系統(tǒng)概要設(shè)計(jì)3.1總體功能網(wǎng)上新聞發(fā)布系統(tǒng)網(wǎng)上新聞發(fā)布系統(tǒng)管理員用戶會(huì)員管理新聞管理新聞分類(lèi)管理公告管理賬號(hào)管理在線留言新聞搜索注冊(cè)會(huì)員系統(tǒng)角色:1.游客:可以搜索、瀏覽新聞,不能評(píng)論新聞,可以注冊(cè)成為會(huì)員2.會(huì)員:可以搜索、瀏覽新聞,評(píng)論新聞,可以修改密碼等個(gè)人信息3.編輯:對(duì)新聞進(jìn)行編輯、發(fā)布,可以添加刪除修改新聞4.管理員:擁有系統(tǒng)最高權(quán)限,可以添加刪除修改新聞,可以刪除用戶,可以添加刪除編輯前臺(tái):首頁(yè):1.新聞分類(lèi):(國(guó)際娛樂(lè)體育等等)新聞分類(lèi)需要從數(shù)據(jù)庫(kù)中動(dòng)態(tài)取出(因?yàn)楹笈_(tái)中有添加刪除修改分類(lèi)的功能)可以只顯示4—5個(gè)分類(lèi),后面加個(gè)“更多>>”鏈接,來(lái)羅列所有分類(lèi)2.新聞搜索:(可以選擇分類(lèi))以新聞標(biāo)題模糊搜索,有分頁(yè)功能3.熱點(diǎn)新聞:按新聞點(diǎn)擊率高低顯示前10條左右的新聞(顯示點(diǎn)擊率)4.最新新聞:顯示最新添加的新聞(顯示日期)5.公告欄:顯示公告信息6.登錄:可選角色有會(huì)員、編輯、管理員,有注冊(cè)鏈接按鈕,找回密碼鏈接會(huì)員可以對(duì)新聞進(jìn)行評(píng)論,游客點(diǎn)擊評(píng)論時(shí)提示注冊(cè)注冊(cè)時(shí)包含密碼提示問(wèn)題,以便找回密碼,注冊(cè)驗(yàn)證用ajax動(dòng)態(tài)驗(yàn)證,有分頁(yè)功能,包含在線文本編輯器登陸后有歡迎信息:“您好,XXX”后臺(tái):管理員擁有所有權(quán)限新聞分類(lèi)管理分類(lèi)列表(包含刪除、修改)添加分類(lèi)新聞管理新聞列表(包含刪除、修改新聞)添加新聞(支持新聞、圖片上傳)查找新聞(包含刪除、修改新聞)評(píng)論管理公告修改會(huì)員管理會(huì)員列表(包含刪除)查找會(huì)員(包含刪除)編輯管理編輯列表(包含刪除、修改)查找編輯(包含刪除、修改)修改密碼會(huì)員:修改密碼等個(gè)人信息系統(tǒng)采用了敏捷開(kāi)發(fā)的思想,結(jié)合跨平臺(tái)的J2EE技術(shù)架構(gòu),數(shù)據(jù)庫(kù)采用了SQLserver;使得系統(tǒng)具有易用性、個(gè)性化、跨平臺(tái)等特點(diǎn);同時(shí)又保證數(shù)據(jù)的安全、穩(wěn)定、快速和完整;使其運(yùn)行得高速、安全、穩(wěn)定。3.2E-R圖密碼密碼用戶名用戶管理信息新聞分類(lèi)新聞?dòng)脩艄芾砻艽a管理4系統(tǒng)詳細(xì)設(shè)計(jì)4.1后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)4.1.1SQLSERVER介紹SQLServer是由Microsoft開(kāi)發(fā)和推廣的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同開(kāi)發(fā)的,并于1988年推出了第一個(gè)OS/2版本。SQLServer近年來(lái)不斷更新版本,1996年,Microsoft推出了SQLServer6.5版本;1998年,SQLServer7.0版本和用戶見(jiàn)面;SQLServer2000是Microsoft公司于2000年推出的版本。SQLServer特點(diǎn):1.真正的讀者機(jī)/服務(wù)器體系結(jié)構(gòu)。2.圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫(kù)管理更加直觀、簡(jiǎn)單。3.豐富的編程接口工具,為用戶進(jìn)行程序設(shè)計(jì)提供了更大的選擇余地。4.SQLServer與WindowsNT完全集成,利用了NT的許多功能,如發(fā)送和接受消息,管理登錄安全性等。SQLServer也可以很好地與MicrosoftBackOffice產(chǎn)品集成。5.具有很好的伸縮性,可跨越從運(yùn)行Windows95/98的膝上型電腦到運(yùn)行Windows2000的大型多處理器等多種平臺(tái)使用。6.對(duì)Web技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫(kù)中的數(shù)據(jù)發(fā)布到Web頁(yè)面上。7.SQLServer提供數(shù)據(jù)倉(cāng)庫(kù)功能,這個(gè)功能只在Oracle和其他更昂貴的DBMS中才有。4.1.2數(shù)據(jù)庫(kù)表結(jié)構(gòu)為了滿足系統(tǒng)存儲(chǔ)數(shù)據(jù)需要,方便進(jìn)行插入,更新,統(tǒng)計(jì)和查詢分析等操作,數(shù)據(jù)一共設(shè)計(jì)為兩個(gè)部分,第一部分為滿足插入,更新,刪除較多的數(shù)據(jù)存儲(chǔ)。第二部分為滿足查詢和統(tǒng)計(jì)分析。為了方便進(jìn)行數(shù)據(jù)庫(kù)之間的遷移,數(shù)據(jù)庫(kù)中不建議采用存儲(chǔ)過(guò)程,觸發(fā)器等數(shù)據(jù)庫(kù)特征明顯的代碼,所有表建立,操作SQL均采用標(biāo)準(zhǔn)語(yǔ)句。數(shù)據(jù)庫(kù)表結(jié)構(gòu)如下:設(shè)計(jì)表“admin”列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空IdInt4否UsernameNvarchar50否PasswordNvarchar50否CreattimeDatetime8否FlagInt4否IsuseInt4否LogintimesInt4否QuanxianNvarchar1000否設(shè)計(jì)表“news”列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空IdInt4否TitleNvarchar150否PicNvarchar150否ContentText16否AddtimeDatetime8否AdderNvarchar50否IfhideInt4否VisitInt4否UpInt4否設(shè)計(jì)表“member”列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空Id Int4否Usernamenvarchar50否PasswordNvarchar100否TypeNvarchar50否RegtimeDatetime8否IfuseInt4否LogintimesInt4否LasttimeDatetime8否LastipNvarchar50否設(shè)計(jì)表“guestbook”列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空IdInt4否NicknameNvarchar100否PicNvarchar100否EmailN50是QQNvarchar50是WeburlNvarchar100是BlogurlNvarchar100是ExpressionsNvarchar100否ContentNvarchar200否AddtimeDatetime8否4.2處理流程設(shè)計(jì)4.2.1系統(tǒng)操作流程系統(tǒng)登錄界面輸入操作員及密碼系統(tǒng)主界面系統(tǒng)管理錯(cuò)誤信息系統(tǒng)登錄界面輸入操作員及密碼系統(tǒng)主界面系統(tǒng)管理錯(cuò)誤信息數(shù)據(jù)庫(kù)檢查密碼錯(cuò)誤 數(shù)據(jù)庫(kù)檢查密碼錯(cuò)誤密碼正確功能界面功能處理密碼正確功能界面功能處理4.2.2數(shù)據(jù)增加流程添加信息時(shí),編號(hào)字段由系統(tǒng)自動(dòng)生成,且不能修改,其他信息由用戶輸入,之后對(duì)數(shù)據(jù)進(jìn)行合法判斷,合法則寫(xiě)入保存至數(shù)據(jù)庫(kù),不合法則重新輸入數(shù)據(jù)。數(shù)據(jù)增加流程圖:開(kāi)始開(kāi)始自動(dòng)生成編號(hào)輸入數(shù)據(jù)是否合法寫(xiě)入數(shù)據(jù)庫(kù)結(jié)束圖3.2數(shù)據(jù)增加流程圖4.2.3數(shù)據(jù)修改流程在修改信息時(shí),先選中一條待修改的記錄,然后直接輸入數(shù)據(jù),判斷合法性,合法則保存至數(shù)據(jù)庫(kù),不合法重新輸入。數(shù)據(jù)修改流程圖如圖3.3所示。開(kāi)始開(kāi)始選擇需要修改記錄輸入數(shù)據(jù)是否合法寫(xiě)入數(shù)據(jù)庫(kù)結(jié)束圖3.3數(shù)據(jù)修改流程圖4.3.4數(shù)據(jù)刪除流程當(dāng)用戶選定一條記錄時(shí),單擊刪除按鈕,會(huì)提示用戶是否確定刪除,然后刪除數(shù)據(jù)庫(kù)相關(guān)內(nèi)容。數(shù)據(jù)刪除流程圖如圖3.4所示。開(kāi)始開(kāi)始選擇需要?jiǎng)h除記錄是否刪除更新數(shù)據(jù)庫(kù)圖3.4數(shù)據(jù)刪除流程圖4.3系統(tǒng)模塊設(shè)計(jì)4.3.1管理員登陸在用戶登錄界面,在用戶名對(duì)應(yīng)的文本框中輸入用戶名,在密碼對(duì)應(yīng)的文本框中輸入密碼,如果用戶名和密碼同時(shí)與數(shù)據(jù)庫(kù)中的用戶名和密碼相對(duì)應(yīng),點(diǎn)擊“確定”后進(jìn)入系統(tǒng)的主界面。如果輸入的信息不正確,則給出提示。輸入:用戶名和密碼。處理:校檢字符的有效性。用戶要登錄本系統(tǒng)需要提供用戶名和密碼,在這里就是要檢驗(yàn)用戶是否滿足輸入的要求,即檢驗(yàn)用戶名和密碼文本框是否為空,若為空,則提示用戶輸入用戶名和密碼。檢驗(yàn)用戶名是否存在或密碼是否正確,即是否存在用戶輸入的用戶名,并且密碼是否正確。輸出:登錄成功,進(jìn)入用戶的系統(tǒng)使用資源頁(yè)面,不成功則顯示錯(cuò)誤信息頁(yè)面。主要代碼如下:packageutil;importjava.sql.*;publicclassDBConn{static{try{ Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");// Class.forName("com.mysql.jdbc.Driver");//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(Exceptionex){ex.printStackTrace();}}publicstaticConnectiongetConn(){try{ Connectionconn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databasename=hshygl","sa","123");// conn=DriverManager.getConnection("jdbc:mysql://localhost/fzshop","root","123");// Connectionconn=DriverManager.getConnection("jdbc:odbc:temp");returnconn;}catch(Exceptionex){ex.printStackTrace();returnnull;}}publicstaticvoidclose(Connectionconn,Statementst,ResultSetrs){ if(rs!=null){try{rs.close();}catch(SQLExceptionex){}}if(st!=null){try{st.close();}catch(Exceptionex){}}if(conn!=null){try{conn.close();}catch(Exceptionex){}4.3.2新聞管理功能描述:此模塊要實(shí)現(xiàn)對(duì)新聞的管理功能,管理員可以添加刪除和修改新聞的相關(guān)信息。新聞信息管理模塊的IPO過(guò)程:a) 添加新聞信息操作: 點(diǎn)擊添加新聞信息按鈕,輸入需要添加新聞的內(nèi)容。內(nèi)容包括新聞的標(biāo)題、內(nèi)容、分類(lèi)。 檢驗(yàn)用戶輸入的新聞的標(biāo)題、內(nèi)容、分類(lèi)是否符合新聞數(shù)據(jù)庫(kù)表中字段定義。若不符合則提示輸入有誤。 提示用戶信息添加成功。 更新用戶數(shù)據(jù)庫(kù)表的信息。b) 修改新聞信息 點(diǎn)擊修改新聞信息按鈕。內(nèi)容包括新聞的標(biāo)題、內(nèi)容、分類(lèi)。 檢驗(yàn)用戶輸入的新聞的標(biāo)題、內(nèi)容、分類(lèi)是否符合用戶數(shù)據(jù)庫(kù)表中字段定義。若不符合則提示輸入有誤。 如果用記錄存在,進(jìn)行修改操作,輸入新的字段,并根據(jù)用戶數(shù)據(jù)庫(kù)表中對(duì)應(yīng)字段的定義檢查輸入是否合法,如果輸入有錯(cuò)誤則進(jìn)行提示。 如果輸入正確,執(zhí)行(UPDATE)SQL語(yǔ)句,更新用戶數(shù)據(jù)庫(kù)表中該用戶所對(duì)應(yīng)的記錄。 提示用戶信息添加成功。 更新用戶數(shù)據(jù)庫(kù)表的信息。界面如下圖所示:主要代碼如下:packageutil;importjava.io.UnsupportedEncodingException;importjava.text.SimpleDateFormat;importjava.util.Date;publicclassValidate{ /** *是否為數(shù)字和英文驗(yàn)證 * */ publicintgetIntAndChar(Stringstr){ charc; inti; for(i=0;i<str.length();i++){ c=str.charAt(i); if(!((c>='0'&&c<='9')||(c>='a'&&c<='z')||(c>='A'&&c<='Z'))){ break; } }//判斷字符是否在某個(gè)區(qū)間 if(i<str.length()){ return-1; }else{ return0; } } /** *是否為整數(shù)驗(yàn)證 * */ publicintgetInt(Stringstr){ charc; inti; for(i=0;i<str.length();i++){ c=str.charAt(i); if(!(c>='0'&&c<='9')){ break; } }//判斷字符是否在某個(gè)區(qū)間 if(i<str.length()){ return-1; }else{ return0; } } /** *是否為非法字符驗(yàn)證 * */ publicbooleangetLawlessChar(Stringstr){ booleanflag=false; charc; for(inti=0;i<str.length();i++){ c=str.charAt(i); switch(c){ case'<':flag=true;break; case'>':flag=true;break; case'"':flag=true;break; case'&':flag=true;break; case'':flag=true;break; } } returnflag; }5系統(tǒng)調(diào)試與測(cè)試5.1程序調(diào)試在設(shè)計(jì)系統(tǒng)的過(guò)程中,存在一些錯(cuò)誤是必然的。對(duì)于語(yǔ)句的語(yǔ)法錯(cuò)誤,在程序運(yùn)行時(shí)自動(dòng)提示,并請(qǐng)求立即糾正,因此,這類(lèi)錯(cuò)誤比較容易發(fā)現(xiàn)和糾正。但另一類(lèi)錯(cuò)誤是在程序執(zhí)行時(shí)由于不正確的操作或?qū)δ承?shù)據(jù)的計(jì)算公式的邏輯錯(cuò)誤導(dǎo)致的錯(cuò)誤結(jié)果。這類(lèi)錯(cuò)誤隱蔽性強(qiáng),有時(shí)會(huì)出現(xiàn),有時(shí)又不出現(xiàn),因此,對(duì)這一類(lèi)動(dòng)態(tài)發(fā)生的錯(cuò)誤的排查是耗時(shí)費(fèi)力的。5.2程序的測(cè)試5.2.1測(cè)試的重要性及目的(1)測(cè)試的重要性軟件的測(cè)試在軟件生命周期中占據(jù)重要的地位,在傳統(tǒng)的瀑布模型中,軟件測(cè)試學(xué)僅處于運(yùn)行維護(hù)階段之前,是軟件產(chǎn)品交付用戶使用之前保證軟件質(zhì)量的重要手段。近來(lái),軟件工程界趨向于一種新的觀點(diǎn),即認(rèn)為軟件生命周期每一階段中都應(yīng)包含測(cè)試,從而檢驗(yàn)本階段的成果是否接近預(yù)期的目標(biāo),盡可能早的發(fā)現(xiàn)錯(cuò)誤并加以修正,如果不在早期階段進(jìn)行測(cè)試,錯(cuò)誤的延時(shí)擴(kuò)散常常會(huì)導(dǎo)致最后成品測(cè)試的巨大困難。事實(shí)上,對(duì)于軟件來(lái)講,不論采用什么技術(shù)和什么方法,軟件中仍然會(huì)有錯(cuò)。采用新的語(yǔ)言、先進(jìn)的開(kāi)發(fā)方式、完善的開(kāi)發(fā)過(guò)程,可以減少錯(cuò)誤的引入,但是不可能完全杜絕軟件中的錯(cuò)誤,這些引入的錯(cuò)誤需要測(cè)試來(lái)找出,軟件中的錯(cuò)誤密度也需要測(cè)試來(lái)進(jìn)行估計(jì)。測(cè)試是所有工程學(xué)科的基本組成單元,是軟件開(kāi)發(fā)的重要部分。自有程序設(shè)計(jì)的那天起測(cè)試就一直伴隨著。統(tǒng)計(jì)表明,在典型的軟件開(kāi)發(fā)項(xiàng)目中,軟件測(cè)試工作量往往占軟件開(kāi)發(fā)總工作量的40%以上。而在軟件開(kāi)發(fā)的總成本中,用在測(cè)試上的開(kāi)銷(xiāo)要占30%到50%。如果把維護(hù)階段也考慮在內(nèi),討論整個(gè)軟件生存期時(shí),測(cè)試的成本比例也許會(huì)有所降低,但實(shí)際上維護(hù)工作相當(dāng)于二次開(kāi)發(fā),乃至多次開(kāi)發(fā),其中必定還包含有許多測(cè)試工作。在實(shí)踐中,軟件測(cè)試的困難常常使人望而卻步或敷衍了事,這是由于對(duì)測(cè)試仍然存在一些不正確的看法和錯(cuò)誤的態(tài)度,這包括:①認(rèn)為測(cè)試工作不如設(shè)計(jì)和編碼那樣容易取得進(jìn)展難以給測(cè)試人員某種成就感;②以發(fā)現(xiàn)軟件錯(cuò)誤為目標(biāo)的測(cè)試是非建設(shè)性的,甚至是破壞性的,測(cè)試中發(fā)現(xiàn)錯(cuò)位是對(duì)責(zé)任者工作的一種否定;③測(cè)試工作枯燥無(wú)味,不能引起人們的興趣;④測(cè)試工作是艱苦而細(xì)致的工作;⑤對(duì)自己編寫(xiě)的程序盲目自信,在發(fā)現(xiàn)錯(cuò)誤后,顧慮別人對(duì)自己的開(kāi)發(fā)能力的看法。這些觀點(diǎn)對(duì)軟件測(cè)試工作是極為不利的,必須澄清認(rèn)識(shí)、端正態(tài)度,才可能提高軟件產(chǎn)品的質(zhì)量。(2)測(cè)試的目的如果測(cè)試的目的是為了盡可能多地找出錯(cuò)誤,那么測(cè)試就應(yīng)該直接針對(duì)軟件比較復(fù)雜的部分或是以前出錯(cuò)比較多的位置。①軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程;②測(cè)試是為了證明程序有錯(cuò),而不是證明程序無(wú)錯(cuò)誤;③一個(gè)好的測(cè)試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤;④一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。這種觀點(diǎn)可以提醒人們測(cè)試要以查找錯(cuò)誤為中心,而不是為了演示軟件的正確功能。但是僅憑字面意思理解這一觀點(diǎn)可能會(huì)產(chǎn)生誤導(dǎo),認(rèn)為發(fā)現(xiàn)錯(cuò)誤是軟件測(cè)試的唯一目,查找不出錯(cuò)誤的測(cè)試就是沒(méi)有價(jià)值的,事實(shí)并非如此。首先,測(cè)試并不僅僅是為了要找出錯(cuò)誤。通過(guò)分析錯(cuò)誤產(chǎn)生的原因和錯(cuò)誤的分布特征,可以幫助項(xiàng)目管理者發(fā)現(xiàn)當(dāng)前所采用的軟件過(guò)程的缺陷,以便改進(jìn)。同時(shí),這種分析也能幫助我們?cè)O(shè)計(jì)出有針對(duì)性地檢測(cè)方法,改善測(cè)試的有效性。其次,沒(méi)有發(fā)現(xiàn)錯(cuò)誤的測(cè)試也是有價(jià)值的,完整的測(cè)試是評(píng)定測(cè)試質(zhì)量的一種方法。5.2.2測(cè)試的步驟與開(kāi)發(fā)過(guò)程類(lèi)似,測(cè)試過(guò)程也必須分步驟進(jìn)行,每個(gè)步驟在邏輯上是前一個(gè)步驟的繼續(xù)。大型軟件系統(tǒng)通常由若干個(gè)子系統(tǒng)組成,每個(gè)子系統(tǒng)又由若干個(gè)模塊組成。因此,大型軟件系統(tǒng)的測(cè)試基本上由下述幾個(gè)步驟組成:(1)模塊測(cè)試在這個(gè)測(cè)試步驟中所發(fā)現(xiàn)的往往是編碼和詳細(xì)設(shè)計(jì)的錯(cuò)誤。(2)系統(tǒng)測(cè)試在這個(gè)測(cè)試步驟中發(fā)現(xiàn)的往往是軟件設(shè)計(jì)中的錯(cuò)誤,也可能發(fā)現(xiàn)需求說(shuō)明中的錯(cuò)誤。(3)驗(yàn)收測(cè)試在這個(gè)測(cè)試步驟中發(fā)現(xiàn)的往往是系統(tǒng)需求說(shuō)明書(shū)中的錯(cuò)誤。5.2.3測(cè)試的主要內(nèi)容為了保證測(cè)試的質(zhì)量,將測(cè)試過(guò)程分成幾個(gè)階段,即:代碼審查、單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試。(1)單元測(cè)試單元測(cè)試集中在檢查軟件設(shè)計(jì)的最小單位—模塊上,通過(guò)測(cè)試發(fā)現(xiàn)實(shí)現(xiàn)該模塊的實(shí)際功能與定義該模塊的功能說(shuō)明不符合的情況,以及編碼的錯(cuò)誤。(2)集成測(cè)試集成測(cè)試是將模塊按照設(shè)計(jì)要求組裝起來(lái)同時(shí)進(jìn)行測(cè)試,主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問(wèn)題。如一個(gè)模塊與另一個(gè)模塊可能有由于疏忽的問(wèn)題而造成有害影響;把子功能組合起來(lái)可能不產(chǎn)生預(yù)期的主功能;個(gè)別看起來(lái)是可以接受的誤差可能積累到不能接受的程度;全程數(shù)據(jù)結(jié)構(gòu)可能有錯(cuò)誤等。(3)確認(rèn)測(cè)試確認(rèn)測(cè)試的目的是向未來(lái)的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測(cè)試后,已經(jīng)按照設(shè)計(jì)把所有的模塊組裝成一個(gè)完整的軟件系統(tǒng),接口錯(cuò)誤也已經(jīng)基本排除了,接著就應(yīng)該進(jìn)一步驗(yàn)證軟件的有效性,這就是確認(rèn)測(cè)試的任務(wù),即軟件的功能和性能如同用戶所合理期待的那樣。(4)系統(tǒng)測(cè)試軟件開(kāi)發(fā)完成以后,最終還要與系統(tǒng)中其他部分配套運(yùn)行,進(jìn)行系統(tǒng)測(cè)試。包括恢復(fù)測(cè)試、安全測(cè)試、強(qiáng)度測(cè)試和性能測(cè)試等。單獨(dú)對(duì)系統(tǒng)的測(cè)試主要從以下幾方面入手:①功能測(cè)試:測(cè)試是否滿足開(kāi)發(fā)要求,是否提供設(shè)計(jì)所描述的功能,是否用戶的需求都得到滿足。功能測(cè)試是系統(tǒng)測(cè)試最常用和必須的測(cè)試,通常還會(huì)以正式的軟件說(shuō)明書(shū)為測(cè)試標(biāo)準(zhǔn)。②強(qiáng)度測(cè)試及性能測(cè)試:測(cè)試系統(tǒng)能力最高實(shí)際限度,即軟件在一些超負(fù)荷情況下功能實(shí)現(xiàn)的情況。③安全測(cè)試:驗(yàn)證安裝在系統(tǒng)內(nèi)的保護(hù)機(jī)構(gòu)確實(shí)能夠?qū)ο到y(tǒng)進(jìn)行保護(hù),使之不受各種非常的干擾。針對(duì)本系統(tǒng)主要是對(duì)權(quán)限系統(tǒng)的測(cè)試和對(duì)無(wú)效數(shù)據(jù)、錯(cuò)數(shù)據(jù)、和非法數(shù)據(jù)干擾的能力的測(cè)試。經(jīng)過(guò)上述的測(cè)試過(guò)程對(duì)軟件進(jìn)行測(cè)試后,軟件基本滿足開(kāi)發(fā)的要求,測(cè)試宣告結(jié)束。6結(jié)論6.1系統(tǒng)評(píng)價(jià)本文通過(guò)本系統(tǒng)設(shè)計(jì)與開(kāi)發(fā),從而得出下列結(jié)論:(1)學(xué)習(xí)一門(mén)新技術(shù),最重要的是實(shí)踐,只有多動(dòng)手才能盡快掌握它。(2)一個(gè)系統(tǒng)的開(kāi)發(fā),經(jīng)驗(yàn)是最重要的,經(jīng)驗(yàn)不足,就難免會(huì)有許多考慮不周之處。(3)要想吸引更多的用戶,系統(tǒng)的界面必須要美觀、有特色、友好,功能要健全。不過(guò)由于經(jīng)驗(yàn)不足,我設(shè)計(jì)的圖形界面比較簡(jiǎn)單。只是對(duì)基本功能進(jìn)行了開(kāi)發(fā)。(4)本次開(kāi)發(fā),我參考了很多本系統(tǒng)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年城市照明項(xiàng)目LED路燈購(gòu)銷(xiāo)合同
- 2024年建筑工程分包協(xié)議書(shū)
- 2024年云計(jì)算服務(wù)互操作性測(cè)試合同
- 2024廣告發(fā)布委托合同模板樣本
- 2024年工程質(zhì)量檢測(cè)合同標(biāo)準(zhǔn)
- 2024年度物業(yè)服務(wù)合同:日常房屋租住過(guò)程中的管理與維護(hù)
- 2024年度旅游開(kāi)發(fā)項(xiàng)目合同
- 2024年度影視制作與發(fā)布協(xié)議
- 兒子結(jié)婚上父親致辭
- 習(xí)慣為主題的演講稿3篇
- JGJ48-2014 商店建筑設(shè)計(jì)規(guī)范
- 電信云網(wǎng)工程師-云網(wǎng)融合(客戶IT上云)備考試題庫(kù)(集團(tuán)網(wǎng)大版)
- 地錨抗拔力計(jì)算
- 補(bǔ)償收縮混凝土應(yīng)用技術(shù)規(guī)程JGJT1782009
- 豆類(lèi)食物營(yíng)養(yǎng)成分表
- 兒童福利機(jī)構(gòu)設(shè)備配置標(biāo)準(zhǔn)
- 智慧樹(shù)知到《配位化學(xué)本科生版》章節(jié)測(cè)試答案
- 最新實(shí)用培訓(xùn)技巧與方法課件PPT
- 羊頭崗村拆遷安置住宅—3#樓工程試驗(yàn)方案
- 大同煤業(yè)股份有限公司會(huì)計(jì)信息披露存在的問(wèn)題和對(duì)策研究論文設(shè)計(jì)
- 利用Ansoft HFSS仿真軟件實(shí)現(xiàn)微帶-波導(dǎo)過(guò)渡的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論