Design Methodology Tools for UI Development
This chapter introduces design methods and tools for user interface (UI) development, emphasizing natural-language vs. formal/semiformal methods like grammars and transition diagrams. It explores User-Action Notation (UAN), Backus-Naur Form (BNF), Computer-Assisted Software Engineering (CASE), and complexity issues. It emphasizes UI Independence, project management, and rapid prototyping for iterative design. Tools aim to increase productivity, support multiple platforms, and engage stakeholders.
Design Methodology Tools for UI Development
E N D
Presentation Transcript
Chapter 5 Andrew Bates Jay Babb Steve Haroz
Introduction “Log Cabin” Analogy Design before Implementation
Specification Methods • Natural-language vs. formal/semiformal • Grammars • Menu-tree Structures • Transition Diagrams • User Action Notation (UAN)
Grammars • Backus-Naur Form (BNF) <Telephone book entry> ::= <Name> <Telephone number> <Name> ::= <Last name>, <First name> <Last name> ::= <string> <First name> ::= <string> <string> ::= <character> | <character><string> <character> ::= A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z <Telephone number> ::= (<area code>) <exchange>-<local number> <area code> ::= <digit><digit><digit> <exchange> ::= <digit><digit><digit> <local number> ::= <digit><digit><digit><digit> <digit> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Transition Diagrams • Computer-Assisted Software Engineering (CASE) • Complexity issues
User-Action Notation (UAN) User Actions Interface Feedback Interface State ~[file] Mv file!, forall(file!): file-! selected = file ~[x,y]* outline(file) > ~ ~[trash] outline(file) > ~, trash! M^ erase(file), trash!! selected = null
UI Building Tools • UI Independence • Separate interface design from internals • Enable multiple UI strategies • Enable multiple platform support • Establish role of UI architect • Enforce standards
UI Building Tools (cont.) • Methodology and Notation • Develop design procedures • Find ways to talk about design • Create Project Management • Rapid Prototyping • Try out ideas early • Test, revise, test, revise… (iterative design) • Engage end users, managers, and customers
UI Building Tools (cont.) • Software Support • Increase Productivity • Offer constraint and consistency checks • Facilitate team approaches • Ease maintenance