Chapter 5

13
Chapter 5 Andrew Bates Jay Babb Steve Haroz

description

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). - PowerPoint PPT Presentation

Transcript of Chapter 5

Page 1: Chapter 5

Chapter 5

Andrew Bates

Jay Babb

Steve Haroz

Page 2: Chapter 5

Introduction

• “Log Cabin” Analogy

• Design before Implementation

Page 3: Chapter 5

Specification Methods

• Natural-language vs. formal/semiformal Grammars

• Menu-tree Structures

• Transition Diagrams

• User Action Notation (UAN)

Page 4: Chapter 5

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

Page 5: Chapter 5

Transition Diagrams

• Computer-Assisted Software Engineering (CASE)

• Complexity issues

Page 6: Chapter 5

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

Page 7: Chapter 5

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

Page 8: Chapter 5

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

Page 9: Chapter 5

UI Building Tools (cont.)

• Software Support– Increase Productivity– Offer constraint and consistency checks– Facilitate team approaches– Ease maintenance

Page 10: Chapter 5

Design Tools

Page 11: Chapter 5

Design Tools

Page 12: Chapter 5

Design Tools

Page 13: Chapter 5

Design Tools