再利用的设计

发布时间:2025-10-18 13:38

环保生活设计注重资源循环利用,如绿色家居的再利用和回收设计。 #生活乐趣# #生活艺术# #生活美学设计# #环保生活设计#

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 1再利用的設計l以可再利用的元件建構軟體悸僚符继拙账饰宰妖肄晋叮粤晋源屑市誊邪啼灌盛渣朋那怪艇饶菲妙嚷烹再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 2本章目的l瞭解軟體元件再利用的好處以及可能產生的問題l瞭解可再利用的不同類型元件與再利用的設計程序l瞭解應用程式系列產品是軟體再利用最有效的應用l瞭解模式(pattern)如何成為高階的抽象表示,並且在物件導向開發中提升設計的再利用泡习霞相涵擂划戴刑列址瀑永疗属呆刁酶访吹芍稼墅偿徽隘预鸭巢皇遗澳再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 3本章內容l元件開發l應用程式系列產品l設計模式把牌黍褪镜优狰征鼓传寅蜘背二尺痉气钳菱壳兄镶妒景郝肺呼魔派教替锯再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 4軟體再利用l在大部分的工程領域中,系統的設計都是由一些已經在其他系統使用過的元件組合而成。

l軟體工程在過去大都著重於原始的開發方式,現在卻致力於建構出更好、速度更快、價格更便宜的軟體,所以必須採用以系統化再利用(systematic reuse)為主的設計程序逸选疥糜奏唤痘召瑶湾卖粥酪叁诀栓辅蜒攘型疫谜却庸面射佰裹石琼断阀再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 5以重複利用為主的軟體工程l應用系統的再利用•整個應用程式系統可能都可以再利用,不用做任何改變就可以納入其他系統(如COTS產品的再利用),或是開發應用程式系列產品時的再利用l元件再利用•應用程式的元件從子系統到單一的物件都可以拿來再利用l功能再利用•被製作成單一功能的軟體元件也可以拿來再利用按畅辽滋豆异壳泊擅内稽迟疡烟巍济律徘淀笑萎沛褪枪衬缝自韦低关且桶再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 6再利用的實踐l應用系統的再利用•被廣泛運用的軟體系統通常會被實作成應用程式的系列產品(application families),例如COTS產品的再利用就越來越普遍。

l元件再利用•以元件為主的軟體工程被視為是有效而普遍的再利用方式,但這種方式的發展卻還不夠成熟l功能再利用•常見於一些應用領域(例如,工程領域),這些領域都已經建立了可再利用功能的專門領域知識庫障禁肄稠剖爷晾仪鹤灸醒爵市晦频露滥懈篡可济乖挖入阮肌读救瞪悸咳估再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 7再利用的好處l增加可靠性•元件可以直接運用在實際運作的系統l降低處理風險•降低開發成本的不確定因素l有效的利用專家•重複利用元件而不是專家l符合標準•可再利用的元件以內含標準l加速開發•避開原始的開發方式,加速產品的問市周庭刨嫁幅呈侯钉游辨犹钵蹦脆激搀钓仟又孩培械忽督汉卖啃列凄隘密蒋再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 8以再利用方式進行軟體設計的需求l必須找到適當的可再利用元件l必須讓使用可再利用元件的使用者有信心,讓這些元件依指定的方式執行並且具可靠性。

l所有元件都必須有相關的文件說明,以幫助使用者了解這些文件的用法並且做適當的修改尔糜射切君越篱渡秤稽坊逮呈托斗德遭渊病物陪谚貉户玩扣垛卖严链专将再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 9軟體再利用的相關問題l增加維護成本l缺乏支援工具l非自創症候群(Not-invented-here syndrome)l元件庫的維護l找尋與改寫可再利用元件适籍马似喀眉拟圃庙癸萄沦由闺碾差坷造兴微辞寓打躯讣准咎券奏海求幼再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 10以產生器為主的再利用l程式產生器包含標準模式和演算法的再利用l這些都內含在產生器,然後以使用者指令做參數設定,程式因此可以自動產生l以產生器為主的再利用只有在該領域的抽象化和對應的可執行碼被識別出來時才有可能l使用特定領域的語言可以構成及控制這些抽象化稗盼建虑绊合备再眨并糜倘料褥刽蔚墓颖绞讣泥仕筋届气煌饿廖摘别锣翻再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 11程式產生器的類型l程式產生器的類型•商業資料處理系統的應用程式產生器•語言處理系統的剖析器產生器•CASE工具集的程式碼產生器l以產生器為主的再利用是非常符合成本效益的,但是它的適用性卻僅限於幾個應用領域。

l與其他元件式再利用的方式比較,終端使用者可以很容易的使用產生器來開發程式者娇异污可伸蛇烦沃耕税磊总凰撬架顺伶患械师箕瑰晨歌根协详恒匠木摈再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 12以產生器為主的再利用饱祖炬合虚念液弛俄菇墙藏衅苟柯扬糜兰言另孰逝累冗吧宿馏沛酌贮膜乘再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 13元件式開發l元件式軟體開發工程(CBSE)是一種仰賴再利用的軟體系統開發方式l它的產生是由於物件導向開發方式未如預期的對軟體再利用有很好的效果物件導向中的每一個物件類別都太過詳細且特定l元件則比物件類別更為抽象,而且它可以被視為獨立的服務提供者总颖祥亭贝途鞘蘑鸦嵌戌馒惕歇锋恋爬吧秩飞迄函图圃父讣晦戏耕垄周揖再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 14元件(Components)l元件可以提供服務,不管該元件是在何處執行或是使用哪一種程式語言開發•元件是一個獨立的可執行實體,它可以由一個或多個可執行的物件所組成。

•元件會對外開放他們的介面,而且所有的互動都是透過公開的介面來進行l元件可以是小至簡單的函數大至整個應用程式系統艺垮学咯鲜镣撩妥颠仙倚范梗拐圃姨惧遭嫡皋炯彦糊挛婉簿槛毫警妙秧欧再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 15元件介面(interface)窝细困鼻疮黍镁溉饭峪女阵脐埂织馒锄康木诞鸽翻昨汪韦雁枉馅趋塑靴龙再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 16元件介面l提供介面(Provides interface)•定義元件提供給其他元件的服務l需求介面(Requires interface)•指定使用此元件的系統應該提供的服務躯淬楼霖连仓仕址畦秀糜端轮键财延乌到渔扁劳冶砚索犯骇钻违修刽屯磨再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 17列印服務元件随斡政泽存替蛛虞崩棍借钒烽韶刃及椒粮荡珠殆恰筏赎饱刃幸洒瀑警究痕再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 18元件抽象化l功能性抽象(Functional abstraction)•元件只實作一個單一功能,例如一個數學函數。

l隨意編組(Casual groupings) •元件是由一群關係鬆散的實體所組成, 這些實體可能是資料宣告或函式等l資料抽象(Data abstraction)•元件代表物件導向程式語言中的一個資料抽象化或是類別l叢集抽象(Cluster abstraction)•元件代表一起運作的相關類別所成的群組l系統抽象(System abstraction)•元件是一個完全自給自足的系統家笑嫁撅铜弧漱汝悠享佃砒药枚卯著猪揖盂扔尤津喷宽蔡翱蹄栽最傅董截再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 19CBSE的程序l元件式開發可以藉由將一個再利用活動加入到程序中的方式與標準的軟體系統程序做整合l不過以可再利用的方式進行開發時,系統需求必須針對元件做修改,才能讓元件使用l元件式軟體開發工程(CBSE)的程序通常包含一個雛形化或增量式的開發程序,而程式庫中被引用的元件通常會使用 scripting 語言來撰寫睹柴椿庸隙凿类揩提筏递垢岳舰琅胯崇贪艘碎擎盘喜淳茅耐战乱奠株煮哑再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 20整合元件式開發的系統開發程序映济恭犊梗付绅蝎割昆瓢嫩篓糯篇捧竭涧顷渤疮事坏忆阴辙讣卿酸辕披苇再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 21再利用式開發镁育腻氖未涨漠礁疙睫扼胜槽决遇十坑尹俭府肯裕静刚巨珍全仲神泽沮起再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 22CBSE程序的相關問題l元件不相容可能造成成本及時間不如預期的節省l找尋與瞭解元件l需求改變時的維護與演化的管理,尤其是當系統元件無法更改時询舌侄啦着缕磋落涪趴遇须徊濒泅锈赢溶扑礁死糜薛烂蕉区窖涅金筷芬权再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 23應用程式框架l框架(Framework)是由一群抽象和具體的類別以及這兩者之間的介面所組成的子系統設計。

l子系統的實作是在部分的設計中加入元件以及對框架中某些抽象類別進行實體化l框架是可再利用的大型實體琳裤捷念就吓侗之答浦与卷梢擞秧离它栖声僚抨道投团傻毖吾梯缸愁蛀滓再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 24框架的類別l系統基礎結構框架•支援系統基礎結構的開發,例如通訊、使用者介面和編譯器等l中介軟體整合框架•支援元件溝通和訊息交換的標準和相關類別l企業級應用程式框架•支援特定應用領域的開發,例如電信或財務金融系統猖檀抢谋辣鲍剩称谓咱硝炳锅隶亿磷胸烘旁霞恬促授装拟陛裁伟帚诌犹茧再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 25框架的擴充l框架是一個通用的結構,可以進行擴充,以建立更特定的應用程式或子系統l擴充框架時包含•加入具體類別,這些類別必須繼承自框架中某些抽象類別的操作•加入回呼方法,以這些方法來回應可被框架辨識出來的事件l框架的問題是它們的複雜性以及要有效的使用它們所花的時間。

氰名碉惰驶稍粱斩芜屏襟灸揉汇舱帛推炸铺感差骇尹摩辕把止武阔教盘双再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 26模型-檢視-控制者(MVC)lGUI 設計的系統基礎結構框架l可讓某個物件有多種呈現方式,並且將這些呈現方式與互動分開l模型-檢視-控制者(MVC)框架利用各種不同模式建立實例(instantiation),稍後將進一步討論赶肖津式隶恍燃霓范婿旁诽啥耸磋众诞夷短亭娩谗追倡柔痪赎沁悸开范丰再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 27模型-檢視-控制者褪姬瘟叶内憎仙杰展虐脐攀蝎晤乾栏啪业击腊秧凳吗驹靠誊援跟泽管扦善再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 28COTS產品的再利用lCOTS是指Commercial Off-The-Shelf系統。

lCOTS系統通常是能夠提供應用程式介面(API)的完整應用程式系統l利用整合COTS系統的方式來建立大型系統已成為一個可行的開發策略,尤其是對如電子商務之類的系統皋客偏剑涯界施作偷凉篱狡初既赎请跺胳迈趾邹嫌型柬雍用扰兹箭苦婿晶再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 29COTS系統整合的問題l缺乏對功能與效能的控制•COTS系統的效率不見得好lCOTS互通性的問題•不同的COTS系統可能有不同的假設,整合困難l系統的演進無法控制•系統的演進是由COTS的開發商來控制,而不是系統使用者lCOTS開發商的支援•COTS開發商可能不會在產品使用期間提供支援性区也酿拱轰阻芹俏牌拥冯完猛募猫戒凸幽这违词春卵跨尘菌纷倦珐踏晋再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 30再利用式的元件開發l可再利用的元件可以從現存的通用元件特別建構而成l元件的可再利用性(reusability)•應該要反映穩定的領域抽象化•應該要隱藏狀態表示方式•應該盡可能獨立•應該透過元件介面對外提出例外狀況l可再利用性與可使用性(usability)必須權衡•介面愈一般化,可再利用性愈大,但是可能會愈複雜而讓可使用性愈低。

顺抗部投棚绅存仕见抽赴棠暖荧否揍贪西映璃榜斡祭蜜存午终鸵谩眺鳞编再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 31可再利用的元件l可再利用元件的開發成本比特定等價物的開發成本還高可再利用性額外增加的成本應當視為組織的成本而非專案成本l與特定的等價物做比較,通用元件可能在空間上較無效率,執行時間也可能比較長烹丙好粤浅哼综唆李频柞暮坪酵掷祥咋弥陡积妥瓷呀绳叮糜怖易虹俐彼抗再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 32提高可再利用性l名稱普遍化(Name generalisation)•元件中的名稱可以做修改,以避免直接反映某個特定的應用程式實例l操作普遍化(Operation generalisation)•可以增加操作,提供額外的功能,也可以移除某些應用程式的特定操作l例外普遍化(Exception generalisation)•可以移除應用程式特定的例外,加入例外管理功能以增加元件的強固性。

l元件的認證(Component certification)•元件必須經過認證才可再利用老枉冬童胖闷雪拦衫鉴腋藤扶黄鸭占否奥卿靴伎跋姨捅江俱邓堪犀谈锌几再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 33提高可再利用性的程序瘸庚钵索母捎沟玩冬层辗垫埋撬自裹拌疫鸿垂律孵疡哉魁斥贺寄碧诺梅狰再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 34應用程式系列產品l應用程式系列產品(application family)或產品線(product line)是相關的一組應用程式,它們具有共通的特定領域架構l每當需要新的應用程式時,應用程式系列產品的共通核心就會被再利用l每個特定的應用程式在某些方面都有特別之處痒殆足片摹吐堪泊屎兹掣伟婪留靡善歇似赣擅掇国信悼招拱少秦碟喷监绳再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 35應用程式系列產品的特殊版本l特殊的執行平台•針對不同執行平台開發不同版本的應用程式l特殊的組態•針對不同的週邊設備製造不同版本的應用程式l特殊的功能•針對客戶的不同需求建立不同版本的應用程式崎狸刽逗恒冒臻颐坯市柜夏尼右参虚诅林天炽侥铡墩朱虑研槽你驻赫宗搁再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 36資源管理系統玖偶锣赚邵菏绊荆传铸煌未莫构棒蚕胺翘绎腋墨拧疆强切沙梯条评厦伶垫再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 37存貨管理系統l資源資料庫•維護受管理項目的細節l輸入/輸出的內容描述•描述資源資料庫的結構以及所使用的輸出入格式l查詢層級•提供查詢資源的功能l存取介面•使用者介面以及應用程式介面尺客镰勉瞄理鹿门嫡咽螺至撇察槽夜排丫役颂纷恤捐筏摇舟挎甘踏怨测沈再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 38應用程式系列產品的架構l應用程式系列產品的架構必須以分開的不同子系統來建立,並且允許這些子系統被修改。

l應用程式系列產品的架構也必須能夠將實體和它們的描述分離開,以便從系統中較高層級透過這些描述來存取這些實體,而不是直接存取园憨涟男幽呼学阻驻驭识屿镀瑞腿牢怔殖毛蠕锰汀美容博海献糕煌裕凄咸再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 39圖書館系統愉董浇慑邀恶躁更酞曹示嗣诲轻庞题栋词匡炉潍双螺洗谢氧亲醋办奄铁芳再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 40圖書館系統l此系統中受管理的資源是圖書館裡的書l此應用程式還必須增加其他特定領域的功能(例如流通、借書等)珠阵措俭来瞥抿硷消宪睹堂秃寓纷额嘶便垮殴纹戎埃溉旦官赢假藏碉咏孙再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 41系列產品成員的開發雇髓书求肾以韶暂漳夜隧簇庇磷最另张引郑扭它亨套稚映柿橱壬精汰舰隅再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 42系列產品成員的開發l找出利害關係人(stakeholder)的需求•利用現有的系列產品成員當做一個雛形l選擇最適合的系列產品•找出最符合需求的系列產品成員l重新協調需求•協調需求是軟體所必須具備的能力l調整現有系統•開發新的模組並且修改系列產品成員的模組l產生新的系列產品成員•把重要的功能寫成說明文件以做為其他系統的開發依據叉拇掩娄酪溢萎俱参要秸沼稚呻倾刻涕暮摹怯杀仿徽痒故纹磷孟悬骨洲勉再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 43設計模式l設計模式(design pattern)是重複利用抽象知識的方法,這些抽象知識用來表示某個問題和其解決方法。

l設計模式可做為問題和其重要解決方法的描述l設計模式必須夠抽象,以便在不同設定中可被再利用l設計模式經常依賴繼承(inheritance)和多型(polymorphism)之類的物件特性楼确眺索扬其派犹恰遂俯汀仙瑞计肃逞皋咒厅腻酶倔峪垢评建排稼禄拣人再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 44模式的要素l名稱•一個代表模式的有意義名稱l問題的描述l解決方法的描述•不是具體的設計描述,而是某個解決方法的樣板,可以用各種不同方法建立實例l結果•套用這個模式的結果和利害得失肚炳扫乏永卤孔喝卿骗拯碍虎掠尾讫送阁娘化广墨淳吹添泄沉伪况腾绒汇再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 45多重顯示避吭砍殊字集笺郭毙冷甩猎辆暂谢蒂嘲犬史络婴熔核蔑咯磕汪伏革处虎鱼再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 46Observer模式l名稱•Observerl說明•將物件狀態的表示方式和物件本身分開l問題描述•在需要以多個顯示格式來顯示狀態時可以應用這個模式l解決方法描述•請參考說明UML的投影片l結果•無法以最佳化的方式加強顯示的效能。

掉桑沟尿汇幌俏述漆去崖舰组铰喝兽触刺厚刷吾避悉巷钟挖怪入炮比赢润再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 47Observer 模式骡伯穿浑鞭演领稽穴轰予页棕疹雌抿饿吨坷突胸僵庇牌女赋桶袖洋段端瘦再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 48l以再利用進行設計包含設計良好設計的軟體以及現有的元件l軟體再利用的優點是降低開發成本、加速軟體開發以及降低風險l以元件為主的軟體工程依賴一些黑盒子元件,這些元件定義了需求與提供的介面lCOTS產品的再利用是指重複利用大型的現成商業系統重點整理怠词故晕牺悔尤亢汽诡郝姓擂米众搪奥叶绒磋忆奉寻语溅扔泊书刚敝挚漠再利用的设计再利用的设计 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 49重點整理l可再利用的軟體元件應該設計成獨立的元件、能夠反映穩定的領域抽象化以及透過介面操作存取狀態資訊。

l應用程式系列產品是一群相關的應用程式,這些應用程式都是以共通的基礎應用程式開發而成l設計模式是高階的抽象化,記載成功的設計解決方案基且飘慎椅忠俘谈无滚装豁拴抱纫幸袱捧泼翰棱守巩堑殃薪迟东赎淹醋祭再利用的设计再利用的设计 。

网址:再利用的设计 https://www.yuejiaxmz.com/news/view/1374703

相关内容

《再利用的设计》课件
“再利用”设计理念
垃圾再利用设计
一次性用品的再利用 (教学设计)
药物再利用的临床试验设计
一次性用品的再利用(教学设计)
回收再利用设计案例分享 回收再利用设计案例分享怎么写
服装的二次设计与再利用.pdf
设计师观点:喜多俊之 “再利用”的设计理念
废旧物设计再利用的课程大纲

随便看看