Professional Documents
Culture Documents
PROJECT REPORT
ON
“MAILING SYSTEM”
In the partial fulfillment of the Requirement for the award of the degree
of
MASTER OF COMPUTER SCIENCE
IN
(Session: 2019-2021)
(Asst. Prof in Dept. of Computer Science) (Digital media hawk private limited)
SUBMITTED BY
Name – RAKESH
Rollno. 91600602001
M.Sc (C.S) - 4 th sem
Bhiwani-127021, (Haryana)
CERTIFICATE
This is to certify that project report entitle “MAILING SYSTEM” done by MR.
RAKESH, Roll No. 91600602001 of Vaish college, Department Of Management
& Computer Science, Bhiwani towards partial fulfillment of the requirements for
the award of the degree of M.Sc (Computer Science) is a bonafide record of the
work carried out by his under My Supervision and Guidance.
Page 1
ACKNOWLEDGEMENT
Date: Rakesh
Place: Bhiwani Roll No. 91600602001
(Department of Computer Science)
Page 2
Index
Page No.
1. Introduction ………………………………………………………5-11
1.1 Company Profile
1.2 Overview Of Project
1.3 Scope of the Project
2. Project / Problem Selection ………………………………………12-16
2.1 Module
2.2 Gantt chart
2.3 Pert chart
3. System study Feasibility Study……………………………………17-22
3.1 Existing Project with their Limitation
3.2 Proposed Project with Objective
3.3 Feasibility Study
3.3.1 Operational Feasibility
3.3.2 Technical Feasibility
3.3.3 Economical Feasibility
3.3.4 Behavioral Feasibility
4. System Requirement and Analysis………………………………23-40
4.1 Hardware and Software Requirements
4.2 Technologies Used
4.3 System Analysis
5. System Design……………………………………………………41-52
5.1 System Designs
5.2 Data Flow Diagrams
5.3 Use Case Diagram
Page 3
5.4 ER Diagram
5.5 Table
5.6 Coding
5.7 Design
6. Testing…………………………………………………………….53-56
7. Implementation……………………………………………………57-61
8 Maintenance……………………………………………………….62-65
9. Conclusion………………………………………………………...66-68
10 Bibliography & References…………………………………………..69
Page 4
INTRODUCTION
&
(COMPANY PROFILE)
Page 5
1.1 COMPANY PROFILE
GST NO.06AAHCD5276H1Z1
CIN:U93090HR2019OPC083765
Head Office : Ist Floor, Virat Honda, Near Spice Hotel, Shankarpur Road ,
Selequi, UK 248197
Branch Office : : Near PC Jewellers, sector-14 Old Delhi-Gurugram road,122001
Email: contact@digitalmediahawk.com
Voice: +91-8383862320
DMH Technologies is one of the fastest growing software solution, technical consultancy
and knowledge outsourcing company situated in India with offices at UK, Gurugram,
Rohtak. DMH start its carrier from rohtak and now its business has been spread in
multiple areas. DMH start DMH deals in various kinds of software development,
trainings and services solutions in different technologies. Our services include software
development, web development, software testing and software training.
Page 6
DMH is one of the largest Smart School education provider company in Northern India,
established at Rohtak, Haryana since 2010. PTC Circle is a fast-growing, empowering
technology-driven company working in education sector. We offer full product lifecycle services
from architecture, design, development and integration to implementation and quality sup
To be a world class player in providing large & mature software solutions to the most
complex requirements of the customers with highest levels of integrity, professionalism &
technological capabilities. To provide every possible service to our clients with full satisfaction
under one roof. Our Mission is to deliver optimal solution's with quality and services at
reasonable prices. For us customer satisfaction is given top place. We are very friendly in our
dealings to the customers and it helps us retain existing clients and expand customer circle. We
always try to improve the quality of our products by exploring innovative ideas.
DMH Technologies has established itself with these 3 independently successful
divisions:
● Software Development
● Software Training
● Software Services
Article II.
DMH - SEDC has evolved into a self-sufficient facility which has the expertise
and dynamics to expand at short notice to meet deadlines and honour commitments while
providing solutions that adhere to stringent Quality Control measures.
DMH - SEDC is of the firm belief that an order or a deal is not the end of a
Transaction but the beginning of a long term relationship with the client. DMH - SEDC
has good expertise in the fields of Software Development, Multimedia, Banking, Web
Design, Engineering Services and E-commerce & Automation. We are a group of highly
motivated team with ability to innovate and Strong desire to excel. Mainly we are dealing
in as follows:
● Customize Software Solution
● Website Designing
● Website Development
Page 7
● Web application Development
● Search Engines Optimization
● Web Promotion
● Blog Creation
● Website Marketing
● Schools Management Solutions
● Colleges Management Solution
● Universities Management Solution
● Small Medium Enterprises Management Solutions
● Industries Management Solutions
● Corporate Management Solutions
● Product Development
● Domain Registration & Hosting
● Payroll Software
● System Integration
● Out Sourcing
Page 8
1.2 OVERVIEW OF PROJECT
Here, you will learn what email is, how it compares to traditional mail, and how email addresses
are written. We'll also discuss various types of email providers and the features and tools they
include with an email account.
The key opinion kept into consideration while developing the proposed system was accessibility.
If such applications will be developed then that will be used efficiently by any one whether he is
able or disable. The most common mail services that we are using in our day to day life
cannot be used by visually impaired people. This is because thecommon mail services do not
Page 9
provide any facility so that the person in front can hear out the content of the screen andthey can
perform their operations easily. For a visually impaired person using a computer for the first time
is not that convenient as it is for a normal user though it is user
Mail Compose
Inbox
Outbox
Trash
Draft
Friend List
Objectives
Page 10
1.3 Scope of Project
This project aims at developing a web based mail client that server the user to send and receive
mail through send mail as (MTA) message transport and IAMP as the message delivery agent.
This exiting user are needed to authentication their identity and then they permitted to check
their mail in their mailbox. Also they can send mail. Organize mail across the folder and can
delete the necessary mail from mailbox. A good user interface has been provided for performing
all these task easily.
Page 11
2. Project / Problem Selection
Page 12
Module:
Systems design is the process of defining the architecture, components, modules, interfaces, and
data for a system to satisfy specified requirements. Systems design could see it as the application
of systems theory to product development. There is some overlap with the disciplines of systems
analysis, systems architecture and systems engineering.
Designing is the most important part of software development. It requires a careful planning and
logical thinking on the part of the designer. Designing the software means to Plan how the
various parts of the software are going to meet the desired goals. It should be done with utmost
care because if the phase contains any error then it is going to effect the performance of the
system as a result it may take more processing time, more of coding and extra workload.
Module:
Modules are divided into Three parts.
ADMIN
User
Module:1
1) Login
2) Manage User
3) Compose Mail
Page 13
4) Inbox
5) Sent Mail
6) Save Mail
7) Delete Mail
8) Log Out
Module: 2
User
1) Registration
2) Login
3) Compose Mail
4) Inbox
5) Sent Mail
6) Save Mail
7) Delete Mail
8) Log Out
Page 14
Feb March April may
Page 15
2.3 Pert Chart
Page 16
3. SYSTEM STUDY / FEASIBILITY STUDY
Page 17
3. 1 Existing Project With Limitation
Several systems have been built to provide improvements over traditional e-mail systems.
Several companies offer email server products based on database storage . DB Mail offers
programs that enable the possibility of storing and retrieving mail messages from a database . It
claims that the system performs faster queries, scales better, and provides better flexibility than
file-based storage, but it offers little reasoning or evidence to support these claims.
1) delayed transactions
2) consumed much time for calculation
3) inaccurate reports.
This project aims at developing a web based mail client that server the user to send and
receive mail through send mail as (MTA) message transport and IAMP as the message
delivery agent. This exiting user are needed to authentication their identity and then they
permitted to check their mail in their mailbox. Also they can send mail. Organize mail
across the folder and can delete the necessary mail from mailbox. A good user interface
has been provided for performing all these task easily.
Page 18
test of system proposal according to its work ability impact on the organization, ability to meet
the users need and effective user or resources.
Prior to stating whether the system we have to develop is feasible or not we believe that we
should emphasize on what is implied by the word “Feasibility”. Feasibility is the measure of how
beneficial or practical the development of the system will be to the organization. It is a
preliminary survey for the systems investigation. It aims to provide information to facilitate a
later in-depth investigation.
Operational Feasibility
Technical Feasibility
Economical Feasibility
Behavioral Feasibility
Each of these types will be explained in detail throughout the project report
A proposed system is beneficial only if it can be turned into an information system that will meet
the operational requirements of an organization. A system often fails if it does not fit within
existing operations and if users resist the change.
Page 19
• Are there any major barriers to implementation or is proposed system accepted without
destructive resistance?
The whole purpose of computerizing the Merchant Management is to handle the work much
more accurately and efficiently with less time consumption. There will be additional work to be
completed, because now the Pay Commerce Company will have to maintain database of both
their merchants as well as their Customers.
Compared to the semi-computerized system the chances of avoiding errors in a computerized
system is much higher because the user need not stress himself unnecessarily resulting in
recklessness. Unlike the semi-computerized system there would be backup data for all the
information concerning the daily transactions occurred within the organization.
Another important fact to be regarded is the security control, which is handled by the system.
Since data regarding each Customer and the Organization is confidential, security is a key issue.
Information falling into the wrong hands could jeopardize the entire organization. Unlike in
semi-computerized systems
The proposed system offers adequate control to protect the organization against fraud and
embezzlement and guarantees the accuracy and Security of data and information. This is handled
by the system providing individuals with separate login names and passwords.
The new system is user-friendlier, which enables the end-user to complete his/her work
efficiently and accurately with interest. After taking the above fact into consideration we can
state the operating of the proposed system within the organization is feasible.
In this phase of the feasibility study the following two main topics exists.
• Technical Performance Aspect and
• Acceptance within the organization
Technical performance aspect is explained in the technical feasibility report and there is no new
information is needed in this to explain it again, but as for the acceptance within the organization
the following points are important and those are explained according to the topics
Whether the system provides right information to the right place?
Page 20
In the current system which is the semi computerized system the information may be lost in the
process of sending from one place to another. This is mainly due to human interaction in the
process of the transferring information from one place to another.
Whether the new system affects the current users in the system?
The new proposed system will affect the users in the following areas
• Accuracy
• Efficiency
• Productivity
• Robustness
• Lesser time consuming
Page 21
• Costs associated with operating the system.
Page 22
4. SYSTEM REQUIREMENTS
&
ANALYSIS
Page 23
4. HARDWARE AND SOFTWARE REQUIREMENTS
allow programmers to build dynamic Web sites, Web applications and Web services.
Hardware Interface:
Client Side:
Google Chrome
Processor : Pentium IV 2.0 and above.
RAM : 1 GB
Processor : Pentium IV 2.0 and above.
RAM : 1 GB
Page 24
Disk space : 4GB
Software Interface:
. Constraints:
.NET
The .NET Framework is a software framework developed by Microsoft that runs primarily
on Microsoft Windows. It includes a large library and provides language interoperability (each
language can use code written in other languages) across several programming languages.
Programs written for the .NET Framework execute in a software environment (as contrasted
to hardware environment), known as the Common Language Runtime (CLR), an application
Page 25
virtual machine that provides services such as security, memory management, and exception
handling. The class library and the CLR together constitute the .NET Framework.
The .NET Framework's Base Class Library provides user interface, data access, database
connectivity, cryptography, web application development, numeric algorithms, and network
communications. Programmers produce software by combining their own source code with the
.NET Framework and other libraries. The .NET Framework is intended to be used by most new
applications created for the Windows platform. Microsoft also produces anintegrated
development environment largely for .NET software called Visual Studio.
Asp.Net
ASP.NET is a server-side Web application framework designed for Web development to
produce dynamic Web pages. It was developed by Microsoftto allow programmers to build
dynamic web sites, web applications and web services. It was first released in January 2002 with
version 1.0 of the.NET Framework, and is the successor to Microsoft's Active Server
Pages (ASP) technology. ASP.NET is built on the Common Language Runtime(CLR), allowing
programmers to write ASP.NET code using any supported .NET language. The
ASP.NET SOAP extension framework allows ASP.NET
components to process SOAP messages.
C#.
C# is first component base c family language launched with .net framework in year 2000. C# is
designed to be a platform-independent language in the tradition of Java (although it is
implemented primarily on Windows). It's syntax is similar to C and C++ syntax, and C# is
designed to be an object-oriented language. There are, for the most part, minor variations in
syntax between C++ and C#. Main has no return type, there are no semicolons after class names,
there are some (to C++ programmers) strange decisions regarding capitalization - such as the
capitalization of Main. Other a few differences, the syntax is often the same. This decision is
reasonable, in light of the fact that C syntax has been used with several other languages - notably
Java.
Page 26
Similar to Java, C# does not support multiple inheritance; instead it provides Java's
solution: interfaces. Interfaces implemented by a class specify certain functions that the class is
guaranteed to implement. Interfaces avoid the messy dangers of multiple inheritance while
maintaining the ability to let several classes implement the same set of methods.
The potential for C# is great if the .NET platform succeeds. C# is designed to take advantage of
the design of .NET, and Microsoft has poured a great deal of money into .NET
ADO.NET
ADO.NET is a set of computer software components that programmers can use to access data
and data services based on disconnected DataSets and XML. It is a part of the base class
library that is included with the Microsoft .NET Framework. It is commonly used by
programmers to access and modify data stored in relational database systems, though it can also
access data in non-relational sources. ADO.NET is sometimes considered an evolution
of ActiveX Data Objects (ADO) technology, but was changed so extensively that it can be
considered an entirely new product
ADO.NET provides consistent access to data sources such as Microsoft SQL Server, as well as
data sources exposed through OLE DB and XML. Data-sharing consumer applications can use
ADO.NET to connect to these data sources and retrieve, manipulate, and update data.
ADO.NET cleanly factors data access from data manipulation into discrete components that can
be used separately or in tandem. ADO.NET includes .NET Framework data providers for
Page 27
connecting to a database, executing commands, and retrieving results. Those results are either
processed directly, or placed in an ADO.NET DataSet object in order to be exposed to the user in
an ad-hoc manner, combined with data from multiple sources, or remoted between tiers. The
ADO.NET DataSet object can also be used independently of a .NET Framework data provider to
manage data local to the application or sourced from XML.
The ADO.NET classes are found in System.Data.dll, and are integrated with the XML classes
found in System.Xml.dll. When compiling code that uses the System Data namespace, reference
both System.Data.dll and System.Xml.dll. For an example of compiling an ADO.NET
application using a command line compiler, see ADO.NET Sample Application.
ADO.NET provides functionality to developers writing managed code similar to the
functionality provided to native COM developers by ADO.
SQL Server
Microsoft SQL Server is a relational database management system developed by Microsoft . As
a database, it is a software product whose primary function is to store and retrieve data as
requested by other software applications, be it those on the same computer or those running on
another computer across a network (including the Internet). There are at least a dozen different
editions of Microsoft SQL Server aimed at different audiences and for different workloads
(ranging from small applications that store and retrieve data on the same computer, to millions of
users and computers that access huge amounts of data from the Internet at the same time). Its
primary query languages are T-SQL and ANSI SQL.
SQL Server 2008
SQL Server 2008 was released on August 6, 2008 and aims to make data management self-
tuning, self organizing, and self maintaining with the development of SQL Server Always
On technologies, to provide near-zero downtime. SQL Server 2008 also includes support
for structured and semi-structured data, including digital media formats for pictures, audio, video
and other multimedia data. In current versions, such multimedia data can be stored
as BLOBs (binary large objects), but they are generic bitstreams. Intrinsic awareness of
multimedia data will allow specialized functions to be performed on them. According to Paul
Flessner, senior Vice President, Server Applications, Microsoft Corp., SQL Server 2008 can be a
Page 28
data storage backend for different varieties of data: XML, email, time/calendar, file, document,
spatial, etc as well as perform search, query, analysis, sharing, and synchronization across all
data types.
Other new data types include specialized date and time types and a Spatial data type for location-
dependent data.http://en.wikipedia.org/wiki/Microsoft_SQL_Server - cite_note-iWeek-15 Better
support for unstructured and semi-structured data is provided using the new FILESTREAM data
type, which can be used to reference any file stored on the file system. Structured data and
metadata about the file is stored in SQL Server database, whereas the unstructured component is
stored in the file system. Such files can be accessed both via Win32 file handling APIs as well as
via SQL Server using T-SQL; doing the latter accesses the file data as a BLOB. Backing up and
restoring the database backs up or restores the referenced files as well. SQL Server 2008 also
natively supports hierarchical data, and includes T-SQLconstructs to directly deal with them,
without using recursive queries.
The Full-text search functionality has been integrated with the database engine. According to a
Microsoft technical article, this simplifies management and improves performance.
Spatial data will be stored in two types. A "Flat Earth" (GEOMETRY or planar) data type
represents geospatial data which has been projected from its native, spherical, coordinate system
into a plane. A "Round Earth" data type (GEOGRAPHY) uses an ellipsoidal model in which the
Earth is defined as a single continuous entity which does not suffer from the singularities such as
the international dateline, poles, or map projection zone "edges". Approximately 70 methods are
available to represent spatial operations for the Open Geospatial Consortium Simple Features for
SQL, Version 1.1.
SQL Server includes better compression features, which also helps in improving scalability. It
enhanced the indexing algorithms and introduced the notion of filtered indexes. It also
includesResource Governor that allows reserving resources for certain users or workflows. It
also includes capabilities for transparent encryption of data (TDE) as well as compression of
backups. SQL Server 2008 supports the ADO.NET Entity Framework and the reporting tools,
replication, and data definition will be built around the Entity Data Model. SQL Server
Reporting Services will gain charting capabilities from the integration of the data visualization
products from Dundas Data Visualization, Inc., which was acquired by Microsoft. On the
Page 29
management side, SQL Server 2008 includes the Declarative Management Framework which
allows configuring policies and constraints, on the entire database or certain tables,
declaratively. The version of SQL Server Management Studio included with SQL Server 2008
supports IntelliSense for SQL queries against a SQL Server 2008 Database Engine. SQL Server
2008 also makes the databases available via Windows PowerShell providers and management
functionality available as Cmdlets, so that the server and all the running instances can be
managed from Windows PowerShell.
JQuery
jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document
traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-
use API that works across a multitude of browsers. With a combination of versatility and
extensibility, jQuery has changed the way that millions of people write JavaScript.
jQuery is a lightweight, "write less, do more", JavaScript library.
The purpose of jQuery is to make it much easier to use JavaScript on your website.
jQuery takes a lot of common tasks that require many lines of JavaScript code to accomplish,
and wraps them into methods that you can call with a single line of code.
jQuery also simplifies a lot of the complicated things from JavaScript, like AJAX calls and DOM
manipulation.
The jQuery library contains the following features:
HTML/DOM manipulation
CSS manipulation
HTML event methods
Effects and animations
AJAX
Utilities
AJAX
Page 30
AJAX is about updating parts of a web page, without reloading the whole page.
AJAX allows web pages to be updated asynchronously by exchanging small amounts of data
with the server behind the scenes. This means that it is possible to update parts of a web page,
without reloading the whole page.
Ajax is not a single technology, but a group of technologies. HTML and CSS can be used in
combination to mark up and style information. The DOM is accessed with JavaScript to
dynamically display, and allow the user to interact with, the information presented. JavaScript
and the XMLHttpRequest object provide a method for exchanging data asynchronously between
browser and server to avoid full page reloads.
Classic web pages, (which do not use AJAX) must reload the entire page if the content should
change.
Examples of applications using AJAX: Google Maps, Gmail, Youtube, and Facebook tabs.
Investigation Phase
The investigation phase is also known as the fact-finding stage or the analysis of the current
system. This is a detailed study conducted with the purpose of wanting to fully understand the
existing system and to identify the basic information requirements. Various techniques may be
used in fact-finding and all fact obtained must be recorded. A thorough investigation was done in
every effected aspect when determining whether the purposed system is feasible enough to be
implemented.
Page 31
Investigation
As it was essential for us to find out more about the present system, we used the following
methods to gather the information: -
• Observation: - Necessary to see the way the system works first hand.
• Document sampling: - These are all the documents that are used in the system. They
are necessary to check all the data that enters and leaves the system.
• Questionnaires: - These were conducted to get views of the other employees who are
currently employed in the system.
Page 32
was quite difficult to enumerate that complexity of the problems and solutions thereof since the
variety of likely problems is so great and no solutions are exactly similar however the following
consideration I kept in mind during design phased.
The Analysis phase, defines the requirements of the system, independent of how these
requirements will be accomplished. This phase defines the problem that the customer is trying to
solve. The deliverable result at the end of this phase is a requirement document. Ideally, this
document states in a clear and precise fashion what is to be built. This analysis represents the
``what'' phase. The requirement document tries to capture the requirements from the customer's
perspective by defining goals and interactions at a level removed from the implementation
details.
The requirement document may be expressed in a formal language based on mathematical logic.
Traditionally, the requirement document is written in English or another written language.
The requirement document does not specify the architectural or implementation details, but
specifies information at the higher level of description. The problem statement, the customer's
expectations, and the criteria for success are examples of high-level descriptions. There is a
fuzzy line between high-level descriptions and low-level details.
Sometimes, if an exact engineering detail needs to be specified, this detail will also appear in the
requirement document. This is the exception and should not be the rule. These exceptions occur
for many reasons including maintaining the consistency with other established systems,
availability of particular options, customer's demands, and to establish, at the requirement level,
a particular architecture vision. An example of a low-level detail that might appear in the
requirement document is the usage of a particular vendor's product line, or the usage of some
accepted computer industry standard, or a constraint on the image size of the application.
There is a fundamental conflict between high levels and low levels of detail. The requirement
document states what the system should accomplish, independent of many of the details. The
discovery process used in establishing the requirements during the analysis phase is best
described as a refinement process than as a levels-of-detail process.
Top-down and bottom-up approaches force a greater distinction between high levels and low
levels of detail. Interactive approaches lead to the refinement of those details.
Page 33
Traditionally, the requirement document describes the things in the system and the actions that
can be done on these things. Things might be expressed as objects in an object-based technology
where data and algorithms are hidden behind hierarchical-polymorphic methods. Alternatively,
things might be expressed as services accessing databases in a functional approach where data is
a fundamentally different concept than functions. In general, the description of things in the
system can be much more general and not confined to a particular technology. In a more general
sense, this document describes the ontology, that is the noun phrases and the verb phrases, that
will become the guidelines for defining the application specific protocol.
The requirement descriptions of the things in the system and their actions does not imply an
architecture design rather a description of the artifacts of the system and how they behave, from
the customer's perspective. Later, in the design phase, these requirement descriptions are mapped
into computer science based primitives, such as lists, stacks, trees, graphs, algorithms, and data
structures.
The description of the abstraction of the noun phrases and the verb phrases are not bound to the
use of a written human language. Most written human languages are too vague to capture the
precision necessary to build a system. Alternative descriptive mechanisms based on
mathematical logic are sometimes more suitable but much more difficult to accomplish.
Mathematical logic provides a scientific foundation for precisely expressing information.
However, frequently in the real world, a precise description is not attainable.
Again the requirement document should state in a clear and precise fashion what is to be built.
The definitive mechanism to author such a document, either formally or informally, has yet to be
developed, although reasonable success has been achieved with existing methods including
CASE tools and tools based on mathematical logic.
Page 34
Acceptance Criteria
Here acceptance criteria mean that what are the requirements to be implemented in out project so
that customer accepts it easily. So following are the main point to be cared to make our project
easily acceptable to our client.
The system should have the following features:
• User Friendly: System should be user friendly and user should not have any difficulty in
using.
• Consistency: The information should be represented in a consistent manner from one form
to another.
• Attractive: The form layouts should be attractive so as to attract as many viewers as
possible.
• Color Scheme: The color scheme should remain constant and no drastic changes in the color
scheme should be present in going from one form to another.
• Simple: Use of simple, top-down design should be employed.
• Cost Effective: It should be cost effective and should use as minimum space as possible.
• Faster: Access to the Web Site should be fast
• Text: Background does not interrupt the text and Text is big enough to read, but not too big.
SYSTEM DESIGN
System design is the process of developing specifications for a candidate system that meet the
criteria established in the system analysis. Major step in system design is the preparation of the
input forms and the output reports in a form applicable to the user.
The main objective of the system design is to make the system user friendly. System design
involves various stages as:
• Data Entry
• Data Correction
• Data Deletion
• Processing
• Sorting and Indexing
• Report Generation
Page 35
System design is the creative act of invention, developing new inputs, a database, offline files,
procedures and output for processing business to meet an organization objective. System design
builds information gathered during the system analysis
DFD Symbols
In the DFD, there are four symbols,
• A Square defines a source (originator) or destination of system data.
• An Arrow identifies data flow- data in motion .It is pipeline through which information
flows.
• A circle or a bubble (or a oval bubble) represents a process that transforms incoming data
flow(s) into outgoing data flow(s)
Page 36
• An Open rectangle is a data store-data at rest, or temporary repository of data.
The DFD was first developed by “Larry Constatine” as a way of expressing system requirements
in a graphical form. A DFD, also referred to as a bubble chart has a purpose of clarifying system
requirements and identifying major transformations that will become the program in this system
design.
• An arrow line identifies the data flow or data in motion. It is a pipeline through
which information flows.
Page 37
• An open rectangle refers to the database storage
Page 38
4.5 Use case Diagram
Page 39
4.6 ER Diagram
Page 40
5. SYSTEM DESIGN
Page 41
5.1 TABLES
Copmose
Draft
Register
Page 42
Trash
5.2 Coding
Page 43
{
obj = new code();
}
protected void btnRegister_Click(object sender, EventArgs e)
{
obj.query("insert into tbRegister
values('"+txtName.Text+"','"+txtEmail.Text+"','"+txtPwd.Text+"')
");
txtName.Text = "";
txtEmail.Text = "";
txtPwd.Text = "";
}
}
The input to the Design Phase is the design document. During the coding phase, different
modules identified in the design document are coded according to the module specifications. The
Objectives of the coding phase is to transform the design of the system, as given by its module
specifications, into a high level languages and code and then unit this code. Software developers
adhere to some well defined and standard style of coding called coding standards. The reasons
for adhering to a standard coding style are the following.
It gives a uniform appearance to the codes written by different engineers.
It encourages good programming practices.
It encourages code understanding.
Coding Standards
• Rules for limiting the use of global.
• Content of the headers preceding codes for different modules.
• Errors return conventions and exception handling mechanisms.
Page 44
Code Walk-Through
It is an Informal technique for analysis of the code. A code walk through of a module is
undertaken after the coding of the module is complete. Here, after a module has been coded,
members of the development team selects some test cases and simulates execution of the by
hand.
Code Inspections
They aim explicitly at the discovery of commonly made errors. During which, the code is
examined for the presence of certain kinds of errors, in contrast to the hand simulation on code
execution as done in code walk-through.
Once the design is complete, most of the major decisions about the system have been made. The
goal of the coding phase is to translate the design of the system into code in a given
programming language. For a given design, the aim of this phase is to implement the design in
the best possible manner. The coding phase affects both testing and maintenance profoundly. A
well written code reduces the testing and maintenance effort. Since the testing and maintenance
cost of software are much higher than the coding cost, the goal of coding should be to reduce the
testing and maintenance effort. Hence, during coding the focus should be on developing that are
easy to write. Simplicity and clarity should be strived for, during the coding phase.
Page 45
code, which is used very heavily). In the coding phase, the entire system is not tested together.
Rather, the different modules are tested separately. This testing of modules is called "unit
testing". Consequently, this phase is often referred to as "coding and unit testing". The output of
this phase is the verified and unit tested code of the different modules.
Code is text written in a computer programming language. Such a language is specially designed
to facilitate the work of computer programmers, who specify the actions to be performed by a
computer mostly by writing source code, which can then be automatically translated to binary
machine code that the computer can directly read and execute. An interpreter translates to
machine code and executes it on the fly, while a compiler only translates to machine code that it
stores as executable files; these can then be executed as a separate step.
Most computer applications are distributed in a form that includes executable files, but not their
source code, which is only useful to a computer programmer who wishes to understand or
modify the program. Code is text written in a computer programming language. Such a language
is specially designed to facilitate the work of computer programmers, who specify the actions to
be performed by a computer mostly by writing source code, which can then be automatically
translated to binary machine code that the computer can directly read and execute. An interpreter
translates to machine code and executes it on the fly, while a compiler only translates to machine
code that it stores as executable files; these can then be executed as a separate step.
Most computer applications are distributed in a form that includes executable files, but not their
source code, which is only useful to a computer programmer who wishes to understand or
modify the program.
The source code which constitutes a program is usually held in one or more text files stored on a
computer's hard disk; usually these files are carefully arranged into a directory tree, known as a
source tree. Source code can also be stored in a database (as is common for stored procedures)
or elsewhere.
Source code also appears in books and other media; often in the form of small code snippets, but
occasionally complete code bases; a well-known case is the source code of PGP.
The notion of source code may also be taken more broadly, to include machine code and
notations in graphical languages, neither of which are textual in nature. An example from an
article presented on the annual IEEE conference on Source Code Analysis and Manipulation
Page 46
"For the purpose of clarity ‘source code’ is taken to mean any fully executable description of a
software system. It is therefore so construed as to include machine code, very high level
languages and executable graphical representations of systems.
The code base of a programming project is the larger collection of all the source code of all the
computer programs which make up the project.
Login Page
Page 47
Reset Page
Forgot Password
Page 48
Register
Compose
Page 49
Delete & Restore Mail
Draft
Page 50
Inbox
Outbox
Page 51
Reply
Trash
Page 52
6.TESTING
Page 53
The basic goal of the software development process is to produce software that has no errors or
very few errors. In an effort to detect errors soon after they are introduced, each phase ends with
verification activity such as a review.
As testing is the last phase before the final software is delivered, it has the enormous
responsibility of detecting any type of error that may in the software. Software typically
undergoes changes even after it has been delivered. And to validate that a change has not
affected some old functionality of software regression testing is performed
Test Stretegy
The system development life cycle involves the phases of testing and debugging after the
requirement analysis, designing and coding. The project in question was tested, debugged and
implemented successfully.
Two strategies of software testing adopted for the new system are as follows:
• Code testing
• Specification testing
Code Testing
Code testing was carried out to see the correctness of the logic involved and the correctness of
the modules. Tests were conducted based upon sample and live data as well. All the modules are
checked separately for assuming correctness and accuracy in all the calculations .
Specification Testing
It examines the specification stating about what program should do and how it performs under
various conditions. This testing strategy is better strategy since it focuses on the way the software
is expected to work.
Some other strategies are also used in the testing process and these are:
• Top-down testing: This approach tests high levels of system before detailed components.
This is appropriate when developing the system top-down and is likely to show up structural
Page 54
design errors early (and therefore cheaply). But this often has advantage that a limited,
working system is available early on. Validation (as distinct from verification) can begin
early. Its disadvantage is that stubs need to be generated (extra effort) and might be
impracticable 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).
• Bottom-up testing: This is opposite of top-down testing. This tests low-level units then
works up the hierarchy. Its advantages and disadvantages mirror those of top-down testing.
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, which does not accord with
incremental approach discussed above. Bottom-up testing is less likely to reveal architectural
faults early on. However, bottom-up testing of critical low-level components is almost
always necessary. Appropriate for OO systems.
• Stress testing: Tests system's ability to cope with a specified load (e.g. transactions per
second). Tests should be planned to increase load incrementally. This type of testing goes
beyond design limit until system fails (this test is particularly important for distributed
systems like checking degradation of performance a s network traffic increases).
• Back-to-back testing: Comparison of test results from different versions of the system
(e.g. compare with prototype, previous version or different configuration). Process – Run
first system, saving test case results. Run second system, again saving its results. Compare
result files. The key point to be noted is that no difference does not mean no bugs. Both
systems may have made the same mistake.
• Defect testing: A successful defect test is a test that causes the system to behave
Page 55
incorrectly. Defect testing is not intended to show that a program meets its specification. If
tests do not show up defects it may mean that the tests are not exhaustive enough. Exhaustive
testing is not always practically applicable. Subset has to be defined (this should be part of
the test plan, not left to the individual programmer).
Page 56
7. IMPLEMENTATION
Page 57
7. IMPLEMENTATION
Implementation is the stage in the project where the theoretical design is turned into the working
system and is giving confidence to the new system for the users i.e. will work efficiently and
effectively. It involves careful planning, investigation of the current system and its constraints on
implementation, design of method to achieve the change over, an evaluation, of change over
methods. A part from planning major task of preparing the implementation is education of users.
The more complex system is implemented, the more involved will be the system analysis and
design effort required just for implementation. An implementation coordinating committee based
on policies of individual organization has been appointed. The implementation process begins
with preparing a plan for the implementation for the system. According to this plan, the activities
are to be carried out, discussions may regarding the equipment has to be acquired to implement
the new system
Implementation is the final and important phase. The most critical stage is in achieving a
successful new system and in giving the users confidence that the new system will work and be
effective. The system can be implemented only after thorough testing is done and if it found to
working according to the specification. This method also offers the greatest security since the old
system can take over if the errors are found or inability to handle certain types of transaction
while using the new system.
The major elements of implementation plan are test plan, training plan, equipment installation
plan, and a conversion plan.
Page 58
IMPLEMENTATION TOOLS
• Training personnel
• Conversion Procedures
• Post-implementation review
User Training
User may be trained on use equipment, particularly in the case where, e.g. a micro computer is in
use and individual involved is both operator and user. In such cases, user must be given training
on how to operate and user. In such cases, user must be given training on how to operator the
system also. Questions that may be trivial to the analyst, such as how to turn on a terminal, how
to insert a diskette into a micro-computer or when it is safe to turn off equipment without danger
of data loss are significant problems to new users who are not familiar.
Page 59
In most of the cases user training deals with the operation of the system itself, with proper
attention given to data handling techniques. It is imperative that users be properly trained in
methods of entering transaction, editing data, formulating inquiries, deleting and inserting of
records. No training is complete without familiarizing users with simple systems maintenance
activities. Weakness in any aspect of training may lead of awkward situation that creates user
frustration and error.
Conversion Methods
A conversion is the process of changing from the old system to the new one. It must be properly
planned and executed. Four methods are common in use. They are Parallel Systems, Direct
Conversion, Pilot System and Phase In method. Each method should be considered in the light of
the opportunities that it offers and problems that it may create. In general, system conversion
should be accomplished in shortest possible time. Long conversion periods create problems for
all persons involved including both analysts and users.
Parallel Systems
The most secure method of converting from an old to new system is to run both systems in
parallel. This method is safest one because it ensures that in case of any problem in using new
system, the organization can still fall back to the old system without the loss of time and money.
Direct conversion:
This method converts from the old system to new system abruptly, sometimes over a weekend or
even overnight. The old system is used until a planned conversion day, when it is replaced by the
new system.
Page 60
Pilot System
Pilot approach is often preferred in the case of the new system which involves new techniques or
some drastic changes in organization performance. In this method, a working version of the
system is implemented in one part of the organization, such as a single work area or department.
Page 61
8. DOCUMENT / MAINTAINENCE
Page 62
8. MAINTENANCE
Maintenance includes all the activity after the installation of software that is performed to keep
the system operational. As we have mentioned earlier, software often has design faults. The two
major forms of maintenance activities are adaptive maintenance and corrective maintenance. It is
generally agreed that for large systems, removing all the faults before delivery is extremely
difficult and faults will be discovered long after the system is installed. As these faults are
detected, they have to be removed. Maintenance activities related to fixing of errors fall under
corrective maintenance.
Removing errors is one of the activities of maintenance. Maintenance also needed due to a
change in the environment or the requirements of the system. The introduction of a software
system affects the work environment. This change in environment often changes what is desired
from the system. Furthermore, often after the system is installed and the users have had a chance
to work with it for some time, requirements that are not identified during requirement analysis
phase will be uncovered. This occurs, since the experience with the software helps the user to
define the needs more precisely. There might also be changes in the input data, the system
environment and output formats. All these require modification of the software. The maintenance
activities related to such modification fall under adaptive maintenance.
Maintenance work is based on existing software, as compared to development work, which
creates new software. Consequently maintenance resolves around understanding the existing
software and spares most of their time trying to understand the software that they have to
modify. Understanding the software involves not only understanding the code, but also the
related documents. During the modification of the software, the effects of the change have to be
clearly understood by the maintainer since introducing undesired side effects in the system
during modification is easier.
To test whether those aspects in the system that are not supposed to be modified are operating as
they were before modification, regression testing is done. Regression testing involves executing
old test cases to test that no new errors have been introduced. Thus, maintenance involves
understanding the existing software (code and related documents), understanding the effects of
Page 63
change, making the changes - both to the code and documents, testing the new parts (changes),
and resetting of the old parts that were not changed.
Since often during development, needs of the maintainers are not kept in mind, little support
documents are produced during development to aid the maintainer. The complexity of the
maintenance task is coupled with the neglect of maintenance concerns during development
which makes maintenance the most cost effective activity in the life of a software product.
In the software life cycle, the maintenance phase is the last stage of the cycle. After software
passes the design stage and is implemented, the maintenance phase of the software life cycle
begins. Understanding the characteristics of the maintenance phase of the software life cycle
allows individuals tasked with analyzing the performance of the software after deployment to
correctly resolve issues that arise.
Page 64
Maintenance Phase Length
The maintenance phase lasts the longest of all phases of the software life cycle. The primary
reason that the maintenance phase last longest is the life of the software. Most software programs
remain in operation until they become obsolete due to changes in a user's needs or until the cost
of maintaining the software becomes prohibitive to future use of the software. Many designers
release newly designed replacement software programs while previous versions of their software
continue to undergo maintenance. Although the newest version of these software programs are
commercially available to computer users, the company continues to maintain previous versions
of the software and make patches available through Windows Update services for a specified
amount of time.
Page 65
9. FUTURE SCOPE
&
CONCLUSION
Page 66
9.1 CONCLUSION
This chapter provides me an opportunity to do self-introspection of what value I have added to
my knowledge and skill set and to the project.
Exposure to entirely different technology: Working on .Net Framework for the first
time was a very enriching experience. I had never worked on this platform earlier. So it added to
my list of knowhow and the computer languages known to me.
Database Implementation: I had earlier made database but worked on SQL2008 for the
first time. I learnt many new things about database creation etc. We learn many things
theoretically as part of our curriculum but here I got a chance to apply my knowledge practically
and enhance it also at the same time.
Implementation of User Interface Layer (UI Layer): I have also designed the UI
layer that contains the web pages. Also it contains the Code Behind pages to implement the
programming logic.
Page 67
9.2 FUTURE SCOPE
There are large numbers of commercial Online Shopping websites offering large number of
products tailored to meet the shopping interests of large number of customers. These online
marketplaces have thousands of products listed under various categories. The development of the
proposed system is done keeping in view the problems in the existing system. The proposed
system will not only overcome the limitations of the present system but will also provide the
following characteristics.
To reduce the paper work involved in managing the information regarding different
software’s.
To reduce the time constraint that is just wasted because of manual work.
To maintain all steps involved from purchasing the software from its provider to make it
available to the clients.
Page 68
10. BIBLIOGRAPHY
&
REFERENCE
Page 69
10. REFERENCES
Books
Wrox programmer to programmer Wrox Publication
SQL Server 2008 Microsoft Press
Websites
www.msn.com
www.google.com
www.daniweb.com
www.codeproject.com
www.csharpcorner.com
Page 70