【正文】
變得混亂,而找出這些關聯(lián)需要消耗太多時間,效益卻不大 ?避免顯示冗余的或者可派生的關聯(lián) 上海交通大學計算機科學與工程系 2022/8/17 68 關聯(lián)需要多詳細 ? ?確定概念類比找到關聯(lián)更重要 . ?領域模型構建時,主要的時間要花在確定概念類上,而不是找關聯(lián)上 上海交通大學計算機科學與工程系 2022/8/17 69 關聯(lián)和實現(xiàn) ?在領域建模時,關聯(lián)只是針對現(xiàn)實領域從純概念角度看有意義的關系 ?并不需要實現(xiàn) ? Or ?我們后面可以發(fā)現(xiàn)在領域建模時丟失,而需要實現(xiàn)的關聯(lián) 上海交通大學計算機科學與工程系 2022/8/17 70 NextGen POS 領域模型中的關聯(lián) ?在商店中需要記住的關系 ? Register Records Sale ? Sale Paidby Payment ? ProductCatalog Records ProductSpecification ?運用關聯(lián)類別檢查表 ? A is a physical part of B: RegisterCashDrawer ? A is a logical part of B: SalesLineItemSale ? …… 上海交通大學計算機科學與工程系 2022/8/17 71 POS的部分模型 R e g i s te rI t emS t or eS a l eP a y m en tS a l e sL i n e Ite mC a s h i erC u s t o m e rM an a ge rP r o du c tC a t al o gP r o du c tS p ec i f i c a t i o nS t oc k s*H o u s e s1 . .*U s ed b y*C o n ta i ns1 . .*D e s c r i b e s*C a p tu r e d onC o n ta i ne d i n1 . .*D e s c r i b e d by*R e c o r d s s al e of0 . .1S t ar te d b yP a i d b yI n i t i a t e d b yL og s c o m pl e te d?*? R e c o r d s s al e s o n111111 . .*1111111111 11I n i t i a t e d b y11Emphasize needtoknow associations, but add choice prehensiononly associations to enrich critical understanding of the domain. 上海交通大學計算機科學與工程系 領域建模 : 添加屬性 上海交通大學計算機科學與工程系 2022/8/17 73 ?確定領域模型中的屬性 ?區(qū)別正確的和不正確的屬性 上海交通大學計算機科學與工程系 2022/8/17 74 ?屬性是對象的邏輯數(shù)據(jù)值 ?將下列屬性包含在領域模型中:當需求(例如用例)建議或暗示需要記住信息時,引入屬性 上海交通大學計算機科學與工程系 2022/8/17 75 屬性的標記 S a l ed a t es t a r t T i m e : T i m ea t t r i b u t e s上海交通大學計算機科學與工程系 2022/8/17 76 ?保持屬性類型的簡單性 C a s h i e rn a m ec u r r e n t R e g i s t e rC a s h i e rn a m eR e g i s t e rn u m b e rU s e sWo r s eB e t t e rn o t a s i m p l e a tt r i b u te1 1F l i g htF l i g htd es t i n at i onW o r s eB e t t e rF l i e s t o A i r po r t1 1d es t i n at i on i s a c om pl e xc o n c e pt通過關聯(lián)而不是屬性來表示概念類之間的關系 上海交通大學計算機科學與工程系 2022/8/17 77 ? Primitive Types (number, string) ? Nonprimitive data type (phone number) ? 如果它能夠自然地表示為數(shù)值,字符串,布爾量,日期,或者時間,那么它就是一個屬性,否則將它表示為一個單獨的概念類 ? It is posed of separate sections ? There are operations usually associated with it, such as parsing or validation ? It has other attributes ? It is a quantity with a unit ? It is an abstraction of one or more type with some of these qualities 上海交通大學計算機科學與工程系 2022/8/17 78 例子 ?在商品識別中,有各種編碼系統(tǒng) (包括 UPCA, UPCE, 以及 EAN 系統(tǒng)家族 ) ?它攜帶有信息表示制造商,產(chǎn)品,國家和加和驗證碼 ?它可以定義為一個非原子的 ItemID類 ?是否一定要這么做呢 ? 上海交通大學計算機科學與工程系 2022/8/17 79 OKOKI t e m I DP r o d u c tS p e c i f i c a t i o nP r o d u c tS p e c i f i c a t i o ni d : I t e m I D1A d d r e s sS t o r eS t o r ea d d r e s s : A d d r e s s11 1領域模型是一種溝通工具,確定采用哪種解決方式都要考慮到這一點 上海交通大學計算機科學與工程系 2022/8/17 80 設計蠕變:任何屬性都不表示外鍵 ?可以用很多方法表示對象之間的關系,外鍵就是其中一種方法,我們將推遲到設計后再決定如何實現(xiàn)對象關系,以避免設計蠕變 design creep. C a s h i e rn a m ec u r r e n t R e g i s t e rC a s h i e rn a m eR e g i s t e rn u m b e rU s e sWo r s eB e t t e rn o t a s i m p l e a tt r i b u te1 1上海交通大學計算機科學與工程系 2022/8/17 81 NextGen R e g i s t e r Item S t o r ea d d r e s s : A d d r e s sn a m e : T e x tS a l ed a t e : D a tet i m e : T i m eP a y m e n ta m o u n t : M o n e yS a l e sL i n e I te mq u a n t i t y : I n t e g e rC a s h i e r C u s t o m e r M a n a g e rP r o d u c tC a t a l o gP r o d u c tS p e c i f i c a t i o nd e s c r i p t i o n : T e x tp r i c e : M o n e yi d : I t e m I D上海交通大學計算機科學與工程系 2022/8/17 82 從多重性中派生的屬性 S a l e s L i ne I t em I t emR e c o r d s s a l e o f 10 . .1S a l e s L i ne I t em I t emR e c o r d s s a l e o f0 . .1 1 . .*E a c h l i n e i te m r ec o r ds as e p a r at e i t e m s al e .F o r ex a m p l e , 1 t o f u p a c k ag e .E a c h l i n e i te m c a n r e c or d ag r o up o f t h e s am e k i nd o f i t em s .F o r ex a m p l e , 6 t o f u p a c k ag e s .S a l e s L i ne I t em/ q ua n t i t yI t emR e c o r d s s a l e o f0 . .1 1 . .*d er i v ed at t r i b ut e f r omt h e m ul t i p l i c i t y v al u esolidas 上海交通大學計算機科學與工程系 2022/8/17 83 ?有 效的領域模型捕獲了當前需求情形下的本質(zhì)抽象和理解該領域所需要的信息,并且可以有助于人們理解領域的概念、術語和關系 ?沒有單一正確的答案 上海交通大學計算機科學與工程系 4. 系統(tǒng)順序圖 (第 10章) 上海交通大學計算機科學與工程系 2022/8/17 85 目標 ?對用例建模需要更多的調(diào)研 ?確定系統(tǒng)事件為用例場景創(chuàng)建系統(tǒng)順序圖 ?工具: UML 順序圖 ? 順序圖描述了對象之間的交互模式,并按照時間順序排列;它通過生命線顯示了參與交互的對象以及相互間發(fā)送的消息 上海交通大學計算機科學與工程系 2022/8/17 86 系統(tǒng)行為 ?表述系 統(tǒng)是什么,而不解釋它是如何做的 ?將系統(tǒng)作為黑盒子 ?系統(tǒng)順序圖 ? 它展示了對一個特定的用例,外部的參與者產(chǎn)生的事件,它們的順序以及系統(tǒng)內(nèi)的事件