This dissertation has been submitted by a student. This is not an example of the work written by our professional dissertation writers.

Chapter 1 INTRODUCTION

1.1 Topic Of System

1.2 Purpose Of Situation

1.3 Target Audience

1.4 Topic Background

1.5 Problem Context and Rationale

1.6 Objectives Of System

1.7 Functionality Of System

1.1 Topic of the System: -Virtual Mail Campaign Manager

1.2 Purpose of the situation

Internet marketing place a vital role in present marketing policies used by individuals and organizations to reach the mass user at one go. The most convenient way as discussed is email and in this scenario if somehow mail doesn't reaches the target user or due to some reason lands up in spam folder of the user then such marketing will all go in vain and that would be a total waste of investment. In order to minimize the business investment loss it is therefore important to manage and invest in right direction with result oriented approach in order to maximize the organizational benefit and fruitfulness of marketing.

In such situation when business has become so crucial that each step has to be taken with extreme care it is highly necessary to use effective systems that gives almost 100% accuracy with best market prices.

Therefore, this System “Virtual Mail Campaign Manager” gives user the best returns in terms of results. It helps in optimizing the marketing investment of the organization and also prevents the mixing of thousands of spam with the mails which can actually be helpful to user as well the investing organization.

Development of effective is not only important but also essential for effective internet marketing and therefore purpose of this system is logical and justified.

1.3 Target Audience

Audiences are those for whom the system is being developed. Identifying the right target audience is an important component to make any project successful. Failing to identifying the right user for the system would lead to system failure.

Target audience of VMCM includes wide range of users including novice as well as expert marketing people.

1. Novice User (Businessmen)

This category of user includes all the small to middle level entrepreneurs who take care of their marketing by themselves. This kind of user are not generally very proficient in computer operations and thus the flow of system is as simplified as possible in order to help user while promotion of his/her products/services.

2. Freelancers

This category of user includes all freelance developers and marketing individuals who deal with promotions of products and services of their clients. This type of users is comparatively more familiar with operations of web. And with the smooth navigation of the system, they would be capable in increasing efficiency in their work and thus helping them to increase their productivity.

3. Web promoters

This category of user includes organizations which are dedicated to marketing business. Such organizations work for promotions for their clients in various fields like SMS-Marketing, ADSENSE, email marketing and several other offline measures to increase the productivity of their clients. With VMCM they can effectively manage email marketing campaigns of their clients. And effective management leads to more number of clients.

4. Web Researchers

There are several individual/organizations that use email campaigns for conducting survey over internet. VMCM would provide them a platform to reach the internet crowd with effectiveness.

1.4 Topic Background

With the growth of internet use, it has affected the current market of each and every vertical of every industry. Now a day every business has its partial or complete component operating through internet. When business has dominated its presence on internet so as the ways to expand it has also selected the internet way to attract more and more users in order to spread business vast and huge ultimately in order to get more and more customers around the globe.

There are several ways to promote any product/service on internet which includes Websites with Search Engine optimization to dominate search engine results, advertisement across several sites to catch the eye of user, ad words (e.g.: Google sponsored listing), Bulk SMS (sending hundreds rather thousands of SMS through internet API) and Email Marketing (Contracting with several service provider to send promotional mail to their subscribers via e-mail). There might be several other ways which are currently not in lime light but do exists.

1.5 Problem Context and Rationale

In the present era internet is most used and fastest mode of information transmission medium available. Email is one of the most used features on internet. We often find many mails in our email inbox regarding some offers, while some are personal mails. Now these mails regarding offers are the result of some subscription we clicked for some time somewhere. This is known as opt-in newsletter. If user has not subscribed for newsletter and someone try to send bulk emails then this email goes to spam folder. At the same time such bulk mail cannot be traced whether they have reached the destination or not. And if reached even they have been read or not. That is why a person sending bulk emails is just sending them and then there is no record of what happened with those mails.

Here Are Some Problems which were identified while analyzes the present system.

Wastage of emails as the current systems are not so effective in sending bulk emails simultaneously therefore this results in wastage of so many emails and associated cost which result in organizational loss.

Loss of information Many times some has to be delivered to each and every member of the list but due to improper functioning of current systems many users do not get the right information at right time.

Spamming Due to wrong use of email id repeatedly with improper headers results in spamming of mails and repeated use of such mails can result in black listing of email address by several email servers and that way used email id is treated as a spammer.

Absence of statistics Current systems do not any statistics of emails sent by any user therefore user is unable to predict the statistics of emails sent and is unable to make future strategies accordingly.

RATIONALE BEHIND THE SYSTEM

Because of existence of identified problems there is an immediate requirement of such project. This project will serve to fulfill many aspects of mailing system and would help users to conduct successful mail campaigns. Some of the benefits are mentioned below.

Tangible benefits:

Saving Money - Whenever a user wants to send bulk mail, user has to buy a certain package for number of mails whose information is in anyways not known to him. The money is definitely wasted via amount of mails that are bounced or sent to spam folder of mail. Using this tool will ensure user that his money is not wasted rather he can monitor each and every mail ensuring the right investment. This save a lot of money that was wasted in general bulk mails.

Intangible benefits:

Campaign Reports - User gets each and every report of the campaign held. How many mails were sent in which campaign, number of bounce mails, unsubscribe reports etc. User is aware of all the records and they all can be monitored just on a click. This way takes care of investment that he paid for the number of mails.

Mail Status - User gets the current status of sent mails. Whenever a mail is sent that signifies it has reached the inbox of mail user. After reaching the inbox mail user would or would not read the mail. If any mail user reads the mail then sender gets its current status and can predict exactly how many users are now aware about the content of the mail. This prediction of users reading the mail will help in predicting the number of expected leads through campaign. And this estimation will help in targeting right audience for a particular mail campaign.

Newsletter service - Along with bulk email, this software also allow user to create their own newsletter service and can give options to additional users to be a part of mail campaign. This would add even more contacts to mailing list of any user and that way more chance of getting leads, that would result in more business, more profit.

Save time - when a user has exact reports about whatever mail he has sent. Then a successful campaign would save the time spent for many more unsuccessful campaigns that would be needed in case of general bulk mailing systems.

Reaching the inbox - Sending a mail is useful only if a user is able to see it in inbox. General mails end up in spam folder and then a user visits spam folder once a week and click “Delete all Spam” this result in deletion of mail without even coming to mail user's eye. This way reaching the inbox would help in getting attention of user for a while.

Increase your Bottom Line - studies show that the average consumer to watch or hear your message seven times before he or she should buy from you. That's a lot of reps! By e-marketing campaigns and can be made up of a series of e-mail to strengthen your marketing message and build your brand, so if you are willing to buy them first, you think of your company.

Two-way communication with customers - with email marketing is to sell fairly easy to get feedback from customers by simply sending a quick follow-up e-mail later. It's a good way to find out what they think of your products or services and gives them a different Ability to interact with you, too

Keep them Coming Back - A satisfied customer is a source of more customers, often more repeat business for you. Satisfied customers also tend to refer their knowns and relatives that generate new customers for you. Bulk can be used to stay in touch with customers and tell them about Special Offers or New Products or make them among the first to know when a sale is in progress. E-mail marketing customer service is a great way to improve customer loyalty.

1.6 Objectives of the system

1.6.1 PROJECT OBJECTIVES

Bulk Filters: Every mail server including Gmail, Yahoo, Rediff, MSN etc have their own spam filters on the basis of which the mail is categorized as spam or genuine. Whenever a mail server for example Gmail receives so many mails say 1000 mails from same IP address at same time then it is categorized as spam.

Headers: Every mail has some header values which contains some information about the sender of the mail. It includes “From”, “To”, “mailed by”, “reply to” etc. If one or more of these parameters are missing then chances are that the mail would be categorized as spam.

Packetization: As so many Mails cannot be sent by same mail server therefore huge mails campaign need to be broken down into smaller fragments of 100 mails each and then will be sent to different servers through which the mails will further be sent.

Mail scheduling: System will be providing the user with a facility to schedule any mail campaign to be sent in future. This would be done by the use of crone jobs. A crone job will run every 15 or 30 minutes that will check for the pending mails in the stack and if any pending mails or scheduled mail at that time present then the crone initiates the mail campaign and starts sending of mails.

Keywords Filter: Most of the spam filters also have this feature in common that whenever a mail with so many free in its subject or body is categorized as spam. In fact there is a list of word whose repetitive use is considered as spam and mail containing such words is directly categorized as spam.

Mail architecture: Not just the spammed words but also the type of structure followed in mail can also result in mail being spammed. If a mail has so many images with hardly any text in it, or if it has too bulky attachments with it, or even if the text used in mail is much in caps and several other parameters contributing to this would result mail being spammed.

Mail Status: This System would be able to get the current status of mails sent in any campaign. This system will be able to provide delivery reports of mails and also it will provide status of the mail whether the mail has been read or not. This way user can track the efficiency of the mail campaign.

Reports: System will be able to provide reports of mail campaigns. These reports includes sent reports, read reports, comparison charts etc.

Statistics: As report about sent mail is not available it is not possible to predict the statistics of the mail campaign held. So that way that campaign shows to result until and unless some user who received the mail would reply. Even then no statistics can be prepared for the campaign that included thousands of mails.

Newsletter subscription: System will allow user to start his/her own newsletter service, through which they send a newsletter to all the subscribed users on a regular basis. Also they will be able to place the subscription form on their website or any desired place. User will be provided with an html code which is to be inserted in any desired web page and through that form user can subscribe for newsletter for that particular user.

1.6.2 ACADEMIC OBJECTIVE

Project Management: By developing this system developer would develop the skills of project management. This involve a range of things which the develop would certain skills like time management, schedule management, priority management, project documentation, resource management, budget management, referencing and lot other skills which helps in improving the professional experience of a individual.

Programming languages: While developing this system developer would need advance and gripped knowledge of PHP like curl, xml API and mail classes and several other concepts which would be involved in the process of system development.

Web Technology: As this system involves the use of web server routing, server cron jobs, Mail API, Scheduling, Shell Scripting and several other web components which were not in syllabus are to be used in development of this system. Knowledge of these areas would help developer to improve the skills in field of web technology

1.7 SUCCESS CRITERIA

Several worthwhile voyage starts with no clear picture of your destination where we have t o reach, and if you are not aware of the start or beginning of the your software system or of any project how you will gain success in that particular project or any business, you will definitely face trouble in it .At the time of defining precise success criteria by the time of project's beginning phase is necessary to keep stakeholders focused on shared objectives and it set up targets for evaluating progress.

Four-step process for defining project success criteria

  1. Identify project stakeholders: This is the important part to identify stakeholder's means that who are people involved and what are their needs. If system will be developed according to the stakeholders need then it would be helpful in the success of project and system software.
  2. Define project or system software goals and objectives: It is important to define system software objective or goals in order to develop a successful system. If your system objective or goal will not be clear than how will you proceed to make a good system?
  3. Accurate methodology and proper coding: It is important to use proper methodology and also accurate coding practices for a successful system to be developed. It is important to give emphasis on these two otherwise there will be chance of system to get failed.
  4. Practical Prospects: It is important that system functionalities should be clear and practical in all aspects. Your requirement should not be unreal means it should be in such way that you cannot fulfill that requirements and functionalities of that system.
  5. Interactive interface: Interface design of software system must be interactive and must be in such a way that it should be user friendly. And user must be get interacted towards system software or tool.1

1.8 SCOPE AND FUNCTIONALITIES OF THE PROJECT

1.8.1 FUNCTIONALITIES TO BE IMPLEMENTED

The functionalities of the system that will determine the scope of the system can be classified in 3 categories:

  1. Core Functionalities
  2. Enhanced Functionalities
  3. Special Functionalities

1.8.1.1 CORE FUNCTIONALITIES:

Login Module The system has a login module which can be used by different types of users. This module is used for verifying whether the user has an activated account with the system or not. If the credentials used to login the system do not match the stored data then user will be prompted to enter the current credentials again.

Credits Check Module Every user has a limited number credentials assigned by admin of the system which can be used to send mails and host mail campaigns. Whenever a mail campaign is initiated system checks for the balance credit of the logged in user. If credits left are less than the numbers of mails assigned to campaign ten the system will generate an error message and will provide user with an option of buying more credits or cut short the list of mails such that it fits the left balance. And if credits are sufficient to shoot the campaign then the process would precede un-interrupted.

Server Allocation Mail campaigns are fragmented into smaller packets which are then diverted to several servers configured to send mails. This module deal with breaking down larger packets into smaller packets and then route the mails to assigned server respectively in order to shoot mails through various server that would minimize the possibilities of spamming due to server traffic.

Template Assignment: This module deal with assigning the selected template to the mail structure for formatting of the newsletters. There are various templates available in the system and additional templates can be imported and designed. These templates can be used for sending the mails in a particular chosen format.

Report Fetching this module deals with fetching the reports of the mails sent through the mail campaigns. This involves Making the API calls and fetching the reports of the mails. This includes various API like mail delivery report. Mail read status report etc.

Mail Scheduling: This module deals with assigned the mail campaign on a particular time to start in order to send the mail at a particular time user would schedule the mails. This module will save these mails in a different table with the assigned time and status so that when the scheduled time arrives mail campaign will be initiated automatically.

Cron This Module Deal with checking the pending mails from a particular user and would run at defined intervals. If there are any pending mails in the mail stack then this module will take the data and redirect the pending mails to Mail Sending module.

Mail Sending: This Module deal with sending the mails with the proper mail class's protocol to reach the inbox of targeted user. This mail uses PHP Pear classes and some programming concepts to send the assigned mails. Different server sends mails redirected to them in the same manner maintaining the consistency of the system.

1.8.1.2 SPECIAL FUNCTIONALITIES:

Chart Framing: This module deals with preparing the interactive charts for the campaigns sent by any user. This module collects the data from the database and prepares interactive charts using flex and PHP technology. This would give an overview about the result of mail campaigns.

SMS Confirmation This module deals with sending the confirmation message to user when the mail campaign is complete. This module detects the sending of mails and when all the mails are routed to different servers then it picks up the mobile number of the user from database and sends the information about the mail campaign assigned by him/her.

1.8.1.3 ENHANCED FUNCTIONALITIES:

Spam Checker This module deals with check the spamming parameters in the mail body. If the mail body contains some elements which can be a cause of spamming then it prompts an error reflecting the need of changes in the male body.

Credit Allocation This module is designed for admin through this module admin can assign email credits to any particular user which can be used to shoot mail campaigns.

1.8.2 EVIDENCE FOR LIMITING THE PROJECT SCOPE

Apart from the above functionalities it is possible to add more functionality into the system but as the project time and cost is limited so only the defined functionalities will be developed. The functionalities that can be incorporated in the project at a later stage can be termed as future enhancements in the project.

1.8.3 MAJOR DELIVERABLES OF THE PROJECT

  1. PPF and PSF
  2. Research documents.
  3. Fully functional system
  4. Full documentation of the system
  5. Presentation

1.9 PROJECT PLANNING

1.9.1 PROJECT MANAGEMENT

Project Management is the application of knowledge, skills and tools to project activities to meet project requirements. Project Management helps in successfully planning, executing and implementing the project on time, within budget and with expected functionalities.

The Project Management activities are as follows:

  1. SCOPE MANAGEMENT
  2. TIME MANAGEMENT
  3. COST MANAGEMENT
  4. QUALITY MANAGEMENT
  5. HUMAN RESOURCE MANAGEMENT
  6. COMMUNICATION MANAGEMENT
  7. R0ISK MANAGEMENT
  8. PROCUREMENT MANAGEMENT
  9. PROJECT INTEGRATION MANAGEMENT

1.9.1.1 SCOPE MANAGEMENT

The scope is the most important element to understand about any project. All planning and allocation of resources are anchored to this understanding.

After the preliminary investigation is over, the next step is to create a WORK BREAKDOWN STRUCTURE (WBS).

1.9.1.1.1 PROJECT DEVELOPMENT PLAN - WBS

1.9.1.2 TIME MANAGEMENT

The project will be developed in a fixed amount of time and will be delivered on the proposed date. Time for each activity has been calculated and as per the time, a Gantt chart has been made to depict the time taken for each activity.

1.9.1.2.1 GANTT CHART

1.9.1.3 QUALITY MANAGEMENT

3Quality is considered as the most powerful factor to capture, retain and enlarge customer base in the modern business scenario. Achieving customer satisfaction is the essential business of business and quality management is the most effective enterprise strategy. The state-of-the-art quality management is an embodiment of concepts, methods and applications. In the last few years, the business world has stood witness too many real life success stories.3

1.2.5.1 TEST PLAN

A test plan documents the strategy that will be used to verify and ensure that system meets its design specifications and other requirements. A test plan is usually prepared by or with significant input from Test Engineers

Software Testing can also be stated as the process of verifying that a software system:

  1. Meets the requirement stated in the project agreement
  2. Gives expected out in functions.
  3. Can be implemented in the developed state.

Conceptually, testing is done to ensure that the system all the functions of the system work as expected without errors and according to the Software Specification

Testing is a crucial phase of system development as the practical implementation of system depends completely on this phase. So selection of an appropriate testing method is also very crucial as a wrong decision can spoil the whole project. As per the demand of this project and the methodology thought of, the testing techniques used for this system are as follows

  1. Unit Testing.
  2. Integration Testing.
  3. System Testing.
  4. White box Testing.
  5. Black box Testing.

1. Unit Testing

Available on: http://www.manning.com/osherove/SampleChapter1.pdf

4The primary goal of unit testing is to test the smallest piece of testable unit in the application, isolate it from the rest of the code, and determine whether it behaves exactly as expected. Each unit is tested separately before integrating them into modules to test the interfaces between modules. Unit testing has proven its value in that a large percentage of defects are identified during its use. This system comprises various modules which perform various tasks and need to be checked independently for proper function checking and verification. Therefore developer included Unit Testing in the testing phase of project development.4

2. Integration Testing

5Integration testing is a logical extension of unit testing. In its simplest form, two units which have been already tested in unit testing phase are combined into one module and the functioning between them is tested. In a practical scenario, more than two units are combined into components, which are in turn aggregated into even larger parts of the program. The target is to test combinations of units and eventually expand the process to test one unit with those of other units. Eventually all the units making up a process are tested together. Beyond that, if the program is composed of more than one process, they should be tested in pairs rather than all at once.5

Similarly, this system is combination of various units combined together to form the complete system. Thus function of all the units together is necessary for the proper functioning of system.

1. System Testing

The process including a series of test is carried out to find out the bugs in system. System testing is usually required before and after a system is put in place. A series of systematic procedures are referred to while testing is being performed. These procedures tell the tester how the system should perform and where common mistakes may be found. Testers usually try to “Fail the system” by entering the data which would result in malfunction of system.6

This system is complete when it works fine as a whole. System testing is perform to verify whether the complete system “Virtual Mail Campaign Manager” works fine, if not then identified errors would be solved accordingly.6

4. 7White Box Testing

White box testing is done with the knowledge of how the system is developed. White box testing includes analysis of data flow, control flow, information flow, coding practices, and exception and error handling within the system, to test the intended and unintended software behavior. White box testing can be performed to validate whether code implementation follows intended design, to validate implemented security functionality, and to uncover exploitable vulnerabilities.

White box testing requires access to the source code. Though white box testing can be performed any time in the life cycle after the code is developed, it is a good practice to perform white box testing during the unit testing phase.

White box testing of this system would be done by the developer in the unit testing phase to check the functionalities of individual units and if errors are found can be resolved by rectifying the errors in the source code.7

5. Black Box Testing

8Black box testing takes an external perspective of the test object to derive test cases. These tests can be functional or non-functional, though usually functional. The test designer selects valid and invalid input and determines the correct output. There is no knowledge of the test object's internal structure.

This method of test design is applicable to all levels of software testing: unit, integration, functional testing, system and acceptance. The higher the level, and hence the bigger and more complex the box, the more one is forced to use black box testing to simplify. While this method can uncover unimplemented parts of the specification, one cannot be sure that all existent paths are tested.8

Chapter 2 Problem Description

Currently existing systems are facing several problems due to lack of required functionality to provide a complete convenient system for the purpose of email marketing. Problems identified are discussed below with the justification and the proposed solution to overcome those problems.

Absence of Mail Reports

Current systems do not provide any information about the mails sent by any user and the further details whether the mail has been read or not.

Justification

As the user does not get any information about the mails sent by the user this result in ambiguous inference of the mail campaign initiated by the user.

Proposed Solution

System should contain information about delivery of the mails and should contain the details of the mails sent in the sent mails folder. System should also contain information about the delivery reports of the mails. Along with these reports system should provide information regarding the read status of the mail. This would help user to infer the number of user who have actually read the sent mail that would help in preparing the statistics of the mail campaign.

Implementation

The system “Virtual Mail Campaign Manager” Uses several tactics to get the read status of any mail. This helps in getting the exact statistics of the mails campaign which help in judging the success of mail campaigns.

Spamming Of Mails

Current system does not implement any strong method to prevent the spamming of mails sent. There are various parameters which result in spamming of mail and sometimes even can result in black listing of mailing server or of email id.

Justification

If a user sent 1 million mails and due to the absence of spam filter at the mailing end that complete mail could end up as spam and would contribute nothing as a marketing strategy. This way use of email marketing would of no benefit for the user.

Proposed Solution

System should be designed in such a way so that it detects the spam content in the mail if any and would then suggest user to make the necessary correction in order to prevent spamming of the mail.

Implementation

This system “Virtual mail campaign manager” implements several parameters to prevent spamming of mails sent. This includes checking of spam words in the mail body, also this system sends mails in form of fragments rather than sending all the mails via same server so the spamming due to excessive use of single server to shoot mails.

Absence of Interactive Charts

Current systems do not provide any interactive charts to compare the various entities of the mail campaign. User cannot get any comparison of sent mails against number of mails read and out of them actually how many used the links to use the services sent in the mail.

Justification

If a user sends 1 million mails and for instance all the mails are even delivered then how wills a user compare how many users actually read the mail and a ratio of delivered mail against read mails is required to calculate the success ratio of the mail campaign.

Proposed Solution

System should contain some interactive charts or graphs to represent the overview of above parameters are graphical manner so that user could get the idea about the statistics and comparison of different entities.

Implementation

This System provides several Pie Charts using PHP Graph API and also it represents comparison of all the entities using flex technology. This makes is easier for user to get the desired reports and comparison statistics about the mails campaigns.

Chapter 3 Literature Review

Email i.e. Electronic mail is a practice of sharing digital information or data over the internet or any other computer network commonly calledemailore-mail, is a method of exchangingdigitalmessages across theInternetor over any othercomputer network-mail used to transferred between two users which are situated at distant places'-mail services includes sending, forwarding, receiving, and keeping stocks of E-mail.

Electronic mail describes the beginning of theInternet and this way it was an important system for developing it. Today what we know as file directories, email was just a small advance of it earlier. You can put your message in any other user's file directory in a particular place where users after logging in can see these messages. This practice is somewhat like leaving a note on some people's desk.

9Perhaps the origin of email system of this type was MAILBOX, used at Massachusetts Institute of Technology from 1965. One another early system of this type for sending messages on a particular same computer was known as SNDMSG.9

Compatible Time-Sharing System(CTSS) was the first system which was demonstrated by MIT (Massachusetts Institute of Technology) IN 1961.It give permission to large number of multiple users for logging into the IBM 7094from remote dial-up terminals and it used to save and collect files or data into the storage device. Email i.e. electronic mail is very much Email is much older than Arpanet or the Internet. It was developed and evolved by taking ideas from simple beginnings.

  1. In 1965 E-mail was first in such a way that for multiple users of atime-sharingmainframe computerto be in touch with other. The first systems were SDC'sQ32and MIT's CTSS, which were having such kind of capabilities and facilities.
  2. For communicating with other users and people E-mail is best way which is fast and easy. E-mail is very much popular in the context of for personal and also for business use. Many organizations and business owners use power of E-mail in the context of using Bulk-Email to extend their business via mean of internet marketing. Many people use Bulk-Email for staying in touch with special people for their profits. It has some bad effect also, many bad people and organizations use it with fake and it has a dark side, too, as some unscrupulous companies use it inappropriately to bombard people with unnecessary vending. It is also used for spamming by scammers in order to distract people via mean of even used by scammers to draw people into false dealings.
  3. If you want do proper, effective and high quality marketing with the help of bulk mails you always remember in mind that you should forward bulk mail after a particular gap with bulk mail sent before. You must not send all the bulk mails together. You should keep in mind that to the person whom you are sending mails is interest in your service or products or not, you should not irritate that person by sending mail again and again. If that particular parson is not interested in your services or products then you should avoid sending mail, if you will do this again and again than it will be a negative marketing which can cause bad effect.
  4. 10Bulk mails are often referred to as junk or spam mails as the term bulk denotes unwelcome and mass emails. However, if the bulk emails are forwarded with a specific objective and are targeted to a particular section of the society, these bulk mails can prove to be effective marketing tools.10

Major component that should be present in a mailing system

In order to develop an effective mailing system, a lot of research on the concepts of mailing is essential. The research area will be:

Internet marketing - Understand the current scenario of internet marketing and the effect of email marketing in the industry.

Emails Concept - What are the possible uses of emails, how can email be best utilized.

Animation - For displaying and comparison of various reports graphs and charts will be used.

Spam Filters - Understand how spam filter works and prepare the application in order to prevent filtering of mails.

Newsletters - Understand the use of newsletters, prepare templates.

Besides Drifting, other academic research areas that need to be looked into are:

Human Computer Interaction - A Glance at HCIU principles in order to make application effective, easy to use and consistent.

Design Principles - A good multimedia system are developed by following the principles of a good multimedia design model, it is somewhat related to HCI.

Programming Language - There are many different types of programming languages available, according to the project needs, specific languages have to be chosen and learnt in order to produce the best result.

Software Methodology - Different types of methodology are to be reviewed and come up with comparisons between them, in the end the best methodology would be selected for the project.

Research on similar systems

It is necessary to compare the “THE VIRTUAL MAIL CAMPAIGN MANAGER” in order to prove it more superior to existing system or tool. There many these types of tools available which are not as efficient as “THE VIRTUAL MAIL CAMPAIGN MANAGER”. These tools have less functionality than “THE VIRTUAL MAIL CAMPAIGN MANAGER”. To prove this a research analysis is need to be carried out.

Some of the existing similar systems present are as follows on the basis of which research has been done:

Newsletter Services

Currently newsletter service is the one which can deliver the mails to the inbox of the targeted user. But if a user has not subscribed to the newsletter then the mails cannot be sent to that user until the user is verified.

Bulk Email Service

Although there is not much provider which provides bulk email service providers which provide bulk email service. And the service provider which gives the facility of bulk mail is unable to ensure the delivery of mail to the inbox.

Along with these both type of service are unable to provide reports, charts and status of the mails sent. User is unable to predict the statistics of mail campaign initiated by the user.

This system “Virtual mail Campaign Manager” is designed to overcome the limitations of both these system. It prevents the spam filters and also provide user with the different types of charts and graph to ensure the right investment of the user.

CONCLUSION

From the above research we can conclude that “THE VIRTUAL MAIL CAMPAIGN MANAGER” is far superior to existing system. Major objective of this project is to provide user with an interface to manage mail campaigns and reports of campaigns held. To develop an easy to use system for sending successful mails to thousands of users simultaneously. This system includes an advance web based mailing system that provides a complete solution for email marketing. This system is based on several advance concepts that are new in the field of internet marketing. This system would create a new demand of email marketing in the industry. This is an easy to use, user friendly, effective solution to the problems currently faced by system.

ARCHITECTURE OF THE SYSTEM

5. The architecture to be used in this system is 3-Tier Client/Server Architecture .It is a three way interaction in the client/server environment.

Available on: http://www.patriotbrothers.com/images/3tier_2.png

There are many reasons for choosing this architecture:

  1. The main reason behind choosing this architecture is that it is scalable in such a way that on many machine applications server can be employed.
  2. From a smaller number of applications database no longer requires a connection from each and every client.
  3. It is of better reuse means the specific language of implementation of middle tier can be made transparent if you employ an object.
  4. It assures better improved integrity in a sense that in database only valid data is allowed to be updated.
  5. It provides better security since the client has not direct access to the database.
  6. It provides reduced distribution in a way that there is no need to distribute the business logic to all the clients; it only need not be updated on the application servers.11

Chapter 4 Research Methods

4.1 PRIMARY RESEARCH

It is research which is arranged in such a way that to discover original and relevant data. This type of research is known as primary research. For performing this research original research plan should be analyzed which will include data gather, data input and after this development and research of the consequent output is done. The method which is used to gather and obtain proper information from is as given below:

4.1.1 Questionnaires

Questionnaires can be defined as it is a list of questions which are planned to gather precise data and information. It is used for research work by scientists, businesses, and political parties, among others.It is collection of question which is mainly in the printed form which will be answered by individual or interest group which will help in order to get specific and elicit information. These questionnaires set usually contain blank fields in which you can write your views and answers and also contain choices for question from which you have to select options.

Sets of such questions are circulated to groups and the answers obtain from these questions are used for various purposes, such as to obtain statistical information.

These are some questions for users:

1 Which Category do you belong to?

A. Web Developer B. SEO Professional C. New Organizations D. None Of These

Justification: This question helps developer to categories the users filling up the questionnaire into different groups and would help in gathering a general observation about particular group.

2 Do you Use Internet to promote your product/services?

A. Yes B. No

Justification: This Question Would Help Developer to understand whether the user uses internet for promotion if yes then is categorized under target audience. If no then user can be convinced to use internet by telling user about the benefits of internet marketing.

Note: Question 3 to 15 Applies to user who select “Yes” in 2. If a user selects “No” Then user is not a target audience currently but can be convinced to use internet promotion by making him/her aware about the benefits of internet marketing.

3 In what ways do you use internet for promotion? Check whichever is/are applicable. (Multiple Choice)

A. SEO

B. Bulk SMS

C. Blog Posts

D. Ad-sense

E. Others (Specify)

Justification: This question would clear the information about which all promotion methods are known and/or used by user. So if required developer can make user aware of other options like bulk email.

4 Do You Find Internet Marketing Useful for promotion of you products/services?

A. Very Effective

B. Beneficial but not much

C. Not At all beneficial

D. I never measured in those terms

Justification: Let developer know if user trusts the present methods of internet marketing. This would help in understanding the current available options and the ratio of use could be depicted.

5 Have you heard about Newsletter and/or Bulk email services?

A. I know newsletter but not bulk email

B. I know both but don't use them

C. I know both and I use them

D. I don't know what you talking about

Justification : helps to predict whether the user is aware about the newsletter and bulk emailing concept and that would decide if the user lies in target audience or not. This categorization would help in collecting the right feedback for the system development process.

Note Question 6 to Question Applies to user who choose Option C in question 4

6 Which all feature does your service provider provides you currently?

A. Making Lists

B. Using Templates

C. Delivery Reports

D. Mail Status

E. Comparison charts

F. Others (Please Specify)

Justification: This question would help developer to understand the features available in existing related system and would thus help in making the new system better than previous ones

7 What Is the Efficiency of Mailing System you used?

A. Very Efficient (Almost All Mails Are Delivered).

B. Moderate (Average).

C. Low (But They Do Send Some I Guess).

D. I have No Idea How It Works.

Justification: This question would help developer to measure the average efficiency of the current systems and would then compare it with the new system that should yield better result than previous ones.

8How Do You Measure the Efficiency of Mailing System?

A. System Provides Delivery Report.

B. I estimate On Basis of number of responses.

C. Company Claims The Efficiency.

Justification: This question would help developer to understand whether the user is actually aware about the accuracy of the system. On the basis of this question developer can predict the usefulness of question number 8.

9Does Your Mailing System Provide Spam Filter?

A. Yes It Filters the mail before sending.

B. No There Nothing Like That.

C. May Be I Never noticed.

Justification: This question would help developer to understand whether are there system which have taken some measures to prevent spamming and if yes can be used as reference system to help development of present system.

10. How Much Do You Spend Monthly On The Mail Promotions?

A. 0-5K

B. 5K-10K

C. 10k-20K

D. More than 20K

Justification: This question would help developer to estimate cost that can be charged to user which would be using this system.

11. Does Your Mailing System Provide Current Status of Mails Sent?

A. Yes

B. No

C. I don't Know I just send mails.

Justification: This question would help developer to understand whether the fetching of mail status is currently in use or not. If not the developer would need to start the process from scratch and if yes then if possible the existing system can be used as reference to get an idea about the methods used.

12. Would You Like To Invest on a New System That Gives More Accuracy and better Prices?

A. Yes Definitely

B. May Be

C. No. (Please Provide Reason) ____________________________

Justification: This question would help developer to predict the interest of users in new and better alternatives for better services. This will also help in predicting the potential customers for the product.

13. Which Email Server Do You Use for Your Primary Mails?

A. Gmail

B. Yahoo

C. Rediff

D. MSN, Hotmail

E. Other (Please Specify) ________________________

Justification: This would help the developer to get the most used email server used by the general user in the region and would help in optimizing the system for that/those server.

14. How Often You See Your Promotion Mail Delivered in Spam Folder?

A. Very Often

B. Some Times

C. Very Rare

D. I Have No Idea

Justification: This question would help developer to predict whether what ratio of user is suffering bad service due to spamming and that would help to analyze the spamming issue.

15. What according to you could be the major reason for spamming?

A. Use of Wrong Words (Blocked Keywords)

B. Heavy Size of Mail

C. More Number of Images and less text

D. Improper Headers

E. Other (Please Specify) ____________________________

F. I Have No Idea

Justification: This question would help developer to predict and gather the major reasons for the spamming of bulk mails and would consider those issues if missed.

16. What Is More Important To your promotion?

A. Price

B. Accuracy

C. A little Of Both

D. None

Justification: This would help developer to understand the priorities of users and would prepare the system accordingly.

17. Can You Be Available for a short personal interview regarding the project requirement and user feedback process?

A. Yes Of course

B. Depends On My Schedule

C. No, I Don't Have Time For Interview.

Justification: This question would help in getting the options for the short interview that could be conducted for the process and would help in development process.

18. Do you find this questionnaire useful?

A. Yes

B. No

Justification: This question would help in predicting the success of questionnaire

19. Kindly rate this questionnaire out of 5 for the quality and content.

A. 1 B. 2 C. 3 D. 4 E. 5

Justification: This Question Would Help in rating the questionnaire for quality of content and that would help in preparation of further documents.

20. Kindly Give Us Short Review/Additional Comments/Suggestions About the above questionnaire Ad System development.

4.2 SECONDARY RESEARCH

After primary research has been completed the next task to be carried upon is to start the secondary research. During secondary research, developer has to frame the task related to functionality of the system. There is a need of programming language, database tool to convert the idea into a reality. For this, a huge amount of technical research required on programming environment, database tool has to be performed.

Before any development task is performed, there is need to finalize the methodology to develop the system.

4.2.1 Methodology

Software engineering is the practice of selecting the best development method for the development, implementation and maintenance of the software.

At this point, to succeed at software development we need to be flexible in our choice of software development method. Selection of appropriate SDLC model is very important as it decides the flow of development. The Methodology selected for this application is: Iterative Data Model

An Incremental development divides the system functionality into Phases (portions). In each increment, a part of functionality is delivered through cross-discipline work, from the requirements to the deployment. The unified process groups increments/iterations into phases: inception, elaboration, construction, and transition.

Inception identifies project scope, risks, and requirements (functional and non-functional) at a high level but in enough detail that work can be estimated.

Elaboration delivers a working architecture that mitigates the top risks and fulfills the non-functional requirements.

Construction incrementally fills-in the architecture with production-ready code produced from analysis, design, implementation, and testing of the functional requirements.

Transition delivers the system into the production operating environment.

Reason to Choose Iterative Model:

Each of the phases may be divided into 1 or more iterations, which are usually time-dependent rather than feature-dependent.

Final Documentation:

It is also assumed that the preparation of final document will take around 2 weeks time which will include the merging of the documents made in the different phases and preparation of the final document to be submitted.

4.2.1.1 WHY USE THIS METHODOLOGY

The idea of iterative model for the system development has been thought off because of the following reasons:

The main objective of iterative development is to build the system incrementally, starting from basic partial system features and gradually adding more features until the entire system is completed. Compared to waterfall, iterative development allows flexibility in accommodating new requirements or changes thereof.

1. One of the greatest threats to any design endeavour is discovering design problems late in the project lifecycle. The later you make the discovery, and the bigger the problem, the greater the risk to your project.

Justification: Using iterative model would give developer a way to make changes at the end of each phase (if required) this would help in flexible development of system.

2. In this model, developer has an actual build, a unit of the actual application that we can present to stakeholders and allow users to interact with and respond to. When presenting users with something that actually works, they can focus on the activity your product is intended to support, and give you feedback on that.

Justification: This would grant user to make changes in the development phase and if there is any change in any unit of system then it can be made in next iteration.

3. Another advantage of the iterative model is that the complexity of implementing the system is never overwhelming. Because elements are designed, developed and integrated in iterations, the "analysis paralysis" that is common on enterprise scope projects is alleviated. In addition, the developers get a chance to grow with the project. Iteration can leverage the business knowledge gained on the previous, and the developer gets used to delivering finished software.

Justification: this would help developer to learn from the mistakes of previous iteration. These errors can be preventing in next unit. While in waterfall model changes are known only after project complication.

4. End-of-iteration assessments not only reveal the status of the project from a product or scheduling perspective; they also help managers analyze how to improve both the organization and the process in the next iteration.

Justification: Use of this model would help developer to analyze system more precisely and develop it error free since the early stage of system development. This will increase the efficiency of system development.12

4.3 TECHNICAL RESEARCH

4.3.1 PROGRAMMING LANGUAGE

4.3.1.1 PHP

PHP is the scripting language which is HTML embedded and its syntax are borrowed from C, Java and Perl with the use of unique PHP-specific features. With the help of this language Developers able to write dynamically generate pages quickly.

Benefits of using PHP language:

  1. PHP is easily accessible and easy to learn and easy to use.
  2. As it is open source it is available at null cost and there are many support groups, forums and supporting PHP team which can guide you in the development process. It's available with documentation in many languages
  3. It is very quick to develop web applications in PHP.
  4. Without a proper knowledge regarding programming principles, compilation, and other currently important programming concepts a basic PHP script can be generated. PHP makes basic scripts much faster to develop with much less attention to design as PHP is loosely typed.
  5. Programmers who are using Java, PERL, BASIC, and other programming languages can discover many parallels to ease transition to PHP
  6. As this PHP is so much flexible whether it use OOP or not or use naming convention or not
  7. It is a programming language which runs on much operation system and this make this language efficient.
  8. For performance this language can be optimized to that of other compiled language

4.3.1.3 CONCLUSION OF PROGRAMMING LANGUAGE RESEARCH

From the above described features of the PHP language, a conclusion can be deriving that PHP id the programming language that must be used for the development of proposed system. From the above mentioned details it has been conclude that PHP is readily available and open source and because of this there will be no cost in using it and as PHP has very easy to understand syntax and platform agnostic, can run on Windows Linux or Mac servers. Also scalable - Lots of hosting services have it ready to use, no specialconfiguration. Because all these benefits which come along with this language PHP will be the programming language for the development process of the system.

4.3.2 DATABASE MANAGEMENT SYSTEM RESEARCH

The research work on the programming language has been completed now its turn of data base means which DBMS has to be use with PHP. This research portion will cover the judgment of DBMS for this proposed system.

MYSQL will be the database which will work as backend in this system. MYSQL is identified as a free, fast, reliable open source relational database. It is some short of in the case of sophistication and facilities, but more likely it has very much active team and from its release it regularly gets updated and more capabilities are added. The MYSQL team means to keep their database engine quick and consistent.

Benefits of using MYSQL as database:

  • It is open source and of free cost, it is compatible with most of the programming language, and this feature makes it more flexible.
  • MYSQL is characterized as a fast, robust database with a good feature set, so if you're writing code that's intended to be portable it's a pretty good choice.
  • MYSQL performance is quite good it works on windows platform as well as it works more effectively on LINUX and UNIX based operating system.
  • MYSQL development team regularly updates it.
  • MYSQL is user friendly with good GUI and it is easy for you to learn and use.

4.3.2.3 CONCLUSION:

After a brief research was carried above you can conclude that MYSQL is a best option to use as a DBMS and as it is quite PHP compatible. It can be used to build stable and efficient system and the stability and effectiveness of your applications and databases will increase in the context of MYSQL. As it is discussed above it is open source it will bear no cost in deploying will work more accurately and efficiently. On the behalf of this research MYSQL has been choose as DBMS.

On the basis of research work done following conclusion has been brought:

  1. PHP as the programming language.
  2. MYSQL as the database management system

Chapter 5 Analysis and Design

ANALYSIS

All the research work needed for the system has already been done in chapter 4. But the research is incomplete without analysis. So the research should be analyzed to know its importance in proposed system.

This chapter includes the detailed description and analysis of the primary research performed in chapter 4 by the developer. After this chapter is complete, it will help in detailed design and implementation of the complete system effectively.

5.1 PRIMARY RESEARCH ANALYSIS

Primary research was conducted in form of questionnaire distributed to different people. Analysis of the questions in questionnaire is as follows:

5.1.1 QUESTIONNAIRE ANALYSIS

Question

Which Category do You belong to?

Justification

This question helps developer to categories the users filling up the questionnaire into different groups and would help in gathering a general observation about particular group.

Results

Analysis

Question

Do You Use Internet to promote your product/services?

Justification

This Question Would Help Developer to understand whether the user uses internet for promotion if yes then is categorized under target audience. If no then user can be convinced to use internet by telling user about the benefits of internet marketing.

Results

Analysis

This statistic reflects that 80% of the users use internet for the promotion of their product/services. That means 80% of users are aware about the concept of internet marketing. This data would help in understanding the spread of internet marketing.

Question

In what ways do you use internet for promotion? Check Whichever is/are applicable

Justification

This question would clear the information about which all promotion methods are known and/or used by user. So if required developer can make user aware of other options like bulk email.

Results

Analysis

This analysis reflects that 60% of the users use bulk SMS for the promotion of their products/services.

Question

Do You Find Internet Marketing Useful for promotion of you products/services?

Justification

Let developer know if user trusts the present methods of internet marketing. This would help in understanding the current available options and the ratio of use could be depicted.

Results

Analysis

This analysis reflects that 80% of the users who filled this questionnaire find internet marketing to be very effective. This result is in favor of developer as these users would be more interested in using the internet marketing options

Question

Have you heard about Newsletter and/or Bulk email services?

Justification

It helps to predict whether the user is aware about the newsletter and bulk emailing concept and that would decide if the user lies in target audience or not. This categorization would help in collecting the right feedback for the system development process.

Results

Analysis

This analysis reflects that major portion of users use newsletter services. Some know both but use none. And a very few use both of them.

Question

Which all feature does your service provider provides you currently?

Justification

This question would help developer to understand the features available in existing related system and would thus help in making the new system better than previous ones

Results

Analysis

This reflects that the major services are not provided by the current service providers

Question

What Is The Efficiency of Mailing System You used?

Justification

This question would help developer to measure the average efficiency of the current systems and would then compare it with the new system that should yield better result than previous ones.

Results

Analysis

This analysis reflect that the maximum users feel that their current system is not performing up to the mark and thus can be the targeted user which would look for better services

Question

How Do You Measure The Efficiency Of Mailing System?

Justification

This question would help developer to understand whether the user is actually aware about the accuracy of the system. On the basis of this question developer can predict the usefulness of question number 8.

Results

Analysis

This analysis reflects that there is an ambiguity in the measure of efficiency therefore it can be inferred that system does not provide much details about the statistics of the campaign. And this lack of information result in ambiguity in results

Question

Does Your Mailing System Provide Spam Filter?

Justification

This question would help developer to understand whether are there system which have taken some measures to prevent spamming and if yes can be used as reference system to help development of present system.

Results

Analysis

This reflects that the spam filter prevention is not used by major service provider and thus is necessary to provide this feature to users.

Question

How Much Do You Spend Monthly On The Mail Promotions?

Justification

This question would help developer to estimate cost that can be charged to user which would be using this system.

Results

Analysis

Maximum number of users spends more than 20000 INR per month for their mail promotions. That all go in ambiguous results. Thus a system with better results would attract more customers

Question

Does Your Mailing System Provide Current Status of Mails Sent?

Justification

This question would help developer to understand whether the fetching of mail status is currently in use or not. If not the developer would need to start the process from scratch and if yes then if possible the existing system can be used as reference to get an idea about the methods used.

Results

Analysis

This reflects that mail providers do not provide the status of the mails sent and thus use of this feature would be beneficial to users.

Question

Would You Like To Invest on A New System That Gives More Accuracy and better Prices?

Justification

This question would help developer to predict the interest of users in new and better alternatives for better services. This will also help in predicting the potential customers for the product.

Results

Analysis

This reflects that 40% users are the targeted users who would be interested in investing in this new system. And another 40% may invest if properly convinced.

Question

Which Email Server Do You Use for Your Primary Mails?

Justification

This would help the developer to get the most used email server used by the general user in the region and would help in optimizing the system for that/those server.

Results

Analysis

This reflects that maximum users use Gmail or yahoo so for testing of testing these servers should be targeted the most

Question

How Often You See Your Promotion Mail Delivered in Spam Folder?

Justification

This question would help developer to predict whether what ratio of user is suffering bad service due to spamming and that would help to analyze the spamming issue.

Results

Analysis

This result in ambiguity of the result and thus no conclusion could be depicted out of it.

Question

What according to you could be the major reason for spamming?

Justification

This question would help developer to predict and gather the major reasons for the spamming of bulk mails and would consider those issues if missed.

Results

Analysis

Major user find spam mails due to heavy size of mails and use of images

Question

What Is More Important To your promotion?

Justification

This would help developer to understand the priorities of users and would prepare the system accordingly.

Results

Analysis

This result in mixed response from user thus further research would decide the depiction of this question.

Question

Can You Be Available for a short personal interview regarding the project requirement and user feedback process?

Justification

This question would help in getting the options for the short interview that could be conducted for the process and would help in development process.

Results

Analysis

This question helps in getting the user response which can be used if required.

Question

Do you find this questionnaire useful?

Justification

This question would help in predicting the success of questionnaire

Results

Analysis

This reflects that 97% of the user find this questionnaire useful therefore questionnaire proves to be successful

Question

Kindly rate this questionnaire out of 5 for the quality and content.

Justification

This Question Would Help in rating the questionnaire for quality of content and that would help in preparation of further documents.

Results

Analysis

This proves that the rating of question according to user has been quite good.

5.2 Design

Use Case Diagrams

Use case gives us a semi-formal framework for structuring the stories. It is a description of steps or actions between a user (actor) and a system which lead the user towards something useful. Its purpose is to present a graphical overview of the functionality provided by a system in terms of actors, their goals (represented as use cases), and any dependencies between those use cases.

Communication among actors or users is not shown on the use case. If any communication is essential to a logical description of the preferred behavior, perhaps the system or use case limitations should be re-examined. Alternatively, communication amongst actors can be part of the assumptions used in the use case.

Use cases

A use case describes a series of actions that supply something of computable value to an actor and is drawn as a horizontal ellipse.

Actors

An actor is a person, group, or external system that plays some role in one or more communications with the system

System boundary boxes

A rectangle box is drawn around the use cases, called the system boundary box, to specify the scope of system. Anything inside the box represents functionality within scope of system and anything outside the box is not.

Connectors

Behavior Specified

Use Case for Admin

Use Case for User

As the use case shows itself there are just two kind of actors mainly

Admin: Admin is super user of the system and is the only user that can control the system. Admin do not primary user functionality as those are specifically meant for user.

User: User is the target audience of the system who can perform various actions in the system. User once approved can use all the functionalities of the system.

Use Case Name

Use Case For Admin

Description

This use case is for management of users. Admin can assign credit to user which can be used for sending mails. Admin can create a new user as well block any exiting user. Along with this admin can upload new template in the system.

Precondition

Admin Should Be Logged in with admin credentials

Related Use case

Assign Credits, Upload template, Create user, Manage User, Approve Template

Use Case Name

Use Case For User

Description

This use case is for the operations available to user. User has been given various functions in the system. User can create new campaign, compose mail, select template, track reports, manage lists and manage profile details.

Precondition

User should be Logged; Status should be active and Should have sufficient credits.

Related Use case

Manage List, create campaign, track reports, validate email

Assign Credits

Use Case Name

Assign Credits

Description

This use case is for Credits Module Of Admin section from where admin can add or subtract credits of any user.

Precondition

User Should Be Logged in as Admin.

Related Use case

-

Manage User

Use Case Name

Use Case For Managing User

Description

This use case is for the manage user module of admin section.

Precondition

User Should Be Logged in as admin

Related Use case

-

Upload Template

Use Case Name

Use Case For Upload Template by admin

Description

This use case is for upload template module of admin section. This module is very similar to upload template module of user just with a difference that user uploaded templates need to be approved by admin.

Precondition

User Should Be Logged in as Admin

Related Use case

-

Approve Template

Use Case Name

Use Case For Approve Template

Description

This use case is for Approve template module of admin section where admin can approve the template uploaded by any user the set the pending properties of any template.

Precondition

User Should Be Logged in As Admin

Related Use case

Upload Template(user)

Create User

Use Case Name

Use Case For Create User By Admin

Description

This use case is for the Create user module in admin section.

Precondition

User Should Be Logged in as Admin

Related Use case

-

Manage List

Use Case Name

Use Case For Manage List

Description

This use case is for the Manage List module in User section.

Precondition

User Should Be Logged in and account status should be active.

Related Use case

-

Create List

Use Case Name

Use Case For Create List

Description

This use case is for the Create List module in User section.

Precondition

User Should Be Logged in and account status should be active.

Related Use case

-

Create Campaign

Use Case Name

Use Case For Create Campaign

Description

This use case is for the Create Campaign module in User section.

Precondition

User Should Be Logged in and account status should be active.

Related Use case

-

Validate Email

Use Case Name

Use Case For Validate Email

Description

This use case is for the Validate module in User section.

Precondition

User Should Be Logged in and account status should be active.

Related Use case

-

Activity Diagram

Activity Diagram for Campaign

Activity Diagram For Add Template

Activity Diagram for List Options

Activity Diagram for Valid ids

Activity Diagram for Account Options

Entity Relationship

Entities that were identified in the system are given as follows. Certain entities depend on or are related to other entities and several diagrams have been listed below to explain those relationships.

Entities are:

Campaign Credit user validids mailinglist

Mailqueue

Relationship between User and various activities/attributes associated with user

Database design is one of the most crucial things while developing any system. It is important to keep in mind which all attribute should be associated with which all tables. Along with that it is equally important to identify the relationship between various tables and map the foreign key relationship among them.

Database of Virtual Mail Campaign Manager along with its tables, attributes and relationship have been explained below.

1. userdata: this table contains basic attributes associated with every user like username, password, contact details etc. design of the table is as follows:

Field Name

Data type

Allow Null

Description

Id

Int

No

Contains automatically generated id for user table. Helps in several operations

Username

Varchar

No

Contains unique username of the user

Password

Varchar

No

Contains password associated with user account

Email id

Varchar

No

Contains primary email id associated with user account which can be used to mailing purpose

Contact num

Int

No

Contains contact number of user. Can be used for contacting user regarding credits and offers.

Fname

Varchar

No

Contain full name of user

2. mailinglist: contains details about various lists created by several users

Field name

Data Type

Allow null

Description

Id

Int

No

PK contains automatically generated id of the record

Lname

Varchar

No

Contains name assigned to the mailing list

Username

Varchar

No

FK Contains username of the user who created the list. Mapped with userdata table

Date_created

Datetime

No

Records system generated time when the list was created or modified.

3. mailqueue: Contains details about all the mails in the queue

Field name

Data Type

Allow null

Description

Id

Int

No

PK contains automatically generated id of the record

From

Varchar

No

Contains The From name and from id assigned by user to send mail from

To

Varchar

No

Contains Id and name to which the mails has to be sent

Message

Text

No

Contains the message body of the mail to be sent.

Headers

Text

No

Contains additional header parameters to be associated with the mail

Username

Varchar

No

Contains the username of the user who sent the mail

Senton

Datetime

No

Contains date and time when the mail was initiated

Scheduled

Datetime

Yes

Contains the scheduled date and time in case of mail scheduling.

4. validids: contains all the verified ids of all the users respectively which can be used by user to use as from id:

Field name

Data Type

Allow null

Description

Id

Int

No

PK contains automatically generated id of the record

Email id

Varchar

No

Contains Email Id Chosen by the user

Username

Varchar

No

FK Contains username of the user who owns the id. Mapped with userdata table

Status

Varchar

No

Contains current status of the email id whether has been verified or not

5. Credits: contains data about current credits and total purchase of credits by any user.

Field name

Data Type

Allow null

Description

Id

Int

No

PK contains automatically generated id of the record

Credits

Int

No

Contains current credits of the user

Username

Varchar

No

FK Contains username of the user who created the list. Mapped with userdata table

Totalpurchase

Int

No

Contains in all purchase by user till date in order to judge how potential the customer is

6. Templates: This table stores the information about the email templates available in the inventory.

Field Name

Data Type

Null

Description

Id

Int

No

Stores unique template id

Title

Varchar

No

Stores title for the mail campaign

Url

Text

No

Store Path Of html page of template

Username

Varchar

No

Stores username of the user who uploaded the template

Thumbnail

Text

Yes

Stores the path of the thumbnail of the page

Status

Varchar

No

Stores the current status of template whether pending or active.

7. Campaign: This table stores certain details about mail campaigns

Field name

Data Type

Allow null

Description

Id

Int

No

PK contains automatically generated id of the record

Title

Varchar

No

Stores name of the campaign

Username

Varchar

No

FK Contains username of the user who created the list. Mapped with userdata table

Datecreated

Date

No

Stores date on which campaign was created

Status

Varchar

No

Stores whether current status is saved sent or scheduled.

Total

Int

No

Stores total number of mail ids in the campaign

Sent

Int

No

Stores number of mails that has been sent/delivered

Bounce

Int

No

Stores number of mails bounced

Read

Int

No

Stores number of mails that have been read.

Chapter 6 Implementation

Virtual mail campaign manager works on mail function of PHP along with several parameters implemented in order to prevent spamming of sent mail. Various measures have been taken to minimize the possibilities of a mail being spammed.

There are several separate modules integrated together to complete the process of mail campaign. The list of modules is as follows:

Modules of Admin of VMCM

Manage User

Create User

Search User

Block User

Manage Credits

Check Credits

Assign credits

Manage Templates

Search template

Delete template

Add template

Manage User

a. Create User

INPUT username

Validate if username exists

IF username exists then

Error=username already exists

Show Error

ENDIF

INPUT Name Of user, password, confirm password, contact number, email id

Validate Entries

IF valid_input THEN

IF entries = “” THEN

Error Message = Field Mandatory

SHOW Error Message

ELSEIF NOT password= confirm password THEN

Error = Password and confirm password do not match

Show Error

ELSE

STORE username, password, fname, emailid, contactnum

Show Message “User Created”

ENDIF

ENDIF

b. Search User

INPUT Search_String

READ FROM userdata WHERE username = Search_String

Show DATA RETRIEVED FROM database

c. Block User

INPUT USERNAME

READ FROM userdata where username= USERNAME

Show user details

SET STATUS to BLOCKED

UPDATE STATUS in userdata where username = USERNAME

Manage Credits

a. Check credits

INPUT USERNAME

READ FROM CREDITS where username= USERNAME

Show Retrieved data

b. Assign Credits

INPUT USERNAME

READ FROM CREDITS where username=USERNAME

Show Current Credits and total purchase

INPUT ADD_CREDITS

UPDATE Credits and totalpurchase in credits where username = USERNAME

Manage Templates

a. Search Template

INPUT Search_String

READ FROM templates WHERE title LIKE%Search_String%

Show DATA RETRIEVED FROM database

b. Delete Template

INPUT STRING

READ FROM templates WHERE title LIKE %STRING%

Show LIST OF TEMPLATES

Choose template to delete

Delete from templates where id=SELECTED_ID

Modules in the user mode

Mail Campaign

Shoot campaign

Schedule campaign

Trace Campaign

Spam check

Reports

Read Reports

Delivery Reports

Unsubscribe Reports

Bounce reports

Campaign stats reports

Lists

Create list

Edit list

Delete list

Mail Campaign

a. Shoot Campaign

Input Campaign Details

Insert into campaign values (Campaign Details)

Select template

Compose Mail Content

Check Spam

Send Mails

Insert details into mailqueue

b. Schedule Campaign

Input Campaign Details

Insert into campaign values (Campaign Details)

Select template

Compose Mail Content

Check Spam

Schedule Mails

Insert details into mailqueue

c. Trace Campaign

Get details from campaigns where username=session (username)

Display results

Select campaign

Show campaign details

d. Spam Check

User Manual for Virtual Mail Campaign Manager

As VMCM is a web based application which user various server concepts so many of its functionality doesn't work on local host.

VMCM has been uploaded and configured on a Linux web server from vendor Just Host. Also 4 more servers are being used in the process in order to complete the mail process.

User has to work on only one domain i.e. http://www.webricks.com/vmcm . Application will be available at this location for temporary purpose.

When the user enters the URL in the address bar the first page that appears on the screen is home page.

Chapter 7 Testing

Trying to think, act, re-act and become a software tester.

Black Box Testing

Black-box testing is a technique of software testing for testing the functionality of an application without knowing its internal structure. Detailed knowledge of the application's code/internal functioning and programming knowledge is not required. Test cases are built around specifications and requirements, i.e. what is expected from application. It uses external specification of the system, including functionality, requirements, and designs to derive test cases.

Some of the cases that would be tested using back box testing are

1. Incorrect or missing functions

2. Interface errors

3. Errors in data structure or external database excess

4. Behavior or performance errors

5. Initialization or termination errors

In Black Box Testing the developer has followed following testing techniques

SNO.

METHODS

APPLICATION

01.

Unit Testing

02.

Integration Testing

Integration testing is used to make sure that the interfaces connecting the software modules/units are correct; no data is lost while data is passed between modules.

.

03.

System Testing

System testing is testing the whole system/application and the other system elements as a whole. It is a combination of functional and integration testing together.

04.

User Acceptance Testing

Acceptance testing usually includes running a series of tests on the final system. Each test of series, identified as a case, observes a particular operating condition of the user's environment or feature of the system.19

05.

Usability Testing

Usability testing is one of the black-box testing techniques. This testing is done to observe the user pattern of using the system in order to find errors and scope of improvement20

1. Functional Testing

Functional Testing is used to check whether each function is completely operational, and searching for errors in each function.

· White Box Testing

In white box testing, tester in aware about logical functioning of the system, thus logical functionality is kept in mind while performing test. White box testing is done to ensure that the expected output has come without logical error.

GUI Testing

GUI testing is to ensure that the graphical user interface is user friendly or not. The testing conducted will cover the following things:-

Menus, Buttons, Combo Boxes, Colors, Form Labels, Text Boxes, Messages and Message Boxes, Screen Layout and Fonts

Note:

The test cases given below in the black box testing section are done after the completion of the respective modules (i.e. after one module gets finish then the testing is done).

Integration testing is done after the system is completed on a whole.

Unit Testing

Test Case for create user from admin

Project Name:

Virtual Mail Campaign Manager

Test Case Name:

Create User

Test Case Number:

VMCM - 1

Written by:

Varun Jain

Approved by:

Project Developer

Description:

This module is responsible for adding a new user into the database when new account is made for him.

Scenario

#

Function to Test

Expected Results

Actual Result

Remark

1

Addition of New user

New user gets added into the database

User Added Successfully

Pass

2

Validation on Various Textboxes

Background Color changes to red if incorrect

Color Changes

Pass

3

Validation for empty Fields

Error Message gets displayed

Message displayed

Pass

Test Type: Unit Testing

Test Method: Black Box

Test case for spam level check

Project Name:

Virtual Mail Campaign Manager

Test Case Name:

Spam Check

Test Case Number:

VMCM - 2

Written by:

Varun Jain

Approved by:

Project Developer

Description:

This module is responsible for adding a new user into the database when new account is made for him.

Scenario

#

Function to Test

Expected Results

Actual Result

Remark

1

Calculate Content From Spam

Spam Score

Result Show

Pass

Test Type: Unit Testing

Test Method: Black Box

Test Case For add credits

Project Name:

Virtual Mail Campaign Manager

Test Case Name:

Admin_Add_Credits

Test Case Number:

VMCM -5

Written by:

Varun Jain

Approved by:

Project Developer

Description:

This module is responsible for adding credits to any account

Scenario

#

Function to Test

Expected Results

Actual Result

Remark

1

Add credit

Added credits should be added with current credits available with user

Credits added

Pass

2

Validation for empty Fields

Error Message gets displayed

Message displayed

Pass

Test Type: Unit Testing

Test Method: Black Box

Test Case for registration

Project Name:

Virtual Mail Campaign Manager

Test Case Name:

Registration

Test Case Number:

VMCM -3

Written by:

Varun Jain

Approved by:

Project Developer

Description:

This module is responsible for adding a new user into the database when new account is made for him.

Scenario

#

Function to Test

Expected Results

Actual Result

Remark

1

Add user with status pending

New user gets added into the database with status pending

User Added Successfully and status set to pending

Pass

2

Send Verification mail to user email id

A Mail should Be delivered to user mail

Mail delivered

Pass

3

Validation for empty Fields

Error Message gets displayed

Message displayed

Pass

Test Type: Unit Testing

Test Method: Black Box

Test Case for upload template

Project Name:

Virtual Mail Campaign Manager

Test Case Name:

User_Upload_Template

Test Case Number:

VMCM -4

Written by:

Varun Jain

Approved by:

Project Developer

Description:

This module is responsible for adding a new template into the database

Scenario

#

Function to Test

Expected Results

Actual Result

Remark

1

Add template with status pending

New template gets added into the database with status pending

template Added Successfully and status set to pending

Pass

2

Upload template folder on server

Zip file of template should be extracted and uploaded on server

Template uploaded

Pass

3

Validation for empty Fields

Error Message gets displayed

Message displayed

Pass

Test Type: Unit Testing

Test Method: Black Box

Test Case For Subtract Credits

Project Name:

Virtual Mail Campaign Manager

Test Case Name:

Admin_Minus_Credits

Test Case Number:

VMCM -6

Written by:

Varun Jain

Approved by:

Project Developer

Description:

This module is responsible for subtracting credits to any account

Scenario

#

Function to Test

Expected Results

Actual Result

Remark

1

Subtract credit

Subtracted credits should be minus from current credits available with user

Credits subtracted

Pass

2

Validation for empty Fields

Error Message gets displayed

Message displayed

Pass

Test Type: Unit Testing

Test Method: Black Box

Test Case for Sending Mail

Project Name:

Virtual Mail Campaign Manager

Test Case Name:

Admin_Minus_Credits

Test Case Number:

VMCM -6

Written by:

Varun Jain

Approved by:

Project Developer

Description:

This module is responsible for subtracting credits to any account

Scenario

#

Function to Test

Expected Results

Actual Result

Remark

1

Send mail

Mail should be delivered to designated id

Mail delivered

Pass

2

Mail bounce

Mail should bounce if id is invalid

Mail bounced

Pass

Test Type: Unit Testing

Test Method: Black Box

Test Case for Template selection

Project Name:

Virtual Mail Campaign Manager

Test Case Name:

Admin_Minus_Credits

Test Case Number:

VMCM -6

Written by:

Varun Jain

Approved by:

Project Developer

Description:

This module is responsible for subtracting credits to any account

Scenario

#

Function to Test

Expected Results

Actual Result

Remark

1

Subtract credit

Subtracted credits should be minus from current credits available with user

Credits subtracted

Pass

2

Validation for empty Fields

Error Message gets displayed

Message displayed

Pass

Test Type: Unit Testing

Test Method: Black Box

Chapter 8 Critical Evaluation

This part of the documentation includes the critical evaluation of the developed project. As this project “Virtual Mail Campaign Manager” is successfully completed and all the specifications are met .After the development of system it is necessary to evaluate the system, by means of how beneficial and useful system is for targeted end users. After the completion, this system is evaluated and it is proving to be useful for the system. This system is beneficial in many ways for the targeted end users as whenever a user wants to send bulk mail, user has to buy a certain package for number of mails whose information is in anyways not known to him. The money is definitely wasted via amount of mails that are bounced or sent to spam folder of mail. Using this tool will ensure user that his money is not wasted rather he can monitor each and every mail ensuring the right investment. This save a lot of money that was wasted in general bulk mails.ser used to gets each and every report of the campaign held. How many mails were sent in which campaign, number of bounce mails, unsubscribe reports etc. User is aware of all the records and they all can be monitored just on a click. This way takes care of investment that he paid for the number of mails. User can also get the current status of sent mails. Whenever a mail is sent that signifies it has reached the inbox of mail user. After reaching the inbox mail user would or would not read the mail. If any mail user reads the mail then sender gets its current status and can predict exactly how many users are now aware about the content of the mail. This prediction of users reading the mail will help in predicting the number of expected leads through campaign. And this estimation will help in targeting right audience for a particular mail campaign. Along with bulk email user can also create their own newsletter service and can give options to additional users to be a part of mail campaign. This would add even more contacts to mailing list of any user and that way more chance of getting leads, that would result in more business, more profit. Another advantage is that when a user has exact reports about whatever mail he has sent. Then a successful campaign would save the time spent for many more unsuccessful campaigns that would be needed in case of general bulk mailing systems. Sending a mail is useful only if a user is able to see it in inbox. General mails end up in spam folder and then a user visits spam folder once a week and click “Delete all Spam” this result in deletion of mail without even coming to mail user's eye. This way reaching the inbox would help in getting attention of user for a while. Consumers can watch or hear message seven times before he or she should buy. With email marketing is to sell fairly easy to get feedback from customers by simply sending a quick follow-up e-mail later. It's a good way to find out what they think of your products or services and gives them a different Ability to interact with you, too. A satisfied customer is a source of more customers, often more repeat business for you. Satisfied customers also tend to refer their known and relatives that generate new customers for you. Bulk can be used to stay in touch with customers and tell them about Special Offers or New Products or make them among the first to know when a sale is in progress. E-mail marketing customer service is a great way to improve customer loyalty. In this way this system is useful and fruitful for the users and fulfilling their requirements and needs.

Chapter 9 Conclusion

Death is the only pure, beautiful conclusion of a great passion.

David Herbert Lawrence

After developing Virtual mail campaign manager. There are lots of things that I included in my knowledge page and executed the brain to produce the desired output. Writing a conclusion of a research is definitely not an easy task. Let's gather some concise extract of the system. The major problem currently in field of email marketing was unawareness about the success of mail campaign. Users spend a lot of money of email marketing but they are not getting the desired output.

Several tactics have been used to deliver the best possible output to the investment made by user. Mails are sent along with a dynamically generated image that points to a particular mail. When the mail is read the image address is called and thus it can be identified that the mail has been read.

This system has been developed after regress research and analysis of current existing systems and logical interpretation of several web possibilities, still there are always possibilities of upgrade in any system and so is this one. There are certain limitations like read reports of Gmail ids can fetched only if images are allowed by user, if anyone reports the server IP to email server then there are possibilities of sending server being blacklisted by the email server.

At this point if developer was to restart the project once again then developer would have included several other features with the system. Developer would have made this system even more flexible and usable to user. There are certain features that developer has considered for future enhancements.

Future enhancement of the system includes. FACEBOOK marketing solution would be available. User would be able to shoot facebook campaign with use of facebook apps.

There were several challenges while developing the system like: configuration of crone jobs, mail queue and several PHP concepts.

Writing Services

Essay Writing
Service

Find out how the very best essay writing service can help you accomplish more and achieve higher marks today.

Assignment Writing Service

From complicated assignments to tricky tasks, our experts can tackle virtually any question thrown at them.

Dissertation Writing Service

A dissertation (also known as a thesis or research project) is probably the most important piece of work for any student! From full dissertations to individual chapters, we’re on hand to support you.

Coursework Writing Service

Our expert qualified writers can help you get your coursework right first time, every time.

Dissertation Proposal Service

The first step to completing a dissertation is to create a proposal that talks about what you wish to do. Our experts can design suitable methodologies - perfect to help you get started with a dissertation.

Report Writing
Service

Reports for any audience. Perfectly structured, professionally written, and tailored to suit your exact requirements.

Essay Skeleton Answer Service

If you’re just looking for some help to get started on an essay, our outline service provides you with a perfect essay plan.

Marking & Proofreading Service

Not sure if your work is hitting the mark? Struggling to get feedback from your lecturer? Our premium marking service was created just for you - get the feedback you deserve now.

Exam Revision
Service

Exams can be one of the most stressful experiences you’ll ever have! Revision is key, and we’re here to help. With custom created revision notes and exam answers, you’ll never feel underprepared again.