Anda di halaman 1dari 50

Dedicated

To
Our
Beloved
Parents

ACKNOWLEDGEMENTS
Its a moment of great pleasure to present this project on

Simple Mail Service


First we would like to thank our esteemed college Bapuji
Institute of Hi-Tech Education which has provided us all the facilities
required.
We would also like to take this privilege to thank our guide
Mr.Siddalingappa.k for here valuable guidance.
We also thank HOD of BCA department whos motivational
taught gave us courage to reach our destination.
We heartily thank our beloved principal Dr.B. Veerappa and all
our teaching and non teaching staff for their support which played a
major role in reaching our goal.
Last but not the least we would like to give a
special thank the hand behind this project that gave the
basic idea about the project and also helped during the
project development Mr.Vinay.

Project Associates.

ABSTRACT
Communication plays an important role in human life. This is the
media through which we can express our feelings, share our taught,
improve our knowledge and soon. We have several medias for
communication such as Television, Radio, Newspaper and now in this
fast growing world of technology Email service. Our project Simple Mail
Service is software which helps peoples to communicate to each other in
a single network.
Using this software a client can communicate with other client and
exchange information form of text, video, audio and even can have
attachment facility. But this is possible only in a single network. This
service is fast and reliable as it is in a single network. It is similar to any
other mail service on internet but this is confined to work in a single

network. It is simple to be worked with as even a non technical person


can easily use this system.

CONTENTS

CONTENTS
1. Software Requirement Specification
2. Introduction
3. Aim and Scope of the Project
4. Objectives
5. Requirement Process
6. Database Diagrams
7. Coding

8. Testing
9. Portrayals of the Project
10. Time and Cost Estimation
11. Conclusion
12. Bibliography

SOFTWARE
REQUIREMENT
SPECIFICATION

INDEX & TABLE


1) Introduction:
1.1) Purpose
1.2) Scope
1.3) Abbreviations
1.4) References

1.5) Technologies
1.6) Overview

2) Overall Description:
2.1) Product Perspective
2.2) Hardware Requirement
2.3) Software Requirement
2.4) Communication Interface
2.5) Use-Case Model Survey
2.6) Assumptions and Dependencies

3) Specific Requirements:
3.1) Use-Case Reports

4) Time And Cost Estimation:

1. INTRODUCTION
Purpose:
Change is a law of life. Challenge is an aim of life. We
have to challenge the changes, but not change the challenges. Simple
Mail Service provides a simple means of communication though e-mails.

The purpose is to implement an email service to work only within a


single domain, which saves the cost of setting up the mail server. Using
this service, only the users under the domain can communicate more
rapidly, safely. It will provide following facilities to its users.
Information regarding other users.
Faster communication.
Unlimited size of attachment capacity.
Information about currently active users.

Scope:

User gets User-ID and password to login.


Maintains logs for all users that admin can enquire.
Online Status of the users will be provided in real time.
Any file regardless of its type can be attached to the mail.
Users can send group mails.
Users can broadcast any message to reach all the users of the

domain.
Administrators can perform all related activities like generating
reports, control user's activities, take backup etc.
Grievance handling system for Users.
Communication without internet.

Abbreviations:
HTML: Hypertext Markup Language is a markup language used
to design static WebPages.
EJB: Enterprise Java Beans.
J2EE: Java 2 Enterprise Edition is a programming platform - part
of the Java Platform-for developing and running distributed
multitier architecture Java applications, based largely on modular
software components running on an application server.
DB2: DB2 Database is the database management system that
delivers a flexible and cost-effective database platform to build
robust on demand business applications.
WAS: Web sphere application server is an application server that
runs business applications and supports the J2EE and web services
standards.
HTTP: Hypertext Transfer Protocol is a transaction oriented
client/server protocol between web browser & a Web Server.
HTTPS: Secure Hypertext Transfer Protocol is a HTTP over SSL
(secure socket layer).
TCP/IP: Transmission Control Protocol/Internet Protocol, the suite
of communication protocols used to connect hosts on the Internet.
TCP/IP uses several protocols, the two main ones being TCP and
IP.

References:
IEEE SRS Format.
CT Arrington. Enterprise Java with UML. OMG Press.
Software Engineering - Ian Somerville.

Technologies:
J2EE: Application Architecture
Database Management System
Application Server

Overview:
SRS will include two sections:
Overall Description will describe major components of the
system, interconnection and external interfaces.
Specific Requirements will describe the functions of actors,
their role in the system and constraints.

2. Overall Description
Describe the general factors that affect the product
and its r equirements.

Product Perspective:

App. SERVER

HTML Client

HTTP
HTTPS
DATABASE

CLIENT SIDE
SERVER SIDE

Web pages are there to provide user interface with the system.
Customer and server
HTTP/HTTPS protocols.

communication

is

done

through

On the server side web server is for EJB and database server is for
storing the information.

Hardware Interface:
Pentium P3 and above.
512MB RAM and above for server and 64MB RAM for client.
2GB Disk Space (Excluding Data) on server.
101 keys keyboard and above.
2 button mouse and higher.

Software Interface:
Client Side:
Latest Web browser.
Any operating system.

Server Side:
JAVA Runtime
Web sphere Application Server
Oracle

Communication Interface:
Client on network will be using HTTP/HTTPS protocol.

Use-Case Model Survey:


User-case Diagram

View
logs

Grievance
handling

Manage
user

Maintain
Database

Send Files

Administrato
r
Group
mail

Delete
mail
Forward
mail

Receive
mail

Send mail

Login

Complaint

User
Register

Assumptions and Dependencies:


User Interface will be in English only.
Login and password is essential to use all the provided features in
the system.
Must have knowledge of using Internet and Web Browsing.
User must be aware of using credit cards on-line.
All users have pre-defined roles assigned to them.
Users will be not being able to communicate with other mail
services like yahoo, Gmail, webmail, etc.

3.

Specific Requirements:

Use-Case Reports:
I.

Administrator:
LOGIN: Login is just a formal procedure in order to take the
control over the system.
SEND MAIL: Can send mail to other users.
RECEIVE MAIL: Can receive and read the received mails.
FORWARD MAIL: Can send the received mails to other
users.
DELETE MAIL: Can delete mails that are no longer required
to keep his inbox clean.
GROUP MAIL: Can send mails to all the users of the domain
or can send to selected group of users on the domain.
SEND FILES: Authorized to send file any type and of any size
by attaching them to mails.
MANAGE USERS: Ability to control users activity i.e.,
removing users who violate the rules and regulations of the
domain.
VIEW LOGS: Responsible for checking the logs for different
users for the maintenance of system integrity.
GRIEVANCE HANDLISE: Updating the schema as per
changes in the real world, NG: The complaints and queries of
the customers will be handled and directed towards the
corresponding authorities.
MAINTAIN DATABA taking back-up of the data in order to
prevent data loss.

II. Customer:

REGISTER: The customers have to REGISTER to be able to


access their mail account online by LOGIN.
LOGIN: Login is just a formal procedure in order to perform
the functionality assigned to him.
SEND MAIL: Can send mail to other users.
RECEIVE MAIL: Can receive and read the received mails.
FORWARD MAIL: Can send the received mails to other
users.
DELETE MAIL: Can delete mails that are no longer required
to keep his inbox clean.
GROUP MAIL: Can send mails to all the users of the domain
or can send to selected group of- 18 - users on the domain.
SEND FILES: Authorized to send file any type and of any size
by attaching them to mails.

AIM AND SCOPE OF


THE PROJECT

AIM:
We intended to develop this software which helps to send mail from
source to destination or to the communication between the client and user

to develop the network communication.

SCOPE:

User gets User-ID and password to login.


Maintains logs for all users that admin can enquire.
Online Status of the users will be provided in real time.
Any file regardless of its type can be attached to the mail.
Users can send group mails.
Users can broadcast any message to reach all the users of the

domain.
Administrators can perform all related activities like generating
reports, control user's activities, take backup etc.
Grievance handling system for Users.
Communication without internet.

OBJECTIVES

OBJECTIVES:
We will try to our level best to develop our project with the
following option, we expect your comments on the objectives and we will

try to reach your expectations to show your options.

It sends the mail from client to the user.


It shows your sent items
It has the saving option also, the saved items are stored in draft.
If we store the available contact lists.
It gives the information about the mail.
It explains its feature if the user want to know.

REQUIREMENT
PROCESS

What is a requirement?
A requirement is something the product must do or a quality it must
have. A requirement exists either because the type of the product
demands certain functions or qualities or because the client wants that

requirement to be part of the delivered product.

Functional Requirements
A Functional Requirement is an action that the product must take if
it is to be useful to its users. Functional requirements arise from the work
that your stakeholders need to do. Almost any action calculate, inspect,
publish, or most other active verbs can be a function.
This requirement is something that the product must do if it is to be
useful within the context of the customers business. In the preceding
example, the customers for the product are the countries and other
authorities that have responsibility for dispatching trucks to spread deicing material on freezing roads.

Nonfunctional Requirements
Nonfunctional requirement are properties, or qualities, that the
product must have. In some cases, nonfunctional requirements describe
such properties as look and feel, usability, security and legal restrictions
are critical to the products success, as in the following case:
You can think of these requirements as business requirement,
meaning that they specify the product needed to support the business.
Once they are adequately understood, they are given to the designer, who
adds the products technological before producing the final specification
for the builders.
The requirements evolve as development of the product
progresses. They start out as fairly vague ideas as the analysts and
stakeholders explore the work area. As the ideas for the product emerge
over time, the requirements become precise end testable. They remain

technologically neutral until the designer becomes involved and adds


those requirements needed to make the product work in its technological
environment.

SOFTWARE REQUIREMENTS
Client on Internet:

1.Web Browser (Internet explorer)


2. Operating System (any)

Web Server:
1. WASCE,
2. Operating System (any)
IBMs Web sphere Application Server Community Edition (WAS
CE) is a free downloadable J2EE platform for developing and deploying
applications. It is built on the open-source application server, with
extensions from IBM, including the IBM Java Development Kit (JDK)
and support for IBMs Java Virtual Machine .IBM has described it as
90% Apache Geronimo with an IBM Web Sphere product look and feel
Web Sphere is IBMs strategic platform and an essential
technology for anyone developing and maintaining for IBM installations.
The Community Edition provides a way in for people who do not have
access to the 350-plus a day required for formal Web Sphere training.
IBM says, WAS CE shares many of the same capabilities of the rest of
the WAS family. WAS CE is a different technologies base, but if you are
building application based on J2EE standards, there is little difference.

Unlike JBoss, which uses integration and certification to


differentiate between the communities version of its application server,
IBM tests the community and commercial versions of its application

server, IBM tests the interdependencies between exiting and new features
added to WAS community Edition. WAS CE has an Eclipse plug-in
,providing access to a range of free application development, debugging
and deployment tools for java and other web application and services.
The open-source Apache Derby database is supplied, and there are drivers
for IBMs DB2, oracle, Microsoft SQL server and MySQL. There is also
a version of the administrative console used by paid-for Web Sphere
products
Data Base Server:
1. DB2
2 .Operating System (any)
IBMs DB2 is a Relational Database Management System
(RDBMS), where the database contain the data you want to work with,
the that DB2 is a collection of computer software programs that perform
this particular type of task. DB2 is designed to make the storage and
analysis of data easier.
DB2 runs on an MVS server at the computer Center .The DB2
server is a high-performance database engine capable of handling large
amounts. IBMs DB2 is Requirement Management System (RDBMS of
data and many concurrent users. It has comprehensive backup and
recovery facilities and excellent security. DB2 houses a variety of NIH
enterprise-wide data including administrative, grants, personnel, and
research data.
Any registered user of the computer center can create, access, and
manipulate data in DB2. DB2 data is accessible interactively via

client/server connective (including the web) or an online (full screen


3270) connection. It can also be accessed by batch jobs.
In DB2, data is stored in the form of tables (relations) comprised of
rows (records) and column (fields). All access to and manipulation of
data in DB2 is accomplished via Structure Query Language (SQL). SQL
provides a relatively consistent and simple English-like language for
retrieving (selecting) and manipulating (inserting, updating, and deleting)
data. Furthermore, SQL provides facilities for defining tables and
controlling access to them. Users can create formatted reports containing
information selected in many ways from the results of their queries.
The Computer Center offers DB2 to its users in an open shop
environment where users create and control their own database objects.
DB2 is fully compatible with complex hardware and software
environment of the Computer Center. Online and batch application
programming facilities allow programmers to embed SQL statements in
C, PL/I, COBOL, FORTRAN, and

Assembler programs, and have

programs in those languages build and execute SQL statements.


Client/Server

access

allows

an

almost

unlimited

applications

development environment including the C/C++ language, 4GL


environment and the web. This capability allows users to create customtailored interfaces to DB2 for their application and to perform

Here we get table information after executing the query

Development End:
1. Eclipse
2. DB2, OS (Windows)
3. Web Server.
The Eclipse Platform provides an open universal framework for
building developer tools. An introduction to the platform and hows how
it operates. The Eclipse Platform is a fresh start at open integrated
development environment (IDE) system with broad commercial
participation. While classic tools like Emacs and others have supported
the development needs of GUI based IDEs, as well as easily extensible
nature, available in commercial tools. With over 1200 developers from 63
countries involved in the eclipse open source community process and
with more than 150 leading software tools vendors working with it,
Eclipse stands a chance to change that entirely.

Why a new IDE Platform?


The recent mass popularization of the internet has to led the rise
of new technologies, programming languages, and design system that
have usually required separate tools to work with. These days, a
developer may have to write project components in java programming
language, Python, C++ and other languages, all to support a single
application. An enterprise application can employ Enterprise JavaBeans
technologies, HTML, XML, JavaScript, Java Server Pages technology,
and one more, within the context of providing services to their customers

through their Web Site.


To accomplish this, they often have to rely on multiple
programming tools either because of the lack of features and capability in
a single tools, or because some such tools provide better functionality
than others. With each separate tools comes a different user interface, and
different ways of doing things, thus only complicating the lives of
developers.
The Eclipse platform is a kind of universal tool platform -- an
open extensible IDE (integrated development environment) for anything
but nothing in particular. The real value of the Eclipse platforms comes
from the many tool plug-ins that each teach Eclipse how to work with
things -- java source code, OO models, Web contents, XML, Graphics,
workflow processes, video -- almost anything you can imagine. Tools
built as Eclipse Platform plug-ins interact with the both the platforms and
other tools. This can provide users with a seamless work experience. This
can provide users with a seamless work experience. Fact, a user may not
even realize where one tool starts and another begins.

The Eclipse Platform


The Eclipse Platform is designed and built to the following basic
requirement:
Support the construction of a variety of tools application
development.
Supports an unrestricted set of tool providers, including
independent software vendors.
Supports tools to manipulate arbitrary contents types.

Facilitate seamless integration of tools within and across different


contents types and tools providers.
Support both GUI and non-GUI-based application development
environments.
Run on a wide range of operating system, including Windows and
Linux .
Capitalize on the popularity of the Java programming language for
writing tools.

The Eclipse Components


The major components of the Eclipse Platform, as shown in figure:
The Platform Runtime.
The Workbench which implements the graphical interface tom
eclipse and its subcomponents JFace and the Standard Widget
Toolkit (SWT).
The Workspace that holds the development environment.
The Help system.
The Version and Configuration Management (VCM) system.

Hardware Requirements

Pentium P3 and above.


512MB RAM and above for server and 64MB RAM for client.
2GB Disk Space (Excluding Data) on server.
101 keys keyboard and above.
2 button mouse and higher.

DATABASE
DIAGRAM

CODING

CODING

Sooner or later, it all comes down to the code. As much we


would like to eliminate this pesky step, you just cant build software
without writing code. Even this pesky step, you just cant build software
without writing parts, you still have to write the code of the glue it all
together, to pass results from one module to another.
This is both a blessing and a curse. Great code allows us to have
robust system the kind of that doesnt break as well as high performance
system those that respond quickly to our demands on them. Writing great
code allows us yield superior products that give us a competitive edge in
the marketplace. But what about all that positively awful code that is
foisted on to the general public? Anyone who thinks that its just code
should consider the difference between the writing for The Week and
The Economist. Both are written in appropriately the same language,
but the differences in level, quality and style are obvious. To say its just
English misses the point entirely.

TESTING

System Testing

An error occurs whenever the system does not produce the


expected output. While it true that no program ever fully debugged or
fully tested, nor proven correct-a fact that startles many users aspiring
programmers-errors are not limited to correct use of programming syntax
alone.
In the software development projects, errors can be injected at
any stage during development. For each phase, there exits different
technique is for detecting and eliminating errors that originate in that
phase. However no technique is perfect and it is expected that some of
the errors of the earliest phase will finally manifest themselves in code.
This is particularly true because in the earlier phase most of the
verification techniques are manual because no executable code exits.
Ultimately, these remaining errors will be reflected in the code.
Hence, the code developed during their coding activity is like to have
some requirement errors introduced during the coding activity. Because
code is frequently the only product that can be executed and whose actual
behavior can be observed, testing is the phase where the errors remaining
from all the previous phase must be detected. Hence testing perform a
very critical role for quality assurance and reliable of the software.
Testing a system is a complex activity, and like any complex
activity it has to be broken into smaller activities. Due to this, for a
project, incremental testing is generally performed, in which components
and subsystems of the system is tested separately before integrating them
to form the system for system testing.

The testing process in our project was carried out incrementally


in conjunction with the system implementation. The errors in the program
component obtained at earlier stages rectification of those errors makes to
reach to the destiny of the project.
During testing the program to be tested is executed with a set of
test cases, and the output of the program for test case is evaluated to
determine if the program is performing as expected. Due to the approach
dynamic testing can only ascertain the presence of the errors in the
program. The exact nature of the error is not usually decided by testing.
Testing forms the first step in determining the errors in a program.
Clearly, the success of testing in revealing errors in the program depends
critically on the cases.

Approaches
There are 2 basic approaches to testing: functional and structural.
In functional testing, the structure of the program is not
considered. Test cases are solely on the basis of the requirements or
specification of the program or module, and the internals of the module or
the program are not considered for selection of cases. Due to its nature,
functional test is also called as Black Box Testing.
In the structural approach, test cases are generated based on the
actual code of the program or module to be tested. This structural
approach is some time called as Glass Box Testing.

Types of testing:

Unit testing
Integration testing
Validation testing
System testing

Unit Testing
Unit testing focuses verification effort on the smallest unit of the
software design. The software component or, module using the

component-level design description as a guide, important control


paths are tested to uncover errors within the boundary of the module.

Integration Testing
Integrating testing is a systematic technique for constructing
the program structure while at same time conducting tests to uncover
errors associated with in the interfacing.
Top-down Integration is an incremental approach to
construction of program structure. Modules are integrated by moving
downward through the control hierarchy, beginning with main control
module (main program).

Validation Testing
At the culmination of integration testing, software is
completely assembled as a package, interfacing errors have been
uncovered and corrected, and a final series of software tests-validation
testing-may begin.

System Testing
System testing is actually a series of different tests whose
primary purpose is to fully exercise the computer-based system.

Levels of Testing:
Different levels of testing are used in the testing process, each
level of testing aims to test different aspects of the system.

Users needs
cclie

Acceptance
Testing

Requirement

System Testing

Design

Integration Testing

Code

Unit Testing

In the figure it states clearly what kind of testing we are using.

PORTRAYALS
OF THE
PROJECT

TIME AND COST


ESTIMATION

Time Estimation:
As time factor is consider we require approximate 60days to
complete the software with all features mentioned before. Maximum time
was consumed for the development of the font end application and to
design back end database. The entire development process rivets
planning, analysis designing, coding, testing and finalizing.

COST ESTIMATION:

As for the cost estimation is considered the creation of the


entire application may approximately costs around Rs 10,000/- in all.
This involves costs for tasks such as research, print-outs, building, Xerox,
CDs and other miscellaneous expenditure.

CONCLUSION

CONCLUSION
Simple Mail Service is a software which provides facilities in
sending, receiving, forwarding and reply mails through simple
communication. Using this service, the user can communicate more
rapidly with limited size of attachment capacity. J2EE is a strong and
powerful programming language but still it has complexity in coding. But
we have to accept the challenges.
We think everything is impossible until we try something
different. Different attempt is the only way of discovering our true

capacity As the above said we made attempt to discover our true


capacity by this project. This helped us to learn more things and also to
improve our knowledge. This project made us very confident in self
believe and helped to implement our ideas in an ordinary manner. With
this we learnt that Knowledge is never ending.

BIBLIOGRAPY

Bibliography:
1. J2EE-complete reference-JIM KEOUGH
2. JAVA2-complete reference-HERBERT SCHILDT
3. IEEE SRS Format
4. Problem Definition (Provided by IBM)
5. Enterprise Java with UML-CT Arrington.

6. Software Engineering-Ian Sommerville.

Websites:
http://www.jsptut.com
http://java.sun.com

Anda mungkin juga menyukai