HCI in Software process Flashcards
What is software engineering?
Software engineering is the discipline for understanding the software design process, or life cycle.
Outline 3 activities in the life cycle
- Requirements specification
- Architectural design
- Detailed design
Explain 3 activities in the life cycle
- Requirements specification - designer and customer try capture what the system is expected to provide can be expressed in natural language or more precise languages, such as a task analysis would provide
- Architectural design - high-level description of how the system will provide the services required factor system into major components of the system and how they are interrelated needs to satisfy both functional and nonfunctional requirements
- Detailed design - refinement of architectural components and interrelations to identify modules to be implemented separately the refinement is governed by the nonfunctional requirements
Differentiate verification and validation
Verification means designing the product right and validation means designing the right product
Describe the formality gap
validation will always rely to some extent on subjective means of proof
What’s the ultimate test of usability based on measurement of user experience
Usability engineering demands that specific usability measures be made explicit as requirements
Problem associated with Usability engineering
usability specification requires level of detail that may not be possible early in design
Outline 4 usability specifications
- usability attribute/principle
- measuring concept
- measuring method
- now level/ worst case/ planned level/ best case
Briefly describe 3 traditional usability categories
1. effectiveness can you achieve what you want to? 2. efficiency can you do it without wasting effort? 3. satisfaction do you enjoy the process?
What are prototypes?
These are temporary systems that simulate or animate some features of intended system
List down three types of prototypes
- throw-away
- incremental
- evolutionary
Briefly describe any 2 prototyping techniques
- Storyboards
need not be computer-based
can be animated - Limited functionality simulations
some part of system functionality provided by designers, tools like HyperCard are common for these
Wizard of Oz technique
What is design Rationale?
Design rationale is information that explains why a computer system is the way it is
List down 4 Benefits of design rationale
1 . communication throughout life cycle
- reuse of design knowledge across products
- enforces design discipline
- presents arguments for design trade-offs
- organizes potentially large design space
- capturing contextual information
explain two types of design Rationale
1 . Process-oriented
preserves order of deliberation and decision-making
e.g Issue based information system
- Structure-oriented
emphasizes post hoc structuring of considered design alternatives
e.g design space analysis