透過您的圖書館登入
IP:18.220.28.21
  • 學位論文

軟體生產線的導入:以一個小型軟體公司為例

Implementing Software Product Lines: A Case Study

指導教授 : 曹承礎

摘要


企業界永遠在尋找一個方法能更快速的將更便宜更好的產品推到市場,製造業在這方面做得比軟體業好的太多了。製造業用的方法是讓一系列類似的產品能共用一些零件。共用的零件越多,產品開發的速度越快,成本也越低,品質也會越好。如果軟體業也能和製造業一樣,將已開發完成的軟體元件重複的使用在一系列產品線上,台灣的軟體業也許能像製造業一樣蓬勃發展。這種將已開發完成的軟體元件重複的使用在一系列產品線上的做法叫做軟體生產線(Software Product Line,或SPL)。SPL的核心是所謂策略型的重複使用(strategic reuse),意思是在不同的軟體開發階段都能夠重複使用各類不同層次的軟體元件,進而提高軟體元件的重複使用率。 SPL 的三個主要的研究方向是 (1) 生產線工程,product line engineering、(2) 軟體架構,software architecture 和 (3) 元件技術,,component technology。這三種技術的高度關聯性形成了SPL的基礎。導入SPL的公司號稱他們大大的降低了成本,縮短的產品上市所需的時間,並改善了品質。 導入SPL所費不貲。對一個小型且資源匱乏的台灣軟體公司而言,導入SPL是否可行? 本論文對一個小型軟體公司進行先導性的SPL導入專案做了一些探討,希望從這個專案所學到的經驗能夠提供一些參考價值給想要導入SPL的小型台灣軟體公司。

並列摘要


There is a never-ending quest to find a quicker way to push cheaper and better products onto the market. The manufacturing industry is doing a much better job than the software industry. The manufacturing industry did it by sharing common parts on a family of products such as different models of aircrafts and different models of cellular phones. If the software industry can mimic the manufacturing industry by reusing components on a family of software products, the software industry in Taiwan may flourish like manufacturing industry. The attempts to do that is called Software Product Lines, or SPL. The heart of SPL is strategic reuse, meaning raising reuse rate by reusing components at various stages of software development and of various grain sizes. The three main focus of SPL research are (1) product line engineering, (2) software architecture and (3) component technology. These three disciplines closely interact with each other to form the basis of SPL. Companies have reported orders of magnitude improvement over the cost reduction, time to market and quality. SPL is an expensive proposition. From the perspective of a small and resource strained company in Taiwan, what does the road to SPL look like? This thesis did a case study of a pilot project taken by a small company in Taiwan to implement software product line. The lessons learned in the case study may serve as a guideline for other small companies who are interested in implementing SPL.

參考文獻


[AAK] Anastasopoulos, Michalis, Atkinson, Colin, and Muthig, Dirk “A Concrete Method for Developing and Applying Product Line Architectures”, http://www.old.netobjectdays.org/pdf/02/papers/node/0308.pdf
[BB] Bachmann, Felix and Bass, Len , “ Managing Variability in Software Architectures”, http://www.sei.cmu.edu/plp/variability.pdf
[Beck 1999] Beck, Kent “Extreme Programming Explained: Embrace Change”, Adison-Wesley
[Bosch] Bosch, Jan, “Product-Line Architectures in Industry: A Case Study”, http://www.cs.rug.nl/~bosch/papers/PLA-casestudy.PDF
[Bosch 1998a] Bosch, Jan “Design Patterns as Language Constructs”, Journal of Object-Oriented Programming, Vol. 11, No. 2, pp. 18-32, May 1998.

延伸閱讀