In: Computer Science
Objective: Identify the various types of software requirements from problem statements. Problem Description: In this experiment the students will learn how to identify functional and non-functional requirements from a given problem statement. Functional and non-functional requirements are the primary components of a Software Requirements Specification (SRS). Expected Outcome: After completing this exercise, the students will be able to:
● Identify ambiguities, inconsistencies and incompleteness from a requirements specification.
● Identify and state functional requirements.
● Identify and state non-functional requirements.
Course Learning Outcome: CLO2 - Apply the object-oriented methodology in software engineering for analysis and design.
Software Requirements: None
Resources: How to Identify Given-When-Then (Gherkin) Scenarios From Functional Requirements Identifying Given-When-Then (GWT) Scenarios for Non-functional Requirements (Constraints)
Instructions:
Practice Question 1: Consider the problem statement for an "Online Auction System" to be developed: New users can register to the system through an online process. By registering a user agrees to abide by different pre-defined terms and conditions as specified by the system. Any registered user can access the different features of the system authorized to him / her, after he authenticates himself through the login screen. An authenticated user can put items in the system for auction. Authenticated users can place bid for an item. Once the auction is over, the item will be sold to the user placing the maximum bid. Payments are to be made by third party payment services, which, of course, is guaranteed to be secure. The user selling the item will be responsible for its shipping. If the seller thinks he's getting a good price, he can, however, sell the item at any point of time to the maximum bidder available.
Read the Requirement Specifications thoroughly and answer the following questions:
i. Identify the ambiguous, inconsistent and incomplete statements
ii. Identify different function requirements to be obtained from a system
iii. Identify the possible non-functional requirements that could be identified from the requirements specifications.
Kindly upvote if
this helped
i)
Incomplete -> An authenticated user can put items in the
system for auction
New users can register to the system through an online
process
- This statement is vague in terms of SRS and requirement gathering
for a software development as we do not know what items would be
allowed to auction. What would be the properties of the item. To be
crisp, item type is unknown factor.
- Second statement does not talk as what all things or parameters
or prerequisites are there to enroll in the system
Inconsistent -> access the different features of the
system
- This statement tells that user can access different features but
can be considered inconsistent/incomplete in the absense of well
defined features that will be exposed to the users post
authentication.
ii)
- The system requires an client-server application which will be
linked with a database having the information about the
bidding.
- The application should integrate the third party payment gateway
for payment from buyer to seller.
- It needs an authentication mechanism where user can register and
verify their identity before accessing the system to its
full.
- User must be able to place bids, increase bid amount and should
be able to bid/sell multiple items simultaneously.
iii)
- The system should be able to handle heavy user traffic on the
application.
- As bidding is real time, latency in data accuracy should be
minimal.
- Third party payment vendor should be certified by an authorized
agency and should be compliant according to the payment norms of
the region.
- The system should provide security to the buyer in case there is
some fraud happened in the item shown/shipped. All disputes should
go through the system for tracking.