Module 1: Requirement analysis and specification

Knowledge check: Requirement analysis and specification

Practice Assignment

1. Which of the following is NOT a typical characteristic of a functional requirement?

  • Defines what a system should do.
  • Specifies data formats and protocols.
  • Outlines how fast the system responds to a request. ✅
  • Describes user interactions with the system.

Explanation:
Functional requirements define what the system should do (behavior, interactions, and data handling). The speed of response is a non-functional requirement, as it deals with performance characteristics rather than functionality.

2. True or False: User stories are primarily used to capture functional requirements.

  • False
  • True ✅

Explanation:
User stories describe functional requirements from the user’s perspective. They focus on what the system should do to meet user needs.

3. The acronym INVEST evaluates the quality of user stories. The "S" in INVEST stands for ______.

  • Scalable
  • Significant
  • Specific
  • Small ✅

Explanation:
In INVEST, “S” stands for Small, emphasizing that user stories should be small enough to be completed within a single iteration or sprint.

4. Identify which INVEST attributes are violated by the following user story:

User Story: As a developer, I want to create a report module so that I can generate any type of report for the system, regardless of complexity.

Select all that apply.

  • Testable ✅
  • Small ✅
  • Independent ✅
  • Negotiable

Explanation:

  • Testable: The story is not testable because “any type of report” is vague and lacks clear acceptance criteria.
  • Small: The story is too large and complex to be completed in a single sprint.
  • Independent: It may depend on other modules to generate reports, violating independence.

5. Imagine you are tasked to identify functional and non-functional requirements for a weather application. Which of the following is a non-functional requirement?

  • The system must respond to user input within 2 seconds. ✅
  • The application will display the current temperature.
  • The app will show a 5-day weather forecast.
  • The user can save their preferred city for weather updates.

Explanation:
Non-functional requirements define system qualities like performance, scalability, or usability. The response time is a performance-related non-functional requirement. The other options describe functional requirements.

Knowledge check: System design and architecture

Practice Assignment

6. Which of the following best describes the Microservices architecture pattern?

  • Structuring an application into logical layers and physical tiers.
  • Breaking an application down into small, independent, loosely coupled services. ✅
  • Dividing processes into a series of filters. 
  • A centralized server providing resources in response to client requests.

Explanation:
Microservices architecture focuses on decomposing a large application into small, autonomous services that can be independently developed, deployed, and maintained.

7. True or False: The Observer pattern is categorized as a behavioral design pattern.

  • False
  • True ✅

Explanation:
The Observer pattern is a behavioral design pattern that allows an object (the subject) to notify a list of observer objects automatically when its state changes.

8. Which of the following are examples of a creational design pattern? Select all that apply.

  • Singleton pattern ✅
  • Builder pattern ✅
  • Strategy pattern
  • Client-Server pattern

Explanation:
Creational design patterns deal with the creation of objects:

  • Singleton ensures that a class has only one instance and provides a global point of access to it.
  • Builder constructs complex objects step by step.
    Strategy pattern is a behavioral pattern, and Client-Server pattern is an architectural pattern.

9. Which of the following conditions are required to implement the Builder pattern? Select all that apply.

  • The builder class must be public and static. ✅
  • The product class must include a getInstance() factory method.
  • The builder class must have a build() method.
  • The product class must include an inner builder class. ✅

Explanation:

The product class must include an inner builder class.

    • Correct. This is a common implementation choice that allows for a clear and cohesive relationship between the product and its builder.
  • The builder class must have a build() method.

    • Correct. The build() method is essential as it returns the constructed product object.
  • The builder class must be public and static.

    • Correct. While not a strict requirement of the Builder pattern, making the builder class public and static allows it to be accessed without instantiating the product class, which is a common implementation approach.

10. Which of the following diagrams best represents a one-to-many cardinality relationship?

Explanation:

In a one-to-many relationship:

  • “1” on one side indicates one instance of an entity.
  • “1..*” on the other side means one or more instances of another entity are associated with it.
    This pattern represents a typical one-to-many relationship in entity-relationship diagrams.

Knowledge check: User interface design

Practice Assignment

11. Which principle of UI design ensures that interactive elements are clearly distinguishable from non-interactive elements?

  • Discriminability ✅
  • Detectability
  • Consistency
  • Clarity

Explanation:
Discriminability refers to the ability to differentiate between interactive and non-interactive elements in a UI design. This principle ensures that buttons, links, or other interactive elements are visually distinct, making it easier for users to recognize them.

12. Which of the following best describes the principle of legibility in UI design?

  • Ensuring text is visually appealing with decorative fonts and colors.
  • Ensuring all text aligns with the overall design theme of the interface.
  • Organizing information in a clear and concise manner.
  • Making text readable by focusing on font size, contrast, and clarity. ✅

Explanation:
Legibility focuses on the readability of text, which includes choosing appropriate font sizes, sufficient contrast between text and background, and clear typography to ensure users can read the content easily.

13. Which of these best defines the principle of conciseness in UI design?

  • Reducing the number of visual elements on the page.
  • Displaying as many options as possible.
  • Presenting only the essential information without overwhelming the user. ✅
  • Using large, decorative fonts.

Explanation:
Conciseness involves removing unnecessary details and presenting only the most relevant information. This avoids overwhelming the user and helps them focus on important elements or tasks.

14. You are designing a mobile app for first-time users. The app includes a tutorial screen with interactive buttons to guide users through the features. One user feedback indicates confusion about how to proceed after the first step.

Which principle of UI design should you prioritize to ensure users can understand how to interact with the tutorial?

  • Consistency
  • Discriminability
  • Detectability
  • Comprehensibility ✅

Explanation:
Comprehensibility is about making the interface and its interactions easy to understand. To address the user’s confusion, the tutorial should clearly explain the next steps, perhaps using labels, tooltips, or visual cues.

15. True or False: The principle of detectability focuses on ensuring users understand the purpose of each UI element.

  • True
  • False ✅

Explanation:
Detectability is about ensuring that interactive elements are noticeable and easily identified by the user. However, understanding the purpose of a UI element falls under the principle of comprehensibility, which focuses on making the function and intention of elements clear to the user.

Module quiz: Project planning and design

Graded Assignment

16. Which of the following are examples of User Stories? Select all that apply.

  • The system should allow users to sign up.
  • As a user, I want to sign up for an account to access the platform. ✅
  • The system must be able to process user requests.
  • As an administrator, I want to generate reports. ✅

Explanation:
User stories are written from the perspective of a user or stakeholder and describe what they want to achieve. They typically follow the format: “As a [role], I want [action] so that [benefit].” System requirements, like “The system should allow users to sign up,” are not user stories.

17. What is a key benefit of using iterative development?

  • Iterative development guarantees that the system will be finished quickly.
  • Iterative development allows early and continuous delivery of valuable software. ✅
  • Iterative development involves a single release at the end of the project.
  • Iterative development eliminates the need for user feedback.

Explanation:
Iterative development focuses on creating small, incremental updates that provide value to users, allowing teams to adapt to feedback and changing requirements.

18. Which of the following are examples of non-functional requirements? Select all that apply.

  • The system must have a login feature.
  • The system should process payments within 5 seconds. ✅
  • The system should support 100,000 users concurrently. ✅
  • The system must generate a report every month.

Explanation:
Non-functional requirements describe the system’s performance, scalability, and other quality attributes. Functional requirements, such as having a login feature or generating monthly reports, describe what the system does.

19. Which of the following is NOT an attribute of the INVEST criteria for writing good user stories?

  • Independent – a user story should stand alone without depending on other stories.
  • Innovative – a user story should introduce novel solutions or ideas. ✅
  • Testable – a user story should include clear acceptance criteria to verify its completion.
  • Negotiable – a user story should be open to discussion and changes.

Explanation:
The INVEST acronym stands for Independent, Negotiable, Valuable, Estimable, Small, and Testable. “Innovative” is not part of this framework.

20. Which of the following is an example of a software design pattern?

  • Functionality
  • Layering
  • Singleton ✅
  • Sequence

Explanation:
Singleton is a design pattern that ensures a class has only one instance and provides a global point of access to that instance. The other options do not refer to specific design patterns.

21. Your team is designing an online payment system. The workflow includes steps like verifying user identity, processing payments, and sending confirmation emails. Which UML diagram would best represent this process flow?

  • Activity diagram ✅
  • Class diagram
  • Use case diagram
  • State diagram

Explanation:
An activity diagram represents workflows or processes, making it the best choice for illustrating the steps in an online payment system.

22. Which of the following is least likely to be a primary concern of system architecture?

  • Optimizing the system to ensure fast response times.
  • Ensuring the system can handle increased traffic as demand grows.
  • Designing visually appealing interfaces for end users. ✅
  • Protecting sensitive data and guarding against unauthorized access.

Explanation:
System architecture focuses on technical aspects like performance, scalability, and security, not on the aesthetics of the user interface.

23. Effective use of color theory in UI design can enhance both visual appeal and usability by guiding user focus and improving readability.

  • True ✅
  • False

Explanation:
Color theory helps designers use colors strategically to draw attention to important elements, create hierarchy, and improve the overall user experience.

24. True or False: Good UX design focuses on improving the satisfaction and experience of users when interacting with a system.

  • False
  • True ✅ 

Explanation:
Good UX design aims to create an intuitive and enjoyable experience for users, ensuring their needs and goals are met effectively.

25. True or False: Good UX design focuses on improving the satisfaction and experience of users when interacting with a system.

  • Displaying promotional offers throughout the checkout process to encourage purchases.
  • Reducing the number of required steps to complete the checkout. ✅
  • Including additional fields to gather more customer data during checkout.
  • Adding an interactive guide to explain the steps of the checkout process.

Explanation:
Simplifying the checkout process minimizes friction and makes it easier for users to complete their purchase, reducing drop-off rates.

Leave a Reply