Using Design Patterns in the Development of a Planner-Based Courseware System 作者: Khalid S....

18
Using Design Patterns in the Development of a Planner-Based Courseware System 作作Khalid S. Al-Tahat, M.T. Sembok, and Sufian Bin Idr is 作作IEEE Region 10 International Conference on Electric al and Electronic Technology, Aug. 19-22, 2001. Reporter 林林林 2006/05/30

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.