Event Notifier
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)1
Event Notifier
INTRODUCTION:
The project is aimed to develop notification based software and so
named EVENT NOTIFIER. Our primary goal was that the faculty of
our/any department may easily be able to send any type of important
notice to the students of the department like assignments related
notice, warn them to be regular and such important messages so that
the faculty is able to save their time during lectures, any important
notice is easily conveyed and they need not to call the students that
session has been started or you are irregular and have short
attendance. By this software and availability of internet connection the
faculties can sign up to register themselves and sign in through their
authenticated user name and password. The faculties can register the
student , can view student list and can create a notification and by one
click the notification can be send to a number of selected students
through email.
OBJECTIVE:
Our main objective behind the idea of this project was that the
faculties can notify the selected or all students through email without
revealing their personal mail id and they don’t need to ring the
students one by one. Also every notification can be reviewed by the
head that will act as a confirmation of any news that has been
conveyed to the students so as in future they cannot deny about the
fact.
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)2
Event Notifier
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)3
Event Notifier
REQUIREMENT GATHERING
This phase formally defines the detailed functional user requirements
using high-level requirements identified in the initiation, System
Concept, and planning phases. It also delineates the requirements in
terms of data, system performance, security, and maintainability
requirements for the system. The requirements are defined in this
phase to a level of detail sufficient for systems design to proceed. They
need to be measurable, testable, and relate to the business need or
opportunity identified in the initiation Phase. The requirements that will
be used to determine acceptance of the system are captured in the
Test and Evaluation Master Plan.
The purpose of this phase is –
Ø Further define and refine the functional and data requirements and
document them in the Software Requirement specification [SRS]
Document.
Ø Complete business process reengineering of the functions to be
supported (i.e., verify what information drives the business process,
what inform0ation is generated, who generates it, where does the
information go, and who processes it).
Ø Develop detailed data and process models (system inputs, outputs,
and the process).
Ø Develop the test and evaluation requirements that will be used to
determine acceptable system performance.
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)4
Event Notifier
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)5
Event Notifier
SYSTEM IMPLEMENTATION & DETAILS OF HARDWARE
& SOFTWARE
System implementation :-
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)6
Event Notifier
The implementation phase is less creative then system design.
It is primarily concerned with user train, site preparation and file
conversion. When the candidate system is linked to terminals or
remote sites, the telecommunication network and tests of the network
along with the system are also included under implementation.
During the final testing, user acceptance is tested followed by user
training. Depending on the nature of the system, extensive user
training may be required.
Details of hardware & software:-
Hardware:
Processor Pentium IV 3.0 GHz
Ram 1.5GB or more
Hdd-16 GB Capacity
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)7
Event Notifier
Software:
Front-end Tools:-
Windows Xp
NETBEANS
JDK1.5+
Servlets/JSp
HTML,CSS and JS
Back-end Tools:-
MYSQL SERVER
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)8
Event Notifier
FEASIBILITY STUDY:
Feasibility is the determination of whether or not a project is worth.
The process following in making this determination is called a
feasibility study. A feasibility study is conducted to select the best
system that meets performance requirements. Once it has been
determined that a project is feasible, the analyst can go ahead and
prepare the project specification which finalizes project requirements.
The feasibility of the system developed has been discussed in the
following points:
1. Operational Feasibility:
The system being developed is using NetBeans as a front-end tool.
Any of the language can be used to type the programming. We have
incorporated user friendly user interface which makes the system user
friendly and even a user who have simple knowledge of the computer
can access the required information. Due to these reasons the
accepted system making operationally feasible.
2. Technical Feasibility
Technical analysis showed that the hardware and software
requirement is sufficient and Java is suitable for the project. Java
language was the ultimate choice since it is a powerful tool for making
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)9
Event Notifier
dynamic and interactive web based Applications. Java is the widely-
used and efficient alternative to competitors such as PHP, C#. Java can
be deployed on almost every operating system and platform.
3. Economic/Financial Feasibility:
The system will be developing in the present environment that is
Windows. The system runs on Pentium Computers.
1) There is no direct cost since the developed system does not require
any special hardware .The system does not require any new software
since NetBeans IDE are
2) Already there in the computer center under any operating system.
Software developed under these environments is more users friendly.
SOFTWARE MODEL:
INCREMENTAL MODEL
The incremental model combines the elements of the linear sequential model
with the iterative philosophy of prototyping. The incremental model applies linear
sequences in a staggered fashion as calendar time progresses. Each linear
sequence produces a deliverable “increment” of the software .When an
incremental model is used, the first increment is often a core product. That is,
basic requirements are addressed, but many supplementary features remain
undelivered. The core product used by the customer (or undergoes detailed
review). As a result of use and/or evaluation, plan is developed for the next
increment. The plan addressed the modification of the core product to meet the
needs of the customer and the delivery of additional features and functionality.
This process is repeated following the delivery of each increment, until the
complete product is produced.
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)10
Event Notifier
Incremental Model
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)11
Event Notifier
The incremental model, like prototyping and other evolutionary
approaches, is iterative in nature. But unlike prototyping, the
incremental model focuses on the delivery of an operational product
with each increment. Each increment is stripped down versions of the
final product, they do provide capability that serves the user and also
provides a platform for evaluation by the user. Incremental
development is particularly useful when staffing is unavailable for a
complete implementation by the business deadline that has been
established for the project. Early increments can be implemented with
fewer people. If the core product is well received, then additional staff
(if required) can be added to implement the next increment. In
addition, increments can be planned to manage technical risk.
Software Development Life Cycle
SDLC shows about the development process of software and the time
required in phases which is as follows.
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)12
Event Notifier
Software Development Life Cycle
Requirement Gathering: It took 10 days to gather requirements for
the project. Event Notifier is basically a web based application. For
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)13
Event Notifier
Event Notifier we have to firstly sign up the faculties who will later on
login to make student entry in the database and viewing the list all
registered students. Further they will create a notification and send it
to the selected students by single click.
Analysis of Problem: It took 6 days. In this phase we have found
that java language will be the best suitable for the project.
Designing: It took about 10 days. For high level design like DFD, ER
diagram and sequence diagram it took 7 days and for low level it took
5 days.
Implementation: It took 8 days to implement. Implementation is
done in the form of code.
Unit Testing: It took 3 days. This testing was performed by project
members. Some designing issues came.
Integration Testing: It took 3 days.
System Testing: It took 3 days. In this testing we came to know
across minor and negligible bugs but many of them were debugged.
SOFTWARE COST ESTIMATION :
Boehm postulated that any software development project can be
classified into one of the following three categories based on the
development complexity: organic, semidetached, and embedded. In
order to classify a product into the identified categories, Boehm not
only considered the characteristics of the product but also those of the
development team and development environment. Roughly speaking,
these three product classes correspond to application, utility and
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)14
Event Notifier
system programs, respectively. Normally, data processing programs
are considered to be application programs. Compilers, linkers, etc. are
utility programs. Operating systems and real-time system programs,
etc. are system programs. System programs interact directly with the
hardware and typically involve meeting timing constraints and
concurrent processing.
Boehm’s [1981] definition of organic, semidetached, and embedded
systems are elaborated below -
Organic: A development project can be considered of organic type, if
the project deals with developing a well understood application
program, the size of the development team is reasonably small, and
the team members are experienced in developing similar types of
projects.
Semidetached: A development project can be considered of
semidetached type, if the development consists of a mixture of
experienced and inexperienced staff. Team members may have limited
experience on related systems but may be unfamiliar with some
aspects of the system being developed.
Embedded: A development project is considered to be of embedded
type, if the software being developed is strongly coupled to complex
hardware, or if the stringent regulations on the operational procedures
exist.
Basic COCOMO Model :
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)15
Event Notifier
The basic COCOMO model gives an approximate estimate of the
project parameters. The basic COCOMO estimation a model is given by
the following expressions:
E = a KLOC ^ b
D = c E ^ d
N = E / D
Where, E = Effort applied in Person / Month
D = Development time in critical month
N = Number of people
The factors a, b, c & d for basic COCOMO model are –
Estimation of development effort
For the three classes of software products, the formulas for estimating
the effort based on the code size are shown as:
Organic: Effort = 2.4(KLOC) ^ 1.05 PM
Semi- detached: Effort = 3.0(KLOC) ^ 1.12 PM
Embedded: Effort = 3.6(KLOC) ^ 1.20 P
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)16
Event Notifier
Estimation of development time
For the three classes of software products, the formulas for estimating
the development time based on the effort are given below:
Organic: Tdev = 2.5(Effort) ^ 0.38 Months
Semi- detached: Tdev = 2.5(Effort) ^ 0.35 Months
Embedded: Tdev = 2.5(Effort) ^ 0.32 Month
It is important to note that the effort and the duration estimations
obtained using the COCOMO model are called as nominal effort
estimate and nominal duration estimate. The term nominal implies that
if anyone tries to complete the project in a time shorter than the
estimated duration, then the cost will increase drastically. But, if
anyone completes the project over a longer period of time than the
estimated, then there is almost no decrease in the estimated cost
value.
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)17
Event Notifier
Software cost estimation is a process of predicting the amount of effort
required to build a software system. Models provide one or more
mathematical algorithms that compute cost as a function of a no. of
variables. Size is a primary cost factor in most models and can be
measured using lines of code or function points.Models used to estimate
cost can be categorized as either cost models or constraint models.
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)18
Event Notifier
DFD Level-0
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)19
Event Notifier
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)20
Event Notifier
DFD Level-1
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)21
Event Notifier
DFD Level-2
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)22
Event Notifier
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)23
Event Notifier
Sequence Diagram
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)24
Event Notifier
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)25
Event Notifier
NET BEANS
NetBeans is an integrated development environment (IDE) for
developing primarily with Java, but also with other languages, in
particular PHP, C/C++, and HTML. It is also an application
platform framework for Java desktop applications and others.
The NetBeans IDE is written in Java and can run on Windows, OS X,
Linux, Solaris and other platforms supporting a compatible JVM.
The NetBeans Platform allows applications to be developed from a set
of modular software components called modules. Applications based
on the NetBeans Platform (including the NetBeans IDE itself) can be
extended by third party developers.
NetBeans Platform
Framework is for simplifying the development of Java Swing desktop
applications. The NetBeans IDE bundle for Java SE contains what is
needed to start developing NetBeans plugins and NetBeans Platform
based applications; no additional SDK is required.
The platform offers reusable services common to desktop applications,
allowing developers to focus on the logic specific to their application.
Among the features of the platform are:
User interface management (e.g. menus and toolbars)
Storage management (saving and loading any kind of data)
Window management
Wizard framework (supports step-by-step dialogs)
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)26
Event Notifier
NetBeans Visual Library
Integrated development tools
User settings management.
NetBeans IDE is a free, open-source, cross-platform IDE with
built-in-support for Java Programming Language.
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)27
Event Notifier
INTRODUCTION TO DATABASE
A database is a structure that comes in two flavours: a flat database
and a relational database. A relational database is much more oriented
to the human mind and is often preferred over the gabble-de-gook flat
database that are just stored on hard drives like a text file. MySQL is a
relational database.
In a relational structured database there are tables that store data. The
columns define which kinds of information will be stored in the table.
An individual column must be created for each type of data you wish to
store (i.e. Age, Weight, Height ).
On the other hand, a row contains the actual values for these specified
columns. Each row will have 1 value for each and every column. For
example a table with columns (Name, Age, Weight-lbs) could have a
row with the values (Bob, 65, 165).
WHY USE A DATABASE??
Databases are most useful when it comes to storing information that fits into
logical categories. For example, say that you wanted to store information of
all the employees in a company. With a database you can group different
parts of your business into separate tables to help store your information
logically. Example tables might be: Employees, Supervisors, and Customers.
Each table would then contain columns specific to these three areas. To help
store information related to each employee, the Employees table might have
the following columns: Hire, Date, Position, Age, and Salary.
INTRODUCTION TO MySql :
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)28
Event Notifier
MySql is a fast, easy-to-use RDBMS used being used for many small
and big businesses. MySql is developed, marketed, and supported by
MySql AB, which is a Swedish company. MySql is becoming so popular
because of many good reasons.
MySql is released under an open-source license. So you have
nothing to pay to use it.
MySql is a very powerful program in its own right. It handles a
large subset of the functionality of the most expensive and
powerful database packages.
MySql uses a standard form of the well-known SQL data
language.
MySql works on many operating systems and with many
languages including PHP, PERL, C, C++, JAVA etc.
MySql works very quickly and works well even with large data
sets.
MySql is very friendly to PHP, the most appreciated language for
web development.
MySql supports large databases, up to 50 million rows or more in
a table. The default file size limit for a table is 4GB, but you can
increase this (if your operating system can handle it) to a
theoretical limit of 8 million terabytes (TB).
MySql is customizable. The open source GPL license allows
programmers to modify the MySql software to fit their own specific
environments.
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)29
Event Notifier
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)30
Event Notifier
METHODOLOGY USED FOR TESTING
Testing is the process of detecting errors. Testing performs a
very critical role for quality assurance and for ensuring the reliability of
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)31
Event Notifier
software. The results of testing are used later on during maintenance
also.
LEVEL OF TESTING
In order to uncover the errors present in different phases we have the
concept of levels of testing. The basic levels of testing are follows:-
System Testing
The philosophy behind testing is to find errors. Test cases are devised
with this in mind. A strategy employed for system testing is code
testing.
Code Testing
This strategy examines the logic of the program. To follow this
method we developed some test data that resulted in executing every
instruction in the program and module i.e. every path is tested. System
is not designed as entire nor are they tested as single systems. To
ensure that the coding is perfect two types of testing is performed or
for that matter is performed on all system.
Types of Testing
Unit Testing
Link Testing
Unit Testing
Unit testing focuses verification effort on the smallest
unit of software i.e. the module. Using the detailed design and the
process specification testing is done to uncover errors within the
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)32
Event Notifier
boundary of the modules must be successful in the unit test before
the start of the integration testing begins.
In this project each service can be thought of a module.
Giving different set of inputs has tested each module. When
developing the module as well as finishing the development so that
each module works without any error. The inputs are validated
when accepting from the user.
System Testing
Here the entire software system is tested. The reference
document for this process is the requirement document and the goal
OS to see if software meets its requirements.
Here entire ‘EVENT NOTIFIER’ has been tested against
requirements of project and it is checked whether all requirements
of project have been satisfied or not.
Acceptance Testing
Acceptance Test is performed with realistic data of the client
to demonstrate that the software is working satisfactorily. Testing
here is focused on external behavior of the system: the internal
logic of program is not emphasized.
In this project ‘EVENT NOTIFIER’ I have collected some data
and tested whether project is working correctly or not.
Test cases should be selected so that largest number of
attribute of an equivalence class is exercised at once; the testing
phase is an important part of software development. It is the
process of finding errors and missing operations and also a
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)33
Event Notifier
complete verification to determine whether the objectives are met
and the user requirements are satisfied.
White Box Testing
This is a unit testing method where a unit will be taken at a
time and tested thoroughly at a statement level to find the
maximum possible errors. I tested step wise every piece of code,
taking care that every statement in the Code is executed at least
once. The white box testing is also called Glass Box Testing.
I have generated a list of test cases, sample data. This is used
to check all possible combinations of execution paths though the
code at every module level.
Black Box Testing
This testing method considers a module as a single unit and
checks the unit at interface and communication with other module
rather getting into details at statement level. Here the module will
be treated as a block box that will take some input and generate
output. Output for a given set of input combination is forwarded to
other modules.
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)34
Event Notifier
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)35
Event Notifier
FORM 1 - Home Page Of Event Notifier
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)36
Event Notifier
FORM 2 - Faculty Signup Page
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)37
Event Notifier
FORM 3 - Faculty Signup Successfully
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)38
Event Notifier
FORM 4 - Faculty Sign In Page
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)39
Event Notifier
FORM 5 - Create Student Record
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)40
Event Notifier
FORM 6 - Student Record Added Successfully
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)41
Event Notifier
FORM 7- Student Record
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)42
Event Notifier
FORM 8 - Create Notification
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)43
Event Notifier
FORM 9 - Notification Sent Successfully
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)44
Event Notifier
SWOT ANALYSIS
• Strength:SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)
45
Event Notifier
1) The information is available in concise form.
2) The software is user friendly so both the technical and non-technical
persons can use it.
3) The graphical user interface is very simple to understand.
• Weakness:
Application can be used only when there is an access to internet.
• Opportunity:
1) Sending email through code.
2) Understanding database connectivity.
• Limitations (Threats):
Unknown person can send unnecessary mails by his fake id if he any
how discovers our s/w main email id.
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)46
Event Notifier
CONCLUSION
The project report entitled "Event Notifier" has come to its conclusion.
The new system has been developed with so much care that it is free
of errors and at the same time efficient and less time consuming.
System is robust. Also provision is provided for future developments in
the system.
Doing this project has made me learn not only a new technology but
also it has made me more knowledgeable in the software engineering
activities, which are carried out in the organization. It was a great
learning experience.
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)47
Event Notifier
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)48
Event Notifier
References
Websites:
● http://www.roseindia.net/
● http://stackoverflow.com/
● http://www.thenewboston.com/
● http://web.mit.edu/
● http://www.jdbc-tutorial.com/
Books:
The Complete Reference Java 2 fifth edition, Herbert Schildt.
The Java Language Specification, James Gosling Bill Joy, Guy
Steele and Gilad Bracha.
Ian Somerville, “Software Engineering”, Sixth Edition, Pearson
Education Ltd. 2002.
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)49
Event Notifier
Software Engineering VI edition, Pressman.
SHRI RAM INSTITUTE OF TECHNOLOGY, JABALPUR (M.P.)50