




免費(fèi)預(yù)覽已結(jié)束,剩余10頁(yè)可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
一 需求分析此系統(tǒng)是一個(gè)類似于淘寶網(wǎng)的在線衣服銷售系統(tǒng),相當(dāng)于淘寶網(wǎng)上的一個(gè)專門買衣服的網(wǎng)店,它具有用戶注冊(cè),用戶登錄,修改密碼,顯示系統(tǒng)功能,查看訂購(gòu) 歷史以及訂貨。1.1 需求列表:(1) 用戶管理:用戶管理的需求包括用戶注冊(cè),用戶登錄以及修改密碼。用戶注冊(cè)是添加一個(gè)我們網(wǎng)上衣店的新用戶;用戶登錄是用戶想要進(jìn)入系統(tǒng)時(shí)必須采取驗(yàn)證身份的步驟;修改密碼是為了用戶的安全性考慮,當(dāng)密碼存在不安全的因素時(shí),適時(shí)修改密碼。(2) 商品衣服的管理:商品管理包括訂購(gòu)衣服和查看訂購(gòu)衣服的歷史。訂購(gòu)衣服是當(dāng)我們衣店的庫(kù)存數(shù)量不足時(shí)必須采取的;查看訂購(gòu)衣服的歷史有助于我們更好地了解衣服的訂購(gòu)情況。(3) 顯示系統(tǒng)功能:此功能是用來讓用戶能很清楚地了解此系統(tǒng)所實(shí)現(xiàn)的各種功能。1.2 系統(tǒng)用例圖:精品資料用戶注冊(cè)用戶登錄修改密碼用戶顯示系統(tǒng)功能訂購(gòu)衣服查看訂購(gòu)歷史1.3 用例分析及場(chǎng)景描述: 用戶注冊(cè)用例:這部分主要是新用戶進(jìn)行注冊(cè)的過程,首先用戶進(jìn)入到注冊(cè)頁(yè)面,填寫注冊(cè)信息并提交,如果無誤的話系統(tǒng)會(huì)給予注冊(cè)成功的提示,如果注冊(cè)失敗會(huì)提示注冊(cè)失敗信息。用戶登錄用例:此功能模塊針對(duì)的對(duì)象是本網(wǎng)站的會(huì)員既已經(jīng)注冊(cè)的會(huì)員,會(huì)員首先填寫用戶名和密碼,然后點(diǎn)擊登錄按鈕,如果網(wǎng)站數(shù)據(jù)庫(kù)中存在此會(huì)員并且密碼正確則提示登錄成功提示,如果網(wǎng)站不存在此用戶或密碼不正確,系統(tǒng)會(huì)提示用戶登錄失敗。修改密碼用例:此用例針對(duì)注冊(cè)會(huì)員進(jìn)行操作。用戶登錄成功會(huì)可以進(jìn)入網(wǎng)站主頁(yè)面, 如果用戶想修改密碼的話可以單擊修改密碼按鈕,進(jìn)行密碼修改,用戶輸入新密碼單擊修改按鈕即可完成密碼修改。顯示系統(tǒng)功能用例:此功能針對(duì)注冊(cè)會(huì)員,會(huì)員首先登錄到網(wǎng)站,進(jìn)入主頁(yè),主頁(yè)會(huì)有相關(guān)操作的按鈕,顯示系統(tǒng)所提供給會(huì)員操作的功能,用戶可以針對(duì)自己的需要選擇系統(tǒng)提供的功能。訂貨衣服用例:此功能針對(duì)注冊(cè)登錄會(huì)員,網(wǎng)站提供兩種訂購(gòu)方案:?jiǎn)渭嗁?gòu)和定制套裝。用戶可以根據(jù)自己的需求來選擇。單件訂購(gòu)方案:用戶選擇是上衣還是褲子,并填寫訂購(gòu)的數(shù)量,確認(rèn)無誤后單擊訂購(gòu)按鈕即可,如果訂購(gòu)成功,系統(tǒng)會(huì)提示訂購(gòu)成功,失敗則會(huì)提示訂購(gòu)失敗。定制套裝方案:用戶選擇定制套裝的檔次(高、中、低) ,并填寫訂購(gòu)的數(shù)量,確認(rèn)無誤后單擊訂購(gòu)按鈕即可, 如果訂購(gòu)成功, 系統(tǒng)會(huì)提示訂購(gòu)成功, 失敗則會(huì)提示訂購(gòu)失敗。顯示訂購(gòu)歷史用例:此功能針對(duì)注冊(cè)會(huì)員,用戶登錄到系統(tǒng)后,主頁(yè)顯示系統(tǒng)功能中包括歷史查看選項(xiàng),用戶可以單擊進(jìn)入歷史交易記錄頁(yè)面,頁(yè)面將顯示用戶所有的交易記錄。二 設(shè)計(jì)模式2.1 單件模式2.1.1 單件模式的定義讓類自身負(fù)責(zé)保存它的唯一實(shí)例,這個(gè)類可以保證沒有其他實(shí)例可以被創(chuàng)建(通過截取創(chuàng)建新對(duì)象的請(qǐng)求) ,并且它可以提供一個(gè)訪問該實(shí)例的方法。這就是單件模式。2.1.2 單件設(shè)計(jì)模式的意圖單件模式保證一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)訪問它的全局訪問點(diǎn)。2.1.3 單件設(shè)計(jì)模式的結(jié)構(gòu)singleton patternsingleton-_instance+instance()單件模式結(jié)構(gòu)圖單件模式的結(jié)構(gòu)進(jìn)包括singleton 。singleton :被調(diào)用的單件對(duì)象。在單件模式中,通常由instance (或 getinstance )方法負(fù)責(zé)對(duì)象的創(chuàng)建, 該方法應(yīng)保證每個(gè)需要(單件)對(duì)象的客戶端均能訪問它。2.1.4 單件模式在本程序中的應(yīng)用與理解在服裝定制系統(tǒng)中,單件模式主要用于數(shù)據(jù)庫(kù)部分。該類的基本結(jié)構(gòu)如下:public class connectionprivate static connection newconn;private static readonly object mylock=new object();private connection() public static connection getconn();public int insert(string str);public int insert(string name, string pwd);public int change(string pwd,int id);本程序中單件模式的singleton類的類名為 connection 。通過 getconn() 方法獲得該類的對(duì)象,保證了該類只有一個(gè)唯一實(shí)例。mylock是為了多線程安全所做的一個(gè) object 對(duì)象。通過 insert() 方法可以向數(shù)據(jù)庫(kù)插入客戶基本信息以及客戶訂購(gòu)的服裝信息,通過change() 方法,客戶可以在登錄該系統(tǒng)后修改自己的用戶名和密碼。通過單件模式的使用,我們深刻地體會(huì)到了單件模式的作用和適用范圍:(1) ) 當(dāng)類只能有一個(gè)實(shí)例并且用戶可以從一個(gè)眾所周知的訪問點(diǎn)來訪問它時(shí)。(2) ) 當(dāng)這個(gè)唯一實(shí)例應(yīng)該是通過子類化可擴(kuò)展的,并且客戶應(yīng)該無需更改代碼就能使用一個(gè)擴(kuò)展的實(shí)例時(shí)。2.2 工廠模式2.2.1 工廠模式的定義:工程模式是一種經(jīng)常被用到的模式,根據(jù)工廠模式實(shí)現(xiàn)的類可以根據(jù)提 供的類生成一組類中的某一類的實(shí)例,通常這一組類有一個(gè)公共的抽象父類, 并且實(shí)現(xiàn)了相同的方法,但是這些方法對(duì)不同的數(shù)據(jù)進(jìn)行了不同的操作。首 先需要定義一個(gè)基類,該類的子類通過不同的方法實(shí)現(xiàn)了基類中的方法。然 后需要定義一個(gè)工廠類,工廠類可以通過條件生成不同的子類實(shí)例。當(dāng)?shù)玫?子類的實(shí)例后,開發(fā)人員可以調(diào)用基類中的方法而不用考慮返回的是哪個(gè)子 類的實(shí)例。2.2.2 工廠模式的意圖:工廠模式又稱虛構(gòu)造機(jī)(virtualconstructor )。它定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類決定實(shí)例化那一個(gè)類。工程模式使一個(gè)類的實(shí)例化延遲到 其子類。2.2.3 工廠模式的結(jié)構(gòu):(結(jié)構(gòu)圖)工 廠 模 式 的 結(jié) 構(gòu) 包 括factory 、 concretefactory、 product和concreteproduct四部分,其中:factory “抽象的工廠”角色,聲明工廠的方法,該方法返回一個(gè)product 類型的對(duì)象。 factory 也可以定義一個(gè)工廠方法的默認(rèn)實(shí)現(xiàn),它返回一個(gè)默認(rèn)的 concreteproduct對(duì)象。可以調(diào)用工廠方法以創(chuàng)建一個(gè)product對(duì)象。concretefactory 具體的工廠角色, 創(chuàng)建具體產(chǎn)品的子工廠, 重寫工廠方法以返回一個(gè)concreteproduct實(shí)例。product 產(chǎn)品角色,定義工廠方法所創(chuàng)建的對(duì)象的接口。concreteproduct 具體產(chǎn)品角色,實(shí)現(xiàn)product 接口。factoryproduct-creteproduct()+operation()concretefactoryconcreteproduct1concreteproduct2-creteproduct()+operation()+operation()在工廠模式中,產(chǎn)品的創(chuàng)建都是由concretefactory來完成的,通常每個(gè) concretefactory負(fù)責(zé)一種具體產(chǎn)品的創(chuàng)建,各個(gè)子工廠之間相互獨(dú)立、職責(zé)明確、互不影響。5.1工廠模式結(jié)構(gòu)圖2.2.4 工廠模式在本程序中的應(yīng)用與理解:在本系統(tǒng)中, 工廠模式用于的功能點(diǎn)為生產(chǎn)上衣和褲子,具體相關(guān)類的基本結(jié)構(gòu)如下:public abstract class absclothespublic abstract bool add(int id, int num, int price);public interface ifactoryabsclothes createclothes();public class up:absclothespublic override bool add(int id, int num, int price);public class down : absclothespublic override bool add(int id, int num, int price);public class upfac : ifactorypublic absclothes createclothes();public class downfac:ifactorypublic absclothes createclothes();absclothes 類是所有衣服的父類, up和down 分別為上衣和褲子, 是absclothes 的子類。 ifactory 類為所有具體工廠的抽象類,upfac 和downfac 為ifactory 的子類,是生產(chǎn)上衣和褲子的具體工廠。當(dāng)每次系統(tǒng)想獲得上衣或褲子的具體對(duì)象 時(shí),不是在主程序中直接用new 來生成 up 和down 的對(duì)象,而是通過調(diào)用 upfac 和downfac 的createclothes 方法來生成。由于 absclothes 和ifactory 作為抽象父類,當(dāng)有新產(chǎn)品要添加的時(shí)候可以通過繼承這兩個(gè)父類來實(shí)現(xiàn)新產(chǎn)品的擴(kuò)充, 而原來的程序不用做出任何修改,這是符合面向?qū)ο蟪绦蛟O(shè)計(jì)的“開閉”原則的。通過這次使用工廠模式,我們更加深刻的體會(huì)到了工廠模式的作用和適用范圍:(1) ) 當(dāng)一個(gè)類不知道它所必須創(chuàng)建的對(duì)象的類信息的時(shí)候。(2) ) 當(dāng)一個(gè)類希望由它的子類來指定它所創(chuàng)建的對(duì)象的時(shí)候。(3) )當(dāng)類將創(chuàng)建的對(duì)象的職責(zé)委托給多個(gè)幫助子類中的一個(gè),并且希望將哪一個(gè)幫助子類是代理者這一信息局部化的時(shí)候。2.3 建造者模式2.3.1 建造者模式的定義建造者模式用來創(chuàng)建復(fù)合對(duì)象, 并把復(fù)合對(duì)象的創(chuàng)建過程加以抽象, 通過子類繼承和重載的方式, 動(dòng)態(tài)地創(chuàng)建具有復(fù)合屬性的對(duì)象; 另一方面, 為了統(tǒng)一創(chuàng)建過程,又把對(duì)象創(chuàng)建的操作統(tǒng)一封裝在名為 director 所提供的方法里。2.3.2 建造者模式的意圖將一個(gè)復(fù)雜的構(gòu)建與其表示相分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示。2.3.3 建造者模式的結(jié)構(gòu)client+ main ( )builderdirector+ construct ( )+ builderparta ( )+ builderpartb ( )+ builderpartc ( )+ builderpartd ( )productconcretebuilder+ builderparta ( )+ builderpartb ( )+ builderpartc ( )+ builderpartd ( )建造者模式結(jié)構(gòu)圖從圖中可以看出,建造者模式的結(jié)構(gòu)包括四個(gè)部分:builder,concretebuilder, director 和 product 。其中:builder- 為創(chuàng)建一個(gè) product 對(duì)象的各個(gè)部分指定抽象接口。concretebuilder-實(shí)現(xiàn) builder 接口以構(gòu)造和裝配該產(chǎn)品的各個(gè)部件。定義并明確他所創(chuàng)建的表示。提供一個(gè)檢索產(chǎn)品的接口。director- 構(gòu)造一個(gè)使用 builder 接口的對(duì)象。product- 表示被構(gòu)造的復(fù)雜對(duì)象。 concretebuilder創(chuàng)建該對(duì)象的內(nèi)部表示并定義它的裝配過程。 包含定義組成部件的類, 包括將這些部件裝配成最終的產(chǎn)品的接口。2.3.4 建造者模式在本程序中的應(yīng)用與理解:建造者模式在本系統(tǒng)中所應(yīng)用的模塊為創(chuàng)建成套的衣服,包括上衣和褲子, 具體相關(guān)類的結(jié)構(gòu)如下所示:public class directorpublic void construct(builder builder);public abstract class builderpublic abstract void madeshirt();public abstract void madetrousers();public abstract taozhuang gettao();public class taozhuangprivate string shirt;public string shirtget return shirt; set shirt = value; private string trousers;public string trousersget return trousers; set trousers = value; private int price;public int priceget return price; set price = value; public bool add(int id,int num);public class highq:builderprivate taozhuang hq = new taozhuang();public override void madeshirt();public override void madetrousers();public override taozhuang gettao();public class middleq : builderprivate taozhuang mq = new taozhuang();public override void madeshirt();public override void madetrousers();public override taozhuang gettao();public class lowq : builderprivate taozhuang lq = new taozhuang();public override void madeshirt();public override void madetrousers();public override taozhuang gettao();builder 類為建造者的抽象類, highq ,middleq ,以及 lowq 為 builder 的子類, 為具體的建造者,分別代表生產(chǎn)高檔套裝,中檔套裝以及低檔套裝。套裝類taozhuang有三個(gè)主屬性,分別是上衣shirt ,褲子 trous
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 材料疲勞裂紋萌生研究進(jìn)展重點(diǎn)基礎(chǔ)知識(shí)點(diǎn)
- 物業(yè)高層火災(zāi)應(yīng)急預(yù)案(3篇)
- 化工廠消防火災(zāi)應(yīng)急預(yù)案(3篇)
- 總體經(jīng)濟(jì)政策的目標(biāo)與措施試題及答案
- 兒科發(fā)生火災(zāi)的應(yīng)急預(yù)案(3篇)
- 2025年軟件設(shè)計(jì)師考試的自我激勵(lì)策略試題及答案
- 行政管理分析試題及答案解析
- 火災(zāi)及處突應(yīng)急預(yù)案(3篇)
- 2025年軟考網(wǎng)絡(luò)管理員科研能力試題及答案
- 公司戰(zhàn)略與組織結(jié)構(gòu)設(shè)計(jì)試題及答案
- 中醫(yī)理療合同范本
- 《經(jīng)典常談》各章測(cè)試題
- 職業(yè)教育教師數(shù)智素養(yǎng)指標(biāo)體系構(gòu)建
- 《燕京啤酒公司基于杜邦分析法的企業(yè)財(cái)務(wù)能力分析案例》15000字
- 快速康復(fù)理念與圍手術(shù)期護(hù)理
- 2025年煙臺(tái)經(jīng)濟(jì)技術(shù)開發(fā)區(qū)社區(qū)工作者招考高頻重點(diǎn)提升(共500題)附帶答案詳解
- 市政道路工程冬季施工方案及措施
- 2023年山東省濟(jì)寧市中考?xì)v史真題(原卷版)
- 電機(jī)控制與調(diào)速技術(shù)課件 項(xiàng)目四 步進(jìn)電動(dòng)機(jī)控制與調(diào)速技術(shù)
- 2024版保險(xiǎn)合同法律適用與條款解釋3篇
- 【MOOC】人格與精神障礙-學(xué)做自己的心理醫(yī)生-暨南大學(xué) 中國(guó)大學(xué)慕課MOOC答案
評(píng)論
0/150
提交評(píng)論