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

Post on 18-Dec-2015

214 views 0 download

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

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

Outline

Introduction A Planner-Based Courseware System Using Design Pattern In Our Courseware

System Lessons Learned Conclusion

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.

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.

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

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.

Using Design Pattern In Our Courseware System

We use 4 pattern in this courseware system.

Composite pattern State pattern Strategy pattern Iterator pattern

Using Design Pattern In Our Courseware System(cont.)

Composite Pattern

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

Using Design Pattern In Our Courseware System(cont.) State Pattern

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.

Using Design Pattern In Our Courseware System(cont.) Strategy Pattern

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.

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.

Using Design Pattern In Our Courseware System(cont.)

Iterator Pattern

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.

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).

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.