Upload
gatha
View
217
Download
0
Tags:
Embed Size (px)
DESCRIPTION
its a report on e- provising
Citation preview
E-Provision
1
PART 1
INTRODUCTION
E-Provision
2
1.1 Objective
Objective behind this project is, to purchase items online from provision stores available
in the malls that manages and co-ordinate all the process of purchasing products very easily.
Provide best service to customer.
1.2 Purpose
1.2.1 Problem:
Online shopping is the buzz, the sensation in the current scenario. Getting anything by a
click of the mouse right from fashion accessories to jewelry, apparel, electronic items,
crockery, home appliances like LCD and washing machines, personal care products, and
more has led to the popularity of the 'online shopping mall' phenomenon. It is the easiest
and fastest way of shopping. At an online shopping mall, you can catch a glimpse of new
product releases, combo deals, packages, discount offers, seasonal products, etc. and
accordingly grab the best deal.
But still in country like India people are afraid of buying products online on the Internet
as they dont trust to give their credit card number over the web. Besides shopping items
such as electronics and jewelry people do not trust on shopping online for products such
as grocery/provision products. For this the people want to first check the grocery items
such as wheat, grains, rice, and much more products that are available in a provision store
and then only they purchase that products. Also in country like India there are very few
websites available for shopping these grocery products online. Different Malls available
in the city are also not providing any details on grocery products. The well educated
people in the country are now tending to move towards online shopping for various
grocery products in an provision store. As in cities like Chennai, Mumbai the
hardworking people dont have much time to go to a mall for shopping so they prefer to
purchase the grocery products online as they are very well familiar with the branded
products.
E-Provision
3
1.2.2 Solution:
As per the growing needs of the customers there is a need in the market to provide the
society a good and efficient website for people to fulfill their wishes and provide them the
grocery products at a best value as per the customers own choice in different malls
available in their cities. This will consume less time for the customers as well as their
own benefit according to the discounts available in the malls for a particular product.
Time is not the constraint; you can shop anytime - the facility is available round the
clock. Besides saving your time of visiting an offline store and staying away from the
hassles involved, you can gain an additional advantage, i.e., saving a lot on the money
factor.
Another plus point of online provision store is that you can compare products in terms of
brands, specifications, features and prices and buy the right in a particular mall as per the
customers satisfaction. It is discount shopping that attracts customers to shop online.
There are a number of shopping platforms. Focus on one particular portal that provides
complete products and offers the best deals. Get yourself registered to avail various
benefits. For example, you can feed in your contact details so that you need not enter the
same every time you shop. Also customers are free to check the details of various malls
as per their area, membership, and choice. The customer will be able to make choice of
his/her products in the malls as per their requirement. There are counted few platforms
that facilitate group bargaining, helping buyers collectively avail maximum discounts in
addition to enjoying voice video text chat, meeting new shoppers , winning prizes, and
more.
The scope of discount shopping is not only limited to one particular section. You can use
your credit card or debit card to buy the desired products. Most online platforms provide
payment facilities in all available modes right from Internet banking, paying by cash,
paying cash at the time of delivery, etc.
At a shopping mall, you can explore similar products representing some of the biggest
brands at the national and international level. If you are fortunate, you can avail discounts
over more than fifty per cent. You can always find something new and interesting. So
shop online and stay benefited!
E-Provision
4
1.3 Scope
The current system can be extended to allow the users to create accounts and save
products in to wish list.
The users could subscribe for price alerts which would enable them to receive messages
when price for products fall below a particular level.
The current system is confined only to the shopping cart process. It can be extended to
have a easy to use check out process.
Users can have multiple shipping and billing information saved. During checkout they
can use the drag and drop feature to select shipping and billing information.
1.4 Goals
Shopping has long been considered a recreational activity by many. Shopping online is
no exception. The goal of this application is to develop a web based interface for online
retailers. The system would be easy to use and hence make the shopping experience
pleasant for the users. The goal of this application is
To develop an easy to use web based interface where users can search for products, view
a complete description of the products and order the products.
A search engine that provides an easy and convenient way to search for products specific
to their needs. The search engine would list a set of products based on the search term and
the user can further filter the list based on various parameters.
Drag and Drop feature which would allow the users to add a product to or remove a
product from the shopping cart by dragging the product in to the shopping cart or out of
the shopping cart.
E-Provision
5
A user can view the complete specification of the product along with various images and also view the customer reviews of the product. They can also write their own
reviews.
1.5 Platform Specifications Deployment
1.5.1 Hardware Specification
Processor P IV
RAM 250 MB
Minimum Space Required 100 MB
Display 16 bit color
1.5.2 Software Specification
Operating Environment Win 2000/XP
Platform .Net Framework & IIS Visual Studio 2008
Database SQL Server 2005
E-Provision
6
PART 2
PROJECT PROFILE
E-Provision
7
2.1 Project Features
E-provision provides help and functionalities to users like:
Create or update a profile
Compare the products of same type
Update the information about the new products
Allow user to buy the product
Update the users profile automatically when user buy any product
2.2 Operating Environment
The project is based on .NET technology which uses IIS server. The only requirement to
access this website is the internet connection enabled.
2.3 Details of expected functionality
Functionality has been divided in to the following bullet points in shown tabs.
Profile:
o Register Profile
o Login with Profile
o Update Profile
o Delete profile
Product:
o Manufacturer
o Features
E-Provision
8
o Price
Payment:
o Credit card
o PayPal
Support:
o FAQs, Help, Contact, About, Feedback etc.
E-Provision
9
PART 3
PROJECT MANAGEMENT
E-Provision
10
3.1 Project Planning
Project planning is concerned with identifying and measuring activities, milestones and
Estimating some basic attributes of the project
Cost : how much will it cost to develop the project?
Duration : How long will it take to complete the development?
Efforts : How much efforts would be required?
The effectiveness of the subsequent planning activities is based on the accuracy of this
estimation.
Scheduling man power and other resources
Staff organization and staffing plan
Risk identification, analysis and abatement planning
Miscellaneous plans such as quality assurance plan, configuration management
Plan, etc.
Project management involves planning, monitoring and control of people, process and
the events that occurs as software evolves from a preliminary concept to an
operational implementation. Cost estimation is a related activity that is concerned
with estimating the resources to accomplish the project plan. Software project
management is an umbrella activity within software engineering. It begins any
technical activity is initiated and continues through out the definition, development
and support of computer software.
Project must be organized into effective teams, motivated to do high quality software
work and coordinated to achieve effective communication. The product requirement
must be communicated from customer to develop, partitioned into their constituted
parts and position for work by the software team. The process framework is selected
and appropriate software engineering paradigm is applied and set of work, task is
chosen to get the work done. The project must be organized in a manner that enables
the software team to succeed. A project management activity encompasses
measurement and matrix, estimation, risk analysis, schedules, tracking, and control.
E-Provision
11
3.2 Project development approach
Software process model is an abstract representation of a software process. Each process
model represents a process from a particular perspective so only provides partial
information about that process. These generic models are not definitive descriptions of
software processes. Rather, they are useful abstractions, which can be used to explain
different approaches to software developments. For many large systems, of course, there
is no single software process that is used. Different processes are used to develop
different parts of the system.
Development approach of any project depends on many factors. They are like resources,
clear-cut information available in the form of requirements, process maturity, tool
maturity, manpower with skills, time duration to develop, complexity and criticality of
the project.In this project, Spiral Model seems to be more suitable for development
approach.
Figure: 2.1 Spiral Model
E-Provision
12
Basically Spiral Model is split into four sectors or (quarters) as shown in figure.
The first quadrant identifies the objective of the phase and alternatives solutions
possible for the phase under consideration. In second phase, alternative solutions are
evaluated to select the best solution possible, and for the chosen solution, the potential
risks are identified and dealt with by developing an appropriate completion of a software
project. Activities during third quadrant consist of developing and verifying the next
level of the product. Activities during third quadrant consist of developing and verifying
the next level of the product. Activities during the fourth quadrant concerns reviewing
the results of the stages traversed so far with customer and planning the next iteration
around the spiral. With each iteration around the spiral (beginning at the center and
moving outwards), progressively a more complete version of the software gets built. And
all the risks are resolved and the software is ready for development.
As we have already mentioned that project is following the spiral approach to develop the
whole project and spiral model can be viewed as a Meta Model because it subsumes all
the models i.e. waterfall model, iterative model, prototype model, evolutionary model. So
at each stage of the project development life cycle it follows the model which is more
appropriate based on the condition met as well as it is also having pre-determined
potential risks which is generally resolved as the spiral move outwards from one stage of
development life cycle into next subsequent stage.
Advantages of the Spiral Model:
The spiral model is a realistic approach to the development of large-scale software
Products because the software evolves as the process progresses. In addition, the
Developer and the client better understand and react to risks at each evolutionary
Level.
The model uses prototyping as a risk reduction mechanism and allows the
Development of prototypes at any stage of the evolutionary development.
It maintains a systematic stepwise approach, like the classic life cycle model, but
Incorporates it into an iterative framework that more reflect the real world.
If employed correctly , this model should reduce risks before they become
Problematic, as considerations of technical risks are considered at all stages.
E-Provision
13
Phases of Development:
Analysis Phase:
The tendency of the targeted users and resource restriction probably the major
decisional factors in selecting analysis approach and development methodology. At
the very beginning i.e. first level of spiral, basic requirements related to the project is
clearly mentioned by the customer as well as easily understood by the Analyst. So
there is no way in the deficiency of the requirements and made it easy for the
developer to proceed there work in the development part. With the requirements
available potential risks for this phase are also identified so that it cannot make the
situation more worsen later on as well as feasible solution for the same are also
identified and chose the best possible option for implementing. Modules such as
admin, student, faculty, attendance, scheduler, FSC, etc. are properly analyzed one by
one.
Design Phase:
The ultimate goal of the design planning is the optimization of the system. Design
phase decides the relative structured arrangement of system entities in a way that
optimize the output, though the system is confined within the available resources and
boundaries. All the design parts such as Form Design, Database Design, overall
system architecture, and report layout design, actual report generation design come
under this phase and risks associated with it in the form of rejection of ideas or work
carried out are also resolved during this phase.
Implementation Phase:
Implementation phase includes development of UI components, creating prototypes of
each module involved with the proper functioning of all the stated tasks in the design
phase as well as actual database design with entry of records are also carried out to
check whether any inconsistency or redundancy occurred in the database or fulfilled
all the constraints mentioned in the design phase.
E-Provision
14
Testing Phase:
The testing phase ensures whether the produced system meets the specification
decided in analysis phase. The uncertainty is removed in the testing. The methods of
testing are explained in testing phase. This phase mainly deals with checking the
standards of the system whether they fulfill or not.
3.3 Project schedule
Scheduling the project is an important activity. It involves deciding which tasks
would be taken up when .Project Manager of project has done these following tasks.
Break down large tasks into small activities.
Weeks Starting Date Ending Date Work Done
1st week 12
th August 14
th August Defining project
2nd
week 15th September 19th
September Planning on project
3rd week 20th October 25th October Designing model
4th week 2nd November 7th November DFD, Class Diagram
5th week 10th November 15th November Database Design
Table 3.1
E-Provision
15
3.4 Roles and responsibilities
Analysis Ravi, Harshil, Harsh
Design Ravi, Harshil, Harsh
Flow Diagrams Harshil, Harsh
Database Creation Ravi, Harshil
Testing Ravi, Harsh
Documentation Ravi, Harshil, Harsh
Table 3.2
3.5 Risk management
Risk Analysis and management are a series of steps that helps a software team to
understand and manage uncertainty. Many problems can plague a software project. A
risk is a potential problem it might happen, it might not but, regardless of the
outcome, its really good idea to identify it, assess its probability of occurrence,
estimate its impact, and establish a contingency plan should the problem occur.
Software is difficult undertaking. Lots of thing can go wrong, may often do. Its for
this reason that being prepared-understanding the risks and talking pro active
measures to avoid or manage them-is a key element of good software project
management. Different steps in risk analysis and management are Risk Identification,
Risk Analysis and Risk Planning & Management.
3.5.1 Risk Identification
Risk identification is the first stage of Risk Management. It is concern with
discovering possible risks to the project. In principle, this should not be assessed or
prioritized at this stage, although in practice risks with very minor consequences or
very low probability risk are not usually considered.
E-Provision
16
Dependencies:
Availability of trained, experienced people
Intercommoning or Inter group dependencies
Customer furnished items or information
Requirement Issue:
Lack of clear product vision
Lack of agreement on product requirement
Technical staff conflict
Un prioritized requirements
New market with uncertain needs
Rapidly changing requirements
Management Issues:
Inadequate planning and task identification
Inadequate visibility into actual project status
Unclear project owner ship and decision making
Unrealistic commitment made, some times for the wrong reasons.
Managers or customers with unrealistic expectation
Staff Personality conflicts
Poor communication
General Risks:
The general risks that can be affect the development of software as follows:
1. Lack of resources:
The resources which are needed for the development of this project are not available
during project. We need at least one computer per member in the company with all
the software required software installed in order to develop the project as well as for
evaluation purpose.
E-Provision
17
2. Time Duration:
We are creating this software module for real time project of company so it takes time
to implement correctly and completely.
3. Customer Requirement :
Customer may have such requirement during project development that will cause
change of the whole design. So we might not implement the project according the
schedule.
3.5.2 Risk Management and Planning
During the risk analysis process, each identified risk is contained in turn and a
judgment made about the probability and seriousness of the risk. Once the risks have
been analyzed and ranked, a judgment must then make about which are the most
important risks, which must be considered during the project.
Risk planning process considers each of the key risks, which have been identified and
identified strategies to manage the risk. Again there is no simple process that can be
followed to establish risk management plans. It relies on the judgment and experience
of the project manager.
Risk Portability Effect
Resources unavailability Low Serious
Domain misunderstanding Moderate Catastrophic
Interface with other software Moderate Serious
Change of Customer requirement Moderate Serious
Unknown dependency of system Low Tolerable
Lack of direct contact with user Low Tolerable
Gap due to communication Low Tolerable
E-Provision
18
Schedule break up Low Tolerable
Compatibility High Serious
Table 3.3 Risk Factors
Risk Planning
Resources unavailability Prior analysis of resource required
Domain misunderstanding Study of existing and root application
Interface with other software Demonstration required
Change of customer requirement Periodic online meeting and support help
Unknown dependency of system External scope and future planning
Lack of direct contact with user Online meeting and e-communication
Gap due to communication Progress and problem report etiquette
Schedule Break up Preplanned schedule with recovery & review
Compatibility in wide range Maturity in development process
Table 3.4 Potential Risk and Planning
E-Provision
19
Disaster / Recovery Planning
It is a means of addressing the concern for system availability by identifying potential
exposure (burns out, disgruntled employee inflicts serious damage), prioritizing
application and designing safeguards the minimize loss if a disaster occurs. And in this
circumstances business survive because disaster/recovery plan allows quick recovery.
Alternatives
Fortress approach (Entire facility one location)
Cold backup service (Lease terms on a site with no computer but with adequate electric
power, air conditioning, and telecommunication to support a computer facility.
Mutual backup (two companies from different industries but similar system agree to backup
up each other)
Private warm backup site
3.6 Effort Estimation
The estimation of various project parameters is a basic project planning activity. The
important project parameters that are estimated include: project size, effort required to
develop the software, project duration and cos. The estimates not only help in quoting the
project cost to the customer, but also prove in resource planning and scheduling.
There are three board categories of estimation techniques:
Empirical estimation techniques
Heuristic techniques
Analytical estimation techniques
COCOMO(Construcive Cost estimation Model) Heuristic techniques
It can be classified into three categories
Organic
Semidetached
Embedded
E-Provision
20
Using Semidetached Intermediate COCOMO Model
Software project estimation in todays era may result in companies profit and loss, thus a
small error in estimating have very large impact on project and company itself. But then
too its also true that estimation can never be exact particularly in software we have many
variables human, technical, environmental, political etc.
The cost estimation model is concerned with the representation of the process to be
estimated. Before project cost estimation project scope, modules and delay estimation
must be done. Here we have user COCOMO Cost Constructive Model for the
estimation of the project cost. COCOMO is the hierarchy of cost estimation models those
ranges from very large complex project to in house development by inexperienced
developers. Among the range of the COCOMO models we have used the semidetached
intermediate model of it.
Reasons of selecting semidetached Intermediate model:
It provides the flexibility in estimation according to the problem on hand.
It considers all around cost drivers that affect the project cost.
The development team in case of out project includes mixture of experienced and less
experienced team members.
It is not only assumes factors such as effort and development time to find product size but
also consider other factors taken into account using a set of 15 cost driver(multiplier)
based on various attributes of software development.
The cost drivers are classified into following items:
Product
Computer
Personnel
Development environment
E-Provision
21
The Intermediate COCOMO models with their co-efficient are given below
Project Effort T Dev
Organic 2.4 (KLOC) 1.05
2.5 (Effort) 0.38
Semidetached 3.0 (KLOC) 1.12
3.0 (Effort) 0.35
Embedded 3.6 (KLOC) 1.20
3.0 (Effort) 0.32
The Equations for the Intermediate model of the COCOMO is given below
Efforts = 2.4(KLOC) * Total effort multiplier
T DEV (Time for Development) = 2.5(Efforts) * Total effort multipliers
E-Provision
22
PART 4
System Requirement Analysis
E-Provision
23
4.1 Information Gathering
As the goal of the application is ease of use and to provide an interactive
interface, extensive research has been done to gain an insight into the needs and
behaviors of various users. The working of the application is made convenient and easy
to use for the end user.
Users can be classified into two types based on their knowledge of the products
that suit their needs. They can be classified as users who know about the product that
would satisfy their needs and users who have to figure out the product that would satisfy
their needs. Users who know about the product should be able to find the product easily
with the click of a button. Such users can search for the product by using the product
name as the search term. Users who have to figure out the product that would satisfy their
needs could use a search term to find a list of products and then should be able to filter
the results based on various parameters like product type, manufacturer, price range,
platform supported etc.
The users should be able to view the complete specification of the product and
various images at different Zoom levels. The user should be able to read the customer
reviews for the product and the ratings provided. They should be able to write their own
reviews. They should be able to print out the specifications for a product or email the
product page to a friends etc.
To increase the ease of use the user should be able to add a product to the
shopping cart by dragging a product and dropping it in the shopping cart. A user should
able to edit the contents of a shopping cart. They should be able to update the quantities
of the products added to the cart and remove the products from the cart. The user should
be able to remove the product from the shopping cart by dragging the product and
dropping it outside the cart.
The application can be made interactive by pop up messages when a product has
been dropped in to the shopping cart or out of the shopping cart. The user can be notified
if the cursor enters a drop area and the object that could be dropped.
E-Provision
24
4.2 System Feasibility
The system feasibility can be divided into the following sections:
4.2.1 Economic Feasibility
The project is economically feasible as the only cost involved is having a computer with
the minimum requirements mentioned earlier. For the users to access the application, the
only cost involved will be in getting access to the Internet.
4.2.2 Technical Feasibility
To deploy the application, the only technical aspects needed are mentioned below:
Operating Environment Win 2000/XP/Windows 7
Platform .Net Framework & IIS
Database SQL Server 2005
For Users:
Internet Browser
Internet Connection
4.2.3 Behavioral Feasibility
The application requires no special technical guidance and all the views available
in the application are self explanatory. The users are well guided with warning and failure
messages for all the actions taken.
E-Provision
25
4.3 Procedural/Modular Approach
Following are all the modules designed for the Online Provision System.
Shop Products Module
This module starts when the user visits the home page or when a user searches for
a product by entering a search term. This part of the application includes displaying all
the products that are available or the products that match the search term entered by the user.
The user can then filter these products based on various parameters like
manufacturer, product type, operating system supported or a price range. The user browse
through the products and each product would be displayed with an image and its features like
operating system supported, number of user licenses and if it is a full version or an upgrade
version. A user can add a product to the cart either by dragging the product and dropping it in
the cart or by clicking a button. The user would be able to see the shopping cart summary.
Product Description Module
This module starts when a user visits the product description page. A user can
view various images of the product of different sizes. The use can see an enlarged image in a
popup window. The user can view the complete specification of the product like its features,
operating system supported, system requirements etc. A user can also view the manufacturer
information and also information about rebates, exchange policies etc. A user can also view
the reviews of the product. A user can also write a review for the product.
Shopping Cart Module
This module starts when the user views the shopping cart. All the products that
have been added to the shopping cart by the user are listed along with their price and the
quantity. The total price of all the products added to cart is displayed. A user can edit the
quantity of each product or remove the product from the shopping cart. A user can remove
the product from the cart by clicking a button or by dragging the product and dropping it
outside the cart. The total price changes accordingly when a user edits the quantity of a
product or when a product is removed from the cart.
E-Provision
26
4.4 Performance Requirements:
Speed:
Any web-based application is by default concern with the speed at which user can
access the application. The connection line require for the efficient access of the
data through database is sufficient for the proposed application. Furthermore the
network resides beneath the communication path plays vital role in getting the higher
performance.
o Trades off between appearance and speed by precisely deciding to extend of the images
and background effects. It requires number of execution occurrence.
o The way of transferring the data from web form to another on or to the permanent data
storage.
Reusability:
The approach used for the development of this application is expected to incline
towards Object Oriented. The overall functionality of the system is divided into the
module in such a way the each individual module can be reused efficiently and
independently if developer wants. The performance requirement is not directly
concerns with this issue as such it seems and it is the development time issue but the
future modification and overall productivity of the developer is concerns, this will be
the case of consideration.
Maintainability:
Maintainability of the system is the ration of the productivity the rework done. At any
phase of the system either development or after the usage of the system, this ratio
should be maintained. However this is also a dependent feature of the system and is
concern with many other one.
Complexity:
The complexity of system should be minimum with the maximum performance. There
is always remains tradeoff between complexity and performance but the Extents
should be selected from the perspective of the user.
E-Provision
27
Consistency:
The Constance nature of the behavior of the system is requiring. User always tends to
see the consistency for the data end for the response to the particular event. User
should get the same response on same event in any phase and in any condition of the
system.
Validation sequence:
The validation check sequence should be optimized to minimize the execution time.
This will be the major issues when more then two conditions we have to check to
validate the input of the user, especially e.g. at login time.
Screen format:
All the major functionality will be included into the single screen-multiple interface.
Menus:
All the functionality will also be accessible by menus. It will be easy to access
through menu for non-technical person even.
Reports:
Reports of the all conversations access will be generated in the clear and concise
manner. The report will help to the management in monitoring the activities.
E-Provision
28
PART 5
SYSTEM DESIGN
E-Provision
29
5.1 Data Flow Diagram:
5.1.1. Level 0:
Figure 5.1
5.1.2. Level 1:
Figure 5.2
E-Provision
30
5.1.3.Level: 2.0:
Figure 5.3
E-Provision
31
5.1.4.Level: 2.1
Figure 5.4
E-Provision
32
5.2 Use Case Diagram:
5.2.1. Customer Module
Fig 5.5 Use case for CUSTOMER
E-Provision
33
5.2.2. Admin Module
Fig 5.6 Use case for ADMIN
E-Provision
34
5.3 Flowchart:
Fig 5.7 Flowchart
E-Provision
35
5.4 Class diagram:
Fig 5.8 Class Diagram
E-Provision
36
PART 6
IMPLEMENTATION
E-Provision
37
6.1 Data Dictionary
TABLE::- {Cart Item}
Field Name Type and Size Constraint Description
product_ID int(5) Not_Null Product Identification
product_name varchar(50) Not_Null Product Name
quantity int Not_Null product quantity
product_price double Not Null Product price
Total_cost double Not_Null Total cost
Primary Key::- product_id
TABLE::- {ProductType}
Field Name Type and Size Constraint Description
product_typeId int(5) Not_Null Identification of
Product Type
product_typeName varchar(20) Not_Null Name of Procut Type
Primary Key::- product_typeId
E-Provision
38
TABLE::- {Products}
Field Name Type and Size Constraint Description
product_id int(10) Not_Null Product Identification
product_name varchar(50) Not_Null Product Name
product_price double Not_Null Product Price
license_type varchar(10) Null Define Types of
License
number_users int(10) Not Null Number of Users
Primary Key::- product_id
Foreign Key::- manufacturer_id
TABLE::- {Shop Product}
Field Name Type and Size Constraint Description
product_id int(10) Not_Null Product in Cart
Number_of_product int Not_Null Number of
Product Buyer
Primary Key::- product_id
E-Provision
39
TABLE::- {Images}
Field Name Type and Size Constraint Description
image_id int(10) Not_Null Image Identification
product_id int(10) Not_Null Product Identity
image_path varchar(100) Not_Null Link to Image
enlarged_imagePath varchar(100) Not_Null Link to Big Image
Primary Key::- image_id
Foreign Key::- product_id
TABLE::- {Specification}
Field Name Type and Size Constraint Description
product_id int(10) Not_Null Product
Identification
Brand varchar(20) Not_Null Name of Brand
Model varchar(10) Not_Null Model Name/No.
Type varchar(10) Not_Null Type of Model
Version varchar(15) Not_Null Version of Model
Features Text Null Features of Product
Primary Key::- product_id
E-Provision
40
TABLE::- {Manufacturer}
Field Name Type and Size Constraint Description
manufacturer_id varchar(5) Not_Null Identity of
Manufacturer
manufacturer_name varchar(50) Not_Null Name of The
Manufacturer
manufacturer_website varchar(25) Not_Null Manufacturer
Website
support_phoneNumber int(15) Not_Null Manufacturer
Contact Number
support_website varchar(20) Not_Null Email Address of
manufaturer
Primary Key::- manufacturer_id
E-Provision
41
6.2 Database Design
The design of the database is similar to the analysis phase. The database has been
developed using SQL Server 2005.
Fig 6.1 Database Design
These are the main tables in the application and others are lookup and query tables.
Images
ImageID
ProductID
ImagePath
Enlarged_ImagePath
Manufacturer
ManufacturerID
Manufacturer_Name
Manufacturer_Website
Support_PhoneNumber
Support_Website
Product
Product_id
Product_name
Product_price
Product_TypeID
ManufacturerID
LicenseType
Number_Users
Product_Type
Product_TypeID
Product_Type_Name
Specifications
ProductID
Brand
Model
Type
Name
Version
System_Requirments
Features
Cart Item
Cart_ItemID
ProductID
ProductName
Price
Quantity
TotalCost
Shopping Cart
Cart_ItemID
Total_Items
Total_Cost
ShopProducts
Shop_ProductsID
ProductID
Number_of_Products
FK_Shopping Cart_Cart Item
FK_Cart Item_Product
FK_Specifications_Product
FK_Product_Product_Type
FK_Product_Manufacturer
FK_Images_Product
FK_ShopProducts_Product
E-Provision
42
6.3 Technical Discussions
The products can be filtered based on various parameters like Manufacturer, Product
Type, Operating System supported etc. Initially it was decided to have the various list
items predefined. But with time new manufacturers and product types could be added.
So the values for the list of manufacturers and product types are loaded dynamically
by retrieving from the database. Also it was decided initially to have a drop down list
for price range and the user could select a price range from the ranges available. But
this would limit the users ability to filter the products based on different price ranges.
Instead providing two text fields so that the user can enter their price range would
give them more flexibility.
A product could be added to a shopping cart by dragging it and dropping it in the cart
area. Items in the cart could be removed by clicking a button. To maintain symmetry
and ease of use products could be removed from the cart by dragging the product out
of the cart.
A product can be added to the cart by dragging it and dropping it in the cart. Initially
it was decided that when a product is dropped in the cart the cart summary label could
be updated on the client side without any call to the server and later the session
variables (Shopping cart) could be updated. This would result in loss of information
when the user loses internet connection. So when a product is dropped in the cart area
a web service is called and this service updates the session variables for the shopping
cart and the cart summary is recalculated and sent back to the client. This would
improve the reliability of the application.
E-Provision
43
PART 7
TESTING
E-Provision
44
7.1 Introduction
Software testing is an important technique for assessing the quality of a software
product. Software testing is the process of analyzing a software item to detect the
differences between existing and required conditions (that is, bugs) and to evaluate
the features of the software item. Software testing is an activity that should be done
throughout the whole development process.
Software testing is one of the verification and validation, or V&V, software
practices. Verification (the first V) is the process of evaluating a system or
component to determine whether the products of a given development phase satisfy
the conditions imposed at the start of that phase. Verification activities include testing
and reviews.
Validation is the process of evaluating a system or component during or at the end of
the development process to determine whether it satisfies specified requirements. At
the end of development validation (the second V) activities are used to evaluate
whether the features that have been built into the software satisfy the customer
requirements and are traceable to customer requirements. Through verification, we
make sure the product behaves the way we want it to. Through validation, we check
to make sure that somewhere in the process a mistake hasnt been made such that the
product build is not what the customer asked for; validation always involves
comparison against requirements.
7.2 Testing Strategies / Techniques
Black box testing should make use of randomly generated inputs (only a test range
should be specified by the tester), to eliminate any guess work by the tester as to the
methods of the function.
Data outside of the specified input range should be tested to check the robustness
of the program.
Boundary cases should be tested (top and bottom of specified range) to make sure the
highest and lowest allowable inputs produce proper output.
E-Provision
45
The number zero should be tested when numerical data is to be input.
Stress testing should be performed (try to overload the program with inputs to see
where it reaches its maximum capacity), especially with real time systems.
Crash testing should be performed to see what it takes to bring the system down.
Test monitoring tools should be used whenever possible to track which tests have
already been performed and the outputs of these tests to avoid repetition and to aid in
the software maintenance.
Other functional testing techniques include: transaction testing, syntax testing, domain
testing, logic testing, and state testing.
Finite state machine models can be used as a guide to design functional tests
7.3 Software Testing Techniques
BlackBox Technique
It takes an external perspective of the test object to derive test cases. These tests can
be functional or non-functional, though usually functional. The test designer selects
valid and invalid input and determines the correct output. There is no knowledge of
the test object's internal structure. Black Box Testing is testing without knowledge of
the internal workings of the item being tested. For example, when black box testing is
applied to software engineering, the tester would only know the "legal" inputs and
what the expected outputs should be, but not how the program actually arrives at
those outputs. It is because of this that black box testing can be considered testing
with respect to the specifications, no other knowledge of the program is necessary.
For this reason, the tester and the programmer can be independent of one another,
avoiding programmer bias toward his own work. Due to the nature of black box
testing, the test planning can begin as soon as the specifications are written. This
method of test design is applicable to all levels of software testing: Unit, integration,
Functional Testing, System and Acceptance.
E-Provision
46
White Box Technique
The opposite of black box testing would be glass box testing, where test data are
derived from direct examination of the code to be tested. For glass box testing, the
test cases cannot be determined until the code has actually been written. Both of these
testing techniques have advantages and disadvantages, but when combined, they help
to ensure thorough testing of the product. Software testing approaches that examine
the program structure and derive test data from the program logic. Structural testing is
sometimes referred to as clear-box testing since white boxes are considered opaque
and do not really permit visibility into the code.
Unit Testing
Unit testing is the process of test verification on the smallest unit of software design-
software module. It is used to uncover errors within the boundary of the module.
Integrating Techniques
The Integration Testing is associated with Unit testing. Here the modules of unit
testing are put together and checked weather they work properly, when they are
integrated, or not. It contains different strategies for same. They are as follows. We
performed integrating Testing by merging all the Modules and Testing as whole
Application. We used one Test Case for flow of whole Application, and remove the
Errors.
Validation Testing
In integration testing, the software is assembled as a package. Validation Testing is
completely associated with requirement satisfaction of customers. This testing checks
weather all functional requirements of customer are satisfied or not. According to this
test, the project is tested and found to be satisfactory for functional characteristics,
behavioral characteristics and performance requirement. It is also found to have good
documentation up to the last stage. So, the performance characteristics conform to
specification and are accepted.
E-Provision
47
CHAPTER 8
TECHNOLOGY DESCRIPTION
E-Provision
48
8.1 .NET Framework
The .NET Framework is Microsoft's platform for building applications that have
visually stunning user experiences, seamless and secure communication, and the
ability to model a range of business processes. The .Net Framework consists of:
Common Language Runtime provides an abstraction layer over the operating
system
Base Class Libraries pre-built code for common low-level programming tasks
Development frameworks and technologies reusable, customizable solutions for
larger programming tasks
The .NET Framework allows you to:
Apply common skills across a variety of devices, application types, and programming
tasks
Integrate with other tools and technologies to build the right solution with less work
Build compelling applications faster
E-Provision
49
8.2 Server
In the client/server programming model, a server is a program that awaits and fulfils
requests from client programs in the same or other computers. A given application in
a computer may function as a client with requests for services from other programs
and also as a server of requests from other programs. Specific to the Web, a web
server is the computer program (housed in a computer) that serves requested HTML
pages or files. A Web client is the requesting program associated with the user. The
Web browser in your computer is a client that requests HTML files from Web servers.
IIS SERVER:
IIS (Internet Information Server) is a group of Internet server (including a Web or
Hypertext Transfer Protocol server and a FTP server) with additional capabilities for
Microsoft's Windows NT and Windows 2000 Server operating systems. IIS is
Microsoft's entry to compete in the Internet server market that is also addressed by
Apache, Sun Microsystems, O'Reilly, and others. With IIS, Microsoft includes a set of
programs for building and administering Web sites, a search engine, and support for
writing Web-based applications that access database. Microsoft points out that IIS is
tightly integrated with the Windows NT and 2000 Servers in a number of ways,
resulting in faster Web page serving.
8.3 My SQL Database
MySQL is an open source relational database management system. Information in a
MySQL database is stored in the form of related tables. MySQL databases are
typically used for web application development (often accessed using PHP).A
MySQL database can be accessed (queried) directly using; C, C++, Eiffel, Java, Perl,
PHP and Python computer languages. There is also third party support for connection
in a Windows environment. MySQL databases are queried using a subset of the
standard Structured Query Language (SQL) commands.
E-Provision
50
8.4 User Interface
8.4.1 HTML:
HTML is HyperText Mark-up Language. HyperText is the method by which you
move around on the web by clicking on special text called hyperlinks which bring you
to the next page. The fact that it is hyper just means it is not linear i.e. you can go to
any place on the Internet whenever you want by clicking on links -there is no set order
to do things in. Mark-up is what HTML tags do to the text inside them. They mark it
as a certain type of text.HTML is a Language, as it has code-words and syntax like
any other language.
8.4.2 CSS:
Short for Cascading Style Sheets, a new feature being added to HTML that gives both
web developers and users more control over how pages are displayed. With CSS,
designers and users can create style sheets that define how different elements, such as
headers and links, appear. These style sheets can then be applied to any Web page.
The term cascading derives from the fact that multiple style sheets can be applied to
the same Web page. CSS was developed by W3C.
8.4.3 JAVASCRIPT:
A scripting language developed by Netscape to enable Web authors to design
interactive sites. Although it shares many of the features and structures of the full Java
language, it was developed independently.
JavaScript can interact with HTML source code, enabling Web authors to spice up
their sites with dynamic content. JavaScript is endorsed by a number of software
companies and is an open language that anyone can use without purchasing a license.
It is supported by recent browsers from Netscape and Microsoft, though Internet
Explorer supports only a subset, which Microsoft calls Jscript.
E-Provision
51
PART 9
CONCLUSION
E-Provision
52
The Online Provision is designed to provide a web based application that would make
searching, viewing and selection of a product easier. The search engine provides an easy
and convenient way to search for products where a user can Search for a product
interactively and the search engine would refine the products available based on the
users input. The user can then view the complete specification of each product. They can
also view the product reviews and also write their own reviews.
9.1 Benefits
Simple and User-friendly design
User needs no plug-in or special browser
No software to install on staff or user computers
Point and click administration
Complete web based solutions
The system is confined within the companys product, so it is secure in case of any
conversations.
Each activity of user is stored in database of system in different tables as per defined
by Data Architect.
Information is always available on demand.
Facility for generating customized report is provided.
Different users can created with different access level of system and also their
privileges can be changed through modification in database.
Give special discounts to Premier customers
E-Provision
53
9.2 Limitations
This application does not have a built in check out process.
Also users cannot save the shopping carts so that they can access later i.e. they cannot
create wish lists which they can access later.
This application does not have features by which user can set price ranges for
products and receive alerts once the price reaches the particular range.
9.3 Scope for Future Work
The following things can be done in future.
The current system can be extended to allow the users to create accounts and
save products in to wish list.
The users could subscribe for price alerts which would enable them to receive
messages when price for products fall below a particular level.
The current system is confined only to the shopping cart process. It can be
extended to have an easy to use check out process.
Users can have multiple shipping and billing information saved.
E-Provision
54
PART 10
BIBLIOGRAPHY
E-Provision
55
Reference Sites:
1. http://www.smartdraw.com/
2. http://www.msdn.microsoft.com
3. www.dotnetnuke.com
4. http://www.asp.forums.net
5. Dino Esposito, (2005) Programming Microsoft ASP.Net Core
Reference, Publisher: Microsoft Press
6. Robin A. Reynolds-Haertle, (2002) OOP with Microsoft VB.NET and
C#.NET Step By Step, Publisher: Microsoft Press