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 MoneyPurpose: 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 transactionPurpose: 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 systemConcept 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 storagePerformance:
- Applies to: Login, Transfer Money
- Response time: per transaction must be less than 2 secondsReliability:
- 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 DiagramActivity 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.
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
Non-Functional Requirements (NFR) are primarily concerned with:
A) User inputs
B) System processes
C) System quality and constraints
D) Data storage
Answer: C
Which diagram displays high-level functions of a system?
A) Activity Diagram
B) Use Case Diagram
C) Flow Chart
D) Sequence Diagram
Answer: B
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
The focus points of understanding system behavior include:
A) User opinions
B) Steps, decisions, and workflow
C) Database structure
D) Hardware specifications
Answer: B
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
Which actor is involved in the Mobile Banking Use Case Diagram?
A) Bank Manager
B) ATM Machine
C) Customer
D) System Admin
Answer: C
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
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
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
Activity Diagrams illustrate:
A) High-level functions
B) User roles
C) How the system performs a function
D) Data flow
Answer: C
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
What aspect of design do Non-Functional Requirements govern?
A) Functionality only
B) Legal compliance
C) Quality and constraints
D) Aesthetic aspects
Answer: C
Authentication is part of which Non-Functional Requirement?
A) Usability
B) Security
C) Performance
D) Maintainability
Answer: B
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
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
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
In which section are Non-Functional Requirements typically listed?
A) Appendix
B) Table
C) Narrative
D) Design Document
Answer: B
A module acts as:
A) Independent functionality unit
B) A data storage
C) User interface
D) Log files
Answer: A
Which of the following does not represent Non-Functional Requirements?
A) Performance
B) Security
C) User interface design
D) Reliability
**Answer: C **