TOPIC 4

KK24803 SOFTWARE DESIGN: REQUIREMENT MODELLING


Learning Outcomes

  • Recall functional (FR) and non-functional requirements (NFR)

  • Understand how requirements map to models

  • Identify what Use Case and Activity diagrams show

  • Relate modules to requirements and diagrams


Quick Recap: Functional vs Non-Functional Requirements

Definition of Terms

  • Functional Requirements (FR)
      - Type: Model
      - Example (Mobile Banking): Use Case Diagram
      - Representation: Shows WHAT system does.

  • Non-Functional Requirements (NFR)
      - Type: Constraint / Quality Model
      - Example (Mobile Banking): Rules guiding modules/functions
      - Representation: Shows HOW the system behaves (steps & decisions)

Specific Examples for Non-Functional Requirements
  • Secure: Must ensure that data is protected from unauthorized access

  • Fast (<2 sec): All functions should respond within 2 seconds

  • Reliable: The system should function consistently without failure


Understanding Behaviour (Conceptual)

  • Definition of Behaviour: Refers to how the system responds to user actions or events.

  • Focus Points: Steps, decisions, and workflow that the system undergoes.

  • Importance:
      - Aids in translating functional requirements (WHAT) into implementation-ready design (HOW).
      - Guides the creation of modules and activity diagrams.

  • Example (Transfer Money Process):
      1. User initiates transfer
      2. System checks balance
      3. System confirms or rejects
        - Not yet a diagram, but outlines conceptual steps.


Use Case Diagram

  • Topic: Mobile Banking Example

  • Actor: Customer

  • Use Cases:
      - Login
      - Check Balance
      - Transfer Money

  • Purpose: Illustrates WHAT the system does (high-level functions).

  • Actors: Include both users and external systems.


Activity Diagram

  • Topic: Transfer Money Process

  • Steps:
      1. Enter amount
      2. Verify balance
      3. Decision → Sufficient?
        - a. Yes: Process transfer
        - b. No: Show error
      4. Confirm transaction

  • Purpose: Demonstrates HOW the system performs a function (workflow & decisions).


Non-Functional Requirements (NFR) / Constraint Model

  • Representation: Typically listed in a table.

  • Attachment of NFRs: Can be connected to:
      - Specific Use Case
      - Specific module/component
      - Entire system

  • Concept of NFRs: Represent quality or constraint rules that govern system design.

Examples of Non-Functional Requirements
  • Security:
      - Applies to: All functions
        - Notes: Includes authentication, encryption, secure storage

  • Performance:
      - Applies to: Login, Transfer Money
        - Response time: per transaction must be less than 2 seconds

  • Reliability:
      - Applies to: Entire system
        - Key Points: No data loss, high availability required.


Summary

  • Functional Requirement (FR): Specifies WHAT the system must do, represented through:
      - Use Case Diagram

  • Activity Diagram: Illustrates HOW the system behaves, showcasing design workflow.

  • Module: Acts as the implementation unit for Functional Requirements or their behavior.

  • Non-Functional Requirement (NFR): Defines quality or constraints that guide design globally, ensuring adherence to quality standards.

  1. What do Functional Requirements (FR) represent?

    • A) How the system behaves

    • B) What the system does

    • C) Constraints of the system

    • D) None of the above
      Answer: B

  2. Non-Functional Requirements (NFR) are primarily concerned with:

    • A) User inputs

    • B) System processes

    • C) System quality and constraints

    • D) Data storage
      Answer: C

  3. Which diagram displays high-level functions of a system?

    • A) Activity Diagram

    • B) Use Case Diagram

    • C) Flow Chart

    • D) Sequence Diagram
      Answer: B

  4. How often must a system respond under Non-Functional Requirements for the Mobile Banking example?

    • A) Within 5 seconds

    • B) Within 1 second

    • C) Within 2 seconds

    • D) Within 3 seconds
      Answer: C

  5. The focus points of understanding system behavior include:

    • A) User opinions

    • B) Steps, decisions, and workflow

    • C) Database structure

    • D) Hardware specifications
      Answer: B

  6. In the example of the money transfer process, which is the first step?

    • A) System checks balance

    • B) User initiates transfer

    • C) Confirm transaction

    • D) Show error
      Answer: B

  7. Which actor is involved in the Mobile Banking Use Case Diagram?

    • A) Bank Manager

    • B) ATM Machine

    • C) Customer

    • D) System Admin
      Answer: C

  8. The Transfer Money Activity Diagram includes which of the following steps?

    • A) Enter User ID

    • B) Confirm balance

    • C) Verify amount

    • D) Display error message
      Answer: B

  9. Non-Functional Requirements are attached to:

    • A) Only Use Cases

    • B) Specific modules/components or entire system

    • C) User feedback

    • D) Customer service
      Answer: B

  10. Which of the following denotes a system's reliability?

    • A) Speed of transactions

    • B) No data loss and high availability

    • C) User satisfaction

    • D) Aesthetic appearance
      Answer: B

  11. Activity Diagrams illustrate:

    • A) High-level functions

    • B) User roles

    • C) How the system performs a function

    • D) Data flow
      Answer: C

  12. A specific example of a Non-Functional Requirement is:

    • A) Functions must support 10 transactions per second

    • B) Allow user registration

    • C) Store user preferences

    • D) Implement login functionality
      Answer: A

  13. What aspect of design do Non-Functional Requirements govern?

    • A) Functionality only

    • B) Legal compliance

    • C) Quality and constraints

    • D) Aesthetic aspects
      Answer: C

  14. Authentication is part of which Non-Functional Requirement?

    • A) Usability

    • B) Security

    • C) Performance

    • D) Maintainability
      Answer: B

  15. A Use Case describes:

    • A) Conditions of failure

    • B) The sequence of actions

    • C) How a user interacts with a system

    • D) Data storage structure
      Answer: C

  16. The step "Decision → Sufficient?" in the Transfer Money process implies:

    • A) Display instructions

    • B) Confirm user identity

    • C) Check if funds are available

    • D) Log the transaction
      Answer: C

  17. What is the purpose of a Use Case Diagram?

    • A) To show system structure

    • B) To track user history

    • C) To illustrate what the system does

    • D) To document errors
      Answer: C

  18. In which section are Non-Functional Requirements typically listed?

    • A) Appendix

    • B) Table

    • C) Narrative

    • D) Design Document
      Answer: B

  19. A module acts as:

    • A) Independent functionality unit

    • B) A data storage

    • C) User interface

    • D) Log files
      Answer: A

  20. Which of the following does not represent Non-Functional Requirements?

    • A) Performance

    • B) Security

    • C) User interface design

    • D) Reliability
      **Answer: C **