




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
I目錄引言 11基礎(chǔ)知識 21.1ASP.NET介紹 21.2C#語言 21.3SQLServer2005簡介 31.4MicrosoftVisualStudio2008介紹 42系統(tǒng)分析 62.1開發(fā)背景及意義 62.2可行性研究 62.3功能需求 82.3.1用例分析 82.3.2概念類描述 112.3.3順序類描述 132.4性能需求 162.4.1響應(yīng)時間 162.4.2吞吐量 162.4.3并發(fā)用戶數(shù) 162.4.4資源利用率 162.5環(huán)境需求 172.5.1硬件環(huán)境 172.5.2軟件環(huán)境 173系統(tǒng)設(shè)計 183.1系統(tǒng)結(jié)構(gòu)設(shè)計 183.1.1軟件設(shè)計的原則 183.1.2系統(tǒng)層次結(jié)構(gòu) 183.2數(shù)據(jù)庫設(shè)計 203.2.1數(shù)據(jù)庫概念設(shè)計 203.2.2數(shù)據(jù)庫邏輯設(shè)計 203.3用戶界面設(shè)計 233.3.1人機界面設(shè)計原則 243.3.2主界面設(shè)計 253.4系統(tǒng)詳細設(shè)計 253.4.1訂單管理PAD圖 273.4.2購物車PAD圖 283.4.3圖書查詢PAD圖 284系統(tǒng)實現(xiàn) 304.1任務(wù)與原則 304.2系統(tǒng)功能實現(xiàn) 304.2.1系統(tǒng)登錄 304.2.2圖書管理 314.2.3訂單管理 324.2.4個人信息 334.2.5圖書信息 344.2.6其他功能簡介 355軟件測試 375.1測試計劃的制定 375.1.1調(diào)試計劃的整體目標 375.1.2定義軟件測試的標準 375.1.3測試實施策略的制定 375.1.4測試計劃的活動的細分 385.1.5測試計劃的要點 385.2測試的基礎(chǔ) 395.2.1測試的目標 395.2.2白盒測試和黑盒測試 395.2.3測試的準則 395.3功能測試 405.3.1等價劃分測試 405.4軟件可靠性 415.4.1基本定義 415.4.2估算平均無故障時間的方法 425.4.3MTTF和ASS的估算 43結(jié)論 44致謝 45參考文獻 46附錄 47附錄A英文原文 47附錄B漢語翻譯 51附錄C功能實現(xiàn)代碼 54引言隨著計算機和互聯(lián)網(wǎng)的發(fā)展打開了人們的視野,使人們呼吸道信息化、數(shù)字化的這股春風(fēng),一種新的購物平臺已經(jīng)被創(chuàng)建,電子商務(wù)平臺。通過網(wǎng)絡(luò)進行電子購物不但節(jié)省了消費者的時間,而且商家也可以根據(jù)需要進行產(chǎn)品的生產(chǎn)和不斷更新,這樣在一定的程度上提高了生產(chǎn)效率,促進了商品和資金的流通,改進了人們的生活方式。在當(dāng)今這個不斷變化,不斷更新的社會,人們的生活方式和生活節(jié)奏變得越來越快。那些傳統(tǒng)的營銷模式已經(jīng)不能夠在滿足現(xiàn)在社會的需要。在中國圖書銷售行業(yè)實現(xiàn)在網(wǎng)上銷售,通過計算機來管理信息。卻只在1998年才有了中國的第一家網(wǎng)上圖書銷售網(wǎng)站。這比世界先進水平的國家晚了將進10年之久。中國大陸已經(jīng)注冊的網(wǎng)上書店大約有100多家,有網(wǎng)站的有50多家,但已經(jīng)投入運營能夠買到書的只有十來家。很多人看到了書這種商品網(wǎng)上銷售的諸多好處:方便購買、金額小、風(fēng)險小、用戶容易決定;信息的完整性以及很少出現(xiàn)質(zhì)量問題和退貨現(xiàn)象等。盡管全球最大的網(wǎng)上書城亞馬遜股票慘跌,盡管各家書店都承認目前的虧本經(jīng)營狀況,但這并未阻擋投資者對網(wǎng)上書店“錢”景的期待。眾所周知國內(nèi)各大型網(wǎng)站都有各自的網(wǎng)上書店,國內(nèi)最大的網(wǎng)上書店亞馬遜就是一個例子。這種網(wǎng)上書店的發(fā)展正在逐步完善。其中的功能比較豐富,操作也比較簡便,因此吸引了大量的用戶。然而,網(wǎng)絡(luò)的資源是有限的,隨著數(shù)據(jù)量的加大,網(wǎng)站的服務(wù)質(zhì)量,尤其是熟讀會變得不堪忍受。而我的系統(tǒng)針對小范圍。如此一來,在保證效率的前提下,可以使用相對廉價的設(shè)備,節(jié)省費用和資源。本文中共分5章。第一章基礎(chǔ)知識,主要介紹一下技術(shù)、開發(fā)語言c#和開發(fā)工具等;第二章系統(tǒng)分析,主要講系統(tǒng)功能需求、性能需求及可行性分析,主要用用例圖類圖進行分析系統(tǒng)功能;第三章系統(tǒng)設(shè)計,主要介紹系統(tǒng)工作流程、功能結(jié)構(gòu)圖及數(shù)據(jù)庫表設(shè)計;第四章系統(tǒng)實現(xiàn),主要講各個功能的工作流程及大體的實現(xiàn)過程;第五章軟件測試,主要介紹系統(tǒng)使用的測試方法及功能測試并計算系統(tǒng)的穩(wěn)態(tài)可用性。每章附有本章重點介紹的功能圖例及詳細講解,幫助理解系統(tǒng)的各部分功能。1基礎(chǔ)知識1.1ASP.NET介紹ASP.NET是建立在.NET之上的Web運行時的環(huán)境,是微軟公司推出的一種用以取代CGI(CommonGatewayInterface)通用網(wǎng)關(guān)接口的技術(shù)??梢酝ㄟ^ASP.NET結(jié)合HTML語言、ASP.NET指令和ActiveX元件以及數(shù)據(jù)庫等方面知識,使用自己的Web服務(wù)器創(chuàng)建并運行動態(tài)的交互式Web站點[1]。ASP.NET的主要優(yōu)點大概可以歸納如下:1、生產(chǎn)效率,使用新增的ASP.NET服務(wù)器控件和包含新增功能的現(xiàn)有控件,可以輕松、快捷地創(chuàng)建ASP.NET網(wǎng)頁和應(yīng)用程序。新增內(nèi)容(諸如成員資格、個性化和主題)提供了系統(tǒng)級的功能,此類功能以前會要求開發(fā)人員進行大量的編寫代碼工作。新增數(shù)據(jù)控件、無代碼綁定和智能數(shù)據(jù)顯示控件已經(jīng)解決了核心開發(fā)方案(尤指數(shù)據(jù))問題。2、靈活性和可擴展性,很多ASP.NET功能都可以擴展,這樣可以輕松地將自定義功能集成到應(yīng)用程序中。例如,ASP.NET提供程序模型為不同數(shù)據(jù)源提供插入支持。3、性能,使用諸如預(yù)編譯、可配置的緩存和SQL緩存失效等功能,可以優(yōu)化Web應(yīng)用程序的性能。4、安全性,現(xiàn)在向Web應(yīng)用程序添加身份驗證和授權(quán)比以往任何時候都簡單。5、宿主,ASP.NET中包含的新增功能使得管理宿主環(huán)境變得更加簡單,從而為宿主主體創(chuàng)建了更多增值的機會。6、完整性,新增功能和現(xiàn)有功能協(xié)同工作,可以創(chuàng)建解決實時Web開發(fā)挑戰(zhàn)的端對端方案[2]。1.2C#語言C#是微軟為.NET平臺設(shè)計的程序設(shè)計語言,C#擁有C++的強大特性以及VisualBasic簡易的特性。C#是C/C++家族的第1個面向組件和面向?qū)ο蟮恼Z言,與C++比較,不同點在于完全支持組件的開發(fā)模式。C#可以用來直接開發(fā)ASP.NET應(yīng)用程序,因此C#的開發(fā)者可以直接成為ASP.NET的開發(fā)者。目前有公司準備將C#移植到其他的平臺上,并且提供C#編譯器,不久以后C#就會成為跨平臺的程序語言。C#源程序首先需要編譯成MSIL(微軟中間語言,簡稱MSIL),然后由.NET框架實時(JIT)編譯器轉(zhuǎn)換為本機代碼。因此要使用C#編程,必須需要一個編譯器把C#源程序編譯成MSIL,還需要JIT編譯器。當(dāng)創(chuàng)建一個程序的時候,在一個命名空間里創(chuàng)建了一個或多個類。同在這個命名空間里(在類的外面)還有可能聲明界面,枚舉類型和結(jié)構(gòu)體。必須使用using關(guān)鍵字來引用其他命名空間的內(nèi)容。由于Windows是Microsoft的產(chǎn)品,因而在早期階段,開發(fā)工具只有MicrosoftVisual2003可供使用。隨著Windows的逐漸普及,各大軟件公司紛紛推出自己的Windows軟件開發(fā)工具。VisualVisual2005是VisualStudio.NET中引入的一種新的編程工具。C#從C和C++演變而來,是一種簡單、現(xiàn)代、類型安全和面向?qū)ο蟮恼Z言。設(shè)計C#是為了建立運行于.NET平臺上的、范圍廣泛的企業(yè)級應(yīng)用程序。用VisualC#編寫的代碼被編譯為托管代碼,這意味著它將受益于公共語言運行庫的服務(wù)。這些服務(wù)包括:語言互操作性、垃圾回收、增強的安全性以及改進的版本支持。C#的優(yōu)點:(1)C#保留了對底層操作系統(tǒng)API的直接調(diào)用和指針。普通應(yīng)用都是調(diào)用.NET的程序集(相當(dāng)于Java的類庫,程序集里面都是bytecode,不是nativecode),對于速度敏感,或者平臺相關(guān)型應(yīng)用,直接通過特定聲明來調(diào)用WindowsAPI。這樣就可以功能、效率和速度都兼顧,解決各種各樣的應(yīng)用層問題和系統(tǒng)層問題(可以用C#來寫系統(tǒng)軟件了),用一種語言來解決所有場合的大部分問題。(2)在Windows平臺上.NETCLR比Java的JRE速度快。CLR速度足夠快的話,C#字節(jié)碼運行起來,普通應(yīng)用就不會感覺出來速度比純本地代碼慢?;旧细杏X不出來CLR啟動和加載程序集的明顯延遲,而不管用AWT,Swing還是SWT,JVM啟動和加載類庫的延遲是非常明顯的。(3)開發(fā)工具IDE,對比一下Visual.NETStudio和做的最好的JavaIDE,JBuilder或者Eclipse。寫普通的軟件,甚至Web應(yīng)用,IDE作用不明顯,特別是對于有Unix背景的人來說,更愿意使用純文本工具。但是涉及到GUI開發(fā)和企業(yè)應(yīng)用的開發(fā),一個強大的工具是必須的[3]。1.3SQLServer2005簡介SQL(StructuredQueryLanguage,結(jié)構(gòu)查詢語言)是一個功能強大的數(shù)據(jù)庫語言。ANSI(美國國家標準學(xué)會)聲稱,SQL是關(guān)系數(shù)據(jù)庫管理系統(tǒng)的標準語言。SQL語句通常用于完成一些數(shù)據(jù)庫的操作任務(wù),比如在數(shù)據(jù)庫中更新數(shù)據(jù),或者從數(shù)據(jù)庫中檢索數(shù)據(jù)。使用SQL的常見關(guān)系數(shù)據(jù)庫管理系統(tǒng)有:Oracle、Sybase、MicrosoftSQLServer、Access、Ingres等等。雖然絕大多數(shù)的數(shù)據(jù)庫系統(tǒng)使用SQL,但是它們同樣有它們自立另外的專有擴展功能用于它們的系統(tǒng)。SQLServer為公共的管理功能提供了預(yù)定義的服務(wù)器和數(shù)據(jù)庫角色,可以很容易為某一特定用戶授予一組選擇好的許可權(quán)限。SQLServer可以在不同的操作平臺上運行,支持多種不同類型的網(wǎng)絡(luò)協(xié)議如TCP/IP、IPX/SPX、AppleTalk等。SQLServer在服務(wù)器端的軟件運行平臺是WindowsNT、Windows98,在客戶端可以是Windows3.1、WindowsNT、Windows98,也可以采用其它廠商開發(fā)的系統(tǒng)如Unix、AppleMacintosh等。SQLServer2005是Microsoft公司推出的SQLServer數(shù)據(jù)庫管理系統(tǒng)的最新版本該版本繼承了SQLServer7.0版本的優(yōu)點同時又比它增加了許多更先進的功能具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點可跨越從運行MicrosoftWindows98的膝上型電腦到運行MicrosoftWindows2000的大型多處理器的服務(wù)器等多種平臺使用。SQLServer2005作為一個杰出的數(shù)據(jù)庫平臺可用于大型聯(lián)機事務(wù)處理數(shù)據(jù)倉庫以及電子商務(wù)。它的新特性如下:1、XMLExtensibleMarkupLanguage擴展標示語言支持2、新數(shù)據(jù)類型NewDataTypes3、數(shù)據(jù)行中的Text類型數(shù)據(jù)4、用戶自定義函數(shù)User-DefinedFunctions5、索引Index增強6、全文檢索Full-TextSearch增強7、索引化視圖IndexedViews8、分布式查詢DistributedQuery9、觸發(fā)器類型INSTEADOFandAFTERTriggers10、級聯(lián)參考完整性約束CascadingReferentialIntegrityConstraintsSQLServer2005還支持在同一計算機上同時運行多個關(guān)系數(shù)據(jù)庫實例每個實例有其獨立的系統(tǒng)和用戶數(shù)據(jù)庫集合應(yīng)用程序采用與連接不同計算機上的SQLServer實例大致相同的方式連接同一計算機上的各個實例[4,5]。1.4MicrosoftVisualStudio2008介紹MicrosoftVisualStudio.NET為開發(fā)人員提供了一套完整的解決方案。VisualStudio.NET提供了一個能夠基于.NET框架來創(chuàng)建應(yīng)用程序的開發(fā)環(huán)境,該開發(fā)環(huán)境提供了一些工具,這些工具可以簡化Web應(yīng)用程序和XMLWebService的創(chuàng)建、部署和升級。用.NET開發(fā)環(huán)境所創(chuàng)建的Web應(yīng)用程序和XMLWebService具有安全性、可伸縮性以及高可用性的特點。MicrosoftVisualC#是一種以VisualStudio.NET作為開發(fā)環(huán)境的語言,VisualStudio.NET是一個集成開發(fā)環(huán)境,它可以幫助用戶快速設(shè)計、開發(fā)、調(diào)試和部署基于.NET的應(yīng)用程序。VisualStudio.NET是一個功能強大、高效并且可以擴展的編程環(huán)境,是一個構(gòu)建企業(yè)分布式應(yīng)用的開發(fā)平臺,基于Web服務(wù)的技術(shù)得到了VisualStudio.NET的大力支持。使用VisualStudio.NET開發(fā)平臺可以構(gòu)建Windows應(yīng)用程序、Web應(yīng)用程序以及Web服務(wù)。使用VisualStudio.NET構(gòu)建分布式應(yīng)用程序?qū)⒏雍唵?、高效而且穩(wěn)定[6]。2系統(tǒng)分析2.1開發(fā)背景及意義社會的發(fā)展正在向信息化和數(shù)字化的方向發(fā)展,信息技術(shù)在社會各行各業(yè)都有了很大的發(fā)展空間,而且產(chǎn)業(yè)的發(fā)展強大必須依靠信息化的管理。計算機,互聯(lián)網(wǎng)也必須是他們的主要依附。圖書銷售行業(yè)的發(fā)展壯大一樣必須依靠互聯(lián)網(wǎng)的技術(shù),在這種情況下網(wǎng)上圖書銷售系統(tǒng)應(yīng)運而生。開發(fā)網(wǎng)上圖書銷售系統(tǒng)的宗旨在于方便人們進行圖書的購買,加快書本的更新速度,使訪問者足不出戶就可以購買到自己想要的書籍,這種購書的方式打破了傳統(tǒng)的單一購書方法,促使人們以更快的節(jié)奏、更高的投入到現(xiàn)在的生活中來[7]。網(wǎng)上圖書銷售系統(tǒng)有很多突出的優(yōu)點,具體如下。1、全面的書籍介紹:當(dāng)讀者找到自己所需要的書后,就可以更進一步地查看該書的相關(guān)介紹,除了書名、定價、出版社等基本信息外,還可以查看該書的目的、內(nèi)容簡介。2、方便的書籍瀏覽:購書系統(tǒng)中以列表方式顯示圖書的信息,包括最新上架圖書、特價圖書以及最近的圖書銷售排行。3、快捷的購物方式:當(dāng)讀者找到合適的書籍后,就可以將其添加到購物車中,待購買結(jié)束后就可以進行訂單的提交,以等待商家寄書。4、高價值的圖書評論:圖書的評論不但影響其他讀者的購買欲望,更在很大的程度上對商家的供貨、更新以及裝訂質(zhì)量提出了更高的要求[8]。2.2可行性研究可行性研究的任務(wù)是從技術(shù)上、經(jīng)濟上、使用上、法律上分析應(yīng)解決的問題是否有可行的解決方案。其目的是用極少的代價在最短的時間內(nèi)確定被開發(fā)的軟件是否開發(fā)成功。1、技術(shù)可行性Web技術(shù)的迅猛發(fā)展正推動Internet上信息服務(wù)類的進步。WWW服務(wù)的基礎(chǔ)是HTML語言,HTML語言是靜態(tài)網(wǎng)頁編程語言,不能帶后臺,不能帶數(shù)據(jù)庫。所以在當(dāng)今這個社會中HTML已經(jīng)不能滿足人們的需求。ASP.NET語言就很好的解決了HTML中的問題,并且支持數(shù)據(jù)庫的連接,寫好的網(wǎng)站會有一個后臺的管理,當(dāng)瀏覽器向服務(wù)器請求網(wǎng)頁的時候,服務(wù)器會響應(yīng)這個請求。將網(wǎng)頁再發(fā)回給瀏覽器,同時將數(shù)據(jù)保存在后臺的數(shù)據(jù)庫中。斷開連接,直到下一個請求。網(wǎng)絡(luò)圖書銷售管理系統(tǒng)有以下幾個特點:一是數(shù)據(jù)量大,要求及時查詢和瀏覽的內(nèi)容較多,二是數(shù)據(jù)處理比較集中。內(nèi)部數(shù)據(jù)處理量大,輸入和輸出的量大。三是即時處理,要不斷更新最新的數(shù)據(jù)信息?;谝陨先齻€特點,現(xiàn)有的技術(shù)都可以達到現(xiàn)有的目標。在單機環(huán)境下組建管理信息系統(tǒng),該系統(tǒng)的開發(fā)工作可以用ASP.NET做前臺,SQLServer2000做后臺,前臺可視化程度較高,人機交互能力較強,應(yīng)用方便。后臺數(shù)據(jù)庫管理數(shù)據(jù)功能強大,能更好的支持系統(tǒng)的運行。2、經(jīng)濟可行性軟件系統(tǒng)的主要設(shè)資費用包括:設(shè)備費用(計算機及軟件配置的費用),開發(fā)費用(開發(fā)人員,維護人員的費用),系統(tǒng)開銷(所用的電力,硬件的磨損折舊等)和另外的一些系統(tǒng)的費用?,F(xiàn)在各大中小型書店都是自主經(jīng)營,自負營虧。本系統(tǒng)對硬件的要求并不是特別高,只是一般的計算機就可以運行起來,還有就是開發(fā)人員和維護人員的費用,開發(fā)人員只需要一次性付款,而維護人員只是公司員工開工資即可,系統(tǒng)的開銷并不大。中小型書店應(yīng)該可以接受并支付得起。另外還有一點就是公司員工的培訓(xùn),本系統(tǒng)簡單易學(xué)。對于熟悉圖書銷售的工作人員來說,只要掌握簡單的計算機操作知識,便可以熟練掌握。本系統(tǒng)的后臺系統(tǒng)穩(wěn)定,易于維護,并不會消耗掉太多的人力和物力,商家也應(yīng)該愿意支付。本系統(tǒng)會給商家?guī)砭薮蟮慕?jīng)濟利益。前期的投資對于后期的創(chuàng)益來說應(yīng)該是極其值得的。系統(tǒng)能使書店的工作人員從繁重的體力勞動中解脫出來。系統(tǒng)不僅給銷售管理工作帶來方便,同時也滿足了不同客戶的不同需求。提高了數(shù)據(jù)的安全性、共享性和實力性,大大地降低公司預(yù)算,提高了工作效率,為圖書商家在業(yè)界市場的激烈競爭中減少不小的開支。3、使用可行性本系統(tǒng)采用ASP.NET設(shè)計前臺界面,用SQLServer2000數(shù)據(jù)庫為后臺管理??梢栽赪indowsxp、Windows2000等Windows操作系統(tǒng)系列下運行。本系統(tǒng)考慮到當(dāng)今社會當(dāng)中計算機已經(jīng)成為不可缺少的元素之一,中國現(xiàn)在網(wǎng)民人數(shù)已經(jīng)突破2.6億,而這也僅僅是上半年的調(diào)查結(jié)果。中國在網(wǎng)上消費的人數(shù)也在大幅度增加。這些人都有一定的計算機操作基礎(chǔ)。本系統(tǒng)前臺界面美觀,操作簡單,只要掌握一些計算機基本操作的人便可以短時間內(nèi)熟練使用系統(tǒng)。后臺管理中數(shù)據(jù)庫穩(wěn)定不易出現(xiàn)錯誤,易于管理?;谝陨系姆N種理由,本系統(tǒng)完全可以在社會中使用,推動中國計算機網(wǎng)絡(luò)的發(fā)展,同時也為書店商家創(chuàng)造出巨大的經(jīng)濟利益。4、法律可行性現(xiàn)在中國的法律中對于非法的軟件的管理還處在一個空白的階段,使得現(xiàn)在非法軟件肆意猖獗。比如偷窺別人的隱私,打擾別人的正常生活(病毒),盜版等。本系統(tǒng)是完全遵守著軟件開發(fā)人員的職業(yè)道德,系統(tǒng)并沒有加入任何能夠損害到商家和消費者利益的東西,可以放心使用。而且本系統(tǒng)完全遵守國家的《中華人民共和國計算機軟件保護條例》的條例,使本系統(tǒng)也擁有著法律的保護。2.3功能需求主要針對中小型書店對書店的圖書信息和用戶(書店工作人員,網(wǎng)站注冊用戶即潛在購書者)信息的進行有效的管理,對圖書的進銷存等環(huán)節(jié)進行信息化管理,實現(xiàn)讀者網(wǎng)上瀏覽圖書,網(wǎng)上購書的可能。通過讀者對購買圖書的在線評價,處理讀者網(wǎng)上的投訴和建議。2.3.1用例分析用例圖主要用來圖示化系統(tǒng)的主事件流程,它主要用來描述需求,即希望系統(tǒng)具備的完成一定功能的動作,通俗地理解用例就是軟件的功能模塊,是設(shè)計系統(tǒng)分析階段的起點,設(shè)計人員根據(jù)需求來創(chuàng)建和解釋用例圖,用來描述軟件應(yīng)具備哪些功能模塊以及這些模塊之間的調(diào)用關(guān)系[9],用例圖圖符如表2.1所示。表2.1uml用例圖圖符可視化圖符名稱描述系統(tǒng)邊界用來表示系統(tǒng)邊界,所有用例放在系統(tǒng)之中,它確定系統(tǒng)的范圍用例用來表示用例圖中的用例,它代表系統(tǒng)提高的范圍參與者用于描述與系統(tǒng)功能有關(guān)的外部實體,可以是用戶,也可以是外部系統(tǒng)關(guān)聯(lián)連接執(zhí)行者和用例,它表示角色與用例間的關(guān)系通過系統(tǒng)的功能需求分析,可得到系統(tǒng)的服務(wù)對象為購書者,網(wǎng)上圖書銷售系統(tǒng)的內(nèi)部工作人員可以按照工作需要各自完成自己指定的任務(wù)。其中管理員為抽象角色,所以系統(tǒng)角色分析用例圖如圖2.1所示。圖2.1系統(tǒng)角色分析用例圖頂層用例:對網(wǎng)站涉及到的所有人員進行詳細地分工,描述了每個用例之間的聯(lián)系。故網(wǎng)上圖書銷售系統(tǒng)頂層用例圖如圖2.2所示。圖2.2頂層用例圖圖書管理:對圖書庫中的所有的圖書信息進行管理包括基本的增、刪、改、查,同時也能對圖書進行分類像計算機類,經(jīng)濟類,外語類等,還可以對讀者對圖書的評價進行回應(yīng),可以及時改變書店的圖書供貨關(guān)系,可以查看缺書登記,對用戶想要購買的書及時進貨,圖書管理用例圖如圖2.3所示。圖2.3圖書管理用例圖訂單管理:訂單的管理主要是執(zhí)行訂單和查看訂單的詳細信息,修改訂單的下達信息,保證用戶能夠及時看到自己購買圖書的發(fā)貨信息,同時,管理員可以對不合法的訂單進行刪除??傮w來說用戶在網(wǎng)站前臺購書并到收銀臺結(jié)賬生成訂單后,還需要執(zhí)行訂單。訂單管理用例圖如圖2.4所示。圖2.4訂單管理用例圖用戶管理:對在網(wǎng)站注冊的用戶進行統(tǒng)一管理,可以查看用戶列表,對于會員信息的管理主要是查看會員基本信息和對部分非法用戶予以刪除,用戶管理用例圖如圖2.5所示。圖2.5用戶管理用例圖新聞管理:對于新聞的管理主要是查看新聞列表及信息的查看,添加新聞和刪除新聞。由于新聞信息涉及到新聞發(fā)布時間,所以沒有修改新聞信息的功能,新聞管理的用例圖如圖2.6所示。圖2.6新聞管理用例圖注冊用戶:通過網(wǎng)站注冊的用戶可以直接登錄網(wǎng)站進行相關(guān)的活動,用戶登錄后可以查看、搜索、購買圖書,并可以對喜歡的圖書進行購買放入購物車,并且可以管理購物車對購物車的圖書下訂單結(jié)賬,并對不小心加入購物車的圖書進行刪除,對自己已經(jīng)下訂單的并不滿意在沒有發(fā)貨前也可以對訂單刪除,注冊用戶用例圖如圖2.7所示。2.3.2概念類描述類圖(Classdiagram)是顯示了模型的靜態(tài)結(jié)構(gòu),特別是模型中存在的類、類的內(nèi)部結(jié)構(gòu)以及它們與其他類的關(guān)系等。類圖不顯示暫時性信息[9]。類圖是由若干類關(guān)聯(lián)在一起,反映系統(tǒng)或者子系統(tǒng)組成結(jié)構(gòu)的靜態(tài)圖。類圖的建模貫穿工程的分析和設(shè)計階段的始終,通常從商務(wù)伙伴能夠理解的類開始建模,最終往往成為只有開發(fā)小組才能夠完全理解的類。圖2.7注冊用戶用例圖類圖描述系統(tǒng)中類的靜態(tài)結(jié)構(gòu)。不僅定義系統(tǒng)中的類,表示類之間的聯(lián)系如關(guān)聯(lián)、依賴、聚合等,也包括類的內(nèi)部結(jié)構(gòu)(類的屬性和操作)。類圖描述的是一種靜態(tài)關(guān)系,在系統(tǒng)的整個生命周期都是有效的。類圖是在面向?qū)ο蟮南到y(tǒng)模型中使用得最普遍的圖。類圖包含了一組類、接口和協(xié)作以及其之間的關(guān)系。使用類圖來為系統(tǒng)的靜態(tài)視圖建模。通常這包括模型化系統(tǒng)的詞匯,模型化協(xié)作,或則模型化模式。類圖還是一些相關(guān)的圖的基礎(chǔ),包括組件圖、分布圖。類圖的重要性不僅僅體現(xiàn)在為系統(tǒng)建立可視化的、文檔化的結(jié)構(gòu)模型,同樣重要的是構(gòu)建通過正向和反向工程建立執(zhí)行系統(tǒng)。沒有類是單獨存在的,類通常和別的類協(xié)作,創(chuàng)造比單獨工作更大的語義。因此,除了捕獲系統(tǒng)的詞匯以外,還要將注意力集中到這些類是如何在一起工作的。使用類圖來表達這種協(xié)作,類圖圖符如表2.2所示。表2.2類圖圖符可視化圖符名稱描述類表示具體的一個類,第一欄為類名,第二欄為類的屬性,第三欄為類的方法包一種分組機制,表示一個類圖的集合關(guān)聯(lián)表示類的對象間的關(guān)系,包括聚集關(guān)聯(lián)和組成關(guān)聯(lián)泛化關(guān)系描述類或包的一般元素與特殊元素之間的分類關(guān)系類圖是一種顯示應(yīng)用程序的類及類之間關(guān)系的可視表示。類可以定義每個元素實例包含的屬性以及每個元素執(zhí)行或經(jīng)歷的操作。由上面的用例圖得到圖書類的方法可有查看圖書信息、添加圖書信息、修改圖書信息、刪除圖書等,圖書訂單類和圖書庫存類的方法可有查看訂單詳細信息、更新庫存等,操作記錄類的方法可有高級查詢、查看圖書詳細信息、查詢訂單詳細信息、查詢圖書庫存、刪除訂單等,管理員類的方法可有用戶管理、訂單管理、庫存管理、公告管理等。其中圖書類別類可以泛化出小說、幼兒讀物、計算機類圖書、工具書、哲理書等具體類,圖書訂單類和圖書庫存類可以分別泛化出查看訂單詳細信息、刪除訂單等具體類,概念類的類圖如圖2.8所示。2.3.3順序類描述順序圖重點是顯示對象之間發(fā)送的消息的時間順序。它也顯示對象之間的交互,就是在系統(tǒng)執(zhí)行時,某個指定時間點將發(fā)生的事情。順序圖由多個用垂直線顯示的對象組成,圖中時間從上到下推移,并且順序圖顯示對象之間隨著時間的推移而交換的消息或函數(shù)。消息是用帶消息箭頭的直線表示的,并且它位于垂直對象線之間。時間說明以及其他注釋放到一個腳本中,并將其放置在順序圖的頁邊空白處。順序圖是一種動態(tài)建模方法。一般用于確認和豐富一個使用情境的邏輯。一個使用情境就是系統(tǒng)潛在的使用方式的描述,也就是它的名稱所要描述的。通過觀察什么消息被發(fā)送給一個對象,以及通過概略的觀察運行被調(diào)用的方法需要花費多長時間,很快就能了解哪里的設(shè)計需要變化,以達到在系統(tǒng)內(nèi)部平衡負荷的目的,UML順序圖圖符如表2.3所示。圖2.8概念類類圖表2.3UML順序圖圖符可視化圖符名稱描述帶有生命線的對象用于表示順序圖中參與交互的對象激活表示在這個時間段內(nèi),對象處于活動狀態(tài)消息用于表示對象之間傳遞的消息返回消息用于表示對象之間傳遞的消息創(chuàng)建順序圖包含4項任務(wù):一、確定需要建模的工作流;二、從左道右布置對象;三、添加消息和條件以便創(chuàng)建每一個工作流;四、繪制總圖以便連接各個分圖。在了解順序圖的建模方法情況下。繪制系統(tǒng)的順序圖首先要了解系統(tǒng)的過程,根據(jù)系統(tǒng)類圖中的方法可以獲得詳細的系統(tǒng)過程,系統(tǒng)管理操作順序圖如圖2.9所示。圖2.9系統(tǒng)管理操作順序圖2.4性能需求性能指標有些模糊,很難有一個確切、具體的數(shù)值來描述。通常是通過系統(tǒng)的穩(wěn)定性、可靠性、無故障工作時間和故障恢復(fù)難易程度來體現(xiàn)的。系統(tǒng)的性能是系統(tǒng)的一種非功能特性,它關(guān)注的不是系統(tǒng)是否能夠完成特定的功能,而是在完成功能時展示出來的及時性。為了能夠客觀地度量系統(tǒng)的性能,定義了一系列的性能指標,以便于在不同情況下度量系統(tǒng)的性能。2.4.1響應(yīng)時間響應(yīng)時間是指用戶發(fā)出請求,系統(tǒng)做出相應(yīng)的反應(yīng)的這段時間叫做響應(yīng)時間。在討論系統(tǒng)的響應(yīng)時間時,通常是指系統(tǒng)所有功能的平均響應(yīng)時間或者所有功能的最大響應(yīng)時間。對一個系統(tǒng),其響應(yīng)時間如果小于1秒應(yīng)該是不錯的,如果達到5秒就完全難以接受了。本系統(tǒng)采用C#語言編寫對用戶本機與瀏覽器要求低,響應(yīng)時間也相對較短,最大為4秒平均為2~3秒,完全符合需求。2.4.2吞吐量吞吐量(throughput),是指單位時間內(nèi)流經(jīng)被測系統(tǒng)的數(shù)據(jù)流量,一般單位為b/s,即每秒鐘流經(jīng)的字節(jié)數(shù)。對于無并發(fā)的系統(tǒng)而言,吞吐量與響應(yīng)時間成嚴格的反比關(guān)系,實現(xiàn)上此時吞吐量就是響應(yīng)時間的倒數(shù)。由于本系統(tǒng)的響應(yīng)時間比較短,所以系統(tǒng)的吞吐量比較大。在不同領(lǐng)域不同版本的資料當(dāng)中,對吞吐量的概念是不盡相同的。2.4.3并發(fā)用戶數(shù)是同時執(zhí)行一個操作的用戶,或者是同時執(zhí)行腳本的用戶,這個并發(fā)在設(shè)置不同場景的時候并發(fā)的情況是不一樣的,在實際的測試中需要根據(jù)具體的需求進行設(shè)計。與吞吐量相比,并發(fā)用戶數(shù)是一個更直觀但也更籠統(tǒng)的性能指標。實際上,并發(fā)用戶數(shù)是一個非常不準確的指標,因為用戶不同的使用模式會導(dǎo)致不同用戶在單位時間發(fā)出不同數(shù)量的請求。2.4.4資源利用率資源利用率反映的是在一段時間內(nèi)資源平均占用的情況。對于數(shù)量為1的資源,資源利用率可以表示為資源被占用的時間與整段時間的比值;對于數(shù)量不為1的資源,資源利用率可以表示為在該段時間內(nèi)平均被占用的資源數(shù)與總資源數(shù)的比值。2.5環(huán)境需求2.5.1硬件環(huán)境服務(wù)器端的最低配置是由建立站點所需的軟件來決定的,在最低配置的情況下,服務(wù)器的往往不盡如人意,現(xiàn)在的硬件性能已經(jīng)相當(dāng)出色,而且價格也很便宜,因此通常應(yīng)給服務(wù)器端配置高性能的硬件,本系統(tǒng)服務(wù)器端的配置如下:處理器:InterPentium(R)Dual-CoreCPUT43002.1GHz或更高內(nèi)存:2GB硬盤空間:250GB顯卡:NvidiaGeForceG210M因為客戶端主要用于瀏覽和操作數(shù)據(jù),所以對客戶端的硬件要求不高,不過現(xiàn)在的電腦很高的性價比,因此需要的配置應(yīng)該高于下面的配置:處理器:InterPentium1.9GHz或更高內(nèi)存:512MB硬盤空間:80GB顯卡:SVAG顯示適配器。2.5.2軟件環(huán)境服務(wù)器端軟件環(huán)境如下:操作系統(tǒng):WindowsXPProfessionalServicePack3網(wǎng)絡(luò)協(xié)議:TCP/IPweb服務(wù)器:IIS6.0數(shù)據(jù)庫:MicrosoftSQLserver2005服務(wù)器:.NETFramework3.5環(huán)境瀏覽器:InternetExplorer8.0用戶端要求如下:操作系統(tǒng):Windows98/2000/XP網(wǎng)絡(luò)協(xié)議:TCP/IP服務(wù)器:.NETFramework環(huán)境瀏覽器:InternetExplorer5.0以上3系統(tǒng)設(shè)計3.1系統(tǒng)結(jié)構(gòu)設(shè)計3.1.1軟件設(shè)計的原則1.模塊化模塊化設(shè)計不僅減低了系統(tǒng)復(fù)雜性,使得系統(tǒng)容易修改,而且推動了系統(tǒng)各個部分的并行開發(fā),從而提高了軟件的生產(chǎn)效率。2.抽象與逐步求精抽象是指抽出事物的本質(zhì)特性而暫時不考慮他們的細節(jié)。逐步求精是把問題的求解過程分成若干步驟活階段,每個步驟活階段都比上一個步驟更精細化,更接近問題的解法。逐步求精是與抽象緊密相關(guān)的感念,是一個由抽象到具體的過程。3.信息隱藏和局部化信息隱藏是指每個模塊的實現(xiàn)細節(jié)對于其他模塊來說是隱藏的。模塊所包含的信息部允許其他不需要這些信息的模塊使用,如模塊的內(nèi)部數(shù)據(jù)、過程等。信息屏蔽使修改軟件時引入的錯誤造成的影響只局限在一個或幾個模塊內(nèi)部,不涉及軟件的其他部分。局部化則是指把一些關(guān)系密切的軟件元素放的彼此靠近。在模塊中使用局部數(shù)據(jù)元素就是局部化的一個例子。顯然局部化有利于實現(xiàn)信息的隱藏。4.模塊獨立性模塊獨立性是指軟件系統(tǒng)中每個模塊只涉及軟件要求的具體子功能,而和軟件系統(tǒng)中其他模塊的借口是無關(guān)的。模塊獨立的概念是模塊化、抽象、信息隱藏和局部化概念的直接結(jié)構(gòu)。模塊的借口是無關(guān)的。3.1.2系統(tǒng)層次結(jié)構(gòu)HIPO圖(hierarchyplusinput-process-output)是IBM公司于70年代中期在層次結(jié)構(gòu)圖(structurechart)的基礎(chǔ)上推出的一種描述系統(tǒng)結(jié)構(gòu)和模塊內(nèi)部處理功能的工具(技術(shù))。HIPO圖由層次結(jié)構(gòu)圖和IPO圖兩部分構(gòu)成,前者描述了整個系統(tǒng)的設(shè)計結(jié)構(gòu)以及各類模塊之間的關(guān)系,后者描述了某個特定模塊內(nèi)部的處理過程和輸入/輸出關(guān)系。HIPO圖由三個基本圖表組成,進行模塊層次功能分解遵循以下步驟:1、總體IPO圖:它是數(shù)據(jù)流程圖的初步分層細化結(jié)果,根據(jù)數(shù)據(jù)流程圖,將最高層處理模塊分解為輸入、處理、輸出三個功能模塊。2、HIPO圖:根據(jù)總體IPO圖,對頂層模塊進行重復(fù)逐層分解,而得到的關(guān)于組成頂層模塊的所有功能模塊的層次結(jié)構(gòu)關(guān)系圖。3、低層主要模塊詳細的IPO圖:由于HIPO圖僅僅表示了一個系統(tǒng)功能模塊的層次分解關(guān)系,還沒有充分說明各模塊間的調(diào)用關(guān)系和模塊間的數(shù)據(jù)流及信息流的傳遞關(guān)系。因此,對某些輸送低層上的重要工作模塊,還必須根據(jù)數(shù)據(jù)字典和HIPO圖,繪制其詳細的IPO圖,用來描述模塊的輸入、處理和輸出細節(jié),以及與其他模塊間的調(diào)用和被調(diào)用關(guān)系。網(wǎng)上圖書銷售系統(tǒng)的層次結(jié)構(gòu)大體分為三層,第一層是系統(tǒng)的主體,第二層是系統(tǒng)的個功能塊的劃分,第三層是對各功能模塊進行詳細說明,如此實現(xiàn)自頂向下逐步求精,系統(tǒng)的層次結(jié)構(gòu)圖如圖3.1所示。圖3.1系統(tǒng)的層次結(jié)構(gòu)圖H圖只說明了系統(tǒng)由哪些模塊組成及其控制層次結(jié)構(gòu),并未說明模塊間的信息傳遞及模塊內(nèi)部的處理。因此對一些重要模塊還必須根據(jù)H圖繪制具體的IPO表。用戶和管理人員可利用IPO表編寫、修改和維護程序。IPO表中包含的附加信息主要有系統(tǒng)名稱、圖的作者,完成的日期,本圖描述的模塊的名字,模塊在層次圖中的編號,調(diào)用本模塊的模塊清單,本模塊調(diào)用的模塊的清單、注釋以及本模塊使用的局部數(shù)據(jù)元素等。訂單狀態(tài)修改的上層調(diào)用模塊為訂單管理,沒有下層模塊可調(diào)用,訂單狀態(tài)修改的IPO表如表3.1所示。表3.1訂單狀態(tài)修改的IPO表系統(tǒng)名稱:網(wǎng)上圖書銷售系統(tǒng)設(shè)計者:曲德炳模塊名:訂單狀態(tài)修改日期:2009-12-10模塊編號:1.2上層調(diào)用模塊:訂單管理下層被調(diào)用的模塊:無輸入數(shù)據(jù):無輸出數(shù)據(jù):狀態(tài)修改后得到的結(jié)果處理:根據(jù)修改的狀態(tài)確認后,重新查看是否顯示相應(yīng)的狀態(tài)圖書添加的上層調(diào)用模塊為圖書管理,沒有下層模塊可調(diào)用,圖書添加的IPO表如表3.2所示。表3.2修改信息的IPO表系統(tǒng)名稱:網(wǎng)上圖書銷售系統(tǒng)設(shè)計者:曲德炳模塊名:修改信息日期:2009-12-10模塊編號:3.1上層調(diào)用模塊:圖書管理下層被調(diào)用的模塊:無輸入數(shù)據(jù):填寫要添加的信息輸出數(shù)據(jù):對數(shù)據(jù)庫的更新結(jié)果處理:判斷添加的圖書信息的合法性,添加成功后返回主頁進行瀏覽判斷添加是否成功3.2數(shù)據(jù)庫設(shè)計3.2.1數(shù)據(jù)庫概念設(shè)計1.用戶登記表:存儲用戶的基本信息。2.圖書類別表:存儲圖書類別的信息。3.圖書基本信息表:存儲圖書的基本信息。4.圖書評論表:存儲讀者對圖書的評論信息。5.缺書登記表:存儲沒有的圖書信息。6.圖書訂購信息表:存儲購買圖書的信息。7.圖書訂購者詳情表:存儲訂書用戶的信息。8.購物車詳情表:記錄購買者和書的信息。3.2.2數(shù)據(jù)庫邏輯設(shè)計用戶登記表是用來存放用戶的詳細信息的數(shù)據(jù)表,會員通過用戶名和密碼登陸到本站,實現(xiàn)購買圖書,下訂單,添加購物車等功能如圖3.3所示。表3.3用戶登記表序號名稱字段類型備注1編號IDint2用戶名UserNamevarchar(60)主鍵3登錄密碼PasswordStrvarchar(60)4真實姓名RealNamevarchar(60)5性別Sexint允許空6證件名稱IDNamevarchar(60)允許空7證件編號IDNumbervarchar(20)允許空8教育水平Educationvarchar(20)允許空9所在地Provincevarchar(20)允許空10地址Addressvarchar(100)11郵編PostCodevarchar(20)12電話號碼PhoneNumbervarchar(20)13移動電話MobliePhonevarchar(20)14電子郵件Emailvarchar(100)15讀者層次UserLevelint允許空16累計消費TotalConsumptionvarchar(40)允許空圖書類別表是用來存放圖書類別的數(shù)據(jù)表,包括類別類別編號、類別名、說明、分類,內(nèi)容如表3.4所示。表3.4圖書類別表序號名稱字段類型備注1類別名稱TypeNamevarchar(40)2說明Descriptionvarchar(200)允許空3類型編號BookTypeint4分類SuperBookTypeint圖書基本信息表,用來保存圖書的基本信息像書名、作者、出版社等等,當(dāng)有新書添加時,圖書的信息都保存在這里。網(wǎng)站上圖書的顯示也是直接從這個表中讀取的,如表3.5所示。圖書評論表是用來存儲讀者對每本圖書評論意見的,當(dāng)其時用戶進行瀏覽該圖書的話就會看到相應(yīng)的評論,查看圖書的好與壞,如表3.6所示。所缺圖書書目表用來存儲所缺圖書信息,當(dāng)用戶注冊并登陸的用戶沒有查找到自己想要的圖書時可以通過缺書登記記錄出自己想要圖書信息都存儲在此表中,如表3.7所示。圖書訂購信息表用來存儲訂單已經(jīng)下達的,表中包括讀者的信息和圖書的信息,訂單下達后,圖書管理員就可以在這里查看訂單的信息,如表3.8所示。表3.5圖書基本信息表序號名稱字段類型備注1編號IDint主鍵,自增長2書名BookNamevarchar(80)3作者Authorvarchar(40)4ISBNISBNvarchar(20)5頁數(shù)Pagesint6出版社PublishingHousevarchar(60)7類信息ClassInfoint8翻譯Translatorvarchar(40)可為空9系列名稱SeriesNamevarchar(60)可為空10出版日期PublishDatevarchar(40)11定價Pricevarchar(40)12內(nèi)容簡介Descriptiontext可為空13摘要Abstracttext可為空14目錄BookCatalogtext可為空15封面Coverimage可為空16評論條數(shù)CommentNumberint可為空17點擊次數(shù)HitNumberint可為空18售出數(shù)SoldNumberint可為空19會員級別Statusint可為空20特價SpecialPriceint可為空21折扣Discountint可為空22開本PagelargeInt表3.6圖書評論表序號名稱字段類型備注1編號IDint主鍵,自增長2書名BookIDint3說明Captionvarchar(80)可為空4評論Commenttext5讀者姓名UseNamevarchar(40)可為空6電子郵件Emailvarchar(60)可為空7出版日期PublishDatedatetime表3.7所缺圖書書目表序號名稱字段類型備注1編號IDint2讀者姓名UseNamevarchar(20)3書名BookNamevarchar(80)4出版社Publishervarchar(60)允許空5作者Authorvarchar(20)允許空6登記日期RegisterDatevarchar(60)表3.8圖書訂購信息表序號名稱字段類型備注1讀者編號UesrIDint2訂單號OrderIDint3書號BookIDint4訂購數(shù)量Quantitytinyint5優(yōu)惠價DiscountPricevarchar(40)圖書訂購者詳情表用來保存下訂單的用戶的信息,主要信息包括讀者的姓名和地址信息,如圖3.9所示。表3.9圖書訂購者詳情表序號名稱字段類型備注1編號IDint主鍵2讀者編號UserIDint3讀者姓名ContactNamevarchar(60)4讀者地址Addressvarchar(100)5電子郵件Emailvarchar(40)6郵編PostCodevarchar(20)7電話號碼PhoneNumbervarchar(20)8移動電話MobilePhonevarchar(20)9郵寄備注SendMemovarchar(200)允許空10郵寄方法SendMethodint11付款方法payMethodint12訂購日期OrderDatevarchar(40)13訂購情況OrderStatusint14訂購?fù)瓿扇誒rderFinishDatevarchar(40)允許空15是否要發(fā)票NeedInvoiceint16總計TotalDiseountPricevarchar(40)允許空購物車詳情表存儲購買的圖書信息,如圖3.10所示。表3.10購物車詳情表序號名稱字段類型備注1讀者編號UserIDint2書號BookIDint3訂購數(shù)量Quantityint3.3用戶界面設(shè)計用戶界面設(shè)計也叫做人機界面設(shè)計,是指通過一定的手段對用戶界面有目標和計劃的一種創(chuàng)作活動.大部份為商業(yè)性質(zhì)、少部份為藝術(shù)性質(zhì)。人機界面是計算機科學(xué)和認知心理學(xué)兩大學(xué)科相結(jié)合的產(chǎn)物,同時也吸收了語言學(xué)、人機工程學(xué)和社會學(xué)等學(xué)科的研究成果。經(jīng)過40余年的發(fā)展,已經(jīng)成為一門以研究用戶及其與計算機的關(guān)系為特征的主流學(xué)科之一。近年來,人機界面的設(shè)計理論已經(jīng)更廣泛地發(fā)展和應(yīng)用到人、機、環(huán)境系統(tǒng)工程等領(lǐng)域,使工程技術(shù)設(shè)計與使用者的身心行為特點相適應(yīng),從而使人能夠高效、舒適地工作與生活。人機界面的設(shè)計質(zhì)量,直接影響用戶對軟件產(chǎn)品的評價,從而影響軟件產(chǎn)品的競爭力和壽命,因此,必須對人機界面設(shè)計給以足夠重視。3.3.1人機界面設(shè)計原則1.以用戶為中心的基本設(shè)計原則在系統(tǒng)的設(shè)計過程中,設(shè)計人員要抓住用戶的特征,發(fā)現(xiàn)用戶的需求。在系統(tǒng)整個開發(fā)過程中要不斷征求用戶的意見,向用戶咨詢。系統(tǒng)的設(shè)計決策要結(jié)合用戶的工作和應(yīng)用環(huán)境,必須理解用戶對系統(tǒng)的要求。最好的方法就是讓真實的用戶參與開發(fā),這樣開發(fā)人員就能正確地了解用戶的需求和目標,系統(tǒng)就會更加成功。2.順序原則即按照處理事件順序、訪問查看順序(如由整體到單項,由大到小,由上層到下層等)與控制工藝流程等設(shè)計監(jiān)控管理和人機對話主界面及其二級界面。3.功能原則即按照對象應(yīng)用環(huán)境及場合具體使用功能要求,各種子系統(tǒng)控制類型、不同管理對象的同一界面并行處理要求和多項對話交互的同時性要求等,設(shè)計分功能區(qū)分多級菜單、分層提示信息和多項對話欄并舉的窗口等的人機交互界面,從而使用戶易于分辨和掌握交互界面的使用規(guī)律和特點,提高其友好性和易操作性。4.一致性原則包括色彩的一致,操作區(qū)域一致,文字的一致。即一方面界面顏色、形狀、字體與國家、國際或行業(yè)通用標準相一致。另一方面界面顏色、形狀、字體自成一體,不同設(shè)備及其相同設(shè)計狀態(tài)的顏色應(yīng)保持一致。界面細節(jié)美工設(shè)計的一致性使運行人員看界面時感到舒適,從而不分散他的注意力。對于新運行人員,或緊急情況下處理問題的運行人員來說,一致性還能減少他們的操作失誤。5.頻率原則即按照管理對象的對話交互頻率高低設(shè)計人機界面的層次順序和對話窗口萊單的顯示位置等,提高監(jiān)控和訪問對話頻率。6.重要性原則即按照管理對象在控制系統(tǒng)中的重要性和全局性水平,設(shè)計人機界面的主次菜單和對話窗口的位置和突顯性,從而有助于管理人員把握好控制系統(tǒng)的主次,實施好控制決策的順序,實現(xiàn)最優(yōu)調(diào)度和管理。7.面向?qū)ο笤瓌t即按照操作人員的身份特征和工作性質(zhì),設(shè)計與之相適應(yīng)和友好的人機界面。根據(jù)其工作需要,宜以彈出式窗口顯示提示、引導(dǎo)和幫助信息,從而提高用戶的交互水平和效率。人機交互界面,無論是面向現(xiàn)場控制器還是面向上位監(jiān)控管理,兩者是有密切內(nèi)在聯(lián)系的,他們監(jiān)控和管理的現(xiàn)場對象是相同的,因此許多現(xiàn)場設(shè)備參數(shù)在他們之間是共享和相互傳遞的。人機界面的標準化設(shè)計應(yīng)是未來的發(fā)展方向,因為它確實體現(xiàn)了易懂、簡單、實用基本原則,充分表達了以人為本的設(shè)計理念。各種工控組態(tài)軟件和編程工具為制作精美的人機交互界面提供了強大的支持手段,系統(tǒng)越大越復(fù)雜越能體現(xiàn)其優(yōu)越性。3.3.2主界面設(shè)計網(wǎng)站的頁面設(shè)計很重要,用戶第一眼看到的就是首頁,所以首頁要吸引人,這樣就需要將首頁設(shè)計的美觀,但不一定所有的用戶都對計算機特別熟練,這樣還需要設(shè)計的方便、容易操作。系統(tǒng)的前臺首頁主要有如下幾個功能:圖書展示功能、圖書查詢功能、圖書導(dǎo)航功能、網(wǎng)站最新動態(tài)瀏覽。網(wǎng)站的設(shè)計準則是用戶用最少的操作完成更多更細的工作,并保證頁面的美觀。無論是注冊并登陸的用戶,還是游客的形式進入網(wǎng)站都可以對圖書進行查詢,瀏覽等基本的操作,當(dāng)用戶看到自己喜歡的圖書并且價錢合理,他們只需要登錄就可以對圖書進行購買。用最少的操作完成對圖書的購買活動是網(wǎng)站的首要任務(wù)。系統(tǒng)主界面如圖3.3所示。3.4系統(tǒng)詳細設(shè)計過程設(shè)計的任務(wù)不是具體地編寫程序,而是要設(shè)計出程序的“藍圖”,程序員根據(jù)這個藍圖進行構(gòu)思寫出實際的代碼。因此,過程設(shè)計的結(jié)果基本上決定了最終的程序代碼的質(zhì)量。圖3.3系統(tǒng)主界面在軟件的生命周期中,實際上對于長期使用的軟件系統(tǒng)而言,人讀程序的時間可能比寫程序的時間還要長得多。因此,衡量程序的質(zhì)量不僅要看它的邏輯是否正確,性能是否滿足要求,更主要的是要看它是否容易閱讀和理解。過程設(shè)計的目標不僅僅是邏輯上正確地實現(xiàn)每個模塊的功能,更重要的是設(shè)計出的處理過程應(yīng)該盡可能簡明易懂。結(jié)構(gòu)程序設(shè)計技術(shù)是實現(xiàn)上述目標的關(guān)鍵技術(shù),因此是過程設(shè)計的邏輯基礎(chǔ)。PAD是問題分析圖(ProblemAnalysisDiagram)的英文縮寫,它用二維樹形結(jié)構(gòu)的圖來表示程序的控制流,是一種用結(jié)構(gòu)化程序設(shè)計思想表現(xiàn)程序邏輯結(jié)構(gòu)的圖形工具,將這種圖翻譯成程序代碼比較容易。PAD圖是面向高級程序設(shè)計語言的,為FORTRAN,COBOL和PASCAL等每種常用的高級程序設(shè)計語言都提供了一整套相應(yīng)的圖形符號。由于每種控制語句都有一個圖形符號與之對應(yīng),顯然將PAD圖轉(zhuǎn)換成與之對應(yīng)的高級語言程序比較容易。PAD是一種程序結(jié)構(gòu)可見性好、結(jié)構(gòu)唯一、易于編制、易于檢查和易于修改的詳細設(shè)計表現(xiàn)方法。用PAD可以消除軟件開發(fā)過程中設(shè)計與制作的分離,也可消除制作過程中的“屬人性”。雖然目前仍需要由人來編制程序,一旦開發(fā)的PAD編程自動化系統(tǒng)實現(xiàn)的話,計算機就能從PAD自動編程,到那時程序邏輯就是軟件開發(fā)過程中人工制作的最終產(chǎn)品。顯然在開發(fā)時間上大大節(jié)省,開發(fā)質(zhì)量上將會大大提高。PAD圖的主要優(yōu)點如下:(1)使用表示結(jié)構(gòu)化控制的PAD符號所設(shè)計出來的程序必然是結(jié)構(gòu)化程序。(2)PAD圖描述的程序結(jié)構(gòu)十分清晰。圖中最左面的豎線是程序的主線,即第一層結(jié)構(gòu)。隨著程序?qū)哟卧黾?,PAD圖逐漸向右延伸,每增加一個層次,圖形向右擴展一條豎線,PAD圖中豎線的總條數(shù)就是程序的層次數(shù)。(3)用PAD圖表現(xiàn)程序邏輯易讀、易懂、易記。PAD圖是二維樹形結(jié)構(gòu)的圖形,程序從圖中最左豎線上端的結(jié)點開始執(zhí)行,自上而下,從左到右順序執(zhí)行,遍歷所有結(jié)點。(4)有利于提高軟件的可靠性和軟件生產(chǎn)率。容易將PAD圖轉(zhuǎn)換成高級語言源程序,這種轉(zhuǎn)換可用軟件工具自動完成,從而可以省去人工編碼的工作,有利于提高軟件的可靠性和軟件生產(chǎn)率。(5)既可用于表示程序邏輯,也可用于描述數(shù)據(jù)結(jié)構(gòu)。(6)PAD圖的符號支持自頂向下、逐步求精方法的使用。開始設(shè)計者可以定義一個抽象的程序,隨著設(shè)計工作的深入而使用“def”符號逐步增加細節(jié),直至完成詳細設(shè)計。3.4.1訂單管理PAD圖管理員進行訂單管理操作時,首先要找到要管理的訂單,并填寫相應(yīng)的訂單信息,系統(tǒng)會根據(jù)訂單的信息更新相應(yīng)的庫存,然后添加相應(yīng)的訂單記錄,訂單管理的PAD圖如圖3.4所示。圖3.4訂單管理PAD圖3.4.2購物車PAD圖用戶查詢到自己想買的圖書之后,可以將此圖書添加到購物車里,并填寫相關(guān)的詳細信息,確定購物信息之后,同時確定訂單。管理員進入后臺之后,進入訂單管理,查詢用戶訂單詳細信息,核對無誤,確認發(fā)貨;核對出錯,返回重新填寫。購物車PAD圖如圖3.5所示。3.4.3圖書查詢PAD圖用戶經(jīng)過登錄模塊驗證成功后可以進行系統(tǒng),在用戶進行圖書查詢時要輸入查詢圖書的信息,系統(tǒng)對庫存中的記錄進行遍歷,找到后顯示給用戶否則無查詢結(jié)果,圖書查詢的PAD圖如圖3.6所示。
圖3.5購物車PAD圖圖3.6圖書查詢PAD圖4系統(tǒng)實現(xiàn)4.1任務(wù)與原則詳細設(shè)計階段要確定怎樣具體地實現(xiàn)所要求的系統(tǒng),得到目標系統(tǒng)的邏輯描述,其后續(xù)階段編碼則可以將該描述翻譯成程序。詳細設(shè)計的主要任務(wù):1、確定模塊采用的算法,寫出模塊的詳細過程性描述。即為每個模塊確定采用的算法,選擇某種適當(dāng)?shù)墓ぞ弑磉_算法的過程,寫出模塊的詳細過程性描述。2、確定每一模塊使用的數(shù)據(jù)結(jié)構(gòu)3、確定模塊的接口的細節(jié)。其中包括對系統(tǒng)外部的接口和用戶界面,對系統(tǒng)內(nèi)部相關(guān)模塊接口,以及模塊輸入數(shù)據(jù)、輸出數(shù)據(jù)及局部數(shù)據(jù)的全部細節(jié)。詳細設(shè)計階段的主要原則:1、模塊的邏輯描述要清晰易讀、正確可靠。2、采用結(jié)構(gòu)化設(shè)計方法,改善控制結(jié)構(gòu),降低程序的復(fù)雜程度,從而提高程序的可讀性、可測試性、可維護性。A、程序語言中應(yīng)盡量少用GOTO語句,以確保程序結(jié)構(gòu)的獨立性。B、使用單入口單出口的控制結(jié)構(gòu),確保程序的靜態(tài)結(jié)構(gòu)與動態(tài)執(zhí)行情況相一致,保證程序易理解。C、程序的控制結(jié)構(gòu)一般采用順序、選擇、循環(huán)3種結(jié)構(gòu)來構(gòu)成,確保結(jié)構(gòu)簡單。D、用自頂向下逐步求精方法完成程序設(shè)計。結(jié)構(gòu)化程序設(shè)計的缺點是存儲容量和運行時間增加10%~20%,但可讀性、維護性好。3、選擇恰當(dāng)工具來描述各模塊算法[9,10]。4.2系統(tǒng)功能實現(xiàn)4.2.1系統(tǒng)登錄在登錄功能模塊中系統(tǒng)會自動識別管理員和用戶登錄并且各自登錄會跳轉(zhuǎn)到不同的頁面上。用戶想要購買圖書必須在此登錄,管理員想要進行相關(guān)的管理也必須在此登錄。管理員在此輸入其用戶名、密碼,經(jīng)過與后臺數(shù)據(jù)庫中的記錄進行相應(yīng)的對比確定其為合法用戶,管理員才得到進入系統(tǒng)的權(quán)限,如圖4.1所示:圖4.1登錄界面功能實現(xiàn):1.用戶名和密碼輸入框中使用了RequiredFieldValidator驗證控件,這樣就確保了,用戶輸入不能為空。保證下步的進行。2.進入登錄界面時進行輸入相關(guān)信息點擊登錄后,系統(tǒng)會自動識別登錄者的身份和用戶名及對應(yīng)的密碼是否正確。不正確時會提示你重新輸入,如果輸入正確系統(tǒng)也會識別身份是管理員還是用戶,然后自動引導(dǎo)進入相關(guān)的頁面。3.對已經(jīng)注冊的,但是忘記密碼的用戶可以進行密碼找回。點擊忘記密碼,進入提示界面。進行相關(guān)的輸入就可以對密碼進行找回。4.對游客身份進入網(wǎng)站的,可以點擊沒有注冊進入注冊界面進行注冊,注冊成功并登錄后可以使用網(wǎng)站的更多功能。4.2.2圖書管理圖書管理這個模塊包括新書添加,舊書管理。在這個功能模塊中,圖書管理員可以添加新進的圖書,其中包括圖書的書名、作者、ISBN、出版日期、出版社、類別、圖書封面、描述等等。其中可以對不是很好賣的圖書進行刪除,如圖4.2所示。圖4.2圖書管理界面功能實現(xiàn):1.圖書管理員登陸后可以對后臺圖書進行管理,圖書管理員可以按照出版社提供的圖書信息進行新書添加。2.新書封面添加時使用了Image控件和Inputfile控件實現(xiàn)圖書封皮的添加。在每次封皮添加的時候路徑選取必須不能為空。3.如圖左下角所示,所有圖書一覽表主要運用到GridView控件讀取數(shù)據(jù)庫中的信息,在這里可以對圖書銷售量和點擊率進行查看,并且可以刪除低銷量的圖書進行刪除。4.圖書管理模塊是網(wǎng)上圖書銷售系統(tǒng)的主要模塊,完成了系統(tǒng)的最主要的功能。主要運用到GridView連接數(shù)據(jù)庫,用數(shù)據(jù)庫Insert語句完成插入新書功能。4.2.3訂單管理訂單管理模塊也是系統(tǒng)的主要模塊,是用戶實現(xiàn)完成購買圖書的最后一步。也是大多數(shù)電子商務(wù)類網(wǎng)站的必備的模塊之一,其中包括用戶生成訂單和管理員管理訂單,來完成整個交易,如圖4.3所示。圖4.3訂單管理界面功能實現(xiàn):1.用戶登錄后可以直接瀏覽、查詢圖書并對圖書的評論進行查看,如果喜歡圖書欲進行購買,可以直接下訂單,下訂單時用戶就必須進行詳細的郵購地址進行編輯,以保證圖書郵寄的時候能夠按時到達。2.用戶將自己喜歡的圖書添加到購物車,可以同時添加多本圖書,然后一起付款。這時就會彈出如圖的訂單下達頁,點擊確定訂單后就完成了圖書的購買。3.該模塊運用的主要控件就是GridView控件,是該控件具有刪除和編輯的功能。使其完成對訂單的詳細管理。4.2.4個人信息當(dāng)注冊用戶登錄后,可以對自己的信息就行維護和管理,點擊我的資料就可以查看和修改自己的資料,個人資料對本人是非常重要的,當(dāng)用戶購買圖書的時候就是調(diào)用系統(tǒng)的詳細資料如送貨地址、電話等,所以用戶必須保證個人資料的完整性和真實性,其中界面如圖4.4所示。圖4.4修改個人信息界面功能實現(xiàn):1.登錄系統(tǒng)并點擊我的資料后,系統(tǒng)就出現(xiàn)用戶的個人信息,用戶可以對相應(yīng)信息進行修改和維護。如性別、地址、電話、郵件等等,修改完了點擊確定即可。2.這里運用了數(shù)據(jù)綁定,將數(shù)據(jù)庫表中的信息讀取到TextBox中,這個既方便了修改,又可以直接觀看。3.我的資料中還可以對自己的密碼進行修改,查看自己的購物車,查看和刪除自己的訂單等。4.2.5圖書信息在網(wǎng)上圖書銷售,網(wǎng)上圖書這樣的系統(tǒng)中顯示圖書信息這項也是必不可少的,這樣可以向用戶展示圖書的基本信息如圖書封皮、價格、簡介等,在這里讀者而且還可以查看其他用戶對圖書的評論,這樣就可以給下位用戶提供一些圖書的好與壞的基本信息,功能界面如圖4.5所示。圖4.5圖書展示界面功能實現(xiàn):1.在數(shù)據(jù)庫中讀取了圖書的一些相關(guān)的信息,然后顯示在此頁中,利用table控件完成頁面的詳細布局在單元格中完成一些細節(jié)的信息的顯示。2.頁面中利用了PageDataList控件顯示讀者對圖書的評論信息。顯示在相應(yīng)的圖書當(dāng)中。3.在讀者看到本書的詳細信息及評論后,有意向購買此書時只需點擊加入購物車然后進行下步操作(訂單生成)完成圖書的購買活動。4.2.6其他功能簡介為了提高系統(tǒng)的實用性,不但設(shè)計的系統(tǒng)要具有可用的基本功能,而且還要有具有美觀的界面。為了實現(xiàn)導(dǎo)航條美觀系統(tǒng)使用了JAVA腳本中的function函數(shù)完成鼠標移動時圖標樣式的改變。其中,主頁面中為了能夠更好的顯示圖書的封皮使用了DataList控件完成,這樣能夠工整的排列每本圖書的信息包括封皮、書名、簡要介紹等等。(下面想想再寫)在用戶注冊功能實現(xiàn)中,系統(tǒng)使用了驗證控件如:RequiredFieldValidator、CustomValidator等,來實現(xiàn)用戶名、郵件、密碼等的樣式。這樣更夠使得系統(tǒng)更正正規(guī),并能夠保證在多數(shù)用戶這側(cè)的時候防止系統(tǒng)中出現(xiàn)相同的用戶名,已導(dǎo)致系統(tǒng)錯誤或者是用戶登錄時出現(xiàn)賬號或密碼錯誤等。5軟件測試軟件測試部分是保證系統(tǒng)質(zhì)量與可靠性的最后關(guān)口,是對整個系統(tǒng)開發(fā)包括系統(tǒng)分析,系統(tǒng)設(shè)計和系統(tǒng)實現(xiàn)的最終審查。雖然在系統(tǒng)開發(fā)的各個階段都采取了嚴格的技術(shù)措施,希望能盡快發(fā)現(xiàn)問問并改正,但難免會留下差錯,如果在正式投入運行前沒有發(fā)現(xiàn)問題,在工作中暴露了來,將給圖書銷售的商家?guī)砭薮蟮膿p失。因此,對系統(tǒng)進行測試,是系統(tǒng)開發(fā)中不可缺少的階段。系統(tǒng)測試的對象不僅僅包括需要測試的產(chǎn)品系統(tǒng)的軟件,還要包含軟件所依賴的硬件、外設(shè)甚至包括某些數(shù)據(jù)、某些支持軟件及其接口等。因此,必須將系統(tǒng)中的軟件與各種依賴的資源結(jié)合起來,在系統(tǒng)實際運行環(huán)境下來進行測試[11]。5.1測試計劃的制定測試計劃是從測試項目實施和管理的角度,討論軟件測試計劃的實施目標和標準、計劃階段的細分、測試項目計劃的要點和編制測試計劃的技巧。5.1.1調(diào)試計劃的整體目標調(diào)試計劃的整體目標是為確定測試的任務(wù)、所需的各種資源和投入,預(yù)見可能出現(xiàn)的問題和風(fēng)險,以指導(dǎo)測試的執(zhí)行,最終實現(xiàn)測試的目標。(1)為測試各項活動制定一個現(xiàn)實可行的、綜合的計劃,包括每項測試活動的對象、范圍、方法、進度和預(yù)期結(jié)果。(2)為項目實施建立組織模型,并定義測試項目中每個角色的責(zé)任與工作內(nèi)容。(3)開發(fā)有效的測試模型,能正確地驗證正在開發(fā)的軟件系統(tǒng)。(4)確定測試所需的時間和資源,以保證其可獲得性和有效性。(5)確立每個測試階段的測試完成及測試成功的標準和實現(xiàn)的目標。5.1.2定義軟件測試的標準為了保證測試工作能按計劃執(zhí)行,必須確認測試在滿足什么外部條件下才能開始。這就是要在測試計劃中定義軟件測試項目的輸入標準,然后定義測試項目的輸出標準。5.1.3測試實施策略的制定測試策略描述當(dāng)前測試項目的目標和所采用的測試方法。這個目標不是測試計劃的目標,而是針對某個應(yīng)用軟件系統(tǒng)或程序、具體的測試項目要達到的預(yù)期結(jié)果,包括在規(guī)定的時間內(nèi)哪些測試內(nèi)容要完成、軟件產(chǎn)品的特性或質(zhì)量在哪些方面得到確認。測試策略還要描述測試不同階段的測試對象、范圍和方法以及每個階段內(nèi)要進行的測試類型。5.1.4測試計劃的活動的細分測試計劃不可能一氣呵成,而是要經(jīng)過計劃初期、起草、討論和審查等不同階段,才能將測試計劃訂好,且不同測試階段或不同測試任務(wù)都可能要有具體的測試計劃。測試計劃活動的基本流程如圖6.1所示:圖5.1測試計劃活動基本流程5.1.5測試計劃的要點(1)目標和范圍:包括產(chǎn)品特性、質(zhì)量目標、各個階段的測試對象、目標范圍。(2)項目估算:根據(jù)歷史數(shù)據(jù)和采用恰當(dāng)?shù)脑u估技術(shù),對測試工作量、所需資源做出合理估算。(3)風(fēng)險計劃:測試可能存在的風(fēng)險分析、識別以及風(fēng)險的回避監(jiān)控和管理。(4)日程:項目工作分解結(jié)構(gòu),并采用時限圖、甘特圖等方法制定時間和資源表。(5)項目資源:人員、硬件和軟件等資源的組織和分配,人力資源是重點,而且和日程安排聯(lián)系緊密。(6)跟蹤和控制機制:質(zhì)量保證和控制、變更管理和控制。5.2測試的基礎(chǔ)5.2.1測試的目標在軟件生存周期的每個階段都不可避免地會產(chǎn)生錯誤。力求在每個階段結(jié)束之前通過嚴格的技術(shù)審查,盡可能早的發(fā)現(xiàn)并糾正錯誤。測試的目的就是在軟件投入生產(chǎn)性運行之前,盡可能多地發(fā)現(xiàn)軟件中的錯誤。目前軟件測試仍然是保證軟件質(zhì)量的關(guān)鍵步驟,它是對軟件規(guī)格說明、設(shè)計和編碼的最后復(fù)審。G.Myers給出了關(guān)于測試的一些規(guī)則,這些規(guī)則也可以看作是測試的目標或定義:(1)測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程;(2)好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案;(3)成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。5.2.2白盒測試和黑盒測試測試任何產(chǎn)品都有兩種方法:如果已經(jīng)知道了產(chǎn)品應(yīng)該具有的功能,可以通過測試來檢驗是否每個功能都能正常使用;如果知道產(chǎn)品內(nèi)部工作過程,可以通過測試來檢驗產(chǎn)品內(nèi)部動作是否按照規(guī)格說明書的規(guī)定正常進行。前一個方法稱為黑盒測試,后一個方法稱為白盒測試。對于軟件測試而言,黑盒測試法把程序看成一個黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程。也就是說,黑盒測試是在程序接口進行的測試,它只檢查程序功能是否能按照規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)產(chǎn)生正確的輸出信息,并且保持外部信息(如,數(shù)據(jù)庫或文件)的完整性。黑盒測試又稱為功能測試。與黑盒測試法相反,白盒測試法的前提是可以把程序看成裝在一個透明的白盒子里,也就是完全了解程序的結(jié)構(gòu)和處理過程。這種方法按照程序內(nèi)部的邏輯測試程序,檢驗程序中的每條通路是否都能按預(yù)定要求正確工作。白盒測試又稱為結(jié)構(gòu)測試。5.2.3測試的準則為了能設(shè)計出有效的測試方案,軟件工程師必須充分理解并正確運用指導(dǎo)軟件測試的基本準則。主要的測試準則如下所述。(1)所有的測試都應(yīng)該能追溯到用戶需求。正如前面講過的,軟件測試的自標是發(fā)現(xiàn)錯誤。從用戶角度看,最嚴重的錯誤是導(dǎo)致程序不能滿足用戶需求的那些錯誤。(2)應(yīng)該在測試開始之前的相當(dāng)長時間,就制定出測試計劃。一旦完成了需求模型就可以著手制定測試計劃,在確定了設(shè)計模型之后就可以立即開始設(shè)計詳細的測試方案。因此,在編碼之前就可以對所有測試工作進行計劃和設(shè)計。(3)把Pareto原理應(yīng)用于軟件測試。Pareto原理指出,測試發(fā)現(xiàn)的錯誤中的80%很可能是由程序中20%的模塊造成的。當(dāng)然,問題是怎樣找出這些可疑的模塊并徹底地測試它們。(4)測試應(yīng)該從“小規(guī)模”開始,并逐步進行“大規(guī)?!睖y試。通常,首先重點測試單個程序模塊,進一步的測試重點轉(zhuǎn)向在集成的模塊簇中尋找錯誤,最后在整個系統(tǒng)中尋找錯誤。(5)窮舉測試是不可能的。所謂窮舉測試就是把程序所有可能的執(zhí)行路徑都檢查遍的測試。即使是一個中等規(guī)模的程序,其路徑排列數(shù)也是非常大的,由于受時間、人力和資源的限制,在測試過程中不可能執(zhí)行路徑的每一種組合。這就表明,測試只能證明程序中有錯誤,不能證明程序中沒有錯誤。但是,通過精心設(shè)計測試方案,有可能充分覆蓋程序邏輯并確保把過程設(shè)計中使用的所有條件都檢查一遍。(6)為了達到最佳的測試效果,應(yīng)該由獨立的第三方來從事測試工作。所謂“最佳效果”是指具有最大可能性發(fā)現(xiàn)錯誤的測試(這是測試的基本目標)。軟件系統(tǒng)的軟件工程師并不是完成全部軟件測試工作的最佳人選(通常由其主要承擔(dān)模塊測試工作)。5.3功能測試5.3.1等價劃分測試黑盒測試著重測試軟件的功能需求。主要分為:等價劃分、邊界值分析、錯誤推測三種測試技術(shù),下面主要介紹軟件的等價劃分測試。等價劃分原則:若規(guī)定了輸入個數(shù)選擇一個有效等價類,兩個無效等價類;若輸入是一組值,需要對屬性進行判別,選擇不同的屬性輸入;若輸入是整數(shù)選正整數(shù)、零、負整數(shù);若是處理時,選空表、滿表、典型表。1、用戶注冊的用戶名測試表5.1用戶名等價類表輸入條件有效等價類無效等價類用戶名組成以數(shù)字或字母構(gòu)成(1)非數(shù)字、非字母(2)用戶名位數(shù)字符個數(shù)4-8個(3)字符個數(shù)為0個(4)字符個數(shù)小于4(5)字符個數(shù)大于10(6)測試用例:輸入測試數(shù)據(jù):debing預(yù)期結(jié)果:有效(包含有效等價類(1)(3))輸入測試數(shù)據(jù):#@123,0123456789預(yù)期結(jié)果:無效(包含無效等價類(2)(3))解決方法:將特殊字符進行過濾,使用戶不能輸入不符合要求的字符,并在輸入無效時給出提示信息。2、會員注冊模塊的E-mail賬號測試表5.2E-mail等價類表輸入條件有效等價類無效等價類E-mail組成數(shù)字,字母,特殊符號@(1)不包含@(2)E-mail結(jié)尾以.com或.cn結(jié)尾(3)非.com或.cn結(jié)尾(4)測試用例:輸入測試數(shù)據(jù):debing87_chin@預(yù)期結(jié)果:有效(包含有效等價類(1)(3))輸入測試數(shù)據(jù):debing87_預(yù)期結(jié)果:無效(包含無效等價類(2))輸入測試數(shù)據(jù):debing87_chin@hotmail預(yù)期結(jié)果:無效(包含無效等價類(4))5.4軟件可靠性5.4.1基本定義1.軟件可靠性的定義對于軟件可靠性有許多不同的定義,其中多數(shù)人承認的一個定義是:軟件可靠性是程序在給定的時間間隔內(nèi),按照規(guī)格說明書的規(guī)定成功運行的概率。在上述定義中包含的隨機變量是時間間隔。顯然,隨著運行時間的增加,運行時遇到程序錯誤的概率也將增加,即可靠性隨著給定的時間間隔的加大而減少。根據(jù)IEEE的規(guī)定,術(shù)語“錯誤”的含義是由開發(fā)人員造成的軟件差錯(bug),而術(shù)語“故障”的含義是由錯誤引起的軟件的不正確行為。在下面的論述中,將按照IEEE規(guī)定的含義使用這兩個術(shù)語。2.軟件的可用性通常用戶也很關(guān)注軟件系統(tǒng)可以使用的程度。一般來說,對于任何其故障是可以修復(fù)的系統(tǒng),都應(yīng)該同時使用可靠性和可用性衡量它的優(yōu)劣程度。軟件可用性的一個定義是:軟件可用性是程序在給定的時間點,按照規(guī)格說明書的規(guī)定,成功地運行的概率??煽啃院涂捎眯灾g的主要差別是可靠性意味著在0到t這段時間間隔內(nèi)系統(tǒng)沒有失效,而可用性只意味著在時刻t,系統(tǒng)是正常運行的。因此,如果在時刻t系統(tǒng)是可用的,則有下述種種可能:在0到t這段時間內(nèi),系統(tǒng)一直沒失效(可靠);在這段時間內(nèi)失效了一次,但是又修復(fù)了;在這段時間內(nèi)失效了兩次修復(fù)了兩次如此反復(fù)進行。如果在一段時間內(nèi),軟件系統(tǒng)故障停機時間分別為td1,td2…,正常運行時間分別為:tu1,tu2….,則系統(tǒng)的穩(wěn)態(tài)可用性,如式(5.1)所示。Ass=Tup/(Tup+Tdown)(5.1)Tup為成功運行的時間總和;Tdown為失敗的時間總和。如果引人系統(tǒng)平均無故障時間MTTF和平均維修時間MTTR的概念,則(5.1)式將會改變,如式(5.2)所示。Ass=MTTF/(MTTF+MTTR)(5.2)平均維修時間MTTR的是修復(fù)一個故障平均需要用的時間,它取決于維護人員的技術(shù)水平和對系統(tǒng)的熟悉程度,也和系統(tǒng)的可維護性有重要關(guān)系。平均無故障時間MTTF是系統(tǒng)按規(guī)格說明書規(guī)定成功地運行的平均時間,它主要取決于系統(tǒng)中潛伏的錯誤的數(shù)目,因此和測試的關(guān)系十分密切。5.4.2估算平均無故障時間的方法軟件的平均無故障時間MTTF是一個重要的質(zhì)量指標,往往作為對軟件的一項要求,由用戶提出來。為了估算MTTF,首先引入一些有關(guān)的量。在估算MTTF的過程中使用下述符號表示有關(guān)的數(shù)量:——————測試之前程序中錯誤總數(shù);——————程序長度(機器指令總數(shù));————————測試(包括調(diào)試)時間;——————在0至期間發(fā)現(xiàn)的錯誤數(shù);————在0至期間改正的錯誤數(shù);經(jīng)驗表明,平均無故障時間與單位長度程序中剩余的錯誤數(shù)成反比,如式(5.3)所示。MTTF=1/(K*(Et/It-Ec/It))(5.3)K為常數(shù)200;It為程序長度;Et為測試之前程序中錯誤總數(shù);Ed發(fā)現(xiàn)的錯誤數(shù);Ec改正的錯誤數(shù)。5.4.3MTTF和ASS的估算對網(wǎng)上圖書銷售系統(tǒng)進行為期7天的集成測試,平均每天測試4個小時。在測試期間記錄了數(shù)據(jù)如下:(1)在測試之前沒有發(fā)現(xiàn)任何錯誤。(2)程序中指令的長度為10000行。(3)測試了7天每天4個小時共28小時。期間維護共花了2小時(4)在測試期間共發(fā)現(xiàn)在24條錯誤,改正了20條。綜合上述測試數(shù)據(jù),公式(5.1)及(5.2)得該系統(tǒng)的穩(wěn)態(tài)可用性為:Ass=MTTF/(MTTF+MTTR)=28/(28+2)=0.93根據(jù)式5.3可計算系統(tǒng)的平均無故障工件時間。MTTF=1/(200*(24/10000-20/10000))=12.5小時結(jié)論經(jīng)過一段的市場調(diào)研,需求分析,程序的設(shè)計和編寫。網(wǎng)上圖書銷售系統(tǒng)已經(jīng)開發(fā)完成。其功能已經(jīng)能基本上滿足賣書者和購書者的日常需求,完成瀏覽到購買的一系列活動。網(wǎng)上圖書銷售系統(tǒng)能夠輕松的節(jié)省購書者和管理員的購書和管理的工作時間。提高了生活的效率和質(zhì)量。系統(tǒng)使用了前臺和后臺管理形式,前臺用戶登錄后可以購買圖書,對書籍進行評論,查看圖書信息,瀏覽網(wǎng)站新聞等等,一些只需要簡單的操作即可完成的任務(wù)。后臺圖書管理員可以對圖書進行增刪改查,對新聞進行增刪,對訂單進行管理,對用戶信息進行管理等等。總體來說,本系統(tǒng)能夠完成圖書銷售所有基本功能,使用本系統(tǒng)來管理書店和傳統(tǒng)的銷售模式相比,前者毫無疑問會大大提高書店的運行效率,能夠提高書店的管理水平,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO 17831-2:2025 EN Solid biofuels - Determination of mechanical durability of pellets and briquettes - Part 2: Briquettes
- 【正版授權(quán)】 ISO 15237:2025 EN Coal - Determination of total mercury
- 【正版授權(quán)】 IEC 62608-1:2025 RLV EN Multimedia home network configuration - Basic reference model - Part 1: System model
- 【正版授權(quán)】 ISO 13909-4:2025 EN Coal and coke - Mechanical sampling - Part 4: Preparation of test samples of coal
- 校園應(yīng)急知識培訓(xùn)課件作文
- 債務(wù)規(guī)劃面試題及答案
- 教師業(yè)務(wù)考試題及答案
- 云南b類面試題及答案
- 砌磚工程試題及答案
- 幼兒英語考試試題及答案
- 30道醫(yī)院婦產(chǎn)科醫(yī)生崗位高頻面試問題附考察點及參考回答
- 設(shè)計單位工程質(zhì)量檢查報告(合格證明書)
- (完整word版)中國銀行交易流水明細清單模版
- 怎么點評施工方案好壞
- 食品安全責(zé)任保險課件
- 塑膠模具類中英文對照專業(yè)術(shù)語
- 安全- 中國移動認證考試L1題庫(附答案)
- 干部民主推薦表(樣式)
- 平面磨床操作時注意事項
- GB/T 29651-2013錳礦石和錳精礦全鐵含量的測定火焰原子吸收光譜法
- GB/T 13275-1991一般用途離心通風(fēng)機技術(shù)條件
評論
0/150
提交評論