Software Architecture Module 2
Software Architecture Module 2
(11 hours)
1
Architectural Design
• Provide interactive user interface for
software functions
• Design space is large including
25 functional dimensions
19 structural dimensions
2
Basic Structural Model
for User Interface Software
Device Application
Interface Interface
• Device Dependent Component:
– contains code specific to that particular device.
• Shared User Interface Component:
– contains code supporting UI of multiple application program.
• Application Specific Component:
– contains code specific to one particular application program.
– Cannot be reused in other applications
– Contains functions core to application & application specific UI code.
3
Function Dimensions
• Identify the requirements for a user
interface system that most affect its
structure.
• Function dimensions are grouped into 3
1. External Requirements
2. Basic Interactive Behaviour
3. Practical Consideration
4
Function Dimensions
1. External Requirements
– Includes requirements of the particular
applications+ users+ I/O devices+ constraints
imposed by surrounding computer system.
2. Basic Interactive Behavior
– Includes key decisions about User Interface
behavior influencing internal structure.
3. Practical Consideration
– Development cost+ degree of adaptability of the
system
5
External Requirements
External Event Handling User Customizability
6
Interactive Behaviour
1. Menu Selection.
2. Form Filling.
3. Command Language.
4. Natural Language.
5. Direct Manipulation.
7
Practical Consideration
Application Portability across UI Styles.
1. High
2. Medium
3. Low
8
Structural Dimensions
• Design alternatives for the overall structure of
system grouped to 3 classes.
1. Division of functions+ knowledge among modules.
– Considers how system functions are divided into modules, the
interfaces between modules and information contained within
each module
2. Representation Issues
– Consider data representation used within the system.
3. Control flow, Communication & Synchronization issues
– Consider dynamic behavior of user-interface code
9
Division of functions+ knowledge
among modules
Application Interface Abstract Device variability
Abstraction level (Device interface)
• Monolithic program
• Abstract device • Ideal device
• Tool Kit
• Parameterized device
• Interaction manager with fixed
datatype. • Device with variable
operation
• Interaction manager with
extensible datatype. • Adhoc device
• Extensible Interaction
Manager.
10
Representation Issues
Notation for user-interface definition is a representation dimension
-> It classifies the techniques used for defining the appearance and behavior of the
user interface.
11
Representation Issues
1. Implicit in shared user-interface code:
Information is associated with shared code.
Ex: visual appearance of menu might be implicit in menu routines supplied by
toolkit.
12
Representation Issues
13
Representation Issues
5. Internal Declarative notation:
Information is stored as a non procedural specification within the
application program.
Ex: List of menu entries provided to a toolkit menu routine.
14
Control Flow, communication and
Synchronization issues.
Basis of communication is a Communication Dimension.
15
Control Flow, communication and
Synchronization issues.
Control Thread Mechanism.
16
Control Flow, communication and
Synchronization issues.
Control Thread Mechanism.
Classification:
17
Control Flow, communication and
Synchronization issues.
Control Thread Mechanism.
Classification:
5. Event Handlers:
• Pseudoprocesses that are invoked through a series of subroutine calls.
• Each call should return before another event handler process call.
• Control flow is restricted. Ex: waiting for another process cannot occur
inside a subroutine called by an event handler.
6. Interrupt-service routines:
• Hardware level event handling.
• Allow for preemptive scheduling.
18
Design Rules for User Interface
Architecture
Connections between dimensions is given as
19
Notation of Design Rule:
20
Two Categories of Design Rule
21
Sample Rules:
Rules linking functional dimension & structural dimension
23
Sample Rules:
Rules interconnecting structural dimension
24
Applying Design Space: Example
- Sample System: CT programming language and environment.
25
CT’s FUNCTIONAL REQUIREMENTS IN
TERMS OF THE DESIGN SPACE:
- No requirement for external event handling.
26
Architecture of CT :classified in structural
dimensions
- Application-interface abstraction level falls in the
toolkit class.
- Six systems were taken for study and test was carried
as follows:
28
Validation Experiment
- Step 2: Functional requirements given to program.
- Step 3:
29
Quantified Design Space
30
Quantified Design Space
31
Quality Function Deployment
translated to
32
Quality Function Deployment
- 6 Benefits:
33
Quality Function Deployment
34
QFD Process
Realizations
Requirements
Translated at
each stage of
product
development
35
QFD Framework
1. Customer requirements :
36
QFD Framework
37
QFD Framework
6. Organizational difficulty :
38
QFD Framework
39