( 您好!臺灣時間:2021/08/01 20:39
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::


論文名稱(外文):Constructing the Development Environment for the Reuse and Assembly of Software Components Embedded in the E-Learning Platform
指導教授(外文):Chih-Ping Chu
外文關鍵詞:authoring tools and methodsinput-output treerapid prototypingsoftware reuse
  • 被引用被引用:3
  • 點閱點閱:310
  • 評分評分:
  • 下載下載:104
  • 收藏至我的研究室書目清單書目收藏:2
在開發數位學習產品時,SCORM(Sharable Content Object Reference Model)已經是廣泛被採納的一組標準。然而即使遵循SCORM,開發模擬式的數位學習課程仍然是辛苦的任務。教學者或設計者無法容易地從既有的學習物件庫中獲取原始程式碼,當然也無法容易地再利用跟修改既有的模擬程式來符合教學者的需求。
在校園課程中以模擬為基礎的教育產品變得廣泛普遍,許多大學讓學習平台一天二十四小時運作,因此出現了兩個研究問題:是否有機會可以融合學習平台跟軟體再利用的功能?是否可以經由學習平台來組裝Java類別元件庫裡面的軟體元件來自動產生Java Applet的雛形?這兩問題的解決方法隸屬於以元件為基礎的軟體工程(component-based software engineering)領域內。
對於第二個研究問題,本研究開發了一項內嵌於數位學習環境內的雛形工具,其能便利於從既有軟體元件庫中的Java類別來設計Java Applet。此外本研究提出了輸入輸出樹(input-output tree)來圖形化的呈現一個特定程式應用的從輸入變數到輸出變數的資料流。
SCORM (Sharable Content Object Reference Model) is a set of standards which have been widely adopted when developing e-learning products. However, even with the use of SCORM, the creation of a simulation-based e-learning course is still a hard task. An instructor or developer can neither easily obtain source code from existing learning objects repositories nor reuse and adapt existing simulations to suit the instructor's needs.
Simulation-based educational products in academic courses are becoming widespread and many universities make learning platforms accessible 24 hours a day. Therefore, two research questions emerge. Is there any possibility to merge the learning platform with the function of software reuse? Can the learning platform automatically generate the prototype of Java applet by assembling the Java classes in the repository? The solutions to these two questions belong to the domain of component-based software engineering.
For the first question, we describe an experimental reusable Java class repository which embeds itself in a SCORM run-time environment to support software reuse and the cooperative creation of simulation-based courses.
For the second question, a prototyping tool which facilitates the design of Java applets based on existing Java classes in the repository is developed and embedded into an e-learning platform. An input-output tree is proposed to graphically show the data flow from the input to output of a specific application.
In the future, the possible direction of using such similar application as the proposed tool will assist the programmer to assemble the reusable software components from the repository, in which the source codes are generated automatically by means of automatic programming. Also, the input-output tree and the method of assembling the reusable software components proposed in this work can be the supplement to the graphical block programming systems.
Chapter 1 Introduction 1
1.1. Research Background 1
1.2. Motivation and Objective 4
1.3. Dissertation Organization 6
Chapter 2 Literature Review and Related Work 7
2.1. Software Reuse 7
2.2. Learning Objects Reuse 10
2.3. A Study of the MERLOT Repository 12
2.4. OKI 13
2.5. Rapid Prototyping 14
2.6. RPC and CORBA 15
2.7. Automatic Programming 15
2.8. The Role of Assets and Java 17
2.8.1. Assets 18
2.8.2. AJAX and DWR 23
2.9. App Inventor 24
Chapter 3 System Requirement and Validation Process 28
3.1. Requirements for Building Simulation-Based Course 28
3.2. The Creation and Validation Process 29
Chapter 4 System Design 32
4.1. Creation of the Reusable Java Class Repository 32
4.1.1. Designing Reusable Java Class Repository 32
4.1.2. Modification of 〈resource〉 Element in Manifest File 37
4.2. Visual Online Prototyping Authoring Tool 40
4.2.1. System Architecture 40
4.2.2. The Input-Output tree 45
4.2.3. The Set of Domain Characteristics for the VOPAT 48
4.2.4. The Reusable Class Assembly Function Unit 49
4.2.5. The Scenarios of Using the VOPAT 52
Chapter 5 Results and Case Studies 55
5.1. The Results of the Reusable Java Class Repository 55
5.2. The Case Studies of the Visual Online Prototyping Authoring Tool 60
5.3. Discussions 77
5.3.1. The Interaction of the Java Applet and the LMS 77
5.3.2. The Suggestions of Using the PRMS and the VOPAT 79
Chapter 6 Conclusion and Future Works 82
References 86
Appendix 92
The source code of the ClassRank 92
Publications著作目錄 100
Advanced Distributed Learning (ADL). Sharable Content Object Reference Model (SCORM®) 2004 3rd Edition Content Aggregation Model Version 1.0, (2006), http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Previous%20Versions/SCORM%202004%203rd%20Ed/SCORM.2004.3ED.DocSuite.zip [5 March 2009].
Advanced Distributed Learning (ADL). Sharable Content Object Reference Model (SCORM®) 2004 3rd Edition Run-Time Environment Version 1.0, (2006). http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Previous%20Versions/SCORM%202004%203rd%20Ed/SCORM.2004.3ED.DocSuite.zip [5 March 2009].
Barstow, D. R. (1985). Domain-Specific Automatic Programming. IEEE Transactions On Software Engineering Vol. 11:1321-1336.
Bassil, Y. A., and Barbar, A. M. (2008). MyProLang – My Programming Language: A Template-Driven Automatic Natural Programming Language. Proceedings of the World Congress on Engineering and Computer Science. October 22 - 24, 2008. San Francisco. USA. http://www.iaeng.org/publication/WCECS2008/WCECS2008_pp225-230.pdf [September 25 2010]
Bond, S. T., Ingram, C., & Ryan, S. (2008). Reuse, repurposing and learning design – Lessons from the DART project. Computers & Education 50(2): 601-612.
Budinsky, F. J., Finnie, M. A., Vlissides, J. M., and Yu, P. S. (1996). Automatic code generation from design patterns. IBM Systems Journal Vol. 35:151-171.
Call Javascript from a Java applet. http://www.rgagnon.com/javadetails/java-0172.html [26 February 2009].
Chen, Y. H., Wang, C. C., Deng, L. Y., Chen, M. C., and Shih, T. K. (2007). Enhancing Reusability of Learning Objects with Object-Oriented Inheritance Relationships. Symposium conducted at the meeting of International Conference on Parallel Processing Workshops.
Cheung, J. C. Y., Ngai, G., Chan, S. C. F., and Lau, W. W. Y. (2009). Filling the gap in programming instruction: a text-enhanced graphical programming environment for junior high students. ACM SIGCSE Bulletin 41(1): 276-280.
Chu, C. P., and Tseng, C. J. (1998). On the code development paradigm of RPC and CORBA applications. Computer Communications Vol. 21:267-278
CKEditor. Available at: http://ckeditor.com/ [3 June 2010].
Coppeto, T. (2005). Introduction to OSID V3 for V2 Developers. http://www.okiproject.org/repository/viewfile/polyphony-repository___repository_id/edu.middlebury.segue.sites_repository/polyphony-repository___asset_id/12459/polyphony-repository___record_id/12460/polyphony-repository___file_name/Introduction%20To%20OSID%20V3%20(for%20developers).pdf [27 May 2009].
David, C. R., and Nader, N. (2000). Three empirical studies of a software reuse reference model. Software: Practice & Experience 30[6]: 685-722.
Davies, J. (1999). Social considerations concerning virtual education. in CCSR, Virtual Education. 13 October (Middlesex:CCSR, De Montfort University).
Faulkner Information Systems. (2003). Advanced Distributed Learning - Sharable Content Object Reference Model (ADL-SCORM). Faulkner Information Services: Pennsauken, NJ.
Ferreira, C. (2002). Gene Expression Programming: Mathematical Modeling by an Artificial Intelligence. Angra do Heroismo. Portugal.
Fertalj, K., and Brcic, M. (2008). A Source Code Generator Based on UML Specification. International Journal of Computers and Communications Vol. 2: 10-19.
Frakes, W. B., and Kang, K. (2005). Software Reuse Research: Status and Future. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING Vol. 31:529-536.
Gonzalez-Barbone, V. and L. Anido-Rifon. (2008). Creating the first SCORM Object. Computers & Education 51(4): 1634-1647.
Haefliger, S., von Krogh, G., and Spaeth, S. (2008). Code Reuse in Open Source Software. Management Science Vol. 54:180 - 193.
Hertel, G., Niedner, S., and Herrmann, S. (2003). Motivation of software developers in open source projects: An Internet-based survey of contributors to the Linux kernel. Res.Policy Vol. 32:1159–1177.
Huang, C. K. (2008). Design and Implementation of the Reusable Java Class Library Enhancing SCORM Model. Unpublished Thesis, National Cheng Kung University, Taiwan.
IMS Content Package Specification v1.2. (2007). http://www.imsglobal.org/content/packaging [7 March 2009].
Institute of Electrical and Electronics Engineers. (1991). IEEE Standard Computer Dictionary: A Compilation of IEEE Standard Computer Glossaries. New York.
Kang, Z., Li, Y., and Kang, L. S. (2006). Automatic Programming Methodology for Program Reuse. International Conference on Computational Intelligence and Security. Guangzhou. China. pp. 208-214.
Kantschik, W., and Banzhaf, W. (2002). Linear-Graph GP – a new GP structure. Proceedings of the 5th European Conference on Genetic Programming:83-92.
Kim, W., and Shih, T. K. (2004). On Reusability and Interoperability for Distance Learning. Journal of Object Technology 3(8): 27-34.
Lakhani, K. R., and Wolf, R. G. (2005). “Why hackers do what they do: Understanding motivation and effort in free/open source software projects, Feller, J., Fitzgerald, B., Hissam, S., Lakhani, K. R. eds. Perspectives on Free and Open Source Software. MIT Press: Cambridge, MA: pp. 3–22.
Learning-Education-Training Systems Interoperability (LETSI). Assumptions Document SCORM 2.0 Project Report. https://letsi.org/images/letsi_media/SCORM_2%200_Assumptions_2009Feb09.pdf [8 March 2009].
Littlejohn, A., Falconer, I. and Mcgill, L. (2008). Characterising effective e-learning resources. Computers and Education 50(3): 757-771.
Lucrédio, D., and K. dos Santos Brito, et al. (2008).Software reuse: The Brazilian industry scenario. Journal of Systems and Software 81(6): 996-1013.
MERLOT website. http://www.merlot.org/ [20 June 2009].
MIT APP Inventor. http://www.appinventor.mit.edu/ [27 March 2012].
O'Neill, M., and Ryan, C. (2001).Grammatical Evolution. IEEE Transactions Evolutionary Computation Vol. 5:349-358.
Pressman, R.S. (2001).Software Engineering: A Practitioner’s Approach, McGraw-Hill, New York.
Redziejowski, R. (1969). On arithmetic expressions and trees. Communications of the ACM Vol. 12:81-84.
Reformat, M., Xinwei, C., and Miller, J. (2003). Experiments in automatic programming for general purposes. Proceedings of the 15th IEEE International Conference on Tools with Artificial Intelligence. pp. 366-373.
Roque, R. V. (2007). OpenBlocks: an extendable framework for graphical block programming systems. Thesis (M. Eng.)—Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science.
Selby, R. W. (2005). Enabling Reuse-Based Software Development of Large-Scale Systems. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING Vol. 31: 495- 510.
Shih, T. (2004). Developing SCORM- compliant software tools – from the perspective of an ADL academic co-lab partner. Unpublished. Taiwan.
Siddiqui, A., Khan, M., and Akhtar, S. (2008). Supply chain simulator: A scenario-based educational tool to enhance student learning. Computers & Education 51(1): 252-261.
Sierra, J.L, Moreno-Ger, P, Martínez-Ortiz, I, and Fernández-Manjón, B. (2007). A Highly Modular and Extensible Architecture for an Integrated IMS-based Authoring System: The (e-Aula) Experience. Software: Practice & Experience 37(4): 441-461.
Sierra, K., and Bates, B. (2002). Sun Certified Programmer & Developer for Java 2 Study Guide (2nd ed.). McGraw-Hill Co, New York.
Sun Microsystems. Java™ Platform, Standard Edition 6. http://java.sun.com/javase/6/docs/api [20 February 2009].
The Unified Modeling Language. http://www.uml.org/ [20 October 2010].
Tripp, S., and Bichelmeyer, B. (1990). Rapid prototyping: An alternative instructional design strategy. Educational Technology Research & Development Vol. 38:31-44.
Wang, D. (2010). HOW DOES JSP WORK ON IIS? http://blogs.msdn.com/david.wang/archive/2005/10/11/How-does-JSP-work-on-IIS.aspx [5 January 2010].
Wikipedia-Ajax. http://en.wikipedia.org/wiki/AJAX [25 April 2009].
Wikipedia—Automatic programming. http://en.wikipedia.org/wiki/Automatic_programming [October 10 2010]
Wikipedia—Binary expression tree. http://en.wikipedia.org/wiki/Binary_expression_tree [March 11 2011]
Wikipedia-Class(computer science). http://en.wikipedia.org/wiki/ Class_(computer_science) [24 March 2009].
Wikipedia—Common Object Request Broker Architecture. http://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture [10 October 2010]
Wikipedia-Concurrent Versions System. http://en.wikipedia.org/wiki/Concurrent_Versions_System [5 January 2010].
Wikipedia-DWR (Java). http://en.wikipedia.org/wiki/ DWR_(Java) [25 April 2009].
Wikipedia- Git (software). http://en.wikipedia.org/wiki/Git_(software) [5 January 2010].
Wikipedia-OSID. http://en.wikipedia.org/wiki/OSID [14 May 2009].
Wikipedia-Overloading. http://en.wikipedia.org/wiki/Overloading [24 March 2009].
Wikipedia-Overriding. http://en.wikipedia.org/wiki/ Overriding . [24 March 2009].
Wikipedia-Webpage. http://en.wikipedia.org/wiki/Webpage [22 March 2009].
註: 此連結為研究生畢業學校所提供,不一定有電子全文可供下載,若連結有誤,請點選上方之〝勘誤回報〞功能,我們會盡快修正,謝謝!
第一頁 上一頁 下一頁 最後一頁 top