0% found this document useful (0 votes)
105 views

Software Requirement Engineering Project

The document summarizes a software requirements project for an online bookshop management system. It includes sections on introduction and objectives, overall description of user classes and operating environment, requirement elicitation techniques used including interviews, and a list of key functional requirements for the system such as inventory management, sales tracking, and generating reports. It also includes a use case description for the login functionality.

Uploaded by

Rana Noor
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
105 views

Software Requirement Engineering Project

The document summarizes a software requirements project for an online bookshop management system. It includes sections on introduction and objectives, overall description of user classes and operating environment, requirement elicitation techniques used including interviews, and a list of key functional requirements for the system such as inventory management, sales tracking, and generating reports. It also includes a use case description for the login functionality.

Uploaded by

Rana Noor
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 31

SOFTWARE REQUIREMENT ENGINEERING

Final Project
Fall-2020

Submitted by:
Rida Khan (S2019105003)
Shawana Tabassum (S2019105002)
Muhammad Saud Ali (F2019105048)

Submitted on:
22-February-2021

Submitted to:
Sir Ali Harris

Department of Informatics and Systems


University of Management and Technology
INTRODUCTION
 Purpose
The main purpose of building such software for a bookshop is to eliminate all the day to
day issues a store faces regarding the sale-purchase, to keep proper check and
balance of the staff performance, to manage the inventory and all the other important
managerial work. Not only this this software also focuses on providing an ease to the
customers to keep and eye on all the updates about the books and instantly buy them
through the online platform.
Following are the objectives of the software system
a) Online Platform
b) Inventory management.
c) Sale-Purchase management.
d) Performance evaluation.

Achieve financial goals of system.

 Document conventions
This document uses the following conventions;
DB (Database)
ER (Entity Relationship)
DFD (Data Flow Diagram)

 Intended Audience
All the bookshop staff and the general population who is fond of book reading and
collecting them.

 Project Scope
For administration and management staff who manage and keep track of the daily
activities in the shop, the online book shop system is a management system that will
keep track of the sale-purchase, inventory and other managerial work. Unlike the
current file system, our product will centralize the data storage and will provide required
reports as well as for the customers who want a user-friendly manner to access the
bookshop online.

 References
a) An interview with the manager of the stockroom/warehouse.
b) An interview with a staff of the bookshop.
c) Software Requirements, Third Edition, Karl Wiegers and Joy Beatty.

OVERALL DESCRIPTION
 Product Perspective
a) The system is to eliminate the stress of the managerial staff who deals with the daily
sale- purchase activities.
b) The system is to make it easy for the staff to manage the inventory system.
c) The system is to provide all the managing and administrative right to the admin in an
easy way and efficient way.
d) The system is to provide the customers the facility of online shopping of books
through an advance yet very user-friendly manner.

 User Classes and Characteristics


User Classes Role in system
Administrator The admin will manage the website
Customers The customers can access the list of books available, order
them online, drop in suggestions for the staff to go through
and make improvements in the features/ environment or
content being provided to the customers.
Manager The manager will use his account to keep watch on
everybody’s performance and take action according to it
also manager can generate the reports to observe the
details. Manager can request new copies of books when
necessary from the publishing house, and track the
movement of all containers into and out of the
inventory/stockrooms.
The Staff The staff is going to be the most frequent user of this
system as the can manage the daily sales taking place at
the shop, to generate the invoice and manage the online
orders.
Authors The authors may check-in with the system to see how well
their product is performing .

Books The books inventory/stockroom staff manages an inventory


inventory/stockroo of more than 500,000 books. They will supply containers
m staff from three stockrooms.
 Operating Environment
a) Distributed databases
b) Client/Server System
c) Windows Operating System
d) DB: SQL Management Studio
e) Platform: React.js/Java/PHP
The online bookshop management system is a website and shall operate in all standard
and well-known browsers. The only main requirement to use this software is a stable
internet connection. The basic hardware configuration includes 10-20Tb hard drive,
advance touch screen monitors, standard keyboards, mouse, and barcode readers.

 Design and Implementation Constraints


a) The global schema, fragmentation schema, and allocation schema.
b) SQL commands for all the queries/applications.
c) Implementation of the database using a centralized database management system.

 Assumptions and Dependencies


A request for booking/cancellation of a books, giving discounts to the frequent
customers based on their activity on the website. Generation of reports for the daily
sale-purchase, staff performance, inventory status and then calculating the stats of
based on the reports. The system is assumed to work efficiently with the distributed Db
among all the departments of the shop.
Requirement Elicitation
 Elicitation Techniques
The technique opted for the gathering of requirements for this project was interviews.
The interviews gave us the direct communication opportunity with the stakeholders.

Interviews in this scenario is a much-preferred option as compared to the other ones


because if we had opted for something like a questionnaire or a survey, we wouldn’t be
supervising the audience as accurately and some questions may be mistranslated etc.

 User Profiles
• Sir Sohail Iqbal, the manager of the warehouse/ stockroom.
• Mrs Maryam, a staff at the bookshop.

 Supporting Documentation (Questionnaire, Interview questions)


Interview questions:
• Do you want the system to keep track of available books?
• How many books do you keep in the bookshop at a time?
• How many copies of a single book should there atleast be?
• How many stockrooms/ warehouse do you have?
• How many publishers do you have?
• Do you want to allow search by different filters?
• Do you want the no of copies to be dynamically updated? Should the books reduce
or increase in the system as soon as a purchase is added?
• Do you want every staff as a user to the system?
• Should the manager be able to see every user’s profile?
• Do you want to use the system to store the staff’s data?
• Do you want to use the system to store the customer’s emails for promotional
emails?
• Would you like the online system to follow a color scheme?
• At how many copies would you like an inventory alert?
• Do you want to categorize the books according to popularity?
• When should a book fall under the popular category?

System Features
 Functional Requirements
 The system shall keep record of daily sale and purchase of books.
 The system shall keep record of all the books available in the inventory.
 The system shall keep record of the employee attendance.
 The system shall allow to search book details from master catalog.
 The system shall allow to delete book details from master catalog.
 The system shall allow to update book details in master catalog.
 The system shall allow to add new book details in master catalog.
 The system shall allow the employees to mark attendance.
 The system shall keep record of employee details.
 The system shall allow to make online orders of books.
 The system shall allow to generate daily and monthly reports.
 The system shall keep record of customers.
 The system shall keep contacts of all the publishers.
 The system shall allow to generate warnings on specified times.
 The System shall allow a non-registered user to create a new account.
 The system shall allow a registered user to login to their account.
 The system shall allow a registered and logged-in user to add books into cart.
 The system shall allow a registered and logged-in user to remove any unwanted books from their
shopping cart.
 The system shall allow the registered and logged-in user to logout from his/her account.
User case Description
ID & Name UC-1 Login

Created By Muhammad Saud Ali Date Created: 2/10/2021

Primary Actor Manager, Staff, Admin, Customer

Description The log in button under the log in credentials will lead the user to their respective account.

Trigger The user will interact with the login button to trigger its functionalities.

Preconditions The respective user must be a registered with the system.

Post-conditions When the user initiates this use case, the website login page will be switched from the login
page to his/her respective account and in case if the event does not occur, then the user
stays on their login page.
Normal Flow The primary actor will interact with the login button and the interface will be switched to
their respective account.
1) The primary actor opens the software.
2) The primary actor opens the login page and fills in the login credentials.
3) The primary actor will click on the login button.
4) The button will be activated and the primary actor will be transferred to his/her account.
Alternative Flow 1) The primary actor opens the login page of the system
2) Clicks on forgot password.
3) The primary actor is transferred to a new window where he/she enters the new desired
password along with the existing id/username.
4) A confirmation email is sent to the registered id.
5) The primary actor then confirms the email which leads to his/her account.
Exceptions 1.E1 Invalid Log-in information
1) System displays the message: “Incorrect email or password”
2) System asks the primary actor if he/she wants to try again (3a) or forgot password (4a)
3a) Primary actors tries to log in again.
3b) System starts in normal flow.
4a) Primary actor chooses forgot password.
4b) The system asks for the primary email detail to begin resetting password.
4c) System sends a link to reset password.
4d) The system displays message: “An email has been sent. Click on link in email to reset
password.”
Priority Very high

Frequency of Use Every time the Primary Actor logs in.

Other information The system should be able to verify whether the user is human or a robot.
Assumptions The primary actor who is trying to login to the system is already a registered user.

ID & Name UC-2 View Booklist

Created By Muhammad Saud Ali Date Created: 2/10/2021

Primary Actor Manager, Customer, Staff

Description The view booklist use case will show all the books available at the store at that time.

Trigger The user will interact with the view books button to trigger its functionalities.

Preconditions The user must be logged in to the system.

Post-conditions When the user initiates this use case, the home page will be switched to the booklist page
and in case if the event does not occur, then the user stays on their home page.
Normal Flow The primary actor will interact with the view books button and the interface will be
switched to the booklist page, showing the list of the books present in the shop inventory.
1) The primary actor is on their account home page.
2) The primary actor clicks on the view books button.
4) The button will be activated and the primary actor will be shown a list of available books
in the shop inventory.
Alternative Flow 1) The primary actor checks details of any particular book.
2) The primary actor clicks on the view more books button under the book details.
3) The button will be activated and the primary actor will be shown a list of available
books in the shop inventory.
Exceptions 2.E1 The inventory/stockroom is not online
1) The system displays message: “The system is currently not responding at the moment,
try again, sorry for the inconvenience”.
2) The system redirects the user to the main page.
3) The system terminates the use case.
Priority High

Frequency of Use Every time the Primary Actor wants to see the available books in the shop.

Other information The system must be able to display a list of all the books available in the stockroom/back-
end database.
Assumptions The listed books are assumed to be available in the stock.
ID & Name UC-3 Adding books to list

Created By Muhammad Saud Ali Date Created: 2/10/2021

Primary Actor Manager

Description The manager adds a specific book by entering its details of the book. The system saves
these details into the inventory database.
Trigger The user will interact with the add books button to trigger its functionalities.

Preconditions 1) The manager must be logged in to the system.


2) The inventory database is online and available.
Post-conditions When the user initiates this use case, the home page will be switched to the new book
form page
1) A record is stored in the system.
2) The book is now added into the booklist.
And in case if the event does not occur, then the user stays on their home page.
Normal Flow The primary actor will interact with the add books button and the interface will be
switched to the add book form page.
1) The user enters the book details.
2) The user clicks on the save book button.
4) The button will be activated and the book details will be saved and the book will be
added into the booklist stored in the database.
Alternative Flow None.

Exceptions 3.E1 The inventory/stockroom is not online


1) The system displays message: “The system is currently not responding at the moment,
try again, sorry for the inconvenience”.
2) The system redirects the user to the main page and the book details are not saved.
3) The system terminates the use case.
3.E2 The book is already in the inventory
1) The system displays message: “The book you are trying to enter already exist, no
duplicate entry allowed.”
2) The system redirects the user to the main page and the use case gets terminated.
Priority High

Frequency of Use Almost every time the production house completes the order.

Other information The system must be able to store the information about the book in the database.

Assumptions All the details being added about the book are authenticate and valid and are not already
present in the list.
ID & Name UC-4 Search book

Created By Muhammad Saud Ali Date Created: 2/10/2021

Primary Actor Customer, Staff, Manager

Description The user specifies the desired book by entering its name. The system offers a range of
books available with that name from its database.
Trigger The user will interact with the search bar and the search book button to trigger its
functionalities.
Preconditions 1) The user must be logged into the system.
2) The user must have entered the correct book name in the search bar.
3) The inventory database is online.
Post-conditions When the user initiates this use case, the home page will be switched to list of books
that match the name entered by the user and in case if the event does not occur, then
the user stays on their home page.
Normal Flow The primary actor will interact with the search books button and the list of books with
matching names will be displayed underneath.
1) The user enters the book name in the search bar.
2) The user clicks on the search book button.
3) The button will be activated and the book name entered will be sent to the inventory
database in the form of a query.
4) The system according to the result of a query displays the books to the user.
Alternative Flow None.

Exceptions 4.E1 The inventory/stockroom is not online


1) The system displays message: “Your request can’t be processed right now, please try
again later. Sorry for the inconvenience.”
2) The system stays on the main page.
3) The system terminates the use case.
Priority High

Frequency of Use Every time when the user wants to search a book directly.

Other information The system must be able to convert the entered data into a query and send it to the
database to check the results.
Assumptions The book being searched is assumed to be available in the inventory/stockroom.
ID & Name UC-5 Add to Cart

Created By Muhammad Saud Ali Date Created: 2/10/2021

Primary Actor Customer

Description The customer selects the books they want to purchase and add them to the cart before
checking out and paying for the book.
Trigger The user will interact with the add to cart button to trigger its functionalities.

Preconditions 1) The user must be logged into the system.


2) The book list page must be displayed to select the items for the purchase.
3) The user must have selected a book to add it into the cart.
Post-conditions When the user initiates this use case, the selected books will be added to the cart and
the cart icon will show the number of items added into it.
Normal Flow The primary actor will interact with the add to cart button and the selected items will be
added into the cart.
1) The list of books are being displayed.
2) The user selects the books he/ she wants to buy.
3) The after selecting the books, the user clicks on the add to cart button.
4) The button will be activated and the selected will be added into the cart.
5) The system according to the items selected will show the number of items in the cart
and will calculate the total bill as well.
The books can be added into cart at once or one by one.
Alternative Flow None.

Exceptions 5.E1 The inventory/stockroom is not online


1) Due to the unavailability of the inventory the books might not get added into the cart.
2) Due to the unavailability of the inventory the books added into the cart might not be
available In the store.
Priority High

Frequency of Use Every time when the customer wants to buy products from the shop or to save their
desired products in the cart for the later purchase.
Other information The system must be able to add the items into the cart and calculate the total bill as well.

Assumptions The items added into the cart are assumed to be available into store at the time of
purchase.
ID & Name UC-6 Add Feedback

Created By Muhammad Saud Ali Date Created: 2/10/2021

Primary Actor Customer

Description The customer can give feedbacks on the services provided by the shop, the quality of
books, and the behavior of staff and almost about anything they feel the need to share
their view on.
Trigger The user will interact with the add feedback button to trigger its functionalities.

Preconditions 1) The user must be logged into their account.


2) The user must be on feedback page of the system
Post-conditions When the user initiates this use case, the feedback written by the customer will be added
on to the site and will be visible to almost everyone who visits the website later.
Normal Flow The primary actor will interact with the add feedback button and the written feedback
will be added on the website for the viewers.
1) The user must be logged in to the system.
2) The user must be on the feedbacks page.
3) The user then writes the desired feedback to post on to the website.
4) The user then clicks on the add feedback button.
5) The button will be activated and the written feedback will be posted.
Alternative Flow None.

Exceptions 5.E1 The system is not responding


1) The written feedback does not get posted due to any error in the system.
Priority Moderate

Frequency of Use Every time when the customer wants to add a feedback to rate the services of the shop.

Other The system must be able to post the added feedbacks on to the website for the later
information incoming viewers.
Assumptions The customer is assumed to be a valid customer and not a bot.

ID & Name UC-7 Accept Order


Created By Muhammad Saud Ali Date Created: 2/10/2021

Primary Actor publisher

Description The publisher will receive the order from the manager, the publishing house will accept
the order and manage the order later, and they will be notified about the order through
the email as well.
Trigger The publishers will interact with the accept order button to trigger its functionalities.

Preconditions 1) The publisher must be associated with the bookshop.


2) The publisher must be on the pending orders page.
3) There must be pending orders in the list to be accepted.
Post-conditions When the user initiates this use case, the pending order will be added in the active orders
list and the publisher will be able to manage and complete the order.
Normal Flow The primary actor will interact with the accept order button and the pending order will
be added in the list of active orders.
1) The user must be associated with the book shop.
2) The user must be on the pending orders page.
3) The user then selects an order and check the details.
4) The user then clicks on the accept order button.
5) The button will be activated and the order will now be an active order.
Alternative Flow The primary actor will also be notified about the new order and will be sent a link as well.
1) The user checks the email about the new order.
2) The user clicks on the link in the email.
3) The user is redirected to the pending orders page.
4) The user then selects an order and check the details.
5) The user then clicks on the accept order button.
6) The button will be activated and the order will now be an active order.
Exceptions 7.E1 The sales data store is not online
1) The system displays message: “The system is currently unavailable”.
2) The system does not fetch any data from the sales database.
3) The system terminates the use case.
7.E2 Old order/ error in the order maintenance
1) Due to some fault in the system the status of the order does not get updated and it
shows an old order that the customer might have canceled later or is already an active
order.
Priority Very high

Frequency of Use Every time when the staff member is ready to accept another order.

Other information The system must keep record of all the pending, active, delivered and cancelled sales
Assumptions The sale is assumed to be a valid sale and does not exceeds the expectation date.

ID & Name UC-8 View book status

Created By Muhammad Saud Ali Date Created: 2/10/2021

Primary Actor Publishers

Description The publishers will be able to view the status of their published books on how well they
are selling and the feedbacks they are getting.
Trigger The publisher will interact with the accept order button to trigger its functionalities.

Preconditions 1) The publisher must be associated with the bookshop.


2) The publisher must have completed orders with the bookshop.
Post-conditions When the user initiates this use case, the lists of all the books that this particular
publishing house has delivered to the shop will be displayed with the selling status and
the corresponding feedbacks.
Normal Flow The primary actor will interact with the view book status button and the list of all the
books associated with this publishing house will be displayed.
1) The publishing house must be associated with the bookshop.
2) The publisher must be on the publisher’s home page.
3) The publisher clicks on the view book status button.
4) The button will be activated and the list of all the books that this particular publishing
house has ever delivered will be displayed along with the selling status and the feedbacks.
Alternative Flow None.

Exceptions 8.E1 The orders data store is not online


1) The system displays message: “The system is currently unavailable”.
2) The system does not fetch any data from the orders database that keeps all the record
of the completed orders with the publishing house.
Priority Low

Frequency of Use Whenever when the publisher wishes to check the status of their books.

Other information The system must keep record of all the completed orders with the publishers.

Assumptions The orders books are assumed not to have duplicate entries.

ID & Name UC-9 View feedbacks


Created By Muhammad Saud Ali Date Created: 2/10/2021

Primary Actor Customer, Staff, Manager

Description The users will be able to view the feedbacks that customers provide time to time.

Trigger All the primary users will be able to interact to trigger the functionalities of this button.

Preconditions The account should be logged in by all the primary actors and main page for that
particular primary actor should be displayed.
Post-conditions When the primary actor initiates this use case, the interface will be switched from the
main page to the feedback list page. If the evet does not occur the interface stays on the
same page.
Normal Flow The primary actor will click the view feedback button and will let the interface to be
switched from main page to the feedback list page.
1) 1) The user logs into their respective accounts.
2) 2) The user clicks the view feedback button.
3) 3) The view feedback button is active and the user is taken to the feedback list page from
the main page.
Alternative Flow The alternate flow for this function is only possible for the customers.
1) The customer logs into their respective accounts.
2) The customer clicks on the add feedback button and the interface is changed from
the main page to the add feedback page
3) Once the customer submits a feedback the feedback list is displayed.
Exceptions 9.E1 If the view feedback button is not properly working
1) The view feedback button is not triggered.
2) Error event occurs while clicking on the view feedbacks button and the state of page
does not change.
Priority Low

Frequency of Use Whenever the user wants to view the feedbacks.

Other information The system be able to display all the feedbacks ordered by date and mentioning the name
of the customer along.
Assumptions All the feedbacks are up to date and none is missing.

ID & Name UC-10 Generate Reports(daily/Monthly)


Created By Muhammad Saud Ali Date Created: 2/10/2021

Primary Actor Manager

Description Make daily reports/monthly reports is a button which is used to generate daily/monthly
reports of the progress of the work.
Trigger Only the managers will be able to interact with this button to trigger its functionalities.

Preconditions The manager should be logged in from his/her authorized account and main page
should be displaying.
Post-conditions When the manager initiates this use case, the interface will be switched from the main
page to the make daily/monthly reports page. If the event does not occur, the
manager stays on the main page.
Normal Flow The manager will click on the make daily/monthly reports button and the interface
changes from the main page to the make daily/monthly reports page.
4) 1) The manager logs into his/her account.
5) 2) The manager clicks the make daily/monthly report button.
6) 3) The make daily/monthly reports button is active and the manager is moved from the
main page to the make daily/monthly report page.
Alternative Flow None.

Exceptions 10.E1 If the make daily/monthly reports button is not working.


1) The make daily/monthly report button is not triggered.
2) Error event occurs while clicking on the make daily/monthly report button and the
page does not switch to the next page.
Priority Very High

Frequency of Use Every single time when the manager wants to generate a report.

Other information The system should be able to generate reports for the sales, orders, inventory updates,
and the performance of the staff
Assumptions The reports generated are assumed to be dead accurate.

ID & Name UC-11 Logout


Created By Muhammad Saud Ali Date Created: 2/10/2021

Primary Actor Manager, Staff, Admin, Customer

Description Logout button is used to log out from the account of the particular user.

Trigger The primary actors will interact with this button to trigger its functionalities.

Preconditions The primary actors should first be logged in to their account to make use of this
function.
Post-conditions When the primary actors initiates this use case then the interface will be switched from
the page where the primary actor is on, to the software’s home page. If the event does
not occur then the user will stay logged in.
Normal Flow The primary actor will click on the logout button and the interface will be switched
from the logged in page to the software’s home page.
7) 1) The primary actors logs into their account.
8) 2) The primary actors clicks on the log out button.
9) 3) The logout button is active and account is logged out.
Alternative Flow There will be no alternative flow for this function. Once the primary actor logs into
their account they can directly logout irrespective of what page they are on.
Exceptions 11.E1 If the logout button is not working.
1) The logout button is not triggered.
2) Error event occurs while clicking on the logout button and the primary actor stays
logged in.
Priority Very High

Frequency of Use Every time when the primary actors logs out.

Other information The system should provide a secure logout to the primary actors to make sure their
accounts are safe.
Assumptions The logout function is assumed to terminate the access to the account before logging
in again.

ID & Name UC-12 Make payment

Created By Muhammad Saud Ali Date Created: 2/10/2021

Primary Actor Customer

Description Make payment is a button which is used to make payments for items that are desired
to be bought,
Trigger Only the customer will be able to interact with this button to trigger its functionalities.

Preconditions The customer should be logged in from his/her authorized account and should have
any items in the cart.
Post-conditions When the customer initiates this use case, the interface will be switched from the
particular page to the payments page. If the event does not occur, the customer stays
on the current page.
Normal Flow The customer will click on the make payment button and the interface changes from
the particular page to the payments page.
1) The customer logs into his/her account.
2) The customer must have added items into the cart.
3) The customer clicks the make payment button.
4) The make payments button is active and the customer has to wait till the bank
verifies the account details provided by the customer for the payment purposes.
Alternative Flow The worker will click on the make payment button without choosing any items from
the shop.
1) The customer logs into his/her authorized account.
2) The customer opens the cart.
3) The customer clicks on the make payment button.
The message is displayed: “The cart is currently empty, please add items in the cart to
make the payment.” And the customer is taken back to the home page.
Exceptions 12.E1 If the make payment button is not working.
1) The make payment button is not triggered.
2) Error event occurs while clicking on the make payment button and no details are
sent to bank for verification.
3) If the cart is empty and the user tries to make payment the button will redirect the
customer to the main page.

Priority Very high

Frequency of Use Every time when the customer selects the online payment method for his/her sale.

Other information The card details are sent to the bank for the verification.

Assumptions The system is assumed to send a confirmation email to the customer once a successful
payment is made.
ID & Name UC-13 Remove User

Created By Muhammad Saud Ali Date Created: 2/10/2021

Primary Actor Admin


Description Delete user is a button used to remove the respective user off the database. This
functionality is used by the admin only.
Trigger The admin will interact with button to trigger its functionalities.

Preconditions The software must be logged in as an admin, and the list of users should be displaying.

Post-conditions When the admin initiates this use case, the selected user is removed off the list of
users, either staff or a customer depending on the choice of the admin. If the event
does not occur successfully then the user remains in the list and nothing happens.
Normal Flow The admin interacts with the delete user button and the selected user is removed off
the list of users.
1) Admin logs into the authorized account.
2) The list of users should be displaying.
3) The admin selects the type of user he wants to remove.
4) The admin select the user he wants to remove.
5) The admin clicks on the delete user button.
6) The delete user button gets activated and the selected record gets removed from
the database.
Alternative Flow The admin interacts with the delete button to remove the selected user off the list.
1) Admin logs into the authorized account.
2) The admin selects the update user button
3) The update user button is active and the list of the users is shown.
4) The admin selects the user from the list and initiates the delete user button.
5) The delete user button is active, and the selected user is deleted.
Exceptions 13.E1 If the delete user button is not in proper working state
1) Error event occurs while clicking on the delete user button.
2) The button isn’t triggered on clicking.
3) The button is pressed but the user is not removed from the list.
13.E2 the customer/staff database is not online
1) The system displays message: “Operation failed, please try again later. Sorry for the
inconvenience.”
2) The system does not fetch any data from the customer/staff database that holds all
the data about the staff and customers respectively.
Priority High

Frequency of Use Whenever the admin wants to delete a user from the list of users.

Other information The system should be keeping the record of the staff and customers up to date.

Assumptions The system is assumed to keep the user details confidential to unauthorized
authorities.

ID & Name UC-14 Place order


Created By Muhammad Saud Ali Date Created: 2/10/2021

Primary Actor Manager

Description Place order is a button for the use of the managers when they have to place an order to
the publishing house for the books.
Trigger The manager will interact with the place order button to trigger its functionalities.

Preconditions The manager should be logged in from his/her authorized account. The manager should
have selected the books to be ordered and the number of copies required for each
book in the order.
Post-conditions When the manger initiates this use case, the interface will be switched from the order
page to the pending orders list page. If the event does not occur, the manager stays on
the same page.
Normal Flow The manager will click on the place order button and the interface will be switched from
the order page to the pending orders list page.
1) The manager logs into his/her account.
2) The manager goes on to the orders page.
3) The manager selects the books needed to be ordered.
4) The customer selects the number of copies for the each book.
5) The customer clicks on the place order button.
The orders page will be switched to the pending orders list page.
Alternative Flow There will be no alternative flow for this function because the manager must first
perform all the above mentioned functions to reach this function and make use of this
function.
Exceptions 14.E1 The place order button is not working.
1) The place order button is not triggered.
2) Error event occurs while clicking on the place order button.
14.E2 The orders database is not online
1) The order is not updated in the order database.
Priority Very High

Frequency of Use Every time when the manager checks the shop inventory and feels the need to order
new books.
Other information The system must be keeping track of all the orders in all the states.

Assumptions The system is assumed to have no duplicate orders stored in the orders database.

ID & Name UC-15 Delete book


Created By Muhammad Saud Ali Date Created: 2/10/2021

Primary Actor Staff

Description Delete book is a button used to delete the respective book off the database.

Trigger The staff will interact with button to trigger its functionalities.

Preconditions The software must be logged in as a staff member, and the list of sold out books
should be displayed from the shop inventory.
Post-conditions When the staff member initiates this use case, the selected book is deleted off the list
of available books from the inventory. If the event does not occur successfully then the
record does not get deleted.
Normal Flow The staff interacts with the delete book button and the selected book is deleted from
the list of sold out list.
1) Staff member logs into the authorized account.
2) The list of all the sold out books must be displayed.
3) The user selects the books and remove them from the available books list.
4) The user will click the delete user button.
The delete book button will be active and the selected books are removed off the list.
Alternative Flow None.

Exceptions 15.E1 If the delete user button is not in proper working state
1) Error event occurs while clicking on the delete book button.
2) The button isn’t triggered on clicking.
3) The button is pressed but the book is not removed from the list.
15.E2 The inventory database is not online
1) The books in the inventory database are not up to date.
Priority Very High

Frequency of Use Every time when all the copies of a book in the inventory are sold out.

Other information The system must be able to notify the manager that a particular book is low stock.

Assumptions The inventory data base is assumed to be update all the time.

ID & Name UC-16 Update copies

Created By Muhammad Saud Ali Date Created: 2/10/2021


Primary Actor Staff

Description Update copies is a button used to update the number of books once the order is
received from the publisher and the books are available in stock.
Trigger The staff will interact with button to trigger its functionalities.

Preconditions The software must be logged in as a staff member, and the list of all the books should
be displayed from the shop inventory database.
Post-conditions When the staff member initiates this use case, the selected book’s number of copies
that are manually entered by the staff member gets updated in the inventory
database.
Normal Flow The staff interacts with the update copies button and the selected book’s number of
copies gets updated in the inventory database.
1) Staff member logs into the authorized account.
2) The list of all the books must be displayed.
3) The user selects the books and enter the new number of copies available of that
book.
4) The user will click the update copies button.
The update copies button will be active and the selected book’s number of copies are
updated.
Alternative Flow None.

Exceptions 16.E1 The inventory database is not online


1) The number of updated copies does not gets saved in the inventory database.
Priority Very High

Frequency of Use Every time when the new order is received and the number of copies of a book needs
to be updated.
Other information The system should be saving the updated number of copies of the book in the
inventory database all along the process.
Assumptions The inventory data base is assumed to be update all the time.

Data Requirements.
 Use case Diagram
 DFD level 0
 DFD level1
 ERD
 Activity Diagram
 State Machine Diagram
Other Non-Functional Requirements
Efficiency:
The implementation of good programming practices in the software will help us to make
the system efficient and reduce the response time.
Security:
The system shall make sure that all the member’s and worker’s information is encrypted
and is password protected so it is not accessible to any unauthorized user.
Usability:
The system shall have a user-friendly interface, making it easy for the users to use it.
Reliability:
The information provided on the software shall be up to date all the time to make the
system reliable
Accuracy:
The efficient results and use of proper algorithms which make sure that the reports
generated are accurate this will make the system accurate.
Adaptability:
The system has the capability of working in any environment of operating system.
User Friendly:
Easy to use software and the interactive-ness of the software will make it user friendly.
Maintainability:
The system shall ensure time to time backups and updates.
Safety of Users:
Safety of the users will be of high priority and the private data of users will not be
harmed or leaked.
Availability:
The software will be available 24 hours a day and especially during peak hours.

Other Requirements
Admin should be given the rights to give access to the person who wants to purchase
books and make a contribution by selling old books, the admin should be given rights to
remove and block any user he wants.

whenever you want to purchase or sell the book you just need to send the request to
the admin and he will approve your request by looking to the requirement and
information provided by you at the location or contact number.

Appendix A: Glossary
Admin: A system administrator, or sysadmin, is a person who is responsible for the
upkeep, configuration, and reliable operation of computer systems; especially multi-user
computers, such as servers.
Staff: All the people employed by a particular organization.
Manager: a person responsible for controlling or administering an organization or group
of staff.
Database: A database is an organized collection of data, generally stored and
accessed electronically from a computer system. Where databases are more complex,
they are often developed using formal design and modeling techniques
Distributed Database: A distributed database is a database that consists of two or
more files located in different sites either on the same network or on entirely different
networks. Portions of the database are stored in multiple physical locations and
processing is distributed among multiple database nodes.
ERD: An entity–relationship model describes interrelated things of interest in a specific
domain of knowledge. A basic ER model is composed of entity types and specifies
relationships that can exist between entities.
DFD: A data-flow diagram is a way of representing a flow of data through a process or a
system. The DFD also provides information about the outputs and inputs of each entity
and the process itself. A data-flow diagram has no control flow, there are no decision
rules and no loops.
Management System: A management system is a set of policies, processes and
procedures used by an organization to ensure that it can fulfill the tasks required to
achieve its objectives. These objectives cover many aspects of the organization's
operations.
Efficiency: Efficiency is the ability to avoid wasting materials, energy, efforts, money,
and time in doing something or in producing a desired result. In a more general sense, it
is the ability to do things well, successfully, and without waste. "Efficiency is thus not a
goal in itself.
Security: the state of being free from danger or threat.
Usability: Usability can be described as the capacity of a system to provide a condition
for its users to perform the tasks safely, effectively, and efficiently while enjoying the
experience.
Reliability: In statistics and psychometrics, reliability is the overall consistency of a
measure. A measure is said to have a high reliability if it produces similar results under
consistent conditions
Accuracy: In a set of measurements, accuracy is closeness of the measurements to a
specific value, while precision is the closeness of the measurements to each other.
Adaptability: Adaptability is a feature of a system or of a process. This word has been
put to use as a specialized term in different disciplines and in business operations.
Word definitions of adaptability as a specialized term differ little from dictionary
definitions
Maintainability: In engineering, maintainability is the ease with which a product can be
maintained in order to: correct defects or their cause, repair or replace faulty or worn-out
components without having to replace.
Availability: The quality of being able to be used or obtained.
Use case: In software and systems engineering, a use case is a list of actions or event
steps typically defining the interactions between a role and a system to achieve a goal.
The actor can be a human or other external system.
User classes:  A user class is a set of developer-defined attributes (characteristics) and
methods (behaviors) that you can use to refer to multiple data items as a single entity.
You create user classes are classes that you create in the visual development
environment as part of an application.
Requirement elicitation: In requirements engineering, requirements elicitation is the
practice of researching and discovering the requirements of a system from users,
customers, and other stakeholders. The practice is also sometimes referred to as
"requirement gathering".
Stakeholders: A stakeholder is a party that has an interest in a company and can either
affect or be affected by the business. The primary stakeholders in a typical corporation
are its investors, employees, customers, and suppliers.

You might also like