Professional Documents
Culture Documents
SMD100
Interactive Systems
Spring 2002
L Overview
• Architecture’s place
• Dialog control
• Model-View-Controller Architecture
• Swing and MVC
• Architecture and the Event-Action-State
Paradigm
Architecture’s Place
• Six phases:
- Requirements definition
- Specification
- Implementation
- Testing
- Installation
- Maintenance
• Software architecture is concerned with:
- The specification phase
- Internal design
L Remember - An Interactive
Systems View of the Software
Dialog Control
• Undo/Redo • Cut-Copy-Paste
- History and coordination at - At the semantic (FC) level
all levels - Within or between
applications
- Needs stack of reverse - Data formats are a
commands complication
• Context sensitive help + Clipboard in
presentation units
- Needs system and user
⇒Violates FC level
models
⇒Needs translation
- Must monitor system state ⇒Must operate on
and history presentation, DC, &
- DC controls FC levels
Model-View-Controller Architecture
L Model-View-Controller
Controller View
Model
Controller View
• Receive and dispatch events • Draw the model
+ Spatially • Update the model’s display
+ Sequentially • Determine which objects
• Defines dialog are selected.
Model
• Notifies all views when changed
• Defines connection to controller
• Cut, Copy, Paste
• Undo, Redo
• Help
• Separation of concerns
- Controller
+ Handles input and sequencing, i.e., dialog
+ Interacts tightly with View for feedback
• Quick response for drag-and-drop, rubber-banding, etc.
+ Updates Model
+ Can do limited validity checking, called semantic delegation
- View
+ Connection with Controller for feedback
+ Connection with Model for back-end data
- Model
+ Allows modification of data via user or external events
• Flexibility
- Easier to create multiple views of same model
Model
L Adding Details-on-Demand
L Modifications to MVC
L Swing Models
• Indirect Communication
- The model “broadcasts” change notifications
- Delegates listen and act appropriately
• Specialization through subclass mechanisms
- Custom field verification, etc.
L UCM Architecture
UI Layer
Model Layer
• Dialog control
- Implements UI style, sequencing, & interface-application
communication
• Software architecture is used:
- To map functions to components
- Simplify design and implementation
- Based on separation of concerns
• MVC and its variants are:
- Used in all modern UI systems
- Separates interface issues from the application data
- Directly supported by Swing
• UCM can be thought of as:
- Combining the VC and then splitting to use a global dialog
control model
24-Mar-02 © 2001-2002 by David A. Carr 31
L Questions?