55
E-Provision 1 PART 1 INTRODUCTION

E Provision Report

  • Upload
    gatha

  • View
    217

  • Download
    0

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