Frameworks and Design - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

Frameworks and Design

Description:

A set of abstract and concrete classes. Framework Issues ... Abstraction Modeling. Domain ... prepare models that are used in later parts of the ... – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 14
Provided by: Robert9
Category:

less

Transcript and Presenter's Notes

Title: Frameworks and Design


1
Frameworks and Design
  • CS2340

2
References
  • Building Application Frameworks Object-Oriented
    Foundations of Framework Design Mohammed Fayed,
    Douglas Schmidt, Ralph Johnson Wiley 1999
  • Framework-Based Software Development in C
    Gregory Rodgers Prentice Hall 1997

3
Definition-What is a framework?
  • A reusable design that describes how system in
    decomposed into objects.
  • A class library that captures interaction
    patterns between objects.
  • A set of abstract and concrete classes

4
Framework Issues
  • Development Complexity
  • Learning Curve (Usability)
  • Extensibility
  • Maintainability
  • Validation
  • Efficiency
  • Composition

5
Framework design Issues
  • KISS Keep it simple (7 /- 2 Rule)
  • May use cliques (mini-frameworks) GUI vs. Drawing
  • Help user be productive quickly
  • Identify tools for task (Internal vs. External)
  • Use real-world knowledge to speed understanding
  • Be consistent
  • Dont make things almost the same

6
Framework design issues
  • Design to prevent user errors (i.e. Adopt/Orphan
    naming conventions)
  • Have default behavior
  • Be modeless
  • Provide immediate and reversible results
  • Have documentation
  • Especially interactions
  • Framework not equal to Class Library

7
Framework Development
  • Domain Analysis
  • Architectural Design
  • Framework Design
  • Framework Implementation
  • Framework Testing
  • Documentation

8
Domain Analysis
  • Context Analysis
  • Abstraction Modeling
  • Domain Architecture (Clustering)
  • Basically we want to figure out important
    concepts and their relationships. Then we
    prepare models that are used in later parts of
    the design. Focus is on the problem space and
    problem category.

9
Architectural Design
  • Frequently uses
  • Layers
  • Roles
  • Translate Domain Architecture into something that
    can be implemented, tested, extended and
    maintained.
  • Enforcing constraints via the architecture can be
    challenging.

10
Case study of a framework
  • Sunit unit testing frameworks
  • Domain analysis
  • What are concepts in domain of testing?

Test Case Test Suite Test Fixture Test Check Test
Result Something to run the tests
11
SUnit Architecture
TestCase uses the Command Pattern, implements
abstract run interface. Run is a Template Method
Pattern run setUp runTest
tearDown TestSuite Composite Pattern
12
JUnit Architecture
13
Coming up
  • M5 due one week from today (11/04)
  • Next time Grammars Parsing
  • Next week Alan Kay video
Write a Comment
User Comments (0)
About PowerShow.com