個(gè)人網(wǎng)店及手機(jī)客戶端設(shè)計(jì)與開發(fā)課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  計(jì) 算 機(jī) 與 信 息 工 程 學(xué) 院</p><p>  軟硬件專業(yè)綜合課程設(shè)計(jì)總結(jié)報(bào)告</p><p>  題目: 個(gè)人網(wǎng)店及手機(jī)客戶端設(shè)計(jì)與開發(fā) </p><p>  姓 名: </p><p>  學(xué) 號(hào): </p&g

2、t;<p>  專 業(yè): </p><p>  指導(dǎo)教師: </p><p>  起止日期: 12.11.26—13.01.20 </p><p>  計(jì) 算 機(jī) 與 信 息 工 程 學(xué) 院</p><p>  軟硬件專業(yè)綜合課程設(shè)計(jì)任務(wù)書</p

3、><p><b>  目 錄</b></p><p><b>  1 引言1</b></p><p><b>  2 需求分析1</b></p><p>  2.1 數(shù)據(jù)流圖1</p><p>  2.2 數(shù)據(jù)字典2</p><

4、p><b>  3 系統(tǒng)設(shè)計(jì)4</b></p><p>  3.1 系統(tǒng)架構(gòu)設(shè)計(jì)4</p><p>  3.2 系統(tǒng)功能模塊劃分4</p><p>  3.3 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)5</p><p><b>  4 系統(tǒng)實(shí)現(xiàn)7</b></p><p>  4.1 前

5、臺(tái)功能7</p><p>  4.1.1 會(huì)員注冊(cè)登錄7</p><p>  4.1.2 商品展示9</p><p>  4.1.3 商品搜索10</p><p>  4.1.4 商品評(píng)論11</p><p>  4.1.5 網(wǎng)站公告12</p><p>  4.1.6 個(gè)人信息更改

6、12</p><p>  4.1.7 地址簿管理13</p><p>  4.1.8 訂單明細(xì)查詢14</p><p>  4.1.9 購(gòu)物車管理16</p><p>  4.2 后臺(tái)功能17</p><p>  4.2.1 用戶登錄與后臺(tái)管理17</p><p>  4.2.2 商

7、品管理18</p><p>  4.2.3 商品類別管理19</p><p>  4.2.4 商品評(píng)論管理19</p><p>  4.2.5 網(wǎng)站公告管理20</p><p>  4.2.6 訂單管理21</p><p>  4.2.7 會(huì)員檔案管理21</p><p>  4.2

8、.8 管理員密碼修改22</p><p><b>  5 系統(tǒng)測(cè)試23</b></p><p>  5.1 測(cè)試基本要求23</p><p>  5.1.1 內(nèi)容檢查23</p><p>  5.1.2 鏈接檢查23</p><p>  5.1.3 易用性測(cè)試23</p>

9、<p>  5.1.4 功能檢查23</p><p>  5.1.5 容錯(cuò)性測(cè)試24</p><p>  5.2 測(cè)試舉例24</p><p>  5.2.1 輸入域測(cè)試24</p><p>  5.2.2 頁(yè)面控件檢查25</p><p>  5.2.3 功能測(cè)試25</p>&

10、lt;p><b>  6 總結(jié)27</b></p><p><b>  7 參考文獻(xiàn)27</b></p><p><b>  1 引言</b></p><p>  隨著信息化的進(jìn)一步普及,以及物流業(yè)務(wù)的發(fā)展使得人們坐在家中即可貨比三家,從互聯(lián)網(wǎng)中找到自己心儀的商品,而且不必再考慮擁堵的交通,

11、業(yè)務(wù)員喋喋不休的推銷,往往在轉(zhuǎn)悠了一天后才能選到自己認(rèn)為還算滿意的商品,而在電子商城中,人們通過檢索可以輕易找到自己想要產(chǎn)品的型號(hào),大小,價(jià)位,可以在成千上萬(wàn)中商品中間挑選,對(duì)比;并且網(wǎng)絡(luò)的評(píng)價(jià)功能,銷售指數(shù)的公開,賣家信譽(yù)指數(shù)等都可成為買家購(gòu)買商品參考的信息。</p><p>  現(xiàn)在正是移動(dòng)互聯(lián)網(wǎng)處于起步發(fā)展階段,智能機(jī)的普及,是人們可以隨時(shí)隨地通過手機(jī)在網(wǎng)絡(luò)上挑選自己的商品,賣家也可以隨時(shí)隨地只用一部手機(jī)即

12、可及時(shí)處理與買家的溝通,不必時(shí)時(shí)刻刻等在電腦旁邊,將電子商城和手機(jī)客戶端結(jié)合之后可以提高賣家的工作效率,方面買家搶購(gòu)自己心儀的商品,市場(chǎng)前景非常明朗。</p><p>  網(wǎng)上購(gòu)物是一個(gè)電子商務(wù)平臺(tái)。對(duì)于消費(fèi)者來(lái)說(shuō),可以在家“逛商店”,訂貨不受時(shí)間的限制;獲得較大量的商品信息,可以買到當(dāng)?shù)貨]有的商品;網(wǎng)上支付較傳統(tǒng)拿現(xiàn)金支付更加安全,可避免現(xiàn)金丟失或遭到搶劫; 從訂貨、買貨到貨物上門無(wú)需親臨現(xiàn)場(chǎng),既省時(shí)又省力;由

13、于網(wǎng)上商品省去租店面、召雇員及儲(chǔ)存保管等一系列費(fèi)用,總的來(lái)說(shuō)其價(jià)格較一般商場(chǎng)的同類商品更便宜。對(duì)于商家來(lái)說(shuō),網(wǎng)上購(gòu)物是宣傳企業(yè)形象的一種強(qiáng)有力的手段,是一種廉價(jià)高效的方式。其優(yōu)勢(shì)在于發(fā)布信息及時(shí)、準(zhǔn)確,圖文并茂,及時(shí)刷新。任何新登商品和促銷、廣告信息都可以在第一時(shí)間呈現(xiàn)在消費(fèi)者面前。消費(fèi)者與商家之間可以實(shí)現(xiàn)及時(shí)互動(dòng),商家可以了解到市場(chǎng)的最新需求。對(duì)于整個(gè)市場(chǎng)經(jīng)濟(jì)來(lái)說(shuō),這種新型的購(gòu)物模式可在更大的范圍內(nèi)、更多的層面上以更高的效率實(shí)現(xiàn)資源配

14、置。</p><p><b>  2 需求分析</b></p><p>  本系統(tǒng)總體目標(biāo)是為了實(shí)現(xiàn)產(chǎn)品的隨時(shí)隨地在線購(gòu)物。通過系統(tǒng)實(shí)現(xiàn)網(wǎng)上購(gòu)物的多項(xiàng)功能,其中主要是管理員對(duì)商品的管理實(shí)現(xiàn)和用戶的購(gòu)物的實(shí)現(xiàn)。用戶在線瀏覽所有商品,按需求搜索相關(guān)商品,以及注冊(cè)為會(huì)員后對(duì)商品選購(gòu)的操作,購(gòu)物結(jié)束后生成訂單。管理員則可對(duì)商品的添加,對(duì)商品的歸類,對(duì)用戶購(gòu)物訂單進(jìn)行處理,以及

15、管理員對(duì)網(wǎng)站進(jìn)行維護(hù)操作。</p><p><b>  2.1 數(shù)據(jù)流圖</b></p><p>  數(shù)據(jù)流圖(DFD----Data Flow Diagram)是描繪系統(tǒng)的邏輯模型,圖中沒有任何具體的物理元素,只是描繪信息在系統(tǒng)中流動(dòng)和處理的情況,就是采用圖形方式來(lái)表示系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過程。</p><p>

16、  1、系統(tǒng)頂層數(shù)據(jù)流圖(如圖2-1所示)。</p><p>  圖2-1 頂層數(shù)據(jù)流圖</p><p>  2、會(huì)員子系統(tǒng)數(shù)據(jù)流圖(如圖2-2所示)。</p><p>  圖2-2 會(huì)員子系統(tǒng)數(shù)據(jù)流圖</p><p>  圖2-3 管理員子系統(tǒng)數(shù)據(jù)流圖</p><p>  3、管理員子系統(tǒng)數(shù)據(jù)流圖(如圖2-3所示)。

17、</p><p><b>  2.2 數(shù)據(jù)字典</b></p><p>  數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對(duì)數(shù)據(jù)流圖中包含的所有元素的定義的集合。數(shù)據(jù)字典的作用是在軟件的分析和設(shè)計(jì)過程中提供關(guān)于數(shù)據(jù)的描述信息。一般說(shuō)來(lái),數(shù)據(jù)字典應(yīng)該由下列四類元素構(gòu)成:數(shù)據(jù)元素,數(shù)據(jù)流,數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)處理。</p><p>  數(shù)據(jù)存儲(chǔ)是數(shù)據(jù)結(jié)構(gòu)停留或保

18、存的地方,也是數(shù)據(jù)流的來(lái)源和去向之一。本系統(tǒng)所涉及到的數(shù)據(jù)存儲(chǔ)表如表2-1至表2-9所示。</p><p>  表2-1 數(shù)據(jù)存儲(chǔ)之會(huì)員信息表</p><p>  表2-2 數(shù)據(jù)存儲(chǔ)之管理員信息表</p><p>  表2-3 數(shù)據(jù)存儲(chǔ)之商品信息表</p><p>  表2-4 數(shù)據(jù)存儲(chǔ)之商品類別信息表</p><p>

19、;  表2-5 數(shù)據(jù)存儲(chǔ)之商品評(píng)論信息表</p><p>  表2-6 數(shù)據(jù)存儲(chǔ)之訂單信息表</p><p>  表2-7 數(shù)據(jù)存儲(chǔ)之地址簿信息表</p><p>  表2-8 數(shù)據(jù)存儲(chǔ)之網(wǎng)站公告信息表</p><p>  表2-9 數(shù)據(jù)存儲(chǔ)之購(gòu)物車信息表</p><p><b>  3 系統(tǒng)設(shè)計(jì)</b

20、></p><p>  3.1 系統(tǒng)架構(gòu)設(shè)計(jì)</p><p>  本系統(tǒng)采用三層架構(gòu)設(shè)計(jì),將整個(gè)業(yè)務(wù)應(yīng)用劃分為表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層三層。</p><p>  數(shù)據(jù)訪問層DAL:用于實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的交互和訪問,從數(shù)據(jù)庫(kù)獲取數(shù)據(jù)或保存數(shù)據(jù)到數(shù)據(jù)庫(kù)的部分。</p><p>  業(yè)務(wù)邏輯層BLL:業(yè)務(wù)邏輯層承上啟下,用于對(duì)上下交互的數(shù)據(jù)

21、進(jìn)行邏輯處理,實(shí)現(xiàn)業(yè)務(wù)目標(biāo)。</p><p>  表示層UI:主要實(shí)現(xiàn)和用戶的交互,接收用戶請(qǐng)求或返回用戶請(qǐng)求的數(shù)據(jù)結(jié)果的展現(xiàn),而具體的數(shù)據(jù)處理則交給業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層去處理。</p><p>  三層架構(gòu)是將系統(tǒng)按其作用分成三部分,每部分解決自己負(fù)責(zé)的流程。三層架構(gòu)的功用之處,在于駕馭大型web程序的結(jié)構(gòu),使之便于管理和擴(kuò)展。</p><p>  3.2 系統(tǒng)

22、功能模塊劃分</p><p>  系統(tǒng)功能模塊圖如圖3-1所示。</p><p>  圖3-1 系統(tǒng)功能模塊圖</p><p>  3.3 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)</p><p>  本系統(tǒng)采用SQL Server 2005建立和維護(hù)數(shù)據(jù)庫(kù),系統(tǒng)中共有兩個(gè)數(shù)據(jù)庫(kù):商城數(shù)據(jù)庫(kù)(B2C)和微軟實(shí)例數(shù)據(jù)庫(kù)(aspnetdb)。它們的任務(wù)分別為:存儲(chǔ)商品信息

23、、商品類型信息、商品評(píng)論信息、訂單信息、訂單詳情信息、訂單狀態(tài)信息、會(huì)員信息、地址薄信息、管理員信息、公告信息;存儲(chǔ)購(gòu)物車信息。</p><p>  電子商城數(shù)據(jù)庫(kù)包含以下10個(gè)表:商品表(Commodity)、商品類型表(CommodityType)、商品評(píng)論表(CommodityComment)、會(huì)員表(Users)、地址薄表(Address)、訂單表(Orders)、訂單詳情表(OrderDetail)、訂

24、單狀態(tài)表(OrderState)、管理員表(Admin)、公告表(News)。</p><p> ?。?)會(huì)員表(Users)用于記錄會(huì)員的基本信息,包括會(huì)員編號(hào)、郵箱地址、會(huì)員密碼、真實(shí)姓名。其中會(huì)員編號(hào)為主鍵。會(huì)員表結(jié)構(gòu)如圖3-2所示。</p><p><b>  圖3-2 會(huì)員表</b></p><p>  (2)地址薄表(Address

25、)用于記錄會(huì)員所購(gòu)買商品的配送地址信息,包括地址編號(hào)、郵箱地址、收貨人、郵寄地址、郵政編碼、聯(lián)系方式。其中地址編號(hào)為主鍵。地址薄表結(jié)構(gòu)如圖3-3所示。</p><p><b>  圖3-3 地址薄表</b></p><p>  (3)管理員表(Admin)用于記錄后臺(tái)管理員的基本信息,包括管理員編號(hào)、管理員名、管理員密碼。其中管理員編號(hào)為主鍵。管理員表結(jié)構(gòu)如圖3-4所

26、示。</p><p><b>  圖3-4 管理員表</b></p><p>  (4)公告表(News)用于記錄網(wǎng)站的公告信息,包括公告編號(hào)、公告標(biāo)題、公告內(nèi)容、公告來(lái)源、公告瀏覽量、公告發(fā)布時(shí)間。其中公告編號(hào)為主鍵。公告表結(jié)構(gòu)如圖3-5所示。</p><p><b>  圖3-5 公告表</b></p>

27、<p>  (5)商品表(Commodity)用于記錄購(gòu)物網(wǎng)站的商品信息,包括商品編號(hào)、商品名、商品類型編號(hào)、商品描述、商品市場(chǎng)價(jià)、商品會(huì)員價(jià)、商品售出量、商品圖片、商品瀏覽量、商品發(fā)布時(shí)間。其中商品編號(hào)為主鍵。商品表結(jié)構(gòu)如圖3-6所示。</p><p><b>  圖3-6 商品表</b></p><p>  (6)商品類型表(CommodityType)

28、用于記錄商品的類別信息,包括商品類型編號(hào)、商品類型名、父類型編號(hào)。其中商品類型編號(hào)為主鍵。商品類型表結(jié)構(gòu)如圖3-7所示。</p><p>  圖3-7 商品類型表</p><p>  (7)商品評(píng)論表(CommodityComment)用于會(huì)員對(duì)商品的評(píng)論信息,包括商品評(píng)論編號(hào)、商品編號(hào)、評(píng)論人、評(píng)論級(jí)別、評(píng)論內(nèi)容、評(píng)論時(shí)間。其中商品評(píng)論編號(hào)為主鍵。商品評(píng)論表結(jié)構(gòu)如圖3-8所示。</

29、p><p>  圖3-8 商品評(píng)論表</p><p>  (8)訂單狀態(tài)表(OrderState)用于記錄訂單的狀態(tài)信息、包括訂單狀態(tài)編號(hào)、訂單狀態(tài)名。其中訂單狀態(tài)編號(hào)為主鍵。訂單狀態(tài)表結(jié)構(gòu)如圖3-9所示。</p><p>  圖3-9 訂單狀態(tài)表</p><p>  (9)訂單表(Orders)用于記錄會(huì)員在購(gòu)物網(wǎng)站所下發(fā)訂單信息,包括訂單編號(hào)

30、、訂單人、地址編號(hào)、訂單總價(jià)、訂單時(shí)間、訂單狀態(tài)、郵寄類型、訂單號(hào)。其中訂單編號(hào)為主鍵。訂單表結(jié)構(gòu)如圖3-10所示。</p><p><b>  圖3-10 訂單表</b></p><p>  (10)訂單詳情表(OrderDetail) 用于記錄每個(gè)訂單的詳細(xì)購(gòu)物信息,包括訂單詳情編號(hào)、訂單號(hào)、商品編號(hào)、商品購(gòu)買量。其中訂單詳情編號(hào)為主鍵。訂單詳情表結(jié)構(gòu)如圖3-11

31、所示。</p><p>  圖3-11 訂單詳情表</p><p><b>  4 系統(tǒng)實(shí)現(xiàn)</b></p><p><b>  4.1搖號(hào)抽獎(jiǎng)</b></p><p><b>  代碼實(shí)現(xiàn):</b></p><p>  AppDelegate.h<

32、;/p><p>  #import <UIKit/UIKit.h></p><p>  @interface AppDelegate : UIResponder <UIApplicationDelegate></p><p><b>  {</b></p><p>  BOOL isRuning;&l

33、t;/p><p><b>  }</b></p><p>  @property (strong, nonatomic) UIWindow *window;</p><p><b>  @end</b></p><p>  AppDelegate.m</p><p>  #imp

34、ort "AppDelegate.h"</p><p>  @implementation AppDelegate</p><p>  @synthesize window = _window;</p><p>  - (void)dealloc</p><p><b>  {</b></p&g

35、t;<p>  [_window release];</p><p>  [super dealloc];</p><p><b>  }</b></p><p>  - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NS

36、Dictionary *)launchOptions</p><p><b>  {</b></p><p>  self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];</p><p>  UILabel * myL

37、able = [[UILabel alloc]initWithFrame:CGRectMake(0, 20, 320, 320)];</p><p>  myLable.tag = 101;</p><p>  myLable.text = @"0";</p><p>  myLable.font = [UIFont systemFontOfSi

38、ze:66];</p><p>  myLable.textAlignment = UITextAlignmentCenter;</p><p>  myLable.backgroundColor = [UIColor yellowColor];</p><p>  myLable.textColor = [UIColor blackColor];</p>

39、;<p>  [self.window addSubview:myLable];</p><p>  [myLable release];</p><p>  UIButton * startButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];</p><p>  [startButto

40、n setTitle:@"開始" forState:UIControlStateNormal];</p><p>  startButton.frame= CGRectMake(20, 300, 120, 120);</p><p>  [self.window addSubview:startButton];</p><p>  [startB

41、utton addTarget:self action:@selector(startCount:) forControlEvents:UIControlEventTouchUpInside];</p><p>  UIButton * stopButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];</p><p>  sto

42、pButton.frame = CGRectMake(180, 300, 120, 120);</p><p>  [stopButton setTitle:@"停止" forState:UIControlStateNormal];</p><p>  [self.window addSubview:stopButton];</p><p>  

43、[stopButton addTarget:self action:@selector(stopCount:) forControlEvents:UIControlEventTouchUpInside];</p><p>  // Override point for customization after application launch.</p><p>  self.window

44、.backgroundColor = [UIColor whiteColor];</p><p>  [self.window makeKeyAndVisible];</p><p>  return YES;</p><p><b>  }</b></p><p>  -(void)startCount:(id)sen

45、der{</p><p>  [NSTimer scheduledTimerWithTimeInterval:0.02 target:self selector:@selector(changeNumber) userInfo:nil repeats:YES];</p><p>  isRuning = true;</p><p><b>  }</

46、b></p><p>  -(void)changeNumber{</p><p>  UILabel *myLable =(UILabel *) [self.window viewWithTag:101];</p><p>  if(isRuning == true)</p><p><b>  {</b><

47、;/p><p>  int number = arc4random()%42+1;</p><p>  myLable.text = [NSString stringWithFormat:@"%d",number];</p><p><b>  }</b></p><p><b>  }<

48、/b></p><p>  -(void)stopCount:(id)sender{</p><p>  isRuning = false;</p><p><b>  }</b></p><p><b>  main.m</b></p><p>  #import &

49、lt;UIKit/UIKit.h></p><p>  #import "AppDelegate.h"</p><p>  int main(int argc, char *argv[])</p><p><b>  {</b></p><p>  @autoreleasepool {</

50、p><p>  return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  4.

51、2 收益計(jì)算器</b></p><p><b>  代碼實(shí)現(xiàn)</b></p><p>  AppDelegate.h</p><p>  #import <UIKit/UIKit.h></p><p>  @interface AppDelegate : UIResponder <UIApp

52、licationDelegate></p><p><b>  {</b></p><p>  UILabel * screen;</p><p>  int result;</p><p>  char sign;</p><p><b>  }</b><

53、/p><p>  @property (strong, nonatomic) UIWindow *window;</p><p><b>  @end</b></p><p>  AppDelegate.m</p><p>  -(void)press:(UIButton * )thisButton{</p>

54、<p>  NSMutableString * title = [[NSMutableString alloc]initWithString:screen.text];</p><p>  //UIButton * theButton = (UIButton*)[self.window viewWithTag:thisButton.tag];</p><p>  NSString

55、 * title1 =[[NSString alloc]initWithString: thisButton.currentTitle];</p><p>  int sum = [title intValue];</p><p>  if([title1 isEqualToString:@"+"])</p><p><b>  {&

56、lt;/b></p><p>  result = sum;</p><p>  [title setString:@"0"];</p><p>  sign = '+';</p><p><b>  }</b></p><p>  else if([ti

57、tle1 isEqualToString:@"-"])</p><p><b>  {</b></p><p>  result = sum;</p><p>  [title setString:@"0"];</p><p>  sign = '-';</p

58、><p><b>  }</b></p><p>  else if([title1 isEqualToString:@"*"])</p><p><b>  {</b></p><p>  result = sum;</p><p>  [title set

59、String:@"0"];</p><p>  sign = '*';</p><p><b>  }</b></p><p>  else if([title1 isEqualToString:@"/"])</p><p><b>  {</b&g

60、t;</p><p>  result = sum;</p><p>  [title setString:@"0"];</p><p>  sign = '/';</p><p><b>  }</b></p><p>  else if([title1 is

61、EqualToString:@"0"])</p><p><b>  {</b></p><p>  if(sum != 0)</p><p>  [title appendFormat:@"0"];</p><p><b>  else</b></p&

62、gt;<p>  [title setString:@"0"];</p><p><b>  }</b></p><p>  else if([title1 isEqualToString:@"C"])</p><p><b>  {</b></p>&l

63、t;p><b>  sum = 0; </b></p><p>  result = 0;</p><p>  [title setString:@"0"];</p><p>  sign = ' ';</p><p><b>  }</b></p&g

64、t;<p>  else if ([title1 isEqualToString:@"="])</p><p><b>  {</b></p><p>  if(sign == '+')</p><p>  result += sum;</p><p>  else if

65、(sign == '-')</p><p>  result -= sum;</p><p>  else if(sign == '*')</p><p>  result *= sum;</p><p>  else if(sign == '/')</p><p>  

66、result /=sum;</p><p><b>  else</b></p><p>  result = sum;</p><p>  title = [[NSMutableString alloc]initWithFormat:@"%d",result];</p><p><b> 

67、 }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  if(sum != 0)</p><p>  [title appendFormat:title1];</p><p><b>  e

68、lse</b></p><p>  [title setString:title1]; </p><p><b>  }</b></p><p>  screen.text = title;</p><p><b>  }</b></p><p>  - (BOO

69、L)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions</p><p><b>  {</b></p><p>  self.window = [[[UIWindow alloc] initWithFrame:[[UIS

70、creen mainScreen] bounds]] autorelease];</p><p>  screen = [[UILabel alloc]initWithFrame:CGRectMake(10, 25, 300, 40)];</p><p>  screen.backgroundColor = [UIColor lightGrayColor];</p><

71、p>  screen.text = @"0";</p><p>  [self.window addSubview:screen];</p><p>  [screen release];</p><p>  screen.textAlignment = UITextAlignmentRight;</p><p> 

72、 UIButton *button;</p><p>  for(int i=0;i<4;i++)</p><p>  for(int j=0;j<4;j++)</p><p><b>  {</b></p><p>  button = [UIButton buttonWithType:UIButtonTy

73、peRoundedRect];</p><p>  [self.window addSubview:button];</p><p>  NSString * title ;</p><p><b>  if(i==3)</b></p><p><b>  {</b></p><

74、p><b>  if(j==0)</b></p><p>  title = @"+";</p><p>  else if(j==1)</p><p>  title = @"-";</p><p>  else if(j==2)</p><p> 

75、 title = @"*";</p><p>  else if(j==3)</p><p>  title = @"/";</p><p><b>  }</b></p><p>  else if(j==3)</p><p><b>  {&l

76、t;/b></p><p><b>  if(i==0)</b></p><p>  title = @"C";</p><p>  else if(i==1)</p><p>  title = @"0";</p><p>  else if(i==

77、2)</p><p>  title =@"=";</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  int value = 3*j+i+

78、1;</p><p>  title = [NSString stringWithFormat:@"%d",value];</p><p><b>  }</b></p><p>  [button setTitle:title forState:UIControlStateNormal];</p><p

79、>  int button_x=0;</p><p>  int button_y=0;</p><p>  button.frame = CGRectMake(button_x+(i)*10+i*60+25, button_y+80+j*60+j*20, 60, 60);</p><p>  NSInteger tagValue = [title integ

80、erValue];</p><p>  button.tag = tagValue;</p><p>  [button addTarget:self action:@selector(press:) forControlEvents:UIControlEventTouchUpInside];</p><p><b>  } </b></

81、p><p>  // Override point for customization after application launch.</p><p>  self.window.backgroundColor = [UIColor whiteColor];</p><p>  [self.window makeKeyAndVisible];</p>

82、<p>  return YES;</p><p><b>  }</b></p><p><b>  5 系統(tǒng)測(cè)試</b></p><p>  5.1 測(cè)試基本要求</p><p>  5.1.1 內(nèi)容檢查</p><p>  1. 檢查整個(gè)頁(yè)面的布局,檢查是否完

83、整;</p><p>  2. 檢查有無(wú)被覆蓋的文字或其他顯示對(duì)象;</p><p>  3. 檢查有無(wú)超出邊界范圍的控件;</p><p>  4. 通讀頁(yè)面上所有文字,檢查有無(wú)錯(cuò)字、漏字、拼寫錯(cuò)誤;</p><p>  5. 在需要大量重復(fù)測(cè)試的頁(yè)面,布局、顯示方面只需要測(cè)一次;</p><p>  5.1.2 鏈

84、接檢查</p><p>  1. 該頁(yè)面是否正常下載并顯示;</p><p>  2. 頁(yè)面上是否頁(yè)面上所有的對(duì)象都可加載;</p><p>  3. 頁(yè)面加載的時(shí)間能否可接受嗎,如果時(shí)間太長(zhǎng),請(qǐng)記錄;</p><p>  4. 檢查頁(yè)面上的所有連接,檢查連接是否可工作,連接到的頁(yè)面正確性;</p><p>  5.

85、每個(gè)頁(yè)面的加載霎時(shí)間是配置測(cè)試的責(zé)任,但如果發(fā)現(xiàn)不正常,可記錄。</p><p>  5.1.3 易用性測(cè)試</p><p>  1. 所使用的語(yǔ)言是否明白易懂;</p><p>  2. 命令、提示、信息是否具有協(xié)調(diào)的含義;</p><p>  3. 用戶是否總是可以知道自己所處的位置;</p><p>  4. 用

86、戶是否總是可以知道系統(tǒng)當(dāng)前的狀態(tài);</p><p>  5. 導(dǎo)航是否方便;</p><p>  6. 操作是否方便;</p><p>  7. 輸入域上必填的域是否有特別的提示;</p><p>  8. 只要可能的話,系統(tǒng)應(yīng)提供缺省值;</p><p>  9. 當(dāng)輸入錯(cuò)誤時(shí)是否清楚地表示出錯(cuò)誤的信息等一切認(rèn)為可以

87、不方便使用而可進(jìn)一步改進(jìn)的地方。</p><p>  5.1.4 功能檢查</p><p>  檢查是否有功能缺漏,典型的功能是:</p><p>  前臺(tái)功能模塊有會(huì)員注冊(cè)登錄、商品展示、商品搜索、商品評(píng)論、網(wǎng)站公告、購(gòu)物車管理、個(gè)人信息更改、地址簿管理、訂單明細(xì)查詢。</p><p>  后臺(tái)功能模塊有登錄程序設(shè)計(jì)與管理主頁(yè)面、商品管理、

88、商品類別管理、商品評(píng)論管理、網(wǎng)站公告管理、訂單管理、會(huì)員檔案管理、管理員密碼更改。</p><p>  對(duì)每個(gè)功能,要求測(cè)試以下方面:</p><p>  1. 檢查輸入域,包括有效輸入和無(wú)效輸入;</p><p>  2. 選擇不同的設(shè)置;</p><p>  3. 檢查功能是否正確實(shí)現(xiàn);</p><p>  4.

89、檢查輸出是否正常;</p><p>  5. 檢查所有功能/業(yè)務(wù)流程。</p><p>  5.1.5 容錯(cuò)性測(cè)試</p><p>  容錯(cuò)性測(cè)試和功能測(cè)試的一部分,可以檢查系統(tǒng)對(duì)合法輸入的處理能力,即檢查在正常情況下功能是否能夠?qū)崿F(xiàn),即為功能測(cè)試。檢查系統(tǒng)對(duì)非法輸入的處理能力,即檢查在非正常情況下系統(tǒng)是否能夠正確地處理,即為容錯(cuò)性測(cè)試。其主要檢查:</p&g

90、t;<p>  1. 用戶輸入出錯(cuò)時(shí)系統(tǒng)是否能夠識(shí)別。</p><p>  2. 系統(tǒng)是否能夠處理所發(fā)生的錯(cuò)誤而不會(huì)使功能失效。</p><p>  3. 系統(tǒng)是否能夠給用戶以提示,說(shuō)明發(fā)生的錯(cuò)誤。</p><p><b>  5.2 測(cè)試舉例</b></p><p>  5.2.1 輸入域測(cè)試</p

91、><p>  輸入域測(cè)試如表5-1所示。</p><p><b>  表5-1 測(cè)試表</b></p><p>  5.2.2 頁(yè)面控件檢查</p><p>  頁(yè)面控件檢查如表5-2所示:</p><p>  表5-2 控件檢查表</p><p>  5.2.3 功能測(cè)試&l

92、t;/p><p>  1、前臺(tái)功能測(cè)試如表5-3所示:</p><p>  表5-3 前臺(tái)功能測(cè)試表</p><p>  2、后臺(tái)功能測(cè)試如表5-4所示:</p><p>  表5-4 后臺(tái)功能測(cè)試表</p><p><b>  6 總結(jié)</b></p><p>  由于時(shí)間緊

93、迫,與客戶交流有些障礙導(dǎo)致功能不夠完善。另外在做需求分析的時(shí)候,由于考慮欠佳,還存在一些小問題。比如管理員在后臺(tái)進(jìn)行登錄時(shí),如果用戶名、密碼錯(cuò)誤,在IE中布局會(huì)發(fā)生錯(cuò)位,而在Firefox中則顯示正常。但是本網(wǎng)站還有不少閃光點(diǎn),例如網(wǎng)站布局合理色調(diào)清新;購(gòu)物車中商品的持久化存儲(chǔ);用戶從匿名身份到實(shí)名身份的轉(zhuǎn)換。</p><p><b>  7 參考文獻(xiàn)</b></p><

94、p>  [1](美)Stephen G.Kochan 著張波 黃湘琴等譯.Objective-2.0程序設(shè)計(jì)(原書第二版).機(jī)械工業(yè)出版社,2011..</p><p>  [2] 施威銘.SQL Server2000中文版設(shè)計(jì)實(shí)務(wù)[M]. 北京:人民郵電出版社, 2001.</p><p>  [3] 張龍祥.UML與系統(tǒng)分析設(shè)計(jì)(第二版) [M]. 北京:人民郵電出版社, 200

95、7.</p><p>  [4] 李代平.軟件工程(第2版)[M]. 北京:清華大學(xué)出版社, 2008.</p><p>  [5] 趙松濤.中文版SQL Server 2000應(yīng)用及實(shí)例集錦[M].北京:人民郵電出版社, 2002. </p><p>  [6] 朱歸良.基于Web的網(wǎng)絡(luò)考試系統(tǒng)安全性研究[M].北京:人民郵電出版社, 2002.</p>

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論