Professional Documents
Culture Documents
ABSTRACT
ONLINE SHOPPING
PROBLEM STATEMENT
When a person wants to buy a book he first have to drive to the books store
then walk throughout the store until he locates the book he need .After
finding the product if he wants to purchase ,he may often need to stand in
long queue at cash counter for long time.
The online shopping is the best and convience way for shopping .
Online shopping helps consumer avoid this disadvantage.
With the help of online shopping consumer can buy a variety of items from
the online store .With the online shopping consumer can purchase just above
any things from companies that provide online household appliances ,
books , clothing ,toys , hardware,software and many more products .
PROPOSED SYSTEM
Online shopping is the process of buying goods and services from merchants
who sell on the internet since the emergence of world wide web,merchants
have sought to sell their products to the people who surf the
internet.Shoppers can visit web stores from the comfort of their homes and
shop as they sit in front of computers.
With the online shopping a person logs onto the internet visit the stores
website and choose the items he desires.The items are held in virtual
shopping cart until she is ready to make her purchase. The process can be
conducted in the web hours of the morning or late into the night online store
never get closed---they are opened 24 hours a day.
ONLINE SHOPPING
1. Introduction
1.1 Purpose
The Online Shopping web application is intended to provide complete
solutions for vendors as well as customers through a single get way using the
internet as the sole medium. It will enable vendors to setup online shops,
customer to browse through the shop and purchase them online without
having to visit the shop physically.
1.2 Scope
Adequate searching mechanism or easy and quick access to particular
product and services
Transactions possible throughout the world.
Secure registration and profile management facilities is for customers
1.4 References
i. www.google.com
ii. www.wikepedia.com
1.5 Overview
This case study help to understand the function of system, administator,
manager and helps the customer making there work easier in purchasing
goods
2. General Description
3.Specific Functions
3.1.1.1 Introduction
Functional requirement of the customer for placing an order
3.1.1.2 Input
Input is the basic user information and credit card information
3.1.1.3 Processing
The selection of the product and giving the information of required product
3.1.1.4 Output
Output is sending the requirement for the delevery of the required product
for the customer
3.1.2.1Introduction
Functional requirement of vendor
3.1.2.2Inputs
It is the information of all the product available and there details are given by
vendors
3.1.2.3Processing
Access the details given by user and keeps the product read for shopping
3.1.2.4Output
Mailing the item delevery of item to the requiired customer and billing and
payment process is taken into consideration
3.1.3.1Introduction
Helping the shopping process
3.1.3.2Inputs
Contain required information about customer and shop
3.1.3.3Processing
Process the given requirement by the customer and verify the detail
3.1.3.4Output
Provides the customer with the required product
3.2.1User interface
The user interface component should be user frendly i.e easy to understand
and access
It is used to perform common task between customer and vendor
3.2.2Hardware Interface
Hardware interace is consern of an communication source between customer
and vendor
It is consult with high speed data transer rate
The application required internet facility for communication
3.2.3Software Interface
The application provides link between end user and the system
3.2.4Communication Interface
Online shopping required connection between main server and user and
transfer of data between user and system.
Introduction:
The unified modeling language(UML)is a standard language for writing
software blue prints.
The UML is a language for
Visualizing
Specifying
Constructing
Documenting
Vocabulary and rules of a language tell us how to create and real well
formed models, but they don’t tell you what model you should create and
when should create them.
VISUALIZING
The UML is more than just a bunch of graphical symbols. In UML each
symbol has well defined semantics. In this manner one developer can write
a model in the UML and another developer or even another tools can
interpret the model unambiguously.
CONSTRUCTING
UML is not a visual programming language but its models can be directly
connected to a variety of programminglanguages.
This means that it is possible to map from a model
in the UML to a programming language such as java, c++ or VisualBasic or
even to tables in a relational database or the persistent store of an object-
oriented database.
This mapping permits forward engineering. The
generation of code from a UML model into a programming language.
The reverse engineering is also possible you can
reconstruct a model from an implementation back into the UML.
DOCUMENTING
UML is a language for Documenting. A software organization produces all
sorts of artifacts in addition to raw executable code. These artifacts include
Requirements,Architecture,Design,Sourcecode,Project
plans,Test,Prototype,Release.
Such artifacts are not only the deliverables of a project,they are also critical
in controlling,measuring and communicating about a system during its
development and after its deployment.
Things
Relationships
Diagrams
Things:
Things are the most important building blocks of UML. Things can be:
Structural
Behavioral
Grouping
Annotational
Class:
Class represents set of objects having similar responsibilities.
Interface:
Interface defines a set of operations which specify the responsibility of a
class.
Collaboration:
Collaboration defines interaction between elements.
Component:
Component describes physical part of a system.
Node:
A node can be defined as a physical element that exists at run time.
Behavioral Things:
A behavioral thing consists of the dynamic parts of UML models. Following
are the behavioral things:
State machine:
State machine is useful when the state of an object in its life cycle is
important. It defines the sequence of states an object goes through in
response to events. Events are external factors responsible for state change.
Grouping things:
Grouping things can be defined as a mechanism to group elements of a UML
model together. There is only one grouping thing available.
Package:
Package is the only one grouping thing available for gathering structural and
behavioral things.
Annotational things:
Annotational things can be defined as a mechanism to capture remarks,
descriptions, and comments of UML model elements. Note is the only one
Annotational thing available.
Note:
A note is used to render comments, constraints etc of an UML element.
RELATIONSHIP IN UML
Relationship is another most important building block of UML. It shows
how elements are associated with each other and this association describes
the functionality of an application.
There are four kinds of relationships available.
Dependency:
Dependency is a relationship between two things in which change in one
element also affects the other one.
Association:
Association is basically a set of links that connects elements of an UML
model. It also describes how many objects are taking part in that
relationship.
Generalization:
Generalization can be defined as a relationship which connects a specialized
element with a generalized element. It basically describes inheritance
relationship in the world of objects.
Realization:
Realization can be defined as a relationship in which two elements are
connected. One element describes some responsibility which is not
implemented and the other one implements them. This relationship exists in
case of interfaces.
UML diagrams are the ultimate output of the entire discussion. All the
elements, relationships are used to make a complete UML diagram and the
diagram represents a system.
The visual effect of the UML diagram is the most important part of the entire
process. All the other elements are used to make it a complete one.
UML includes the following nine diagrams and the details are described in
the following chapters.
Class diagram
Object diagram
Use case diagram
Sequence diagram
Collaboration diagram
Activity diagram
Statechart diagram
Deployment diagram
Component diagram
Overview:
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.
Purpose:
The purpose of the class diagram is to model the static view of an
application. The class diagrams are the only diagrams which can be directly
mapped with object oriented languages and thus widely used at the time of
construction.
The UML diagrams like activity diagram, sequence diagram can only give
the sequence flow of the application but class diagram is a bit different. So it
is the most popular UML diagram in the coder community.
So the purpose of the class diagram can be summarized as:
Analysis and design of the static view of an application.
Describe responsibilities of a system.
Base for component and deployment diagrams.
Forward and reverse engineering.
OBJECT DIAGRAM
Object diagram shows a set of objects and there relationships.Object diagram
represents static snapshot of instances of the things found in class diagram.
These diagrams addresses static design view or static process view of a
system.
Overview:
To model a system the most important aspect is to capture the dynamic
behaviour. To clarify a bit in details, dynamic behaviour means the
behaviour of the system when it is running /operating.
Purpose:
The purpose of use case diagram is to capture the dynamic aspect of a
system. But this definition is too generic to describe the purpose.
Because other four diagrams (activity, sequence, collaboration and
Statechart) are also having the same purpose. So we will look into some
specific purpose which will distinguish it from other four diagrams.
Use case diagrams are used to gather the requirements of a system including
internal and external influences. These requirements are mostly design
requirements. So when a system is analyzed to gather its functionalities use
cases are prepared and actors are identified.
Now when the initial task is complete use case diagrams are modelled to
present the outside view.
So in brief, the purposes of use case diagrams can be as follows:
Used to gather requirements of a system.
Used to get an outside view of a system.
Identify external and internal factors influencing the system.
Show the interacting among the requirements are actors.
INTERACTION DIAGRAM
Overview:
The name of the diagram itself clarifies the purpose of the diagram and other
details. It describes different states of a component in a system. The states
are specific to a component/object of a system.
A Statechart diagram describes a state machine. Now to clarify it state
machine can be defined as a machine which defines different states of an
object and these states are controlled by external or internal events.
Activity diagram explained in next chapter, is a special kind of a Statechart
diagram. As Statechart diagram defines states it is used to model lifetime of
an object.
Purpose:
Statechart diagram is one of the five UML diagrams used to model dynamic
nature of a system. They define different states of an object during its
lifetime. And these states are changed by events. So Statechart diagrams are
useful to model reactive systems. Reactive systems can be defined as a
system that responds to external or internal events.
Statechart diagram describes the flow of control from one state to another
state. States are defined as a condition in which an object exists and it
changes when some event is triggered. So the most important purpose of
Statechart diagram is to model life time of an object from creation to
termination.
Statechart diagrams are also used for forward and reverse engineering of a
system. But the main purpose is to model reactive system.
Following are the main purposes of using Statechart diagrams:
Overview:
Activity diagram is another important diagram in UML to describe dynamic
aspects of the system.
Activity diagram is basically a flow chart to represent the flow form one
activity to another activity. The activity can be described as an operation of
the system.
So the control flow is drawn from one operation to another. This flow can be
sequential, branched or concurrent. Activity diagrams deals with all type of
flow control by using different elements like fork, join etc.
Purpose:
The basic purposes of activity diagrams are similar to other four diagrams. It
captures the dynamic behaviour of the system. Other four diagrams are used
to show the message flow from one object to another but activity diagram is
used to show message flow from one activity to another.
Activity is a particular operation of the system. Activity diagrams are not
only used for visualizing dynamic nature of a system but they are also used
to construct the executable system by using forward and reverse engineering
techniques. The only missing thing in activity diagram is the message part.
It does not show any message flow from one activity to another. Activity
diagram is some time considered as the flow chart. Although the diagrams
looks like a flow chart but it is not. It shows different flow like parallel,
branched, concurrent and single.
So the purposes can be described as:
Draw the activity flow of a system.
Describe the sequence from one activity to another.
Describe the parallel, branched and concurrent flow of the system.
Overview:
Component diagrams are different in terms of nature and behaviour.
Component diagrams are used to model physical aspects of a system.
Now the question is what are these physical aspects? Physical aspects are the
elements like executables, libraries, files, documents etc which resides in a
node.
So component diagrams are used to visualize the organization and
relationships among components in a system. These diagrams are also used
to make executable systems.
Purpose:
Component diagram is a special kind of diagram in UML. The purpose is
also different from all other diagrams discussed so far. It does not describe
the functionality of the system but it describes the components used to make
those functionalities.
So from that point component diagrams are used to visualize the physical
components in a system. These components are libraries, packages, files etc.
Component diagrams can also be described as a static implementation view
of a system. Static implementation represents the organization of the
components at a particular moment.
A single component diagram cannot represent the entire system but a
collection of diagrams are used to represent the whole.
So the purpose of the component diagram can be summarized as:
Visualize the components of a system.
Construct executables by using forward and reverse engineering.
Describe the organization and relationships of the components.
Overview:
Deployment diagrams are used to visualize the topology of the physical
components of a system where the software components are deployed.
So deployment diagrams are used to describe the static deployment view of a
system. Deployment diagrams consist of nodes and their relationships.
Purpose:
The name Deployment itself describes the purpose of the diagram.
Deployment diagrams are used for describing the hardware components
where software components are deployed. Component diagrams and
deployment diagrams are closely related.
Component diagrams are used to describe the components and deployment
diagrams shows how they are deployed in hardware.
UML is mainly designed to focus on software artifacts of a system. But these
two diagrams are special diagrams used to focus on software components
and hardware components.
So most of the UML diagrams are used to handle logical components but
deployment diagrams are made to focus on hardware topology of a system.
Deployment diagrams are used by the system engineers.
The purpose of deployment diagrams can be described as:
Visualize hardware topology of a system.
Describe the hardware components used to deploy software
components.
Describe runtime processing nodes.
UML notations are the most important elements in modeling. Efficient and
appropriate use of notations is very important for making a complete and
meaningful model. The model is useless unless its purpose is depicted
properly.
So learning notations should be emphasized from the very beginning.
Different notations are available for things and relationships. And the UML
diagrams are made using the notations of things and relationships.
Extensibility is another important feature which makes UML more powerful
and flexible.
Structural Things:
Graphical notations used in structural things are the most widely used in
UML. These are considered as the nouns of UML models. Following are the
list of structural things.
Classes
Interface
Collaboration
Use case
Active classes
Components
Nodes
Class Notation:
UML class is represented by the diagram shown below. The diagram is
divided into four parts.
The top section is used to name the class.
The second one is used to show the attributes of the class.
Object Notation:
The object is represented in the same way as the class. The only difference is
the name which is underlined as shown below..
Collaboration Notation:
Collaboration is represented by a dotted eclipse as shown below. It has a
name written inside the eclipse.
Actor Notation:
An actor can be defined as some internal or external entity that interacts with
the system.
Component Notation:
A component in UML is shown as below with a name inside. Additional
elements can be added wherever required.
Node is used to represent physical part of a system like server, network etc.
Behavioural Things:
Dynamic parts are one of the most important elements in UML. UML has a
set of powerful features to represent the dynamic part of software and non
software systems. These features include interactions and state machines.
Interactions can be of two types:
Sequential (Represented by sequence diagram)
Collaborative (Represented by collaboration diagram)
Interaction Notation:
Interaction is basically message exchange between two UML components.
The following diagram represents different notations used in an interaction.
Grouping Things:
Organizing the UML models are one of the most important aspects of the
design. In UML there is only one element available for grouping and that is
package.
Package Notation:
Package notation is shown below and this is used to wrap the components of
a system.
Relationships
A model is not complete unless the relationships between elements are
described properly. The Relationship gives a proper meaning to an UML
model. Following are the different types of relationships available in UML.
Dependency
Association
Generalization
Extensibility
Dependency Notation:
Dependency is an important aspect in UML elements. It describes the
dependent elements and the direction of dependency.
Dependency is represented by a dotted arrow as shown below. The arrow
head represents the independent element and the other end the dependent
element.
Association Notation:
Association describes how the elements in an UML diagram are associated.
In simple word it describes how many elements are taking part in an
interaction.
Association is represented by a dotted line with (without) arrows on both
sides. The two ends represent two associated elements as shown below. The
multiplicity is also mentioned at the ends (1, * etc) to show how many
objects are associated.
Extensibility Notation:
All the languages (programming or modeling) have some mechanism to
extend its capabilities like syntax, semantics etc. UML is also having the
following mechanisms to provide extensibility features.
Stereotypes (Represents new elements)
Tagged values (Represents new attributes)
Constraints (Represents the boundaries)
Abstraction Relationship
An abstraction relationship is a dependency between model elements that
represents the same concept at different levels of abstraction or from
different viewpoints. You can add abstraction relationships to a model in
several diagrams, including use-case, class, and component diagrams.
Activity edges
In activity diagrams, an activity edge is a relationship between two activity
nodes that you can use to represent the control flow or object flow in an
activity diagram.
Aggregation relationships
An aggregation relationship depicts a classifier as a part of, or as subordinate
to, another classifier.
Association relationships
In UML models, an association is a relationship between two classifiers,
such as classes or use cases, that describes the reasons for the relationship
and the rules that govern the relationship.
Binding relationships
In UML models, a binding relationship is a relationship that assigns values to
template parameters and generates a new model element from the template.
Communication paths
In UML modeling, a communication path is a type of association between
nodes in a deployment diagram that shows how the nodes exchange
messages and signals.
Composition relationships
A composition relationship, which was named composition association
Specifications
textual statement of syntax & semantics
diagrams give view of specification
Adornments
elements in UML - unique graphical notation
adornments - added information about class
Common Divisions
general property vs. specific instance
Extensibility Mechanisms
stereotype
allows creation of new kinds of building blocks from existing ones
tagged value
allows creation of new information in specification
constraint
allows addition of new rules & modification of existing rules
Rules Of UML
specify what model should look like
semantic rules for
names
scope
visibility
integrity
execution
Common properties of models
elided - hide some elements for simplicity
o incomplete
o inconsistent
ARCHITECTURE OF UML
Any real world system is used by different users. The users can be
developers, testers, business people, analysts and many more. So before
Design
Implementation
Process
Deployment
And the centre is the Use Case view which connects all these four. A Use
case represents the functionality of the system. So the other perspectives are
connected with use case.
Process defines the flow of the system. So the same elements as used in
Design are also used to support this perspective.
Deployment represents the physical nodes of the system that forms the
hardware. UML deployment diagram is used to support this perspective.
Structure diagrams
Structure diagrams emphasize what things must be in the system being
modeled:
Class diagram: the class diagrams describes the structure of a system by
showing the system's classes, their attributes, and the relationships among
the classes.
Component diagram: depicts how a software system is split up into
components and shows the dependencies among these components.
Composite structure diagram: describes the internal structure of a class and
the collaborations that this structure makes possible.
Deployment diagram: serves to model the hardware used in system
implementations, and the execution environments and artifacts deployed on
the hardware.
Object diagram: shows a complete or partial view of the structure of a
modeled system at a specific time.
Behavior diagrams
Behavior diagrams emphasize what must happen in the system being
modeled:
Activity diagram: represents the business and operational step-by-step
workflows of components in a system. An activity diagram shows the overall
flow of control.
State machine diagram: standardized notation to describe many systems,
from computer programs to business processes.
Use case diagram: shows the functionality provided by a system in terms of
actors, their goals represented as use cases, and any dependencies among
those use cases.
Since behavior diagrams illustrate the behaviour of a system, they are used
extensively to describe the functionality of software systems.
CLASS DIAGRAM
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
Contents:
Class diagrams commonly contain the following things
Classes
Interfaces
Collaborations
Dependency,generation and association relationships
c u s to m e r
c u s t u m e r n a m e : s t rin g shop keeper
c u s t o m e r id : in t
c u s t o m e r a d d re s s : s t rin g & in t e g e r n a m e : s t rin g m anager
c u s t o m e r p h o n e n u m b e r : in t e m p n o : in t
m a n a g e r n a m e : s t ri n g
c u s t o m e r e m a il id a d d re s s : s t rin g
m a n a g e r id : in t
p h o n e n u m b e r : in t
m anager phone num ber
b u y () e m a il id
m a n a g e r e m a il id
s e ll()
g e n e ra t e c u s t id ()
m a n a g e t h e p ro d u c t ()
m a i n t a in li s t o f i t e m ()
m a n a g e s t o c k lis t ()
k e e p re c o rd o f c u s t o m e r()
m o n it o r s e rve r()
c re d it c a rd a g e n t
n a m e : s t rin g
a d d re s s : s t rin g s y s t e m a d m in i s t ra t o r
p h o n e n u m b e r : in t
e m a il id nam e
Use case diagrams are used to gather the requirements of a system including
internal and external influences. These requirements are mostly design
requirements. So when a system is analyzed to gather its functionalities use
cases are prepared and actors are identified.
Now when the initial task is complete use case diagrams are modelled to
present the outside view.
So in brief, the purposes of use case diagrams can be as follows:
g e n e ra t e b ill
p la c e a n o rd e r
r e je c t io n o f o r d e r
c u s to m er s hopkeeper
fe e d b a c k s u b m it t e d
validation
system administrator
maintain server
updates
shopkeeper manager
<<include>>
<<include>>
INTERACTION DIAGRAM
Fig:Sequence Diagram
login
ac c es s inform at ion
s elec t an item
place an order
shipment request
customer:
credit card system
agent: administrator
enters card info
verifies card
shopkee
per:
1 : lo g in
2 : a c c e s s i n fo r m a t i o n shopkee
3 : s e le c t a n it e m 6 : r e q u e s t fo r s h i p m epnet r :
c u s t o5m: e n t e r s c r e d i t c a r d i n fo r m a t i o n
r:
s y s te m 7 : s h ip p in g a n d b ill in g
4 : c o n fi r m a t i o na dr emq iun ei ss t tr a t o r :
8 : m a il t h e ite m
9 : u p d a t i o n o f s t o c k i n fo r m a t
m anager
:
2: verifies card
system
administrator
Fork
A fork represents the splitting of a single flow of control into two or more
concurrent
Flow of control.
A fork may have one incoming transition and two or more outgoing
transitions, each of which represents an independent flow of control.
Below fork the activities associated with each of these path continues in
parallel.
Join
A join represents the synchronization of two or more concurrent flows of
control.
A join may have two or more incoming transition and one outgoing
transition.
Above the join the activities associated with each of these paths continues in
parallel.
Swimlane:
Swimlanes are useful when we model workflows of business processes to
partition the activity states on an activity diagram into groups.
billing
mail the item
payment
enter:credit
card info
verify
no
yes
rejected
accepted
A state chart diagrams a state machine, emphasizing the flow of control from state to
state.
Contents
State chart diagrams commonly contain
Simply state and composite states
Transitions, including events and actions
Common use
They are use to model the dynamic aspects of a system.
Event ordered behavior of any kind of objects, to model reactive objects.
active
idle verifiying
info
user input
processing
end task
o n li n e
s h o p p in g .e x e
d a ta b a s e
o n li n e o n lin e o n li n e
s h o p p in g . j a va s h o p p in g .d o c s h o p p in g .h t m l
N e w S u b p ro g S p e c 3
N e w S u b p ro g S p e c 4
online
s ho...
online online
s ho... s ho...