· web view2014-10-12 · csse 571. fall, 201. 4. notes for class. 5. t. ue. s. day, oct. 1. 4....

17
CSSE 571 Fall, 2014 Notes for class 5 Tuesday, Oct 14 I. Let's talk about your projects and HW -- a. HW 3 - due last night - comparisons, like features vs use cases b. Part 3 - The analysis assignment - due last week c. Part 4 - Initial improvement ideas - due next week II. Tonight - two topics a. Quality attribute requirements (non-functional requirements) i. Ch 5 in Berenbach ii. Ch 22 in Leffingwell iii. Interesting list of those especially related to Interaction Design in ID book, pp 356-7. iv. My favorite template for Supplementary Spec, showing Bass et al's breakdown of Quality attributes - see http://www.rose-hulman.edu/class/csse/csse571/handouts _571/process/SupplementarySpecTemplate.doc . v. Their Software Architecture in Practice, 3 rd Edition, is super- duper on analyzing quality attributes! b. Interaction Design - first half (ID book, Ch 1 - 6) III. Quality attribute requirements (non-functional requirements) a. Why QA requirements are different / special i. Software architecture is "a structure or structures of a system which comprise its software elements, their externally visible properties, and relationships among them." (p 126) ii. The basis for this comes from many sources iii. The QA's have a long-term impact on the product iv. Some are difficult to define / measure v. They interact with each other in subtle ways - The figure below is from Software Requirements, Second Edition (Wiegers 2003). 1. Note that "efficiency" (performance) is the enemy of almost everything else!

Upload: others

Post on 05-Jan-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1:   · Web view2014-10-12 · CSSE 571. Fall, 201. 4. Notes for class. 5. T. ue. s. day, Oct. 1. 4. Let's talk about your projects. and HW --HW 3 - due last night - comparisons, like

CSSE 571Fall, 2014Notes for class 5Tuesday, Oct 14

I. Let's talk about your projects and HW --a. HW 3 - due last night - comparisons, like features vs use casesb. Part 3 - The analysis assignment - due last weekc. Part 4 - Initial improvement ideas - due next week

II. Tonight - two topicsa. Quality attribute requirements (non-functional requirements)

i. Ch 5 in Berenbachii. Ch 22 in Leffingwell

iii. Interesting list of those especially related to Interaction Design in ID book, pp 356-7.

iv. My favorite template for Supplementary Spec, showing Bass et al's breakdown of Quality attributes - see http://www.rose-hulman.edu/class/csse/csse571/handouts_571/process/SupplementarySpecTemplate.doc.

v. Their Software Architecture in Practice, 3rd Edition, is super-duper on analyzing quality attributes!

b. Interaction Design - first half (ID book, Ch 1 - 6)III. Quality attribute requirements (non-functional requirements)

a. Why QA requirements are different / speciali. Software architecture is "a structure or structures of a system which comprise

its software elements, their externally visible properties, and relationships among them." (p 126)

ii. The basis for this comes from many sourcesiii. The QA's have a long-term impact on the productiv. Some are difficult to define / measurev. They interact with each other in subtle ways - The figure below is from Software

Requirements, Second Edition (Wiegers 2003).1. Note that "efficiency" (performance) is the enemy of almost everything

else!2. Why are "Flexibility" and "Integrity" negatively related?3. Why are "Availability" and "Robustness" positively related?4. Why are "Usability" and "Integrity" negatively related?5. How about "Testability" and "Integrity"?

Page 2:   · Web view2014-10-12 · CSSE 571. Fall, 201. 4. Notes for class. 5. T. ue. s. day, Oct. 1. 4. Let's talk about your projects. and HW --HW 3 - due last night - comparisons, like

vi. The architecture must anticipate changevii. QA's may be difficult to test ahead of time

viii. They have cross-cutting impacts (e.g., security)ix. They are "soft" - with partially satisfying answers, versus yes/no answers.

b. What are QA's?i. An observable, usually measurable, characteristic of a system that indicates its

fitness for useii. Similar terms -

1. Cross-cutting requirements2. Architecturally significant requirements (ASR's)3. Non-functional requirements

c. Where do these appear?

Page 3:   · Web view2014-10-12 · CSSE 571. Fall, 201. 4. Notes for class. 5. T. ue. s. day, Oct. 1. 4. Let's talk about your projects. and HW --HW 3 - due last night - comparisons, like

d. Quality attributes have "scenarios" that are like generalized use cases. See Bass, et al, 2003 - 2nd Ed (and 2012 - 3rd Ed).

i. Let's look at some examples in the Supplementary Spec template on the course web site.

ii. Berenbach also uses this format in examples - pp 143-4.e. Trouble - people have different lists of what these "are" -

i. Some of this makes sense - different kinds of systems. We don't have a user interface, so usability isn't one of these.

ii. Some of it's based on organizational considerations - we're not responsible for "price," so "price" isn't one of these.

iii. Bass's classic list is 6 main QA's:1. Availability2. Performance

Page 4:   · Web view2014-10-12 · CSSE 571. Fall, 201. 4. Notes for class. 5. T. ue. s. day, Oct. 1. 4. Let's talk about your projects. and HW --HW 3 - due last night - comparisons, like

3. Usability4. Security5. Testability6. Modifiability

iv. Notice that the last two of Bass's QA's are about the development environment. These could be general QA goals for development in a whole product line or by a whole organization. E.g.,

v. Berenbach's list has categories of "QAR's" -1. Process quality - for the process producing the product2. Internal quality - for the intermediate work products (which may also

be deliverable)3. External quality - for the finished product, before delivery4. Quality in use - of the larger processes in which the delivered product is

used5. He then has related "topics" defined in Table 5.1 (pp 136-7), such as

Maturity, Understandability, Safety, and Satisfaction.vi. For each QA, you have to decide what they mean, in terms of test results -

1. For Berenbach's travel reservation system (p 133), what's "completeness"?

a. "Percentage of use cases passing system test"b. I.e., percentage of unassisted reservations done by users

i. Attaching equal weight to each use caseii. Avoiding problems of expertise, like for hired testers

iii. Overlooking the issue that a failed use case doesn't mean it won't work in real-world situations

2. Suppose we tried to measure "performance" for this system - we'd have to use related requirements that are sufficiently crisp, like:

a. "The system shall measure and report 'reservation completion time,' starting from the display of the first flight query screen and ending with the display of the screen giving the reservation confirmation number."

Page 5:   · Web view2014-10-12 · CSSE 571. Fall, 201. 4. Notes for class. 5. T. ue. s. day, Oct. 1. 4. Let's talk about your projects. and HW --HW 3 - due last night - comparisons, like

b. "The 'reservation completion time' for an experienced tester on a lightly loaded system making a Type 3 reservation shall be less than two minutes."

f. Berenbach jokingly (kind of) lists "Stages of Quality Attribute Grief" similar to Kubler-Ross's stages for humans! These (p 139) predictably start with Denial.

i. There is a real issue that it's hard to talk about QA's until broad functional requirements have been defined.

ii. Also an issue that these are hard to discuss with customers, who want systems that cost nothing, and run infinitely fast forever.

iii. A very common problem - setting targets that are unnecessarily ambitious, just to avoid customer displeasure. Almost impossible, for example, "The system will respond to all user inputs in less than 3 seconds."

g. Checklists can be useful for specifying QA's.i. Starting point - identify the classes of stakeholders who care about certain ones.

h. Bass has processes for deciding from among conflicting QA's, during design of the system. This works well for a general product design (where something like "salability" is the overriding QA).

i. Berenbach's similar system is "Global Analysis" (pp 146+), which uses factors, issues, and strategies to work with architectural conflicts from QAR's.

1. Includes a systematic way of dealing with each category!ii. Factor examples (p 147):

1. The product developers are spread across three locations2. The license fees for a key third-party software component will likely be

around $1500 per server.3. There is a significant market demand for both large-screen and cell-

phone versions of this type of product.iii. Issues - things that make QA's hard to accomplish, like (p 149):

1. Develop in 14 calendar months2. Programmers don't know Java3. Seventy-five major features4. Novel user interface concept

iv. Strategies - also fuzzy, like (p 150):1. Implement asynchronous communication using loosely coupled event

channels instead of tighter-coupled publishers and subscribers.v. All of these things are more complex than straight requirements, but weigh

heavily on the ability to do the project successfully. E.g., Table 5.2:

Requirement FactorTrue of the product(s) True and related to the architecture of a product

familyUnambiguous Explicitly variableVerifiable Arguable

Page 6:   · Web view2014-10-12 · CSSE 571. Fall, 201. 4. Notes for class. 5. T. ue. s. day, Oct. 1. 4. Let's talk about your projects. and HW --HW 3 - due last night - comparisons, like

Consistent ReadableComplete ImportantTraceable Yes, eventually

vi. Instead of being verifiable, factors are only expected to be arguable.vii. Many of these factors are contradictory.

viii. Goal of the Global Analysis process is to come up with good strategies to deal with factors and issues. E.g.,

1. "Train the staff internally on how to use ASP with Java."i. Testing ASR's (QA's) - pp 154+:

i. Often need to pick simpler tests that predict complex QA results, like for performance

1. Test what you can!j. Berenbach has a Case Study (pp 156+) - The "Building Automation System"

i. I.e., manages doors, windows, alarms, HVAC, etc., in a buildingii. The software company needs to invent a new, more integrated system to offer

customersiii. New system needs to handle new kinds of devicesiv. Needs to have rules based on their values that should trigger reactionsv. Product needs to be salable to VARs (value-added resellers)

vi. Want to enter new, international marketsvii. Lots of drivers and constraints

viii. Hope to end up with an "architectural model" of the required functionality, like:

Page 7:   · Web view2014-10-12 · CSSE 571. Fall, 201. 4. Notes for class. 5. T. ue. s. day, Oct. 1. 4. Let's talk about your projects. and HW --HW 3 - due last night - comparisons, like

IV. Interaction Designa. What is ID? (Ch 1)

i. Systems interacting with usersii. Important to study separately because you have to design prototypes and get

reactions, to capture requirements for the final productiii. The errors are obvious, people hate them, and they costs salesiv. Examples:

1. Elevator controls:

2. Tivo vs Apex remote control:

v. ID is multi-disciplinaryvi. Cultural differences in users are very important

vii. Why was the iPod a success?viii. Typical goals of product usability:

1. Effective to use2. Efficient to use3. Safe to use4. Have good utility5. Easy to learn6. Easy to remember how to use

ix. Typical ID strategy - "affordances" - like a mouse button invites clicking.

Page 8:   · Web view2014-10-12 · CSSE 571. Fall, 201. 4. Notes for class. 5. T. ue. s. day, Oct. 1. 4. Let's talk about your projects. and HW --HW 3 - due last night - comparisons, like

x. ID has lots of heuristics for good design. E.g., from Nielsen (2001):1. Visibility of system status2. Match between system and the real world3. User control and freedom4. Consistency and standards5. Help users recognize, diagnose and recover from errors6. Error prevention7. Recognition rather than recall8. Flexibility and efficiency of use9. Aesthetic and minimalist design10. Help and documentation

b. Conceptualizing Interaction (Ch 2)i. What are the metaphors and analogies that convey meaning?

1. Like the original Visicalc spreadsheet app looked like an accounting ledger

ii. These all have limitations and wrinkles, however!iii. Typical situation - "Design a system to help autistic children interact better with

their environment."iv. Four basic interaction types to choose from:

1. Instructinga. issuing commands using keyboard and function keys and

selecting options via menus2. Conversing

a. interacting with the system as if having a conversation3. Manipulating

a. interacting with objects in a virtual or physical space by manipulating them

b. Ben Shneiderman (1983) coined "direct manipulation" as an interface with:

i. Continuous representation of objects and actions of interest

ii. Physical actions and button pressing instead of issuing commands with complex syntax

iii. Rapid reversible actions with immediate feedback on object of interest

c. Works great with games!4. Exploring

a. moving through a virtual environment or a physical spacec. Cognitive aspects (Ch 3)

i. What goes on in our minds?

Page 9:   · Web view2014-10-12 · CSSE 571. Fall, 201. 4. Notes for class. 5. T. ue. s. day, Oct. 1. 4. Let's talk about your projects. and HW --HW 3 - due last night - comparisons, like

ii. Core concepts of all this:1. Attention

a. Interface needs to capture user's attentionb. Crisp and clean versus cluttered (Google vs Yahoo)

2. Perception and recognitiona. Grouping helpsb. Whitespace helpsc. Icons should be recognizable, text legible

3. Memorya. Involves first encoding and then retrieving knowledgeb. We don’t remember everything - involves filtering and

processing what is attended toc. Context is important in affecting our memory (i.e., where,

when)d. Well known fact that we recognize things much better than

being able to recall things4. Reading, speaking and listening5. Problem-solving, planning, reasoning and decision-making, learning6. Most relevant to interaction design are attention, perception and

recognition, and memoryiii. Eye-opening exercise - Try to write down how an ATM works!iv. Norman's model (1986) of human interaction - how we use things. Is it realistic?

--1. Establish a goal2. Form an intention3. Specify an action sequence4. Execute an action5. Perceive the system state

Page 10:   · Web view2014-10-12 · CSSE 571. Fall, 201. 4. Notes for class. 5. T. ue. s. day, Oct. 1. 4. Let's talk about your projects. and HW --HW 3 - due last night - comparisons, like

6. Interpret the state7. Evaluate the system state with respect to the goals and intentions

v. Cognitive load is an issue - we all use tricks to reduce this!d. Social interaction (Ch 4)

i. Conversational mechanisms1. What's it now mean to "be social"?2. What are conversational rules?

a. Rule 1: the current speaker chooses the next speaker by asking an opinion, question, or request

b. Rule 2: another person decides to start speakingc. Rule 3: the current speaker continues talkingd. Turn-taking used to coordinate conversation

i. A: Shall we meet at 8?ii. B: Um, can we meet a bit later?

vsiii. A: Shall we meet at 8?iv. B: Wow, look at him?v. A: Yes what a funny hairdo!

vi. B: Um, can we meet a bit later?e. Back channeling to signal to continue and following

i. Uh-uh, umm, ahh3. What's different about remote conversations? (Texting, cell phone,

etc.)a. Synchronousb. Asynchronous

ii. Coordination mechanisms1. verbal and non-verbal communication2. schedules, rules, and conventions3. shared external representations

iii. Awareness mechanisms1. Involves knowing who is around, what is happening, and who is talking

with whom2. Peripheral awareness

a. keeping an eye on things happening in the periphery of visionb. Overhearing and overseeing - allows tracking of what others are

doing without explicit cues3. Notification versus monitoring

e. Emotional interaction (Ch 5)i. This gets into the whole notion of whether computers should try to express

emotions.ii. If you're doing a game, the answer may be Yes!

iii. Expressive interfaces - good example.

Page 11:   · Web view2014-10-12 · CSSE 571. Fall, 201. 4. Notes for class. 5. T. ue. s. day, Oct. 1. 4. Let's talk about your projects. and HW --HW 3 - due last night - comparisons, like

1. Can animated figures ever sell anything on the Internet?f. Interfaces (Ch 6)

i. Main goal - How to enable people to access and interact with information in their work, social, and everyday lives

ii. Command interfaces - efficient, precise, fast1. Large overhead to learn the "language"2. Consistency is important3. Ties in with scripting automation

iii. WIMP / GUI interfaces1. Every vendor has a slightly different variant - Windows, Mac, Linux, etc.2. Issues -

a. Window management i. enabling users to move fluidly between different

windows (and monitors) b. How to switch attention between them to find information

needed without getting distractedc. Design principles of spacing, grouping, and simplicity should be

usediv. Menus

1. flat lists, drop-down, pop-up, contextual, and expanding ones, e.g., scrolling and cascading

2. Classic iPod flat list:

3. Research issues -a. What are best names/labels/phrases to use?b. Placement in list is criticalc. Quit and save need to be far apartd. Many international guidelines exist emphasizing depth/breadth,

structure and navigatione. e.g. ISO 9241

v. Icon design1. Icons are assumed to be easier to learn and remember than commands2. Can be designed to be compact and variably positioned on a screen3. Research & design considerations -

Page 12:   · Web view2014-10-12 · CSSE 571. Fall, 201. 4. Notes for class. 5. T. ue. s. day, Oct. 1. 4. Let's talk about your projects. and HW --HW 3 - due last night - comparisons, like

a. There is a wealth of resources now so do not have to draw or invent icons from scratch

i. guidelines, style guides, icon builders, librariesb. Text labels can be used alongside icons to help identification for

small icon sets c. For large icon sets (e.g., photo editing or word processing) use

rolloversvi. Multimedia

1. graphics, text, video, sound, and animations2. Facilitates rapid access to multiple representations of information3. Can provide better ways of presenting information than can either one

alone4. Can enable easier learning, better understanding, more engagement,

and more pleasure5. Can encourage users to explore different parts of a game or story6. Tendency to play video clips and animations, while skimming through

accompanying text or diagramsvii. Virtual reality (VR)

1. Much research on how to design safe and realistic VRs to facilitate training

a. e.g., flying simulatorsb. help people overcome phobias (e.g., spiders, talking in public)

2. Design issuesa. how best to navigate through them (e.g., first versus third

person)b. how to control interactions and movements (e.g., use of head

and body movements)c. how best to interact with information (e.g., use of keypads,

pointing, joystick buttons); d. level of realism to aim for to engender a sense of presence

viii. Web interfaces1. A billboard going by at 60 mph?2. Design issues

a. Web interfaces are getting more like GUIsb. Need to consider how best to design, present, and structure

information and system behaviorc. But also content and navigation are centrald. Veen’s design principles

i. (1)Where am I? (2)Where can I go?(3) What’s here?

e. Always - look at what the big-bucks sites are doing

Page 13:   · Web view2014-10-12 · CSSE 571. Fall, 201. 4. Notes for class. 5. T. ue. s. day, Oct. 1. 4. Let's talk about your projects. and HW --HW 3 - due last night - comparisons, like

i. E.g., Nike.comix. Speech interfaces

1. Where a person talks with a system that has a spoken language application, e.g., timetable, travel planner

2. Current example - Sirix. Mobile devices

1. Tend to use all the above!2. Salient features:

a. Small screens, small number of keys and restricted number of controls

b. Innovative designs including:i. roller wheels, rocker dials, up/down ‘lips’ on the face of

phones, 2-way and 4-way directional keypads, softkeys, silk-screened buttons

c. Usability and preference for these control devices variesi. depends on the dexterity and commitment of the user

xi. Shareable interfaces1. More than one person uses at the same time2. Provide multiple inputs and sometimes allow simultaneous input by co-

located groups3. Large wall displays where people use their own pens or gestures 4. Interactive tabletops where small groups interact with information

using their fingertips5. Research & design issues -

a. More fluid and direct styles of interaction involving freehand and pen-based gestures

b. Core design concerns include whether size, orientation, and shape of the display have an effect on collaboration

c. Horizontal surfaces compared with vertical ones support more turn-taking and collaborative working in co-located groups

d. Providing larger-sized tabletops does not improve group working but encourages more division of labor

xii. Plenty more - see Ch 6 (haptic, robotic, wearable, brain-computer, …)V. What's next? - see schedule and assignments

A. Next class - i. Topics will be

1. Platforms - Ch 6 in Berenbach, etc.2. Interaction Design - Second half of the Interaction Design book! (Skim

Ch 7 - 15) B. Take-home exam 1 - Available now, due next MonC. Paper/project - Initial improvement ideas - Due next Mon