Beruflich Dokumente
Kultur Dokumente
CUSTOMER TO CUSTOMER
INTERACTIVE WEB APPLICATION
========================================================
PROJECT REPORT
CUSTOMER TO CUSTOMER INTERACTIVE WEB
APPLICATION
========================================================
Dated: -
========================================================
PROJECT REPORT
CUSTOMER TO CUSTOMER INTERACTIVE
WEB APPLICATION
TO WHOM IT MAY CONCERN
This is certify that Mr. Dalinder Singh,
student of M.C.A (MASTERS IN
COMPUTER APPLICATIONS), Bhaderwah
Campus, University Of Jammu. Bearing
Roll no. 98-MCA-08 was at software
trainee at IDEOGRAM TCCHNOLOGY
SOLUTIONS [P] LTD.This project was a
part of the M.C.A curriculum for VI
semester.
During her training he had designed and
developed CUSTOMER TO CUSTOMER
INTERACTIVE WEB APPLICATION,
software in the partial fulfillment of the
requirement for the award of degree of
Masters of Computer Applications under
the guidance of Mr. RAHUL PANDIT.It is
further certified that the design and
development of CUSTOMER TO
CUSTOMER INTERACTIVE WEB
APPLICATION is original work carried
out during his training period.
M.C.A
University of Jammu.
========================================================
A
PROJECT
REPORT
ON
CUSTOMER
TO CUSTOMER
INTERACTIVE WEB
APPLICATION
========================================================
DEVELOPED BY:
Dalinder Singh
========================================================
CHAPTER 1
PROJECT PROFILE
Project Title
Supervisiors
Organization
Project duration :
Group Members :
Six months
Gourav Sharma(99-MCA-08)
========================================================
HARDWARE ENVIRONMENT
HP PC dx 7200 with the following Configuration
Processor
RAM
3 MB
HARD DISK
320 GB
FDD
1.44MB
SOFTWARE ENVIRONMENT
Operating System
Backend
Microsoft Access
Frontend
VB.NET
Case Tool
MS Visual Studio.net
Submitted to
========================================================
CHAPTER - 2
ORGANIZATIONS
PROFILE
Ideogram Technology Solutions [P] Ltd. is a team of Professionals with experience
in High-End Project Planning and Development. We aim at being Total Solution
Providers at most competitive rates with quality to our Clients. Our areas of Expertise
being Web Design, Software Development, Web Development, Networking,
Turnkey Projects, Consultancy, Offshore Development, VoIP Solutions, SMS
Based Solutions, Search Engine Optimization and much more.
Our professionals employ industry best practices to drive project success and are
uniquely positioned to deliver significant cost and time savings Solutions.
Ideogram Technology Solutions [P] Ltd. specializes in:
1.
2.
3.
4.
Website Design
Graphics Design
5. Application Development
6. Newspaper & Media Solutions
7. IT Consulting
========================================================
========================================================
Introduction
Our Project is Advocate Office, that is a software for advocates to
maintain their office. This software is very easy to operate and light on system
tool to maintain information about Clients, Cases, Hearings, Rulings,
Accounts, books, periodicals etc. Manage all of Advocates vital practice
information - Calendar, Files, Contacts, Communications, Time, and much
more in a single integrated database. A complete legal case management
software solution that is powerful, flexible and scalable for firms of all sizes.
Client Profiles manages day-to-day activity and builds a comprehensive
client/case/matter database and history that can help improve every aspect of
Advocates practice. Advocate will have immediate access to tools for case
status and information, document management and assembly, calendaring
and docketing and contact management. The system also comes with a
number of standard reports that can be accessed easily by users. Track time,
manage receivables, accounting program developed specifically for law firms.
For quick reference provision of many reports is also made. It also provides
information about daily schedule tasks. Software is dedicated to advocates/
lawyers to help them in maintaining their offices.
========================================================
CHAPTER 1
SYSTEM
DEVELOPMENT
LIFE CYCLE
========================================================
========================================================
SYSTEM ANAYLSIS
SYSTEM DESIGN
CODING
SYSTEM TESTING
SYSTEM
SYSTEM MAINTENANCE
3. Coding
Coding step performs the translations of the design representations into an
artificial language resulting in instructions that can be executed by the
computer. It thus involves developing computer programs that meet the
system specifications of design stage.
4. System Testing
System testing process focuses on the logical internals of the software,
ensuring that all statements have been tested on the functional externals, that
is conducting tests using various tests data to uncover errors that defined
input will produce actual results that agree with required results.
5. System Implementation
System Implementation is a process that includes all those activities that
take place to convert an old system to a new system. The new system
may be totally new system replacing the existing system or it may be
major modification
to
the
existing
system.
Coding
performs
the
6. System Maintenance
Maintenance is modification of a software product after delivery to correct
faults to improve performance or to adopt the product to a new operating
========================================================
========================================================
SYSTEM ANAYLSIS
1.1.1 Problem Definition
Our Project is Advocate Office, that is a software for advocates to
maintain their office. This software is very easy to operate and light on system
tool to maintain information about Clients, Cases, Hearings, Rulings,
Accounts, books, periodicals etc. Manage all of Advocates vital practice
information - Calendar, Files, Contacts, Communications, Time, and much
more in a single integrated database. A complete legal case management
========================================================
software solution that is powerful, flexible and scalable for firms of all sizes.
Client Profiles manages day-to-day activity and builds a comprehensive
client/case/matter database and history that can help improve every aspect of
Advocates practice. Advocate will have immediate access to tools for case
status and information, document management and assembly, calendaring
and docketing and contact management. The system also comes with a
number of standard reports that can be accessed easily by users. Track time,
manage receivables, accounting program developed specifically for law firms.
For quick reference provision of many reports is also made. It also provides
information about daily schedule tasks. Software is dedicated to advocates/
lawyers to help them in maintaining their offices.
========================================================
in
the
Advocate
will
be
sending
SMS
alerts
Problem Recognition
The aim of the poroject was understood and through research was done on
internet to get a deep insight of how the proposed system will work, we went
to different travel related sites and understood their working. We recorded
what all features will be required when we build our website like for eg. We
need to keep a database of destinations, Travel Agents and Hotels should be
able to register and post their data online etc. All these features were noted
down so that they could be incorporated in our application.
========================================================
========================================================
include
development
risk,
resources
availability
and
========================================================
========================================================
To avoid errors inherent in the manual working and hence make the
outputs consistent and correct.
========================================================
To make the system completely compatible i.e., it should fit in the total
integrated system.
========================================================
in
the
Advocate
will
be
sending
SMS
alerts
SYSTEM DESIGN
The design stage takes the final specification of the system from analysis
stages and finds the best way of filing them, given the technical environment
and previous decision on required level of automation.
The system design is carried out in two phases:
i)
ii)
and decomposing the system into processing modules and conceptual data
structures and specifying the interconnection among components. Good
notation can clarify the interrelationship and interactions if interest, while poor
notation can complete and interfere with good design practice. A data floworiented approach was used to design the project. This includes Entity
Relationship Diagram (ERD) and Data Flow Diagrams (DFD).
1.2.4.1
One of the best design approaches is Entity Relationship Method. This design
approach is widely followed in designing projects normally known as Entity
Relationship Diagram (ERD).
ERD helps in capturing the business rules governing the data relationships of
the system and is a conventional aid for communicating with the end users in
the conceptual design phase. ERD consists of:
Entity It is the term use to describe any object, place, person, concept,
activity that the enterprise recognizes in the area under investigation and
wishes to collect and store data. It is diagrammatically represented as
boxes.
Attribute They are the data elements that are used to describe the
properties that distinguish the entities.
Relationship It is an association or connection between two or more
entities. They are diagrammatically represented as arrows.
A Unary relationship is a relationship between instances of the same
entity.
A Binary relationship is a relationship between two entities.
A N-ary relationship is a relationship among N entities. It is defined only
when the relationship does have a meaning without the participation of all
the N entities.
========================================================
========================================================
1.2.4.2
Context Analysis Diagram (CAD) is the top-level data flow diagram, which
depicts the overview of the entire system. The major external entities, a single
process and the output data stores constitute the CAD. Though this diagram
does not depict the system in detail, it presents the overall inputs, process
and the output of the entire system at a very high level. The Context Analysis
Diagram if the project is given ahead.
Context Level
Data Flow Diagram
Advocate
1.2.4.3
Advocate
Office
A Data Flow Diagram (DFD) is a graphical tool used to describe and analyze
the movement of data through a system manual or automated including the
processes, stores of data and delays in the system. They are central tools and
the basis from which other components are developed. It depicts the
========================================================
========================================================
4. Data stores are the physical areas in the computers hard disk
where a group of related data is stored in the form of files. They
are depicted as an open-ended rectangle. The Data store is used
either for storing data into the files or for reference purpose.
========================================================
ii)
Visual feedback.
iii)
iv)
Good response.
MODULES
========================================================
in
the
Advocate
will
be
sending
SMS
alerts
========================================================
WORKING ENVIRONMENT
========================================================
HARDWARE ENVIRONMENT
RAM
HARD DISK
80 GB
SOFTWARE ENVIRONMENT
Operating System
Backend
Microsoft Access
Frontend
VB.NET
Case Tool
========================================================
VB.NET
VB.NET introduces many exciting new features to the VB developer,
though these enhancements do cause some minor compatibility
issues with legacy code. The new Integrated Development
Environment (IDE) incorporates some of the best ideas of VB 6.0
and InterDev to make it easier and more intuitive to quickly create
applications using a wider variety of development resources.The
code developed in the IDE can then be compiled to work with the
new .NET Framework, which is Microsofts new technology designed
to better leverage internal and external Internet resources.The
compiler writes the code to Common Language Runtime (CLR),
making it easier to interact with other
applications not written in VB.NET. It is now possible to use true
inheritance
with VB, which means that a developer can more efficiently leverage
code and
reduce application maintenance. Not only is the CLR used for standalone VB
applications, it is also used for Web Applications, which makes it
easier to exploit
the full feature set of VB from a scripted Web application. Another
way in which
security is enhanced is through enforcement of data type
compatibility, which
reduces the number of crashes due to poorly designed code.
Exploiting the new
features of VB.NET is not a trivial task, and many syntax changes
were introduced
that will cause incompatibilities with legacy code. But, many of
these are
identified, emphasized, and in some cases automatically updated by
the IDE
when a VB 6.0 project is imported into VB.NET.
.NET Architecture
ASP.NET
One major headache that Visual Basic developers have had in the
past is trying to
reconcile the differences between compiled VB applications and
applications built
in the lightweight interpreted subset of VB known as VBScript.
Unfortunately,
when Active Server Pages were introduced, the language supported
for serverside
scripting was VBScript, not VB. (Technically, other languages could
be used
for server side scripting, but VBScript has been the most commonly
used.) Now, with ASP.NET, developers have a choice. Files with the
ASP extension
are now supported for backwards compatibility, but ASPX files have
been introduced
as well. ASPX files are compiled when first run, and they use the
same syntax that is used in stand-alone VB.NET applications.
Previously, many developers
have gone through the extra step of writing a simple ASP page that
simply
executed a compiled method, but now it is possible to run compiled
code
directly from an Active Server Page.
Framework Classes
.NET Servers
========================================================
CLR provides the interface between your code and the operating
system, providing
such features as Memory Management, a Common Type System,
and
Garbage Collection. It reflects Microsofts efforts to provide a unified
and safe
framework for all Microsoft-generated code, regardless of the
language used to
create it.
data needed within the application for the CLR to operate. This
ensures that any dependencies your application might have are
always met and never broken.
When you set your compiler to generate the .NET code, it runs
through the CTS and inserts the appropriate data within the
application for the CLR to read. Once the CLR finds the data, it
proceeds to run through it and lay out everything it needs within
memory, declaring any objects when they are called (but not
before).Any application interaction, such as passing values from
classes, is also mapped within the special data and handled by the
CLR.
Using .NET-Compliant
Programming Languages
by
Microsoft
in
the
early
1990
to
enable
easy
2. Com Technology
Microsoft introduced component-based model for
developing softwares programs.
overall
complexity
of
software.
Enables
distributed
component model.
========================================================
Description
The .NET Framework defines the environment that you use for
executing Visual Basic .NET applications.
Visual Studio .NET is a suite of products that includes all three of
the programming languages listed above. These languages run
within the .NET Framework.
You can develop business applications using either Visual Basic
.NET or Visual C# .NET.
Both are integrated with the design environment, so the
development techniques are similar although the language details
vary.
Besides the programming languages listed above, third-party
vendors can develop languages for the .NET Framework. However,
programs written in these languages cant be developed from within
Visual Studio .NET.
========================================================
========================================================
Description
.NET applications do not access the operating system or computer
hardware directly. Instead, they use services of the .NET
Framework, which in turn access the operating system and
hardware.
The .NET Framework consists of two main components: the .NET
Framework Class Library and the Common Language Runtime.
The .NET Framework Class Library provides pre-written code in
the form of classes that are available to all of the .NET
programming languages. This class library consists of hundreds of
classes, but you can create simple .NET applications once you learn
how to use just a few of them.
The Common Language Runtime, or CLR, is the foundation of
the .NET Framework. It manages the execution of .NET programs by
coordinating essential functions such as memory management, code
execution, security, and other services. Because .NET applications
are managed by the CLR, they are called managed applications.
The Common Type System is a component of the CLR that
ensures that all .NET applications use the same basic data types
regardless of what programming languages were used to develop
the applications.
========================================================
True Multithreading
Multithreaded programs seem to do two things at once. E-mail
programs that let you read old e-mail while downloading new e-mail
are good examples. Users expect such apps, but you could not write
them very easily in earlier versions of VB.
========================================================
Description
1. The programmer uses Visual Studios Integrated Development
Environment to create a project, which includes one or more Visual
Basic source files. In some cases, a project may contain other types
of files, such as graphic image files or sound files. A solution is a
container that holds projects. Although a solution can contain more
than one project, the solution for most simple applications contains
just one project. So you can think of the solution and the project as
essentially the same thing.
2. The Visual Basic compiler translates or builds the source code
into Microsoft Intermediate Language (MSIL), or just Intermediate
Language (IL). This language is stored on disk in an assembly that
also contains references to the classes that the application requires.
An assembly is simply an executable file that has an .exe or .dll
extension.
3. The assembly is then run by the .NET Frameworks Common
Language Runtime. The CLR manages all aspects of how the
assembly is run, including converting the Intermediate Language to
native code that can be run by the operating system, managing
memory for the assembly, enforcing security, and so on.
========================================================
Introduction to OOP
OOP is a vast extension of the event-driven, control-based model of
programming used in early versions of VB. With VB .NET, your
entire program will be made up of self-contained objects that
interact. These objects are stamped out from factories called
classes. These objects will:
Have certain properties and certain operations they can perform.
Not interact with each other in ways not provided by your code's
public interface.
Only change their current state over time, and only in response to
a specific request. (In VB .NET this request is made through a
property change or a method call.)
The point is as long as the objects satisfy their specifications as to
what they can do (their public interface) and thus how they respond
to outside stimuli, the user does not have to be interested in how
that functionality is implemented. In OOP-speak, you only care
about what objects expose.
Abstraction
Abstraction is a fancy term for building a model of an object in
code. In other words, it is the process of taking concrete day-to-day
objects and producing a model of the object in code that simulates
how the object interacts in the real world. For example, the first
object-oriented language was called Simula, because it was
invented to make simulations easier. Of course, the more modern
ideas of virtual reality carry abstraction to an extreme.
Abstraction is necessary because:
You cannot use OOP successfully if you cannot step back and
abstract the key issues from your problem.
Always ask yourself: What properties and methods will I need to
mirror in the objects code so that my code will model the situation
well enough to solve the problem?
Encapsulation
Encapsulation is the formal term for what we used to call data
hiding. It means hide data, but define properties and methods that
let people access it. Remember that OOP succeeds only if you
manipulate data inside objects, only sending requests to the object.
The data in an object is stored in its instance fields. Other terms
you will see for the variables that store the data are member
variables and instance variables. All three terms are used
interchangeably, and which you choose is a matter of taste; we
usually use instance fields. The current values of these instance
========================================================
fields for a specific object define the objects current state. Keep in
mind that you should:
Never ever give anyone direct access to the instance fields.
Inheritance
As an example of inheritance, imagine specializing the Employee
class to get a Programmer class, a Manager class, and so on.
Classes such as Manager would inherit from the Employee class.
The Employee class is called the base (or parent) class, and the
Manager class is called the child class. Child classes are:
Always more specialized than their base (parent) classes.
Have at least as many members as their parent classes (although
the behavior of an individual member may be very different).
Polymorphism
Traditionally, polymorphism (from the Greek many forms) means
that inherited objects know what methods they should use,
depending on where they are in the inheritance chain. For example,
as we noted before, an Employee parent class and, therefore, the
inherited Manager class both have a method for changing the salary
of their object instances. However, the RaiseSalary method probably
works differently for individual Manager objects than for plain old
Employee objects. The way polymorphism works in the classic
situation where a Manager class inherits from an Employee class is
that an Employee object would know if it were a plain old employee
or really a manager. When it got the word to use the RaiseSalary
method, then:
If it were a Manager object, it would call the RaiseSalary method
in the Manager class rather than the one in the Employee class.
Otherwise, it would use the usual RaiseSalary method.
Advantages to OOP
At first glance, the OOP approach that leads to classes and their
associated methods and properties is much like the structured
approach that leads to modules. But the key difference is that:
Classes are factories for making objects whose states can diverge
over time.
Sound too abstract? Sound as though it has nothing to do with VB
programming?
Well, this is exactly what the Toolbox is! Each control on the Toolbox
in earlier versions of VB was a little factory for making objects that
are instances of that controls class. Suppose the Toolbox was not a
bunch of little class factories waiting to churn out new textboxes
and command buttons in response to your requests. Can you
imagine how convoluted your VB code would been if you needed a
separate code
========================================================
module for each textbox? After all, the same code module cannot be
linked into your code twice, so you would have to do some fairly
complicated coding to build a form with two identical textboxes
whose states can diverge over time.
========================================================
For controls without a user interface, such as timers, simply doubleclick on them. They end up in a tray beneath the form, thus
reducing clutter. You can use the Format menu to reposition and
resize controls once they are on the form. Of course, many of the
items on the Format menu, such as the ones on the Align submenu,
make sense only for a group of controls. One way to select a group
of controls is to click the first control in the group and then hold
down the Control key while clicking the other members you want in
the group. At this point they will all show sizing handles but only
one control will have dark sizing handles.
MDI Forms
In earlier versions of VB, Multiple Document Interface (MDI)
applications required you to decide which form was the MDI parent
========================================================
form at design time. In .NET, you need only set the IsMdiContainer
property of the form to True. You create the child forms at design
time or at run time via code, and then set their MdiParent properties
to reference a form whose IsMdiContainer property is true. This lets
you do something that was essentially impossible in earlier versions
of VB: change a MDI parent/child relationship at run time. It also
allows an application to contain multiple MDI parent forms.
========================================================
System.Data.SqlClient
Retrieving data from a SQL Server database is similar: the syntax
for the OleDb and SqlClient namespaces is almost identical. The key
difference (aside from the different class names) is the form of the
connection string, which assumes there is a test account with a
password of apress on a server named Apress. The SQL Server
connection string requires the user ID, password, server, and
database name. We pass the connection string to get a connection
object. Finally, as you can imagine, more complicated SQL queries
are easy to construct: just build up the query string one piece at a
time.
========================================================
========================================================
delivered
incrementally.
3.
and
review
of
voluminous
engineering
========================================================
========================================================
Advantages:
Particularly useful when staffing is inadequate for
a complete implementation by the business
deadline.
========================================================
System / information
engineering
Analysis
Increment 1
Design
Code
additional
Delivery of 1st
increment
Test
staff
can
be
added
to
Increments
Analysis
can
Design
be
planned
Code
to
Test manage
Delivery of 2nd
increment
increment
Analysis
Design
Code
Test
Calendar time
========================================================
Delivery of 4th
increment
Time Scheduling
Scheduling of a software project does not differ
greatly
from
scheduling
of
any
multitask
development effort. Therefore, generalized project
scheduling tools and techniques can be applied to
software with little modification.
The program evaluation and review technique
(PERT) and the critical path method (CPM) are two
project scheduling methods that can be applied to
software development. Both techniques a task
network description of a project, that is, a pictorial
or tabular representation of tasks that must be
accomplished from beginning to end of project. The
network is defined by developing a list of all tasks,
sometimes called the project work breakdown
structure (WBS), associated with a specific project
and list of orderings (sometimes called a restriction
list) that indicates in what order tasks must be
accomplished.
Both PERT and CPM provide quantitative tools that
allow the software planner to:
i) Determine the critical path- the chain of tasks
that determines the duration of the project
ii) Establish most likely time estimates for
individual tasks by applying statistical models
iii) Calculate boundary times that define a time
window for a particular task.
Boundary time calculations can be very useful in
software project scheduling. Riggs describes
important boundary times that may be discerned
from a PERT or CPM networks.
Earliest time that a task can begin when all
preceding tasks are completed in the shortest
possible time
The latest time for task initiation before the
minimum project completion time is delayed
The earliest finish-the sum of the earliest startand the task duration
The latest finish-the latest start time added to
task duration
========================================================
Three Weeks
========================================================
========================================================
Screen Shots
========================================================
========================================================
========================================================
========================================================
========================================================
========================================================
========================================================
========================================================
========================================================
========================================================
========================================================
========================================================
========================================================
========================================================
========================================================
TESTING PROCESSES
All software intended for public consumption should
receive some level of testing. The more complex or widely
distributed a piece of software is, the more essential
testing is to its success. Without testing, you have no
assurance that software will behave as expected. The
results in a public environment can be truly embarrassing.
For software, testing almost always means automated
testing. Automated tests use a programming language to
replay recorded user actions or to simulate the internal
use of a component. Automated tests are reproducible
(the same test can be run again and again) and
measurable (the test either succeeds or fails). These two
advantages are key to ensuring that software meets
product requirements.
Developing a Test Plan
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
To meet customer
Where are the tests and how are test results shared?
Tests should be organized so that they can be rerun
on a regular basis.
Types of Tests
========================================================
The test plan specifies the different types of tests that will
be performed to ensure that product meets customer
requirements and does not contain defects.
Types of Tests
Test type
Ensures that
Unit test
Integration test
Regression test
========================================================
independently
tested.
From
an
object-oriented
first
integration
test
always
answers
the
this
problem
nonfunctional
property,
or
by
components
method
creating
that
definition
stubs.
provide
used
Stubs
the
by
the
are
class,
other
all
of
the
build
problems
are
resolved,
integration
testing
is
an
incremental
with
the
main
control
module.
are
substituted
for
all
components
directly
at
the
lowest
levels
in
the
program
processing
required
for
components
and
becomes
part
of
the
software
configuration.
========================================================
PLATFORM TESTING
tests
that
demonstrate
conformity
with
The
function
characteristics
or
performance
conform
to
the
deviation
form
specifications
is
important
element
of
validation
testing
is
that
system
elements
have
been
properly
========================================================
may
processing
or
cause
extreme
performance
and
even
degradation.
erroneous
Sensitivity
conform
to
performance
requirements
is
integrated
system.
Performance
testing
occurs
========================================================
6. MAINTENANCE FEATURES
Not all jobs run successfully. Sometimes an unexpected boundary
condition or an overload causes an error. Sometimes the o/p fails to
pass controls. Sometimes program bugs may appear. No matter what
the problem, a previously working system that ceases to function,
requires emergency maintenance. Isolating operational problems is
not always an easy task, particularly when combinations of
circumstances are responsible. The ease with which a problem can be
corrected is directly related to how well a system has been designed
and documented.
Changes in environment may lead to maintenance requirement. For
example, new reports may need to be generated, competitors may
alter market conditions, a new manager may have a different style of
decision-making, organization policies may change, etc. Information
should be able to accommodate changing needs. The design should be
flexible to allow new features to be added with ease.
Although software does not wear out like hardware, integrity of the
program, test data and documentation degenerate as a result of
modifications. Hence, the system will need maintenance.
========================================================
mind.
Proper
steps
must
be
followed
during
development cycle.
========================================================
the
Update documents
========================================================