Using Design Patterns in the Development of a Planner-Based Courseware System 作者: Khalid S....
-
Upload
hannah-mcdonald -
Category
Documents
-
view
214 -
download
0
Transcript of Using Design Patterns in the Development of a Planner-Based Courseware System 作者: Khalid S....
![Page 1: Using Design Patterns in the Development of a Planner-Based Courseware System 作者: Khalid S. Al-Tahat, M.T. Sembok, and Sufian Bin Idris 出處: IEEE Region.](https://reader036.fdocuments.net/reader036/viewer/2022082709/56649d145503460f949e971f/html5/thumbnails/1.jpg)
Using Design Patterns in the Development of a Planner-Based Courseware System
作者: Khalid S. Al-Tahat, M.T. Sembok, and Sufian Bin Idris 出處: IEEE Region 10 International Conference on Electrical and Electronic Technology, Aug. 19-22, 2001.
Reporter:林鴻志
2006/05/30
![Page 2: Using Design Patterns in the Development of a Planner-Based Courseware System 作者: Khalid S. Al-Tahat, M.T. Sembok, and Sufian Bin Idris 出處: IEEE Region.](https://reader036.fdocuments.net/reader036/viewer/2022082709/56649d145503460f949e971f/html5/thumbnails/2.jpg)
Outline
Introduction A Planner-Based Courseware System Using Design Pattern In Our Courseware
System Lessons Learned Conclusion
![Page 3: Using Design Patterns in the Development of a Planner-Based Courseware System 作者: Khalid S. Al-Tahat, M.T. Sembok, and Sufian Bin Idris 出處: IEEE Region.](https://reader036.fdocuments.net/reader036/viewer/2022082709/56649d145503460f949e971f/html5/thumbnails/3.jpg)
Introduction
Reuse can be applied at many different levels. How to design a reusable and flexible architecture is
important, because: easy to extend, maintain , and evolve.
The first pattern conference – Pattern Language of Program Design (PLOP) in 1994
The first design pattern book”Design Patterns:
Elements of Reusable Object-Oriented Software” in 1995.
![Page 4: Using Design Patterns in the Development of a Planner-Based Courseware System 作者: Khalid S. Al-Tahat, M.T. Sembok, and Sufian Bin Idris 出處: IEEE Region.](https://reader036.fdocuments.net/reader036/viewer/2022082709/56649d145503460f949e971f/html5/thumbnails/4.jpg)
A Planner-Based Courseware System
The computer made a dynamic force in education by providing a new and interactive means of overcoming time and distance problem.
The computer is the tool that can give us teaching and learning and it linked teachers ,homes,libraries and other people all of the world.
![Page 5: Using Design Patterns in the Development of a Planner-Based Courseware System 作者: Khalid S. Al-Tahat, M.T. Sembok, and Sufian Bin Idris 出處: IEEE Region.](https://reader036.fdocuments.net/reader036/viewer/2022082709/56649d145503460f949e971f/html5/thumbnails/5.jpg)
A Planner-Based Courseware System(cont.) Multimedia technologies can stimulating and i
nteractive to learners and can help teachers improve the quality of instruction.
Multimedia technologies can be a catalyst.
Learners passive → active
![Page 6: Using Design Patterns in the Development of a Planner-Based Courseware System 作者: Khalid S. Al-Tahat, M.T. Sembok, and Sufian Bin Idris 出處: IEEE Region.](https://reader036.fdocuments.net/reader036/viewer/2022082709/56649d145503460f949e971f/html5/thumbnails/6.jpg)
A Planner-Based Courseware System(cont.) The courseware system is built up of 4
subsystem
1.The Presentation subsystem.
2.The User subsystem.
3.The Assessor subsystem.
4.The Planner subsystem.
![Page 7: Using Design Patterns in the Development of a Planner-Based Courseware System 作者: Khalid S. Al-Tahat, M.T. Sembok, and Sufian Bin Idris 出處: IEEE Region.](https://reader036.fdocuments.net/reader036/viewer/2022082709/56649d145503460f949e971f/html5/thumbnails/7.jpg)
Using Design Pattern In Our Courseware System
We use 4 pattern in this courseware system.
Composite pattern State pattern Strategy pattern Iterator pattern
![Page 8: Using Design Patterns in the Development of a Planner-Based Courseware System 作者: Khalid S. Al-Tahat, M.T. Sembok, and Sufian Bin Idris 出處: IEEE Region.](https://reader036.fdocuments.net/reader036/viewer/2022082709/56649d145503460f949e971f/html5/thumbnails/8.jpg)
Using Design Pattern In Our Courseware System(cont.)
Composite Pattern
![Page 9: Using Design Patterns in the Development of a Planner-Based Courseware System 作者: Khalid S. Al-Tahat, M.T. Sembok, and Sufian Bin Idris 出處: IEEE Region.](https://reader036.fdocuments.net/reader036/viewer/2022082709/56649d145503460f949e971f/html5/thumbnails/9.jpg)
Using Design Pattern In Our Courseware System(cont.)
The Composite pattern has the following consequences:
The Composite pattern makes the client code simple.
The composite make it easy to add new kind of Tile .
The disadvantage is hard to restrict the components of the SequanceOfFrames object
![Page 10: Using Design Patterns in the Development of a Planner-Based Courseware System 作者: Khalid S. Al-Tahat, M.T. Sembok, and Sufian Bin Idris 出處: IEEE Region.](https://reader036.fdocuments.net/reader036/viewer/2022082709/56649d145503460f949e971f/html5/thumbnails/10.jpg)
Using Design Pattern In Our Courseware System(cont.) State Pattern
![Page 11: Using Design Patterns in the Development of a Planner-Based Courseware System 作者: Khalid S. Al-Tahat, M.T. Sembok, and Sufian Bin Idris 出處: IEEE Region.](https://reader036.fdocuments.net/reader036/viewer/2022082709/56649d145503460f949e971f/html5/thumbnails/11.jpg)
Using Design Pattern In Our Courseware System(cont.)The State pattern has the following consequences:
The State pattern easy to modify the existing states and add.
The State pattern reduces the number of case statements; thus simplifying client code.
![Page 12: Using Design Patterns in the Development of a Planner-Based Courseware System 作者: Khalid S. Al-Tahat, M.T. Sembok, and Sufian Bin Idris 出處: IEEE Region.](https://reader036.fdocuments.net/reader036/viewer/2022082709/56649d145503460f949e971f/html5/thumbnails/12.jpg)
Using Design Pattern In Our Courseware System(cont.) Strategy Pattern
![Page 13: Using Design Patterns in the Development of a Planner-Based Courseware System 作者: Khalid S. Al-Tahat, M.T. Sembok, and Sufian Bin Idris 出處: IEEE Region.](https://reader036.fdocuments.net/reader036/viewer/2022082709/56649d145503460f949e971f/html5/thumbnails/13.jpg)
Using Design Pattern In Our Courseware System(cont.)Hard-wiring all such algorithm is not method for several reasons:
If the planner include session generator code, it became complex.
We do not want to support all the session generator algorithm if we do not use all of them
It is difficult to add new algorithm.
![Page 14: Using Design Patterns in the Development of a Planner-Based Courseware System 作者: Khalid S. Al-Tahat, M.T. Sembok, and Sufian Bin Idris 出處: IEEE Region.](https://reader036.fdocuments.net/reader036/viewer/2022082709/56649d145503460f949e971f/html5/thumbnails/14.jpg)
Using Design Pattern In Our Courseware System(cont.)
The Strategy pattern has the following consequences:
The Strategy pattern simplifies Planner objects.
The Strategy pattern offers an alternative to conditional statement for selecting desire behavior.
One disadvantage is that increase the number of objects in the system.
![Page 15: Using Design Patterns in the Development of a Planner-Based Courseware System 作者: Khalid S. Al-Tahat, M.T. Sembok, and Sufian Bin Idris 出處: IEEE Region.](https://reader036.fdocuments.net/reader036/viewer/2022082709/56649d145503460f949e971f/html5/thumbnails/15.jpg)
Using Design Pattern In Our Courseware System(cont.)
Iterator Pattern
![Page 16: Using Design Patterns in the Development of a Planner-Based Courseware System 作者: Khalid S. Al-Tahat, M.T. Sembok, and Sufian Bin Idris 出處: IEEE Region.](https://reader036.fdocuments.net/reader036/viewer/2022082709/56649d145503460f949e971f/html5/thumbnails/16.jpg)
Using Design Pattern In Our Courseware System(cont.)The Iterator pattern has the following consequences:
The Iterator pattern makes it easier to add new functionalities .
The Iterator pattern simplifies the aggregate interface.
The Iterator pattern make it possible to perform more than one traversal at the same time.
![Page 17: Using Design Patterns in the Development of a Planner-Based Courseware System 作者: Khalid S. Al-Tahat, M.T. Sembok, and Sufian Bin Idris 出處: IEEE Region.](https://reader036.fdocuments.net/reader036/viewer/2022082709/56649d145503460f949e971f/html5/thumbnails/17.jpg)
Lessons Learned
We could see that the design patterns we have applied increase the modularity, flexibility, and the reusability of our application.
Structure pattern (Composite pattern) made system more modular;Behavioral patterns(State and Iterator patterns) made system more reusable.
Different design patterns have different effects on reusability(Strategy and Delegation pattern have the same result).
![Page 18: Using Design Patterns in the Development of a Planner-Based Courseware System 作者: Khalid S. Al-Tahat, M.T. Sembok, and Sufian Bin Idris 出處: IEEE Region.](https://reader036.fdocuments.net/reader036/viewer/2022082709/56649d145503460f949e971f/html5/thumbnails/18.jpg)
Conclusion
It described some uses of design pattern in the design of a multimedia courseware system.
The courseware system became more modular, more flexible, and more reusable after using Design pattern.