NARNARAYAN SHASTRI INSTITUTE OF TECHNOLOGY, JETALPUR.
A Project Report
On
Open Source Book Portal
Developed At:
SCULPT SOFT
Submitted To:
GUJARAT TECHNOLOGICAL UNIVERSITY
in Partial Fulfilment of the Requirement for the degree of
BACHELOR OF ENGINEERING
in
COMPUTER ENGINEERING
Developed By:
Dave Rushabh H
(Enrolment-No: 140340107005)
Jain Rupam D.
(Enrolment-No: 140340107011)
Suthar Raj A.
(Enrolment-No: 140340107056)
Guided By:
Mr. Anand Chauhan
[Assistant Professor, Dept. of Computer Science & Engineering, NSIT]
[September 2017]
Contents
List of Figures: i
List of Tables: ii
Abstract iii
ACKNOWLEDGEMENT iv
CERTIFICATE v
Chapter-1 Introduction 1
1.1 Problem Summary: 2
1.2 Aim and Objective 2
1.3 Problem Specification 2
1.4 Brief Literature Review and PAS 3
1.5 Material/Tools Required 3
1.6 Hardware and Software Required 4
Chapter-2 5
2.1 Project Planning: 6
2.2 Group Dependency: 9
2.3 Roles and Responsibilities: 10
2.4 Project Schedule: 10
2.5 Risk Management 11
2.5.1 Risk Identify 11
2.5.2 Risk Analysis 11
2.5.3 Risk Planning 12
Chapter-3 13
3.1 Analysis 14
3.1.1 Study of Current System 14
3.1.2 Problem in current system 14
3.2 Requirement of new system 14
3.3 Feasibility Study 14
Chapter-4 16
4.1 Module Description 17
4.2 Data Dictionary 17
4.3 Design Methodology 25
4.3.1 ER Diagram 25
4.3.2 Class Diagram 28
4.3.3 Data Flow Diagram 30
4.3.4 Use Case Diagram 32
4.3.5 Activity Diagram 34
4.3.6 Sequence Diagram 38
4.3.7 System Flowchart 39
4.4 Canvas 41
4.4.1 AEIOU Summary Canvas 41
4.4.2 Ideation Canvas 42
4.4.3 Empathy Canvas 43
4.4.4 Product Development Canvas 44
Chapter-5 Summary & Future Scope 45
5.1 Feature of New System 46
5.2 Limitation of New System 46
5.3 Future Enhancement 46
Chapter-6 Conclusion & Discussion 47
Conclusion: 48
References: 49
Appendix: 50
PPR 50
PSAR 54
Canvas 64
List of Figures:
2.1. Sequential-Waterfall Model
4.1. E-R Diagram
4.2. Class Diagram
4.3. DFD Context Level Diagram
4.4. DFD Level 1 Diagram
4.5. Use Case Diagram Activity
4.6. Diagram for Admin
4.7. Activity Diagram for Reader
4.8. Activity Diagram for Author
4.9. Activity Diagram for Editor
4.10. Sequence Diagram System Flow Chart
List of Tables:
4.1. Login_Details
4.2. Reader_Details
4.3. Author_Details
4.4. Editor_Details
4.5. Book_Detalis
4.6. New Book Details
4.7. Editor Request Mapping
4.8. Author Request Mapping
4.9. Chapter
4.10. New Book
4.11. Feedback Details
4.12. Favourite Details
Abstract
Our project OPEN SOURCE BOOK PORTAL is very useful for the readers of every age group and people from different walks of life. Here in this project we will provide a system through which we can connect a user to authors/editor. We provide free book in which Authors can upload latest edition of chapters/Articles/topic related to book this contain will be approved by well certified Authors/Editors. It will efficiently provide the content for the user with easy and customize search facility. Also, users can request for a book with their desired content.
ACKNOWLEDGEMENT
We would like to express our sincere gratitude to our Project Guide, Mr. Anand Chauhan, for his continuous support throughout our project work, whose patient, motivation and immense knowledge have helped us in improving our project. His guidance helped us in all the time of research and writing of this project. Beside our project guide, we would like to thank HOD of our department Mr. Pragnesh k. Patel for his encouragement throughout the implementation of the project work.
We are also thankful to all the faculties of the Computer Engineering Department, Narnarayan Shastri Institute of Engineering and Technology for their help and assistant rendered during the compilation of this project.
Yours Thankfully,
Dave Rushabh H.
(140340107005)
Jain Rupam D.
(140340107011)
Suthar Raj A.
(140340107055)
CERTIFICATE
This is to certify that project work embodied in this thesis entitled “Open Source Book Portal” has been carried out by Dave Rushabh Harish Bhai (140340107005) at Narnarayan Shastri Institute of Engineering & Technology Ahmedabad for partial fulfilment of Bachelor of Engineering Degree in Computer Engineering to be awarded by Gujarat Technological University for the Academic year 2017.This project work has been carried out under my supervision and is to the satisfaction of department.
Date:
Place : Ahmedabad
Mr. Anand Chauhan
(Internal guide) (External guide)
NSIT, Jetalpur.
Mr. Pragnesh Patel Dr. Sanjay Joshi
(Head of Department) (Principal)
CSE NSIT, Jetalpur. NSIT, Jetalpur.
CERTIFICATE
This is to certify that project work embodied in this thesis entitled “Open Source Book Portal” has been carried out by Jain Rupam Dilip bhai(140340107011) at Narnarayan Shastri Institute of Engineering & Technology Ahmedabad for partial fulfilment of Bachelor of Engineering Degree in Computer Engineering to be awarded by Gujarat Technological University for the Academic year 2017.This project work has been carried out under my supervision and is to the satisfaction of department.
Date:
Place : Ahmedabad
Mr. Anand Chauhan
(Internal guide) (External guide)
NSIT, Jetalpur.
Mr. Pragnesh Patel Dr. Sanjay Joshi
(Head of Department) (Principal)
CSE NSIT, Jetalpur. NSIT, Jetalpur.
CERTIFICATE
This is to certify that project work embodied in this thesis entitled “Open Source Book Portal” has been carried out by Suthar Raj Ashok Bhai(140340107055) at Narnarayan Shastri Institute of Engineering & Technology Ahmedabad for partial fulfilment of Bachelor of Engineering Degree in Computer Engineering to be awarded by Gujarat Technological University for the Academic year 2017.This project work has been carried out under my supervision and is to the satisfaction of department.
Date:
Place: Ahmedabad
Mr. Anand Chauhan
(Internal guide) (External guide)
NSIT, Jetalpur.
Mr. Pragnesh Patel Dr. Sanjay Joshi
(Head of Department) (Principal)
CSE NSIT, Jetalpur. NSIT, Jetalpur.
1.1 Problem Summary:
• There is no other web application which is relevant for online book reading. In this project we are going to develop java based web application “Open Source Book Portal” which is very useful for the readers of every age group and people from different walks of life. Here in this project we will provide a system through which we can connect a user to authors/editor. We provide free book in which Authors can upload latest edition of chapters/Articles/topic related to book this contain will be approved by well certified Authors/Editors. It will efficiently provide the content for the user with easy and customize search facility. Also, users can request for a book with their desired content.
• There are mainly eight modules authentication, read book, Request new book, Favourite, payment, Feedback.
• After creating the account, user can read the desire book In this application, the main feature is that Whenever user is not able to find the desired book he/she can request for the new book.
1.2 Aim and Objective
• The main purpose is, to provide benefit to each and every user.
• In this application, every reader gets benefit from requesting a new book and authors/editor can earn money by contributing into making/modification of new book.
The scopes are mention below:
• Manage New Book Request: This is managed by admin side.
• Manage users: users are managed by admin. when reader request a new book which editor and authors are contributing on particular book.
1.3 Problem Specification
• There is no any other web application where user can search and read the desire book, the main feature is that Whenever user is not able to find the desired book he/she can request for the new book.
1.4 Brief Literature Review and PAS
• FREE-BOOK.net
o This web application provides the free eBooks.
o Limitation:
This web application is for downloading eBooks where user can’t read book online or request for new book.
• Freebooks.com:
o This web application provides the free eBooks and authors also can uploads their books.
o Limitation:
This web application is for Reading eBooks where user can’t read book online or request for new book.
• BookRix.com:
o This web application provides the free eBooks and authors also can uploads their books.
o Limitation:
This web application is for Reading eBooks where user can’t read book online or request for new book.
1.5 Material/Tools Required
• The front end used in my project is Net Beans IDE and the back end used is MySQL.
• I will follow the linear-sequential model for developing this application and whole application will be developed using the SDLC scenario.
• Net Beans IDE
o It provides best Support for Latest Java Technologies.
o Easy & Efficient Project Management.
o Rapid User Interface Development.
Benefit of Android Studio:
o Reduce programming effort.
o Increase program speed and quality.
• MySQL:
o MySQL (Structured Query Language) is a special-purpose programming language
o designed for managing data held in a relational database management system (RDBMS).
o Originally based upon relational algebra and tuple relational calculus, SQL consists of a
o data definition language and a data manipulation language. The scope of SQL includes data insert, query, update and delete, schema creation and modification, and data access control. Although SQL is often described as, and to a great extent is, a declarative language (4GL), it also includes procedural elements.
o Data Definition: Defining tables and structure in the database.
o Data manipulation: Used to manipulate the data within those schema objects.
1.6 Hardware and Software Required
• Hardware specification:
o Computer/Desktops:
1) Microsoft Windows: 8/7/Vista/2003 (32 or 64-bit)
2) 2 GB RAM minimum.
3) 1280 x 800 minimum screen resolution.
o Mobile Device:
1) Ram:512 MB
2) Android version 4.0 and above, Windows
3) Processor
• Software specification
o Front-End
1) Java
2) Java Script
3) HTML 5
4) CSS 3
o Back-End
1) MSSQL Server 2008
2.1 Project Planning:
System Development Life cycle (SDLC) additionally called as an application development life cycle. SDLC is a legitimate procedure by which frameworks investigation, programming designers, software engineers, and end-clients construct data frameworks and computer applications to take care of business issues and needs. Software Development Life Cycle SDLC is also a strategy utilized by the bundle business to create and investigate fine quality bundle. "The SDLC plans to give the fine quality SDLC bundle that meet surpasses customer desire, achieves fruition among times and value gauges". There are regularly 5 stages beginning with the analysis / requirements gathering and closure with the implementation.
Requirements Gathering / Analysis:
This stage is basic to the achievement of the undertaking. Desires should be fleshed out in extraordinary subtle element and documented. This is an iterative procedure with much correspondence occurring between end users, stakeholders and the project team.
The following techniques can be used to gather requirements:
Identify and capture stakeholder requirements using customer interviews and surveys. Build multiple use cases to describe each action that a user will take in the new system. Prototypes can be built to show the client what the end product will look like. In a corporate setting, this implies investigating your clients, figuring out what they want, and then designing what a successful outcome would look like in a new bit of software.
Design:
Technical design requirements are prepared in this phase by lead development staff that can include architects and lead developers. The Business Requirements are utilized to characterize how the application will be written. Technical necessities will detail database tables to be included, new exchanges to be characterized, security procedures and equipment and framework necessities.
Coding:
This stage is the real coding and unit testing of the procedure by the improvement team. After every stage, the designer may exhibit the work achieved to the Business Analysts and changes and upgrades might be required. It's critical in this stage for engineers to be receptive and adaptable if any progressions are introduced. This is regularly the longest period of the SDLC. The completed item here is contribution to the Testing stage.
Testing:
Once the application is relocated to a test situation, diverse sorts of testing will be performed including mix and framework testing. User acknowledgment testing is the last a portion of testing and is performed by the end clients to guarantee the framework meets their expectations. At this point, imperfections might be found and more work might be required in the investigation, plan or coding. Once close down is gotten by all important gatherings, usage and arrangement can start.
Implementation / Deployment:
The extent of the project will decide the many-sided quality of the deployment. Training might be required for end clients, operations and available to come back to work IT staff. Roll-out of the framework might be performed in stages beginning with one branch then gradually including all areas or it could be a full blown implementation.
Waterfall Model:
Waterfall approach was first SDLC Model to be used widely in Software Engineering to ensure success of the project. In "The Waterfall" approach, the whole process of software development is divided into separate phases. In this Waterfall model, typically, the outcome of one phase acts as the input for the next phase sequentially.
The following illustration is a representation of the different phases of the Waterfall Model.
The sequential phases in Waterfall model are −
• Requirement Gathering and analysis − All possible requirements of the system to be developed are captured in this phase and documented in a requirement specification document.
• System Design − The requirement specifications from first phase are studied in this phase and the system design is prepared. This system design helps in specifying hardware and system requirements and helps in defining the overall system architecture.
• Implementation − With inputs from the system design, the system is first developed in small programs called units, which are integrated in the next phase. Each unit is developed and tested for its functionality, which is referred to as Unit Testing.
• Integration and Testing − All the units developed in the implementation phase are integrated into a system after testing of eacah unit. Post integration the entire system is tested for any faults and failures.
• Deployment of system − Once the functional and non-functional testing is done; the product is deployed in the customer environment or released into the market.
• Maintenance − There are some issues which come up in the client environment. To fix those issues, patches are released. Also to enhance the product some better versions are released. Maintenance is done to deliver these changes in the customer environment.
All these phases are cascaded to each other in which progress is seen as flowing steadily downwards (like a waterfall) through the phases. The next phase is started only after the defined set of goals are achieved for previous phase and it is signed off, so the name "Waterfall Model". In this model, phases do not overlap.
Application Of Waterfall Model:
• Requirements are very well documented, clear and fixed.
• Product definition is stable.
• Technology is understood and is not dynamic.
• There are no ambiguous requirements.
• Ample resources with required expertise are available to support the product.
Advantage of Waterfall model:
• Simple and easy to understand and use
• Easy to manage due to the rigidity of the model. Each phase has specific deliverables and a review process.
• Phases are processed and completed one at a time.
• Works well for smaller projects where requirements are very well understood.
• Clearly defined stages.
• Well understood milestones.
• Easy to arrange tasks.
• Process and results are well documented.
Advantage of Waterfall model:
• High amounts of risk and uncertainty.
• Not a good model for complex and object-oriented projects.
• Poor model for long and ongoing projects.
• Not suitable for the projects where requirements are at a moderate to high risk of changing. So, risk and uncertainty is high with this process model.
• It is difficult to measure progress within stages.
• Cannot accommodate changing requirements.
• Adjusting scope during the life cycle can end a project.
• Integration is done as a "big-bang. at the very end, which doesn't allow identifying any technological or business bottleneck or challenges early.
2.2 Group Dependency:
In our project we are two members in our group so all work regarding our project done by us with the help of our internal guide or external guide.
2.3 Roles and Responsibilities:
In my team there are responsibilities for all documentation to be produced and for all work to be done by us. As in our team we are two persons, we manage all the task of project and that will done by both of us. As this project is IDP so the contribution of our External Guide Mr. Prashant Thakkar is also Important for us to direct us in perfect direction. As an Internal guide Mr. Anand Chauhan is very helpful to us at each and every moment of our project whenever we have a need of them.
2.4 Project Schedule:
Basic principles for software project scheduling “Software project scheduling is an activity that distributes estimated efforts across the planned duration by allocation the efforts to specific software engineering tasks.”
June: In June, we found out a company first by checking its profile, meeting manager and talking to him about our training. Last week of June, I finalize a company and finally meet technicians of a company.
July: First week of July, we finalize our project and we analyse the existing system. How it works and what problems are faced by customers and Service providers in existing System. August: We analysed on websites related to our application and to find solve people’s problems also find Tools and Technology of my project then we learnt a JAVA Technology. We also learnt user friendly GUI Designing and database in brief.
September: In September, we were gathering requirement of our project. We understood my project in detail and then I learnt how to make schema and also started work on diagrams also we made final SRS.
From Date To Date
1.Requirement Gathering 15-07-2017 21-07-2017
2.Literature Survey 27-07-2017 4-08-2017
3.System Analysis 11-08-2017 19-08-2017
4.Feasibility Study 26-08-2017 3-09-2017
5.Documentation 18-09-2017 27-09-2017
2.5 Risk Management
Risk management is very important think in each project. If we can’t consider this in project, then it is very harmful for our project. So that we must need to identify all the risks in project and manage it.
2.5.1 Risk Identify
Risk identification is most important process of Risk management. There are three type of risks.
Technical Risk
Tools Risk
People Risk For process of software development, I identify the risk server failure, broken link in the technical type risk, the internet connection problem, and garbage collection in the tools risks & failure of administration and leaking of data in people Risk.
Table 2.2: Project Risks
Risk Risk Type
Power off Tool Risk
Connection Error Technical Risk
Leaking of Data People Risk
Failure of administration Technical Risk
Database Corrupt People Risk
Empty Wallet People Risk
Risk Name Risk Type
Power off Tool risk Connection error Technical risk Leaking of data People risk Failure of administration Technical Risk Database Corrupt People risk Empty wallet People risk
2.5.2 Risk Analysis
After identify risk it is necessary to analysis of risk if the server fail then it is difficult for user to access the application or working very slowly. If the link is broken, then user can‟t access particular module of application. If the data leaking problem occurs, then it may happen that security comes in the risk. If the garbage collection problem happen then difficult to maintain whole system may become failure.
Table 2.2: Risk Analysis
Risk Type Risk Causes Priority Effect
Power off Error in power connection Low Customer can’t use the application
Connection error Lower quality of ISP Low Can’t access that particular application
Leaking of data Less security, hacking High Can’t manage the properly system
Failure of Less security in login High Can fail the product
Broken link Not proper coding Medium User can’t access the particular module directly
Database corrupt Large data added High Security will in the risk
2.5.3 Risk Planning
Table 2.4: Risk Planning
Risk Name Risk Type
Power off Power bank
Connection error Use better ISP
Leaking of data Provide security to fetch The data
Failure of administration Provide the security.
Broken link Provide proper coding
Database Corrupt Provide security through frequently back-up
3.1 Analysis
3.1.1 Study of Current System
I didn't find any System like Open source book portal (OSBP) but I check few web applications with quite similar concept. Mostly all are providing books but all of them were subscription based and the price of the book is very much expensive. One of the website we have found was Read Print in which only biopics and comic book were there but none of the books were related to education some of were there but content was not proper.
3.1.2 Problem in current system
The current scenario of the system does not provides a feasible platform to the authors and editors were they are not allow to modify the contents of the book readers find difficulties in finding there desired books with proper and error free contents and one of the common limitations is that readers are not allow for the request of new books.
3.2 Requirement of new system
if any reader want's a desired book they can request it to our system and it also provides editor to view the book written by the author and according to their qualifications and skills they can have privileges to modify the content/topics of the books due to this type of features readers can easily find their books with proper content which have easy understandability and also they do not need to pay the excess money for the books.
3.3 Feasibility Study
• Feasibility is the measure of how beneficial the development of information system will be to an organization.
• The feasibility analysis is categorized under four different types.
1. Operational Feasibility
2. Technical Feasibility
3. Schedule Feasibility
4. Economic feasibility
1. Operational Feasibility:
• The System is to be developed for any user who wants to use it. We want our system user-friendly and easy to use.
• The administrator also may be non-technical, so the user interface will be designed in such a way that it gets comfortable for non-technical person to operate easily.
2. Technical Feasibility:
• It is a partially measurement of specific technical solution and the availability of technical resorts and expertise.
• The analyst must find out whether the current technical resources, which are available in the system is capable of handling the job.
• If not, then the analyst with the help of developer should confirm whether the technology is available and capable or not.
3. Schedule Feasibility:
• Schedule feasibility corresponds to whether sufficient time is available to complete the project.
• Factor considered:
i. Schedule of the project
ii. Time by which project has to be completed
iii. Reporting period
4. Economic feasibility:
• Economic feasibility is a measure of cost effectiveness of a project or solution.
• For declaring that the system is economically feasible, the benefits from the project should exceed or at least to the equal to the cost of development.
4.1 Module Description
Data modelling is the process of documenting complex software system design as an easily understood diagram, using text and symbols to represent the way data needs to flow. The diagram can be used as a blueprint for the construction of new software or for re-engineering legacy application. Traditionally, data models have been built during the analysis and design phases of a project to ensure that the requirements for new application are fully understood. A data model can be thought of as flowchart that illustrates the relationships between data. Although capturing all the possible relationships in data model can be very time intensive, it's an important step that shouldn't be rushed. Well-documented conceptual, logical and physical data models allow stake-holders to identify errors and make changes before any programming code has been written or perform.
4.2 Data Dictionary
Table Name: Login_Details
Table Description: To store details of login account
Primary Key: LogIn_Id
Table 4.1: Login_Details
Column Name Data Type Constrain Description
LogIn_Id Int Primary key and
auto increment Specifies id of
each User
UserName Varchar(50) IsNotNull Unique
Identification
name
Password Password IsNotNul Password Protected
Role Varchar(50) Required Person who logged
in is admin or Author/Editor
or Reader?
Table Name: Reader_Details
Table Description: To store details of reader account
Primary Key: R_Id
Foreign Key: U_Id
Table 4.2: Reader_Details
Column Name Data Type Constrain Description
R_Id Int Primary key and auto increment Specifies id of Reader
U_Name Varchar(50) IsNotNull Unique
Identification name
E-mail Varchar(50) IsNotNull Email ID
Address Varchar(50) Required Address of User
PhoneNo Numeric IsNotNull Contact Details of User
U_Id Int Foreign Key Specify the relation between user details and login details
Table Name: Author_Details
Table Description: To store details of Author account
Primary Key: A_Id
Foreign Key: U_Id
Table 4.3: Author_Details
Column Name Data Type Constrain Description
A_Id Int Primary key and auto increment Specifies id of User
U_Name Varchar(50) IsNotNull Unique
Identification name
E-mail Varchar(50) IsNotNull Email ID
Address Varchar(50) Required Address of User
PhoneNo Numeric IsNotNull Contact Details of User
U_Id Int Foreign Key Specify the relation between user details and login details
Expertise In Varchar(50) Required Specifies expertise area of user
Qualification Varchar(50) Required Specifies user is eligible or not
Reg_Status Boolean IsNotNull Status of user registration
Table Name: Editor_Details
Table Description: To store details of Author account
Primary Key: E_Id
Foreign Key: U_Id
Table 4.4: Editor_Details
Column Name Data Type Constrain Description
E_Id Int Primary key and auto increment Specifies id of User
U_Name Varchar(50) IsNotNull Unique
Identification name
E-mail Varchar(50) IsNotNull Email ID
Address Varchar(50) Required Address of User
PhoneNo Numeric IsNotNull Contact Details of User
U_Id Int Foreign Key Specify the relation between user details and login details
Expertise In Varchar(50) Required Specifies expertise area of user
Qualification Varchar(50) Required Specifies user is eligible or not
Reg_Status Boolean IsNotNull Status of user registration
Table Name: Book_Details
Table Description: To store details of all the Book.
Primary Key: B_Id
Table 4.5: Book_Details
Column Name Data Type Constrain Description
B_Id Int Primary key and auto increment Specifies id of each Book
Book_Name Varchar(50) IsNotNull Unique
Identification name of any Book
Description Varchar(50) IsNotNull Brief Description about Book
Price Number IsNotNull Service Cost
Keyword 1 Varchar(10) IsNotNull Useful for search
Keyword 2 Varchar(10) IsNotNull Useful for search
Keyword 3 Varchar(10) IsNotNull Useful for search
URL Varchar(50) IsNotNull URL which
redirect to book
Table Name: New Book Request
Table Description: To store details of all the New Book Request
Primary Key: Nb_Id
Table 4.6: New Book Request
Column Name Data Type Constrain Description
Nb_Id Int Primary key and
auto increment Specifies id of
New book request
R_Id Int Foreign Key Specifies id of reader who request new book
Contents Varchar(100) IsNotNul Useful to understand contents of book
Status Boolean Required Give details of book status
Table Name: Editor Request Mapping Table.
Table Description: To store details of Mapping Editor to all Request
Primary Key: ERm_Id
Table 4.7: Editor Request Mapping
Column Name Data Type Constrain Description
ERm_Id Int Primary key and
auto increment Specifies id of
Request mapping
Nb_Id Int Foreign Key Specifies id of request
E_Id Int Foreign Key Specifies id of Editor
Table Name: Author Request Mapping Table.
Table Description: To store details of Mapping Author to all Request
Primary Key: ARm_Id
Table 4.8: Author Request Mapping
Column Name Data Type Constrain Description
ARm_Id Int Primary key and
auto increment Specifies id of
Request mapping
Nb_Id Int Foreign Key Specifies id of request
A_Id Int Foreign Key Specifies id of Author
Table Name: Chapter.
Table Description: To store details of Mapping Editor to all Request
Primary Key: C_Id
Table 4.9: Chapter
Column Name Data Type Constrain Description
C_Id Int Primary key and
auto increment Specifies id of
Chapter
ARm_Id Int Foreign Key Specifies id of ARM table
C_des URL IsNotNull URL which
redirect to Chapter
Table Name: New Book.
Table Description: To store details of Mapping Editor to all Request
Primary Key: N_Id
Table 4.10: New Book
Column Name Data Type Constrain Description
N_Id Int Primary key and
auto increment Specifies id of
New Book
C_Id Int Foreign Key Specifies id of Chapter
E_Id Int Foreign Key Specifies id of Editor
Table Name: Feedback Details
Table Description: To store details of all the Feedbacks
Primary Key: FeedbackId
Table 4.11: Feedback Details
Column Name Data Type Constrain Description
FeedbackID Int Primary key and auto increment Specifies id of each Feedback
Feedback Varchar(50) IsNotNull Feedback which is given by any consumer for any Services.
R_ID Int Foreign key of Reader_Details Identify that Feedback given by
Which reader.
B_ID Int Foreign key of Book Details Identify that Feedback given for which book.
Date Date Required Show that feedback given on which date
Table Name: Favourite
Table Description: To store details of all the Feedbacks
Primary Key: F_Id
Table 4.12: Favourite Details
Column Name Data Type Constrain Description
F_ID Int Primary key and auto increment Specifies id of each Favourite
R_ID Int Foreign key of Reader_Details Identify that Favourite added by
Which reader.
B_ID Int Foreign key of Book Details Identify which book is added to Favourite.
4.3 Design Methodology
4.3.1 ER Diagram
An Entity Relationship (ER) Diagram is a kind of flowchart that illustrates how “entities” such as people, objects or concepts relate to each other within a system. ER Diagrams are frequently used to design or debug relational databases in the fields of software engineering, business information systems, education and research. Also known as ERDs or ER Models, they utilize a characterized set of symbols such as rectangles, diamonds, ovals and connecting lines to depict the interconnectedness of entities, relationships and their attributes. They reflect grammatical structure, with entities as nouns and relationships as verbs.
There are four main components of an E-R Diagram:
Entities, which are represented by rectangles. An entity is an object or concept about which you need to store data.
A weak entity is an entity that must characterized by a foreign key relationship with another entity as it cannot be uniquely identified by its own attributes alone.
Actions, which are represented by diamond shapes, demonstrate how two entities share information in the database.
Attributes, which are represented by ovals. A key attribute is the unique, distinguishing characteristic of the entity. For instance, an employee's social security number might be the employee's key attribute.
A multivalued attribute can have more than one value. For example, an employee entity can have multiple skill values.
Connecting lines, solid lines that interface attributes to show the relationships of entities in the diagram.
Fig 4.1 E-R Diagram
4.3.2 Class Diagram
The class diagram is a static diagram. It represents the static view of an application. Class diagram is not only used for visualizing, describing and documenting different aspects of a system but also for constructing executable code of the software application. The class diagram describes the attributes and operations of a class and also the constraints imposed on the system. The class diagrams are widely used in the modelling of object oriented systems because they are the only UML diagrams which can be mapped directly with object oriented languages. The class diagram shows a collection of classes, interfaces, associations, collaborations and constraints. It is also known as a structural diagram.
Fig 4.2 Class Diagram
4.3.3 Data Flow Diagram
A data flow diagram (DFD) shows the functional relationship of values computed by a system, including input values, output values, and internal data stores. A data flow diagram is a graph showing flow of data values from their sources in objects through process that transform them to their destinations in other objects. A data flow doesn’t show control information, such as the time at which the process is executed or decision among the alternative data paths.
Fig 4.3 DFD Context Level Diagram
Fig 4.4 DFD Level 1 Diagram
4.3.4 Use Case Diagram
To introduce use case diagrams two things to remember is:
1. Actors
2. Use cases
Dependency relationships between use cases:
o An actor is anyone or anything that must interact with the system.
o Actors are not part of the system.
o In the UML, an actor is represented as a stickman.
o A use case must deliver something of value to an actor.
o The collection of use cases for a system constitutes all the defined ways the system may be used.
o In the UML, a use case is represented as an oval.
o A use case diagram is a diagram that shows a set of use cases and actors and their relationships.
o Actors may be connected to use cases only by association.
o An association between an actor and a use case indicates that the actor and the use case communicate with one another, each one possibly sending and receiving messages
Use case diagrams are used to …
o Model the context of a system.
o Model the requirements of a system.
Dependency Relationships between Use Cases:
o Extend: Specifies that the target use case extends the behaviour of the source use case.
o Include: Specifies that the source use case explicitly incorporates the behaviour of another use case at a location specifies by the source.
Fig 4.5 Use Case Diagram
4.3.5 Activity Diagram
Activity diagrams are normally used for business process modelling, for modelling the logic captured by a single use case or usage scenario, or for modelling the detailed logic of business rule.
Fig 4.6 Admin Activity Diagram
Fig 4.7 Reader Activity Diagram
Fig 4.8 Author Activity Diagram
Fig 4.9 Editor Activity Diagram
4.3.6 Sequence Diagram
It illustrates how objects interact with each other. It emphasizes time ordering of messages it can model simple sequential flows, branching, iteration, recursion and concurrency.
FIG 4.10 SEQUENCE DIAGRAM
4.3.7 System Flowchart
A flowchart is a type of diagram that represents an algorithm, workflow or process, demonstrating the steps as boxes of various kinds, and their order by connecting them with arrows. This diagrammatic representation illustrates a solution model to a given issue. Flowcharts are utilized as a part of analysing, designing, documenting or managing a process or program in various fields.
Flowcharts are utilized as a part of designing and documenting simple processes or programs. Like different types of diagrams, they help visualize what is going on and thereby help understand a process, and perhaps also find flaws, bottlenecks, and other less-obvious features within it. There are various types of flowcharts, and each type has its own repertoire of boxes and notational conventions. The two most basic types of boxes in a flowchart are: • a handling step, usually called activity, and denoted as a rectangular box • a choice, usually denoted as a diamond.
A flowchart is described as "cross-functional" when the page is partitioned into different swim lanes describing the control of different organizational units. A symbol appearing in a specific "path" is within the control of that organizational unit. This procedure allows the author to locate the responsibility for performing an action or making a decision correctly, showing the responsibility of each organizational unit for different parts of a single process
Fig 4.11 System Flow chart
4.4 Canvas
4.4.1 AEIOU Summary Canvas
4.4.2 Ideation Canvas
4.4.3 Empathy Canvas
4.4.4 Product Development Canvas
5.1 Feature of New System
• Reader can request for the New book.
• Reader can add the book to the favourites.
• Author can submit the content/chapters to the high qualified editors so the content will have easy understandability.
• Editor can modify the chapters/topic and can combine the into one book
5.2 Limitation of New System
• Readers have to wait for the books which they have requested.
• Network connectivity is required for the access to our system.
• It is a web based application
5.3 Future Enhancement
•
•
•
Conclusion:
Open Source Book Portal (OSBP), this web application will provide a free book in which contents inside the book will be easy to understand So, the readers can easily get their solution related to their queries and errorless books and also they can request to books and also they can request to new book if it is not available on web-app.
References:
Websites:
• www.wikipidia.com
• www.stackoverflow.com
• www.google.com
• www.sculptsoft.com
• http://www.w3schools.com
• http://www.javatpoint.com
Books:
• JAVA-THE COMPLETE REFERENCE
• JAVA-THE HEAD FIRST
Appendix:
PPR
PPR 1
PPR 2
PPR3
PPR 4
PSAR
PSAR 1
PSAR 2
PSAR 3
PSAR 4
PSAR 5
Canvas
AEIOU Summary Canvas
Ideation Canvas
Empathy Canvas
Product Development Canvas