軟件體系結(jié)構(gòu) 武漢理工 陳明俊_第1頁(yè)
軟件體系結(jié)構(gòu) 武漢理工 陳明俊_第2頁(yè)
軟件體系結(jié)構(gòu) 武漢理工 陳明俊_第3頁(yè)
軟件體系結(jié)構(gòu) 武漢理工 陳明俊_第4頁(yè)
軟件體系結(jié)構(gòu) 武漢理工 陳明俊_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

項(xiàng)目名稱(chēng):NextGenPOS1項(xiàng)目參與人員項(xiàng)目經(jīng)理:范家林需求分析師:蔡庚賢彭冬磊產(chǎn)品設(shè)計(jì)師:朱鵬架構(gòu)師:秦超編碼員:范家林,蔡庚賢,朱鵬,秦超,彭冬磊測(cè)試員:范家林,蔡庚賢,朱鵬,秦超,彭冬磊各自完成的任務(wù):范家林:1.2補(bǔ)充規(guī)格說(shuō)明,1.7迭代計(jì)劃的編寫(xiě),2.8.3銷(xiāo)售單,2.8.4銷(xiāo)售單項(xiàng)蔡庚賢:UML概述的編寫(xiě),1.5領(lǐng)域/業(yè)務(wù)規(guī)則,1.6風(fēng)險(xiǎn)列表和風(fēng)險(xiǎn)管理計(jì)劃,2.1領(lǐng)域模型彭東磊:立項(xiàng)背景的編寫(xiě),2.2系統(tǒng)順序圖(SSD),2.8.5帳戶(hù),2.8.6帳戶(hù)管理朱鵬:1.4詞匯表,1.3預(yù)景,2.3操作契約,2.8.1商品,2.8.2商品管理秦超:1.1用例模型2.4類(lèi)圖,2.5系統(tǒng)結(jié)構(gòu),2.6包圖,2.7部署圖文檔的編寫(xiě)以及產(chǎn)品介紹文檔由組員共同編寫(xiě)完成2立項(xiàng)背景21世紀(jì),超市的競(jìng)爭(zhēng)也進(jìn)入到了一個(gè)全新的領(lǐng)域,競(jìng)爭(zhēng)已不再是規(guī)模的競(jìng)爭(zhēng),而是技術(shù)的競(jìng)爭(zhēng)、管理的競(jìng)爭(zhēng)、人才的競(jìng)爭(zhēng)。技術(shù)的提升和管理的升級(jí)是超市業(yè)的競(jìng)爭(zhēng)核心。零售領(lǐng)域目前呈多元發(fā)展趨勢(shì),多種業(yè)態(tài):超市、倉(cāng)儲(chǔ)店、便利店、特許加盟店、專(zhuān)賣(mài)店、貨倉(cāng)等相互并存。如何在激烈的競(jìng)爭(zhēng)中擴(kuò)大銷(xiāo)售額、降低經(jīng)營(yíng)成本、擴(kuò)大經(jīng)營(yíng)規(guī)模,成為超市營(yíng)業(yè)者努力追求的目標(biāo)。3UML概述面向?qū)ο蟮南到y(tǒng)分析與設(shè)計(jì),包括OOA(面向?qū)ο蠓治觯┡cOOD(面向?qū)ο笤O(shè)計(jì))兩個(gè)部分。其中OOA的主要任務(wù)是分析問(wèn)題,找出問(wèn)題解決方案。同時(shí),發(fā)現(xiàn)對(duì)象并分析對(duì)象內(nèi)部構(gòu)成和外部關(guān)系,建立軟件系統(tǒng)的對(duì)象模型。OOD的主要任務(wù)是根據(jù)已確立的系統(tǒng)對(duì)象模型,運(yùn)用面向?qū)ο蠹夹g(shù),設(shè)計(jì)對(duì)象與類(lèi),進(jìn)而設(shè)計(jì)系統(tǒng)結(jié)構(gòu)、人機(jī)界面、數(shù)據(jù)管理、任務(wù)管理等子系統(tǒng)。UML(UnifiedModelingLanguage)是第3代的面向?qū)ο蠼UZ(yǔ)言,融入了軟件工程領(lǐng)域的新思想、新方法和新技術(shù),提出如模板、擴(kuò)展機(jī)制、活動(dòng)圖等新概念。UML易于表達(dá)且功能強(qiáng)大,應(yīng)用廣泛。它不但適用于面向?qū)ο蟮能浖治雠c設(shè)計(jì),還支持從需求分析開(kāi)始的軟件開(kāi)發(fā)的全過(guò)程。UML定義了一系列圖形工具,以對(duì)現(xiàn)實(shí)世界進(jìn)行面向?qū)ο蠼!?biāo)準(zhǔn)建模語(yǔ)言UML已成為面向?qū)ο蠹夹g(shù)的主流建模工具,支持系統(tǒng)分析、設(shè)計(jì)和實(shí)現(xiàn)等軟件開(kāi)發(fā)全過(guò)程。目錄TOC\o"1-5"\h\z項(xiàng)目名稱(chēng):NextGenPOS11項(xiàng)目參與人員12立項(xiàng)背景23UML概述2目錄31初始51.1用例模型(秦超)5usecase510-20%corepickedrequirement61.2補(bǔ)充規(guī)格說(shuō)明71.2.1修訂歷史7Introduction(簡(jiǎn)介)7Functionality(功能性)7Usability(可用性)8Reliability(可靠性)8Performance(性能)8Supportability(可支持性)8ImplementationConstraints(實(shí)現(xiàn)約束)9PurchasedComponents(購(gòu)買(mǎi)的組建)9Interfaces(接口)9Application-SpecificDomain(Business)Rules(應(yīng)用領(lǐng)域規(guī)則)9LegalIssues(法律問(wèn)題)10InformationinDomainsofInterest(所關(guān)注領(lǐng)域內(nèi)的信息)——101.3預(yù)景10RevisionHistory(修訂歷史)10簡(jiǎn)介11定位111.3.4涉眾描述111.3.5產(chǎn)品概覽111.3.6系統(tǒng)特性概要121.3.7其它需求和約束121.4詞匯表121.4.1修訂歷史121.4.2定義131.5領(lǐng)域/業(yè)務(wù)規(guī)則131.5.1修訂歷史131.5.2規(guī)則列表141.6風(fēng)險(xiǎn)列表和風(fēng)險(xiǎn)管理計(jì)劃141.7迭代計(jì)劃14為期三周的迭代計(jì)劃:142細(xì)化152.1領(lǐng)域模型152.2系統(tǒng)順序圖(SSD)172.3操作契約172.4類(lèi)圖192.5系統(tǒng)體系結(jié)構(gòu)192.6包圖202.6.1包“采購(gòu)單管理界面”202.6.2包“銷(xiāo)售單管理界面”202.6.3包“商品信息管理界面”202.6.4包“帳戶(hù)信息管理界面”202.6.5包“售出商品結(jié)算界面”202.6.6包“采購(gòu)單管理”212.6.7包“銷(xiāo)售單管理”212.6.8包“商品信息管理”212.6.9包“帳戶(hù)信息管理”212.6.10包“采購(gòu)單”212.6.11包“銷(xiāo)售單”212.6.12包“商品”21包“帳戶(hù)”212.7UML部署圖232.8類(lèi)清單23商品Merchandise23商品管理MerchandiseMgmtHandler24銷(xiāo)售單SalesOrder27銷(xiāo)售單項(xiàng)SalesOrderltem28帳戶(hù)account29帳戶(hù)管理AccountMgmtHandler311初始POS機(jī)系統(tǒng)記錄每件商品。系息,系統(tǒng)對(duì)支付信息進(jìn)行驗(yàn)證和記購(gòu)物小票,然后攜帶物品離開(kāi)。(from前臺(tái)po曲I)POS機(jī)系統(tǒng)記錄每件商品。系息,系統(tǒng)對(duì)支付信息進(jìn)行驗(yàn)證和記購(gòu)物小票,然后攜帶物品離開(kāi)。(from前臺(tái)po曲I)卩皿機(jī)銷(xiāo)售員(Jrom曲魚(yú))(用例圖)1?1?210-20%corepickedrequirement用例名稱(chēng):處理銷(xiāo)售范圍:NextGenPOS應(yīng)用級(jí)別:用戶(hù)目標(biāo)主要參與者:收銀員涉眾及其關(guān)注點(diǎn):---收銀員:希望能夠快速準(zhǔn)確的收入,而且沒(méi)有支付錯(cuò)誤---售貨員:希望自動(dòng)更新售貨提成---顧客:希望便捷清晰的看到所輸入的商品項(xiàng)目和價(jià)格,希望得到購(gòu)買(mǎi)憑證。以便退貨---經(jīng)理:希望能夠快速執(zhí)行超控操作,并易于更正收銀員的不當(dāng)操作前提條件:收銀員必須經(jīng)過(guò)確認(rèn)和認(rèn)證成功保證:存儲(chǔ)銷(xiāo)售信息,更新賬務(wù)和庫(kù)存信息,記錄提成,生成票據(jù)。主成功場(chǎng)景參與者的活動(dòng)1,客戶(hù)攜帶所購(gòu)商品或服務(wù)到收銀臺(tái)通過(guò)pos付款2,收銀員開(kāi)始一次新的銷(xiāo)售交易3,收銀員輸入商品ID4,系統(tǒng)逐條記錄出售商品項(xiàng)目,并顯示該商品的描述,價(jià)格和累計(jì)金額收銀員重復(fù)3?4步直到結(jié)束5,系統(tǒng)顯示總額和所計(jì)算的稅金6,收銀員告知顧客總額,并提請(qǐng)付款7,顧客支付8,處理支付9,記錄完整的銷(xiāo)售信息,并將銷(xiāo)售和支付信息發(fā)送到外部的賬務(wù)系統(tǒng)和庫(kù)存系統(tǒng),系統(tǒng)顯示票據(jù)擴(kuò)展特殊需求技術(shù)和數(shù)據(jù)變?cè)戆l(fā)生頻度雜項(xiàng)1.2補(bǔ)充規(guī)格說(shuō)明1?2?1修訂歷史Version(版本)Date(日期)Description(描述)Author(作者)初始草案2011-10-13第一個(gè)草案,將在細(xì)化階段進(jìn)行精華秦超Introduction(簡(jiǎn)介)本文檔記錄了NextGenPOS所有未在用例中描述的需求。Functionality(功能性)--(通??缭蕉鄠€(gè)用例的功能性。)1?日志和錯(cuò)誤處理在持久性存儲(chǔ)中記錄所有錯(cuò)誤。2?可插拔規(guī)則在幾個(gè)用例(見(jiàn)定義)的不同場(chǎng)景點(diǎn)執(zhí)行任意一組規(guī)則,以支持對(duì)系統(tǒng)功能的定制。3?安全性任何使用都需要經(jīng)過(guò)用戶(hù)的驗(yàn)證。Usability(可用性)人性因素顧客將能夠看到pos大屏幕顯示器的顯示。因此:--應(yīng)該在1米外輕松看到文本。--避免使用一般色盲人群難以辨認(rèn)的顏色。快捷,無(wú)措的的銷(xiāo)售交易處理極為重要,因?yàn)橘?gòu)買(mǎi)者希望快速離開(kāi),否則會(huì)給他們的購(gòu)要買(mǎi)體驗(yàn)(和對(duì)銷(xiāo)售員的評(píng)價(jià))帶來(lái)負(fù)面影響。收銀員的視線(xiàn)通常停留在顧客或商品上,而不是計(jì)算機(jī)顯示器上。因此,提示和告警應(yīng)該通過(guò)聲音傳遞,而不僅僅是通過(guò)圖像傳遞。Reliability(可靠性)--可恢復(fù)性如果在使用外部服務(wù)(支持授權(quán),賬務(wù)系統(tǒng),??????)時(shí)出現(xiàn)錯(cuò)誤,為了完成銷(xiāo)售交易,需要嘗試采用本地方案(如存儲(chǔ)和轉(zhuǎn)發(fā))加以解決。對(duì)此需要更深入的分析??????Performance(性能)正如“人性因素”一節(jié)中所提及的,購(gòu)買(mǎi)者希望非??焖俚赝瓿射N(xiāo)售處理過(guò)程。外部支付授權(quán)是瓶頸之一。我們的目標(biāo)是:90%的情況下,能夠在一分鐘之內(nèi)完成授權(quán)。Supportability(可支持性)1?可適應(yīng)性NextGenPOS的不同客戶(hù)在處理銷(xiāo)售時(shí)有其特有的業(yè)務(wù)規(guī)則和處理需求。因此,在場(chǎng)景中的幾個(gè)預(yù)定之處(例如,當(dāng)開(kāi)始新的銷(xiāo)售交易時(shí),當(dāng)增加新的商品時(shí)),需要能夠啟用可拔插的業(yè)務(wù)規(guī)則。2?可配置性不同的客戶(hù)對(duì)其POS系統(tǒng)有不同的網(wǎng)絡(luò)配置需求。例如,采用胖客戶(hù)端或瘦客戶(hù)端,兩成和多層物理結(jié)構(gòu)等等。除此之外,他們還要求具備修改配置的能力,以便適應(yīng)其變更業(yè)務(wù)和性能的需求。因此,系統(tǒng)應(yīng)該具備一定的可配置能力以適應(yīng)這些需求。對(duì)此需要進(jìn)一步分析,以發(fā)現(xiàn)哪些地方需要靈活性和靈活性的程度,以及實(shí)現(xiàn)這種靈活性所需的工作。ImplementationConstraints(實(shí)現(xiàn)約束)NextGenPOS的領(lǐng)導(dǎo)層堅(jiān)持采用JAVA技術(shù)解決方案,他們認(rèn)為采用JAVA技術(shù)除了易于開(kāi)發(fā)外,還能夠提高遠(yuǎn)期的移植和可支持性能力。PurchasedComponents(購(gòu)買(mǎi)的組建)--稅金計(jì)算器。必須支持用于不同國(guó)家的可拔插計(jì)算器免費(fèi)開(kāi)源構(gòu)件一般而言,我們建議在該項(xiàng)目中盡可能的使用免費(fèi)的Java技術(shù)開(kāi)源構(gòu)件。盡管現(xiàn)在對(duì)確定最終的設(shè)計(jì)和選擇而構(gòu)件來(lái)說(shuō)為時(shí)尚早,但是我們建議采用以下構(gòu)件:--JLog日志框架Interfaces(接口)1?重要硬件接口--觸摸屏(操作系統(tǒng)將此視為普通監(jiān)視器,且觸摸動(dòng)作也視為鼠標(biāo)事件)。--條形碼激光掃描儀(通常附加在一種特殊鍵盤(pán)上,掃描儀在軟件中視為鍵盤(pán)輸入)。--票據(jù)打印機(jī)。--信用卡/借記卡讀卡器。--簽名讀取裝置2?軟件接口由于存在眾多外部協(xié)作系統(tǒng)(稅金計(jì)算器,賬務(wù),庫(kù)存,??????),我們需要采用不同的接口,接入不同的系統(tǒng)。Application-SpecificDomain(Business)Rules(應(yīng)用領(lǐng)域規(guī)則)ID規(guī)則可變性來(lái)源規(guī)則1購(gòu)買(mǎi)者折扣規(guī)則。每個(gè)零售商有不同規(guī)則雲(yún)售商政策規(guī)則2銷(xiāo)售〔交易級(jí))折扣規(guī)則適用于稅前總額每個(gè)零售商有不同的規(guī)則,每天或每小時(shí)都可能改變雲(yún)售商政策規(guī)則3產(chǎn)品〔商品級(jí))折扣規(guī)格每個(gè)霧售商有不同的規(guī)則,每天或每小時(shí)都可能改變零售商政策LegalIssues(法律問(wèn)題)我們建議使用一些開(kāi)源構(gòu)件,但是要解決其許可限制問(wèn)題,以便使包含開(kāi)原構(gòu)件的產(chǎn)品能夠轉(zhuǎn)售。法律規(guī)定,在銷(xiāo)售交易中必須遵從所有稅務(wù)規(guī)則。同時(shí)要注意的是,這些規(guī)則可以頻繁變更。InformationinDomainsofInterest(所關(guān)注領(lǐng)域內(nèi)的信息)1?定價(jià)除了在“應(yīng)用的領(lǐng)域規(guī)則”小節(jié)中描述的定價(jià)規(guī)則外,還需要注意,產(chǎn)品有原始價(jià)格和可選的常設(shè)低標(biāo)價(jià)之分。產(chǎn)品標(biāo)示的價(jià)格(折扣前)是常設(shè)低標(biāo)價(jià)。由于賬務(wù)和稅務(wù)的原因,即使有常設(shè)低標(biāo)價(jià),也需要維護(hù)原始價(jià)格。2?信用卡和借記卡支付處理當(dāng)支付授權(quán)服務(wù)批準(zhǔn)了信用卡和借記卡支付后,將由支付授權(quán)服務(wù)而不是買(mǎi)方來(lái)負(fù)責(zé)對(duì)賣(mài)方的支付。因此,對(duì)于每筆支付,賣(mài)方都需要將授權(quán)服務(wù)的未付金額紀(jì)錄于其應(yīng)收賬戶(hù)下。通常授權(quán)服務(wù)在每晚執(zhí)行電子轉(zhuǎn)賬操作,將賣(mài)方當(dāng)天的應(yīng)收總額轉(zhuǎn)入其帳下,同時(shí)對(duì)每筆交易扣除(少量的)服務(wù)費(fèi)。3?銷(xiāo)售稅銷(xiāo)售稅的計(jì)算可能會(huì)十分復(fù)雜,并且會(huì)根據(jù)各級(jí)政府的立法而定期變更。因此,對(duì)水井計(jì)算采用第三方軟件(存在許多可選的第三方軟件)是明智之舉。水晶可能分別歸屬于城市,地區(qū),省和國(guó)家。某些商品可能是無(wú)條件免稅的,或者是根據(jù)買(mǎi)方或目標(biāo)承受者(例如,成人和兒童)進(jìn)行免稅。4?商品標(biāo)識(shí):UPC,EAN,SKU,條形碼和條形碼讀取裝置NextGenPOS要支持各種商品標(biāo)識(shí)方案。對(duì)于出售的產(chǎn)品而言,UPC(通用產(chǎn)品代碼),EAN(歐洲物品編碼)和SKU(庫(kù)存單位)是三種常見(jiàn)的商品銷(xiāo)售標(biāo)識(shí)系統(tǒng)。JAN(日本物品編碼)類(lèi)似于EAN。SKU是由零售商定義的完全專(zhuān)用的標(biāo)識(shí)。無(wú)論如何,UPC和EAN具有標(biāo)準(zhǔn)和受規(guī)章限制的構(gòu)件1.3預(yù)景1?3?1RevisionHistory(修訂歷史)Version版本)Date(日期)Description(描述)Author(作者)1?3?2簡(jiǎn)介我們?cè)O(shè)想NextGenPOS是下一代POS的應(yīng)用,能夠容錯(cuò),具有靈活性以支持各種客戶(hù)的不同業(yè)務(wù)規(guī)則,具有多終端和用戶(hù)接口機(jī)制,并且能夠與各種第三方支持系統(tǒng)進(jìn)行整合。1?3?3定位1?3?4涉眾描述市場(chǎng)統(tǒng)計(jì)涉眾(非用戶(hù))概要用戶(hù)概要4涉眾的關(guān)鍵高階用戶(hù)(和外部系統(tǒng))要求系統(tǒng)實(shí)現(xiàn)以下目標(biāo):5用戶(hù)級(jí)目標(biāo)--收銀員:處理銷(xiāo)售交易,處理退貨,入款,出款--系統(tǒng)管理員:管理用戶(hù),安全性和系統(tǒng)表--經(jīng)理:?jiǎn)?dòng)和關(guān)閉--銷(xiāo)售活動(dòng)系統(tǒng):分析銷(xiāo)售數(shù)據(jù)1?3?5產(chǎn)品概覽1.3.6系統(tǒng)特性概要TOC\o"1-5"\h\z1?3?7其它需求和約束1.4詞匯表1?4?1修訂歷史Version版本)Date(日期)Description(描述)Author(作者)1.4?2定義ID規(guī)則可變性來(lái)源規(guī)則1信用卡支付需要簽名可能會(huì)一直要求購(gòu)買(mǎi)者“簽名”但是在兩年內(nèi),大多數(shù)顧客希望在數(shù)字設(shè)備上記錄簽名,并且在5年內(nèi),我們預(yù)期需求支付現(xiàn)在中國(guó)法律所支持的新的唯一數(shù)字編碼“簽名”所有信用卡授權(quán)公司的政策規(guī)則2稅務(wù)規(guī)則。銷(xiāo)售中的需要考慮稅務(wù)事宜。當(dāng)前詳情參見(jiàn)政府公布的狀況。高。各級(jí)政府每年都會(huì)變更稅法。法律規(guī)則3信用卡支付退款可能只對(duì)購(gòu)買(mǎi)者的信用卡帳戶(hù)進(jìn)行退款操作,而不是以現(xiàn)金退款。低信用卡授權(quán)公司的政策1.5領(lǐng)域/業(yè)務(wù)規(guī)則1?5?1修訂歷史Version版本)Date(日期)Description(描述)Author(作者)

1?5?2規(guī)則列表IDRule(規(guī)則)Changeability(可變性)Source(來(lái)源)====================1.1?1.5為UP的需求指標(biāo)==================1?6風(fēng)險(xiǎn)列表和風(fēng)險(xiǎn)管理計(jì)劃1.7迭代計(jì)劃為期三周的迭代計(jì)劃:第i次迭代示例:2細(xì)化2.1領(lǐng)域模型NextGenPQS的部分領(lǐng)域模型2.2系統(tǒng)順序圖(SSD)Cash加Cash加Syvl?m2.3操作契約契約COl:makeNewSale操作:makeNewSale()交叉引用:用例:處理銷(xiāo)售前置條件:無(wú)后置條件:?創(chuàng)建了Sale的實(shí)例s(創(chuàng)建實(shí)例)。s被關(guān)聯(lián)到Register(形成關(guān)聯(lián))。?s的屬性被初始化(修改屬性)。契約C02:enterltem操作:enterltem(itemID:ItemlD,quantity:integer)交叉引用:用例:處理銷(xiāo)售前置條件:正在進(jìn)行中的銷(xiāo)售。后置條件:?創(chuàng)建了SalesLineltem的實(shí)例sli(創(chuàng)建實(shí)例)。sli被關(guān)聯(lián)到當(dāng)前Sale(形成關(guān)聯(lián))。sli.quanlity賦值為quantity(修改屬性)。?基于itemID的匹配,sli被關(guān)聯(lián)到ProductDescripton(形成關(guān)聯(lián))。契約CO3:endSale操作:enterSale()交叉引用:用例:處理銷(xiāo)售前置條件:正在進(jìn)行中的銷(xiāo)售。后置條件:?Sale.isComplete被置為真(修改屬性)。契約CO4:makePayment操作:makePayment(amount:Money)交叉引用:用例:處理銷(xiāo)售前置條件:正在進(jìn)行中的銷(xiāo)售。后置條件:?創(chuàng)建了Payment的實(shí)例p(創(chuàng)建實(shí)例)。?p.amountTendered被賦值為amount(修改屬性)。

?p被關(guān)聯(lián)到當(dāng)前的Sale(形成關(guān)聯(lián))。?當(dāng)前的Sale被關(guān)聯(lián)到Store(形成關(guān)聯(lián))(將其加入到完成銷(xiāo)售的歷史日志當(dāng)中)。2.4類(lèi)圖(前臺(tái)pos機(jī)銷(xiāo)售類(lèi)關(guān)系圖)2.5系統(tǒng)體系結(jié)構(gòu)本系統(tǒng)采用五層分層體系結(jié)構(gòu):-表現(xiàn)層:用來(lái)實(shí)現(xiàn)系統(tǒng)的“用戶(hù)界面”;-控制層:負(fù)責(zé)在用戶(hù)界面與后臺(tái)邏輯層之間的連接與調(diào)度;-業(yè)務(wù)邏輯層:實(shí)現(xiàn)各個(gè)實(shí)體類(lèi)及其內(nèi)部包含的業(yè)務(wù)邏輯;-持久化層:負(fù)責(zé)在實(shí)體類(lèi)與數(shù)據(jù)層之間建立OR映射;-數(shù)據(jù)層:采用關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)存儲(chǔ);業(yè)務(wù)邏輯層持久化層2.6包圖2.6.1包“采購(gòu)單管理界面”*****************************2.6.2包“銷(xiāo)售單管理界面”界面“銷(xiāo)售單查詢(xún)”界面“銷(xiāo)售單統(tǒng)計(jì)”2.6.3包“商品信息管理界面”界面“商品信息查詢(xún)”界面“庫(kù)存不足商品查詢(xún)”界面“商品信息管理”2.6.4包“帳戶(hù)信息管理界面”界面“帳戶(hù)管理”2.6.5包“售出商品結(jié)算界面”界面“售出商品結(jié)算”2.6.6包“采購(gòu)單管理”******************************2.6.7包“銷(xiāo)售單管理”控制類(lèi)“銷(xiāo)售單管理”2.6.8包“商品信息管理”控制類(lèi)“商品信息管理”2.6.9包“帳戶(hù)信息管理”控制類(lèi)“帳戶(hù)信息管理”2.6.10包“采購(gòu)單”實(shí)體類(lèi)“采購(gòu)單”、“采購(gòu)單項(xiàng)”實(shí)體類(lèi)“采購(gòu)統(tǒng)計(jì)表”、“采購(gòu)統(tǒng)計(jì)表項(xiàng)”2.6.11包“銷(xiāo)售單”實(shí)體類(lèi)“銷(xiāo)售單”、“銷(xiāo)售單項(xiàng)”實(shí)體類(lèi)“銷(xiāo)售統(tǒng)計(jì)表”、“銷(xiāo)售統(tǒng)計(jì)表項(xiàng)”2.6.12包“商品”實(shí)體類(lèi)“商品”2.6.14包“帳戶(hù)”實(shí)體類(lèi)“帳戶(hù)”1控制層銷(xiāo)售單管理采購(gòu)單管理1商品信息管理帳戶(hù)管理V

2.7UML部署圖類(lèi)型類(lèi)名類(lèi)作用所在包名控制類(lèi)SalesOrderMgmtHandler銷(xiāo)售單據(jù)管理類(lèi)Control.SalesOrderMerchandiseMgmtHandler商品信息管理類(lèi)Control.MerchandiseAccountMgmtHandler帳戶(hù)信息管理類(lèi)Control.Account實(shí)體類(lèi)Merchandise商品Entity.MerchandiseAccount帳戶(hù)Entity.account2.8.1商品Merchandise類(lèi)的UML圖示:Merchandise戛SNchar(10)毘Namechar(10)■^producerchar(10)毎Stockint^>Stock_limitint^>pre_prineefloat^>discount_pricefloat^remarkstring?Add(DBst「ing:string):int^Modify(DBstring:string):int?Check(DBstring:string):string?Delete(DBstring:string):string類(lèi)的用途:保存商品的屬性和對(duì)商品的各種操作,包括添加刪除等。屬性列表:

屬性名屬性含義數(shù)據(jù)類(lèi)型缺省值可見(jiàn)性SN商品編號(hào)stringNULL—Name商品名稱(chēng)stringNULL—producer生產(chǎn)廠(chǎng)商stringNULL—Stock當(dāng)前庫(kù)存里int0—stocklimit庫(kù)存下限int0—preprince預(yù)售價(jià)格float0—discount_price會(huì)員折扣float與預(yù)售價(jià)格相等remark備注stringNULL—操作列表:操作名操作的含義可見(jiàn)性參數(shù)列表返回值類(lèi)型名稱(chēng)類(lèi)型Add()新建商品記錄+DBstringstringIntModify()修改商品記錄+DBstringstringintCheck()輸出商品信息+DBstringstringstringDelete()刪除商品記錄+DBstringstringstring內(nèi)部邏輯說(shuō)明:Add(stringDBstring){執(zhí)行DBstring命令,成功返回0,否則返回-1}Modify(stringDBstring){執(zhí)行DBstring命令,成功返回0,否則返回-1}Check(stringDBstring){執(zhí)行DBstring命令,返回結(jié)果集}Delete(stringDBstring){執(zhí)行DBstring命令,返回結(jié)果集}2.8.2商品管理MerchandiseMgmtHandler類(lèi)的UML圖示:Merch日ndiseMgirrtH日ndl曰^■(/ler-chandisejist:list^>selllist:list?匚lassify_匚hEck(classify_w&c:tc}「::string):list?匚heck_detail(id:string):string^sell_init():irit^sell_insert(Merchandise_SN:string,sell_NO:string):intell_delete(Merehandise_SN:string,sell_NO:string):int*sell_count(sell_NO:string):floatell_disconnt(sell_N0:string):float*sell_deal[sell_NO:string):int*add[detail_vector:string}:intSnodify(detad_yecta:string):int^delete[MerchandiseSN:string):string類(lèi)的用途:商品信息和對(duì)商品的操作,控制和商品相關(guān)的各種操作的調(diào)用屬性列表:屬性名屬性含義數(shù)據(jù)類(lèi)型缺省值可見(jiàn)性Merchandise_list商品的列表List,數(shù)據(jù)庫(kù)返回的每一個(gè)條目為一個(gè)成員(SELECT*)NULLSell_list銷(xiāo)售列表List,成員為MerchandiseSNNULL操作列表:操作名操作的含義可見(jiàn)性參數(shù)列表返回值類(lèi)型名稱(chēng)類(lèi)型Classify_check()查看某一分類(lèi)的商品的信息+Classify_vectorstringListCheck_detail()查看某一商品的詳細(xì)信息+idstringstringSell_init()初始化購(gòu)物單+IntSell_insert()將商品加入購(gòu)物單+Merchandise_SNstringintSell_NOintSell_delete()將購(gòu)物單中某+Merchandise_SNstringint商品刪除Sell_NOintSell_count()計(jì)算商品總價(jià)+Sell_NOIntfloatSell_discount()計(jì)算折后商品總價(jià)+Sell_NOintfloatSelldeal()結(jié)算+SellNOintintAdd()添加商品記錄+detail_vectorstringintModify()修改商品記錄+detail_vectorstringintDelete()刪除商品記錄+Merchandise_SNstringstring內(nèi)部邏輯說(shuō)明:Classify_check(stringClassify_vector){由Classify_vector構(gòu)建DB命令,調(diào)用實(shí)體類(lèi)merchandise的check()方法,返回結(jié)果集}Check_detail(stringid){構(gòu)建和id相關(guān)的DB命令,調(diào)用實(shí)體類(lèi)merchandise的check()方法,返回結(jié)果集}Sell_init(){初始化購(gòu)物單,返回編號(hào)}Sell_insert(stringMerchandise_SN,intsell_N0){將SN加入ID為sell_ID的購(gòu)物單}Sell_delete(stringMerchandise_SN,intsell_NO){將SN從ID為sell_ID的購(gòu)物單中去掉一個(gè)}Sell_count(Sell_N0){構(gòu)建DB命令,使用SUM方法,計(jì)算出總金額,并返回}Sell_discount(Sell_NO){構(gòu)建DB命令,使用SUM方法,計(jì)算出折扣后的總金額,并返回}Sell_deal(Sell_NO){補(bǔ)充時(shí)間等各種信息,構(gòu)建DB命令,數(shù)據(jù)庫(kù)中生成一張銷(xiāo)售單據(jù)}Add(stringdetail_vector){有detail_vector構(gòu)建DB命令,動(dòng)作為INSERT,調(diào)用實(shí)體類(lèi)merchandise的Add()執(zhí)行,并返回結(jié)果集。}modify(stringdetail_vector){有detail_vector構(gòu)建DB命令,調(diào)用實(shí)體類(lèi)merchandise的modify()執(zhí)行,并返回結(jié)果集。}Delete(Merchandise_SN){由Merchandise_SN構(gòu)建數(shù)據(jù)庫(kù)命令,調(diào)用實(shí)體類(lèi)merchandise的Delete()執(zhí)行,返回結(jié)果集}2.8.3銷(xiāo)售單SalesOrder類(lèi)的UML圖示:SalesOrder場(chǎng)Bill」D:string爲(wèi)B(tài)ill_Date:string^>Bill_Sum:float^>Bill_SalerlD:string^Billjist:List<new_Bill():bill^Modify_Bill(DBstring:string):int*lnsert_Bill_item():int?Delete_Bill_ltem(B_item:Billjtem*):int^Modify_Bill_ltem(B_item:B_item*):int^Modify_Auto():int<CheckList():BillList類(lèi)的用途:保存單據(jù)的屬性和對(duì)商品的各種操作,包括添加刪除等。屬性列表:屬性名屬性含義數(shù)據(jù)類(lèi)型缺省值可見(jiàn)性BillID編號(hào)stringNULL一BillDate日期stringNULL一BillSum總金額float0一BillSalerID收銀員編號(hào)stringNULL一BillList銷(xiāo)售商品列表Bill*NULL一操作列表:操作名操作的含義可見(jiàn)性參數(shù)列表返回值類(lèi)型名稱(chēng)類(lèi)型NewBill新建+BillModifyBill修改+DBstringstringintInsert_Bill_Item增加銷(xiāo)售單項(xiàng)+B_itemBill_Item*intDelete_Bill_Item刪除銷(xiāo)售單項(xiàng)+B_itemBill_Item*intModify_Bill_Item修改銷(xiāo)售單項(xiàng)+B_itemBill_Item*intDBstringstringModify_Auto自動(dòng)修改商品信息+intCheckList查詢(xún)+BillList內(nèi)部邏輯說(shuō)明:BillNew_Bill(){創(chuàng)建新的單據(jù)并返回}intModify_Bill(stringDBstring){執(zhí)行DBstring命令,成功返回0,不成功返回T}intInsert_Bill_Item(Bill_Item*B_item){將B_item指向的銷(xiāo)售單項(xiàng)加入到銷(xiāo)售單,成功返回0,不成功返回T}intDelete_Bill_Item(Bill_Item*B_item){將B_item指向的銷(xiāo)售單項(xiàng)從當(dāng)前銷(xiāo)售單刪除,成功返回0,不成功返回T}intModify_Bill_Item(Bill_Item*B_item,stringDBstring){對(duì)B_item指向的銷(xiāo)售單項(xiàng)執(zhí)行DBstring命令,成功返回0,不成功返回T}intModify_Auto(){根據(jù)當(dāng)前銷(xiāo)售單內(nèi)容構(gòu)建DB命令更新庫(kù)存狀況,成功返回0,不成功返回-1}Bill_ListCheck_List(){構(gòu)建DB命令,查詢(xún)當(dāng)前所有單據(jù),并返回單據(jù)列表}2.8.4銷(xiāo)售單項(xiàng)SalesOrderltem類(lèi)的UML圖示:SalesOrderltem影SN:string>^>Merchandise_ID:string^>Merchandise_Name:string^>Merchandise_Price:float^>Merchandise_Amount:int^>Merchandise_Sum:float戛Remark:string?New_Bill_ltem():Billjtem^Modify_Bill_ltem(DBstring:string):int?CheckDetail():Merchandise類(lèi)的用途:標(biāo)記銷(xiāo)售單里的條目屬性列表:屬性名屬性含義數(shù)據(jù)類(lèi)型缺省值可見(jiàn)性SN序號(hào)stringNULL一Merchandise」。商品編號(hào)stringNULL一MerchandiseName商品名稱(chēng)stringNULL一MerchandisePrice商品單價(jià)float0一MerchandiseAmount商品數(shù)目int1一MerchandiseSum金額float0一Remark備注stringNULL一操作列表:操作名操作的含義可見(jiàn)性參數(shù)列表返回值類(lèi)型名稱(chēng)類(lèi)型NewBillItem新建+BillItem*ModifyBillItem修改+DBstringstringintCheckDetail查詢(xún)+Merchandise內(nèi)部邏輯說(shuō)明:Bill_Item*New_Bill_Item(){新建一個(gè)銷(xiāo)售單項(xiàng),返回它的指針}intModify_Bill_Item(stringDBstring){對(duì)當(dāng)前銷(xiāo)售單項(xiàng)執(zhí)行DBsting,成功返回0,不成功返回-1}MerchandiseCheck_Detail(){對(duì)當(dāng)前銷(xiāo)售單項(xiàng)的商品構(gòu)建DB命令,查詢(xún)商品詳情,并返回}2.8.5帳戶(hù)account類(lèi)的UML圖示:SalesQrder^>Bill_ID:string^>Bill_Dat&:string^>Bill_Sum:float^>Bill_Sal&rlD:string匚list:List?門(mén)ew_曰110:billodify_Bi11(DSstring:string):int^lnsert_Bill_item(}:intelete_Bi\\_\\enn(B_it&m:Billjtem*):int*Modify_HIl_ltem{B_i

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。