Upload
ravi-teja-p
View
31
Download
0
Embed Size (px)
Citation preview
SYMBIOSYS TECHNOLOGIES
INTERNSHIP 2014
Project Report
Books for COD
Submitted By
P Ravi Teja
N091032
In partial fulfillment of summer internship for the award of degree
Of
Computer Science and Engineering
Bachelor of Technology
In
Struts and Java
RGUKT-NUZVID Campus
Rajiv Gandhi University of Knowledge TechnologiesNuzvid, Krishna (Dist), AP
June 1st to August 1st 2014
1
2
Acknowledgement
I, the summer intern team of Symbiosys Technologies, 2014 are expressing sincere
gratitude towards all who helped me to make my internship project to complete successfully
with fulfillment. I would like to take this opportunity and express my whole hearted thanks to
all those who helped me in the course of this internship.
I am very much grateful to SYMBIOSYS TECHNOLOGIES for providing me with this
opportunity to carry out my internship there. I also take this opportunity to express my whole
hearted gratitude to Prasad Bolem , HR Manager for permitted me to undertake the
internship in the organization and for their encouragement in completing project successfully
and providing me the conducive environment to carry my projects with ease.
I would like to express my sincere thanks to Intern guide Shiva Prasad, SYMBIOSYS
TECHNOLOGIES in making my project completion successfully through encouraging my
ideas and guiding in necessary situations. I am happy to thanking him for his patience and
baring my innocence.
I extend my mere thanks to my faculty members of CSE department for their support and
assistance through internship period.
Podugu Ravi Teja - N091032
3
Abstract
The goal of this project is to design an online bookstore mainly sells technical and
Computer Science related books. This book details are stored in MySQL database. Customer
can access the bookstore web site through the World Wide Web. Customers will be able to
search the database to find the books they want, check the availability, and place the order to
purchase the book using cash on delivery system.
The bookstore also provides a bridge to two real commercial online books repository.
This web portal allows user to explore the available books in our repository by searching and
browsing to get the results such as price details, complete title. By placing the order he can
get his favourite book to his address and there he can take it by cash on delivery.
4
LIST OF FIGURES1. UML Diagrams 15
1.1 Use Case Diagram 16
1.2 Context Level Diagram 17
1.3 Sequence Diagram 18
1.4 Activity Diagram 19
1.5 Communication Diagram 20
1.6 Data Flow Diagram 21
1.7 Entity Relationship Diagram 22
1.8 State Chart Diagram 23
2. Output Screens 26
2.1 User module 26
2.1.1 User login form 26
2.1.2 User registration form 26
2.1.3 Signed-in user form 27
2.1.4 Forget password form 27
2.2 Search module 28
2.2.1 Search form 28
2.2.2 Search results form 28
2.3 Add to cart module 28
2.3.1 Displaying available books 28
2.3.2 Details of selected books 29
2.3.3 Details of shopped books 29
2.4 Admin module 30
2.4.1 Password reset form 30
2.4.2 Admin login form 30
2.4.3 Admin panel 30
2.4.4 Displaying database books 31
2.4.5 Adding a new book form 31
2.4.6 Displaying details of added book 31
2.4.7 Serial number for updating 32
2.4.8 Updating books form 32
2.4.9 Displaying details of updated book 33
2.4.10deleting books form 33
2.4.11 Displaying details of deleted books 33
2.5 Feedback module 33
2.5.1 Feedback form 34
2.5.2 Displaying feedback message 34
5
LIST OF CONTENTS
1. Introduction to project 71.1 Project scope 7
2. Software lifecycle model 82.1 Introduction 82.2 Various design approaches 82.3 Spiral software model 92.4 Advantages and Disadvantages 10
2.4.1 Advantages 102.4.2 Disadvantages 102.4.3 When to user iterative model 10
3. Feasibility study 113.1 Introduction 113.2 Feasibility analysis 11
3.2.1 Operational analysis 113.2.2 Technical analysis 113.2.3 Economical analysis 12
4. System analysis 134.1 Introduction 134.2 Software Requirement Specification 13
4.2.1 Existing system 134.2.2 Proposed system 134.2.3 Hardware specification 134.2.4 Software specification 13
4.3 Requirement analysis 144.3.1 Functional requirements 144.3.2 Non-functional requirements 14
5. Implementation 155.1 Introduction 155.2 UML Diagrams 15
5.2.1 Use Case Diagram 165.2.2 Context Level Diagram 175.2.3 Sequence Diagram 185.2.4 Activity Diagram 195.2.5 Communication Diagram 205.2.6 Data Flow Diagram 215.2.7 Entity Relationship Diagram 225.2.8 State Chart Diagram 23
6. System design 246.1 Introduction 246.2 Admin panel 246.3 User panel 24
7. Output screens 257.1 Introduction 257.2 Strategic approach of software testing 257.3 Output screens 26
8. Conclusion and Future scope 358.1 Conclusion 358.2 Future scope 35
9. Bibliography 36
6
1. INTRODUCTION TO PROJECT
1.1 Project Scope
Online shopping or e-shopping is a form of electronic commerce which allows
consumers to directly buy goods or services from a seller over the Internet using a web
browser. Alternative names are: e-web-store, e-shop, e-store, Internet shop, web-shop, web-
store, online store, online storefront and virtual store. Mobile commerce (or m-commerce)
describes purchasing from an online retailer's mobile optimized online site or app.
An online book shop evokes the physical analogy of buying products or services at a bricks-
and-mortar retailer or shopping center; the process is called business-to-consumer (B2C)
online shopping. In the case where a business buys from another business, the process is
called business-to-business (B2B) online shopping. The largest of these online retailing
corporations are Amazon.com and eBay. Retail success is no longer all about physical stores.
This is evident because of the increase in retailers now offering online store interfaces for
consumers. With the growth of online shopping, comes a wealth of new market footprint
coverage opportunities for stores that can appropriately cater to offshore market demands and
service requirements.
7
2. SOFTWARE LIFECYCLE MODEL
2.1 Introduction
A software development process, also known as a software development life-cycle
(SDLC), is a structure imposed on the development of a software product. Similar terms
include software life cycle and software process. It is often considered a subset of systems
development life cycle. There are several models for such processes, each describing
approaches to a variety of tasks or activities that take place during the process. Some people
consider a life-cycle model a more general term and a software development process a more
specific term. For example, there are many specific software development processes with
international standard for software life-cycle processes. It aims to be the standard that defines
all the tasks required for developing and maintaining software.
Software development organizations implement process methodologies to ease the process of
development. The international standard for describing the method of selecting,
implementing and monitoring the life cycle for software is ISO/IEC 12207.Some apply
project management techniques to designing software. Without effective project
management, software projects can easily be delivered late or over budget. With large
numbers of software projects not meeting their expectations in terms of functionality, cost, or
delivery schedule, it is effective project management that appears to be lacking.
2.2 Various Design Approaches
Waterfall
Iterative Waterfall
Spiral
Rapid Prototyping
Unified Process (UP)
Agile Methods
Extreme Programming (XP).
8
2.3 Iterative Waterfall Model
The basic idea behind this method is to develop a system through repeated cycles
(iterative) and in smaller portions at a time (incremental), allowing software developers to
take advantage of what was learned during development of earlier parts or versions of the
system. Learning comes from both the development and use of the system, where possible
key steps in the process start with a simple implementation of a subset of the software
requirements and iteratively enhance the evolving versions until the full system is
implemented. At each iteration, design modifications are made and new functional
capabilities are added.
The procedure itself consists of the initialization step, the iteration step, and the Project
Control List. The initialization step creates a base version of the system. The goal for this
initial implementation is to create a product to which the user can react. It should offer a
sampling of the key aspects of the problem and provide a solution that is simple enough to
understand and implement easily. To guide the iteration process, a project control list is
created that contains a record of all tasks that need to be performed. It includes such items as
new features to be implemented and areas of redesign of the existing solution. The control list
is constantly being revised as a result of the analysis phase.
The iteration involves the redesign and implementation of iteration is to be simple,
straightforward, and modular, supporting redesign at that stage or as a task added to the
project control list. The level of design detail is not dictated by the iterative approach. In a
light-weight iterative project the code may represent the major source of documentation of
the system; however, in a critical iterative project a formal Software Design Document may
be used. The analysis of an iteration is based upon user feedback, and the program analysis
facilities available. It involves analysis of the structure, modularity, usability, reliability,
efficiency, & achievement of goals. The project control list is modified in light of the analysis
results.
9
2.4 Advantages & Disadvantages
2.4.1 Advantages of Iterative model
In iterative model I can only create a high-level design of the application before I
actually begin to build the product and define the design solution for the entire
product. Later on I can design and built a skeleton version of that, and then evolved
the design based on what had been built.
In iterative model I am building and improving the product step by step. Hence I can
track the defects at early stages. This avoids the downward flow of the defects.
In iterative model I can get the reliable user feedback. When presenting sketches and
blueprints of the product to users for their feedback, I am effectively asking them to
imagine how the product will work.
In iterative model less time is spent on documenting and more time is given for
designing.
2.4.2 Disadvantages of Iterative model
Each phase of an iteration is rigid with no overlaps
Costly system architecture or design issues may arise because not all requirements are
gathered up front for the entire lifecycle
2.4.3 When to use iterative model
Requirements of the complete system are clearly defined and understood.
When the project is big.
Major requirements must be defined; however, some details can evolve with time.
3. FEASIBILITY STUDY10
3.1 Introduction
Preliminary investigation is to examine project feasibility, the likelihood the system
will be useful to the organization. The main objective of the feasibility study is to test the
Technical, Operational and Economical feasibility for adding new modules and debugging
old running system. All system is feasible if they are unlimited resources and infinite time.
3.2 Feasibility Analysis
The feasibility of the project is analyzed in this phase and business proposal is put
forth with a very general plan for the project and some cost estimates. During system analysis
the feasibility study of the proposed system is to be carried out. This is to ensure that the
proposed system is not a burden to the company. For feasibility analysis, some understanding
of the major requirements for the system is essential.
Three key considerations involved in the feasibility analysis are
OPERATIONAL FEASIBILITY
TECHNICAL FEASIBILITY
ECONOMICAL FEASIBILITY
3.2.1 OPERATIONAL FEASIBILITY
Proposed projects are beneficial only if they can be turned out into information
system. That will meet the organization’s operating requirements. Operational feasibility
aspects of the project are to be taken as an important part of the project implementation. The
well-planned design would ensure the optimal utilization of the computer resources and
would help in the improvement of performance status.
3.2.2 TECHNICAL FEASIBILITY
This study is carried out to check the technical feasibility, that is, the technical
requirements of the system. Any system developed must not have a high demand on the
available technical resources. This will lead to high demands on the available technical
resources. This will lead to high demands being placed on the client. The developed system
must have a modest requirement, as only minimal or null changes are required for
implementing this system.
11
3.2.3 ECONOMICAL FEASIBILITY
This study is carried out to check the economic impact that the system will have on
the organization. The amount of fund that the organization can pour into this project
development is limited. The expenditures must be justified. Thus the developed system as
well within the budget and this was achieved because most of the technologies using are.
Only the customized products had to be purchased.
4. SYSTEM ANALYSIS
12
4.1 Introduction
After analyzing the requirements of the task to be performed, the next step is to
analyze the problem and understand its context. The first activity in the phase is studying the
existing system and other is to understand the requirements and domain of the new system.
Both the activities are equally important, but the first activity serves as a basis of giving the
functional specifications and then successful design of the proposed system. Understanding
the properties and requirements of a new system is more difficult and requires creative
thinking and understanding of existing running system is also difficult, improper
understanding of present system can lead diversion from solution.
4.2 Software Requirement Specification
4.2.1 Existing System
Now days in online marketing there are many frauds are happening and people
became victims. And mostly for cash on delivery system there is no any guaranteed delivery
date also. People have to wait for their product without any idea about that and even after
they are receiving the product sometimes may not meet his/her requirements.
4.2.2 Proposed System
With our system the marketing will be easier and after user signed into his account
he can simply manage all the actions. By browsing or by searching he can find his desired
book by title, author etc. And after selections of particular book he can simply add it to the
cart from where he can place an order with guaranteed delivery.
4.2.3 Hardware Specifications
System : Intel 1.2 GHz or above
Hard Disk : 100 GB
RAM : 4 GB
4.2.4 Software Specifications
Operating System : Windows XP or above
Browsers : Chrome 28 or above, Firefox 25 or above.
Server : Apache Tomcat server
Database : MySQL
4.3 Requirement Analysis
13
Requirements analysis in software engineering, describes those tasks that go into determining
the needs or conditions to meet for a new or altered product, taking account of the possibly
conflicting requirements of the various stakeholders, such as beneficiaries or users. And it
must be documented, measurable related to identify business needs.
Mainly two types of requirements are there. They are
Functional Requirements: These will deal about the main user actions under his
requirements, which will be performed in that web application.
Selection of Books
Ordering of Books
Updating user Profile
Non-Functional Requirements: These will deal about the issues which will cause the web
application to slow down or non-reliability and mostly like technical requirements.
Performance Requirements
Safety Requirements
Speed and Reliability
5. SYSTEM DESIGN
14
5.1 Introduction
In order to design a web site, the relational database must be designed first.
Conceptual design can be divided into two parts: The data model and the process
model. The data model focuses on what data should be stored in the database while
the process model deals with how the data is processed. To put this in the context of
the relational database, the data model is used to design the relational tables. The
process model is used to design the queries that will access and perform operations on
those tables.
5.2 UML Diagrams
The unified modeling language allows the software engineer to express an analysis
model using the modeling notation that is governed by a set of syntactic semantic and
pragmatic rules.
A UML system is represented using five different views that describe the system from
distinctly different perspective. Each view is defined by a set of diagram, which is as follows.
Each Unified Modeling Language diagram is designed to let developers and customers view
a software system from a different perspective and in varying degrees of abstraction. UML
diagrams commonly created in visual modeling tools include.
Use Case Diagram
Context Level Diagram
Sequence Diagram
Activity Diagram
Communication Diagram
Data Flow Diagram
Entity Relationship Diagram
State Chart Diagram
5.2.1 Use case Diagram
15
A use case diagram presents a graphical overview of the functionality provided by a
system in terms of actors, their goals (use case), and any dependencies between those use
cases.
5.2.2 Context Level Diagram
16
A System Context Diagram (SCD) in software engineering and systems engineering is a diagram that
defines the boundary between the system, or part of a system, and its environment, showing the
entities that interact with it. This diagram is a high level view of a system. It is similar to a block
diagram. System context diagrams show a system, often software-based, as a whole and its inputs and
outputs from/to external factors. The objective of the system context diagram is to focus attention on
external factors and events that should be considered in developing a complete set of systems
requirements and constraints.
Context Diagrams are used early in a project to get agreement on the scope under investigation
Context diagrams are typically included in a requirements document. These diagrams must be read by
all project stakeholders and thus should be written in plain language, so the stakeholders can
understand items within the document.
CONTEXT LEVEL DIAGRAM
5.2.3 Sequence Diagram
17
A “Sequence diagram” is an interaction diagram that shows how processes operate
with one another and in what order. It is a construct of a Message Sequence Chart. A
sequence diagram shows object interactions arranged in time sequence. It depicts the objects
and classes involved in the scenario and the sequence of messages exchanged between the
objects needed to carry out the functionality of the scenario. Sequence diagrams are typically
associated with use case realizations in the Logical View of the system under development.
Sequence diagrams are sometimes called event diagrams, event scenarios.
A sequence diagram shows, as parallel vertical lines (lifelines), different processes or objects
that live simultaneously, and, as horizontal arrows, the messages exchanged between them,in
the order in which they occur. This allows the specification of simple runtime scenarios in a
graphical manner.
SEQUENCE DIAGRAM
5.2.4 Activity Diagram
18
Activity diagrams are graphical representations of work flows of step-wise activities and
actions with support for choice, iteration and concurrency. An activity diagram shows the
overall flow of control.
ACTIVITY DIAGRAM
5.2.5 Communication Diagram
19
Communication diagrams show the message flow between objects in an OO
application and also imply the basic associations (relationships) between classes. The
rectangles represent the various objects involved that make up the application. The lines
between the classes represent the relationships (associations, composition, dependencies, or
inheritance) between them. The same notation for classes and objects used on UML sequence
diagrams are used on UML communication diagrams, another example of the consistency of
the UML. The details of your associations, such as their multiplicities, are not modeled
because this information is contained on your UML class diagrams: remember, each UML
diagram has its own specific purpose and no single diagram is sufficient on its own.
Messages are depicted as a labeled arrow that indicates the direction of the message, using a
notation similar to that used on sequence diagrams.
Communication Diagram
5.2.6 Data Flow Diagram
20
A data flow diagram (DFD) is a graphical representation of the “flow” of data through
an information system, modeling its process aspects. Often they are preliminary step used to
create and overview of the system which can later be elaborated. DFDs can also be used for
the visualization of data processing (structured design).
A DFD shows what kind of information will be input to and output from the system, where
the data will come from and go to, and where the data will be stored. It does not show
information about the timing of processes, or information about whether processes will
operate in sequence or in parallel (which is shown on a flowchart).
DATA FLOW DIAGRAM
5.2.7 Entity Relationship Diagram
An entity-relationship model is a systematic way of describing and defining a
business process. The process is modeled as components (entities) that are linked with each
21
other by relationships that express the dependencies and requirements between them, such as
one building maybe divided into zero or more apartments, but one apartment can only be
located in one building. Entities may have various properties (attributes) that characterize
them. Diagrams created to represent these entities, attributes, and relationships graphically
are called entity relationship diagrams.
An ER model is typically implemented as a database. In the case of a relational database, this
stores data in tables and represent the entities. Some data fields in these tables point to
indexes in other tables; such pointers represent the relationships. In software engineering, an
entity-relationship model (ER model) is a data model for describing the data or information
aspects of a business domain or its process requirements, in an abstract way that lends itself
to ultimately being implemented in a database such as a relational database. The main
components of ER models are entities (things) and the relationships that can exist among
them, and databases
Entity Relationship Diagram
5.2.8 State Chart Diagram
The state diagram in the Unified Modeling Language is essentially a state chart with
standardized notation, which can describe many systems, from computer programs to
22
business processes. In UML 2 the name has been changed to “State Machine Diagram”. The
following are the basic notational elements that can be used to make up a diagram:
Filled circle, pointing to the initial state.
Hollow circle containing a smaller filled circle, indicating the final state (if any).
Rectangle, denoting a state. Top of the rectangle contains a name of the state.
STATE CHART DIAGRAM
6. IMPLEMENTATION
6.1 Introduction23
Online Bookstore is a best place to explore our favorite books and there is no need
of going here or there to buy these books. Because it’s an online application any one can
directly buy a book from whatever the place via online. So to encourage costumers there is
very clean and pleasant user interface is very important. And there must an order I have to
follow to implement this type of system. Since the registration phase to till ending phase of
order the user may experience different pages. And to make user comfortable I have to follow
many important steps in the form of user interface, security, reliability etc. With including all
these developing an online bookstore is not a simple thing as it includes many complex
modules. Make sure to divide the implementation by phases and it will be easier to
implement such a system.
6.2 Admin Panel
Online Bookstore application is having many options including different portals for
both admin and the user. And from the admin pane he can manage all the application such as
maintaining books catalogue, user maintenance etc. To organize operations like these there
must be an admin panel for ease access and updating of data.
6.3 User Panel
Online Bookstore application is having several options like browsing books from
catalogue and placing an order according the desired quantity and all the modules. To
manage such modules user must registered with the application and once he sign in into the
account there the process starts. First he has to browse or choose his favorite books and after
that by adding them to cart he can place an order. By cash on Delivery system he can get the
books.
7. TESTING
7.1 Introduction
24
After finishing the development of any computer based system the next complicated
time consuming process is system testing. During the time of testing only the development
company can know that, how far the user requirements have been met out, and so on.
Following are the some of the testing methods applied to this effective project:
7.2 Strategic Approach of Software Testing
7.2.1 Source Code Testing:
This examines the logic of the system. If I am getting the output that is required by the user,
then I can say that the logic is perfect.
7.2.2 Black box Testing:
Black- box testing focuses on functional requirement of software. It enables to derive ets of
input conditions that will fully exercise all functional requirements for a program.
Black box testing attempts to find error in the following category:
Incorrect or missing function
Interface errors
Errors in data structures or external database access and performance errors.
7.2.3 Output Testing:
The output testing of the proposed system since no system would be termed as useful until it
does produce the required output in the specified format. Output format is considered in two
ways, the screen format and the printer format.
7.3 Output Screens
7.3.1 User module
25
26
Fig 2.1.1 User Login form
Fig 2.1.2 User Registration form
27
Fig 2.1.3 Forget password form
Fig 2.1.4 Signed-in user form
7.3.2 Search module
7.3.3 Add To Cart Module
28
Fig 2.3.1 Displaying available books
Fig 2.2.1 Search form
Fig 2.2.2 Search results form
29
Fig 2.3.3 Displaying shopping details
Fig 2.3.2 Displaying details of selected books
7.3.4 Admin Module
30
Fig 2.4.2Admin reset password form
Fig 2.4.3 Admin panel
Fig 2.4.1 Admin login form
31
Fig 2.4.4 displaying all books in database
Fig 2.4.5 serial number for updating
Fig 2.4.6 updating books form
32
Fig 2.4.7 displaying updated book details
Fig 2.4.8 adding new book form
7.3.5 Feedback module
33
Fig 2.4.9 displaying newly added books
Fig 2.4.9 displaying selected books for delete
Fig 2.4.10 displaying details of deleted books
8. CONCLUSION AND FUTURE SCOPE
34
Fig 2.5.1 feedback form
Fig 2.5.2 displaying feedback
8.1 Conclusion:
Implementing an online bookstore is such a complex task and by dividing it into small
modules it will be easier. And now a day’s people are more interested in online shopping and
cash on delivery system then it will definitely be a successful application. With ease and
perfect user interface anyone can easily do shopping in the application and there is need of
confusion at all because of the simplicity of the application.
8.2 Future Scope:
If possible the implementation is not only limited for books. Planning of expanding it with
many groceries and gift articles also there but not in near future.
9. BIBLIOGRAPHY
35
[1] umldiagrams.org
[2] www.roseindia.net/struts
[3] www.developersindia.com/struts
[4] www.tutorialspoint.com/jsp
[5] www.tutorialspoint.com/jdbc
[6]Online shopping websites Amazon and eBay
36