Software Requirement Engineering Project
Software Requirement Engineering Project
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
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 Profiles
• Sir Sohail Iqbal, the manager of the warehouse/ stockroom.
• Mrs Maryam, a staff at the bookshop.
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
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.
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
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.
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.
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
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.
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
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.
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
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.
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
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.