SRS for Online Book System - nrudro1997/cse327-software-engineering GitHub Wiki

                         __________________________________________________________________	
                                       Software Requirement Specification	
                                                      for
                                              Online Book System
                                                  Prepared by
                         __________________________________________________________________

                                          1 Shahariar Al Hossain 1612391042
                                          2 Shirajun Nur Shuvo 1610802042
                                          3 Aniket Banik  1612719042
                                          4 Rudra Newaz 1722161642

                                          North South University
                                             Dhaka Bangladesh

                                           Software Engineering

                                            28th October ,2019

List of Contents Revision History 1 Introduction 1.1 Purpose……………………………………………………………. 1.2 Intended audience…………………………………………............. 1.3 Intended use……………………………………………………….. 1.4 Product availability…………………………………………………. 1.5 Risk definition……………………………………………………… 2 Overall Description 2.1 User classes and characteristic……………………………………… 2.2 User needs…………………………………………………………… 2.3 Operating environment………………………………………………. 2.4 Constraints…………………………………………………………… 2.5 Assumptions………………………………………………………….. 3 Requirement 3.1 Functional requirement 3.2 Reference

Revision History

Revision Date Author(s) Description 1.0 Aniket Banik 1612719042 Introduction 2.0 Shahariar Al Hossain 1612391042 Shirajun Nur Shuvo 1610802042 Explaining Different Sorting 3.0 Rudra Newaz 1722161642 Requirement, Reference 4.0 Final Version

  1. Introduction: Online book system refers to a service wherein users rent books via the internet. In online engineering book system, students can easily download their various engineering books which helps them a lot.

1.1 Purpose : Our main purpose is to distribute soft copy of engineering books as pdf to the students. Users browse books online and have their choices downloaded, rather than physically visiting a library to borrow a book. This system will be so much time consuming. As it is totally free, student who are not able to purchase the book can get the pdf of that book easily and free. In addition to convenience, the service also offers an ease-of-use benefit to the students of all department specially engineering students. Students can also read online in this website. Students need to enter in this website with proper log in. All students can get knowledge for this website and pass their semester exams with good grades. Many rare engineering books will be uploaded here as students can find those books when they need it and download it. These are the main purposes of our project. 1.2 Intended audience: This online engineering book system is for different types of readers. This document is intended for both users and customers to ensure them that this document is well meeting the need of the users. We are developing our project online engineering book system for all kinds of university. We are making this project as a team. In this team, there are- a) Project manager b) Developer c) Coder d) Tester e) Documentation writer f) User of the project The user can read the whole SRS document. For the project manager, the system features is very important because project manager can estimate the cost easily by referring to the SRS document. The project developer will refer to the SRS document. The tester must be aware of coding language. The document writer should write the qualitative document. 1.3 Intended use: This online engineering book system can be used by students of all department. Not only engineering student but also students of other department who want to read engineering books or who will take engineering course as open elective, can download from here. This system provides the members with online blocking of books capabilities and the Online Library System is up and running all day. Faculties can also use this for their purposes. It will be used like a online library system. 1.4 Book availability: All books will not available at all time. But most of the important books can be found. It actually depends on the seekness of the customers. But we will try to manage the pdf following the expectation of the students and other users. For getting most rare books, users will have to contact with us for that books. After the confirmation, we will keep that rare book in our website. We will design the system in a way by which users can easily find the book after searching the name of the book at search option. We are working in this project maintaining the public demand. 1.5 Risk definition: We have to keep in our mind that there have various risks in every work. In this project, we have to make our website high secured that no one can hack that website illegally. Protection should be at highest rate for the security of this online service. Firewalls should set properly. There can be many other risks like viruses. If we do not secure the system, viruses can corrupt all the books. This will bring suffer for the regular users and students who always use this website. Every user will have only one account with one email. They have to use their own id and password for entering the website. In these ways, we can reduce the risks. the Online Library System is up and running all day.

Overall Description:- Product perspective:-

This application is for the students who wants to read books of pdf version in online without any difficulties. By that application aimed towards the students who wants to reads books in online without buying desirable hard copy of books. In that application, there will be a sub-side where we will arrange book according to category so that user can find their intended books easily. So the users will know the platform where every books are available.

Product Functions:- This should support this:  User account  Log in  Log out  Recommended search  User History  Print archives  Links User Classes & Characteristics: - User Classes and Characteristics The user’s classes may be viewed from two perspectives. The first is from the perspective of “group”. Users are only member. Members can just get a service or reuse an existing service. In addition to the privileges enjoyed by the member, he has the privilege to read all book what is available in our application. The second is from the perspective of services present in the group. In this case users are either a student or not. Both group can get books for that application and they also can suggest a book in our application.

User Needs: -  Books availability  Smooth online system  User friendly  Some editions of same books Operating environment: -

  1. Operating System: Ubuntu, Linux mint, Windows 7, 8, 10 and Android 5.0, 6.0, 7.0, 8.0, 8.1
  2. Hardware Platform: Android using devices should have minimum 512MB RAM.

Design and Implementation Constraints: - Tools: - The website will contain the HTML files, images, videos, flash files, Databases, PHP. Time: - the time required to develop the website and the android app may exceed the estimated schedule if – o Further features requests after the initial design stages. o Hardware changes that impact performance etc. Agreement: - Students will be informed and students agreement will be made before registration for recording the microphone while using then voice search.

User Documentation: - This is to help the user’s admin and student level to maintain, update and use the ecommerce website easily. Admin Level:  Login: need to type a user name and password, and then select user type “Admin” for login to the site as an admin.  The Admin Area: can make changes; add new books name in books chart, check for availability, and anything related to the website here.  Logout: After finishing work, can logout from the site clicking the logout button at the right upper corner. Customer level:  Registration: If Students wants to search the books then he/she must be registered, unregistered user can’t go to the application.  Login: Customer have to login to the system by entering valid user name and password for the shopping.  Make list: Students can make the list of required books in the search option and the searched items with all available versions and details will be appeared in the screen.  Multiple search: Students can make the list by just searching the names of the books properly.  Changes to Cart: Student can keep books to read in future in the chart item.  Logout: After ordering or surfing for the product customer has to logout.

Assumptions and Dependencies: Working of the book needs Internet Connection. External Interface Requirements User Interfaces Various interfaces for the product could be-

  1. Login Page
  2. Registration Form
  3. There will be a screen displaying information about books that the application having.

Hardware Interfaces: - Since the application must run over the internet, all the hardware shall require to connect internet will be hardware interface for the system. As for e.g. Modem, WAN – LAN, Ethernet Cross-Cable.

Software Interfaces: - During our system development, we have to design both static and dynamic website interfaces, create website functions and a database system, edit photos and pictures, and print out reports, so it has a set of software requirements. The following are needed requirements.  Operating System: Windows/Linux/Mac and any OS which supports networking.  Python  Django Framework.  SQL  Web browser.

Communications Interfaces: - The two parties should be connected by LAN or WAN for the communication purpose.

4.1.1 Functional requirement ID: Performance Functional Requirement 1

TITLE: User Registration ACTOR: User PURPOSE: Register the user information OVERVIEW: Given that a user has accessed the website then the user should be able to register into the system. The user must provide Name, Password, Phone Number. TYPE: Primary function PRIORITY: High DEP: None COURSE OF EVENTS: I) Open the website II) Enter all the information III) Click on register ALTERNATIVE COURSE OF EVENTS: I) Email not match with registration, show error: Please provide a valid email II) Password is less than 6 digits, show error: Password must include at least 6 digits III) Any field left blank, show error: All the fields must be filled up IV) User type not selected, default type will be student.

4.1.2 Functional requirement ID: Performance Functional Requirement 2 TITLE: User Login ACTOR: User PURPOSE: Login the user OVERVIEW: Given that the user is already registered, the user will be able to login by providing the email and password. TYPE: Primary function PRIORITY: High DEP: PFR1 COURSE OF EVENTS: I) Select Already Registered button from the registration page. II) Enter email and password III) Click on login ALTERNATIVE COURSE OF EVENTS: I) Email not exist, show error: This email is not registered yet. Please Register first. II) Password does not match: Password or email is not correct. Please retry! III) Any field left blank, show error: All the fields must be filled up

4.1.3 Functional requirement ID: Performance Functional Requirement 3 TITLE: Multiple Search ACTOR: User PURPOSE: Search for book, they want to read OVERVIEW: From the home page the user must be able to search for their desirable books. The search will find the match the title of the book. TYPE: Primary function PRIORITY: Medium DEP: PFR2 COURSE OF EVENTS: I) Type the search keywords II) Provide Tags (Optional) III) Click on search ALTERNATIVE COURSE OF EVENTS: I) Search keywords are empty, show error: Please enter a keyword

4.1.4 Functional requirement ID: Performance Functional Requirement 4 TITLE: Collection ACTOR: User PURPOSE: Search the books OVERVIEW: From the product page a user will be able to click on place to get the book. User can also bookmark the book for future search here.They can bookmark multiple books. TYPE: Primary function PRIORITY: High DEP: PFR2 COURSE OF EVENTS: I) Click on a Book ALTERNATIVE COURSE OF EVENTS: I) Address must be valid, Admins will check for the validity of the address and manually send SMS to the user regarding the issue.

4.1.5 Functional requirement ID: Performance Functional Requirement 5 TITLE: Account Page ACTOR: User PURPOSE: View the profile page OVERVIEW: Show the user information to the user. This information will include, name, email. User will be able to modify any of this information except for the mail. TYPE: Primary function PRIORITY: Low DEP: PFR2 COURSE OF EVENTS: I) Select Profile button from home II) Click on update information ALTERNATIVE COURSE OF EVENTS: I) PDF not downloaded properly, show error: Couldn’t connect to server, please check your internet connection and try again later!

4.1.6 Functional requirement ID: Performance Functional Requirement 6 TITLE: Book Library Page ACTOR: User PURPOSE: View the Book Library page OVERVIEW: Book Library page can be accessed from various other views. It is assumed that this page is accessed by clicking on a book link. The information regarding that book pdf link will then be shown here. User can view the details of a book pdf from this view. TYPE: Primary function PRIORITY: High DEP: none COURSE OF EVENTS: I) Select a book pdf II) Select any functionality provided by the book library page ALTERNATIVE COURSE OF EVENTS: I) Book pdf details not downloaded in time limit of 50 seconds, show error: Couldn’t connect to server, please check your internet connection and try again later! -Appear retry button

4.1.7 Functional requirement ID: Performance Functional Requirement 7 TITLE: Administrator Login ACTOR: Admin PURPOSE: Login the admin OVERVIEW: Given that the admin is already registered the admin will be able to login in trough a web portal. TYPE: Primary function PRIORITY: High DEP: none COURSE OF EVENTS: II) Enter email/username and password III) Click on login ALTERNATIVE COURSE OF EVENTS: I) Email not exist, show error: This email/user is not registered yet. Please Register first. II) Password does not match: Password or email is not correct. Please retry! III) Any field left blank, show error: All the fields must be filled up

4.1.8 Functional requirement ID: Performance Functional Requirement 8 TITLE: Admin Dashboard ACTOR: Admin PURPOSE: View the admin dashboard OVERVIEW: The admin dashboard will show books overview and analytics, recent activity and latest search. TYPE: Primary function PRIORITY: High DEP: PFR7 COURSE OF EVENTS: I) Change book pdf status II) View book pdf details ALTERNATIVE COURSE OF EVENTS: I) No book pdf to view

4.1.9 Functional requirement ID: Performance Functional Requirement 9 TITLE: Category Menu ACTOR: Admin PURPOSE: Add new, remove or edit existing categories OVERVIEW: The admin will be able to create a new category. He will also be able to remove or edit existing categories. TYPE: Primary function PRIORITY: High DEP: PFR9, PFR8 COURSE OF EVENTS:

I) add a new category II) Edit existing category III)Remove existing category ALTERNATIVE COURSE OF EVENTS: I) No category to edit/delete II) Category Limit reached, no more category can be added.

4.1.10 Functional requirement ID: Performance Functional Requirement 10 TITLE: Book library menu ACTOR: Admin PURPOSE: Add new, remove or edit existing books OVERVIEW: The admin will be able to create a new book. He will also be able to remove or edit existing book. TYPE: Primary function PRIORITY: High DEP: PFR7, PFR8, PFR9 COURSE OF EVENTS: I) add a new book II) Edit existing book III)Remove existing book III) Add book description ALTERNATIVE COURSE OF EVENTS: I) No book to edit/delete II) Books capacity reached: no more books can be added!. III)Book file size too big: File is too large to upload

4.1.11 Functional requirement ID: Performance Functional Requirement 2 TITLE: AI Chat-Bot ACTOR: User PURPOSE: an AI chat-bot which helps a user to search a specific book and it gives the user the link of that specific book and also recommends the best book. OVERVIEW: From the book page the user can select the AI chat-bot button. This bring a small window in the page, where the user ask about a specific book pdf and our AI chat-bot will give the best answer for that question . TYPE: Primary function PRIORITY: High DEP: PFR8 COURSE OF EVENTS: I) Select the AI chat-bot button from any page II) Click on the AI chat-bot For use III) Ask Question about book IV) Automation answer will be given. V) Exit from the window. ALTERNATIVE COURSE OF EVENTS: I) If book not found, show error: “Please check the spelling For product” -ask for correct spelling ,Wait till correct spelling .

Functional requirements-

  1. Registration: For searching books, user has to registered. Otherwise he/she is unable to get books.
  2. Login: For getting, users need to use a valid user userID and password for login to the system.
  3. Library Notification: Notify for out of stock book
  4. Add to saved list: For getting books, user select the books what they need.
  5. Multiple search: Multiple search means, user can search different types of books from different section at a time.
  6. Category of menu: From here user can get various type of books from various sections.
  7. History of searches: After user selects/searches books the system will show user/recent history of user searches/books downloaded.
  8. Ai Chat-Bot: In this website, we are trying to implement an AI chat-bot which helps a customer to search a specific book and it gives the users the link of that specific book and also recommends the best books.
  9. Suggestions/feedback: If user needs any kind of help regarding any problems of the website or if user want to suggest some tips about any improvements, then this option will help to connect the user with admin.
  10. Logout: After finishing all the process in the site, user has to logout from the system.
  11. Other Non-functional requirements- 5.1 Performance Requirements: To preserve a passable most extreme speed for the framework for the most extreme utilization of the client, any number of clients can get to the framework at any time at that speed. 5.2 Safety Requirements: The application will not influence information put away the exterior of its server nor will it influence any other web applications. It cannot cause any harm to the phone or its inner components. The as it were potential security concern related to this application applies to essentially all handset apps. This app ought to not be utilized whereas working a vehicle or in any other circumstance where the user's consideration must be centered somewhere else. 5.3. Security Requirements: Since this program will be facilitated on the server, all the client information will be kept on the server. The item ought to be able to ensure the protection of client information. The workspace of the client ought to as it was begotten to through client possess qualifications and any other client ought to not be able to get to the client private data. Since execution will moreover be drained the machine within the server, the client ought to be limited in terms of client rights. The client ought to as it got to his possess workspace and ought to not get to any other workspace with the programs they run on the server. To rights of the client ought to be confined so that the client cannot hurt to the framework by the programs they run or by the commands they run on terminal. Since all the information will be exchanged on the net, framework ought to too utilize encryption and unscrambling component as it was aiming the client can translate the information and work on the data. 5.4. Software quality attributes: This program is simple to utilize for both designers and clients. A few critical properties of our project are that it is secured, usable, accessible, well performed. A few other traits that we worked on are adaptability, strength, operability, viability. We emphasized more on straightforwardness instead of predominance so that common individuals discover it simple to utilize. 5.5. Business rules: Our program will be built in such a way that it'll be reliable to all. Security is our fundamental concern so that it doesn't make any mistake and in case of a blunder, it'll have a framework so that our clients can get a discount. We'll moreover, guarantee that our clients and sales representatives both can effortlessly unravel an exchange mistake. Appendix Appendix A: Glossary Term Description SRS Software Requirement Specification. eCommerce Electronic Commerce, commonly known as eCommerce or e-commerce or e-business consists of buying and selling of products or goods and services over electronic system such as Internet and other computer networks. Customer People who will purchase from this ecommerce system. Administrator The vendor who will purchase this ecommerce website for their business and maintain the site. Website Wireframe : A visual guide that represents the frame work of a website. HTML (Hypertext Markup Language)Standard markup language for creating web pages and web applications. Normal search Typing single search items or typing item list (multiple searches at a time) for search in the search menu. Multiple search Searching an item or list of item at a time by writing the item names properly. Operating System The software program of a computer or mobile devices that manages the hardware and software of the device to run this website. Hardware Platform The set of compatible hardware that will enable this service run on the device. Modem A network hardware device. WAN-LAN (Wide Area Network and Local Area Network) Computer networks that interconnect computers over a large area and limited area respectively. Ethernet Cross-Cable Network technology that connect computing devices together directly. Server A program that processes requests and deliver data to another electronic device (computer or mobile device) over internet or a local network.

User Characteristics • Guest/Anonymous: Nonmembers can visit the pages of website only.

• Registered Members (customers) : Registered members can access all the functionalities provides on website. Register members have their own profiles • Administrator: Admin has the authority to grant/delete registered members as well as view profiles

Administrators  Admin should be able to insert, modify and delete books.  Can accept or reject a new user according to the library policy  Can get the information (status report) of any member who has borrowed a book.  Add and edit book categories and arrange books by categories.  Add and edit authors and publisher’s information.

Normal Users (Library Members) • Members should be provided with the updated information about the books catalog. • Members are given access to check their accounts information and change it • Members have the ability to search through books by subject, title, authors or any information related to the book. • The customer may suggest a book to be brought to the library book collection. Operating Environment. The library management system is a website and shall operate in all famous browsers, for a model we are taking Microsoft internet explorer, google chrome, Mozilla Firefox with flash player and JavaScript.

User characteristics. Users of this library management system are members, librarians and the administrators who maintain the website. Members and librarians are assumed to have basic knowledge of computer and internet browsing. Administrators of the system should have more knowledge of internal modules of the system and are able to rectify small problems that may arise due to disk crashes, power failures and other catastrophe. Design and implementation constraints • The information of all users, books and libraries must be stored in a database that is accessible by the website. • MS sql server will be used as sql engine and database. • The online library system is running 24 hours a day. • Users may access from any computer that has internet browsing capabilities and an internet connection. • Users must have their correct usernames and passwords to enter into their online accounts and do actions. Assumptions and Dependencies. The product needs the following third-party products. Microsoft sql to store the database Asp.net to develop the product.

4.2 Reference

Harvard Resource : https://library.harvard.edu/ Dhaka University Resource : http://www.library.du.ac.bd/ MIT Resource : https://libguides.mit.edu/ebooks NSU Resource : http://opac.northsouth.edu/cgi-bin/koha/opac-main.pl