SlideShare a Scribd company logo
1 of 6
資訊軟體人才培育推廣計畫
2015年8月
1
物件導向設計原則單元實習
國立成功大學計算機與網路中心
李信杰 助理教授
©2015 Software Engineering Consortium
實習目的
 讓學生練習依據了解需求來繪製出初步Class Diagram設計,練習檢視初步設
計問題,並應用設計原則來進行重構。
實習時間
 50分鐘
實習工具
 繪製UML的軟體,例如:StarUML或ArgoUML等
實習步驟
 步驟一:老師講解需求描述 (5分鐘)
 步驟二:學生進行初步設計 (15分鐘)
 步驟三:老師引導學生找出設計問題 (15分鐘)
 步驟四:學生運用設計原則進行重構,亦可視學習狀況請學生上台說明 (15分
鐘)
Lab
2
練習一:鴨子遊戲
3
©2015 Software Engineering Consortium
在設計一個鴨子遊戲中,有以下四種類型的鴨子: MallardDuck,
RedheadDuck, RubberDuck, and DecoyDuck.
所有類型的鴨子有相同的游泳行為(Swim),但長相(Display)卻
都不同。
一些鴨子可以以翅膀飛行(Fly),但是一些不行。
一隻鴨子可以發出Quack或Squeak的聲音,或者安靜無聲
(Silent)。
一隻鴨子可以在遊戲進行中(Runtime)改變飛行與叫聲方式,而
且未來有可能有新的飛行與叫聲行為。
請設計此遊戲系統的Class Diagram!
鴨子遊戲系統描述
4
練習二:供應商更換
5
©2015 Software Engineering Consortium
假設存在一個既有的類別(Client),而此類別需使用到一個供應
商類別(Vendor Class)的Method。
這時你發現有新的供應商能(NewVendor Class)提供更好的
NewMethod,但提供的介面卻是與前一個供應商提供的不同。
我們希望在加入新供應商時,不會動到原來的Client類別與原來
的Vendor類別。
請設計此供應商系統的Class Diagram!
供應商更換系統描述
6

More Related Content

Similar to 物件導向設計原則實習

特殊数据 - 4.docx
特殊数据 - 4.docx特殊数据 - 4.docx
特殊数据 - 4.docxrz7079811
 
Timothy Send 2008
Timothy Send 2008Timothy Send 2008
Timothy Send 2008Timothy lin
 
Explain Everything Self-pace Learning 20150322
Explain Everything Self-pace Learning 20150322Explain Everything Self-pace Learning 20150322
Explain Everything Self-pace Learning 20150322Jeff Ng
 
计算机系统综合课程设计——课程简介与小实验
计算机系统综合课程设计——课程简介与小实验计算机系统综合课程设计——课程简介与小实验
计算机系统综合课程设计——课程简介与小实验Gates Bill
 
特殊数据 - 4.pdf
特殊数据 - 4.pdf特殊数据 - 4.pdf
特殊数据 - 4.pdfrz7079811
 
E-Course Development Process and Labor Division
E-Course Development Process and Labor DivisionE-Course Development Process and Labor Division
E-Course Development Process and Labor DivisionTim Lu
 
數位學習與中小企業網路大學校使用者操作
數位學習與中小企業網路大學校使用者操作數位學習與中小企業網路大學校使用者操作
數位學習與中小企業網路大學校使用者操作yccservice
 
Slideshare數位學習
Slideshare數位學習Slideshare數位學習
Slideshare數位學習Mei-hui Zheng
 
项目立项操作指南
项目立项操作指南项目立项操作指南
项目立项操作指南dutbreak
 

Similar to 物件導向設計原則實習 (11)

特殊数据 - 4.docx
特殊数据 - 4.docx特殊数据 - 4.docx
特殊数据 - 4.docx
 
Timothy Send 2008
Timothy Send 2008Timothy Send 2008
Timothy Send 2008
 
Explain Everything Self-pace Learning 20150322
Explain Everything Self-pace Learning 20150322Explain Everything Self-pace Learning 20150322
Explain Everything Self-pace Learning 20150322
 
计算机系统综合课程设计——课程简介与小实验
计算机系统综合课程设计——课程简介与小实验计算机系统综合课程设计——课程简介与小实验
计算机系统综合课程设计——课程简介与小实验
 
特殊数据 - 4.pdf
特殊数据 - 4.pdf特殊数据 - 4.pdf
特殊数据 - 4.pdf
 
E-Course Development Process and Labor Division
E-Course Development Process and Labor DivisionE-Course Development Process and Labor Division
E-Course Development Process and Labor Division
 
數位學習與中小企業網路大學校使用者操作
數位學習與中小企業網路大學校使用者操作數位學習與中小企業網路大學校使用者操作
數位學習與中小企業網路大學校使用者操作
 
Lynn_resume
Lynn_resumeLynn_resume
Lynn_resume
 
單元測試
單元測試單元測試
單元測試
 
Slideshare數位學習
Slideshare數位學習Slideshare數位學習
Slideshare數位學習
 
项目立项操作指南
项目立项操作指南项目立项操作指南
项目立项操作指南
 

More from Shang-Pin Ma

2017-refactoring-02-重複的程式碼
2017-refactoring-02-重複的程式碼2017-refactoring-02-重複的程式碼
2017-refactoring-02-重複的程式碼Shang-Pin Ma
 
2017-refactoring-01-簡介
2017-refactoring-01-簡介2017-refactoring-01-簡介
2017-refactoring-01-簡介Shang-Pin Ma
 
2017-refactoring-實習教材
2017-refactoring-實習教材2017-refactoring-實習教材
2017-refactoring-實習教材Shang-Pin Ma
 
2017-refactoring-06-魔術數字
2017-refactoring-06-魔術數字2017-refactoring-06-魔術數字
2017-refactoring-06-魔術數字Shang-Pin Ma
 
2017-refactoring-05-巨大的類別
2017-refactoring-05-巨大的類別2017-refactoring-05-巨大的類別
2017-refactoring-05-巨大的類別Shang-Pin Ma
 
2017-refactoring-04-過多的參數
2017-refactoring-04-過多的參數2017-refactoring-04-過多的參數
2017-refactoring-04-過多的參數Shang-Pin Ma
 
2017-refactoring-03-過長的函式
2017-refactoring-03-過長的函式2017-refactoring-03-過長的函式
2017-refactoring-03-過長的函式Shang-Pin Ma
 
給高中生的Web Programming教材
給高中生的Web Programming教材給高中生的Web Programming教材
給高中生的Web Programming教材Shang-Pin Ma
 

More from Shang-Pin Ma (9)

2017-refactoring-02-重複的程式碼
2017-refactoring-02-重複的程式碼2017-refactoring-02-重複的程式碼
2017-refactoring-02-重複的程式碼
 
2017-refactoring-01-簡介
2017-refactoring-01-簡介2017-refactoring-01-簡介
2017-refactoring-01-簡介
 
2017-refactoring-實習教材
2017-refactoring-實習教材2017-refactoring-實習教材
2017-refactoring-實習教材
 
2017-refactoring-06-魔術數字
2017-refactoring-06-魔術數字2017-refactoring-06-魔術數字
2017-refactoring-06-魔術數字
 
2017-refactoring-05-巨大的類別
2017-refactoring-05-巨大的類別2017-refactoring-05-巨大的類別
2017-refactoring-05-巨大的類別
 
2017-refactoring-04-過多的參數
2017-refactoring-04-過多的參數2017-refactoring-04-過多的參數
2017-refactoring-04-過多的參數
 
2017-refactoring-03-過長的函式
2017-refactoring-03-過長的函式2017-refactoring-03-過長的函式
2017-refactoring-03-過長的函式
 
給高中生的Web Programming教材
給高中生的Web Programming教材給高中生的Web Programming教材
給高中生的Web Programming教材
 
如何學好Java
如何學好Java如何學好Java
如何學好Java
 

Recently uploaded

中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,Xin Yun Teo
 
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...黑客 接单【TG/微信qoqoqdqd】
 
EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxmekosin001123
 
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制jakepaige317
 
澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书
澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书
澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书kathrynalvarez364
 
布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书
布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书
布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书kathrynalvarez364
 
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxmekosin001123
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxmekosin001123
 
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制kathrynalvarez364
 
日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单
日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单
日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单jakepaige317
 
日本姫路独协大学毕业证制作/修士学位记多少钱/哪里可以购买假美国圣何塞州立大学成绩单
日本姫路独协大学毕业证制作/修士学位记多少钱/哪里可以购买假美国圣何塞州立大学成绩单日本姫路独协大学毕业证制作/修士学位记多少钱/哪里可以购买假美国圣何塞州立大学成绩单
日本姫路独协大学毕业证制作/修士学位记多少钱/哪里可以购买假美国圣何塞州立大学成绩单kathrynalvarez364
 

Recently uploaded (11)

中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
 
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
 
EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptx
 
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
 
澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书
澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书
澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书
 
布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书
布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书
布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书
 
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptx
 
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制
 
日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单
日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单
日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单
 
日本姫路独协大学毕业证制作/修士学位记多少钱/哪里可以购买假美国圣何塞州立大学成绩单
日本姫路独协大学毕业证制作/修士学位记多少钱/哪里可以购买假美国圣何塞州立大学成绩单日本姫路独协大学毕业证制作/修士学位记多少钱/哪里可以购买假美国圣何塞州立大学成绩单
日本姫路独协大学毕业证制作/修士学位记多少钱/哪里可以购买假美国圣何塞州立大学成绩单
 

物件導向設計原則實習

  • 2. ©2015 Software Engineering Consortium 實習目的  讓學生練習依據了解需求來繪製出初步Class Diagram設計,練習檢視初步設 計問題,並應用設計原則來進行重構。 實習時間  50分鐘 實習工具  繪製UML的軟體,例如:StarUML或ArgoUML等 實習步驟  步驟一:老師講解需求描述 (5分鐘)  步驟二:學生進行初步設計 (15分鐘)  步驟三:老師引導學生找出設計問題 (15分鐘)  步驟四:學生運用設計原則進行重構,亦可視學習狀況請學生上台說明 (15分 鐘) Lab 2
  • 4. ©2015 Software Engineering Consortium 在設計一個鴨子遊戲中,有以下四種類型的鴨子: MallardDuck, RedheadDuck, RubberDuck, and DecoyDuck. 所有類型的鴨子有相同的游泳行為(Swim),但長相(Display)卻 都不同。 一些鴨子可以以翅膀飛行(Fly),但是一些不行。 一隻鴨子可以發出Quack或Squeak的聲音,或者安靜無聲 (Silent)。 一隻鴨子可以在遊戲進行中(Runtime)改變飛行與叫聲方式,而 且未來有可能有新的飛行與叫聲行為。 請設計此遊戲系統的Class Diagram! 鴨子遊戲系統描述 4
  • 6. ©2015 Software Engineering Consortium 假設存在一個既有的類別(Client),而此類別需使用到一個供應 商類別(Vendor Class)的Method。 這時你發現有新的供應商能(NewVendor Class)提供更好的 NewMethod,但提供的介面卻是與前一個供應商提供的不同。 我們希望在加入新供應商時,不會動到原來的Client類別與原來 的Vendor類別。 請設計此供應商系統的Class Diagram! 供應商更換系統描述 6