SRS116CS0212
SRS116CS0212
SPECIFICATION
for
Presented by
NIT
ROURKELA
FEB 10, 2020
1
Contents
1 Introduction 4
1.1 Purpose ............................................................................................................. 4
1.2 Document Conventions .................................................................................... 4
1.3 Intended Audience and Reading Suggestions .................................................. 4
1.4 Project Scope .................................................................................................... 4
1.5 References ........................................................................................................ 4
1.6 Definitions, Acronyms and Abbreviations Used .............................................. 5
2 Overall Description 6
2.1 Product Perspective.......................................................................................... 6
2.2 Product Functions ............................................................................................ 6
2.3 User Classes and Characteristics ...................................................................... 7
2.4 Operating Environment ................................................................................... 8
2.5 Design and Implementation Constraints.......................................................... 8
2.6 User Documentation ........................................................................................ 8
2.7 Assumptions and Dependencies ....................................................................... 8
4 System Features 11
4.1 Query for book ........................................................................................ 11
4.1.1 Description and Priority ..................................................................... 11
4.1.2 Stimulus/Response Sequences ...................................................................11
4.1.3 Functional Requirements .................................................................... 11
4.2 Display details ................................................................................................ 11
4.2.1 Description and Priority ..................................................................... 11
4.2.2 Stimulus/Response Sequences ...................................................................11
4.2.3 Functional Requirements .................................................................... 12
4.3 Increment request field ................................................................................... 12
4.3.1 Description and Priority ...................................................................... 12
4.3.2 Stimulus/Response Sequences ................................................................... 12
4.3.3 Functional Requirements .................................................................... 13
2
4.4 Request for new book.................................................................................. 13
4.4.1 Description and Priority ...................................................................... 13
4.4.2 Stimulus/Response Sequences ................................................................... 13
4.4.3 Functional Requirements .................................................................... 13
4.5 Update inventory .................................................................................................13
4.5.1 Description and Priority ...................................................................... 13
4.5.2 Stimulus/Response Sequences ................................................................... 13
4.5.3 Functional Requirements .................................................................... 13
4.6 Add to cart ...................................................................................................... 15
4.6.1 Description and Priority ...................................................................... 15
4.6.2 Stimulus/Response Sequences ................................................................... 15
4.6.3 Functional Requirements .................................................................... 15
4.7 View statistics ................................................................................................. 15
4.7.1 Description and Priority ...................................................................... 15
4.7.2 Stimulus/Response Sequences ................................................................... 15
4.7.3 Functional Requirements .................................................................... 15
4.8 View requests .................................................................................................. 15
4.8.1 Description and Priority ...................................................................... 16
4.8.2 Stimulus/Response Sequences ................................................................... 16
4.8.3 Functional Requirements .................................................................... 16
3
1 Introduction
1.1 Purpose
The purpose of this document is to give a detailed description of the requirements for
the “Book Shop Automation Software” (BAS) software. It will illustrate the purpose
and complete declaration for the development of system. It will also explain system
constraints, interface and interactions with other external applications. Unless otherwise
stated, all requirements specified here are high priority and committed for release 1.0.
1.5 References
• IEEE standard template for IEEE standard
4
1.6 Definitions, Acronyms and Abbreviations Used
• BAS Book Shop Automation Software
• ISBN International Standard Book Number is a unique 13 digit code for each
book. Contains information related to Title, Publisher and Group etc. Different
Editions will have different ISBN and ISBN for different copies of same book will
be same.
5
2 Overall Description
2.1 Product Perspective
The BAS is an independently functioning system that automates manual tasks in a
Book Shop like answering customer queries, billing, making sales statistics, planning for
further orders etc. The system handles and stores all necessary records of books in a
database. The user interface is simple for any user to understand when he/she uses it for
the first time itself . The software also analyses data and presents it in a useful form for
any important stakeholder like the owner and his business associates to take important
decisions.
• View requests:
The Manager can view the number of requests for the books and decide on the
course of action to be taken.
6
• Generate sales statistics:
The BAS generates sales statistics based on transactions between any given period.
This feature is used by the owner and any other authorised person. This also helps
in finding the inventory level.
• Book :
This class is central to this project. It stores those fields that characterize a Book
object such as it’s name, author’s name, price, publisher, which rack it is kept
on and so on. This implies that there can only be one book object per name -
there will be one instance of the Book object “The Alchemist” irrespective of the
number of copies of that book available. It’s member functions give access to it’s
fields and allow us to change some mutable fields like number of copies available.
This is the biggest class and holds the most amount of information.
• Employee :
This class is derived multiple times to create sub-classes like sales clerk, manager
and owner . These sub-classes allow us to implement the organizational hierarchy
of the book shop.
• SalesDay :
This class allows us to maintain an account of all the sales that take place during
working day.
• NotInCollection :
NotInCollection is the order request that contains the details of the book as spec-
ified by the customer.
• Cart :
A customer may choose more than one book to buy in one transaction (and more
than one copy per book). The cart maintains the list of books he/she wishes to
buy.
7
• Main:
This is the main application class that binds everything together. It contains
the arrays of Book objects and registered employees. It also contains information
regarding the books that have fallen below the threshold stock level and the books
that are in demand but not a part of the collection. The sales statistics are also
maintained in this class.
• SalesDay:
This is a very important class that stores the sales statistics for the day. Useful to
get an overall picture of the sales statistics of a period and derive useful information
from it.
8
problem in hand, there are other types of employees other than the Manager and Sales
Clerk.
9
3 External Interface Requirements
3.1 User Interfaces
The Book Shop Automation software is implemented on a single application window.
There are multiple simultaneous users of the software so the interface necessarily has to
cater to both the customer and the employee logged in currently. On the (default) main
screen the logged in employee’s name and job profile is displayed at the top right. There
are 2 buttons for login and logout. Clicking the login button results in a login window
popping up. Logging in makes us return to the main screen. The main screen will, most
importantly, consist of a search bar on the top with a label that asks the user to enter
either the author’s name or the book title. There is space for displaying relevant search
results below this search bar. Depending upon the employee logged in there will be
buttons on the bottom to the left (outside the search result space) pertaining to his/her
responsibilities. Clicking these buttons may pop windows (or change the panel in the
same window) to perform required activities.
After the user enters the search query and results are displayed he has the option to
view the book which redirects him to a window where he can view it’s details. Here he
can choose the number of copies he wishes to buy, and he returns back to the search
page. The books chosen are added to the ’My Cart’ sub-panel on the right of the main
screen. There will be a button to finalize cart and proceed to payment which will change
the screen. At this point the sales clerk will take over. Here, he will enter the ISBN code
of each book and finally press the button to complete the transaction and print out the
bill and return to the main screen again.
If the queried book has run out of stock or has insufficient stock to complete the
transaction, the customer can create a new book request or increment a pre-created
request. If the search result is empty, then the customer is given the option to enter the
relevant details of the desired book and create a new-book-request. The manager can
view both these requests by clicking a button visible to him on the main screen, which
redirects to a new screen. The owner can view sales statistics similarly.
10
3.3 Software Interfaces
This software is a standalone application with the its own user interface handling user
interaction fully. When necessary data needs to be retrieved/added/modified, then a
connection is made to the database via a driver. All tools and libraries used in the
software are open-source.
11
4 System Features
The BAS is a multi-faceted software that supports multiple features. The following are
some of the important features that are implemented.
12
Figure 4.1: Use case diagram of the software.
13
wherein the user is offered to increment request field.
14
Employee.jpg
15
4.6 Add to cart
This feature helps customers to add books to their cart to get the transactions done
together.
16
4.8.1 Description and Priority
High priority feature. It helps in analysing the stock needed for procurement.
17
5 Other Nonfunctional Requirements
5.1 Performance Requirements
The software is supposed to be designed for a small to medium sized book shop. The
book shop is assumed to house a few thousand books (or less) at any given point in
time. Hence search results are supposed to be almost instantaneous. This goes for all
the operations that a customer may perform, including updating the cart and requesting
for a new book. The same can be said about printing sales receipt and viewing order
requests. Displaying the sales statistics is the only computationally heavy operation and
may potentially take a few minutes but only if the period entered is too large, say 10
years.
18
journals depending on their customer base. The software must be modularized enough
to allow for this. Since it will be operated on by non-professionals (both the lay employee
as well as customers) ease of use is vital. It must be robust and maintainable as it is
possible that it may be used continuously for many years.
19