ezScrum是一個支援Scrum流程的專案管理軟體,開發至今已有四年的時間。隨著使用者需求的改變,這四年來ezScrum陸續增加了許多新的功能,包含線上程式碼檢閱、議題追蹤、以及擴充報表系統內容等等。然而,ezScrum在開發之初並未考慮到如此多樣化的功能擴充需求,導致每次擴充都需修改到許多系統原有已可正常運作的功能。如此的擴充方式除了造成實作時間拉長,系統也經常因為修改到既有的功能而不小心產生新的缺陷,造成軟體品質下降與不穩定。為了解決此一架構上的問題,本論文將插件架構導入ezScrum之中,探討此一架構重整所遭遇到的問題以及解決方法,並以實際案例說明如何在重整後的ezScrum中新增一個插件。我們認為在本研究中所導入插件架構方法,可作為類似系統改善擴充性的參考。
ezScrum is a project management software to support the Scrum process, it was first released four years ago. Due to users need, many new functions have been added to ezScrum over the past four years, including the online code review, issue tracking, and the expansion of the reporting system. However, since ezScrum did not take into account such diverse functions expansion in the early stage of development, each expansion unavoidably involves modifications to normally functioning features of the system. This implies that an expansion may not only take a longer time to implement but also cause new defects inadvertently, which results in a poor quality and low stability software. To tackle this problem, plug-in framework is applied to reorganize ezScrum, the problems encountered and the counter measures associated with the reorganization are addressed. An example that demonstrates the way to add a new function via plug-in to the resulting architecture is also given. We believe that the plug-in architecture presented in this research can also be applied to similar systems as a measure to improve their extension capability.