【正文】
如果舊書或雜志過期了或很破爛則可以從圖書館中刪除 ? 圖書館管理員 是圖書館的雇員,負(fù)責(zé)與 客戶(借書者) 打交道。 ? 借書者可以預(yù)定目前借不到的書或雜志,一旦預(yù)定的書被返還給圖書館或圖書館新購(gòu)買的書到達(dá),就立即通知預(yù)定者 ? 圖書館可以方便的產(chǎn)生、更新和刪除系統(tǒng)中與書目、借書者、借書和預(yù)定的有關(guān)信息 ? 系統(tǒng)能夠在所有流行的技術(shù)環(huán)境下運(yùn)行( UNIX, Windows,OS/2等等),還應(yīng)該有一個(gè)非常好的圖形用戶界面( GUI) ? 系統(tǒng)應(yīng)該具有很好的可擴(kuò)展性 軟件工程 (Software Engineering) 沈陽(yáng)工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 70 B o r r o w e r t h e B o o kR e t u r n t h e B o o kB o r r o w e r M a n agerR e se r v e t h e B o o kS e a r ch f o r B o o kQ u e r y I n f oB o r r o w e rR e t u r n W i t h F i n e e x t e n d K n o w t h e T i t l e o f t h e B o o k in c l u d e L o g o n t h e S y st e m u s e u s e M a i n t e n a n ce B o o ksM a i n t e n a n ce T i t l e sM a i n t e n a n ce B o r r o w e r sS y st e m M a n a g e r軟件工程 (Software Engineering) 沈陽(yáng)工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 71 ? 用例定義 ? 定義 actor ? 圖書管理員 ? 借書者:不直接參與系統(tǒng)交互 ? 用例 ? 借出書目( Lend Item) ? 返還書目( return Item) ? 預(yù)定( Make Reservation) ? 刪除預(yù)定( Remove Reservation) ? 增加標(biāo)題( Add Title) ? 更新和刪除標(biāo)題( Updata or Remove Title) ? 增加書目( Add Item) ? 刪除書目( Remove Item) ? 增加借書者( Add Borrower) ? 更新和刪除借書者( Updata or Remove Borrower 軟件工程 (Software Engineering) 沈陽(yáng)工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 72 ? 圖書館 將 書 和 雜志 借給 讀者 ,讀者和書、雜志一樣必須在系統(tǒng)中 注冊(cè) ? 圖書館負(fù)責(zé)購(gòu)買圖書。對(duì)于流行的書一般要多買幾本。 ?。 ?,并將銷售和支付信息發(fā)送到外部的賬務(wù)系統(tǒng)(進(jìn)行賬務(wù)處理和提成)和庫(kù)存系統(tǒng)(更新庫(kù)存)。 ?,并請(qǐng)顧客付款。收銀員重復(fù) 3~~4步,直到輸入結(jié)束。 ?,并顯示該商品的描述、價(jià)格和累計(jì)額。 ?。 ? 成功保證(或后置條件) :存儲(chǔ)銷售信息,更新帳戶和庫(kù)存信息,記錄提成,生成票據(jù),記錄支付授權(quán)的批準(zhǔn)。 ? 經(jīng)理:希望能夠快速執(zhí)行超控操作,并易于更正收銀員的不當(dāng)操作。希望有一定的容錯(cuò)性,即便在某些服務(wù)器構(gòu)件不可用時(shí)(如遠(yuǎn)程信用卡驗(yàn)證),也能夠完成銷售。 ? 公司:希望準(zhǔn)確地記錄交易,滿足顧客要求。希望便捷、清晰地看到所輸入的商品項(xiàng)目和價(jià)格。 ? 辦理會(huì)員卡:注冊(cè)、注銷和更新會(huì)員記錄 軟件工程 (Software Engineering) 沈陽(yáng)工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 49 ? 用例文檔 ? 用例名稱: 處理銷售 ? 范圍 : POS機(jī)應(yīng)用 ? 級(jí)別 :用戶目標(biāo) ? 主要參與者 :收銀員 ? 涉眾及其關(guān)注點(diǎn) : ? 收銀員:希望能夠準(zhǔn)確、快速地輸入,而且沒有支付錯(cuò)誤,因?yàn)槿绻偈肇浛睿瑢钠湫剿娍鄢? ? 處理支付:完成一次銷售對(duì)應(yīng)的支付,包括現(xiàn)金支付,信用卡支付和支票支付。 ? 記賬系統(tǒng):能夠準(zhǔn)確地記錄每次銷售支付信息。 ? 支持授權(quán)服務(wù):依據(jù)正確的通信格式進(jìn)行授權(quán)服務(wù)。能夠自動(dòng)、快速地更新記帳和庫(kù)存信息。確保記錄了支付授權(quán)服務(wù)的支付票據(jù)。得到購(gòu)買憑證,以便退貨。 ? 顧客:希望以最小代價(jià)完成購(gòu)買活動(dòng)并得到快速服務(wù)。 軟件工程 (Software Engineering) 沈陽(yáng)工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 45 舉例 ? POS機(jī)系統(tǒng)的相關(guān)者 ? 收銀員:能夠準(zhǔn)確、快速地輸入,而且沒有支付錯(cuò)誤,因?yàn)槿绻偈肇浛?,將從其薪水眾扣除? ? POS機(jī)必須支持日益增多的各種的客戶終端和接口,比如多種形式的用戶圖形界面、觸摸屏輸入裝置、無(wú)線 PDA等。 ? 經(jīng)理還能處理顧客退貨。 軟件工程 (Software Engineering) 沈陽(yáng)工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 43 設(shè)計(jì)優(yōu)化 軟件工程 (Software Engineering) 沈陽(yáng)工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 44 舉例 ? POS機(jī)系統(tǒng) ? 收銀員可以記錄銷售商品信息,系統(tǒng)計(jì)算總價(jià)。 ?對(duì)類圖進(jìn)行分析的時(shí)候也必須理解類圖和類之間的關(guān)系如何映射得到具體的實(shí)現(xiàn)類。 ?通過交互圖中對(duì)象之間的交互,找出對(duì)象所屬的類以及類之間的關(guān)系。 軟件工程 (Software Engineering) 沈陽(yáng)工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 36 面向?qū)ο笤敿?xì)設(shè)計(jì) 軟件工程 (Software Engineering) 沈陽(yáng)工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 37 面向?qū)ο笤敿?xì)設(shè)計(jì) 軟件工程 (Software Engineering) 沈陽(yáng)工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 38 面向?qū)ο笤敿?xì)設(shè)計(jì) 軟件工程 (Software Engineering) 沈陽(yáng)工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 39 面向?qū)ο笤敿?xì)設(shè)計(jì) ? 精化的類圖 ? 類圖和對(duì)象圖是設(shè)計(jì)階段的主要制品 ? 順序圖和協(xié)作圖中的消息映射為類圖中的方法,交互消息的對(duì)象映射為類的對(duì)象,每個(gè)消息的交互實(shí)現(xiàn)映射為類圖和對(duì)象圖中方法的實(shí)現(xiàn)。又根據(jù)創(chuàng)建者模式得出應(yīng)該由 Register創(chuàng)建 Sale。根據(jù)控制器模式我們還需要設(shè)計(jì)一個(gè)轉(zhuǎn)發(fā) makeNewSale請(qǐng)求的對(duì)象 Register。 ? 例如設(shè)計(jì) makeNewSale操作。 ?例如,在 POS機(jī)系統(tǒng)領(lǐng)域模型中包的結(jié)構(gòu) 軟件工程 (Software Engineering) 沈陽(yáng)工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 35 面向?qū)ο笤敿?xì)設(shè)計(jì) ? 精化的交互圖 ? 在交互圖中,領(lǐng)域模型指出了需要設(shè)計(jì)的軟件對(duì)象,設(shè)計(jì)模型中的設(shè)計(jì)類是以領(lǐng)域模型的類為基礎(chǔ)的。 ? 基于信息需求,可以采用兩種方法對(duì)此問題解決: ? 一是可以在 ProductDescriptions中保存當(dāng)前價(jià)格,僅將銷售發(fā)生時(shí)的價(jià)格寫入 SalesLineItem; ? 二是將一組 ProductPrices與 ProductDescriptions關(guān)聯(lián),每個(gè)ProductPrices關(guān)聯(lián)適用的時(shí)間間隔。如果 SalesLineItems從 ProductDescriptions取得當(dāng)前價(jià)格,當(dāng)價(jià)格改變時(shí),以前的銷售將指向新的價(jià)格,這很顯然是不正確的。 ? 識(shí)別組合聚集的好處 ? 有利于澄清部分對(duì)整體的依賴的領(lǐng)域約束; ? 對(duì)整體的復(fù)制、拷貝這些操作經(jīng)常會(huì)傳遞給部分 軟件工程 (Software Engineering) 沈陽(yáng)工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 31 面向?qū)ο笤敿?xì)設(shè)計(jì) 軟件工程 (Software Engineering) 沈陽(yáng)工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 32 面向?qū)ο笤敿?xì)設(shè)計(jì) ? 時(shí)間間隔 ? 例如, POS機(jī)系統(tǒng)在初始設(shè)計(jì)時(shí), SalesLineItems與 ProductDescriptio