Chapter 5 – Transition to Design Flashcards

1
Q

Design Rules

A
• Principles of usability (*)
	- General understanding
• Standards and guidelines
	- Direction for design
• Design patterns
	- Capture and reuse design knowledge
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Types of Design Rules

A
• Principles (should have)
	- Abstract design rules
	- Low authority (not a must)
	- High generality
	- Example:
		~ Interface should be easy to navigate
• Standards
	- Specific design rules
		~ Very specific on certain things
	- High authority (a must)
	- Limited application
	- Example:
		~ Use RG#1010D0 for home links
• Guidelines
	- Lower authority (not a must)
	- More general application
	- Example:
		~ Use color to highlight links
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Principles to support usability

A
• Learnability (how easy for non-tech savvy person to learn)
	-Ease with which new users can:
		~ Begin effective interaction
		~ Achieve maximal performance
• Flexibility (more than one way)
	-Multiplicity of ways
		~ The user and system exchange information
• Robustness (support system)
	-Level of support provided the user in:
		~ Determining successful achievement
		~ Assessment of goal-directed behavior
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Principles of learnability

A
• Predictability
	- Determining effect of future actions based on:
		~ Past interaction history
	- Operation visibility
• Synthesizability
	- Assessing:
		~ The effect of past actions
	- Immediate vs eventual honesty
• Familiarity
	- How prior knowledge applies to new system
	- Guessability; affordance
• Generalizability
	- Extending specific interaction knowledge
		~ To new situations
• Consistency
	- Likeness in input/output behavior
		~ Arising from similar situations or task objectives
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Principles of Flexibility

A

• Dialogue initiative (allow the user to do)
- Freedom
~ From system imposed constraints on input dialogue
- System vs user pre-emptiveness
• Multithreading (perform more than 1 task)
- Ability of system to:
~ Support user interaction for more than one task at a time
- Concurrent vs interleaving; multimodality
• Task migratability (transferring files)
- Passing responsibility for task execution between:
~ User
~ System
- Allowing equivalent values of input and output
~ To be substituted for each other
• Customizability
- Modifiability of the user interface by:
~ User (adaptability)
~ System (adaptivity)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Principles of robustness (stability)

A
  • Observability
  • Recoverability
  • Responsiveness
  • Task conformance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

HCI design patterns (*)

A

• Human-computer interaction (HCI)
- Relationship between:
~ Computers
~ People who use them to perform their jobs
• An approach to reusing knowledge
- About successful design solutions
• Pattern:
- An invariant solution to a recurrent problem within a specific context
- Do not exist in isolation
- Linked to other patterns in languages
~ Enable complete designs to be generated
• Examples (*):
- Light on Two Sides of Every Room (architecture) – LOTSOR
- Go back to a safe place (HCI)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Characteristics of patterns

A
• Capture:
	- Design practice (not theory)
	- Essential common properties
		~ Of good examples of design
• Represent:
	- Design knowledge at varying levels:
		~ Social
		~ Organizational
		~ Conceptual
		~ Detailed
• Embody values
	- Can express what is humane in interface design
• Are:
	- Intuitive
	- Readable
		~ Can be used for communication between all stakeholders
• Pattern language:
	- Should be generative
	- Assist in the development of complete designs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

System Prototyping

A

Prototyping: Rapid development of a system

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Uses of system prototypes (*)

A

• Principal use:
- Help customers and developers understand the requirements for the system
• Requirements elicitation:
- Users can experiment with a prototype
~ To see how the system supports their work
• Requirements validation:
- The prototype can:
~ Reveal errors and omissions in the requirements
• Can be considered as a risk reduction activity
- Which reduces requirements risks

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Prototyping benefits (*)

A
• Misunderstandings between:
	- Software users
	- Developers
		~ Are exposed
• Missing & confusing services:
	- Detected
	- Identified
• Working system:
	- Available early in the process
• Prototype:
	- Serve as a basis for:
		~ Deriving a system specification
• System can:
	- Support user training
	- System testing
• Improved:
	- System usability
	- Design quality
	- Maintainability
• Closer match to the system needed (confirmation/close enough)
• Reduced overall development effort
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Prototyping in the software process (*)

A

• Evolutionary prototyping (show user & refine the prototype)
- An approach to system develop where:
~ An initial prototype is produced and refined through a number of stages to the final system

• Throw-away prototyping
- A practical implementation of the system is produced to help discover requirements problems
~ And then discard the system is then developed using some other development process

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Prototyping objectives

A

• Evolutionary prototyping:

- Deliver a working system to end-users
- Development starts with those requirements which are best understood

• Throw-away prototyping:

- Validate or derive the system requirements
- Development starts with those requirements which are poorly understood
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Advantages of evolutionary prototyping

A

• Accelerated delivery of the system
- Rapid delivery and deployment are sometimes more important than fuctionality or long-term software maintainability

• User engagement with the system
- Not only is the system more likely to meet user requirements, they are more likely to commit to the use of the system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Disadvantages of evolutionary prototyping

A

• Management problems
- Existing management processes:
~Assume a waterfall model of development

• Maintenance problems
	- Continual change:
		~Tends to corrupt system structure
	- Long-term maintenance:
		~ Expensive

• Contractual problems

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Prototyping languages

A
  • Smalltalk – Object-oriented
  • Java – Object-oriented
  • Prolog – Logic
  • Lisp – List-based
17
Q

Database programming languages

A
• Domain specific languages for business systems
• Normally includes:
	- Database query language
	- Screen generator
	- Report generator
	- Spreadsheet
• May be integrated with a:
	- CASE toolset
• Language + environment = Fourth-generation language (4GL)
• Small to medium business systems:
	- Cost-effective
18
Q

Components and application assembly

A
• Prototypes:
	- Created quickly from:
		~ A set of reusable components
		~ Some mechanism to ‘glue’ these components together
• Composition mechanism must include:
	- Control facilities
	- Mechanism for component communication
• System specification:
	- Take into account the:
		~ Availability
		~ Functionality
	- Of existing components
19
Q

Prototyping with reuse

A
  • Application level development

* Component level development

20
Q

Compound documents

A

• A document with active elements that allow user computations
• Example:
- Spreadsheet

21
Q

Code Design

A
• Overview of Codes
	- Code:
		~ A set of letters or numbers that represent a data item
		~ Can be used to simplify output, input and data formats
	- Used to represent data
	- It helps:
		~ Save storage space and costs
		~ Reduce transmission time
		~ Decrease data entry time
		~ Reduce data input errors
22
Q

Sequence codes (*)

A

• Numbers or letters assigned in a specific order
• Example:
- Employee id – 2234 hired before employee id – 3123

23
Q

Block sequence codes (*)

A

• Blocks of numbers for different classifications
• Example:
- Subjects 100-level > year 1, 200-level > year 2

24
Q

Alphabetic codes (*)

A
Alphabet letters to distinguish one item from another
• Category codes
	- Identify a group of related items
• Abbreviation codes – mnemonic codes
	- Example:
		~ NY
		~ JB
25
Q

Significant digit codes (*)

A

Distinguish items by using a series of subgroup of digits

26
Q

Derivation codes (*)

A

Combine data from different item attributes or characteristics

27
Q

Cipher codes (*)

A
• Use a keyword to encode a number
• Example:
	- A store might use CAMPGROUND to code prices
		~ C = 1, A = 2, etc.
		~ So if GRAND means RM562.90
28
Q

Action codes (*)

A
• Action to be taken with an associated item
• Example:
	- D – to display a record
	- A – to add record
	- X – to exit the program
29
Q

Summary for types of codes

A
  • Sequence
  • Alphabetic codes
  • Block sequence
  • Significant digit
  • Derivation
  • Action
  • Cipher