2017 年第 13 屆台灣軟體工程研討會於 7/8 圓滿落幕。本次共有25 個學術研究單位參加,包含中央大學、中央研究院、中正大學、中華電信研究所、元智大學、台中教育大學、台北大學、台北科技大學、台灣大學、交通大學、成功大學、亞洲大學、宜蘭大學、東吳大學、東海大學、虎尾科技大學、政治大學、修平科技大學、海洋大學、高雄師範大學、崑山科技大學、逢甲大學、嘉義大學、輔仁大學、靜宜大學等。第一天參與會議約 180 人,晚宴席開12桌約 120 人,第二天半天的活動也有約 100 人與會。 本次大會主題為 Software Engineering and Data Science,共有 83 篇投稿,最後收錄 75 篇論文,包含 12 篇英文論文,6 篇展示論文及 57 篇中文論文。針對這三類論文共邀請九位委員選出六篇最佳論文,其中最佳英文論文兩篇: Chien-Hung Liu and Woie-Kae Chen, Coupling Analysis and Visualization of KDT Scripts. (台北科技大學) Hwai-Jung Hsu and Yves Lin, How Agile Works in a Software Corporation: An Empirical Study of Assessing Agile Methods from Viewpoints of Business Data Analytics. (逢甲大學, 鈦坦科技) 最佳中文論文三篇: 徐偉哲, 鄭永斌, Virtual Objects for Program Visualization in xDIVA (中央大學) 李信杰, 黃琪恩, 游傑麟, 以Text-Attribute- Context為基礎識別演化網頁中變動元素之方法與自動化網頁回歸測試之實務應用 (成功大學) 陳鵬中, 馬尚彬, 呂致緯, LODE: 鏈結開放資料之建立、查詢與服務生成平台 (海洋大學) 以及最佳展示論文一篇 李霽烝, 陳薇涵, 陳錫民, 基於共享機制的計程車評價分享平台 (逢甲大學) 感謝李允中教授的協助,特別邀請到美國 University of Texas at Dallas 的 Prof. Lawrence Chu...
看到「好人難為」一文,主角是一位專班學生,看來他似乎很委曲,因此我在意見箱內提議,他可以好好研究一下軟體設計的第一原則:Open-Closed Principle (OCP),或許可以解決他的困擾,這件事涉及到軟體工程的教育與訓練的問題,也就是說,學以致用的問題,因此有必要寫一篇短文以OCP為例,來談談軟體設計原則的運用,這些原則並非軟體發展的食譜(cookbook),而是發展者必須放在心裡的「指引」(guideline),這種指引必須落實成為diciplines,其他如設計樣式(design patterns)也具有指引特性,因此才能廣泛運用,也就是說,可以重覆使用(reuse),學習時最好蒐集一些範例,可能有助於這些設計原則或樣式的運用,有如念法律的人必須研究一些判例一樣,學習軟體發展方法時也不例外。 OCP是物件導向方法的核心,1988年由Bertrand Meyer在他的著作" Object-Oriented Software Construction "一書提出,它是說:「軟體實體必須能夠延伸但不能修改」(Software entities should be open for extension but closed for modification),換言之,必要時可以延伸軟體實體的功能但不必修改它,該軟體實體可以是類別、模組、功能、程式、或組件,完全看你用在何處。Meyer的原意是說,類別實作(或程式)除了須要除錯外,如要改變功能或增加新功能時不得改變父類別(superclass),而由子類別(subclass)來達成,子類別可以利用繼承(inheritance)機制重用父類別的屬性或作業元,但可改變或增減其功能,因此繼承不旦可以重用父類別的實作,同時可以延伸原功能,該子類別的介面可以異於父類別的介面,這是一般具有物件導向的人所熟悉的繼承機制。 到1990年代OCP被重新定義為,新介面可以繼承自「抽象類別」,但非繼承實作部分,原介面不得修改,也就是說,你設計的組件或模組不能改變,當需求改變時,你可以增加新程式以延伸該模組的功能,但不能改變你也許認為十分完美而能作業的原程式,請看下圖(R.C. Martin), 左邊圖形表示,如果Client想使用另一個Server時,Client必須改變,因為兩者皆是concrete,這樣就不...
留言
張貼留言