数位家庭软体开发与再利用.PPT

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数位家庭软体开发与再利用

Software Engineering for Digital Home Software Engineering for Digital Home 單元4:數位家庭軟體開發與再利用 Chapter 4-1 –軟體再利用 Outline Introduction Reuse concepts Inheritance Delegation Design pattern (TeachingSite case study) * Software life cycle * Software life cycle Development cycle Design Implementation Testing Maintenance Requirements Engineering Requirements Elicitation System design Object design Analysis model SRS Class Diagrams System Object Topic * Class diagram Using pattern solution (CH8) Class diagram Using design patterns solve design problems 1. How to select a design pattern (如何選擇) 2. How to use a design pattern (如何使用) Analysis (CH5) Reuse concepts 物件設計期間的繼承目的為降低系統冗餘(redundancy)和提高延展性 設計繼承的步驟: 步驟一:把重複的屬性操作都放到一個superclass 步驟二:為了降低不一致的狀況發生,同時間我們只做一次步驟一的行為,換句話說,就是一次只產生一個superclass 好處: 藉由design patterns的輔助,讓CH5 analysis階段產生的analysis model更容易了解 讓我們接下來設計的object design mode更具備可修改性以及延展性 這些好處不會自動出現的,要分割配置一個好的object design需要經驗以及知識的累積 * Class diagram notation 子類別連結到父類別的三角形代表類別的繼承 物件參考藉由指向主要部份的實心菱形表示出類別之間組合的關係 單箭頭表示單向參考;直線表示雙向參考 虛線箭頭表示“建立”關係 * 功課 個人作業 課程 課程公告 學生 學生分組報告 分組報告 學生分組報告 學生 課程 Design Composite and Inheritance * 個人作業 分組報告 功課 新增 ():Bool 修改 ():Bool 刪除 ():Bool 課程 功課列表() 課程介紹() 新增 ():Bool 修改 ():Bool 刪除 ():Bool 新增 ():Bool 修改 ():Bool 刪除 ():Bool 課程 個人作業 分組報告 作業列表() 報告列表() 課程介紹() 新增作業():Bool 修改作業():Bool 刪除作業():Bool 新增報告():Bool 修改報告():Bool 刪除報告():Bool Implementation inheritance /* 使用繼承實作個人作業 */ class PersonalAssignment extends Homework{ /* Constructor omitted */ PersonalAssignment() { } void Execute (element) { if (element.state == “add”){ This.Add (); } } /* Other methods omitted */ } * 個人作業 功課 新增 ():Bool 修改 ():Bool 刪除 ():Bool 新增 ():Bool 修改 ():Bool 刪除 ():Bool Delegation * /* 使用委派實作個人作業 */ class PersonalAssignment { private Homework PersonalAssignment ; PersonalAssignment () { PersonalAssignment = Homework(); } void Execute (element) { if (element.state == “Add”){ PersonalAssignment.Add (); } } /* Other me

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档