You are on page 1of 87

A PROJECT REPORT ON

ONLINE SHOPPING MART


Submitted in the partial fulfillment of the requirement for the
Award of degree of

BACHELOR OF COMPUTER
APPLICATION
Submitted By

Submitted to:

Neha sharma
Roll no. 9166034

Mr.VIVEKANAND PANDEY

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 0

Plot No. 8, Institutional Area, Knowledge Park - 1,


Greater Noida, Uttar Pradesh 201306

DECLARATION
I Neha sharma, hereby declare that the project work entitled ONLINE SHOPPING MART is
an authenticated work carried out by me at High Technologies Solutions Under the guidance of
Mr.VIVEKANAND PANDEY for the partial fulfillment of the award of the degree of
BACHELOR OF COMPUTER APPLICATION and this work has not been submitted for
similar purpose anywhere else except to HIMT , GREATER NOIDA, affiliated to CCS
UNIVERSITY, MEERUT.

Date:
Place:

Neha sharma

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 1

ACKNOWLEDGEMENT
It is high privilege for me to express my deep sense of gratitude to all those faculty members
who helped me in the completion of the project, especially my internal guide
Mr.VIVEKANAND PANDEY who was always there at hour of need.
My special thanks to Professor Mr. Narendra Uppadhaya (HOD) for helping me in the
completion of project work and its report submission.

(Neha Sharma)

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 2

TABLE OF CONTENTS
Introduction
Objectives
System Analysis
Identification of the need
Preliminary Investigation
Feasibility Study
Technical Feasibility
Economical Feasibility
Operational Feasibility
Software Engineering Paradigm applied
Software and Hardware Requirement Specification
System Design
Coding
Code efficiency
Optimization of code
Validation Checks
Testing (Testing Techniques & Testing strategies)
Implmentation
Evaluation
Maintenance
Security Measures taken
Cost Estimation of the Project
Reports
PERT Chart
Gantt Chart
Future Scope of the Project
Bibliography

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 3

INTRODUCTION
The Online Shopping Mart Web site is the application that provides customers with online
shopping. Through a Web browser, a customer can browse the catalog, place items to purchase
into a virtual shopping cart, create and sign in to a user account, and purchase the shopping cart
contents by placing an order with a credit card.
The Application is a working demonstration of how to use blueprints principles in a real
application design. This document is an online guide to the design and the implementation of
the application Enterprise Applications with web technology.
Each release of the application maintains consistent design features such as separating
logic and presentation, using web component for control and web pages for presentation, using
business components, and so on. high-level design features, this document goes deeper into the
implementation details of the current application release.
This document is provided as an online-only resource so that it may be continually
extended and updated. This document begins with a description of the separate applications
that the sample application comprises, describes the modular structure of the EMAT application,
and provides an in-depth description of several pieces of the modules.
Each ONLINE SHOPPING MART module has different requirements from the others. This
section describes the requirements, design, and implementation of each module.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 4

OBJECTIVES

This is a web-based Shopping site intended to provide automated solution for customers
as well as Employers on the basis of various categories of Products , Products are
available in different Cities of India and even abroad.

This Shopping site provides some innovative features


o providing platform to other consultant is highly commendable
o It is extremely User friendly

Even if job seeker does not have idea about resume making and other job criteria then he
or she can directly take suggestions from career counseling zone.

Consultants and Employers from different locations get registered and post the job
according to the requirement so that job seekers can look for it and apply for same if they
have desired profile.

Online Shopping Benefits & Solutions


o Get Right products in shortest time
o Paperless database hence paperless office
o Find Available products in shortest time

Provides Services to the Customers

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 5

PR O J E C T C AT E G O R Y
The software which is being developed comes under both OOPS and RDBMS category. The
proposed project based on C Sharp .NET as a front end and SQL Server as a back end. While
taking C#.Net it gives the strong support of Object Oriented Programming System technology.
On the other hand SQL Server gives the database consistency, reliability and strong RDBMS
supports.
Object Oriented Programming is a programming paradigm in its own right and on the other hand,
it is a set of software engineering tools which can be used to build more reliable and reusable
systems. At present, Object Oriented Programming is emerging from research laboratories and
invading the field of industrial applications.
Object Oriented Programming is at the core of C# .NET. In fact, all .NET programs are to at least
some extent object oriented. Object Oriented Programming is so integral to .NET that it is best to
understand its basic principles before we begin writing even simple .NET Program. Just about
everything we do in .NET involves objects in some way-even simple variables are base on the C
Sharp object class. And all our code hast to appear in a class of some sort, even if we are using a
module or structure, which are also types of classes now. All object oriented programming
languages provide mechanisms that help us to implement the object-oriented model. It consists
following supports:

Abstraction- The ability to create an abstract representation of a concept in code. The


technique of creating new data types that are well suited to an application to be
programmed is known as data abstraction. It provides ability to create user-defined data
types, for modeling a real world object, having the properties of built in data types and a
set of permitted operators.

Encapsulation- Encapsulation is all about the separation between implementation and


interface. In other words, when you encapsulate and object, you make its code and data
internal and no longer accessible to the outside except through a well-defined interface.
This is also called data hiding.

Polymorphism- This is all about creating procedure that can operate on object of
different types. C Sharp .NET handles polymorphism with both late binding and multiple
interfaces.

Inheritance- Inheritance allows us to derive new classes from other classes. The idea
here is that if we were to create, for example, a class for a specific c sharp form and then
derive a new type of form from that class, thee derived class will inherit all the base
classs functionality, even before we start adding code or customizing the new form.

SQL Server provides a suite of tools for managing all aspects of SQL Server development,
querying, tuning, and administration. While designing a database, the database administrator
creates database objects such as tables, columns, keys, indices, relationships, constraints, and

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 6

views. To help create these objects, the SQL Server Management Studio provides access to
visual database tools. These tools provide three mechanisms to aid in database design: the
Database Designer, the Table Designer, and the view designer
The integrated Query Editor provides a simple graphical user interface for running SQL queries
and viewing the results. The Query Editor also provides a graphical representation of show plan,
the steps chosen by the optimizer for query execution.
SQL Server supports the hosting of the .NET Common Language Runtime (CLR) inside the SQL
Server process to enable database programmers to write business logic as functions, stored
procedures, triggers, data types, and aggregates. The ability to run
Application code inside the database adds flexibility to the design of application architectures
that requires business logic to execute close to the data and cannot afford the cost of shipping
data to middle-tier process to perform computation outside the database. Application code is
deployed inside the database by using assemblies, which are the units of packaging, deployment,
and versioning of application code in .NET. Deployment of application code inside the database
provides uniform way to administer, Back up, and restore complete database applications.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 7

SYSTEM ANALYSIS

IDENTIFICATION OF NEED

Information is the basic ingredients of any organization. It is integral to all living organisms.
These statements indicate that information is essential to all human activity and in fact to the
very nature of being alive.
Since the commencement of modern era, especially after industrialization, the need for effective
and quick communications has always been realized. The dynamic growth of commerce and
industry began to place new and considerable pressures on the service industry. Despite rapid
advancement in the electronic communications and transport industries, the need to transport
parcels and documents within a short time become a pressing need.
At the heart of system analysis, I identified the need, in terms of a detail understanding of all
important facets of the business area under investigation. In order to fulfill the users
requirements, the companies have to do a lot of paper work. That leads to time consumption
issues particularly when the work load is heavy, which affects the productivity and efficiency of
the employees.
This project Online Shopping Mart has been developed keeping in mind the heights
Information Technology has reached and when everything is powered with computers does
make a great difference. This website contains information about discount offers run in their hot
city and the combination of offers which customer get more discount and achieve maximum
discount and customer also can compare available offers etc. as well as Adviser can post offer for
customer.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 8

PRELIMINARY INVESTIGATION
This is one of the crucial phases of the software development life cycle which is responsible for
reliable product delivery. For the sake of qualitative product delivery, which could meet the
requirements of the client, the preliminary investigation plays an important role because this is
the crucial part of analysis which defines the what actually the system does. In other words, it
specifies that what the system does. What are the features and functionality of the proposed
system? What are the present circumstances and the problem which is being faced by the
organization?
The preliminary investigation phase is the axle of the software development around which
reliable and customer satisfactory product development depends. As far as current project Online
Shopping Mart concerned it helps in faster retrieval of data in less time and least complexity.
After going through certain investigations, we got to know the problems faced by the current
system. In the context of manual existing system that it is quite difficult to take quick decision on
the basis of existing information. Although the information of the system is being maintained
manually but the information retrieval is slow. For example, whenever any customer needs to
know the current status of any promotional offer in different city, it takes time to know the result.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 9

FEASIBILITY STUDY
The word feasible means capable of being carried out successfully. An event is said to be feasible
if it is considered possible and practicable. The Feasibility Study is an investigation into how
possible a proposed scheme might be, and whether it is capable of being carried out successfully.
This is usually assessed on four standard criteria for feasibility but other considerations may be
relevant and necessary depending on the specific nature of the project and its environment. It
refers to the phase where the proposed system is tested whether it is really required in the present
working conditions or not. It is a very important step in system development as its result
determines whether the system has to be developed or not. The process followed in making this
is called feasibility study. When the developer is building any system, he/she should make sure
that the system he/she is going to build is feasible.
Since the feasibility study may lead to commitment of large resources, it becomes necessary that
it should be conducted competently and that no fundamental errors of judgment are made.
Preliminary investigation examines project feasibility; the likelihood the
system will be useful to the organization. Three important test of feasibility
are described below:

Economical feasibility

Technical feasibility

Operational feasibility

Social feasibility

In feasibility study, we check the durability, reliability, operability, compatibility etc. of the
system. A feasibility study is a preliminary study undertaken to determine and document a
project's viability. The results of this study are used to make a decision whether to proceed with
the project, or table it. If it indeed leads to a project being approved, it will - before the real work
of the proposed project starts - be used to ascertain the likelihood of the project's success. It is an
analysis of possible alternative solutions to a problem and a recommendation on the best

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 10

alternative. It, for example, can decide whether an order processing be carried out by a new
system more efficiently than the previous one.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 11

PROJECT PLANNING

Project planning is very important in every aspect of development work. For successful
completion of the project, good managers carefully monitor developments at various phases.
Improper planning leads to failure of the project. Project planning can be viewed as the
following:
Within the organization, it is important to consider that how the project is to be implemented?
What are various constraints (time, cost, and staff?) What is market strategy?
Apart from these, it is also important to consider the customers response and their satisfaction.
For this purpose, a weekly or timely meeting with the customer with presentations on status
reports is supposed to be essential steps. Customer feedback is also taken and further
modifications and developments are done. Project milestones and deliverables are also presented
to the customer.
For the success of proposed project, essential and required steps have been taken. This can be
seen as follows:

Selection of a project:
While selecting the proposed project, projects aims and objectives is identified. To meet
the customer need we elaborated their requirements and specification. For this purpose,
analysis, design and implementation, their corresponding testing techniques and proper
documentation has been done.

Project milestones and deliverables:


For completing the project on time, it was always considered their project milestones. At
specific time, how many milestones has been achieved and for what deliverables it is
ready. It helped us to achieve the success one by one.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 12

Budget allocation:
In budget allocation, we consider that the, for the sake of completion of the project it
should not exceed the limits within control.

Project estimates:
In project estimation, we consider the cost, time, size of code, duration of the project. It
estimated the cost which was required to complete. The size of code is anticipated in the
right way because cost and duration depend on the line of codes.

Resource allocation:

For the sake of the development of the project, it is important to consider the resource.
Because, lack of resource, we cant imagine about the development of the product. The
proper hardware, software should be their. Previous relevant project information and
digital library plays an important role for proper estimation of product.

Risk management:

Any problem that occurs during customer specification, design, design, coding,
implementation and testing can be termed as a risk. If they are ignored, then they
propagate further down and it is termed ripple effect. Risk management deals with
avoidance and detection of risk at every phase of the software development cycle. During
the development of the project, it is considered that there should not be raised any risk.
For this purpose, proper exception handling has been done for every block of codes so
that any run time error does not occur.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 13

Scheduling techniques:
It is important to schedule the project development duration for the completion of product
on time. Because, the exceeding the development time duration lead the different
problem and customer dissatisfaction.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 14

SOFTWARE REQUIREMENT

1. Introduction
This section contains the software requirement specification; it is a description of the different
modules of the system that can be used in this project. Software Requirement Specification
document provides a complete detail required for designing and developing the system. It is the
description of system proposed which we get while preliminary investigation of the organization.
1.1 Purpose
The purpose of the project named Online Shopping Mart is to deal with the queries of user
for a company simultaneously running its Discount offers in different-different cities where the
users can see, buy and view the status online about what the offer available is....
Online Shopping Mart is being developed for the need of Users and Product selling company
running simultaneously. This is specially meant for their frontline user service information. This
is one of the best efforts by us to prove that how Internet can be helpful in entire service industry
where inquiries are always in queue. This system however is a snap shot of the whole scenario
for the booming Ecommerce industry.

2. Overall Description
The overall development summary and description of this project are as follows:
2.1 Development:

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 15

The environment for development, operation and maintenance can be categorized into
hardware requirement specification and software requirement specification. Each of these
requirements has been dealt with as given below:

The website is developed using Visual Studio .NET Version 3.5 as .NET Framework
2010 and SQL Server 2005 as a backend for the sake of database storage.

The minimum system specification in which the system is developed are as follows :

HARDWARE:
Processor
Memory
Network Adapter
Modem
Secondary Storage

Intel Pentium 2.4 GHZ


256 M.B., D.D.R. RAM
Ethernet Adapter
56kpbs Voice Fax Data
Samsung/Seagate Hard disk (40 G.B)

In fact, it is recommended hardware requirement for the sake of better development


environment.
Software Requirement:

Platform
Operating System
Framework
Front-End Tool
Scripting Language
Interface
Server
Back-End Tool
Technology

Windows
Windows XP
.Net FRAMEWORK 3.5
Visual Studio 2008
C#, HTML
HTML, Visual Studio
Internet Information Server
SQL Server 2005
ASP.NET

2.2 Operation:
To successfully install the proposed system named Online Shopping Mart the system must
meet the above system requirements.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 16

This project will provide the organization a new environment and changes which will energize
the employee and their concerned individual to get rid from the problem which was being faced
by them earlier. This would give the organization a new motivation to the employee that they are
getting new work environment which is similar to the real life top organization. They would have
the feeling of up-to-date work environment which plays an important role to utilize optimum
employees skills and their productivity.

2.3 Constraints
As we know that there is nothing in the world which can be said complete. In other words
everything has its own limitation. So far as this project is concerned it eliminates the manual
system which had a lot of paper work. So this project is not only time saving but also it is simple.
For example the searching for any booking information or modifying any office description has
become easier.

3. Specific Requirements
After going through the analysis report of the proposed project, we found that the main
requirement of the organization is that, they wanted to have a better organized system which is
easy to understand and easy to learn and they can feel the ease of working in spite of complex
and peak load of work environment.

3.1 External Interfaces


While designing the proposed project we have given the specific attention to the interface
because the website is being developed for the medium skilled people. Employee of the
DEPARTMENT OF COMPUTER SCIENCE & APPLICATION
Page 17

concerned organization is not any computer expert. So due to this reason the interface is easy to
understand and very simple. Its all design is also very simpler and attractive. So the people who
have very little knowledge of computers can also use this website, they will take very less time to
operate this.

3.2 Performance Requirements


The performance characteristic includes various factors which is responsible for efficient
performance of the project. The primary and secondary memory requirements which is
recommended for optimum performance is minimum 256 MB RAM and 20 GB hard disc and
Pentium 4 processor as well.

3.3 Performance Results:


The analysis and comparison of the different websites of its similar type, the proposed project is
efficient which provides an insight on the most effective Online Shopping Mart system in terms
of their user friendliness and utilization. This will increase the effective utilization of the
available resource and hence the work efficiency will improve.

It will also be helpful to new employee who has just joined the company because the design of
the website made the entire company information just a click away from the user. Over all this
must be helpful for optimize the performance.

SYSTEM DESIGN
DESIGN PATTERN

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 18

This software based on concept of the Model View Controller (MVC) design pattern. View
renders the data from the Model in response to the request made to the model by controlled
events
made
by
user
interaction.
Model View Controller is a design approach to separate the application object model from GUI,
originally invented around 80s. Then later on it has become a widely accepted common design
pattern. The main objective behind this pattern is to decouple the view of the data (presentation
layer) from the actual data processing so that the same model can be used for various views. This
is achieved by using three different types of objects that interact with each other in loosely
coupled manner with their discreet set of tasks.
These three objects are known as Model, View and Controller.
VIEW:
View is the graphical data presentation (outputting) irrespective of the real data processing. View
is the responsible for look and feel, some custom formatting, sorting etc. View is completely
isolated from actual complex data operations. For example, online product catalogue view is
completely separated from database connection, query, tables etc. It simply gets final row-data
from the model and puts some cosmetics and formatting before displaying it in browser.
View provides interface to interact with the system. The beauty of MVC approach is that it
supports any kind of view, which is challenging in todays distributed and multi-platform
environment.
A MVC model can have multiple views, which are controlled by controller. View interface can
be of WEB-FORMS, HTML, XML/XSLT, XTML, and WML or can be Windows forms etc.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 19

MODEL:
Model is responsible for actual data processing, like database connection, querying database,
implementing business rules etc. It feeds data to the view without worrying about the actual
formatting and look and feel. Data provided by Model is display-neutral so it can be interfaced
with as many views without code redundancy; this eases your code maintenance and reduces
bugs and allows code - reuse at good extent. Model responds to the request made by controllers
and notifies the registered views to update their display with new data.

CONTROLLER:
Controller is responsible for Notice of action. Controller responds to the mouse or keyboard
input to command model and view to change. Controllers are associated with views. User
interaction triggers the events to change the model, which in turn calls some methods of model to
update its state to notify other registered views to refresh their display.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 20

Benefits:
Following are the few of the benefits of MVC design pattern.

Since MVC handles the multiple views using the same enterprise model it is easier to
maintain, test and upgrade the multiple system.
It will be easier to add new clients just by adding their views and controllers.
Since the Model is completely decoupled from view it allows lot of flexibilities to design
and implement the model considering reusability and modularity. This model also can be
extended for further distributed application.
It is possible to have development process in parallel for model, view and controller.

SECURITY
This module controls security and integrity of database in each module with multilevel
password that can be assigned to authorized users by the super user.
ACCESS CONTROL (Who has the right to access the software)
AUTHORISATION (Defining rights of an user)
AUTHENTICATION (Checking who the user is)
DATA INTEGRITY (Protection of data from modification and deletion)
DATA SECURITY (Maintain confidentiality of data)
PASSWORD INTEGRITY (Encryption of passwords)

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 21

MODULARISATION DETAILS

Project Modules:
The proposed website will have its main page and will be mainly divided into partially
dependent and partially independent modules as Registration / Login maintenance
Admin
User
Salesman
User Login Succeed
Profile
Product Gallery
Cart Items
Sold Products
Admin Login Succeed
Add Item Type
Add Items
Add Item Details
Product Details
Add Salesman

Salesman Login Succeed


Customer Details

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 22

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 23

DATA STRUCTURE
The normalized form of the table with their structure is describe as under-

Login Table:

Product Details Table:

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 24

User Profile Table:

Salesman Table:

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 25

Cart Type Table:

Add To Cart Type Table:

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 26

DATA FLOW DIAGRAMS


Admin login

User Login

Admin

Online Shopping
Mart

Salesman login

User

Salesman

Context Level diagram

Note:
Represents External Entity

Represents the Process

Represents the flow of Control/Data


Represents Close Database

Represents Open Table

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 27

Admin Module
2
Admin

Create New account

2.2

Log In Process
For New User

Admin

Creating
account for
matched jobs

1
Product
detail

2.3
Add

2.1
Add Item

salesman
salesman
ssssssaaaSal
esman

1.1

Salesman
Massanger

Catego
ry
Awise
Search
product_D

2.2
Adding
Process

AddItem

etails

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 28

Employers Module DFD

USER

Create New account

Log In
Process For
User

1.2

Log In

Search And
Purchase Item

1.2
Get Access Of
Product info

User Table

Product Gallery

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 29

Product
Details

SCREENSHOTS :

For Login Page-:

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 30

For Admin Login

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 31

For Item Type

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 32

USER Sign Up:

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 33

User Profile:

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 34

CODING
The coding step of the development phase translates the software design into a programming
language that can be executed by a computer.

Login:
using
using
using
using
using
using
using
using
using
using
using

System;
System.Data;
System.Configuration;
System.Collections;
System.Web;
System.Web.Security;
System.Web.UI;
System.Web.UI.WebControls;
System.Web.UI.WebControls.WebParts;
System.Web.UI.HtmlControls;
System.Data.SqlClient;

public partial class UserLogin : System.Web.UI.Page


{
SqlConnection con = new
SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionSt
ring);
SqlDataAdapter da;
DataSet ds;
protected void Page_Load(object sender, EventArgs e)
{
TextBox1.Focus();
if (con.State == ConnectionState.Closed)
{
con.Open();
}
}
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text != "" && TextBox2.Text != "")
{
da = new SqlDataAdapter("select count(*) from tbl_login where
uname='" + TextBox1.Text + "' and password='" + TextBox2.Text + "' and
status='Activate' ", con);
DEPARTMENT OF COMPUTER SCIENCE & APPLICATION
Page 35

int n = Convert.ToInt32(da.SelectCommand.ExecuteScalar());
if (n == 1)
{
da = new SqlDataAdapter("select uid from tbl_login where
uname='" + TextBox1.Text + "' and password='" + TextBox2.Text + "' ", con);
ds = new DataSet();
da.Fill(ds, "tbl_login");
if (ds.Tables["tbl_login"].Rows.Count>0 && ds.Tables.Count>0)
{
Session.Add("uid", ds.Tables["tbl_login"].Rows[0][0].ToString());
Response.Redirect("~/UserInBox/CustomerProfile.aspx");
}
else
{
Label1.Text = "Invalid userid and password.";
}
}
else
{
Label1.Text = "Invalid userid and password.Its Deactivated by
Admin.Try Agian!.";
TextBox1.Text = "";
}
}
}
}

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 36

UserProfile:
using
using
using
using
using
using
using
using
using
using
using

System;
System.Data;
System.Configuration;
System.Collections;
System.Web;
System.Web.Security;
System.Web.UI;
System.Web.UI.WebControls;
System.Web.UI.WebControls.WebParts;
System.Web.UI.HtmlControls;
System.Data.SqlClient;

public partial class UserInBox_CustomerProfile : System.Web.UI.Page


{
SqlConnection con = new
SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionSt
ring);
SqlDataAdapter da;
DataSet ds;
protected void Page_Load(object sender, EventArgs e)
{
if (con.State == ConnectionState.Closed)
{
con.Open();
}
if (Page.IsPostBack != true)
{
if (Session.Count > 0)
{
GetArtistProfile(Convert.ToInt32(Session["uid"].ToString()));
}
else
{
Response.Redirect("~/Home.aspx");
}
}

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 37

}
private void GetArtistProfile(int uid)
{
da = new SqlDataAdapter("select
fname,lname,gender,email,city,state,country,mobileno from tbl_contact
where uid=" + uid + " ", con);
ds = new DataSet();
da.Fill(ds, "tbl_contact");
if (ds.Tables.Count > 0 && ds.Tables["tbl_contact"].Rows.Count > 0)
{
TextBox1.Text = ds.Tables["tbl_contact"].Rows[0][0].ToString();
TextBox2.Text = ds.Tables["tbl_contact"].Rows[0][1].ToString();
TextBox3.Text = ds.Tables["tbl_contact"].Rows[0][2].ToString();
TextBox4.Text = ds.Tables["tbl_contact"].Rows[0][3].ToString();
TextBox5.Text = ds.Tables["tbl_contact"].Rows[0][4].ToString();
TextBox6.Text = ds.Tables["tbl_contact"].Rows[0][5].ToString();
TextBox7.Text = ds.Tables["tbl_contact"].Rows[0][6].ToString();
TextBox8.Text = ds.Tables["tbl_contact"].Rows[0][7].ToString();
}
}
protected void Button1_Click(object sender, EventArgs e)
{
da = new SqlDataAdapter("update tbl_contact set fname='" +
TextBox1.Text + "',lname='" + TextBox2.Text + "',gender='" + TextBox3.Text
+ "',email='" + TextBox4.Text + "',city='" + TextBox5.Text + "',state='" +
TextBox6.Text + "',country='" + TextBox7.Text + "',mobileno='" +
TextBox8.Text + "' where uid=" + Convert.ToInt32(Session["uid"].ToString())
+ " ", con);
da.SelectCommand.ExecuteNonQuery();
GetArtistProfile(Convert.ToInt32(Session["uid"].ToString()));
}
}

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 38

AdminLogin:
using
using
using
using
using
using
using
using
using
using

System;
System.Data;
System.Configuration;
System.Collections;
System.Web;
System.Web.Security;
System.Web.UI;
System.Web.UI.WebControls;
System.Web.UI.WebControls.WebParts;
System.Web.UI.HtmlControls;

public partial class adminlogin : System.Web.UI.Page


{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text =="admin" && TextBox2.Text =="kaushal")
{
Response.Redirect("~/admin/welcome.aspx");
}
}
}

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 39

CODING EFFICIENCY
Efficiency means

How cryptic the coding is.

Avoiding dead-code

Remove unnecessary code and redundant processing

Spend time documenting

Spend adequate time analyzing business requirements, process flows,


data-structures and data-model

Quality assurance is key: plan and execute a good test plan and testing
methodology

A good way to see which code is more efficient is to compile is the code and generate the
assembler code.
See which one produces the most lines of code (LOC). The one with the least LOC is the one
that is more efficient and will most probably run faster. Counting the number of lines of code
tells you nothing. Many times the compiler will do optimizations that are intended to improve
performance (speed) at the expense of space.
How code efficiency is achieved in the project?
We have made use of general procedures which we have used across a number of forms.
The code written for the auto generation procedure is very efficient.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 40

OPTIMIZATION OF CODE
Code optimization involves the application of rules and algorithms to program code with the goal
of making it faster, smaller, more efficient, and so on. Often these types of optimizations conflict
with each other, for instance, faster code usually ends up larger, not smaller. There are two goals
for optimizing code:
1. Optimizing for time efficiency (runtime savings)
2. Optimizing for memory conservation
In some cases both optimizations go hand in hand, in other cases you trade in one for the other.
Using less memory means to transfer less memory which reduces the time needed for memory
transfers. But often memory is used to store pre calculated values to avoid the actual calculation
at runtime. In this case you trade space consumption for runtime efficiency.
Optimizing for time efficiency
Reducing the number of calculations
Using a different algorithm
Declaring things constant
Reducing frequency of function calls
Optimizing for memory conservation

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 41

Shared use of memory


Data structure
Data type size
How code optimization is achieved in the project?

We have made the use of the concept of global variable which we are declaring only once in
a single form and which can be used across the forms in the project. Hence less memory will
be used .This global variable is used to check the particular user who create , update , modify
data in any form. We have declared global variable Created_By, Created_Date, Updated_By
and Updated_Date only once in a form
DECLARE
BEGIN
:GLOBAL.CREATED_DATE:=TO_CHAR(SYSDATE,'DD-MON-YYYY');
:CREATED_BY:=:GLOBAL.CREATED_BY;
:CREATED_DATE:=TO_DATE(:GLOBAL.CREATED_DATE,'DD-MON-YYYY');
END;
:GLOBAL.UPDATED_DATE:=TO_CHAR(SYSDATE,'DD-MON-YYYY');
:UPDATED_BY:=:GLOBAL.UPDATED_BY;
:UPDATED_DATE:=TO_DATE(:GLOBAL.UPDATED_DATE,'DD-MON-YYYY');
END;

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 42

VERIFICATION & VALIDATION


Validation refers to the process of using software in a live environment using real data. The
process of validation refers to a set of activities that ensure that the software that has been built is
matching to customer requirement. Validation is successful when software functions in a manner
that can be reasonably expected by the customer.
Suitable validation checks have been put wherever need was felt so as to
avoid wrong data input. Coding has been done so as to avoid wrong entries
in the tables. For example Numeric character are not allowed in the
Subscribers name. Various modules have different process logic, which
involves sorting of data on different attributes and selection of required
attribute depending upon conditions have been decided. Most of these are
SQL queries.
Two types of V & V
Verification: This checks if we are building the product right (i.e. does it meet the requirements
specification?)
Validation: This determines if we are building the right product? (i.e. does the requirement
specification describe what the customer wants?)
The various kinds of validations performed in our system are as follows:
1) Date Validation: The validation on date data type has been specified to be of the format
DD/MM/YY. Any other format is unacceptable.
2) Amount Validation: There is a validation on amount that is entered in rupees in the following
format. 00,000,000.00 E.g. 15,65,789.00
DEPARTMENT OF COMPUTER SCIENCE & APPLICATION
Page 43

3) From Date to Date: The From Date always has to be less than the To Date, e.g. From 1
Nov, 2003 to 4 Nov, 2003 is correct and it cannot be other way round.
4) Number Field Validation: The field specified with Number as then their data-type will not
accept Character or any other data type.
5) User Authentication: When a user logs on to the system to access data from the database, the
password needs to be checked for user authentication.
6) Password change Validation: Only authorized users are allowed to change the password and
the process requires to ask the old password before changing it to the new one.
7) Mailing Labels Validation: Only those subscribers whose subscription is active in our
Database will have labels generated for them.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 44

TESTING (TESTING TECHNIQUES AND TESTING STRATEGIES)

All software intended for public consumption should receive some level of
testing. Without testing , you have no assurance that software will behave as
expected. The results in public environment can be truly embarrassing.
Testing is a critical element of software quality assurance and represents the
ultimate review of specification, designing, and coding. Testing is done
throughout the system development at various stages. If this is not done,
then the poorly tested system can fail after installation. Testing is a very
important part of SDLC and takes approximately 50%of the time.
The first step in testing is developing a test plan based on the product requirements. The test plan
is usually a formal document that ensures that the product meets the following standards:
Is thoroughly Tested- Untested code adds an unknown element to the product and
increases the risk of product failure
Meets product requirements- To meet customer needs, the product must provide the
features and behavior described in the product specification.
Does not contain defects- Features must work within established quality standards and
those standards should be clearly stated within the test plan.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 45

Testing Techniques
Black box Testing: aims to test a given programs behavior against its specification or
component without making any reference to the internal structures of the program or the
algorithms used. Therefore the source code is not needed, and so even purchased modules can be
tested. We study the system by examining its inputs and related outputs. The key is to devise
inputs that have a higher likelihood of causing outputs that reveal the presence of defects. We use
experience and knowledge of the domain to identify such test cases. Failing this a systematic
approach may be necessary. Equivalence partitioning is where the input to a program falls into a
number of classes. e.g. positive numbers vs. negative numbers. Programs normally behave the
same way for each member of a class. Partitions exist for both input and output. Partitions may
be discrete or overlap. Invalid data (i.e. outside the normal partitions) is one for which partitions
should be tested. Test cases are chosen to exercise each portion. Also test boundary cases
(atypical, extreme, zero) should be considered since these frequently show up defects. For
completeness, test all combinations of partitions. Black box testing is rarely exhaustive (because
one doesn't test every value in an equivalence partition) and sometimes fails to reveal corruption
defects caused by weird combination of inputs. Black box testing should not be used to try and
reveal corruption defects caused, Example, by assigning a pointer to point to an object of the
wrong type. Static inspection (or using a better programming language) is preferred.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 46

White box Testing: was used as an important primary testing approach. Code is tested using
code scripts, drivers, stubs, etc. which are employed to directly interface with it and drive
the code. The tester can analyze the code and use the knowledge about the structure of a
component to derive test data. This testing is based on the knowledge of structure of
component (e.g. by looking at source code). The advantage is that structure of code can be
used to find out how many test cases needed to be performed. Knowledge of the algorithm
(examination of the code) can be used to identify the equivalence partitions. Path testing is
where the tester aims to exercise every independent execution path through the component.
All conditional statements tested for both true and false cases. If a unit has n control
statements, there will be up to 2n possible paths through it. This demonstrates that it is much
easier to test small program units than large ones. Flow graphs are a pictorial representation
of the paths of control through a program (ignoring assignments, procedure calls and I/O
statements). We use a flow graph to design test cases that execute each path. Static tools may
be used to make this easier in programs that have a complex branching structure. Dynamic
program analyzers instrument a program with additional code. Typically this will count how
many times each statement is executed. At end, print out report showing which statements
have and have not been executed.
Possible methods:
Usual method is to ensure that every line of code is executed at least once.
Test capabilities rather than components (e.g. concentrate on tests for data loss over ones
for screen layout).
Test old in preference to new (users less effected by failure of new capabilities).

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 47

Test typical cases rather than boundary ones (ensure normal operation
works properly).
Debugging: Debugging is a cycle of detection, location, repair and test.
Debugging is a hypothesis testing process. When a bug is detected, the
tester must form a hypothesis about the cause and location of the bug.
Further examination of the execution of the program (possible including
many returns of it) will usually take place to confirm the hypothesis. If the
hypothesis is demonstrated to be incorrect, a new hypothesis must be
formed. Debugging tools that show the state of the program are useful for
this, but inserting print statements is often the only approach. Experienced
debuggers use their knowledge of common and/or obscure bugs to facilitate
the hypothesis testing process. After fixing a bug, the system must be reset
to ensure that the fix has worked and that no other bugs have been
introduced. In principle, all tests should be performed again but this is often
too expensive to do.
TEST PLANNING:
Testing needs to be planned to be cost and time effective. Planning is setting out standards for
tests. Test plans set the context in which individual engineers can place their own work.
Typical test plan contains:
Overview of Testing Process.
Recording procedures so that tests can be audited.
Hardware and Software Requirements.
DEPARTMENT OF COMPUTER SCIENCE & APPLICATION
Page 48

Constraints.

OVERVIEW OF TESTING STRATEGIES:


A strategy for software testing integrates test case design methods into a well-planned series of
steps that result in the successful construction of software. It provides a road map for the
software developer, the quality assurance organization and the customer- a road map that
describes the steps to be conducted as part of testing, when these steps are planned and then
undertaken, and how much effort, time and resources will be required. Therefore, any testing
strategy must incorporate test planning, test case design, test execution, and resultant data
collection and evaluation.
Large system are usually tested using a mixture of strategies. Different strategies may be needed
for different parts of the system or at a stage of the process.

Testing Strategies
Test Type
Unit Test
Integration Test
Interface Test

Description
Each independent piece of code works correctly.
All units work together without errors.
Usually done at integration stage when modules or sub-systems are
combined. Objective is to detect errors or invalid assumptions
about interfaces between modules. Reason these are not shown up
in unit testing is that test case may perpetuate same incorrect
assumption made by module designer. Particularly important when
OO development has been used.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 49

global variable) .One places data there and the other retrieves it.
architectures.

Regression Test

Newly Added features do not introduce errors to other features that are
already working.

Load

Test

(also

called Stress Test)

The product continues to work under extreme usage. Test system's


ability to cope with a specified load (e.g. transactions per second).
Plan tests to increase load incrementally. Go beyond design limit
until system fails (this test particularly important for distributed
systems).

Platform Test
Top Down Test

The product works on all the target hardware and software platforms.
This approach tests high levels of system before detailed components.
This is appropriate when developing the system top-down as it is
likely to show up structural design errors early. Validation (as
distinct from verification) can begin early. Its disadvantage is that
stubs needs to be generated (extra effort) and might be impractical
if component is complex (e.g. converting an array into a linked
list; unrealistic to generate random list; therefore end up
implementing unit anyway). Test output may be difficult to
observe (needs creation of artificial environment). This is not
appropriate for OO systems (except within a class).

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 50

Bottom Up Test

This is opposite of top-down testing. This testing test low-level unit


then works up hierarchy. Its advantages and disadvantages of
bottom-up mirror those of top-down. In this testing there is need to
write test drivers for each unit. These are as reusable as the unit
itself. Combining top-down development with bottom-up testing
means that all parts of system must be implemented before testing
can begin, therefore does not accord with incremental approach
discussed above.

Back To Back Test

Comparison of test results from different versions of the system (e.g.


comparing the prototype with previous version or different
configuration) . The process involves running the first system,
saving test case results. Then running the second system, also
saving its results. Finally comparing the results files. It is
important to note that no difference doesn't imply no bugs. Both
systems may have made the same mistake.

Testing Done in our System


The best testing is to test each subsystem separately as we have done in our project. It is best to
test a system during the implementation stage in form of small sub steps rather then large chunks.
We have tested each module separately i.e. have completed unit testing first and system testing
was done after combining /linking all different Modules with different menus and thorough
testing was done. Once each lowest level unit has been tested, units are combined with related

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 51

units and retested in combination. This proceeds hierarchically bottom-up until the entire system
is tested as a whole. Hence we have used the Top Up approach for testing our system.
Typical levels of testing in our system:
Unit -procedure, function, method
Module -package, abstract data type
Sub-system - collection of related modules, method-message paths
Acceptance Testing - whole system with real data(involve customer, user , etc)
Beta Testing is acceptance testing with a single client. It is conducted at the developers site by a
customer. The software is used in a natural setting with the developer looking over the
shoulder of the user and recording errors and usage problems. conducted in a controlled
environment. Usually comes in after the completion of basic design of the program. The project
guide who looks over the program or other knowledgeable officials may make suggestions and
give ideas to the designer for further improvement. They also report any minor or major
problems and help in locating them and may further suggest ideas to get rid of them. Naturally a
number of bugs are expected after the completion of a program and are most likely to be known
to the developers only after the alpha testing.
involves distributing the system to potential customers to use and provide feedback. It is
conducted at one or more customer sites by the end-user of the software. Unlike alpha testing,
the developer is generally not present. Therefore, the beta test is a live application of the
software in an environment that cannot be controlled by the developer. The customer records all
problems (real or imagined) that are encountered during beta testing and reports these to the
developer at regular intervals. As a result of problems reported during beta test, software

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 52

engineers make modifications and then prepare for release of the software product to the entire
customer base.
In, this project,. This exposes system to situations and errors that might not be anticipated by us.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 53

We performed the load testing on our application and the report


was as follows:-

Test type: Dynamic


Simultaneous client Connections 5
Test duration:
00:00:04:00
Test iterations:
30
Detailed test results generated:
Yes
Total number of client requests:
15
Total number of client connections 150
Average client requests per second: 0.675

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 54

Functionality Input
to be
tested
Testing Phase
Unit Testing

Output

Actual Result

TEST PLAN AND TEST REPORT OF OUR SYSTEM


Check whether all
Developer 6i validations
are
Forms performed properly
and
whether
appropriate
values
are added to the
database and whether
data is retrieved from
the database properly.
Testing of Screens to check all the necessary conditions are being fulfilled
Login Screen
Check whether the Login screen #User entered #User verified & #Invalid User.
enables only the valid user
who is
Disapprov
selected from the master
not in
ed.Invalid
database to login into our
the pre
User.
System.
define
Enter
# User verified &
d List.
again
Approved.
# User
selected from
the list

# User Verified &


Approved &
entry main menu
screen granted.

User Master, Subscription Type Master, Activity Source Master, Aspirant Master,
Subscription Source Master, Payment Mode Master, Bank Master

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 55

*Check whether the auto generation #Data


#UniqueID
process is working efficiently
Ent
generated
and generating unique Ids for
ere
automatica
each and every data being
d&
lly.
entered in the respective
Sav
forms.
ed.
* Check whether the data is being
retrieved from database upon querying
performed by the user.

# Execute
Query

* Check whether
new records are
getting entered into
the forms.

* Check whether the data being


entered in the forms is getting saved
into the respective tables.
* Check whether the querying process
can be performed on selected records
to obtain their details already existing
in the database.

#Type in
data which
does not
exist in the
database
and query.
# Select a
Particular
record and
click
Delete.

#UniqueID
generated
automatic
ally.

#All the Records


Displayed in the
screen.

#All the Records


Displayed in the
screen.

#Record saved in
the Database.
Transaction
Complete.

#Record saved in
the Database.
Transaction
Complete.

#No data
displayed.
Prompts data not
found.

#No data
displayed.
Prompts data not
found.

#The Respective
details are
displayed.

#The Respective
details are
displayed.

#Entire selected
Record gets
deleted.

#Entire selected
Record gets
deleted.

#The cursor
moves
accordingly.

#The cursor
moves
accordingly.

#Select
clear form.

* Check whether the records can be


deleted from the database via the
forms.

* Check whether all the navigational


triggers are working properly, e.g.
The cursor is able to move to the First

#Highlight
the text &
select the
Editor and
make
changes.
#Input data
not present
in the list.
# Input

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 56

, Last, Next , Previous Record at the


click of a button.

* Check whether the form can be


cleared in one shot.

data after
selecting
from the
list.

# Form cleared.

# Form cleared.

# Changes
accepted.

# Changes
accepted.

# Data
unacceptable.

# Data
unacceptable.

# Data accepted.

# Data accepted.
LOV trigger
works suitably.

# Form Exited.

# Form Exited.
Exit triggers
works well.

* Check whether the EDITOR is being


activated at the time of modification.

* Check whether the Listing of Values


(LOV) pops on request on the required
text field.

* Check the user is able to exit from


the form properly.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 57

Subscrption Entry Form

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 58

All the above conditions have been #All


checked for this too.

* Check whether our Post Query


concept works.

the #All
Requi
red
Inputs
entere
d.

# Click Save
after filling
up the
Subscription
Entry Form.
#Clear the
form and
Execute
query.

* Check the price amount should be


entered in the pre defined format.

*Check numeric data cannot be


entered into the character field and
vice versa

the #All
Correspon
ding
Outputs
generated.

# Data saved in
the database & a
unique ID
generated

# Prompts Start
Date> End
Date.So
unacceptable.
# Date accepted
properly.

# Enter the
Start Date >
End Date.

#The data is
changed
according to the
pre defined
format.
# Data mismatch
and prompts to
enter correct data.

# Data accepted.
*Check that the data entered does
not exceed the predefined length.

#Enter the
Start Date <
End Date.
# Unable to insert

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 59

the
Correspon
ding
Outputs
generated
and all the
respective
triggers
tested.

# Data saved in
the database & a
unique ID
generated.
# All the details
from the database
including the ones
stored via LOVs
are displayed in
the form.
Post Query
Trigger works
satisfactorily.

# Prompts Start
Date> End
Date.So
unacceptable.
# Date accepted
properly.
#The data is
changed according
to the pre defined
format and
displayed.

#Input the
data.
price amount
in any format.
# Data inserted
successfully.
*Check whether the data being
selected from the List of Values
(LOV) are having their Ids stored in
the database.

# Enter
Numeric data
into
Character
field & vice
versa.
# Enter data
longer the
acceptable
limit.
# Data
entered
within the
specified
limit.

# The unique Ids


of the respective
items selected
from the list are
being saved into
the database.

#Select
Expired
Subscribers
from the
Database.
#Select
Active
Subscribers
from the
Database.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 60

# Data accepted.

# Unable to insert
data.
# Data inserted
successfully.

Integration Testing
Check

whether all All


independent
modules work
properly after
integration.

the Absolute success Complete success in running the


Modu
in running
system. as a whole with a
les
the
few minor problems
after
system.
regarding
the
client
thorou
server connection which
gh
were resolved after some
indivi
trials on the spot.
dual
testin
g are
merge
d
togeth
er and
run in
the
FMX
(exec
utable
)
setup.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 61

EVALUATION
We have following approaches for the evaluation
1) Benchmarking- Comparing the performance of hardware and software.
2) Experience of other users- Vendors generally gives a list of users who are satisfied
with their work. But it is advisable to seek the opinion independently.
3) Report of independent research organizations- Many research organizations
undertake project of evaluating the proprietary software offered by various
software agencies. They publish the report at regular interval. The prospective
buyer of a software package can have faith in their evaluation.
In our case we have evaluated our System and found that the hardware and software are in
absolute sync with each other. Their performance has been found to be upto the mark. We also
compared our software with other Subscription systems on other platforms and found that we
were offering a much better system at a lesser price and on a more sophisticated and user friendly
technology. Plus we offered complete maintenance and support for a certain period of time.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 62

IMPLEMENTATION
Implementation includes all those activities that take place to convert from old system to the new
one. The new system may be completely new. Successful

Implementation may not guarantee

improvement in the organization using the new system, improper installation will prevent it.
Implementation uses the design document to produce code. Demonstration that the program
satisfies its specifications validates the code. Typically, sample runs of the program
demonstrating the behavior for expected data values and boundary values are required. Small
programs are written using the model:

It may take several iterations

of the model to produce a working program. As programs get more complicated, testing and
debugging alone may not be enough to produce reliable code. Instead, we have to write programs
in a manner that will help insure that errors are caught or avoided.
Top-down implementation:
Top down implementation begins with the user invoked module and works toward the modules
that do not call any other modules. The implementation may proceed depth-first or breadth-first.
Bottom- Up implementation:
Implementation begins with modules that do not call any other modules and work toward the
main program. Test harness are used to test individual modules. The main module constitutes the
final test harness.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 63

Stubs:
Stub programming is the implementation analogue of top-down and stepwise refinement. It
supports incremental program development by allowing for error and improvement. A stub
program is a stripped-down, skeleton version of a final program. It doesn't implement details
of the algorithm or fulfill all the job requirements. However, it does contain rough versions
of all subprograms and their parameter lists. Furthermore, it can be compiled and run.
Extensive use of procedures and parameter are the difference between stub programs and
prototypes. Quick and dirty prototypes should be improved and rewritten. A stub program
helps demonstrates that a program's structure is plausible. Its procedures and functions are
unsophisticated versions of their final forms, but they allow limited use of the entire
program. In particular, it may work for a limited data set. Often the high-level procedures
are ready to call lower-level code, even if the more detailed subprograms haven't even been
written.
Incremental program development:
As program becomes more complex, changes have a tendency to introduce unexpected effects.
Incremental programming tries to isolate the effects of changes. We add new features in
preference to adding new functions, and add new function rather than writing new programs.
The program implementation model becomes:
define types/compile/fix;
add load and dump functions/compile/test;
add first processing function/compile/test/fix;
add features/compile/test/fix;
DEPARTMENT OF COMPUTER SCIENCE & APPLICATION
Page 64

add second processing function/compile/test/fix;


keep adding features/and compiling/and testing/ and fixing.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 65

Our System was implemented at the client site in the following manner:
1) First of all we did a thorough system check on the clients machine in terms of hardware
and software to ensure that there was enough space to load and run our application with
ease.
2) Then we installed SQL Server (frontend) and Developer 6i (back end) on the server.
Since the software was present on other systems and running properly, there wasnt much
trouble in obtaining and installation.
3) Then came the process of Database Creation at the server site which involved the
generation This procedure is also known as Database
4) To establish contact with the server as per their requirement and each request should be
implemented . This task actually is fairly crucial depending on the number of users trying
to access the server at same time so a load test needs to be performed.
5) Finally came the job of training the users which meant that the clients were given instructions
regarding the working of the system which included teaching them the When the user was
fully trained, he or she was asked to run the system independently and enter different sorts of
data to test the system to its limits.
6) Our system not only met the user requirements but to certain extent exceeded in achieving
much more then what was actually needed.
Step in generating the executable form (FMX) of our system
1. First go to the folder where Developer 6i is installed (in our case Dev_6), further
go to the BIN folder, now select ifrun60 and create a short cut on desktop.
2. Right click on the newly created shortcut and choose properties option.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 66

3. When the properties option opens, set target path of the first .FMX file with Login
specifications.
E:\dev_6\Bin\ifvrun60.exe E:\smit\start.fmb ce\ce
4. This will create the executable format of our system clicking upon which the end
user will be able to gain entry.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 67

MAINTAINENCE

The maintenance starts after the final software product is delivered to the client. The
maintenance phase identifies and implements the change associated with the correction of
errors that may arise after the customer has started using the developed software. This also
maintains the change associated with changes in the software environment and customer
requirements. Once the system is a live one, Maintenance phase is important. Service after
sale is a must and users/ clients must be helped after the system is implemented. If he/she
faces any problem in using the system, one or two trained persons from developers side can
be deputed at the clients site, so as to avoid any problem and if any problem occurs
immediate solution may be provided.
The maintenance provided with our system after installation is as follows:
First of all there was a Classification of Maintenance Plan which meant that the people
involved in providing the after support were divided. The main responsibility was on the
shoulders of the Project Manager who would be informed in case any bug appeared in the
system or any other kind of problem rose causing a disturbance in functioning. The Project

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 68

leader in turn would approach us to solve the various problems at technical level. (Eg The
form isnt accepting data in a proper format or it is not saving data in the database.)

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 69

SECURITY FEATURES
Authentication is the process of identifying users. Authorization is the process of granting access
to users based on identity. Together, authentication and authorization provide the means to keep
your application secure from intruders.
The kind of security measures used in our System are as follows:
User Authentication
Only the Valid users, who are present in the pre defined list of Users stored in User
Master table are granted permissions to enter the System . Any user apart from Record of Users
are denied access.

User Authorization
A privilege is a right to execute a particular type of SQL statement or to access
another users object. Some examples of privileges include the right to
Connect to the database (create a session)
Create a table
Select rows from another users table
Execute another users stored procedure
Privileges are granted to users so that they can accomplish tasks required for their jobs. A
privilege should be granted only to a user who absolutely requires it to accomplish necessary
task. Excessive granting can compromise security.
A privilege can be granted in 2 ways:
a) Grant privileges to users explicitly.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 70

b) Grant privileges to a role (a named group of privileges), and then grant the role to one or
more users. Because roles allow for easier and better management of privileges, you should
normally grant privileges to roles and not to specific users.
There are two distinct categories of privileges:
System privileges
Schema object privileges
System Privileges
A system privilege is the right to perform a particular action, or to perform an action on
any schema objects of a particular type. For example, the privileges to create tablespaces and to
delete the rows of any table in a database are system privileges. There are over 60 distinct system
privileges. You can grant or revoke system privileges to users and roles. Only users who have
been granted a specific system privilege with the ADMIN OPTION or users with the system
privileges GRANT ANY PRIVILEGE or GRANT ANY OBJECT PRIVILEGE can grant or
revoke system privileges to other users. We grant system privileges only to administrative
personnel and application developers. End users normally do not require the associated
capabilities.
Schema Object Privileges
A schema object privilege is a privilege or right to perform a particular action on a
specific schema object:
Table
View
Sequence
Procedure

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 71

Function
Package
A user automatically has all object privileges for schema objects contained in his or
her schema. A user can grant any object privilege on any schema object he or she
owns to any other user or role.
Roles
Oracle provides for easy and controlled privilege management through roles. Roles are named
groups of related privileges that we grant to users or other roles. Roles are designed to ease the
administration of end-user system and schema object privileges. However, roles are not meant to
be used for application developers, because the privileges to access schema objects within stored
programmatic constructs need to be granted directly.
These following properties of roles enable easier privilege management within a database:
Reduced privilege administration
Rather than granting the same set of privileges explicitly to several users, you can grant
the privileges for a group of related users to a role, and then only the role needs to be granted to
each member of the group.
Dynamic privilege management
If the privileges of a group must change, only the privileges of the role need to be
modified. The security domains of all users granted the groups role automatically reflect the
changes made to the role.
Any user granted a can grant or revoke that role to or
from other users or roles of the database. This option allows administrative powers
for roles on a selective basis.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 72

CREATE ROLE ADMIN_CONTROL;


GRANT ADMIN_CONTROL TO ADMINISTRATOR;
Master User
The Master User has been given schema object privileges like select, insert, update , delete
operations to be performed on the master tables. No other user except the Masters can gain
access into the Master tables and perform manipulations.
We have given the Role to Master user using the following syntax:
CREATE ROLE MASTER_USER;
GRANT SELECT, INSERT , UPDATE , DELETE ON T_USER_MS TO MASTER_USER;
GRANT SELECT, INSERT , UPDATE , DELETE ON T_ASP_MS TO MASTER_USER;
GRANT SELECT, INSERT , UPDATE , DELETE ON T_SUB_MS TO MASTER_USER;
GRANT SELECT, INSERT , UPDATE , DELETE ON T_SUB_SOURCE_MS TO
MASTER_USER;
GRANT SELECT, INSERT , UPDATE , DELETE ON T_INST_TYPE_MS TO MASTER_USER;
GRANT SELECT, INSERT , UPDATE , DELETE ON T_BANK_MS TO MASTER_USER;
GRANT SELECT, INSERT , UPDATE , DELETE ON T_SOURCE_MS TO
MASTER_USER;
GRANT SELECT, INSERT , UPDATE , DELETE ON T_G_STATE_MS TO
MASTER_USER;
GRANT SELECT, INSERT , UPDATE , DELETE ON T_POD_MS TO MASTER_USER;
GRANT SELECT, INSERT , UPDATE , DELETE ON T_COMP_DS TO MASTER_USER;
GRANT SELECT, INSERT , UPDATE , DELETE ON T_MON_TRACK TO
MASTER_USER;
The Master_User Role has Select , Insert , Update , Delete Privileges on all the above mentioned
tables. This Role can now be granted to additional users .

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 73

Regular User
The Regular User has been given schema object privileges like select, insert, update , delete
operations to be performed on the selective tables like T_Subscription_Ms , T_POD_Ms ,
T_Comp_Ds. These users cannot gain access or perform any kind of manipulations on the
specific tables which have been assigned to the Master Users.
We have given the Role to Regular User using the following syntax :
CREATE ROLE REGULAR_USER;
GRANT SELECT, INSERT , UPDATE , DELETE ON T_COMP_DS TO REGULAR_USER;
The Regular_User Role can be granted to a number of users
GRANT REGULAR_USER TO userAGRANT REGULAR_USER TO userC;
Now users userA , userB , userC have a number privileges on above 3 tables.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 74

Table Level Security


Schema object privileges for tables allow table security at the level of Data Manipulation
Language and Data Definition Language operations.
Data Manipulation Language Operations

We can grant privileges to use the various DML statements like DELETE, INSERT,
SELECT, and UPDATE to perform operations on a table or view. We grant these privileges only
to users and roles that need to query or manipulate a tables data.
With selective INSERT, a privileged user can insert a row with values for the
selected columns. All other columns receive NULL or the columns default value.
With selective UPDATE, a user can update only specific column values of a row.
Selective INSERT and UPDATE privileges are used to restrict a users access to
sensitive data.
Data Definition Language Operations
In our system we have used DDL operations to maintain the table level security.
We have a system which keeps a track of each and every user gaining access into the system at any time to
perform any changes on the various tables. The listing of these users along with the access dates can be
seen by the administrator.
The concept used here is that we have maintained some columns hidden away from the user as they do not
appear on the forms. Using these columns we maintain trail of all the valid users along with their login dates
and time there by determining which end user has performed what sort of change on a table. Here we make
use of Global Variables which captures every user entering the system and browsing through it and making
changes.
Using the syntax:

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 75

:GLOBAL.CREATED_BY:=USERNAME;
:GLOBAL.UPDATED_BY:=USERNAME;
PRE-INSERT TRIGGER
:GLOBAL.CREATED_DATE:=TO_CHAR(SYSDATE,'DD-MON-YYYY');
:CREATED_BY:=:GLOBAL.CREATED_BY;
:CREATED_DATE:=TO_DATE(:GLOBAL.CREATED_DATE,'DD-MON-YYYY');
PRE-UPDATE TRIGGER
:GLOBAL.UPDATED_DATE:=TO_CHAR(SYSDATE,'DD-MON-YYYY');
:UPDATED_BY:=:GLOBAL.UPDATED_BY;
:UPDATED_DATE:=TO_DATE(:GLOBAL.UPDATED_DATE,'DD-MON-YYYY');

All the above security features have been successfully implemented in our system.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 76

COST ESTIMATION
The cost estimation depends upon the following:

Project complexity

Project size

Degree of structural uncertainty

Human, technical, environmental, political can affect the ultimate cost of software
and effort applied to develop it.

Delay estimation until late in the project.

Base estimates on similar projects that have already been completed.

Use relatively simple decomposition techniques to generate project cost and effort
estimates.

Use one or more empirical models for software cost and effort estimation.

Project complexity, project size and the degree of structural uncertainty all affect the reliability of
estimates. For complex, custom systems, a large cost estimation error can make the difference
between profit and loss. A model is based on experience and takes the form:
D = f(Vi)
Where d is one of a number of estimated values (e.g. effort, cost, project duration) and (V i) are
selected independent parameters (e.g. estimated LOC (Line of Code) or FP (Functional
parameters))

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 77

New Hardware & Software:


Intel Pentium IV Processor
Windows 2000 (Professional)
SQL Server (Single User with 15 Licenses)
Developer 6i (License for 15 Users)
DIFFERENT

PHASES

OF

PROPOSED

SOFTWARE

DEVELOPMENT

1. System Study
2. SRS (System Requirement Study) Documents and approval
3. Advance Amount (50% of development charges + full cost of the software)
4. Starting Of development (Interface Design and Approval)
5. Development
6. Presentation of New System
2nd partial development charges (Rest 50%).
7. User training.
8. Implementation.
9. Support.
10. Support for the futuristic changes.
Price Quotation

The process will start after the system study and with an advance amount of 50%
from the corporate as advance. The rest in at the time of implementation.

The project will approximately require 8 man months (8 person for 1 month) to be
completed.

The

development

cost

for

this

proposed

software

Rs 11,500 (per man month) * 8 (man months) = Rs 92,000/-

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 78

will

be

Cost of original software (SQL Server) Rs 58,000 (approx.), (Developer 6i) Rs


18,000 (approx.) excluding 4% LST.

Total:

Rs 1,68,000 (Excluding LST on Software)

**The above mentioned price includes free onsite maintenance and minor
changes for 3 months starting from the day of final implementation and visit
charges (that will be made while training and implementation of the project)
as well as importing of the external / raw data from different data sources to
the master database.
*** Annual Maintenance of software (AMC) can be undertaken only after getting the consent
from the concerned corporate / organization with proper documents only.
****AMC stands for Annual Maintenance Contract.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 79

PROJECT PROCESS FLOW

PERT / GANTT CHART


In order to ensure the success of a project, it is necessary for the team members involved in
the project development and the customers to have a clear vision of the project goals and
objectives. Once we have estimated of the effort and time requirement for the different phases a
schedule for the project can be prepared. This schedule will then be used later for monitoring the
progress of the project.
Establishing a project vision offers the following advantages
Clarification of Project goals
Prioritizing of processes
Integration with other products
Basis for future planning
Two general techniques of scheduling are Program evalutation and review technique (PERT)
charts and Gantt charts
The Gantt chart: is perhaps the simplest form of formal project management. Gantt Chart
(developed by Henry, L .Gantt) is a project control technique that can be used for several
purposes, including scheduling and resource planning.
It is a bar chart with each bar representing an activity. The bars are drawn against a
time line. The length of each bar is proportional to the length of the time planned for
the activity.
It is used almost exclusively for scheduling purposes and therefore controls only the
time dimension of projects.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 80

It helps in scheduling the activities of the project but not in identifying them.
It is best for resource scheduling.
It shows the tasks and their duration clearly, however do not show the intertasks
dependencies plainly.
A Gantt chart helps in scheduling the activities identified in the work break down structure.
During the scheduling activity and also during implementation of the project, new activities may
be identified that were not envisioned during the initial planning. The manager must then go
back and revise the break down structure and schedule to deal with these new activities.
The Gantt chart in the figure is actually an enhanced version of standard Gantt charts.
The white part of the bar shows the length of time each task is estimated to take. The black part
shows the actual time, that is, the latest time by which a task is finished.
Gantt charts can take different forms depending on their intended use. They are
for resource scheduling. When a Bar chart is used as a project control method ,

milestones or

check points usually are placed at the completion of each task (they may also placed with in
task). They indicate the completion of particular task and the project are on schedule; when a
checkpoint is reached, the task just completed and the entire project are reviewed and evaluated.
Reviewers ask where resources allocated have been properly utilized and indication of which
task must be completed before others are begun and project costs must be accumulated and
evaluated using other methods.
Gantt chart uses a calendars oriented chart for representing the project schedule. Each
activity is represented as a bar in the calendar starting from the starting date of the activity and
ending at the ending date for that activity. The start & end of each activity become milestones for
the project.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 81

The main drawback of the Gantt chart is that it doesnt depict the dependent relations
among the different activities. Hence the effort of slippage in one activity on other activities or
on the overall project schedule cannot be determined. However, it is conceptually simple & easy
to understand, and is heavily used. It is sufficient for small & mediumsized projects.
The Gantt chart for my project made in the year 2003 is as follows: -

Stands for Planned Duration


Stands for Actual Duration

The PERT Chart

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 82

Can be both a cost and time management system.


Is a scheduling device that shows graphically which tasks must be completed before others
are begun.
By displaying various paths, enables the calculation of a critical path.
Shows the task dependencies directly.
Is designed to facilitate getting a project back on schedule.
Some of the advantages of PERT are as follows:
It enforces the manager to plan.
It shows the interrelationships among the tasks in the project and, in particular, clearly identifies
the critical path of the project, thus helping to focus on it.
It exposes all possible parallelism in the activities and thus helps in allocating resources.
PERT chart for my project is as follows:
Syste
m

0 Day

10 Days

Study
Start
0 Day

SRS

33 Days
Planni
ng

22 Days
Desig
n

Coding

25Project
Days
65 Days

5 Days
48 Days
End

Client
Site
Testing

5 Days

Maintenan
ce
& Support

Self
5 Days

Testing
Impleme
ntation

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 83

5 Days

PERT is organized by events and activities or tasks. PERT has several advantages over bar chart
and likely to be used with more complex projects. One advantage of PERT is that it is scheduling
device that also shows graphically which task must be completed before others are begun.
Also by displaying the various task paths, pert enables the calculation of a critical path.
Each path consists of combination of task, which must be completed. The time & cost associated
with each task along a path are calculated and the path that requires the greatest amount of
elapsed time is the critical path. Calculation of the critical path enables project managers to,
monitors this series of task more closely than others and to shift resources to it if it begins to fall
behind schedule.
Despite these advantages, PERT is just a tool, and its use doesnt automatically guarantee the
success of the project. The manager has much latitude in how PERT is used. PERT is highly
developed methodology and full description of it is into computer programs and is available
as computerized management system.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 84

FUTURE SCOPE OF THE PROJECT


This software can be easily upgraded in the future. And also include many more
features for existing system.
It is connected with the internet for easily retrieved data about different
types of products, newly launched products can be easily added into the
site using database.
All the information can be easily accessed the Customer like their details,
order status, stock,
Transaction. It can be modify and the others details can be easily provided
to customer.
Report on the different basis will be easily created on the demand.

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 85

BIBLIOGRAPHY:
Books:
Microsoft Visual C#. NET

Microsoft Press

Beginning ASP.NET 2.0 with C#

Wrox Publications

Professional C# 2005

Wrox Publications

System Analysis & Design

Building Web Database Step by Step


Software Engineering

Awad Publications
Universal Books

N. S Gill

Web Sites:

www.google.com
www.w3schools.com
www.dotnetspider.com
www.javascipt.com

DEPARTMENT OF COMPUTER SCIENCE & APPLICATION


Page 86

You might also like