05-Interface Design
05-Interface Design
05-Interface Design
Interface design
1. Graphical user interface design
ITSS SOFTWARE DEVELOPMENT
2. System/Device interface design
5. INTERFACE DESIGN
1 2
3 4
3 4
1
5 6
Standardizing Standardizing
◆Display
• Control
• Physical size, resolution, and number of colors
supported by displays • Style, size, color, and characters displayed
◆Screen: divided into displayed objects called • Input check process
windows (Window) • Sequence of moving the focus (e.g., defining the tab
• Location of standard buttons (e.g., OK, Cancel, sequence)
Register, Search) • Menu
• Display location of messages, etc. • Design menus with consideration of the standard
• Display of screen title and menus specification (common client area) of the screen
• Consistency in expression of alphanumeric characters
• Direct input from a keyboard
• Expression of sentences and detailed items
• Maintain consistency in the assignment of shortcut keys
• Color coordination
5 6
7 8
7 8
2
9 10
9 10
11 12
11 12
3
13 14
13 14
15 16
15 16
4
17 18
Four transition patterns (4) Link the screen: Screen transition diagram
• 4. Transition to a dependent screen:
Edit Slide
• Start a dependent new screen with data
Show From Start
Selected
slide
Replace Text Duplicate Slide
Selected
slide
Show Current Slide
17 18
19 20
19 20
5
21 22
Screen specification
• Screen image
Screen specification
• This is the screen image to be displayed. If screen
example
images are created in advance with the screen design
tool, attach a hardcopy.
• List of functions
• Defines the names of parts such as the buttons on the
screen, and summarizes their functions.
• Provide descriptions of events for individual screens,
attributes of parts, input check specifications and output
specifications, etc.
• Defining the field attributes
[1]: Section 3.2.1, pp 3-54
21 22
23 24
23 24
6
25 26
25 26
27 28
7
29
• subsystem.W();
• }
Package B
ClassB1
•}
ClassB2
<<subsystem>>
Subsystem A
31 33
8
35
X()
2.2. Identify subsystem interfaces
W() 2.3. Subsystem design
<<Interface>>
<<subsystem>>
InterfaceK SubsystemA
ClassA1 ClassA2
X()
W() X() W()
34 35
36 37
9
Example: Design Subsystems and Interfaces
Analysis Design Example: Analysis-Class-To-Design-Element Map
<<boundary>>
BillingSystem <<subsystem>> Analysis Class Design Element
Billing System
ICourseCatalogSystem
38 39
CourseCatalogSystem
+ initialize ()
+ getCourseOfferings ()
40 41
10
43
+ // is registration open?()
2.1. Identify subsystem
+ // close registration()
0..1
2.2. Identify subsystem interfaces
+ Biller 1 2.3. Subsystem design
<<Interface>>
1
IBillingSystem <<entity>>
Student
+ submitBill(forStudent : Student, forTuition : double)
<<subsystem>>
BillingSystem
42 43
44 45
11
Subsystem Design Steps Subsystem Responsibilities
• Distribute subsystem behavior to • Subsystem responsibilities defined by interface
subsystem elements operations
• Model interface realizations
• Document subsystem elements
• Interface may be realized by
• Describe subsystem dependencies • Internal class behavior
• Checkpoints • Subsystem behavior
<<interface>>
ICourseCatalogSystem
getCourseOfferings () <<subsystem>>
Initialize () CourseCatalogSystem
getCourseOfferings ()
Initialize ()
Subsystem responsibility
46 47
48 49
12
Subsystem Interaction Diagrams Internal Structure of Supplier Subsystem
: Client Subsystem : Supplier Subsystem • Subsystem Manager
performResponsibility( )
coordinates the internal Supplier Subsystem
Internal
subsystem behavior of the
: Subsystem Manager
interactions
subsystem.
Subsystem
responsibility
: Design : Design
• The complete subsystem Element1 Element2
behavior is distributed
amongst the internal
Design Element classes.
Black box view of subsystems
50 51
1. // close registration( )
: Subsystem : Design : Design 1.1. // is registration open?( ) Retrieve a list of course
offerings for the current
Manager Element1 Element2 semester
2. // close registration( )
performResponsibility( ) Close
2.1. getCourseOfferings(Semester) registration for
doThis( ) each course
offering If the maximum number of
Repeat twice this selected primary courses have
is for simplicity; 2.2. // close registration( )
not been committed, select
doThat( ) realistically, an alternate course offerings).
indefinite number
of iterations could
occur) 2.3. // level( )
thisAgain( )
Finally commit or
2.4. // close( ) Currently assuming tuition based on
cancel the course
offering once all number of offerings taken and certain
thatAgain( ) leveling has occurred attributes of students. If different offerings
get different prices this will change slightly.
2.5. getTuition( )
Send student and tuition to
the Billing System, which will
do the actual billing to the 2.6. submitBill(Student, double)
student for the schedule.
subsystem responsibility
White box view of Supplier Subsystem
52 53
13
Example: Local BillingSystem Subsystem Interaction
Subsystem Design Steps
Subsystem
Billing System
Client
: BillingSystem : StudentBillingTransaction : Student :BillingSystemInterface : Billing System • Distribute subsystem behavior to
1. submitBill(Student, double) subsystem elements
Retrieve the
54 55
Subsystem
0..1
Component
BillingSystemInterface
submit(theTransaction : StudentBillingTransaction)
56 57
14
Example: BillingSystem Subsystem
Subsystem Dependencies: Guidelines
Dependencies
• Subsystem dependency on a subsystem
Flexible, <<subsystem>>
<<subsystem>> <<subsystem>> BillingSystem
Client Support Server Support
Preferred (from Business Services)
Server
58 59
60 61
15
63
62 63
16