2.2.1 - The Software Life Cycle.
1. What is the primary focus of the requirements specification in the software life cycle?
- A) Defining system architecture
- B) Describing desired system functionality
- C) Detailing programming languages used
- D) Outlining system validation methods
Correct Answer: B) Describing desired system functionality
2. Which of the following best describes the role of the customer in software development?
- A) The person who develops the software
- B) The person who hires the design team
- C) The person who will use the software
- D) The person responsible for coding
Correct Answer: B) The person who hires the design team
3. Which activity is responsible for breaking down the system into its component parts for development?
- A) Coding and unit testing
- B) Requirements specification
- C) Architectural design
- D) Integration and testing
Correct Answer: C) Architectural design
4. Which of the following is a non-functional requirement in software systems?
- A) The system’s safety features
- B) The system’s user interface
- C) System input and output data formats
- D) Programming language used
Correct Answer: A) The system’s safety features
5. What is the first step in the coding phase of software development?
- A) Writing code
- B) Selecting technologies
- C) Understanding requirements
- D) Code review
Correct Answer: C) Understanding requirements
6. What activity in the software life cycle ensures that individual components function as expected?
- A) Integration and testing
- B) Unit testing
- C) Architectural design
- D) Maintenance
Correct Answer: B) Unit testing
7. Which task focuses on testing whether the system meets customer needs?
- A) Verification
- B) Detailed design
- C) Validation
- D) Coding and unit testing
Correct Answer: C) Validation
8. What is the process of merging components according to the architectural plan called?
- A) Validation
- B) Coding
- C) Maintenance
- D) Integration and testing
Correct Answer: D) Integration and testing
9. In software life cycle activities, what is the main goal of maintenance?
- A) Integrating new components
- B) Correcting system errors and updating functionality
- C) Writing unit tests
- D) Defining system architecture
Correct Answer: B) Correcting system errors and updating functionality
10. What is the key difference between validation and verification?
- A) Validation ensures system functionality; verification ensures coding standards
- B) Validation checks correctness; verification checks completeness
- C) Validation ensures customer needs are met; verification ensures internal consistency
- D) Validation is done by developers; verification is done by clients
Correct Answer: C) Validation ensures customer needs are met; verification ensures internal consistency
11. What best describes the purpose of version control in coding?
- A) To improve system efficiency
- B) To track code changes and manage collaboration
- C) To ensure code follows design specifications
- D) To document user requirements
Correct Answer: B) To track code changes and manage collaboration
12. What is the objective of architectural design in software development?
- A) Defining the behavior of individual components
- B) Dividing the system into parts and defining their relationships
- C) Identifying programming languages
- D) Writing code for the system
Correct Answer: B) Dividing the system into parts and defining their relationships
13. During the detailed design phase, the primary objective is to:
- A) Validate the system against user needs
- B) Refine architectural components for development
- C) Write unit tests for individual components
- D) Integrate and test system modules
Correct Answer: B) Refine architectural components for development
14. Which activity ensures that the system uses shared resources appropriately?
- A) Maintenance
- B) Coding and unit testing
- C) Integration and testing
- D) Requirements specification
Correct Answer: C) Integration and testing
15. What is the primary focus of validation in software design?
- A) Ensuring system efficiency
- B) Ensuring system completeness
- C) Ensuring the system meets client requirements
- D) Ensuring consistency within the design
Correct Answer: C) Ensuring the system meets client requirements
16. Which of the following defines "formal proof" in the context of software verification?
- A) A proof supported by the conventions of natural language
- B) A rigorous argument expressed in any language
- C) A proof fully supported by mathematical conventions
- D) A subjective argument based on real-world scenarios
Correct Answer: C) A proof fully supported by mathematical conventions
17. Why is coding documentation important in software development?
- A) It increases code coverage
- B) It helps in future maintenance and understanding of the code
- C) It ensures correctness in integration testing
- D) It validates user requirements
Correct Answer: B) It helps in future maintenance and understanding of the code
18. The "formality gap" refers to:
- A) The inconsistency between natural and mathematical languages
- B) The gap between coding and testing phases
- C) The distinction between functional and non-functional requirements
- D) The communication challenges between developers and clients
Correct Answer: A) The inconsistency between natural and mathematical languages
19. What was the primary focus of most large systems developed in the 1960s and 1970s?
- A) Real-time systems
- B) Business data processing applications
- C) Interactive user interfaces
- D) Personal computer applications
Correct Answer: B) Business data processing applications
20. According to a 1978 IBM survey, what percentage of designer effort was dedicated to user interface code?
- A) 30%
- B) 40%
- C) 50%
- D) 60%
Correct Answer: C) 50%
21. Why is it important to experiment with user interactions during the design process?
- A) To validate the system architecture
- B) To predict usability based on psychological theories
- C) To determine user needs and improve system usability
- D) To focus on system validation and formal proof
Correct Answer: C) To determine user needs and improve system usability
22. What challenge arises when trying to define all user requirements for an interactive system upfront?
- A) Designers can always predict user needs accurately
- B) Users may not know the tasks they will perform until they use the system
- C) The system is designed for batch processing only
- D) The psychology of human cognition can predict usability perfectly
Correct Answer: B) Users may not know the tasks they will perform until they use the system
23. What is the main problem with rough estimations of an interactive system during experimentation, according to John Carroll?
- A) They do not provide meaningful observations
- B) They are more costly than building the real system
- C) They are easier to implement but harder to manage
- D) They simplify the user interface unnecessarily
Correct Answer: A) They do not provide meaningful observations
24. What is the "chicken-and-egg problem" in interactive system design?
- A) Users often complete tasks before understanding technology
- B) Designers can predict user tasks before development begins
- C) Users don't know tasks until they become familiar with technology
- D) Users cannot interact with complex systems at all
Correct Answer: C) Users don't know tasks until they become familiar with technology
25. What was the unexpected result when using graphics drawing programs with discrete layers?
- A) The layers simplified drawing static images
- B) Users could perform basic simulations by alternating between layers
- C) The program could not handle interactive images
- D) Layers allowed only one type of drawing to be done
Correct Answer: B) Users could perform basic simulations by alternating between layers
26. Which of the following is a key principle of Agile methodology?
- A) Processes and tools over individuals and interactions
- B) Comprehensive documentation over working software
- C) Contract negotiation over customer collaboration
- D) Responding to change over following a plan
Correct Answer: D) Responding to change over following a plan
27. In Agile methodology, what is the purpose of a daily stand-up meeting?
- A) To test code changes
- B) To synchronize the team and identify obstacles
- C) To finalize the product backlog
- D) To review detailed documentation
Correct Answer: B) To synchronize the team and identify obstacles
28. What does DevOps aim to improve?
- A) Software delivery through manual testing
- B) Coordination between software development and IT operations
- C) Increased time to market with slower releases
- D) Focus on detailed contract negotiations
Correct Answer: B) Coordination between software development and IT operations
29. What is the role of Continuous Integration (CI) in DevOps?
- A) To integrate infrastructure into code
- B) To allow developers to integrate code changes frequently
- C) To track customer feedback
- D) To finalize contract negotiations
Correct Answer: B) To allow developers to integrate code changes frequently
30. Which of the following tools is commonly used for containerization in DevOps?
- A) Git
- B) Docker
- C) Jenkins
- D) Slack
Correct Answer: B) Docker
2.2.2 - Usability Engineering.
31. Who proposed the technique of usability engineering?
- (A) Whiteside and Nielsen
- (B) Nielsen and Bennett
- (C) Nielsen at Bellcore and Whiteside at IBM
- (D) Whiteside and Holtzblatt
Correct Answer: (C) Nielsen at Bellcore and Whiteside at IBM.
32. What is the primary focus of usability engineering?
- (A) Defining the user interface
- (B) Defining standards to evaluate product usability
- (C) Improving system functionality
- (D) Reducing cognitive load on users
Correct Answer: (B) Defining standards to evaluate product usability.
33. What serves as the ultimate test of a product's usability?
- (A) Usability metrics
- (B) Cognitive load analysis
- (C) User experiences
- (D) System functionality
Correct Answer: (C) User experiences.
34. Why does a focus on the real user interface pose a risk?
- (A) It ignores system architecture and user cognition
- (B) It increases system complexity
- (C) It makes usability testing more expensive
- (D) It causes more user errors
Correct Answer: (A) It ignores system architecture and user cognition.
35. What is a usability specification?
- (A) A document defining software lifecycle
- (B) A list of product features
- (C) A part of requirements specification focusing on user-system interaction
- (D) A method of user testing
Correct Answer: (C) A part of requirements specification focusing on user-system interaction.
36. What is the usability attribute discussed in the VCR case study?
- (A) Efficiency
- (B) Satisfaction
- (C) Cognitive load
- (D) Recoverability
Correct Answer: (D) Recoverability.
37. What is backward recoverability in the context of usability engineering?
- (A) The ability to avoid user errors
- (B) The ability to redo a task
- (C) The ability to reverse a mistaken programming sequence
- (D) The ability to restart a system after a failure
Correct Answer: (C) The ability to reverse a mistaken programming sequence.
38. How is backward recoverability measured in the VCR example?
- (A) By the time taken to complete the task
- (B) By the number of explicit user actions to undo
- (C) By the user's cognitive capacity
- (D) By the system's functionality
Correct Answer: (B) By the number of explicit user actions to undo.
39. What value in the usability specification refers to the performance of the current system?
- (A) Best case
- (B) Planned level
- (C) Now level
- (D) Worst case
Correct Answer: (C) Now level.
40. What is the worst-case value in a usability specification?
- (A) The lowest acceptable measurement for a task
- (B) The planned target for a new design
- (C) The best performance possible
- (D) The highest number of user errors
Correct Answer: (A) The lowest acceptable measurement for a task.
41. Why do usability attributes need to be better than the current level?
- (A) To improve user satisfaction
- (B) To meet legal requirements
- (C) To justify the product's cost
- (D) To ensure the system is error-free
Correct Answer: (C) To justify the product's cost.
42. What is a problem with usability metrics, according to the passage?
- (A) They focus too much on user feedback
- (B) They are based on very specific user activities
- (C) They make the design process slower
- (D) They are too complex to measure
Correct Answer: (B) They are based on very specific user activities.
43. What does the passage suggest about measuring user performance?
- (A) It is the most effective method for system design
- (B) It is necessary for predicting usability
- (C) It can assess usability but not predict design improvements
- (D) It focuses solely on software systems
Correct Answer: (C) It can assess usability but not predict design improvements.
44. What assumption did the designer of the VCR make in terms of backward recovery?
- (A) That users would never make mistakes
- (B) That fewer explicit actions would make the undo process easier
- (C) That the system would handle errors automatically
- (D) That programming errors are unavoidable
Correct Answer: (B) That fewer explicit actions would make the undo process easier.
45. What limitation of usability engineering is mentioned in the passage?
- (A) It only applies to non-computer-based systems
- (B) It does not necessarily ensure usability
- (C) It focuses too much on technical specifications
- (D) It ignores user feedback
Correct Answer: (B) It does not necessarily ensure usability.
46. What does the ISO standard 9241 recommend in relation to usability?
- (A) Usability metrics should focus on user feedback
- (B) Using usability specifications to define needs
- (C) Evaluating only the physical user interface
- (D) Prioritizing efficiency over satisfaction
Correct Answer: (B) Using usability specifications to define needs.
47. Which of the following is a problem with usability engineering as mentioned in the passage?
- (A) It provides too many usability metrics
- (B) It assumes that usability metrics alone will improve system usability
- (C) It only works for software systems
- (D) It does not consider user feedback
Correct Answer: (B) It assumes that usability metrics alone will improve system usability.
2.2.3 - Iterative Design and Prototyping.
48. What is the primary concept behind iterative design?
- (A) Building once and testing later
- (B) Cycling through multiple concepts and improving with each iteration
- (C) Creating final specifications at the outset of a project
- (D) Ignoring user feedback during the design process
Correct Answer: (B) Cycling through multiple concepts and improving with each iteration.
49. Which of the following is NOT a type of prototyping in iterative design?
- (A) Throw-away
- (B) Incremental
- (C) Evolutionary
- (D) Interactive
Correct Answer: (D) Interactive.
50. What is the key feature of Throw-away prototyping?
- (A) The prototype is discarded after evaluation
- (B) The prototype is continuously improved
- (C) The prototype becomes part of the final system
- (D) The prototype focuses on non-functional requirements
Correct Answer: (A) The prototype is discarded after evaluation.
51. In Incremental prototyping, how is the final product developed?
- (A) The entire system is built at once
- (B) One component at a time, with multiple releases
- (C) Through throw-away prototypes only
- (D) Without any requirements specification
Correct Answer: (B) One component at a time, with multiple releases.
52. What does Evolutionary prototyping involve?
- (A) Discarding prototypes after testing
- (B) Keeping prototypes and building upon them
- (C) Testing prototypes with minimal user interaction
- (D) Skipping user feedback during development
Correct Answer: (B) Keeping prototypes and building upon them.
53. Which of the following is an issue with prototyping identified by Sommerville?
- (A) Lack of user feedback
- (B) Prototypes always include non-functional features
- (C) Time spent on disposable prototypes
- (D) Prototypes cannot simulate real interactions
Correct Answer: (C) Time spent on disposable prototypes.
54. What is the primary reason for using rapid prototyping?
- (A) To skip evaluation
- (B) To create highly functional prototypes
- (C) To quickly create and modify prototypes
- (D) To avoid contractual agreements
Correct Answer: (C) To quickly create and modify prototypes.
55. What is a potential drawback of using prototypes in contractual agreements?
- (A) They can replace formal documentation
- (B) They may delay the final design process
- (C) Prototypes cannot act as the legal basis for a contract
- (D) They always include all non-functional aspects
Correct Answer: (C) Prototypes cannot act as the legal basis for a contract.
56. What is the purpose of a storyboard in prototyping?
- (A) To build functional system components
- (B) To simulate dynamic interaction with full functionality
- (C) To provide a schematic representation of external design
- (D) To act as a final version of the product
Correct Answer: (C) To provide a schematic representation of external design.
57. Which of the following prototyping techniques allows creating animations to simulate user interactions?
- (A) Paper-based storyboards
- (B) Storyboards with scripts and annotations
- (C) High-level programming
- (D) Animated storyboards
Correct Answer: (D) Animated storyboards.
58. Which high-level programming language allows easy association of interactive system behavior with user inputs?
- (A) C++
- (B) HyperTalk
- (C) JavaScript
- (D) Python
Correct Answer: (B) HyperTalk.
59. In interactive system design, what does a UIMS (User Interface Management System) typically separate?
- (A) Application functionality from user input devices
- (B) Interface design from the entire system
- (C) Functional behavior from user feedback
- (D) Application functionality from interface behavior
Correct Answer: (D) Application functionality from interface behavior.