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.

Slides:



Advertisements
Similar presentations
Object-Oriented Software Development CS 3331 Fall 2009.
Advertisements

CS590L - Lecture 6 1 CS590L Distributed Component Architecture References: - E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns: Elements of.
SERL - Software Engineering Research Labslide1 Frameworks and Hooks by Garry Froehlich Paul Sorenson SERL (Software Engineering Research Lab)
Design Patterns In OPM Presented by: Galia Shlezinger Instructors: Prop. Dov Dori, Dr. Iris Berger.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Design Patterns.
The Composite Pattern.. Composite Pattern Intent –Compose objects into tree structures to represent part-whole hierarchies. –Composite lets clients treat.
Design Patterns Module Name - Object Oriented Modeling By Archana Munnangi S R Kumar Utkarsh Batwal ( ) ( ) ( )
Reuse Activities Selecting Design Patterns and Components
PRESENTED BY SANGEETA MEHTA EECS810 UNIVERSITY OF KANSAS OCTOBER 2008 Design Patterns.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Design Patterns VI Composite, Iterator, and Visitor Patterns.
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
Oakkar Fall The Need for Decision Engine Automate business processes Implement complex business decision logic Separation of rules and process Business.
1 PH Chapter 1 (pp. 1-10) GoF Composite Pattern (pp ) PH Ch 2 through Fundamentals (pp ) Presentation by Julie Betlach 5/28/2009.
Composite Design Pattern. Motivation – Dynamic Structure.
BDP Behavioral Pattern. BDP-2 Behavioral Patters Concerned with algorithms & assignment of responsibilities Patterns of Communication between Objects.
Design Patterns.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
MVC and MVP. References enter.html enter.html
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Software Design Refinement Using Design Patterns Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Multimedia Teaching Tool SimArch V1.0 Faculty of Electronic Engineering University of Nis Serbia.
Case Studies on Design Patterns Design Refinements Examples.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
Architecture GRASP Realization of use cases in interaction diagrams Design class diagram Design ( how )
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
SimArch: Work in Progress Multimedia Teaching Tool Faculty of Electronic Engineering University of Nis Serbia.
Object-Oriented Design Principles and Patterns. © 2005, James R. Vallino2 How Do You Design? What principles guide you when you create a design? What.
Behavioral Design Patterns Morteza Yousefi University Of Science & Technology Of Mazandaran 1of 27Behavioral Design Patterns.
Common Set of Tools for Assimilation of Data COSTA Data Assimilation Summer School, Sibiu, 6 th August 2009 COSTA An Introduction Nils van Velzen
Strategy Design Patterns CS 590L - Sushil Puradkar.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
L11-12: Design Patterns Definition Iterator (L4: Inheritance)‏ Factory (L4: Inheritance)‏ Strategy (L5: Multiple Inheritance)‏ Composite (L6: Implementation.
Software Design Patterns (1) Introduction. patterns do … & do not … Patterns do... provide common vocabulary provide “shorthand” for effectively communicating.
PROPOSAL OF AN INNOVATIVE ARCHITECTURE FOR WEB BASED EDUCATION SYSTEMS CATE 2012 Superior School of Computer Science of National Polytechnic Institute.
Software Quality Model for Consumer Electronic Product Chanwook Kim, Keun Lee 2009 IEEE Speaker: 林建慶、詹志鴻、洪煒凱.
Design Patterns CSIS 3701: Advanced Object Oriented Programming.
05/26/2004www.indyjug.net1 Indy Java User’s Group May Knowledge Services, Inc.
What It Is Interactive music generation system Component #1: user interface Component #2: sound generation Music learning tool Component #1: easier help.
PROC-1 1. Software Development Process. PROC-2 A Process Software Development Process User’s Requirements Software System Unified Process: Component Based.
Linzhang Wang Dept. of Computer Sci&Tech, Nanjing University The Strategy Pattern.
OO Methodology Elaboration Iteration 2 - Design Patterns -
Architectural Styles, Design Patterns, and Objects Joe Paulowskey.
Java Fundamentals Usman Ependi UBD
Software Design Patterns Curtsy: Fahad Hassan (TxLabs)
Java EE Patterns Dan Bugariu.  What is Java EE ?  What is a Pattern ?
CSE 303 – Software Design and Architecture
Design Reuse Earlier we have covered the re-usable Architectural Styles as design patterns for High-Level Design. At mid-level and low-level, design patterns.
Stephenson College DP 98 1 Design Patterns by Derek Peacock.
Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 1 Software Development Process.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Example to motivate discussion We have two lists (of menu items) one implemented using ArrayList and another using Arrays. How does one work with these.
Software Design Patterns in Test Automation
Introduction to Computers Lesson 13A. home Computer Program A set of instructions or statements, also called code, to be carried out by the computer’s.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
COMPOSITE PATTERN NOTES. The Composite pattern l Intent Compose objects into tree structures to represent whole-part hierarchies. Composite lets clients.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
CLASSIFICATION OF DESIGN PATTERNS Hladchuk Maksym.
Design Patterns: MORE Examples
Object Oriented Programming
Strategy Design Pattern
Strategy Pattern Jim Fawcett CSE776 – Design Patterns Fall 2014.
MPCS – Advanced java Programming
Design Patterns Lecture part 2.
Introduction to Design Patterns
Jim Fawcett CSE776 – Design Patterns Summer 2003
Object Oriented Design Patterns - Structural Patterns
Strategy Design Pattern
From Use Cases to Implementation
Strategy Pattern Jim Fawcett CSE776 – Design Patterns Fall 2014.
Presentation transcript:

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 , 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 interactive 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.