簡易檢索 / 詳目顯示

研究生: 巫燁棋
Wu, Ye-Chi
論文名稱: 賦允軟體即服務:支援服務導向應用軟體之演進敏捷性
Enabling Software-as-a-Service: Supporting Agility in Service-Based Application Evolution
指導教授: 焦惠津
Jiau, Hewijin Christine
學位類別: 博士
Doctor
系所名稱: 電機資訊學院 - 電腦與通信工程研究所
Institute of Computer & Communication Engineering
論文出版年: 2013
畢業學年度: 101
語文別: 英文
論文頁數: 117
中文關鍵詞: 軟體即服務敏捷式軟體開發應用服務演進方法論服務演進監控框架
外文關鍵詞: Software-as-a-Service, agile development method, service-based application software evolution methodology, service evolution monitoring framework
相關次數: 點閱:172下載:4
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 隨著雲端與服務導向運算的發展,軟體即服務不僅代表軟體交付模式上改變,更帶來商業模式與軟體開發模式上的挑戰。軟體即服務的交付模式強調軟體服務提供的敏捷性,軟體使用者能夠免去軟體安裝與佈署的花費,改由輕型的客戶端軟體、如網頁瀏覽器,進行各種軟體應用服務的使用。在新型態的軟體交付模式下,軟體應用服務的可選擇性與多元性皆大大提升,持續地辨識市場及使用者需求的改變,並有效地進行軟體服務更新,成為應用軟體服務供應商獲取市場占有率的重要考量。

    為使持續提供有效的軟體服務,軟體演進相關開發技術扮演重要角色。本論文立基於過去十年間服務導向軟體開發架構的發展,專為服務導向應用軟體提出一套軟體演進開發方法論。著眼於面對經常發生的需求改變與運算環境改變,此方法論特別強調軟體演進支援的敏捷性。此方法論描述一系統性的開發方法,含括軟體演進需求辨識、軟體演進計畫研擬、到軟體演進實作中的各種開發活動。為支援該開發方法論,本論文發展一 Serv-Gears 軟體開發框架。該軟體開發框架主要落實一套應用服務監控機制。在此應用服務監控機制下,應用服務開發者可以依據服務演進考量,持續地開發服務監控腳本。透過引入真實的使用者資料,從數據上觀察監控腳本的有效性。此一監控機制與監控數據處理模型使得開發者可以有效地辨認服務演進需求與決定更新服務的時機。
    承襲本論文所提出的服務導向軟應用軟體演進方法論,Serv-Gears 軟體開發框架具有支援敏捷軟體開發的特性,不但提供有效的應用編程介面,同時也提供監控腳本開發環境,應用軟體開發者能夠以直覺的方式撰寫簡潔的程式腳本進行服務演進的各種開發工作。

    在開發方法論的落實方面,本論文以 Serv-Gears 框架為基礎實作一 WebHat 平台,並將提出的方法論的應用在程式教學上,透過本論文所提出的服務監控機制,WebHat 平台促使教學者能夠即時地提供有效的教學服務,提升學生在學習上的成果。透過 WebHat 平台的使用,本論文提供了三項研究數據,分別驗證 (1) 軟體即服務對學生學習成果的有效性;(2) Serv-Gears 框架對支援服務演進的有效性;以及 (3) 本研究之方法論及軟體開發框架在不同種類的服務演進上的效果探討。本論文的研究成果完整呈現所提出的方法論及框架對支援服務導向應用軟體在演進敏捷性上重要性,為軟體即服務的成功奠定基石。

    Software-as-a-Service (SaaS) is an emerging way to deliver software applications and brings the revolution of business model to software industry with emphasizing the ability of gaining market traction. To enable the operations of the new business model, software development support is required for rapid response to changing market requirements. This work addresses challenges of service-based application evolution. According to characteristics of service-oriented architecture, this work describes a methodology and develops tool support to facilitate continuous evolution planning and implementation of service-based applications. The methodology emphasizes the agility in developing and assessing evolution plans, and a Serv-Gears framework is developed to maintain a service-based monitoring mechanism. Serv-Gears framework provides an integrated environment for developers to involve in evolution need investigation even during the application runtime. Available resources, such as additional third-party service components and real data coming from application users, can be integrated in the evolution need investigation. Consequently, evolution planning can be effectively performed and specific evolution implementation can be conducted once change requirements are identified. The development support facilitates continuous evolution of application software to keep application services on demand.

    This thesis work evaluates the providing methodology and Serv-Gears framework in a programming teaching domain. A WebHat platform was introduced in an Introduction to Computer Science course to maintain the provision of teaching services. To demonstrate the effectiveness of this thesis work, several studies were conducted by teaching results. The results show the effectiveness of this work in terms of (1) facilitating the evolution of teaching services and (2) supporting the achievement of teaching goals. The providing service-based monitoring technique facilitates investigating evolution needs and updating application services to keep student engagement in programming learning. Enabling agility in continuous evolution plan development presents a key factor for leading service-based applications to achieve business goals. The providing methodology and Serv-Gears framework play an essential role for the success of the development of SaaS applications.

    Chapter 1 Introduction ................................................. 1 1.1 Delivering Software as a Service ....................... 1 1.2 Challenges of Service-Based Application Evolution ...... 2 1.2.1 Forces to Cause Evolution ........................ 2 1.2.2 A Development Model for Service Provision ........ 4 1.2.3 Existing Techniques to Support Service-Based Appli- tion Evolution ......................................... 5 1.3 Contribution ........................................... 7 2 Background................................................... 11 2.1 Service-Oriented Computing and Development Paradigm ... 11 2.2 State-of-the-Art Support on Service-Based Application Evo- lution .................................................... 13 3 A Methodology to Support Continuous Service-Based Application Evolution ..................................................... 17 3.1 Evolution Activities in Application Operations ........ 17 3.2 Requirements of Development Support ................... 20 4 Serv-Gears: A Framework for Rapid Service Evolution ......... 23 4.1 The Service-Based Monitoring Mechanism ................ 23 4.2 The Architecture of Serv-Gears ........................ 25 4.3 Specifying and Executing Monitoring Scripts ........... 28 4.4 Investigating Monitoring Data ......................... 34 4.5 Serv-Gears Implementation ............................. 42 5 WebHat: A Service-Based Program Evaluation Platform for Student Engagement in Assignments ..................................... 45 5.1 Providing Assistance as a Service in Programming Teaching .................................................. 46 5.2 Teaching Support of Existing E-Learning Systems ....... 47 5.3 Assignment Practice with WebHat ....................... 49 5.4 Example Assignment: A SIMPLE Project .................. 52 5.5 The Implementation of WebHat Platform ................. 57 6 Case Studies ................................................ 63 6.1 Evaluation of WebHat Platform in SIMPLE Project ....... 64 6.1.1 Effects of Dynamic Evaluation Service Adjustment 65 6.1.2 Correlation between Engagement Level and Final Per- formance .............................................. 67 6.1.3 Study Summary and Discussion .................... 70 6.2 Evaluation of Serv-Gears Framework based on SIMPLE Project Data ...................................................... 71 6.2.1 Study Settings .................................. 72 6.2.2 Data Collection ................................. 74 6.2.3 Study Results ................................... 75 6.2.4 Discussion on Performance Expectation ........... 78 6.3 An Empirical Study on Service Evolution in IntroCS’1213 81 6.3.1 Study Settings and Data Collection .............. 81 6.3.2 Service Evolution Concerns and Development ...... 83 6.3.3 Investigating the Effectiveness of Development Sup- port for Service Evolution ............................ 87 6.3.4 Study Summary ................................... 95 7 Conclusion .................................................. 99 7.1 Summary of Contributions .............................. 99 7.2 Future Work .......................................... 101 References ................................................... 105 Vita ......................................................... 117

    [1] P. Guo, “A Survey of Software as a Service Delivery Paradigm,” In TKK Technical Reports in Computer Science and Engineering, B5 Current Internet Trends Seminar on Internetworking, Tech. Rep. T110.5190, 2009.
    [2] K. Bennett, P. Layzell, D. Budgen, P. Brereton, L. Macaulay, and M. Munro, “Service-Based Software: The Future for Flexible Software,” in Proceedings of the Seventh Asia-Pacific Software Engineering Conference (APSEC), Dec. 2000, pp. 214–221.
    [3] M. Turner, D. Budgen, and P. Brereton, “Turning Software into a Service,” Computer, vol. 36, no. 10, pp. 38–44, Oct. 2003.
    [4] M. A. Cusumano, “The Changing Software Business: Moving from Products to Services,” IEEE Computer, vol. 41, no. 1, pp. 20–27, Jan. 2008.
    [5] L. Cherbakov, G. Galambos, R. Harishankar, S. Kalyana, and G. Rackham, “Impact of Service Orientation at the Business Level,” IBM Systems Journal, vol. 44, no. 4, pp. 653–668, Oct. 2005.
    [6] A. Dubey and D. Wagle, “Delivering Software as a Service,” The McKinsey Quarterly, pp. 1–12, May 2007.
    [7] M. Janssen and A. Joha, “Challenges for Adopting Cloud-Based Software as a Service (SAAS) in the Public Sector,” in Proceedings of the 19th European Conference on Information Systems (ECIS), June 2011, pp. 52:1 – 52:12.
    [8] S. Stuckenberg, E. Fielt, and T. Loser, “The Impact of Software-as-a-Service on Business Models of Leading Software Vendors: Experiences from Three Exploratory Case Studies,” in Proceedings of the Pacific Asia Conference on Information Systems, July 2011, pp. 184:1 – 184:17.
    [9] M. Fan, S. Kumar, and A. B. Whinston, “Short-Term and Long-Term Competition between Providers of Shrink-Wrap Software and Software as a Service,” European Journal of Operational Research, vol. 196, no. 2, pp. 661–671, July 2009.
    [10] V. Choudhary, “Software as a Service: Implications for Investment in Software Development,” in Proceedings of the 40th Annual Hawaii International Conference on System Sciences, Jan. 2007, pp. 209:1–209:10.
    [11] D. Thomas, “Enabling Application Agility Software as a Service, Cloud Computing and Dynamic Languages,” Journal of Object Technology, vol. 7, no. 4, pp. 29–32, May 2008.
    [12] V. Goncalves and P. Ballon, “Adding Value to the Network: Mobile Operators’ Experiments with Software-as-a-Service and Platform-as-a-Service Models,” Telematics and Informatics, vol. 28, no. 1, pp. 12–21, Feb. 2011.
    [13] E. R. Olsen, “Transitioning to Software as a Service: Realigning Software Engineering Practices with the New Business Model,” in Proceedings of IEEE International Conference on Service Operations and Logistics, and Informatics, June 2006, pp. 266 – 271.
    [14] N. Gold, C. Knight, A. Mohan, and M. Munro, “Understanding Service-Oriented Software,” IEEE Software, vol. 21, no. 2, pp. 71–77, Mar. 2004.
    [15] G. Goth, “Software-as-a-Service: The Spark That Will Change Software Engineering?” IEEE Distributed Systems Online, vol. 9, no. 7, pp. 1–3, July 2008.
    [16] T. van de Zande and S. Jansen, “Business Continuity Solutions for SaaS Customers,” in Proceedings of the Second International Conference on Software Business, June 2011, pp. 17 – 31.
    [17] H. Liao, “SaaS Business Model for Software Enterprise,” in Proceedings of IEEE International Conference on Information Management and Engineering, Apr. 2010, pp. 604 – 607.
    [18] P. A. Laplante, J. Zhang, and J. Voas, “What’s in a Name? Distinguishing between SaaS and SOA,” IT Professional, vol. 10, no. 3, pp. 46–50, May 2008.
    [19] K. Bennett, M. Munro, N. Gold, P. Layzell, D. Budgen, and P. Brereton, “An Architectural Model for Service-Based Software with Ultra Rapid Evolution,” in Proceedings of IEEE International Conference on Software Maintenance (ICSM), Nov. 2001, pp. 292–300.
    [20] M. P. Papazoglou, “Service-Oriented Computing: Concepts, Characteristics and Directions,” in Proceedings of the 4th International Conference on Web Information System Engineering, Dec. 2003, pp. 3–12.
    [21] G. Canfora, “Software Evolution in the Era of Software Services,” in Proceedings of International Workshop on the Principles of Software Evolution, Sept. 2004, pp. 9–18.
    [22] M. P. Papazoglou, “The Challenges of Service Evolution,” in Proceedings of International Conference on Advanced Information Systems Engineering, June 2008, pp. 1 15.
    [23] J. Highsmith, “What Is Agile Software Development?” The Journal of Defense Software Engineering, pp. 4–9, Oct. 2002.
    [24] M. P. Papazoglou, P. Traverso, S. Dustdar, and F. Leymann, “Service-Oriented Computing: State of the Art and Research Challenges,” IEEE Computer, vol. 40, no. 11, pp. 38–45, Nov. 2007.
    [25] ——, “Service-Oriented Computing: A Research Roadmap,” International Journal of Cooperative Information Systems, vol. 17, no. 2, pp. 223–255, June 2008.
    [26] V. Andrikopoulos, S. Benbernou, and M. P. Papazoglou, “Managing the Evolution of Service Specifications,” in Proceedings of International Conference on Advanced Information Systems Engineering, June 2008, pp. 359–374.
    [27] M. P. Papazoglou, V. Andrikopoulos, and S. Benbernou, “Managing Evolving Services,” IEEE Software, vol. 28, no. 3, pp. 49–55, May 2011.
    [28] M. M. Lehman, “Laws of Software Evolution Revisited,” in Proceedings of European Workshop on Software Process Technology, Oct. 1996, pp. 108–124.
    [29] K. H. Bennett and V. T. Rajlich, “Software Maintenance and Evolution: A Roadmap,” in Proceedings of 22nd International Conference on on Software Engineering, Future of Software Engineering Track, June 2000, pp. 73–87.
    [30] N. Chapin, J. E. Hale, K. M. Kham, J. F. Ramil, and W.-G. Tan, “Types of Software Evolution and Software Maintenance,” Journal of Software Maintenance, vol. 13, no. 1, pp. 3–30, Jan. 2001.
    [31] M. W. Godfrey and D. M. German, “The Past, Present, and Future of Software Evolution,” in Proceedings of International Conference on Software Maintenance (ICSM), Frontiers of Software Maintenance, Sept. 2008, pp. 129 – 138.
    [32] E. Di Nitto, C. Ghezzi, A. Metzger, M. Papazoglou, and K. Pohl, “A Journey to Highly Dynamic, Self-Adaptive Service-Based Applications,” Automated Software Engineering, vol. 15, no. 34, pp. 313–341, Dec. 2008.
    [33] H. Cervantes and R. S. Hall, “Autonomous Adaptation to Dynamic Availability Using a Service-Oriented Component Model,” in Proceedings of International Conference on Software Engineering (ICSE), May 2004, pp. 614–623.
    [34] C. H. Crawford, G. P. Bate, L. Cherbakov, K. Holley, and C. Tsocanos, “Toward an on Demand Service-Oriented Architecture,” IBM Systems Journal, vol. 44, no. 1, pp. 81–107, Jan. 2005.
    [35] G. Denaro, M. Pezz’e, D.Tosi, and D. Schilling, “Towards Self-Adaptive Service-Oriented Architectures,” in Proceedings of Workshop on Testing, Analysis, and Verification of Web Services and Applications, July 2006, pp. 10–16.
    [36] F. Irmert, T. Fischer, and K. MeyerWegener, “Runtime Adaptation in a Service-Oriented Component Model,” in Proceedings of International Workshop on Software Engineering for Adaptive and Self-Managing Systems, May 2008, pp. 97–104.
    [37] F. Rosenberg, P. Leitner, A. Michlmayr, P. Celikovic, and S. Dustdar, “Towards Composition as a Service A Quality of Service Driven Approach,” in Proceedings of the IEEE International Conference on Data Engineering (ICDE), Mar. 2009, pp. 1733–1740.
    [38] A. Bucchiarone, R. Kazhamiakin, C. Cappiello, E. di Nitto, and V. Mazza, “A Context-Driven Adaptation Process for Service-Based Applications,” in Proceedings of International Workshop on Principles of Engineering Service-Oriented Systems, May 2010, pp. 50–56.
    [39] E. Fki, S. Tazi, and C. Soul’eDupuy, “Towards a User Intention Aware Service Composition,” in Proceedings of Annual International Conference on New Technologies of Distributed Systems, May 2010, pp. 113–120.
    [40] Q. Wang, J. Shao, F. Deng, Y. Liu, M. Li, J. Han, and H. Mei, “An Online Monitoring Approach for Web Service Requirements,” IEEE Transactions on Services Computing, vol. 2, no. 4, pp. 338–351, Oct. 2009.
    [41] R. Liu, R. Vacul’?n, Z. Shan, A. Nigam, and F. Wu, “Business Artifact-Centric Modeling for Real-Time Performance Monitoring,” in Proceedings of International Conference on Business Process Management, Aug. 2011, pp. 265–280.
    [42] C. Costello and O. Molloy, “Towards a Semantic Framework for Business Activity Monitoring and Management,” in Proceedings of AAAI Spring Symposium: AI Meets Business Rules and Process Management, Mar. 2008, pp. 17–27.
    [43] C. K. Chang, H. Jiang, H. Ming, and K. Oyama, “Situ: A Situation-Theoretic Approach to Context-Aware Service Evolution,” IEEE Transactions on Services Computing, vol. 2, no. 3, pp. 261–275, July 2009.
    [44] G. Zheng and A. Bouguettaya, “Service Mining on the Web,” IEEE Transactions on Services Computing, vol. 2, no. 1, pp. 65–78, Jan. 2009.
    [45] T. Reichherzer, E. ElSheikh, N. Wilde, L. J. White, J. W. Coffey, and S. Simmons, “Towards Intelligent Search Support for Web Services Evolution Identifying the Right Abstractions,” in Proceedings of IEEE International Symposium on Web Systems Evolution, Sept. 2011, pp. 53–58.
    [46] C.W. Krueger, “Software Reuse,” ACM Computing Surveys, vol. 24, no. 2, pp. 131–183, June 1992.
    [47] W. B. Frakes and K. Kang, “Software Reuse Research: Status and Future,” IEEE Transactions on Software Engineering, vol. 31, no. 7, pp. 529–536, July 2005.
    [48] S. Henninger, “An Evolutionary Approach to Constructing Effective Software Reuse Repositories,” ACM Transactions on Software Engineering and Methodology, vol. 6, no. 2, pp. 111–140, Apr. 1997.
    [49] W3C, “SOAP Specifictions,” http://www.w3.org/TR/soap/, June 2013.
    [50] ——,“Web Services Description Language (WSDL),” http://www.w3.org/TR/wsdl, June 2013.
    [51] J. Yang and M. P. Papazoglou, “Service Components for Managing the Life-Cycle of Service Compositions,” Information Systems, vol. 29, no. 2, pp. 97–125, Apr. 2004.
    [52] H. P. Breivold and M. Larsson, “Component-Based and Service-Oriented Software Engineering: Key Concepts and Principles,” in Proceedings of the 33rd EUROMICRO Conference on Software Engineering and Advanced Applications, Aug. 2007, pp. 13–20.
    [53] OASIS, “UDDI Version 3.0.2,” http://uddi.org/pubs/uddiv3.0.220041019.htm, June 2013.
    [54] ——, “Web Services Business Process Execution Language (WSBPEL) 2.0,” http://docs.oasisopen.org/wsbpel/2.0/process/executable, June 2013.
    [55] M. P. Papazoglou and W.J. Heuvel, “Service Oriented Architectures: Approaches, Technologies and Research Issues,” The VLDB Journal, vol. 16, no. 3, pp. 389–415, July 2007.
    [56] K.-K. Lau and Z.Wang, “Software Component Models,” IEEE Transactions on Software Engineering, vol. 33, no. 10, pp. 709–724, Oct. 2007.
    [57] L. Mei,W. K. Chan, and T. H. Tse, “An Adaptive Service Selection Approach to Service Composition,” in Proceedings of IEEE International Conference on Web Services, Sept. 2008, pp. 70–77.
    [58] N. Limam and R. Boutaba, “Assessing Software Service Quality and Trustworthiness at Selection Time,” IEEE Transactions on Software Engineering, vol. 36, no. 4, pp. 559–574, July 2010.
    [59] G. Friedrich, M. G. Fugini, E. Mussi, B. Pernici, and G. Tagni, “Exception Handling for Repair in Service-Based Processes,” IEEE Transactions on Software Engineering, vol. 36, no. 2, pp. 198–215, Mar. 2010.
    [60] R. Calinescu, L. Grunske, M. Kwiatkowska, R. Mirandola, and G. Tamburrelli, “Dynamic QoS Management and Optimization in Service-Based Systems,” IEEE Transactions on Software Engineering, vol. 37, no. 3, pp. 387–409, May 2011.
    [61] A. Brogi and S. Corfini, “Ontology- and Behavior-Aware Discovery of Web Service Compositions,” International Journal of Cooperative Information Systems, vol. 17, no. 3, pp. 319–347, Sept. 2008.
    [62] A. Brogi, R. Popescu, and M. Tanca, “Design and Implementation of Sator: A Web Service Aggregator,” ACM Transactions on Software Engineering and Methodology, vol. 19, no. 3, pp. 10:1–10:21, Feb. 2010.
    [63] T. Erl, Service-Oriented Architecture: Concepts, Technology, and Design. Upper Saddle River, NJ, USA: Prentice Hall PTR, 2005.
    [64] A. Erradi, S. Anand, and N. N. Kulkarni, “SOAF: An Architectural Framework for Service Definition and Realization,” in Proceedings of IEEE International Conference on Services Computing, Sept. 2006, pp. 151–158.
    [65] M. P. Papazoglou and W.-J. van den Heuvel, “Business Process Development Life Cycle Methodology,” Communications of the ACM, vol. 50, no. 10, pp. 79–85, Oct. 2007.
    [66] C. Rolland, M. Kirsch-Pinheiro, and C. Souveyet, “An Intentional Approach to Service Engineering,” IEEE Transactions on Services Computing, vol. 3, no. 4, pp. 292 305, Oct. 2010.
    [67] O. Zimmermann, P. Krogdahl, and C. Gee, “Elements of Service-Oriented Analysis and Design,” http://www.ibm.com/developerworks/webservices/library/wssoad1/, June 2013.
    [68] A. Arsanjani, S. Ghosh, A. Allam, T. Abdollah, S. Ganapathy, and K. Holley, “SOMA: A Method for Developing Service-Oriented Solutions,” IBM Systems Journal, vol. 47, no. 3, pp. 377–396, July 2008.
    [69] Object Management Group, “BPMN 2.0,” http://www.omg.org/spec/BPMN/2.0/, June 2013.
    [70] G. Spanoudakis and A. Zisman, “Discovering Services during Service-Based System Design Using UML,” IEEE Transactions on Software Engineering, vol. 36, no. 3, pp. 371–389, May 2010.
    [71] V. Andrikopoulos, S. Benbernou, and M. P. Papazoglou, “On the Evolution of Services,” IEEE Transactions on Software Engineering, vol. 38, no. 3, pp. 609–628, May 2012.
    [72] H. Zo, D. L. Nazareth, and H. K. Jain, “Measuring Reliability of Applications Composed of Web Services,” in Proceedings of the Annual Hawaii International Conference on System Sciences, Jan. 2007, pp. 278–287.
    [73] J. Y. Lee, J. W. Lee, D. W. Cheun, and S. D. Kim, “A Quality Model for Evaluating Software-as-a-Service in Cloud Computing,” in Proceedings of the Seventh ACIS International Conference on Software Engineering Research, Management and Applications, Dec. 2009, pp. 261–266.
    [74] W. K. Chan, L. Mei, and Z. Zhang, “Modeling and Testing of Cloud Applications,” in Proceedings of IEEE Asia-Pacific Services Computing Conference, Dec. 2009, pp. 111–118.
    [75] A. Brogi and R. Popescu, “Towards Semi-Automated Workflow-Based Aggregation of Web Services,” in Proceedings of the Third international conference on Service-Oriented Computing, Dec. 2005, pp. 214–227.
    [76] ——,“Automated Generation of BPEL Adapters,” in Proceedings of the 4th international conference on Service-Oriented Computing, Dec. 2006, pp. 27–39.
    [77] ——, “Service Adaptation through Trace Inspection,” International Journal of Business Process Integration and Management, vol. 2, no. 1, pp. 9 – 16, June 2007.
    [78] H. Ming, C. K. Chang, K. Oyama, and H.-I. Yang, “Reasoning about Human Intention Change for Individualized Runtime Software Service Evolution,” in Proceedings of IEEE 34th Annual Computer Software and Applications Conference (COMPSAC), July 2010, pp. 289–296.
    [79] X. Liu, C. Liu, M. Rege, and A. Bouguettaya, “Semantic Support for Adaptive Long Term Composed Services,” in Proceedings of the IEEE International Conference on Web Services, July 2010, pp. 267–274.
    [80] X. Liu, A. Bouguettaya, X. Wu, and L. Zhou, “EvLCS: A System for the Evolution of Long-Term Composed Services,” IEEE Transactions on Services Computing, vol. 6, no. 1, pp. 102 – 115, Jan. 2013.
    [81] Q. Z. Sheng, B. Benatallah, Z. Maamar, and A. H. H. Ngu, “Configurable Composition and Adaptive Provisioning of Web Services,” IEEE Transactions on Services Computing, vol. 2, no. 1, pp. 34–49, Jan. 2009.
    [82] M. Treiber, L. Juszczyk, D. Schall, and S. Dustdar, “Programming Evolvable Web Services,” in Proceedings of International Workshop on Principles of Engineering Service-Oriented Systems, no. May, 2010, pp. 43–49.
    [83] Y.-C. Wu and H. C. Jiau, “A Monitoring Mechanism to Support Agility in Service-Based Application Evolution,” SIGSOFT Software Engineering Notes, vol. 37, no. 5, pp. 1–10, Sept. 2012.
    [84] E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994.
    [85] TurboGears2 Website Doc Team, “TurboGears Web Framework – TurboGears2 Website 3.0 Documentation,” http://turbogears.org/, June 2013.
    [86] “suds,” https://fedorahosted.org/suds/, June 2013.
    [87] J. Hunter, “matplotlib: python plotting Matplotlib 1.2.1 documentation,” http://matplotlib.sourceforge.net/index.html, June 2013.
    [88] Y.-C. Wu, L. W. Mar, and H. C. Jiau, “A Service-Based Program Evaluation Platform for Enhancing Student Engagement in Assignments,” Journal of Educational Technology & Society, accepted for publication.
    [89] J. A. Fredricks, P. C. Blumenfeld, and A. H. Paris, “School Engagement: Potential of the Concept, State of the Evidence,” Review Of Educational Research, vol. 74, no. 1, pp. 59–109, Jan. 2004.
    [90] G. Munns and H. Woodward, “Student Engagement and Student Self-Assessment: The REAL Framework,” Assessment in Education: Principles, Policy and Practice, vol. 13, pp. 193–213, July 2006.
    [91] M.-D. Cano, “Students’ Involvement in Continuous Assessment Methodologies: A Case Study for a Distributed Information Systems Course,” IEEE Transactions on Education, vol. 54, no. 3, pp. 442–451, Aug. 2011.
    [92] S. Hansen and E. Eddy, “Engagement and Frustration in Programming Projects,” in Proceedings of the 38th SIGCSE Technical Symposium on Computer Science Education, Mar. 2007, pp. 271–275.
    [93] K. M. Y. Law, V. C. S. Lee, and Y. T. Yu, “Learning Motivation in E-learning Facilitated Computer Programming Courses,” Computers & Education, vol. 55, no. 1, pp. 218–228, Aug. 2010.
    [94] P. Blikstein, “Using Learning Analytics to Assess Students’ Behavior in Open-Ended Programming Tasks,” in Proceedings of the 1st International Conference on Learning Analytics and Knowledge, Feb. 2011, pp. 110–116.
    [95] C. Norris, F. Barry, J. Fenwick, K. Reid, and J. Rountree, “ClockIt: Collecting Quantitative Data on How Beginning Software Developers Really Work,” in Proceedings of the 13th Annual Conference on Innovation and Technology in Computer Science Education, June 2008, pp. 37–41.
    [96] C. Murphy, G. Kaiser, K. Loveland, and S. Hasan, “Retina: Helping Students and Instructors Based on Observed Programming Activities,” in Proceedings of the 40th ACM Technical Symposium on Computer Science Education, Mar. 2009, pp. 178–182.
    [97] Y. Pisan, D. Richards, A. Sloane, H. Koncek, and S. Mitchell, “Submit! A Web-Based System for Automatic Program Critiquing,” in Proceedings of the 5th Australasian Conference on Computing Education, Feb. 2003, pp. 59–68.
    [98] C. Daly and J. M. Horgan, “An Automated Learning System for Java Programming,” IEEE Transactions on Education, vol. 47, no. 1, pp. 10–17, Feb. 2004.
    [99] J. Spacco, D. Hovemeyer, W. Pugh, F. Emad, J. K. Hollingsworth, and N. PaduaPerez, “Experiences with Marmoset: Designing and Using an Advanced Submission and Testing System for Programming Courses,” in Proceedings of the 11th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education, June 2006, pp. 13–17.
    [100] S. H. Edwards and M. A. Perez-Quinones, “WebCAT: Automatically Grading Programming Assignments,” in Proceedings of the 13th Annual Conference on Innovation and Technology in Computer Science Education, June 2008, p. 328.
    [101] R. Lawrence, “Teaching Data Structures Using Competitive Games,” IEEE Transactions on Education, vol. 47, no. 4, pp. 459–466, Nov. 2004.
    [102] A. Allevato, M. Thornton, S. H. Edwards, and M. A. Perez-Quinones, “Mining Data from an Automated Grading and Testing System by Adding Rich Reporting Capabilities,” in Proceedings of the 1st International Conference on Educational Data Mining, June 2008, pp. 167–176.
    [103] J. Fenwick, C. Norris, F. Barry, J. Rountree, C. Spicer, and S. Cheek, “Another Look at the Behaviors of Novice Programmers,” in Proceedings of the 40th ACM Technical Symposium on Computer Science Education, Mar. 2009, pp. 296–300.
    [104] H. C. Jiau, J. C. Chen, and K. F. Ssu, “Enhancing Self-Motivation in Learning Programming Using Game-Based Simulation and Metrics,” IEEE Transactions on Education, vol. 52, no. 4, pp. 555–562, Nov. 2009.
    [105] P. Guerreiro and K. Georgouli, “Enhancing Elementary Programming Courses Using E-learning with a Competitive Attitude,” International Journal of Internet Education, vol. 10, no. 1, Jan. 2008.
    [106] C. C. Hulls, A. J. Neale, B. N. Komalo, V. Petrov, and D. J. Brush, “Interactive Online Tutorial Assistance for a First Programming Course,” IEEE Transactions on Education, vol. 48, no. 4, pp. 719–728, Nov. 2005.
    [107] J. L. Fernandez Aleman, “Automated Assessment in a Programming Tools Course,” IEEE Transactions on Education, vol. 54, no. 4, pp. 576–581, Nov. 2011.
    [108] C. Kelleher and R. Pausch, “Lowering the Barriers to Programming: A Taxonomy of Programming Environments and Languages for Novice Programmers,” ACM Computing Surveys, vol. 37, no. 2, pp. 83–137, June 2005.
    [109] Highsoft Solutions AS, “Highcharts - Interactive JavaScript charts for your webpage,” http://www.highcharts.com/, June 2013.
    [110] C. Austin, “soaplib 2.0.0beta2 : Python Package Index,” https://pypi.python.org/pypi/soaplib/2.0.0beta2, June 2013.
    [111] Y.-C. Wu, J. C. Chen, and H. C. Jiau, “DIET: Extracting Design Intents for Pattern-Directed Restructuring,” in Proceedings of the 1st Cross-Strait Conference on Software Technology, Mar. 2010, pp. 107 – 113.
    [112] K. C. Wu, H. C. Jiau, and L. W. Mar, “Guiding API Utilization by Usage Patterns,” in Proceedings of 2011 Joint Conference on Taiwan Software Engineering and Object-Oriented Technology and Applications, July 2011, pp. 189 – 194.
    [113] Y.-C. Wu, L. W. Mar, and H. C. Jiau, “CoDocent: Support API Usage with Code Example and API Documentation,” in Proceedings of the 2010 Fifth International Conference on Software Engineering Advances, no. Aug., 2010, pp. 135–140.
    [114] L. W. Mar, Y.-C. Wu, and H. C. Jiau, “Recommending Proper API Code Examples for Documentation Purpose,” in Proceedings of Asia-Pacific Conference on Software Engineering, Dec. 2011, pp. 331–338.
    [115] L. W. Mar, J. C. Chen, and H. C. Jiau, “Supporting Cohesion-Based Bad Smell Inspection with CARE,” in Proceedings of the 1st Cross-Strait Conference on Software Technology, Mar. 2010, pp. 142 – 149.
    [116] L. W. Mar, M. L. Lee, and H. C. Jiau, “MAVIS: A Visualization Tool for Cohesion-based Bad Smell Inspection,” in Proceedings of 2011 Joint Conference on Taiwan Software Engineering and Object-Oriented Technology and Applications, July 2011, pp. 401 – 406.
    [117] “JUnit,” http://junit.org/, June 2013.
    [118] H. A. Basit and S. Jarzabek, “A Data Mining Approach for Detecting Higher-Level Clones in Software,” IEEE Transactions on Software Engineering, vol. 35, no. 4, pp. 497 – 514, July 2009.
    [119] DBSE Lab, “DBSE Lab Page,” http://colors.ee.ncku.edu.tw/, June 2013.
    [120] F. P. Deek, M. Turoff, and J. A. McHugh, “A Common Model for Problem Solving and Program Development,” IEEE Transactions on Education, vol. 42, no. 4, pp. 331–336, Nov. 1999.

    下載圖示 校內:立即公開
    校外:立即公開
    QR CODE