Professional Documents
Culture Documents
SMART MAIL
By
Mridul K Boruah
(PT0782209)
BE (Hons.) in Computing
Staffordshire University
Certificate
CERTIFICATE
This is to certify that Mr. Mridul K Boruah [PTL00782209] has completed his Final Year
Project, “Smart Mail” for the partial fulfillment of Bachelor in Engineering (Hons.) with
specialization in Computing. . He has successfully completed the project within eight months
under the guidance of Mr. Ravi Sachdeva, Project Supervisor.
ACKNOWLEDGEMENT
Firstly I would like to take the opportunity to convey our sincerest gratitude to those
who helped me in completing the project “Smart Mail”.
I would like to thank the God without whose grace project completion was
impossible. My humble thanks to my parents and Dr. R.K. Choudhary (Director, APIIT SD
INDIA) for giving me a chance to undertake this project
I would like to thank my project supervisor Mr. Ravi Sachdeva whole heartedly. He has
guided me throughout the project, which made it possible to complete the project successfully
on time. His encouragement gave me the experience and knowledge of developing such a
large and challenging project.
My deepest gratitude to lecturer Mr. Arun Choudhary who taught me various related
matters which are helpful in implementing my project.
My earnest thanks to Mr. Sasanka Pritom Bhuyan, Mr. Simanta Chakrabarty, Mr.
Siddharth Khetawat, Mr. Mohan Chetry, Mr. Manash Deurri and Mr. Nandan dutta, students
at APIIT SD INDIA. Their help was of great support during my testing phase and they also
helped to solve the problems which I faced during project development.
Finally I would like to thank Microsoft Inc. to develop such amazing software suites
for accompanying the software developers at the time of development of their software’s.
Without the support and encouragement provided by those named and many unnamed, the
project completion would not have been possible, my gratitude to all of them.
Mridul K Boruah
Table of contents
PTL00782209 Asia Pacific Institute of Information Technology
Page 3
Smart Mail
Certificate.....................................................................................2
ACKNOWLEDGEMENT.................................................................3
Introduction..................................................................................9
1.1 CONTEXT AND PRELIMINARY INVETIGATION........................10
1.1.1 Topic Background...........................................................................................10
1.1.2 Topic of the System.........................................................................................11
1.1.3 Purpose of Implementation:...............................................................................11
1.1.4 Targeted Users of the System:............................................................................12
1.1.5 Problem Context:............................................................................................12
1.1.6Rationale:......................................................................................................13
1.1.7Tangible benefits.............................................................................................14
1.1.8 Intangible Benefits:.........................................................................................14
1.1.9 Goal of System Development:............................................................................14
1.1.9.1 Project Goal:............................................................................................14
1.1.9.2 Academic Goal.........................................................................................15
1.1.10 Objectives of System Development:...................................................................15
1.1.10.1 Project Objectives:...................................................................................15
1.1.10.2 Academic Objectives................................................................................15
1.1.11 Success Criteria:...........................................................................................15
1.1.12 Scope of Proposal and Functionalities:................................................................16
1.1.12.1 Core functionality of the system:..................................................................16
1.1.12.2 Advanced functionality of the system:...........................................................16
1.1.12.3 Enhanced and special functionality of the system:.............................................16
1.1.12.2 Evidence for Limiting Scope.......................................................................17
1.1.13 Major Deliverables of the Project:......................................................................17
1.2 Test Plan:........................................................................................................18
1.3 Risk Management:.............................................................................................20
PROBLEM DESCRIPTION............................................................31
LITERATURE REVIEW................................................................35
CONCLUSION............................................................................40
RESEARCH METHODS................................................................46
Primary Research..........................................................................46
Questionnaires...................................................................................................46
ER Diagram...........................................................................106
SEQUENCE DIAGRAMS....................................................................................107
SEQUENCE DIAGRAM FOR THE LOGIN.........................................................107
Sequence Diagram1..............................................................107
Fig 5: Sequence diagram of login of Smart Mail.....................107
SEQUENCE DIAGRAM FOR THE USER REGISTRATION.....................................108
Chapter 8..............................................................................150
Testing..................................................................................151
8.6:-UNIT TESTING............................................................................................154
Integration Testing...............................................................................................159
System Testing....................................................................................................161
Compatibility Testing...........................................................................................161
SECURITY TESTING..........................................................................................164
Usability and user acceptance testing.........................................................................164
Conclusion.........................................................................................................166
Chapter 9..............................................................................167
Evaluation.............................................................................168
Degree of success.................................................................168
Functionalities....................................................................................................169
Conclusion................................................................................173
What if you were asked to remake the project?.............................................................173
Learning Experience.............................................................................................173
References................................................................................175
GANTT CHART........................................................................203
Table of Figure
List of Table
4. Risk levels 22
Chapter 1
Introduction
Smart Mail is designed and developed with the end user in mind, both administrators and
clients in a similar way. The features included in the Smart Mail package are a jump further
on of other similar fields. The flexibility of Smart Mail is what actually sets it separately from
opposing products. Administrators have the ability to configure Smart Mail to run as
optimally as possible on the server, from setting POP3, IMAP and SMTP threads and
timeouts to delivery setback and log file detail, end users with admin permissions for the
domain can set individual account limits (e.g. mailbox size) and domain-level spam and
content filtering, and end users themselves can set spam levels and check incoming mail
against any number of spam and/or black lists.
Smart Mail provides users more power and control than ever before with the most flexible
email clients services currently available.
Smart Mail is built and priced to be both beneficial and accessible to individuals and
enterprise-level organizations alike, and is able to support anywhere from one to an unlimited
number of domains and an unlimited number of email addresses. In addition to providing end
users with advanced features like mail account statistics and precise user-controlled spam and
content filtering, implement SMTP authentication, and much more.
As an added benefit, Smart Mail is accessible from a standard web browser, giving
administrators and end users email capabilities anytime, from anywhere. Smart Mail uses
industry standard mail protocols, like POP3 and IMAP4 for incoming mail and SMTP for
outgoing mail.
➢ Mail servers, which are hosts that deliver, forward, and store email; and
➢ Mail clients, which interface with users and allow users to read, compose, send,
and store email.
How Smart Mail Works
There are two main components that work together within Smart Mail, the Web Interface and
the Web Server.
Smart Mail Web Interface
The Web Interface is a browser based administration platform that installs on a single server
and supports administration of domains and email accounts as well as email account access
by end users. End users are able to access and use their accounts using either web mail.
Smart Mail Web Sever
The Web Server installs with the Smart Mail Web Interface by default, easing the
implementation of Smart Mail and meaning that there is zero configuration necessary for
Smart Mail to work "right out of the box". This Web Server gives users and administrators
access to the Smart Mail Web Interface from the Internet by utilizing the IP address assigned
to the local machine. However, after installing Smart Mail, it is recommended that the Web
Interface be moved from the Smart Mail Web Server to Microsoft IIS (if available) for more
stability and security. For step-by-step instructions on how to transition smart mail to IIS.
To login to smart mail type in your full email address and Password on the login screen. If
everything matches up, you will be presented with the welcome page and a view of all folders
in your mailbox. The full original email address (not an alias address) must be used to log
into the corresponding mailbox
Smart mail provides user with following advantages:
➢ Availability of email even without an internet connection: If you've been using web
based email accounts such as Hotmail, Gmail or Yahoo! Mail, you know that an active
internet connection is required to login to your online account and access messages.
With Smart Mail, the program will connect to your account, download and store them
on your computer. Since now the messages are on your local machine they are
available to you.
➢ Save time by downloading email from various accounts: This point applies to those
who have multiple email accounts. You don't need to waste time in checking each
email account separately. Multiple accounts can be set up in Smart Mail which means
email from all these accounts will be downloaded together at one place - your
computer. You can also use filters and smart mail message rules to separate out email
messages as they arrive at your system. For example, all incoming Gmail messages
can be diverted to one folder while those from Hotmail to another. You can similarly
isolate emails based on sender, file size, whether they have attachments etc.
➢ A copy of your emails in on your computer: Probably the most important advantage
of using Smart mail and other email management software is the ability to store a copy
of all your email on your computer. So even if you accidently delete an important
message from your server or if (God forbid) your account is hacked or is inaccessible,
you know you can retrieve the messages from your system
A new Web Mail Service for user, Smart Mail is a webmail application that provides to
single access to all of your mail accounts. You can create new Account here like Yahoo,
Gmail etc. This system will increase your mail security. A simple entry registration process is
required. The very important and unique feature is that you can easily check your other mail
account (such as Hotmail, and Gmail) from this Smart mail. The protocols (SMTP, POP3) all
will be implemented.
measures is phenomenally low by using the highly competent and attractive deployment of
my application
The system will mainly be developed by targeting the information seek peoples such as
student, professional, business person etc. to fulfill their requirements. Anyone who has the
basic knowledge of computer and internet and who frequently works with mail systems like
Gmail, yahoo, hotmail etc. can use this system. Anyone ranging from home users to office
users; interested in the habitual check of their mail while they are away and having the
internet connection needs this system.
A user has several choices for your email client application, including a range of web
email services. However, many people prefer to use a stand-alone application designed
specifically for email since they sometimes have a better focus and features.
1.1.6Rationale:
The rise of email as a communication tool has been critically important in the business and
commerce world. It allows for instant dialogue between colleagues, clients and contractors,
and it's also free. For many companies, the wide reach of emails has allowed them to access a
client base far larger than ever previously conceived, thus providing the potential for
increased revenues.
Where paper copies of important correspondence and documents can easily be lost, every
email sent and received is stored electronically, reducing the risk of accidental loss and
providing a company with records of transactions made, orders raised and other important
conversations that may need to be retained for future use.
A type of e-mail sent for commercial purpose. For instance, the e-mail may promote a
product or server, be an order confirmation, be a subscription update, or be an opt-out. It is
important, though, to differentiate transactional commercial messages from advertisements,
as the later is subject to additional requirements. However, all e-mail is monitored from three
angles to protect consumers and industry:
➢ deception,
Smart mail is an e-mail client that runs on computers, we mean that it interacts directly with
the user, allowing mail to be sent, read, filed, and printed. Smart mail can be left running
permanently on the workstation and includes powerful tools to notify the user when new mail
arrives.
Benefits come in two types. Tangible benefits are those that can be measured and assigned
some kind of number or dollar value. Intangible benefits are benefits that cannot be measured
or even quantified.
1.1.7Tangible benefits
1. Reduce Cost of Internet: as Smart Mail deals with offline accessing of mail, so the users
need not have to worry about the internet connection. This will save their money to a great
extend.
2. Saves time: As the system is to be made online and offline so it saves time of the users.
The users can now access their mail offline sitting at home without having to wait for
opening their different mail account form different sites.
3. Reduces training cost: the Smart mail system interface of my application in both online
and offline will be very friendly and based on the principles of HCIU. This will save
organizations from investing heavily in training in terms of both time and cost.
4. Smart mail allows user to access multiple accounts at the same time in same window.
The overall goal of the project is to develop a service that will provide a very important and
unique feature that you can easily check your Rediff, Hotmail, and Gmail account from this
Webmail without login into the respective sites
viewpoint, the project will enable learning new technologies, programming languages,
databases concepts and principles of project management.
➢ Meet up the user requirements: Once the system is deployed whether it is able to
fulfill all the user requirements.
➢ Functional requirements: Whether all the modules of the system are operating as
intended or not.
➢ Passing the test criteria: Whether the system is able to pass the set test criteria.
➢ Usability and HCI evaluation: Whether the system follows accepted HCI norms
and conventions.
➢ Sort your mail by date, size, sender, subject, color or thread, in ascending or
descending order
➢ Offline operation allows you to read and compose your mail while you are not
connected to the Internet.
➢ As the system solution itself functions on a network i.e. performs its activities
including sending of notification, uploading of notices etc on a network, hence unless
and until the network topology used is strong and robust there is fear for crashing of
the system and hence of the data.
➢ With data being crashed update anomalies will show up in notifications starting with
end users receiving outdated information about news and events.
➢ Other major concerns could be the use of security in the portal solution. Although the
system is designed to provide maximum security and privacy for the end users yet
anomalies may exist in the form of leakage of private information or encroaching of
privacy.
PTL00782209 Asia Pacific Institute of Information Technology
Page 16
Smart Mail
➢ Even though the system is developed for novice as well as for casual users it will
require a computer literate person as a user.
➢ Although it has been ensured that the system delivers information in the most
professional and ethical way yet users may somehow misuse the professional content
of shared knowledge in a way that could be termed unethical.
The system itself will be designed specifically as a non-passive application which allows a
certain level of interactivity between the user and the system, the overall features and
function of the system will be done. The scope of this system is to provide essential
information of the basics and fundamentals of email client, and to provide interactive guides
for the user to have better learning experience and understanding.
Smart mail does all the basics of e-mail extremely well and far more than that. This list is by
no means comprehensive - it concentrates on the highlights.
The two most broadly used universal testing are White-Box testing and Black-Box testing.
White-Box testing: is a program based testing which uses program statements and data
dependencies to derive test cases. White box testing will be carried out for all the logically
complex modules of the project. It takes into account the internal mechanism of a system or
component. It demands full visibility of the internal workings of the software product,
specifically, the logic and the structure of the code. White box testing will be carried out for
all the logically complex modules of the project.
Black Box testing: is a requirement based testing which uses test cases to show that the
project satisfies functional as well as non- functional specifications. Black box testing will be
carried out for all the modules of the project. Testing without knowledge of the internal
workings of the item being tested. Tests are usually functional. The system or module to be
tested is considered as black box which only takes input and gives output after processing,
thus the testing solely depends on the inputs. Every input will be tested for its validation
using various black box testing techniques.
This will help me to know if all the processes are working fine.
Unit testing: It will be done to ensure whether an individual portion or unit of the
software conforms to their specifications and predictable performance. This will help
in identifying small faults in the project. Functional and reliability testing in an
engineering environment. Producing tests for the behavior of components of a product
to ensure their correct behavior prior to system integration. Unit testing will be
performed to test each module individually.
Functional testing: Here, each and every module of the project will be tested
individually. Validating an application conforms to its specifications and correctly
performing all its required functions. This entails a series of tests which perform a
feature by feature validation of behavior, using a wide range of normal and erroneous
input data. This can involve testing of the product's user interface, APIs, database
management, security, installation, networking; etc. Testing can be performed on an
automated or manual basis using black box or white box methodologies. In case of
Campus Connect I will be testing every individual feature of the project function by
function, user interfaces and other features.
Usability Testing: This testing strives upon the usability features like design
principles and other HCI guidelines. The system is tested to follow the designing
principles. The system is also checked for the feedback, visibility, constraints and
other HCI guidelines.
Compatibility Testing: Testing to ensure compatibility of an application with
different browsers, Operating Systems, and hardware platforms. Compatibility testing
can be performed manually or can be driven by an automated functional or regression
test suite. As Campus Connect would be a platform independent application I will
check its compatibility with different operating systems. This testing will be
performed after completion of the whole system. It is expected that the system will be
compatible over the list Operating Systems mentioned in the software requirements
section.
Integration Testing: The different modules of the system will be integrated tested to
check the functionality of the entire system.
User Acceptance Testing: This is done at the completion of the project. This is done
by an external stakeholder. This will help the developer to know whether the system
developed meets user requirements. Testing to verify a product meets customer
specified requirements and the user accepts the system that was developed. User
acceptance testing would be done after the development of the entire project.
GUI Testing: The GUI developed for the application will be tested for its ease of use
and understanding.
The developer identified the project risk by evaluating the project plan and the project scope
statement. There is much kind of threats behind the development of a project.
Natural Threats: Natural threats can give a great collision to obstruct the project. As
enlisted below the natural threats can cause loss of resources as well as the capital. Even
though the natural risks are less probable, if occurred they can cause failure of entire project.
Few of the natural threats are:
2. Unrealistic scheduling Critical issues for the project were identified and adequate
time slot was given for each such activities.
Technical Threats: These are threats relating to technical issues that will also lead to
unwanted project results.
3. Technology selected will not meet the Thorough research was conducted in
expectation. finalizing the tools to be used for
developing the project.
Human Threats: There are certain threats based on human behaviors, habits and
characteristics as featured below:
RISK EVALUATION
The developer has a detailed overview of few real time projects “AMC mail client” to study
the risk analysis and evaluation. The developer identified the following risk severity levels
accordingly:
Impact % Level
0-20 Insignificant
21-40 Minor
41-60 Moderate
61-80 Major
81-100 Severe
The developer also had a study of the environment of the project Smart Mail; he identified
the
Occurrence % Likelihood
likelihood
0-5 Rare of the
6-15 Unlikely various
16-50 Possible risks
identified
51-75 Likely
above as
76-100 Almost Certain
shown
below:
Almost certain M H H E E
Likely M M H H E
Possible L M M H E
Unlikely L M M M H
Rare L L M M H
1 Source: www.finance.gov.au/comcover/docs/info-
session/Table_Qualitative_Risk_Analysis_Matrix.rtf
The above mentioned table indicates the Qualitative Risk Analysis matrix that is produced
based on the likelihood and consequence of a general risk.
(Table_Qualitative_Risk_Analysis_Matrix.rtf, 2008) The developer has used this matrix to
prioritize the risks. Each risk can thus be prioritized as low, medium, high or extreme priority
risk.
The risks involved in Smart mail and their priorities are calculated below:
➢ Security: this risk will occur in exceptional circumstances only (rare) and it would
threaten functional goals / objectives (major impact).
➢ Power failure: this risk is most likely to happen in most situations in Panipat (likely)
and it will intimidate the functional goals or objectives. Power crisis may also lead to
short-circuiting or other electrical problem that may damage the equipments that
might lead to the above circumstances (Major).
➢ Personal shortfall: This risk could happen with the developer due to getting in poor
health. If this risk happens, it may lead to having necessary modification done to
resource allocation so it bears moderate risk.
➢ Communication Failure: As described in the risk identification section this risk could
occur and it will result in undesired features or delay in work.
➢ Unrealistic schedule budget: If the developer has a accurate planning to developed the
system and regular meeting with the supervisor regarding the project progress then the
project delay will be less often (unlikely) but if this risk occurs it will be a hamper the
related module as well as the system as a whole, thus the consequence is moderate.
➢ Loss of data storage devices: there are very rare chances that the data storage device
will be lost (rare). This risk will lead to complete loss of project (major).
Contingency plan:
This is a very important plan to having planning for the recognized risks have been done.
This is important so as to be ready with a means of overcoming the risk. On the basis of the
priority of the risks the contingency plan for the risks are as follows:
2 http://planningskills.com/askdan/6.php
Duration: 36 Weeks
1. Project Definition
Duration: 1 week
Tasks:
• Idea Generation
• Project Title Selection
• Feasibility Studies
• Abstract Draft Project Proposal
2. Project Planning
Duration: 3 weeks
Tasks:
Tasks:
Tasks:
• Navigational Design
– Story Boarding
– Data flow Diagram
• Abstract Interface Design
– Screen layout
– Content Design
– Interactivity Design
– Functionality Design
5. Prototyping
PTL00782209 Asia Pacific Institute of Information Technology
Page 26
Smart Mail
Duration: 10 weeks
Tasks:
• Creating Prototypes
• Evaluate Prototype feedbacks
6. Production and Implementation
Duration: 1week
Tasks:
• Code generation
• Mid point Interview
• Module Integration
7. Testing and Evaluation
Duration: 4
Tasks:
• Prototype Evaluation
• Test Plans
• Unit Testing
• Integration Testing
• System Testing
• Critical Evaluation
8. Project Ending
Duration: 2 weeks
Tasks:
Chapter 2
PROBLEM DESCRIPTION
While email is now widely accepted, it only represents a developing stage that will over the
next five years develop into entirely new forms of communications that more directly and
efficiently suit the needs of businesses and organizations.
1. Problem: Existing system has the ability to split attachments into chunks.
Justification: In the proposed system developer will use the RSA encryption method;
here messages are translated into sequences of integers. This can be done by
translating each letter into an integer, as is done with the Caesar cipher. These integers
are grouped together to form larger integers, each representing a block of letters.
Justification: These problems can occur if you do not compact the Inbox. The
mailboxes require intervallic protection to avoid such problems from occurring. By
the time the problems occur, compacting the Inbox, though still required, may not be
PTL00782209 Asia Pacific Institute of Information Technology
Page 29
Smart Mail
sufficient to resolve the problem. In the proposed system this kind of problem won’t
be happen. Because the developer will use the actual methodology of SMTP and
POP3 protocol.
5. Problem: I had found sometimes that many existing system has trouble to
downloading new mail.
Justification: When this happens, you may receive new messages that are empty when
you try to open them or multiple entries for the same new messages in the inbox.
6. One common problem in some existing system is that users experience is an inability
to send messages. If you are unable to send messages, try deleting the outgoing mail
(SMTP) password for your account.
Nature of challenge:
Security: Maintaining security and privacy is one of the most demanded features for any
browser. So creating an application with a secure environment is major issue. The security
issues are major challenge as the system will provide users to access the data from their
choosing mail site without login in offline, it also means that without having internet users
can see their mail boxes.
Creating enhanced user interface: User interface is one of the major success criteria for any
user oriented system. So, developing a user interface by keeping in mind user requirements is
hard to achieve.
Password Manager: Log on to e-mail, social networking sites, banks and other sites in just a
single click by keeping the password saved can be an advanced feature. Passwords are
encrypted and stored safely on the server.
Without login: user can access multiple account from the proposed system at the same time
and at same window. User does not need to login all the time to access their multiple
PTL00782209 Asia Pacific Institute of Information Technology
Page 30
Smart Mail
accounts. Because the proposed system has a option like” Remember password”. If the user
click this option after giving their necessary information to log in to smart mail. Until user
uncheck the that particular option user does not need to login again and again to use the
system.
Chapter 3
LITERATURE REVIEW
Research is of prime importance for any successful project development. It gives movement
to developers’ ideas and provides for the theoretical background for any project development.
This section will with the developer’s existing knowledge and secondary research. The
section will also present a domain analysis any such existing systems.
Email is the most preferred communication medium for businesses around the world today
and providing protected and pervasive access to it is the key to increased productivity of any
successful business. Smart Mail provides intelligent access to Email, contacts directory and
calendar. Interaction with Smart Mail is multi-modal providing hassle-free access to the
user. Smart Mail alerts the users based on their alert rules. Users can access Smart
Mail through any mode/device of their choice to read, reply, compose, and forward emails
and attachments. 3
E -mail is the most widely used application and it has become the application that users
spend much of their time using it [1, 2]. E-mail clients are used every day in our lives and they
can be the reason of buying personal computers. Therefore, Duchenaut and Bellotti called it
[3]
habitat . E-mail is designed to enable none-face to face communication but because it is
widely used nowadays it is being used for additional functions which e-mail is not designed
[4]
for, therefore it is called overloaded . Many studies showed that the number of e-mail
messages rapidly grows. For example, the University of California stated that about 31 billion
e-mail messages have been sent in 2007 and this number might be doubled in 2010. In other
study, it has been shown that the average user gets around 49 e-mail messages a day while
high volume users can get more than hundred [1]. It has been shown that the average user gets
around 49 e-mail messages a 4day. While high volume users can get more than hundred. By
leaving these e-mail messages in the e-mail inboxes they will be very difficult to use and they
will be cluttered.
3 http://www.openstream.com/smartmail.htm
4[1] Rohall, S.L., Redesigning Email for the 21 stCentury Workshop Position Paper. CSCW 2002 Workshop:
Redesigning Email for the 21st Century. New Orleans, LA, 2002.
[2] Sudarsky, S. and R. Hjelsvold, Visualizing electronic mail. Information Visualisation, 2002. Proceedings.
[3] Duchenaut, N. and V. Bellotti, Email as habitat. Interactions, 2001. 8(5): p. 30-38.
[4] Whittaker, S. and C. Sidner, Email Overload: Exploring Personal Information Management of Email. 1996.
Although e-mail applications are widely used and many studies have been performed but it
has not been significantly treated and researched in term of usability aspects. Although most
of the e-mail clients use the textual table view to presents the e-mail messages, different
problems are exist when browsing large amount of e-mail messages. For example users will
take long time to locate a specific e-mail message.
Filtering and using folders has been proposed and suggested to be the way of organizing the
e-mail inboxes which will make the navigation easier. Many studies showed that using
folders and filtering features has many problems5. Auto classification and automatic folders
creation has been proposed to be a solution, but it has proven error prone [1]. Apart of using
filtering and auto classification of e-mail messages many studies have been performed in
order to provide an alternative approach to the textual table approach. Most of these studies
used different visualization techniques with the information hiding concept in order to present
the e-mail messages and data.
The development of this project requires a deep insight in many new concept of software
development. Major research area for the development of the project can be:
• Key concepts of client server architecture.
• Concept of software design methodology.
• Usability principles.
• Human Computer Interaction Principles.
• The advanced concept of .NET and C# framework.
• The advanced concept of database management.
• To understand and implement the concept of content management systems using
advanced .NET framework.
5 Rohall, S., et al., Email Visualizations to Aid Communications. IEEE Symposium on Information
Visualization (InfoVis), 2001
Advanced Preliminary:
The proposed system is being developed for mail system. So, a study of the various principles
of this field is required.
3.1 RSA Encryption: RSA is unique. All other encryption systems use the same key to
encrypt as to decrypt, just like a normal lock and key. RSA splits the key into two, an
Encryption key (the public key because who cares what you En-crypt) and a Decryption key
(private key). Anyone can encrypt a file for you (using your public key) but only you can
decrypt it (using your private key). It is accepted by mathematicians that provided a large key
length is used, RSA is impossible to crack.
The RSA algorithm is one of the most common methods for public key encryption and
signature creation. It is based on the intractability of factorization and discrete logarithm; the
RSA function, when implemented, consists of one modular exponentiation. Despite its
simplicity when formularized, RSA is actually quite challenging for developers of embedded
systems, because it needs to work on 1024 - 4096 bit long numbers to achieve adequate
security level.6
Encryption has been used for many years as the only effective way of securing information
on the internet. So it's no surprise that encryption is the best way to secure your email.
Secure-mail uses the worldwide standard AES and RSA encryption algorithms, recognized
by the US National Institute of Standards and Technology as the best available.
When the secure-mail hub is first installed a unique key pair is generated. This key pair
comprises a private and public key. The private key is held by you and stored on your Secure-
mail hub as well as backed up on the USB key which you use for the initial installation. The
public key is sent, so that it can be disseminated to all other Secure-mail users. At this point,
6 http://ijns.femto.com.tw/contents/ijns-v10-n2/ijns-2010-v10-n2-p157-160.pdf
any other public keys are received by your hub. This is done automatically and at regular
intervals to ensure that you always have up to date public keys on your hub.
The body and any attachments in the email will at first be encrypted with a symmetric 256 bit
key, randomly generated by the hub. This is then encrypted with the recipient’s public key
which is a 4096 bit asymmetric key. When the email is received by the intended recipient, the
email is unencrypted as it passes through the recipient’s secure-mail hub or when it is opened
if the recipient is using the software version, Secure-mail.
3.2 SMTP: The objective of the Simple Mail Transfer Protocol (SMTP) is to transfer mail
reliably and efficiently. SMTP, a process can transfer mail to another process on the same
network or to some other network via a relay or gateway process accessible to both networks.
The means by which a mail message is presented to an SMTP client, and how that client
determines the domain name(s) to which mail messages are to be transferred is a local matter,
and is not addressed by this document. In some cases, the domain name(s) transferred to, or
determined by, an SMTP client will identify the final destination(s) of the mail message. In
other cases, common with SMTP clients associated with implementations of the POP or
IMAP protocols, or when the SMTP client is inside an isolated transport service environment,
the domain name determined will identify an intermediate destination through which all mail
messages are to be relayed.
In other words, message transfer can occur in a single connection between the original
SMTP-sender and the final SMTP-recipient, or can occur in a series of hops through
intermediary systems. In either case, a formal handoff of responsibility for the message
occurs: the protocol requires that a server accept responsibility for either delivering a
message or properly reporting the failure to do so.
Once the transmission channel is established and initial handshaking completed, the SMTP
client normally initiates a mail transaction. Such a transaction consists of a series of
commands to specify the originator and destination of the mail and transmission of the
message content (including any headers or other structure) itself. When the same message is
sent to multiple recipients, this protocol encourages the transmission of only one copy of the
data for all recipients at the same destination (or intermediate relay) host.7
3.3 8POP3: POP3 Protocol is used to receive incoming mail messages. These options consist
of security options as well as optimization options.
• Maximum Threads: A thread supports one message and requires memory and CPU
usage. Once the message reaches its final destination the thread is released and
another message can use the thread. Raising the limit of threads will enable the server
to handle more messages simultaneously, but requires more CPU usage and memory.
If the maximum thread limit is reached, the server will reject messages and send an
error to the sender.
• Session Timeout: Timeout settings determine the length of time for the Internet
connection between the mail server and the email client on a desktop computer. A
session timeout is the amount a time a session or connection stays open from the mail
server to the email client, regardless of whether or not a command is issued. For
example, clicking the "Send" button once to send messages to 1000 email addresses.
• Command Timeout: Enter the level of inactivity in seconds that occur between the
mail server and an email client that the server will tolerate prior to closing the
connection. In order to keep the mail session open, the email client has to issue a
command before this time limit expires.
• Maximum Bad Commands: Enter the number of bad commands that the mail server
will accept before closing the connection with the email client (ending the session).
7 http://www.faqs.org/rfcs/rfc2821.html
8 http://help.smartertools.com/Documents/SmarterMail_1x_Help.pdf
Bad commands take place when the email client from a desktop computer sends a
command out of sequence or when the Internet connection is interrupted.
• Enable APOP: APOP stands for Authenticated Post Office Protocol. Every mail
connection made sends your username and password across the network in clear text
(no encryption). With APOP enabled, your password is encrypted while being
transmitted over the Internet.
CONCLUSION
By reviewing the previous research and studies that have been performed in browsing e-mail
data it has been inferred that using graphics alone is not sufficient for enhancing e-mail
usability. Information hiding is not good solution for reducing the graphical complexity
because it might hide critical information. This information can be presented using other
modality such as the auditory channel. The combination of different modalities can enhance
the usability of any information system. The e-mail message based on the basic e-mail
properties and presents the other using different modalities. The anticipated benefits of this
tool are expected to be significant and effective because the e-mail applications are widely
used.
There are mail client services that are available in the market today. Given below is a brief
description of some of the most popular mail clients.
Outlook express:
Pegasus Mail :9
Pegasus Mail is an e-mail client that runs on computers using Microsoft Windows: by client,
we mean that it interacts directly with the user, allowing mail to be sent, read, filed, printed
and otherwise manipulated through a graphical interface. Probably one of the most feature-
rich mail clients available, most users say that they find the program easy to use despite its
richness. Small and fast, Pegasus Mail can be left running permanently on the workstation
and includes powerful tools to notify the user when new mail arrives.
Simple mail: Simple Mail is a simple to use but powerful mail client. It supports the SMTP,
POP3 and IMAP (in a simple form) protocols. Furthermore, among many other features, it is
capable of showing HTML mails and can identify spam mails by using a Bayesian filter.10
9 http://www.pmail.com/
10 http://en.wikipedia.org/wiki/SimpleMail
Sorting mail X X X
Spelling checker X X X
Multiple folder formats X X X
Powerful encryption method X
Special Features
Multi account access X
Table 8: Functionality comparison with the existing system
Hardware requirement: The hardware needed for this project are listed below. The
specification of the PC is:
Memory 256 MB
Software requirement: In order to carry out the development of this project, many software
are needed, these include Microsoft Windows XP, which shall be the operating system for the
project to be developed; internet connection will also be needed in order to come up with the
interactive user interface and objects. List of software
Windows vista
Windows 7
Business software Office 2000, 2003, 2007, 2010
Presentation
Gantt Chart Microsoft project 2003
Diagram
Macromedia Dreamweaver 8.0
Design
The main tool and programming language tool be used the most for the project are .NET,
SQL Server 2005. In the RSA encryption method, messages are translated into sequences of
integers. This can be done by translating each letter into an integer, as is done with the Caesar
cipher. These integers are grouped together to form larger integers, each representing a block
of letters.
Windows components
After you have installed the operating system and applied all critical updates, you must
configure the computer to be a Web server by enabling Internet Information Services (IIS)
6.0, including:
• WWW
To enable e-mail notifications, you need to configure incoming and outgoing e-mail settings.
To configure sending e-mail alerts and notifications, you must specify an SMTP e-mail
server. To configure your installation so that your SharePoint sites can accept and archive
incoming e-mail, you must install the IIS SMTP service.
PTL00782209 Asia Pacific Institute of Information Technology
Page 40
Smart Mail
Before installing Office Project Server 2007, you must install the Microsoft .NET Framework
3.0 and then ensure that ASP.NET 2.0 is enabled.
Chapter 4
PTL00782209 Asia Pacific Institute of Information Technology
Page 41
Smart Mail
RESEARCH METHODS
Primary Research
User requirement is the main point of view for any developmental movement. User accepts
only those products which are able to complete their functions. Primary research is very
supportive in receiving information from user. Developer did the primary research in order to
verify the feasibility of the proposed system. The following activities were conducted in order
to gain information from the users:
Questionnaires
A questionnaire is basically a survey. It is usually a short survey that takes specific
information. This kind of fact-finding method is applied to obtain more information from the
people who are significant for the system and having very fewer times for participation for
the reason that of their daily schedule. The questionnaires are also important for congregation
information from the users who are related to the project but are geographically separated
from each other.
The primary intention of distributing of this questionnaire is to further justify and to gain the
user support of implementation of the proposed system and to know the kind of feature that
those respondents anticipate and as well as any existing system that the user came across. A
total of 15 respondents have taken part this survey. The questions in the questionnaires are as
follows:
Yes
No
Justification: If you are too often send messages on the schedule, the Email
Scheduler plug in will help you fully automate this process. Now you can set a certain
date and time to send out specific messages. Furthermore, Email scheduler can work with
attached a file, which allows you to, for example, send certain documents periodically.
Yes
No
Justification: This question would help me to know that whether users want or not to use
such kind of system.
Yes
No
Justification: When you are in an Active Directory network environment, you can set Smart
mail policies to enforce settings on a specific or a group of users. This is mainly to be used to
change or limit the default behavior of Outlook in a corporate environment but can also be
useful in some home environments. For instance, as a home user you might want to set
policies on what your children can and cannot do in Outlook.
Yes
No
Justification: this would ask to know, whether the user want to use this functionality or not.
Yes
No
Justification: This question asks to the user who has facing problem during opening their
mail client. If a user wants to open his mail account in different site (like Gmail, yahoo,
PTL00782209 Asia Pacific Institute of Information Technology
Page 43
Smart Mail
hotmail etc.) for several times then user need to login more than a few times to access the site
which is a cumbersome task.
6. How important do you think is the transparency in the sharing of information between
a user and a mail-client (SmartMail) system?
Important.
Very important.
Justification: This question asks to the user to know how much important of sharing
information regarding their mail account and security risk pertaining to their account.
7. Do you think having a Mail client like Smart mail will help you to reduce your time
and cost?
Yes.
No.
Justification: Smart mail will provide user to access their different mail account without
login their account. They can access different account from Smart Mail at the same time. So
that my system will reduce the user time and cost.
8. Do you want the system will provide the user to access the updated mail even if the
user doesn’t need to login all the time?
Yes.
No.
Justification: user can access multiple accounts from this system (Smart Mail) faster rather
than use of other system. This will help the user to access multiple accounts information in a
single window (in Smart mail).
Yes
No
Justification- Designed to find out is user want customized setting or system default, which
cannot be change by user.
10. What are the difficulties you face when you use other mail client like outlook
express?
Justification- to know common difficulties of user has to face when they use similar kind of
other system. This would help to reviewing user problems and preparing a solution to that
problem.
11. Do you think a good user interface is a key point for the portal to succeed among
students?
Yes.
No
12. Do you think having a calendar planner help you out in planning events and meeting
deadlines?
Yes.
No
Justification: Appointments are activities that you schedule in your calendar that do not
involve inviting other people or reserving resources. You can set reminders for your
appointments. A meeting is an appointment you invite people to or reserve resources for.
You can create and send meeting requests and reserve resources for face-to-face meetings or
for online meetings.
In order to carry out the researches listed above, information are to be gathered from
different sources, such as:
Books:
1. The Bliss or "Diss" Connection?: Email Etiquette for the Business Professional by
Cherie Kerr and Jim Doody
2. Business E-Mail: How to Make It Professional and Effective by Lisa A. Smith
3. Outlook 2003 Conquer Email Overload with Better Habits, Etiquette and Outlook
2003 by Peggy Duncan
4. Professional ASP.NET 4 in C# and VB by Bill Evjen, Scott Hanselman, and Devin
Rader
5. Microsoft .NET: Architecting Applications for the Enterprise (PRO-
Developer) by Dino Esposito and Andrea Saltarell
6. Ultra-Fast ASP.NET: Build Ultra-Fast and Ultra-Scalable web sites using ASP.NET
and SQL Server by Rick Kiessig
7. SQL Bible (Bible (Wiley)) by Alex Kriegel and Boris M. Trukhnov
8. ASP .NET Programming with C# & SQL Server (The Web Technologies) by Don
Gosselin.
9. Beginning ASP.NET 2.0 in C# 2005: From Novice to Professional (Beginning:
From Novice to Professional) by Matthew MacDonald, Matthew MacDonald, and
Julian Templeman.
10. Pro ASP.NET 4 CMS: Advanced Techniques for C# Developers Using the .NET 4
PTL00782209 Asia Pacific Institute of Information Technology
Page 46
Smart Mail
Magazines:
• Mori Seiki
• Send
People:
• Student
• Casual and novice user
• Professional Race driver
• Supervisor
• Lecturer
Websites:
• http://www.pmail.com/
• http://www.mailcopa-emailsoftware.com/
• http://jmailbox.org/
• http://www.emclient.com/
• http://www.w3schools.com/xml/default.asp
• http://www.myflashxml.com/
• http://www.w3schools.com/asp.net/ajax
• http://www.w3schools.com/asp.net
• http://www.w3schools.com/wsdl/default.asp
• http://www.w3schools.com/js/default.asp
Methods and practices used in the real world can be useful and effective in researches, in
order to carry out the research required for this project, these methods will be used:
➢ Fact-finding - Some resources from the web can be helpful, there are some good
sites which provide a good amount of information, pictures, and even video clips,
not only that, forum is a good place to seek for further enquiries. A lot of great
drifters do spend quite some time on some specific forums, in which they use it to
share information and prepare events, gatherings and so on. Besides that, mail
magazines are also recommended for fact finding.
➢ Questionnaires – To retrieve feedbacks, opinions from majority users (casual and
Technical Research
What is a Methodology?
Software engineering is carry out of using preferred procedure techniques to progress the
quality of a software development effort. A methodology is defined as a collection of
procedures, techniques, tools, and documentation aids which will help developers in their
efforts (both product and process related activities) to implement a new system. For
successful implementation, a well-organized and systematic approach is crucial. Therefore,
several methodologies were developed to encourage the systematic approach to planning,
analysis, design, testing and implementation. Methodologies offer various tools and
techniques to assist in analysis, design and testing in terms of detailed design of
software, data flowcharts and database design.
Why Methodology?
➢ To complete a project within time and budget with the expected scope and quality we
need methodologies which provide for a framework.
➢ Most methodologies have a general planning, developing and managing stages in
common. They suggest the development team the ways of thinking, learning and
arriving at a regular feasible solution.
Suitable Methodologies:
Waterfall Methodology: All projects can be managed better when segmented into a
hierarchy of chunks such as phases, stages, activities, tasks and steps. It follows a linear
structure starting from requirement analysis, through design, implementation and
maintenance. Most widely accepted methodology for student projects, this model has been
well tried and tested. Each phase of it has sub phases which produce deliverables.
Requirements are fixed at initial stages before proceeding with development plans in system
development projects; the simplest rendition of this is called the "waterfall" methodology, as
shown in the following figure:
The waterfall provides an orderly sequence of development steps and helps ensure the
adequacy of documentation and design reviews to ensure the quality, reliability, and
maintainability of the developed software. While almost everyone these days disparages the
"waterfall methodology" as being needlessly slow and cumbersome, it does illustrate
Spiral Model: While the waterfall methodology offers an orderly structure for software
development, demands for reduced time-to-market make its series steps inappropriate. The
next evolutionary step from the waterfall is where the various steps are staged for multiple
deliveries. The ultimate evolution from the water fall is the spiral, taking advantage of the
fact that development projects work best when they are both incremental and iterative, where
the team is able to start small and benefit from enlightened trial and error along the way.
The spiral methodology reflects the relationship of tasks with rapid prototyping, increased
parallelism, and concurrency in design and builds activities. The spiral method should still be
planned methodically, with tasks and deliverables identified for each step in the spiral
This model is a better alternative if requirements are not well known in advance. It follows an
iterative approach in system design. It extends the waterfall model by involving prototyping.
It is generally preferred when project are large and complicated. The steps in this model are:
Rational Unified Process (RUP) Modelling: Rational Unified Process Model offers features
which are very useful for the development of this project. Features like iteration, repetitive
testing, etc. will help in developing the system which is far more effective and error-free.
RUP consists of four phases which can be altered to suit my needs. As iteration is a key
feature of this model it is very useful for the development of student project as developer
requires a repetitive check of the key features. All the activities of the project will now be
divided and scheduled wisely so that the project can be finished on time.
➢ Work Products (what) – A Work Product represents something resulting from a task,
including all the documents and models produced while working through the process.
➢ Tasks (how) – A Task describes a unit of work assigned to a role that provides a
meaningful result. Within each iteration, the tasks are categorized into nine
disciplines: six "engineering disciplines" (Business Modeling, Requirements,
Analysis and Design, Implementation, Test, Deployment) and three supporting
disciplines (Configuration and Change Management, Project Management,
Environment). RUP facilitates changing of requirements at the later stages of
development as incremental and iterative approaches are assimilated to accommodate
changes over a time.
➢ RUP provides a full lifecycle approach covering a series of product lifecycle phases
called inception, elaboration, construction, and transition.
➢ RUP Provides a software development method and a set software engineering
practices that cover the majority of software development disciplines
➢ RUP iterative. Within each phase, the project undergoes multiple iterations ; the
nature of each is determined in part by the life cycle phase. Early iterations build the
business case and the requirements and architectural baseline. Later iterations focus
on implementation and transition to the development.
➢ RUP is incremental; each iteration builds on the functionality of the prior iteration;
the software application evolves in this fashion with the benefit of regular and
continues feedback.
• Inception Phase
PTL00782209 Asia Pacific Institute of Information Technology
Page 51
Smart Mail
• Elaboration phase
• Construction Phase
• Transition phase
This phase deals with the various research works on the proposed system. It helps in
formulating the scope of the project. The core features that are to be incorporated into the
system are practically identified in this phase. The targeted audience is then identified and the
various tasks to be carried out is divided and scheduled. This phase also includes an initial
risk assessment against the project implementation.
➢ Plan and prepare the business case. Establish the project software scope and boundary
conditions, including an operational vision and acceptance criteria.
➢ Estimates the overall cost and schedule for the entire project
➢ Estimate potential risks especially time, human and of course money
➢ Synthesize a candidate of architecture, evaluating trade-offs in design and in
make/buy/reuse so that cost, schedule and resources can be estimated.
➢ Prepare the environment for the project, selecting tools and deciding which parts of
the process to modify.
• Elaboration phase:
The primary objective is to mitigate the key risk items identified by analysis up to the end of
this phase. The elaboration phase is where the project starts to take shape. In this phase the
problem domain analysis is made and the architecture of the project gets its basic form.
This also includes data gathering, analyzing and designing the proposed system. It shall
contain the academic and domain research on knowledge universities and university portals.
It is this phase that makes a comparative study of similar products available in the market and
what add-ons can be incorporated to the current project. Once finished, the questionnaires
and interview sessions with concerned users are conducted. The outcome of the research
work is used for planning out the system requirement specification which will be
documented. The requirement specification will be used for the later development phases of
the system.
• Construction phase:
The primary objective of this phase is to build the software system. The main focus here is on
the development of components and other features of the system. This is the phase when the
bulk of the coding takes place. In larger projects, several construction iterations may be
developed in an effort to divide the use cases into manageable segments that produce
demonstrable prototypes.
During the construction phase, all the individual modules are developed and finally integrated
to the product and is tested. After completely implementing the system it will be tested with
proper testing technique.
➢ Complete the analysis, design, development and testing of all required functionality in
each iteration. Minimize development costs by optimizing resources and avoiding
unnecessary scrap and rework. Achieve adequate quality as rapidly as practical
➢ Decide if the software, the sites and the users are all ready for the application to be
deployed.
➢ Complete module development and testing against the define evaluate criteria.
➢ Evaluate product releases against acceptance criteria for the vision. IV. Transition
Iteration
➢ Test early iteration and releases to validate the new system against user expectation
➢ Finalize end user support material; train users and maintainers.
➢ Roll-out to the marketing ,distribution and sales forces
➢ Finalize deployment – specific engineering such as cutover, commercial packaging,
production, sales roll-out and field personal training.
➢ Complete tuning activities such as bug fixing, performance and usability
enhancement.
➢ Assess the deployment baselines against the complete vision and the acceptance
criteria for the product.
➢ ·Execute deployment plan.11
• Transition phase:
Primary objective of transition phase is to 'transition' the system from development into
production, making it available to and understood by the end user. The activities of this phase
include training the end users and maintainers and beta testing the system to validate it
against the end users' expectations. The product is also checked against the quality level set in
the Inception phase.
If all objectives are met, the Product Release Milestone is reached and the development cycle
ends.
11 http://doddychsaputra.thecoderblogs.com/2008/07/19/rational-unified-
process-rup-methodology/
Each methodology was evaluated against set criteria and performance rating was given. The
evaluation proved RUP as a well disciplined industry standard approach that perfectly
matches the set criteria. Apart from allowing flexibility in requirement analysis, it also
provides strong support for object oriented analysis and design.
➢ This model needs all requirements explicitly, but it is frequently not easy for
the customer to state all requirements clearly.
➢ The model tends to consume a lot more time compared to other software
advance models though it is able to identify exact starting and ending points
for a given project.
➢ Waterfall model does not support iterative approach.
➢ In this model developer cannot change the requirement in the middle of the
project. If changes are tried to be incorporated it leads to more confusion and
further delays.
➢ It defers testing and integration until the end of development lifecycle
resulting in unnecessary risks.
To successfully develop a project or system, technical and programming skills are both
equally important. The academic research determines the design of the system, while the
technical and programming research will determine the usability of the system. The objective
of this session is to identify a programming language platform for developing this project.
Most important factors such as productivity, maintainability, efficiency, portability, etc. pay
an enormous part in this track. As the project being developed is an email application to be
developed by an object oriented approach, it leaves the developer to choose from the
following languages: JAVA, ASP.NET and C#. A lot of research was carried to select the
best among these.
Java:
It is an object oriented and platform independent language which is used for programming
desktop application. It consists of a virtual machine and set of libraries which are needed to
allow the use of file systems, networks, graphical interfaces, etc.
➢ Simple: Java supports automatic memory allocation and garbage collection. This
makes it a simpler language to use than others.
➢ Portability: Java is portable. It runs in any kind of platform.
➢ Multithreaded: This feature allows java to perform many tasks simultaneously
within application. This is an important feature for developing network
applications.
➢ Distributed Programming: Java’s inherent network programming capability makes
it suitable for distributed programming. It means several computers can work
together in a network.
ASP.NET:
ASP.NET is a web application framework which has been developed by Microsoft for the
development of dynamic websites and web services. It can be developed using the visual
studio .Net IDE which offer a vast platform for developing systems which are much easier to
develop and more productive.
➢ Different programming languages have different approaches for doing a task. For
example, accessing data with a VB 6.0 application and a VC++ application is totally
different. When using different programming languages to do a task, a disparity exists
among the approach developers use to perform the task. The difference in techniques
comes from how different languages interact with the underlying system that
applications rely on.
➢ With .NET accessing data with a VB .NET and a C# .NET looks very similar apart
from slight syntactical differences. Both the programs need to import the System.Data
namespace, both the programs establish a connection with the database and both the
programs run a query and display the data on a data grid. The VB 6.0 and VC++
example mentioned in the first paragraph explains that there is more than one way to
do a particular task within the same language..
➢ The functionality that the .NET Class Library provides is available to all .NET
languages resulting in a consistent object model regardless of the programming
language the developer uses.
➢ With .NET, the Framework enables the developer and the system administrator to
specify method level security. It uses industry-standard protocols such as TCP/IP,
XML, SOAP and HTTP to facilitate distributed application communications. This
makes distributed computing more secure because .NET developers cooperate with
network security devices instead of working around their security limitations.
ASP.NET is not just a simple advance or the latest version of ASP. ASP.NET combines
exceptional developer efficiency with performance, reliability, and deployment. ASP.NET
redesigns the whole process. It's still easy to grasp for new comers but it provides many new
ways of managing projects. Below are some other features of ASP.NET.
Visual C#:
C# comes with .NET package which offers a lot of rich libraries and API which is useful in
the development of any project. Features of C# are discussed as below:
PTL00782209 Asia Pacific Institute of Information Technology
Page 58
Smart Mail
➢ Provides Visual Studio .NET IDE. : C# provides an IDE which makes the
development easy and simple for developers as compared to other IDE which are
for Java platform such as Eclipse and Net-beans.
➢ Stylish object oriented design: C# has many object oriented features like object
orientation, encapsulation, inheritance and polymorphism that make it different
from other languages and a great choice for development of a wide range of
components from high-level business objects to system-level software
applications.
➢ Name spaces: C# uses hierarchical namespace model in order to perform its job.
To access the classes and objects of software program desired namespace need to
be included because objects are grouped into name spaces.
➢ Garbage collection: Memory management is of important feature in project
development. So to handle memory management, garbage collection is added as a
great feature to C# uses during runtime.
➢ Indexes: C# has indexes which help to access value in a class with an array like
syntax.
Conclusion:
ASP.NET and C# provides for lot of services which are of essence for the development of the
project. It becomes available an IDE which is much more user-friendly than other
programming languages. As well, it is much faster during execution. So, developer has
decided to use ASP.NET and C# for developing the project.
Database research is aimed at identifying a suitable database to act as the backend of this
project. Research was conducted on Microsoft Access, Microsoft SQL server and Oracle in
terms of their strengths and weaknesses to identify the backend suitable for this project.
Microsoft Access:
Access stores data in its own format based on the Access Jet Database Engine. It can also
import or link directly to data stored in other applications and databases. The original concept
of Access was for end users to be able to "access" data from any source. 12It is packaged with
Microsoft office professional OEM. It is easier to use and understand because of its graphical
interface. Developers can easily create report and modify as compared to other DBMS.
SQL stands for Structured Query Language. SQL lets you access and manipulate databases.
SQL is an ANSI (American National Standards Institute) standard. It is a relational model
database server produced by Microsoft. It is a computer language designed for
managing data in relational database management systems (RDBMS), and originally based
upon relational algebra. Its scope includes data insert, query, update and
delete, schema creation and modification, and data access control.
Useful Features:
➢ Simple and Easy: It is very easy to use and handle. A single management console
can handle data from anywhere in the organization. Administrators can easily
monitor all the data through this console.
➢ Data Mirroring: This is very useful in data recovery. If main system fails,
application will automatically connect to database on a secondary machine.
➢ Reduced Down Time: MS SQL is comparatively faster than other databases.
Moreover, it works flawlessly with .NET framework.
➢ Security: It provide the maximum level of security for enterprise data through
features such as database encryption, more secure default settings, password
policy enforcement, granular permissions control, and an enhanced security
model.
➢ Scalability: Scalability advancements in SQL Server include table partitioning,
replication enhancements, and 64-bit support.
12 http://en.wikipedia.org/wiki/Microsoft_Access
Oracle:
Features of Oracle:
➢ More reliable, I've looked after a lot of Oracle databases and most had an uptime
measured in hundreds of days unlike most sql server databases I've worked with.
➢ Oracle has major advantages in terms of locking and concurrency. In effect Oracle
has been designed for the worst case situation of lots of users reading and
modifying the same data. SQL Server and Sybase have been designed for the best
case situation so in simple benchmarks it usually outperforms Oracle.
➢ Lots of scope for tuning in that there are hundreds of tunable parameters. You can
also find out a lot about how Oracle works thorough the internal views.
Conclusion:
On the basis of the above research it was decided to use MS SQL for the backend purposes.
For one it works seamlessly with .NET platform and also it is easier to use. Moreover, the
developer is already familiar with the working of MS SQL.
Chapter 5
ANALYSIS
In analysis phase all the research carried out by the developer are analyzed to prepare a final
set of requirements for the system. This session discusses the analysis of the primary
research. As a part of primary research, questionnaire sessions were conducted. This section
provides with a detailed analysis of the same.
Analysis of Questionnaires:
Yes No
Analysis: Most of the people responded that they want scheduler into the proposed
system. Email scheduler can work with attached a file, which allows you to, for
example, send certain documents periodically.
Yes No
Analysis: 70% user responded that they are familiar with the similar kind of system. The rest
of the user never used this kind of system for their daily life.
Yes No
Analysis: 60% user responded that they want user group option in the proposed system. This
is mainly to be used to change or limit the default behavior in a corporate environment but
can also be useful in some home environments.
Yes No
Analysis: 65% user responded that they want this option in the proposed system. An e-
mail attachment (or email attachment) is a computer file sent along with an e-mail
message. One or more files can be attached to any email message, and be sent along with
it to the recipient. This is typically used as a simple method to share documents and
images.
Yes No
Analysis: An equal respond has been found during the analysis session for this question. 50%
said that they had found problems using similar kind of other system.
6. How important do you think is the transparency in the sharing of information between
a user and a mail-client (Smart Mail) system?
Analysis: 60% user responded that sharing of information is very important between user
and the system. 35% said that it is important. Hence, sharing of information is an important
feature to be developed. You can share your e-mail, calendar, tasks, notes, and journal with
other users. To share any other folder other than the Inbox, Contacts, Calendar, Notes, or
Journal, you must share permissions on the folder you want to share.
7. Do you think having a Mail client like Smart mail will help you to reduce your time
and cost?
Yes. No.
Analysis: almost equal respond has been found during the analysis session. They can access
different account from Smart Mail at the same time and at same window. So that my system
will reduce the user time and cost.
8. Do you want the system will provide the user to access the updated mail even if the
user doesn’t need to login all the time?
Yes. No.
Analysis: user can access multiple accounts from this system (Smart Mail) faster rather than
use of other system. Almost equal respond has been found for this question. According to the
analysis point of view 85% said that they want this functionality.
Yes No
Analysis: 65% users respond that they want to customize setting by themselves. This
is designed to find out is user want customized setting or system default, which
cannot be change by user.
10. What are the difficulties you face when you use other mail client like outlook
express?
Analysis: To know common difficulties of user has to face when they use other email client.
Reviewing user problems and preparing a solution to that problem.
11. Do you think a good user interface is a key point for the portal to succeed among
students?
Yes. No
Analysis: 98% user responded that a good and attractive interface is very important for
releasing a product or system. Therefore it is important to having a interactive interface for
PTL00782209 Asia Pacific Institute of Information Technology
Page 65
Smart Mail
the system.
12. Do you think having a calendar planner help you out in planning events and meeting
deadlines?
Yes. No
Analysis: 70% user responded that calendar is a very important functionality for such kind
of system. With the help of this functionality user can set reminders for appointments. This
functionality will provide users to create and send meeting requests and reserve resources
for face to face meetings or for online meetings. The Microsoft Outlook Calendar is the
calendar and scheduling component of Outlook, and is fully integrated with e-mail, contacts,
and other features. You can view a day, week, or month at once..
Chapter 6
Design Documents
Re
g is
tra
tio
n
Login
«
u s
e s
»
«
u s
e s
»
Downloa
dd esktop
applic
ation
«
u s
e s
»
«
u s
e s
» Inbox /v
iew
«
u s
e s
»
c
o mpos
e
«
u s
e s
»
Ac
tor 1 «
u s
e s
»
Outbox /v
iew
«
u s
e s
»
«
u s
e s
»
Dra
ft /s
a v
eme
s s
age
«
u s
e s
»
Tra
s h /viewd e
leted
message
s
Addforumtopic
Vie
wforumtopic
Detail:
Description This use case allows users to register into the system.
Actor User
Postcondition(s) After registered user will get the user id and password.
Primary Pathway(s)
➢ The system will ask the user to fill up the registration form.
Alternate Pathway(s)
Exception Pathway(s)
➢ The system will ask the user to fill up the registration form.
Registration
«uses» «extends»
login
«extends»
End
Actor1
Page 1
Description This use case allows user to login into the system.
Postcondition(s) After validating the password and ID, the user can login.
Primary Pathway(s)
➢ The system asks for unique ID and Password from the student.
Alternate Pathway(s)
Exception Pathway(s)
➢ The system asks for unique ID and Password from the student.
Login
«uses»
«extends»
Home page
Actor 1
«extends»
End
Page 1
Actor User.
Post condition(s) After login user can download it from the user home page for
offline use.
Primary Pathway(s)
Alternate Pathway(s)
Exception pathway(s)
Login
«uses» Download dektop
«extends» application
«uses»
Home page
«extends»
Actor 1
End
Page 1
Description This use case allows users to see the mail into the system.
Actor User
Postcondition(s) After clicking the inbox user can view the received mail.
Primary Pathway(s)
➢ The system will ask the user to use the inbox button.
Alternate Pathway(s)
➢ The system will ask the user to use the inbox button.
Exception pathway(s)
➢ The system will ask the user to use the inbox button.
User login
Post condition(s) User will be able to compose mail to other registered user.
Primary Pathway(s)
Alternate Pathway(s)
Exception pathway(s)
User login
Description This use case allows users to see the sent mail into the system.
Actor User
Postcondition(s) After clicking the outbox user can view the sent mail.
Primary Pathway(s)
➢ The system will ask the user to use the outbox button.
Alternate Pathway(s)
➢ The system will ask the user to use the outbox button.
Exception pathway(s)
➢ The system will ask the user to use the outbox button.
User login
Outbox
Primary Pathway(s)
Alternate Pathway(s)
Exception pathway(s)
Draft mail
User login
Description This use case allows users to see the delete mail into the system.
Actor User
Post condition(s) After that user will be able to see the deleted messages into the
system.
Primary Pathway(s)
Alternate Pathway(s)
Exception pathway(s)
User login
Trash mail
Post condition(s) User will be able to add topic for discussion in the forum.
Primary Pathway(s)
➢ User can give views to any particular topic added by other user.
Alternate Pathway(s)
➢ User can give views to any particular topic added by other user.
Exception pathway(s)
➢ User can give views to any particular topic added by other user.
User login
Add topic
Post condition(s) User will be able to view topic for discussion in the forum.
Primary Pathway(s)
Alternate Pathway(s)
➢ User can add view to any particular topic added by other user.
Exception pathway(s)
➢ User can add view to any particular topic added by other user.
User login
Add view
Smart Mail
Database Design
Database design is the process of producing a detailed data model of a database. The term
database design can be used to describe many different parts of the design of an overall
database system. In the database design I have described about the field-id, what data type
has been taken against each field, description of the field-id and finally justified usage of the
data type has been taken
Each entry in the data dictionary consists of a set of details describing the data used or
produced in the system. Each item is identified by a data name, description, alias, and length
and has specific values that are permissible for it in the system being studied.
List of Tables:
Table Structure
1. user_det table
2. usr_mail Table
3. df_topic Table
4. df_views Table
1. user_det table
Field Data Type Description Justification
Name
U_id Nvarchar(50) User id Nvarchar stores Variable-length Unicode
character data. Dependent on the database
collation for comparisons.
U_fname Char(50) User first Fixed-length non-Unicode character data with
name length of n bytes. N must be a value from 1
through 8,000. Storage size is n bytes. The SQL-
92 synonym for char is character. The maximum
size of a CHAR string is 1 billion characters.
U_lname Char(50) User last Fixed-length non-Unicode character data with
name length of n bytes. N must be a value from 1
through 8,000. Storage size is n bytes. The SQL-
92 synonym for char is character. The maximum
size of a CHAR string is 1 billion characters.
U_pass Char(15) User Fixed-length non-Unicode character data with
password length of n bytes. N must be a value from 1
through 8,000. Storage size is n bytes. The SQL-
92 synonym for char is character. The maximum
size of a CHAR string is 1 billion characters.
U_dob Char(10) User date Fixed-length non-Unicode character data with
of birth length of n bytes. N must be a value from 1
through 8,000. Storage size is n bytes. The SQL-
92 synonym for char is character. The maximum
size of a CHAR string is 1 billion characters.
2. df_topic Table
Field Name Data Type Description Justification
DFT_id Int User id Storage size is 4 bytes. The SQL-92
synonym for int is integer.
DFT_sen Nvarchar(50) Sender Nvarchar stores Unicode data. Variable-
length Unicode character data. Dependent
on the database collation for comparisons.
DFT_rec Nvarchar(500) Receiver Nvarchar stores Unicode data. Variable-
length Unicode character data. Dependent
on the database collation for comparisons.
DFT_sub Nvarchar(50) Subject Nvarchar stores Unicode data. Variable-
length Unicode character data. Dependent
on the database collation for comparisons.
3. usr_mail Table
Field Name Data Type Description Justification
M_id Int User id Storage size is 4 bytes. The SQL-92 synonym for
int is integer.
PTL00782209 Asia Pacific Institute of Information Technology
Page 88
Smart Mail
4. df_view Table
Field Name Data Type Description Justification
DFV_id Int User id Storage size is 4 bytes. The SQL-92 synonym
for int is integer.
DFV_dft_id Int Storage size is 4 bytes. The SQL-92 synonym
for int is integer.
DFV_uid Nvarchar(50) Nvarchar stores Unicode data. Variable-
length Unicode character data. Dependent on
the database collation for comparisons.
DFV_views Nvarchar(500) User views Nvarchar stores Unicode data. Variable-
length Unicode character data. Dependent on
the database collation for comparisons.
DFV_dttm Nvarchar(50) Date and Nvarchar stores Unicode data. Variable-
time length Unicode character data. Dependent on
the database collation for comparisons.
Storyboarding
Smart Mail
Log
o
Menu
Butt
on
Imag
e
……………………………………………
……………………………………………
……………………………………………
……………………………………………
……………………………………………
……………………………………………
……………………………………………
Conten ……………………………………………
ts
Description: This is the home page of the system. It will contain general
information regarding the system and its functionalities.
Functionality/Interactivity:
1. Navigate to basic links like about us page, contact page, create new
registration etc.
Textbox
,
Dropdo
wn list
for
input
Registration
Page
Log
Eg
o Menu
Butt
on
Imag
e
Data
Info
about
Rag.
Description: A new user must be registered to use “Smart Mail”. Here user will
get the entire required field to be filled by the user to access the all the
functionalities of the system.
Functionality/Interactivity:
1. After fill up the “User Name”, user has to check the availability of the
user name whether it is available or not. It will search in the database; if
the user name exists then a error will be shown to the user.
Log
o Menu
Butt
on
Imag
e
Login
Page
details
Functionality/Interactivity:
1. After click the submit button, user will navigate to the user
home page.
2. Here other options will be available to the user like “Forget
Password”. User would be able to retrieve the password by
using this option.
Compose Mail
Log Page
o Menu
Butt
on
Imag
Men
e
u
Compose
mail page
Description: in the User Home page user will find a menu where
“compose mail” facility will be available. Here user can see the compose
mail to send. Here user can send the mail by encrypting the text. To
decrypt the mail by other user a password facility is available.
Functionality/Interactivity:
1. RSA Encryption & decryption has been used for the security
purpose.
2. User can attach documents.
3. User can save the mail by using the “Save As DRAFT” option.
4. Password has to provide by the sender with the encrypted mail.
5. Two Prime number (Up to 20) has to put by the user to send the
mail.
Access mail
account
Men
u
Show Mail
Mail details
Functionality/Interactivity:
ER Diagram
Smart Mail
System
Has
M_rec
U_id M_send
U_fname m_id
u_dob
U_pass M_sub
M_mail M_dttm
Add
dfv_id Dfv_dft_id
dft_id dft_uid
dtf_topic Dfv_dttm
dft_dttm
dfv_u_id Dfv_views
SEQUENCE DIAGRAMS
It allows developers to interact with the functionalities of the system in a sequential order. It
allows user to show the interaction in between the various subclasses of the system.
PTL00782209 Asia Pacific Institute of Information Technology
Page 97
Smart Mail
Sequence Diagram1
It showcases various modules involved while completion of this module of user registration.
Class Diagram
Chapter 7
Implementation
The functionalities of the project were developed under three major areas: core, enhanced and
special functionalities. At this stage, the developer has done away with the designing of the
entire system. This phase involves coding the entire system and hence transferring the design
to an actual working system. The following pages describe the implementation tools and the
plan adopted for the implementation of the system.
7.1:- TOOLS USED
The following section describes the various tools that were used for the development and the
implementation of the entire project:-
7.2:-IMPLEMENTATION PLAN
To complete the design and implementation of the whole system within the scheduled time
the developer should have a proper plan. There are various modules in the system which is
working independent of each other. Thus, the plan has been scheduled keeping in mind that
no modules conflict with each other.
The core functionalities of the system will be developed first as its must, and the developer
gives it the topmost priority. Some modules need extra time and effort as they are complex.
Some of the steps that are required to be followed in order to complete the system on time
are:
➢ First and the foremost, the developer will create the user log in module. The system
will support only one type of user, so, login is created.
➢ To use the functionality of the system a user has to be registered. So a registration
page has been created.
➢ Next stage was to develop the user home page in which a general mail system has
been created.
➢ Various types of core functionality such as Inbox, Compose Mail, Trash, Outbox,
ADD views, ADD Topic, Draft has been created.
➢ Next stage was to develop the “Attachment” with mail has been created.
Once these core features are developed the developer can focus on the advanced
functionalities for the system.
➢ The developer developed the functionality of the system which will enable the user to
use the desktop application which allows user to read and compose mail.
➢ The offline application will support for multiple simultaneously accessible POP3 and
IMAP mailboxes in the same window.
The developer will then move towards developing the special feature of the system:
➢ Developer then used RSA Encryption and Decryption technique for better security of
mail in the webmail section to compose a secure mail.
➢ The developer created the page (User Home Page), from which a registered user will
be able to download the offline version of Smart Mail.
➢ The developer will develop a module which enables the POP3 and IMAP mail
system.
Once all these features are implemented user will develop a “services” and “contact details”
page which will facilitate easy understanding of the functionality of the system for its
intended users.
This section gives the details implementation of the various modules in the system. The
developer also describes the problem has been faced during the implementation of modules
and steps taken by the developer to overcome those difficulties.
Objective:
➢ Provide secure login for the system user.
➢ Provide access to the system only if correct username and password is provided.
Module Description:
This module enables the user to login to the system. Only the registered user is allowed to
have access to the system. In this module, Member enters a password and the software
checks its validity. If the password is valid then he is allowed to enter. Different data access
rights are assigned to different users. A new member can also be registered in this module.
Pseudo Code:
Start
Read username, password
Open Connection
If (username= (userid) AND password = (password) AND
type= (User Type)
DO
Go to home page.
Else
DO
Display “Please enter correct ID & Password”
END if
End
7.3.2:- Download Smart mail Desktop application module
Start Date: 230th November, 2010
End Date: 15th December, 2010
PTL00782209 Asia Pacific Institute of Information Technology
Page 105
Smart Mail
Module Objective:
➢ After login user will be able to download the smart mail application.
➢ User can use it in offline too.
Description:
After login user is redirect to the home page. In the home page he will have a download
option to download the smart mail desktop application for offline use. In the application, user
will get the option to set the “settings “for multiple account access. User will have three
options for Gmail, Yahoo and Hotmail. User will be able to access their account(s) by using
this application one by one in the same window. Here user has to give their account details
(Username and Password) to access the multiple accounts.
Source Code:
Module Objective:
➢ User can access multiple accounts.
➢ User can send mails.
Description:
This is a module in the system which is documented as a special functionality. Smart mail
desktop application can be downloading from the user home page which will available to
registered user. After download, user can configure his setting for using the system. User can
access multiple accounts in the same window. User has to configure his settings for accessing
the different account mails one by one. In Smart mail user will have the opportunity to access
different account like Gmail, Yahoo and Hotmail. From this application user can send mail to
different mail account but receiver should enable the pop3 incoming mail setting. Otherwise
receiver won’t be able to see the mail.
Source Code:
namespace smart_Mail_pop3.csharp
/// <summary>
/// </summary>
public Form1()
//
//
InitializeComponent();
//
//
/// <summary>
/// </summary>
if (disposing)
if (components != null)
components.Dispose();
base.Dispose(disposing);
/// <summary>
/// </summary>
this.tabControl1.SuspendLayout();
this.tab_readmail.SuspendLayout();
this.tab_Send.SuspendLayout();
this.Body.SuspendLayout();
this.groupBox2.SuspendLayout();
this.tab_setting.SuspendLayout();
this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.errorProvider1)).BeginInit();
this.SuspendLayout();
//
// lstMail
//
this.lstMail.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.colFrom,
this.colSubject,
this.colDate});
this.lstMail.Dock = System.Windows.Forms.DockStyle.Top;
this.lstMail.FullRowSelect = true;
this.lstMail.HideSelection = false;
this.lstMail.Name = "lstMail";
this.lstMail.TabIndex = 1;
this.lstMail.UseCompatibleStateImageBehavior = false;
this.lstMail.View = System.Windows.Forms.View.Details;
this.lstMail.SelectedIndexChanged += new
System.EventHandler(this.lstMail_SelectedIndexChanged);
//
// colFrom
//
this.colFrom.Text = "From";
this.colFrom.Width = 310;
//
// colSubject
//
this.colSubject.Text = "Subject";
this.colSubject.Width = 383;
//
// colDate
//
this.colDate.Text = "Date";
this.colDate.Width = 128;
//
// btnDel
//
this.btnDel.Name = "btnDel";
this.btnDel.TabIndex = 3;
this.btnDel.Text = "Delete";
//
// lblTotal
//
this.lblTotal.AutoSize = true;
this.lblTotal.Name = "lblTotal";
this.lblTotal.TabIndex = 4;
//
// tabControl1
//
this.tabControl1.Controls.Add(this.tab_readmail);
this.tabControl1.Controls.Add(this.tab_Send);
this.tabControl1.Controls.Add(this.tab_setting);
this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.TabIndex = 7;
//
// tab_readmail
//
this.tab_readmail.Controls.Add(this.webMail);
this.tab_readmail.Controls.Add(this.lstMail);
this.tab_readmail.Controls.Add(this.btnDel);
this.tab_readmail.Name = "tab_readmail";
this.tab_readmail.TabIndex = 0;
this.tab_readmail.Text = "Mail";
this.tab_readmail.UseVisualStyleBackColor = true;
//
// webMail
//
this.webMail.Name = "webMail";
this.webMail.TabIndex = 7;
this.webMail.DocumentCompleted += new
System.Windows.Forms.WebBrowserDocumentCompletedEventHandler(this.webMail_Doc
umentCompleted);
//
// tab_Send
//
this.tab_Send.AutoScroll = true;
this.tab_Send.Controls.Add(this.lblmsg);
this.tab_Send.Controls.Add(this.Body);
this.tab_Send.Controls.Add(this.groupBox2);
this.tab_Send.Controls.Add(this.btn_sendMail);
this.tab_Send.Name = "tab_Send";
this.tab_Send.TabIndex = 2;
this.tab_Send.UseVisualStyleBackColor = true;
//
// Body
//
this.Body.Controls.Add(this.txt_message);
this.Body.Name = "Body";
this.Body.TabIndex = 8;
this.Body.TabStop = false;
this.Body.Text = "Body";
//
// txt_message
//
this.txt_message.Dock = System.Windows.Forms.DockStyle.Fill;
this.txt_message.Multiline = true;
this.txt_message.Name = "txt_message";
this.txt_message.TabIndex = 0;
//
// groupBox2
//
this.groupBox2.Controls.Add(this.txt_subject);
this.groupBox2.Controls.Add(this.label10);
this.groupBox2.Controls.Add(this.txt_bcc);
this.groupBox2.Controls.Add(this.txt_cc);
this.groupBox2.Controls.Add(this.txt_to);
this.groupBox2.Controls.Add(this.label9);
this.groupBox2.Controls.Add(this.label8);
this.groupBox2.Controls.Add(this.label7);
this.groupBox2.Name = "groupBox2";
this.groupBox2.TabIndex = 7;
this.groupBox2.TabStop = false;
//
// txt_subject
//
this.txt_subject.ForeColor = System.Drawing.SystemColors.MenuHighlight;
this.txt_subject.Name = "txt_subject";
this.txt_subject.TabIndex = 14;
//
// label10
//
this.label10.AutoSize = true;
this.label10.Name = "label10";
this.label10.TabIndex = 13;
//
// txt_bcc
//
this.txt_bcc.ForeColor = System.Drawing.SystemColors.MenuHighlight;
this.txt_bcc.Name = "txt_bcc";
this.txt_bcc.TabIndex = 12;
//
// txt_cc
//
this.txt_cc.ForeColor = System.Drawing.SystemColors.MenuHighlight;
this.txt_cc.Name = "txt_cc";
this.txt_cc.TabIndex = 11;
//
// txt_to
//
this.txt_to.ForeColor = System.Drawing.SystemColors.MenuHighlight;
this.txt_to.Name = "txt_to";
this.txt_to.TabIndex = 10;
//
// label9
//
this.label9.AutoSize = true;
this.label9.Name = "label9";
this.label9.TabIndex = 9;
//
// label8
//
this.label8.AutoSize = true;
this.label8.Name = "label8";
this.label8.TabIndex = 8;
//
// label7
//
this.label7.AutoSize = true;
this.label7.Name = "label7";
this.label7.TabIndex = 7;
//
// btn_sendMail
//
this.btn_sendMail.Name = "btn_sendMail";
this.btn_sendMail.TabIndex = 0;
this.btn_sendMail.UseVisualStyleBackColor = true;
//
// tab_setting
//
this.tab_setting.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))),
((int)(((byte)(224)))), ((int)(((byte)(192)))));
this.tab_setting.Controls.Add(this.groupBox1);
this.tab_setting.Name = "tab_setting";
this.tab_setting.TabIndex = 1;
this.tab_setting.Text = "Setting";
//
// groupBox1
//
this.groupBox1.BackColor = System.Drawing.Color.Goldenrod;
this.groupBox1.Controls.Add(this.textServer);
this.groupBox1.Controls.Add(this.label6);
this.groupBox1.Controls.Add(this.pgBar);
this.groupBox1.Controls.Add(this.lblStatus);
this.groupBox1.Controls.Add(this.btnCancel);
this.groupBox1.Controls.Add(this.btnStart);
this.groupBox1.Controls.Add(this.chkLeaveCopy);
this.groupBox1.Controls.Add(this.lstProtocol);
this.groupBox1.Controls.Add(this.label5);
this.groupBox1.Controls.Add(this.lstAuthType);
this.groupBox1.Controls.Add(this.label4);
this.groupBox1.Controls.Add(this.chkSSL);
this.groupBox1.Controls.Add(this.textPassword);
this.groupBox1.Controls.Add(this.textUser);
this.groupBox1.Controls.Add(this.label3);
this.groupBox1.Controls.Add(this.label2);
this.groupBox1.Controls.Add(this.label1);
this.groupBox1.Name = "groupBox1";
this.groupBox1.TabIndex = 1;
this.groupBox1.TabStop = false;
//
// textServer
//
this.textServer.FormattingEnabled = true;
this.textServer.Items.AddRange(new object[] {
"pop3.live.com",
"pop.gmail.com",
"pop.mail.yahoo.co.in",
"plus.pop.yahoo.com",
"pop.hotmail.com"});
this.textServer.Name = "textServer";
this.textServer.TabIndex = 16;
//
// label6
//
this.label6.ForeColor = System.Drawing.SystemColors.ActiveCaption;
this.label6.Name = "label6";
this.label6.TabIndex = 5;
//
// pgBar
//
this.pgBar.Name = "pgBar";
this.pgBar.TabIndex = 15;
//
// lblStatus
//
this.lblStatus.AutoSize = true;
this.lblStatus.Name = "lblStatus";
this.lblStatus.TabIndex = 14;
//
// btnCancel
//
this.btnCancel.Enabled = false;
this.btnCancel.Name = "btnCancel";
this.btnCancel.TabIndex = 13;
this.btnCancel.Text = "Cancel";
//
// btnStart
//
this.btnStart.Name = "btnStart";
this.btnStart.TabIndex = 12;
this.btnStart.Text = "Start";
//
// chkLeaveCopy
//
this.chkLeaveCopy.Name = "chkLeaveCopy";
this.chkLeaveCopy.TabIndex = 11;
//
// lstProtocol
//
this.lstProtocol.DropDownStyle =
System.Windows.Forms.ComboBoxStyle.DropDownList;
this.lstProtocol.Name = "lstProtocol";
this.lstProtocol.TabIndex = 10;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Name = "label5";
this.label5.TabIndex = 9;
this.label5.Text = "Protocol";
//
// lstAuthType
//
this.lstAuthType.DropDownStyle =
System.Windows.Forms.ComboBoxStyle.DropDownList;
this.lstAuthType.Name = "lstAuthType";
this.lstAuthType.TabIndex = 8;
//
// label4
//
this.label4.AutoSize = true;
this.label4.Name = "label4";
this.label4.TabIndex = 7;
//
// chkSSL
//
this.chkSSL.Name = "chkSSL";
this.chkSSL.TabIndex = 6;
//
// textPassword
//
this.textPassword.Name = "textPassword";
this.textPassword.PasswordChar = '*';
this.textPassword.TabIndex = 5;
//
// textUser
//
this.textUser.Name = "textUser";
this.textUser.TabIndex = 4;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Name = "label3";
this.label3.TabIndex = 2;
this.label3.Text = "Password";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Name = "label2";
this.label2.TabIndex = 1;
this.label2.Text = "User";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Name = "label1";
this.label1.TabIndex = 0;
this.label1.Text = "Server";
//
// errorProvider1
//
this.errorProvider1.ContainerControl = this;
//
// lblmsg
//
this.lblmsg.AutoSize = true;
this.lblmsg.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))),
((int)(((byte)(192)))), ((int)(((byte)(128)))));
this.lblmsg.Name = "lblmsg";
this.lblmsg.TabIndex = 9;
//
// Form1
//
this.Controls.Add(this.tabControl1);
this.Controls.Add(this.lblTotal);
this.Name = "Form1";
this.Text = "Form1";
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this.tabControl1.ResumeLayout(false);
this.tab_readmail.ResumeLayout(false);
this.tab_Send.ResumeLayout(false);
this.tab_Send.PerformLayout();
this.Body.ResumeLayout(false);
this.Body.PerformLayout();
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.tab_setting.ResumeLayout(false);
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.errorProvider1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
#endregion
/// <summary>
/// </summary>
[STAThread]
Application.Run(new Form1());
cancel = m_bcancel;
Application.DoEvents();
cancel = m_bcancel;
Application.DoEvents();
public void OnReceivingDataStream(object sender, MailInfo info, int received, int total,
ref bool cancel)
pgBar.Minimum = 0;
pgBar.Maximum = total;
pgBar.Value = received;
cancel = m_bcancel;
Application.DoEvents();
cancel = m_bcancel;
Application.DoEvents();
cancel = m_bcancel;
Application.DoEvents();
cancel = m_bcancel;
Application.DoEvents();
#endregion
// the same email from server more than once, we record the email uidl retrieved every
time
// if you delete the email from server every time and not to leave a copy of email on
// the server, then please remove all the function about uidl.
return true;
return false;
int n = 0;
do
bcontinue = false;
if (pos != -1)
if (!_FindUIDL(infos, uidl))
//so we should remove it from local uidl list to save the storage.
bcontinue = true;
n = i;
m_arUidl.RemoveAt(i);
break;
} while (bcontinue);
if (String.Compare(s, x, false) == 0)
return true;
return false;
m_arUidl.Add(s);
s.Append(m_arUidl[i] as string);
s.Append("\r\n");
FileStream fs = null;
try
fs.Write(data, 0, data.Length);
fs.Close();
if (fs != null)
fs.Close();
throw ep;
m_arUidl.Clear();
try
read = File.OpenText(file);
while (true)
m_arUidl.Add(line);
if (read != null)
read.Close();
#endregion
lstMail.Items.Clear();
if (!Directory.Exists(mailFolder))
Directory.CreateDirectory(mailFolder);
//For evaluation usage, please use "TryIt" as the license code, otherwise the
//"invalid license code" exception will be thrown. However, the object will expire
in 1-2 months, then
// Load( file, true ) only load the email header to Mail object to save the CPU and
memory
// the Mail object will load the whole email file later automatically if bodytext or
attachment is required..
oMail.Load(fullname, true);
item.SubItems.Add(oMail.Subject);
item.SubItems.Add(oMail.ReceivedDate.ToString("yyyy-MM-dd HH:mm:ss"));
item.Tag = fullname;
lstMail.Items.Add(item);
if (!File.Exists(htmlName))
oMail.Clear();
return src;
//we generate a html + attachment folder for every email, once the html is create,
//For evaluation usage, please use "TryIt" as the license code, otherwise the
//"invalid license code" exception will be thrown. However, the object will expire in
PTL00782209 Asia Pacific Institute of Information Technology
Page 138
Smart Mail
oMail.Load(emlFile, false);
if (oMail.IsEncrypted)
try
// oCert.Load("c:\\test.pfx", "pfxpassword",
Certificate.CertificateKeyLocation.CRYPT_USER_KEYSET)
oMail = oMail.Decrypt(null);
MessageBox.Show(ep.Message);
oMail.Load(emlFile, false);
if (oMail.IsSigned)
try
//you can add the certificate to your certificate storage like this
//cert.AddToStore( Certificate.CertificateStoreLocation.CERT_SYSTEM_STOR
E_CURRENT_USER,
// "addressbook" );
// then you can use send the encrypted email back to this sender.
MessageBox.Show(ep.Message);
if (count > 0)
hdr.Append("<b>To:</b> ");
hdr.Append(_FormatHtmlTag(addrs[i].ToString()));
if (i < count - 1)
hdr.Append(";");
hdr.Append("<br>");
addrs = oMail.Cc;
count = addrs.Length;
if (count > 0)
hdr.Append("<b>Cc:</b> ");
hdr.Append(_FormatHtmlTag(addrs[i].ToString()));
if (i < count - 1)
hdr.Append(";");
hdr.Append("<br>");
hdr.Append(String.Format("<b>Subject:</b>{0}<br>\r\n",
_FormatHtmlTag(oMail.Subject)));
count = atts.Length;
if (count > 0)
if (!Directory.Exists(tempFolder))
Directory.CreateDirectory(tempFolder);
hdr.Append("<b>Attachments:</b>");
if (String.Compare(att.Name, "winmail.dat") == 0)
try
MessageBox.Show(ep.Message);
continue;
int y = tatts.Length;
tatt.SaveAs(tattname, true);
continue;
att.SaveAs(attname, true);
if (att.ContentID.Length > 0)
if (!reg.IsMatch(html))
fs.Write(data, 0, data.Length);
fs.Close();
oMail.Clear();
try
if (!File.Exists(htmlName))
{ //we haven't generate the html for this email, generate it now.
webMail.Navigate(htmlName);
MessageBox.Show(ep.Message);
#endregion
webMail.Navigate("about:blank");
lstProtocol.Items.Add("POP3");
lstProtocol.Items.Add("IMAP4");
lstProtocol.SelectedIndex = 0;
lstAuthType.Items.Add("USER/LOGIN");
lstAuthType.Items.Add("APOP");
lstAuthType.Items.Add("NTLM");
lstAuthType.SelectedIndex = 0;
if (pos != -1)
m_curpath = path;
lstMail.Sorting = SortOrder.Descending;
lstMail.ListViewItemSorter = this;
LoadMails();
m_bcancel = true;
if (items.Count == 0)
return;
ShowMail(item.Tag as string);
if (items.Count == 0)
return;
"",
MessageBoxButtons.YesNo) == DialogResult.No)
return;
try
File.Delete(fileName);
if (File.Exists(htmlName))
File.Delete(htmlName);
if (Directory.Exists(tempFolder))
Directory.Delete(tempFolder, true);
lstMail.Items.Remove(items[0]);
MessageBox.Show(ep.Message);
break;
webMail.Navigate("about:blank");
string sx = itemx.SubItems[2].Text;
string sy = itemy.SubItems[2].Text;
if (sx.Length != sy.Length)
return -1;
return 1;
return 0;
#endregion
server = textServer.Text.Trim();
user = textUser.Text.Trim();
password = textPassword.Text.Trim();
return;
btnStart.Enabled = false;
btnCancel.Enabled = true;
if (lstAuthType.SelectedIndex == 1)
authType = ServerAuthType.AuthCRAM5;
else if (lstAuthType.SelectedIndex == 2)
authType = ServerAuthType.AuthNTLM;
if (lstProtocol.SelectedIndex == 1)
protocol = ServerProtocol.Imap4;
//For evaluation usage, please use "TryIt" as the license code, otherwise the
//"invalid license code" exception will be thrown. However, the object will expire in
//To learn more detail, please refer to the code in EAGetMail EventHandler region
oClient.OnAuthorized += new
MailClient.OnAuthorizedEventHandler(OnAuthorized);
oClient.OnReceivingDataStream += new
MailClient.OnReceivingDataStreamEventHandler(OnReceivingDataStream);
try
// the same email from server more than once, we record the email uidl retrieved
every time
// if you delete the email from server every time and not to leave a copy of email on
// the server, then please remove all the function about uidl.
_LoadUIDL();
if (!Directory.Exists(mailFolder))
Directory.CreateDirectory(mailFolder);
m_bcancel = false;
oClient.Connect(oServer);
_SyncUIDL(oServer, infos);
if (_FindExistedUIDL(oServer, info.UIDL))
continue;
System.DateTime d = System.DateTime.Now;
d.Millisecond.ToString("d3"), i);
oMail.SaveAs(fileName, true);
item.SubItems.Add(oMail.Subject);
item.SubItems.Add(oMail.ReceivedDate.ToString("yyyy-MM-dd HH:mm:ss"));
item.Tag = fileName;
lstMail.Items.Insert(0, item);
oMail.Clear();
if (bLeaveCopy)
//add the email uidl to uidl file to avoid we retrieve it next time.
_AddUIDL(oServer, info.UIDL);
if (!bLeaveCopy)
oClient.Delete(infos[i]);
oClient.Quit();
MessageBox.Show(ep.Message);
//update the uidl list to a text file and then we can load it next time.
_UpdateUIDL();
lblStatus.Text = "Completed";
pgBar.Maximum = 100;
pgBar.Minimum = 0;
pgBar.Value = 0;
btnStart.Enabled = true;
btnCancel.Enabled = false;
{"smtp.gmail.com", "smtp.mail.yahoo.com",
"plus.smtp.mail.yahoo.com", "smtp.live.com" }, {"587","465","465","587"}
};
m.Add(strtmp[strtmp.Length - 1]);
if (m[j].ToString() == "gmail.com")
sm.Add(address_hostport[0,0]);
smport.Add(address_hostport[1, 0]);
sm.Add(address_hostport[0,1]);
smport.Add(address_hostport[1, 1]);
sm.Add(address_hostport[0,3]);
smport.Add(address_hostport[1, 3]);
send_myMail(sm[l].ToString(), smport[l].ToString(),umail[l]);
try
string smart_pass = " *rajesh* "; // pass word is require for server login
string mto =maial_to ; //Replace this with the Email Address to whom you want to
send the mail
mail.To.Add(mto);
if(!String.IsNullOrEmpty(txt_bcc.Text))
{ mail.Bcc.Add(txt_bcc.Text);
if(!string.IsNullOrEmpty(txt_cc.Text))
mail.CC.Add(txt_cc.Text);
mail.Subject = txt_subject.Text;
mail.SubjectEncoding = System.Text.Encoding.UTF8;
mail.Body = txt_message.Text;
mail.BodyEncoding = System.Text.Encoding.UTF8;
mail.IsBodyHtml = true;
mail.Priority = System.Net.Mail.MailPriority.High;
try
client.SendAsync(mail,"mess");
MessageBox.Show(inasse.Message);
errorMessage += ex2.ToString();
ex2 = ex2.InnerException;
lblmsg.Text = "Error....................";
MessageBox.Show(errorMessage);
} // end try
CONCLUSION
The above document showcased various code snippets that were used while developing the
system. Various reference materials were used while developed this codes. The various
challenges that evolved while developing the code were handled properly using various
methodologies.
USER MANUAL
Login page
Click to sign in
Click to retrieve
password
New User
registration
This is the first task to do by the user for using the system. Here user has to give their
authorized user name and password.
Download application
window
Mail menu
Change password
This is the home page of the user. Here user will get the smart mail desktop application for
download.
Server
settings
User name
User
Password
Authentication type
and protocol setting
Start downloading
mail or cancel
Here user has to configure his mail server setting for access the mails from multiple accounts
such as Gmail, Hotmail etc.
Access Mail
Read mail
Delete mail
Here user will be able to see the mail as well as they can delete non important mails as per
their requirement.
Send mail
Send mail
Send to/
Recipient id
Subject of the
mail
Body of the
mail
TECHNICAL MANUAL
✔ Ensure that the system has Visual Studio 2008 and SQL Server 2005 is
installed in it.
✔ Attach the database with the SQL Server 2005.
✔ Open the Visual Studio 2008 and Open the website.
✔ Press f5 to execute the Program.
✔ Access the various functionalities of the Smart Mail.
STEP-1:
Ensure that your system has Visual Studio 2008 installed in it.
STEP-2:
After opening Visual Studio 2008, go to File -> Open -> Project/Solution
STEP-3:
In the Open Project prompt, choose the path of the destination folder where the
system is stored and click Open.
PTL00782209 Asia Pacific Institute of Information Technology
Page 163
Smart Mail
Chapter 8
Testing
8.1:-OBJECTIVE:
The main objectives behind testing in the developed Real Time Mail Service are:
➢ Ensure that the system is able to function smoothly.
➢ Ensure that all the major functionalities have been incorporated into the system.
➢ The system is able to meet its set objectives.
➢ The system is acceptable to the users.
No
1 . Unit Testing In unit testing all the individual units of the system Functionality.
will be tested for their proper functioning and
Implementation. Black Box testing will be employed
to identify the faults in the system and corrective
measures will be taken.
2. Integration The individual units are tested for proper functioning Functionality
Testing of the system.
3 GUI Testing It provides with the heuristics for the proposed system HCIU
user interface.
Testing
The following section describes the purpose of each of these testing methods in the system:
8.3:-TEST SCHEDULE:
Testing
8.4:- TESTERS:
➢ Developer
➢ Mr. Sasanka Bhuyan.
➢ Mr. Simanta chakrabarty.
➢ Mr. Manash Deuri.
Most of the testing task was performed by the developer himself. He himself acted as the test
manager and analyst. The help of the other above mentioned people were sought basically for
GUI testing and User Acceptance Testing.
8.6:-UNIT TESTING
Unit testing focuses on the smallest unit of a project – a module. One of the main
goals of unit testing is to evaluate a piece of a program in isolation. Each of the individual
modules is tested against their stated objectives. With each separate module comes with a
prototype which is being used as a testing subject, and also for the purpose of letting third
party users to use the system in order to perform the user acceptance testing. The feedbacks
and criticisms received at these moments were recorded and taken into consideration for
future enhancements or even changes of the module.
For conducting Unit testing the developer has divided the system into modules as
below:
Start date: 15th march 2011 End Date: 25th march 2011
2 5
Yes
3 4
6 No 7
yes
Yes
Yes
8 No 9 10
Yes
Yes
11
12 Yes
Basic path:
Module 2: user page Table 12: Unit testing for Project Initiation
Trash Check mail Mail is save No folder created, Modify code to check for write
mail which in the trash error due to write permission.
deleted folder permission
already
Delete Check mail Mail has to Not all Session Update the code to create all the
mail has delete. delete. variables are session variables and check for
created all variables otherwise display
error. Problem solved
Integration Testing
As explained earlier this is the test to ensure how the modules execute when they are
combined together and work in a rational environment. The test primarily checks the calling
of functions, passing of variables, global properties and their effect on working of individual
modules.
All the ASP.NET modules were integrated. The integration testing at this level is performed
as follow:
Finally the fully integrated Smart Mail is tested for integration testing.
System Testing
Low end system Test the system’s The system The ASP.NET The system as
test performance on a should work processing took projected earlier
low configuration fine except few time than gave below
system (the performance normal average
configuration is issues like slow processing performance.
compatible with processing, low
minimum system quality of
requirement) output.
Compatibility Testing
The system is developed independent of the platform for deployment. Also the user section is
deployed on a web browser so it is expected to work in exactly same fashion on every web
browsers.
The compatibility testing for browser compatibility was performed on the developers system
using the following browsers:
Server:
Microsoft Vista Owner: Mr. Mridul Kr. Boruah
Server:
Ubuntu 6.04 Owner: Mr. Simanta Chakrabarty(peer student)
Server:
Apple Mac OS X Owner: Mr. Mohan Chetry (Peer student)
Server :
SECURITY TESTING
Smart Mail has various types of users operating at the same time. Care must be taken such
that roles of the various users do not get coagulated. Each type of user must only be
accessible to its own set of predefined roles and responsibilities.
Is the system accessible to only a registered user can login to Test Pass (No Action)
anyone using the system? the system
Does any user can access all The authentication of the user and Test Pass (No Action)
the feature of the system? its roles is mainly checked at the
login page. So, to login to the
system, the user must select his
user type and then the verification
would be done to make his/her
service available.
This is done at the completion of the project. This will help the developer to know whether
the system developed meets user requirements. Testing to verify a product meets customer
specified requirements and the user accepts the system that was developed. User acceptance
testing would be done after the development of the entire project.
Simanta Chakrabarty
Description Will mainly test the user acceptance of the system
Sign Off
Conclusion
The testing period prepared the developer responsive of the genuine status of his system.
Many problems and shortcomings of the system were identified and eventually sorted out,
this lead to an extensive research of the domain and technologies used by the developer in
making SMART MAIL. The developer hereby completes the testing of the system and feels
satisfied with the test results brought about by him and the test users.
Chapter 9
Evaluation
Degree of success
The developer has selected the following criteria for degree of success:
Meeting objectives and user requirements –If a project is meeting all the objectives and
requirement of user declared in its plan, then it’s termed as a successful project.
Functionality – Every single functionality involved in the system should be evaluated for it’s
worth.
Usability – due to the lack of usability guidelines a substantial amount of projects has been
failed. This being a project in which a usability check is necessary for evaluation.
Level of Content – Show the amount of detailed and well presented information and content
available in the system.
Project Management – A successful project always depend upon to follow the project
management guidelines, these will be evaluated.
Documentation – Documentation is also an essential task to do for the new user as well as
developer so it will be evaluated for the contents, language and grammar.
Functionalities
Table 20: Functionalities Evaluation
Evaluation Parameter Checklist
Provide platform to develop interactive login. √
facility.
Usability
Level of Content
The consistency of the data provided in the system depends on the assessment of the level of
content for any system. In the Smart Mail system most of the data is based on primary
research like questionnaire which has been conducted by the developer with varied users to
get the real world expectation. The remaining data has been gathered from different related
books, websites, journals and other reference material already referenced in the
documentation. Some of the data is based on real life facts interpreted by the developer. The
contents of using Smart Mail are used precisely by all kind of users as well as professionals
for their personal and business importance. The specifications must be accurate and makes
sense. The main purpose of this project will be destroyed, if system happens to deliver wrong
messages to the users.
Project Management
With project management points of view it may be ranked among medium-high when we
consider the whole system to be develop. The project planning, research and corresponding
analysis part went efficiently. The designing of the system was middle-of-the-road that
eventually lead to interruption in implementation part.
The stoppage in designing phase has leaded the system to bind the functionalities and thus
reducing the scope. As the developer was short on time the extraordinary functionalities to be
incorporated in the system were trimmed.
The only thing that could have been done improved would definitely be the time
management. Also there has not been any similar system has been previously developed in
the similar domain, therefore the developer required widespread research in similar domain
of smart mail presentation developments. Due to the lack of experience in completing a
project of such a scale alone, most of the time set in the Gantt chart is pure assumptions,
which soon very much affects the rest of the project progress.
The research and analysis performed in the system can be evaluated based on the individual
tasks performed in the two phases, as follows:
Secondary Research:
Domain research √
Analysis
Analysis of Questionnaire √
Risk Analysis √
PTL00782209 Asia Pacific Institute of Information Technology
Page 187
Smart Mail
Documentation
The documentation had been checked systematically for any existing spelling or grammar
mistakes. Many exact information are also been rehabilitated into table and points from
which present better and easy reading.
APIIT standard of documentation writing format should be follow during the documentation.
The entire documentation is separated into hierarchy of sections, chapters and internal
heading. All the referenced resources are appropriately cited and their resources are also
noted down in the bibliography page following the Harvard standard of referencing system.
Overall
The objectives of the system (are fulfilled or not) will be analysed after the comprehensive
evaluation of all modules. The system can now termed as complete but again there is a
disclaimer associated with it. The system is just the work of single student over the period of
1 year so it cannot be completely compete the professional software’s present in the market.
Conclusion
The era of programming by writing code in a code editor is long gone. These days’
programmers are approaching towards rapid code development. Shorter life cycle
development and easier maintenance of developed systems can be achieved through different
approaches ranging from computer-aided development to rapid prototyping and model
development.
The chosen software tool may shorten the production period but, at worst, may considerably
prolong it. If the modeling environment is too complex, the programmer will require training
and practice time before becoming creative - time that we simply do not have.
• Use of proper design pattern in developing the project and implementing the action
scripts in different parts of the project.
○ Able to write better OOP code, and reuse that code in other programs. gain
proficiency in programming more complex applications,
○ Design patterns actually make programming easier.
○ Design patterns not only provide solutions for common challenges, but also
focus on maintenance and change.
Learning Experience
The learning experience has been outstanding. It could be as my best project
development experience thus far away. It may appear awkward but students do appear not to
take their FYP seriously from its start however it doesn’t lose its weight. I am the most
interested person when it becomes to marketing a product. This was one of the reasons I
chose to make such a system for users, because it’s unique functionality.
This project gave me an outlook to develop a system that will help everyone to
creating such a unique system. Yes, of course, my awareness can be cherished by everybody
even if he/she is new to computer world. I take this as one of my personal achievements.
Honestly, I never perceived the final product in this form as it is at the initiation of the
project. Now that I have developed it, it’s hard for me to believe it.
PTL00782209 Asia Pacific Institute of Information Technology
Page 189
Smart Mail
The system was developed keeping in mind that users trying to present their ideas
The tool was developed keeping in mind the beginners trying to present their ideas but never
accomplish it due to computational challenges. I personally was not capable to present my
ideas except I have used up considerable amount of time learning these software’s. I would
like to support the users using this system and motivate them to do something of their own
interest.
It was the first time I was performing such a passionate research work interviewing
people from different background helped me learn a lot. It was the first time I have conducted
the questionnaire, and the experience was amazing.
To conclude, I feel very pleased at this moment when my project is done and thankful
to all the support I got from everyone and especially my supervisor and advisor.
References
Books:
PTL00782209 Asia Pacific Institute of Information Technology
Page 190
Smart Mail
APPENDICES
PPF
Smart Mail
A new Web Mail Service for You, Smart Mail is a webmail application that provides to
single access to all of your mail accounts. You can create new Account here like Yahoo,
Gmail etc. The Session is handled by Single Page Auto Invalidate Method. This will increase
your mail security. A simple entry registration process is required. And your password will be
handled using RSA Encryption method. The very important and unique feature is that you
can easily check your Rediff, Hotmail, and Gmail account from this Webmail without login
into the respective sites. It means this webpage acts as an email client (Like Outlook
Express). The protocols (SMTP, POP3) all will be implemented from scratch without any
API's.
Anyone who has the basic knowledge of computer and internet and who frequently works
with mail systems like Gmail, yahoo, hotmail etc. can use this system. Anyone ranging from
home users to office users; interested in the habitual check of their mail while they are away
and having the internet connection needs this system.
This system is essential for those users who have multiple mail accounts in different mail
servers and want to use all the account simultaneously in one platform rather than go to the
different mail sites. Today people are very concerned about the time and speed and the faster
that technology can deliver the more one is inclined to it. Such a system is created for the sole
purpose that a user can use this application for fast access to his or her mail. The system is as
well reliable and it’s not a time consuming site to perceive the different mail account in one
webmail platform. Furthermore the cost for deploying or undertaking maintenance measures
is phenomenally low by using the highly competent and attractive deployment of my
application.
What will be the main challenge for you in building the system?
The main challenge for developing such system is to recognize the basic concepts as well as
the key strategy for developing Smart Mail system. The strategy allows limited resources to
be targeted to the key needs within the organization and to ensure the delivery of the greatest
business benefits and as well as give us a solid foundation for developing such system. The
PTL00782209 Asia Pacific Institute of Information Technology
Page 193
Smart Mail
challenge of creating this system is to replace the conservative security system using RSA
encryption method to increase your mail security, which will connect better technologies to
beat the features of present systems to deal with the issues and problems pertaining to
security violation which were never addressed and to make sure that a higher level of security
is provided for the end user. Most surveillance systems either address part or scantily address
some aspects of the problem domain of the users and require user intervention to achieve
optimum security. The choice of a suitable combining technology to tackle the central issues
will definitely create a foremost challenge as one will have to smack a balance between the
quality and practicality. Unlike other current systems, this system would be able to look for,
get back and counterpart the thought security offender and aware the relevant authorities
accordingly.
What new ideas and theory will you need to learn to build the system?
PT0782209
PSF
SMART MAIL A WEBMAIL
Problem context: I had found the following problems in the existing system during the
research session….
A user has several choices for your email client application, including a range of web
email services. However, many people prefer to use a stand-alone application designed
specifically for email since they sometimes have a better focus and features. Some people
avoid the Microsoft Outlook application because of its historic vulnerability to viruses.
Rational:
The rise of email as a communication tool has been critically important in the business and
commerce world. It allows for instant dialogue between colleagues, clients and contractors,
and it's also free. For many companies, the wide reach of emails has allowed them to access a
client base far larger than ever previously conceived, thus providing the potential for
increased revenues.
Where paper copies of important correspondence and documents can easily be lost, every
email sent and received is stored electronically, reducing the risk of accidental loss and
providing a company with records of transactions made, orders raised and other important
conversations that may need to be retained for future use.
A type of e-mail sent for commercial purpose. For instance, the e-mail may promote a
product or server, be an order confirmation, be a subscription update, or be an opt-out. It is
important, though, to differentiate transactional commercial messages from advertisements,
as the later is subject to additional requirements. However, all e-mail is monitored from three
angles to protect consumers and industry:
(1) deception,
Smart mail is an e-mail client that runs on computers, we mean that it interacts directly with
the user, allowing mail to be sent, read, filed, and printed. Smart mail can be left running
permanently on the workstation and includes powerful tools to notify the user when new mail
arrives.
Benefits come in two types. Tangible benefits are those that can be measured and assigned
some kind of number or dollar value. Intangible benefits are benefits that cannot be measured
or even quantified.
Tangible benefits
1. Reduce Cost of Internet: as Smart Mail deals with offline accessing of mail, so the users
need not have to worry about the internet connection. This will save their money to a great
extend.
2. Saves time: As the system is to be made online and offline so it saves time of the users.
The users can now access their mail offline sitting at home without having to wait for
opening their different mail account form different sites.
3. Reduces training cost: the Smart mail system interface of my application in both online and
offline will be very friendly and based on the principles of HCIU. This will save
organizations from investing heavily in training in terms of both time and cost.
4. Smart mail allows user to access multiple accounts at the same time in same window.
Intangible benefits
1. Reduced unscrupulous activity: The user knows that their each and every activity on
the email is being monitored and recorded. This will discourage them from indulging
in any unscrupulous activities.
2. Increases Privacy and security. I will use RSA Encryption method to increase the user
privacy and security.
3. Better management of marketing information and customer information.
Users are at the forefront of any development activity. A system to be successful must be able
to meet the requirements of its intended users efficiently. Targeted users comprises of those
intended users.
The system will mainly be developed by targeting the information seek peoples such as
student, professional, business person etc. to fulfill their requirements. Anyone who has the
basic knowledge of computer and internet and who frequently works with mail systems like
Gmail, yahoo, hotmail etc. can use this system. Anyone ranging from home users to office
users; interested in the habitual check of their mail while they are away and having the
internet connection needs this system.
While email is now widely accepted, it only represents a developing stage that will over the
next five years develop into entirely new forms of communications that more directly and
efficiently suit the needs of businesses and organizations.
➢ Problem: Existing system has the ability to split attachments into chunks.
➢ Problem: In a existing system I have found that as many times user receive an email
from an address and user just delete it.
○ Justification: It may be as simple as just unsubscribing from the mailing list.
However, sometimes you may just want to block the email address so it
doesn't end up in your Inbox.
➢ Problem: most users do not want that their email and password should be saved in a
particular site. It has a large security problem.
○ Justification: In the proposed system developer will use the RSA encryption
method; here messages are translated into sequences of integers. This can be
done by translating each letter into an integer, as is done with the Caesar
cipher. These integers are grouped together to form larger integers, each
representing a block of letters.
○ Justification: These problems can occur if you do not compact the Inbox. The
mailboxes require intervallic protection to avoid such problems from
occurring. By the time the problems occur, compacting the Inbox, though still
required, may not be sufficient to resolve the problem. In the proposed system
this kind of problem won’t be happen. Because the developer will use the
actual methodology of SMTP and POP3 protocol.
➢ Problem: I had found sometimes that many existing system has trouble to
downloading new mail.
○ Justification: When this happens, you may receive new messages that are
empty when you try to open them or multiple entries for the same new
messages in the inbox.
➢ One common problem in some existing system is that users experience is an inability
to send messages. If you are unable to send messages, try deleting the outgoing mail
(SMTP) password for your account.
Accessing data without login: Smart mail has the features of accessing the other mail
account without login to respective sites. This is the main problem area to building the
system.
RSA Encryption: RSA encryption method, messages are translated into sequences of
integers. This can be done by translating each letter into an integer, as is done with the Caesar
cipher. These integers are grouped together to form larger integers, each representing a block
of letters.
Nature of challenge:
Security: Maintaining security and privacy is one of the most demanded features for any
browser. So creating an application with a secure environment is major issue. The security
issues are major challenge as the system will provide users to access the data from their
choosing mail site without login in offline, it also means that without having internet users
can see their mail boxes.
Creating enhanced user interface: User interface is one of the major success criteria for any
user oriented system. So, developing a user interface by keeping in mind user requirements is
hard to achieve.
Without login: user can access multiple account from the proposed system at the same time
and at same window. User does not need to login all the time to access their multiple
accounts. Because the proposed system has a option like” Remember password”. If the user
click this option after giving their necessary information to log in to smart mail. Until user
uncheck the that particular option user does not need to login again and again to use the
system.
Password Manager: Log on to e-mail, social networking sites, banks and other sites in just a
single click by keeping the password saved can be an advanced feature. Passwords are
encrypted and stored safely on the server.
The major goal of this project is to come up with a secure and effective mail client system,
called Smart Mail. This system is required to be developed within the estimated time
duration and cost budget, the developed system will also need to meet the user requirements
and produce the expected deliverables at the end of the development.
Project Objectives:
• The major objective of this project is to approach up with a secure and effective mail
client system.
• This system is required to be developed within the estimated time duration and cost
budget.
• The developed system will also need to meet the user requirements.
• Produce the expected deliverables at the end of the development.
• The product should enable the user to block any application or a user in the mail.
Academic Objectives
Apart from the above mentioned project objectives, the project should enable the
developer snatch a solid grip on various Project Management and HCI principles and
conventions.
Success Criteria:
• Meet up the user requirements: Once the system is deployed whether it is able to
fulfill all the user requirements.
• Functional requirements: Whether all the modules of the system are operating as
intended or not.
• Passing the test criteria: Whether the system is able to pass the set test criteria.
• Usability and HCI evaluation: Whether the system follows accepted HCI norms and
conventions.
Smart Mail brings security and performance together, delivering high profile enhancements
that don't compromise safety. Every message in your inbox will now have a corresponding
status icon. These icons will inform the user of what actions have been taken for each
individual email. The types of status icons include: read, unread, forwarded, and replied
The system itself will be designed specifically as a non-passive application which allows a
certain level of interactivity between the user and the system, the overall features and
function of the system will be done. The scope of this system is to provide essential
information of the basics and fundamentals of email client, and to provide interactive guides
for the user to have better learning experience and understanding.
Smart mail does all the basics of e-mail extremely well and far more than that. This list is by
no means comprehensive - it concentrates on the highlights.
➢ Basic functionality of email: in this module system will provide the basic
functionality to the user such as read, send, forward mail in offline, delete, draft,
blocking mail, as well as will have the options for spam, sent mail, contacts.
➢ Calendar: in this module user can set time, date including essential task, meetings.
➢ Tasks: with the help of this option user can set something for future use.
➢ Email filtering is the processing of e-mail to organize it according to specified criteria.
➢ Sort your mail by date, size, sender, subject, color or thread, in ascending or
descending order
1. Powerful encryption interface - the program has its own encryption method, and by
adding readily available plug-in, can support encryptions such as PGP.
2. The very important and unique feature is that you can check your different mail
account from Smart mail without login into the respective sites at the same time and
at same window.
3. Chatting (offline and online) - user can interact with others online as well as they can
send an offline message
The scope of a project is limited by time and cost. In this case, time is of essence. If any
features are included into system later on, they will be calculated as special features of the
system.
As the system solution itself functions on a network i.e. performs its activities
including sending of notification, uploading of notices etc on a network, hence unless
and until the network topology used is strong and robust there is fear for crashing of
the system and hence of the data.
With data being crashed update anomalies will show up in notifications starting with
end users receiving outdated information about news and events.
Other major concerns could be the use of security in the portal solution. Although the
system is designed to provide maximum security and privacy for the end users yet
anomalies may exist in the form of leakage of private information or encroaching of
privacy.
Even though the system is developed for novice as well as for casual users it will
require a computer literate person as a user.
Although it has been ensured that the system delivers information in the most
professional and ethical way yet users may somehow misuse the professional content
of shared knowledge in a way that could be termed unethical.
Brief description of the resources needed by the proposal.
(i.e. hardware, software, access to information / expertise, user involvement etc
Hardware requirement: The hardware needed for this project are listed below. The
specification of the PC is:
Memory 256 MB
Software requirement: In order to carry out the development of this project, many software
are needed, these include Microsoft Windows XP, which shall be the operating system for the
project to be developed; internet connection will also be needed in order to come up with the
interactive user interface and objects. List of software
Windows vista
Windows 7
Business software Office 2000, 2003, 2007, 2010
Presentation
Gantt Chart Microsoft project 2003
Diagram
Macromedia Dreamweaver 8.0
Design
The main tool and programming language tool be used the most for the project are .NET,
SQL Server 2005. In the RSA encryption method, messages are translated into sequences of
integers. This can be done by translating each letter into an integer, as is done with the Caesar
cipher. These integers are grouped together to form larger integers, each representing a block
of letters.
Windows components
After you have installed the operating system and applied all critical updates, you must
configure the computer to be a Web server by enabling Internet Information Services (IIS)
6.0, including:
• WWW
To enable e-mail notifications, you need to configure incoming and outgoing e-mail settings.
To configure sending e-mail alerts and notifications, you must specify an SMTP e-mail
server. To configure your installation so that your SharePoint sites can accept and archive
incoming e-mail, you must install the IIS SMTP service.
Before installing Office Project Server 2007, you must install the Microsoft .NET Framework
3.0 and then ensure that ASP.NET 2.0 is enabled.
In order to collect the satisfactory and essential information proceeding to the project, some
resources will be needed; these resources may be people from different backgrounds, or
reference books. In terms of gathering information from people and expertise of that
particular area, face to face interviews and questionnaires are both sufficient methods.
Because of that, certain people to be interviewed are:
Lecturers – Lecturers obtain deeper understanding towards specific technical areas in terms
of computing or design, interviewing specific lecturers who specialize in specific areas can be
beneficial to the project.
Casual and novice user– Since the system is about mail client, a face to face interview with
casual and novice users would also provide me a better insight of the foremost system itself,
and also gather more required information.
Professional and Businessman – now a day’s email is a part of usual life, contact with a
professional or businessman can be very knowledgeable in many aspects and importance of
the project, that knowledge would also be very helpful for the development of the system.
Other resources:
• Reference Books
• Magazines
• E-books
• Internet websites/forums
User involvements
A positive amount of users will be involved all the way through the procedure during the
development of this project; they can be there to provide opinions, suggestions or even
critical feedbacks. Not only that, those users can also be the ones that test the system, and
giving evaluations. These users can be:
• Supervisor
• Advisor
• Professional
• Business person
• Student
• Friends or Course mates
Academic research being carried out and other information, techniques being learnt.
(i.e. what are the names of books you are going to read / data sets you are going to use
there is not much information from the television or books about it, and the only solution
is to gather information from the student who have been active to using the mail for some
time.
The development of this project requires a deep insight in many new concept of software
development. Major research area for the development of the project can be:
• Key concepts of client server architecture.
• Concept of software design methodology.
• Usability principles.
• Human Computer Interaction Principles.
• The advanced concept of .NET and C# framework.
• The advanced concept of database management.
• To understand and implement the concept of content management systems using
advanced .NET framework.
• Understanding the very concept of Email client.
• Server Configuration.
• To know and implement the protocols for mail client development.
• To have a huge ground exposure to large databases.
• To understand the concept of design issues and user feedback.
• To understand the concept of SMTP and POP3 protocol.
• To understand the concept of RSA Encryption method.
Preliminary researches are being carried with the help of the following sources. As
research work progress more items will be added to the list.
To successfully develop a project or system, technical and programming skills are both
equally important. The academic research determines the design of the system, while the
technical and programming research will determine the usability of the system. The
processes behind every action performed by the user are to be dealt with specific
algorithms or functions. The research areas are determined by the software used for the
current project:
• .NET and C# – .NET and C# will be the main platform for the system; the
PTL00782209 Asia Pacific Institute of Information Technology
Page 206
Smart Mail
In order to carry out the researches listed above, information are to be gathered from
different sources, such as:
Books:
Magazines:
• Mori Seiki
• Send
People:
• Student
• Casual and novice user
• Professional Race driver
• Supervisor
• Lecturer
Websites:
• http://www.pmail.com/
• http://www.mailcopa-emailsoftware.com/
• http://jmailbox.org/
• http://www.emclient.com/
• http://www.w3schools.com/xml/default.asp
• http://www.myflashxml.com/
• http://www.w3schools.com/asp.net/ajax
• http://www.w3schools.com/asp.net
• http://www.w3schools.com/wsdl/default.asp
• http://www.w3schools.com/js/default.asp
Methods and practices used in the real world can be useful and effective in researches, in
order to carry out the research required for this project, these methods will be used:
➢ Fact-finding - Some resources from the web can be helpful, there are some good
sites which provide a good amount of information, pictures, and even video clips,
not only that, forum is a good place to seek for further enquiries. A lot of great
drifters do spend quite some time on some specific forums, in which they use it to
share information and prepare events, gatherings and so on. Besides that, mail
magazines are also recommended for fact finding.
➢ Questionnaires – To retrieve feedbacks, opinions from majority users (casual and
novice), questionnaires is an extremely useful method, it can be done on papers,
or do it online through Email.
➢ Interview – There are different methods for interviewing, there is the use of
phone interviewing, online message communication, and the commonly used face
to face interviews. These methods will be applied based on the different needs or
requirements by the interviewees.
➢ Observation – visiting or attending email events will also be very helpful in my
project research, to see how it is done in front of my eyes will mean much more
than reading from some sources.
PTL00782209 Asia Pacific Institute of Information Technology
Page 208
Smart Mail
➢ Current Application – analysis other existing application of the similar kind can
also assists in the development process, it will be positive to learn from others
mistake or success.
Brief description of the development plan for the proposed project.
(i.e. which software methodology and why, the major areas of functions to be developed
and the order in which developed
Software engineering is carry out of using preferred procedure techniques to progress the
quality of a software development effort. A methodology is defined as a collection of
procedures, techniques, tools, and documentation aids which will help developers in their
efforts (both product and process related activities) to implement a new system. For
successful implementation, a well-organized and systematic approach is crucial. Therefore,
several methodologies were developed to encourage the systematic approach to planning,
analysis, design, testing and implementation. Methodologies offer various tools and
techniques to assist in analysis, design and testing in terms of detailed design of
software, data flowcharts and database design.
➢ This model needs all requirements explicitly, but it is frequently not easy for the
customer to state all requirements clearly.
➢ The model tends to consume a lot more time compared to other software advance
models though it is able to identify exact starting and ending points for a given
project.
➢ Waterfall model does not support iterative approach.
➢ In this model developer cannot change the requirement in the middle of the
project. If changes are tried to be incorporated it leads to more confusion and
further delays.
➢ It defers testing and integration until the end of development lifecycle resulting in
unnecessary risks.
➢ Inception Phase
➢ Elaboration phase
➢ Construction Phase
➢ Transition phase
➢ Inception phase:
This phase deals with the various research works on the proposed system. It helps in
formulating the scope of the project. The core features that are to be incorporated into the
system are practically identified in this phase. The targeted audience is then identified and the
various tasks to be carried out is divided and scheduled. This phase also includes an initial
risk assessment against the project implementation.
• Elaboration phase:
The primary objective is to mitigate the key risk items identified by analysis up to the end of
this phase. The elaboration phase is where the project starts to take shape. In this phase the
problem domain analysis is made and the architecture of the project gets its basic form.
This also includes data gathering, analyzing and designing the proposed system. It shall
contain the academic and domain research on knowledge universities and university portals.
It is this phase that makes a comparative study of similar products available in the market and
what add-ons can be incorporated to the current project. Once finished, the questionnaires
and interview sessions with concerned users are conducted. The outcome of the research
PTL00782209 Asia Pacific Institute of Information Technology
Page 210
Smart Mail
work is used for planning out the system requirement specification which will be
documented. The requirement specification will be used for the later development phases of
the system.
• Construction phase:
The primary objective of this phase is to build the software system. The main focus here is on
the development of components and other features of the system. This is the phase when the
bulk of the coding takes place. In larger projects, several construction iterations may be
developed in an effort to divide the use cases into manageable segments that produce
demonstrable prototypes.
During the construction phase, all the individual modules are developed and finally integrated
to the product and is tested. After completely implementing the system it will be tested with
proper testing technique.
• Transition phase:
Primary objective of transition phase is to 'transition' the system from development into
production, making it available to and understood by the end user. The activities of this phase
include training the end users and maintainers and beta testing the system to validate it
against the end users' expectations. The product is also checked against the quality level set in
the Inception phase.
If all objectives are met, the Product Release Milestone is reached and the development cycle
ends.
• Time Management
The project initiation began with the start of the new semester. The time available for the
completion of the project is about 36 weeks. So the entire project must be divided into more
detailed tasks and scheduled carefully for the development plan.
Development Plan
While the project follows the four major phases of the Spiral model, I have broken down the
overall process to some more detailed tasks for the development plan; here is a breakdown
list of the plan with its possible durations:
Duration: 36 Weeks
1. Project Definition
PTL00782209 Asia Pacific Institute of Information Technology
Page 211
Smart Mail
Duration: 1 week
Tasks:
• Idea Generation
• Project Title Selection
• Feasibility Studies
• Abstract Draft Project Proposal
2. Project Planning
Duration: 3 weeks
Tasks:
3. Requirement Analysis
Duration: 12 weeks
Tasks:
– User requirements
• Analysis
– User Modeling and Profiling
– Domain analysis
– System analysis
– Risk analysis
4. System Design
Duration: 3 weeks
Tasks:
• Navigational Design
– Story Boarding
– Data flow Diagram
• Abstract Interface Design
– Screen layout
– Content Design
– Interactivity Design
– Functionality Design
5. Prototyping
Duration: 10 weeks
Tasks:
• Creating Prototypes
• Evaluate Prototype feedbacks
Tasks:
• Code generation
PTL00782209 Asia Pacific Institute of Information Technology
Page 213
Smart Mail
• Module Integration
Tasks:
• Prototype Evaluation
• Test Plans
• Unit Testing
• Integration Testing
• System Testing
• Critical Evaluation
8. Project Ending
Duration: 2 weeks
Tasks:
The tasks listed above shows the overall progress and time duration for the thorough
development of this particular project, some of the task may start at a similar time with the
other tasks as they have dependencies to each other, so overlapping may occur and it will be
expected
When the development reaches the implementation phase, each and every module and
functions of the system will be created and integrated. One of the most important functions
to be concerned with is the one, called “accessing without login”, whereby Smart mail will be
implemented to the interface which allow interactivity. This function holds the biggest
challenge and also serves as the highlight of the whole project, making it work and perform
PTL00782209 Asia Pacific Institute of Information Technology
Page 214
Smart Mail
perfectly will certainly be one of the main concerns of the entire project. For the rest of the
system, “FAQ and Help” will be placed at the final stages of the implementation phase.
For all the tasks available in the development plan, the most challenging and hardest tasks
will be:
• Research and Analysis – Based on the nature of this project, Drifting is one of the
major research area but it is also not an easy area to be researched on, due to its late
appearance here in Malaysia, the resources are limited.
• Implementation of Smart mail – In the implementation phase, the hardest task will be
the implementation of Smart mail to the project; the major difficulty lies within the
availability of the resources needed, for example, in this system, user can access their
mail account form Smart mail.
• Presentation – When a project has been submitted, a presentation will be followed up.
Presentation is considered one of the hardest tasks because it requires a high demand
of careful planning of the presentation itself and its contents. It is also not one of the
skills to be mastered easily, a lot of practice will be required and confidence is
essential.
Brief description of the evaluation and test plan for the proposed project.
(i.e. what is the success criteria and how will be evaluated & implementation will be
tested, indicate the estimated size of the demonstration/test database)f
Throughout the development of this project, testing will be done from different stages and
phases, starting from the early stage of the development, until the very end. These tests will
be carried out by prototype tests, and also final system tests.
The testing techniques that I will follow for Campus Connect are:
• Black Box Testing: Testing without knowledge of the internal workings of the item
being tested. Tests are usually functional. The system or module to be tested is
considered as black box which only takes input and gives output after processing, thus
the testing solely depends on the inputs. Every input will be tested for its validation
using various black box testing techniques.
Tester: Developer
• White Box Testing: It is a program based testing which uses program statements. It
takes into account the internal mechanism of a system or component. It demands full
visibility of the internal workings of the software product, specifically, the logic and
the structure of the code. White box testing will be carried out for all the logically
complex modules of the project.
Tester: Developer
• Compatibility Testing: Testing to ensure compatibility of an application with different
browsers, Operating Systems, and hardware platforms. Compatibility testing can be
performed manually or can be driven by an automated functional or regression test
suite. As Campus Connect would be a platform independent application I will check
its compatibility with different operationg systems. This testing will be performed
after completion of the whole system. It is expected that the system will be
compatible over the list Operating Systems mentioned in the software requirements
section.
Tester: Developer
• Usability Testing: This testing strives upon the usability features like design
principles and other HCI guidelines. The system is tested to follow the designing
principles. The system is also checked for the feedback, visiblity, constratints and
other HCI guidelines.
Tester: Developer and end user together.
• Functional Testing: Validating an application conforms to its specifications and
correctly performing all its required functions. This entails a series of tests which
perform a feature by feature validation of behavior, using a wide range of normal and
erroneous input data. This can involve testing of the product's user interface, APIs,
database management, security, installation, networking; etc. Testing can be
performed on an automated or manual basis using black box or white box
methodologies. In case of Campus Connect I will be testing every individual feature
of the project function by function, user interfaces and other features. Tester:
Developer
• Unit Testing: Functional and reliability testing in an engineering environment.
Producing tests for the behavior of components of a product to ensure their correct
Tester: Developer
1. Meeting user requirements: The system should meet every requirement specified by
the user/clients in the specification to be successful.
2. Functionality: Determines the functionality of the complete system. Each and every
function of the system shall be evaluated, such as the complete interface interactivity of the
system.
4. Level of Content: Show the amount of detailed and well presented information and
content available in the system.
5. Project Management: The ability to manage the project in a professional and tidy
manner. Evaluator: Developer
6. Research and Analysis: A good amount of well investigated research and analysis
work is important to the success of a project.
Evaluator: Developer
Evaluator: Developer
GANTT CHART