cyber by VegasStreetProphet

VIEWS: 5 PAGES: 48

									Cyber - Intelligence
                                 TABLE OF CONTENTS

1. INTRODUCTION
1.1 PURPOSE OR PROJECT SUMMARY (ABSTRACT)
1.2 SCOPE
1.3 ABBREVIATIONS
1.4 REFERENCES
2. OVERVIEW OF EXISTING SYSTEM
3. OBJECTIVE OF PROPOSED SYSTEM
4. OVERALL DESCRIPTION OF PROPOSED SYSTEM
4.1 ARCHITECTURE DIAGRAM
4.2 SOFTWARE SPECIFICATION
4.3 HARDWARE SPECIFICATION
4.4 DATA FLOW DIAGRAM
4.5 UML DIAGRAMS
4.6 PROJECT MODULES
5. TECHNICAL SPECIFICATION (IMPLEMENTATION)
5.1 INFRASTRUCTURE OVERVIEW (BRIEF ABOUT SOFTWARES)
5.2 SCREEN SHOTS WITH VALIDATION RULES AND BUSINESS RULES
6. DATABASE DESIGN SPECIFICATION
6.1 OVERALL DATABASE DIAGRAM & DESCRIPTION
6.2 MODULE WISE DATABASE DIAGRAMS & DESCRIPTIONS
7. TEST CASE SPECIFICATION
8. BIBLIOGRAPHY
INTRODUCTION
                                             Abstract


                      In the context of growing menace of terrorism and various external threats, it is
eminent for a nation to have equipped with strong intelligence capability to defy the challenges. Based
on the fact that the terror attacks executed in our soil were preplanned and developed through a well
networked infrastructure, it is vital to intercept the communication channels(e-mail, voice call, sms,
website) used by the enemy network to deduce valuable information.


       Aim:
              The project can able to block the messages passed over the terrorist using some
techniques.


       Scope:
               The scope of the system is block the messages which is passed over between the
       terrorists and the admin can convert the using some techniques. This system can provide the
       whole mail process and block the mails for analysis purpose.
 Abbreviations :

PHP      -    Hyper Text Preprocessor
SQL      -    Structured Query Language
DFD      -    Data Flow Diagram
UML      -    Unified Modeling Language
ODBC     -    Open DataBase Connectivity
AJAX     -    Asynchronous JavaScript and XML
HTML     -    Hypertext Markup Language
ISDN     -    Integrated Services Digital Network
JPEG     -    Joint Photographic Experts Group
LAN      -    Local Area Network
MAN      -    Metropolitan Area Network
References :
       www.php.net
       www.webreference.com
       www.phpfreaks.com
       www.mhnonline.com
       www.bluechipsw.com
       www.mysql.com
       www.php.net/mysqli
       www.php.net/mysql
EXISTING SYSTEM
                                     Existing System

Nowadays, in India we are monitoring phone calls and tracking e-mails after receiver has studied it.
We are decrypting information present on websites after it has been posted. We are also monitoring
the SMS after it has been delivered to the particular recipient. This is a dis-advantage as the message
will already be transferred to the recipient. So it will be a good idea to track messages before reaching
the recipient.
PROPOSED SYSTEM
                                         Proposed System

    The Intelligence Gateway is setup between the user (sender) and the communication bearers that
include the satellite transmission. The gateway scans all the messages for suspicious data. For
scanning, and identification there is an intermediate spy specializes in identifying the keywords and
groups.


                We also have an in – built Cryptanalysis block which helps in breaking the codes, such
that we obtain a decrypted message. As soon as, sensitive information has been spotted the
intermediate will further spy to produce more secret data, regarding the sender, receiver, sending date.
It also gives information about the message is encrypted or not, Type of Threat and Danger Mark.
When the tool has found out any information dangerous, the suspected message will be blocked from
transmission.




.
OVERALL DESCRIPTION FOR
   PROPOSED SYSTEM
Architecture Diagram:
  The term architecture, design, and implementation are typically used informally in partitioning
software specifications into three coarse strata of abstraction. Yet these strata are not well-defined in
either research or practice, causing miscommunication and needless debate. To remedy this problem
we formalize the Intension and the Locality criteria, which imply that the distinction between
architecture, design, and implementation is qualitative and not merely quantitative. We demonstrate
that architectural styles are intentional and non-local; that design patterns are intentional and local;
and that implementations are extensional and local.


Architecture diagram shows the relationship between different components of system. This diagram is
very important to understand the overall concept for the system.
                                                           Blocked mail
                                                                                           Receiver
Cyber Intelligence                       DataBase


                                                                     Send encrypted mail

                                                                                           Sender

                                                    Block the mail
                     Retrieve the mail
                     using decryption



                                     Cryptanalysis
System Requirements:


     Hardware Specification:


            Processor           : Pentium IV
            Speed               : 1.7 GHz
            Main Memory         : 1 GB
            Hard Disk Drive     : 40 GB
            Monitor             : SVGA Color




      Software Specification:


            Front-end             : PHP 5.0
            Back-end              : MYSQL 5.2.1
            Server                : Appache Wampserver2.0

            Operating System       : Windows Xp
Dataflow Diagram :


A description of data and the manual and machine processing performed on the data as it moves and
changes from one stage to the next. It also includes the locations where the data are placed in
permanent storage (disk, tape, etc.).

The elements of a DFD

A DFD contains four kinds of symbol:

   1. Processes -- The only active elements. Processes cause something to happen. They have
       embedded descriptions, often in verb-object form. (Sometimes informally called "bubbles"
       because of their shape in an early version of SA.)
   2. Terminators -- Represent users or other systems, i.e. entities outside the boundary of the
       system being described.
   3. Dataflows -- Composite data items (or objects) that pass either
           o   from any element to a process (input dataflow) or
           o   from a process to any element (output dataflow)
   4. Data stores -- Holding places for dataflows; often implemented by databases.

Each symbol is labelled with a description in English or another natural language.



Some common-sense rules


   1. Every process must have at least one input dataflow (Violators are called "magic" processes,
       since they claim to do something based on no input, not even a trigger.)
   2. Every process must have at least one output dataflow (Violators are called "black hole"
       processes, since their inputs are swallowed up for no reason.)
   3. Every dataflow must connect two elements. One of them must be a process; the other can be a
       terminator, a data store or another process.
   4. Each dataflow diagram should contain no more than six or seven processes and no more than
       six or seven data stores, and all the processes should be conceptually at the same level of
       detail. If a part of the system is too big or too complicated to describe in an easily grasped
   diagram, break it down into two or three lower-level
5. diagrams. (We sometimes see hanging on an office wall a huge tour de force DFD that tries to
   describe an entire large system at a low level of detail with several dozen processes and
   convoluted intersecting dataflow arrows. That's not something to be proud of. It doesn't
   communicate to any audience.)
6. For every process, one of the following must eventually be true:
       a. The description label is so simple and unambiguous that every reader will understand it
           in exactly the same way.
       b. It is expanded or decomposed into a separate lower-level dataflow diagram that
           preserves exactly the same net inputs and outputs, but shows internal detail, such as
           data stores and internal processes.
       c. It is rigorously described by a separate process specification (business rule, decision
           rule, function definition, algorithm, etc.).
Level 0 :




                        Request
             Admin                Cyber Intelligence
            Authority
 Level 1 :


                                                                                     Compose Mail


                                                                                          Inbox

                                             Data            Login
  user               Registration
                                             Base
                                                                                          Sent
Sender

                                                                                          Trash


                                                                 Encrypted mail




Admin             Login



                                Decrypted Mail
                View
                mails



                                                                          Inbox
                               user           Login

                            Receiver                                       Sent



                                                                           Trash




UML Diagram
         The Unified Modeling Language (UML) is a standard language for specifying, visualizing,
constructing, and documenting the artifacts of software systems, as well as for business modeling and
other non-software systems. The UML represents a collection of best engineering practices that have
proven successful in the modeling of large and complex systems. The UML is a very important part of
developing object oriented software and the software development process. The UML uses mostly
graphical notations to express the design of software projects. Using the UML helps project teams
communicate, explore potential designs, and validate the architectural design of the software.

       Goal of UML :

                The primary goals in the design of the UML were:

          1.                Provide users with a ready-to-use, expressive visual modeling
               language so they can develop and exchange meaningful models.
          2.                Provide extensibility and specialization mechanisms to extend the
               core concepts.
          3.                Be independent of particular programming languages and
               development processes.
          4.                Provide a formal basis for understanding the modeling language.
          5.                Encourage the growth of the OO tools market.
          6.                Support higher-level development concepts such as collaborations,
               frameworks, patterns and components.
          7.                Integrate best practices.

       Types of UML Diagram :
                Each UML diagram is designed to let developers and customers view a software system
from a different perspective and in varying degrees of abstraction. UML diagrams commonly created
in visual modeling tools include:
Usecase Diagram :

       It displays the relationship among actors and use cases.

Class Diagram :

       Models class structure and contents using design elements such as classes, packages and
objects. It also displays relationships such as containment, inheritance, associations and others.
Intractive Diagrams :

     Sequence Diagram displays the time sequence of the objects participating in the interaction.
       This consists of the vertical dimension (time) and horizontal dimension (different objects).
     Collaboration Diagram displays an interaction organized around the objects and their links to
       one another. Numbers are used to show the sequence of messages.

State Diagrams :

       It displays the sequences of states that an object of an interaction goes through during its life in
response to received stimuli, together with its responses and actions.

Activity Diagrams :

       It displays a special state diagram where most of the states are action states and most of the
transitions are triggered by completion of the actions in the source states. This diagram focuses on
flows driven by internal processing.

Physical Diagrams :

     Component Diagram displays the high level packaged structure of the code itself.
       Dependencies among components are shown, including source code components, binary code
       components, and executable components. Some components exist at compile time, at link
       time, at run times well as at more than one time.
     Deployment Diagram displays the configuration of run-time processing elements and the
       software components, processes, and objects that live on them. Software component instances
       represent run-time manifestations of code units.




 Activity Diagram:
                   START




                         Register




                    Send encrypted mail




                   Admin retrieve the mail,
                      and compare it




                   Block the mail from the
                    receiver that contains
                       terrorism words


                    Receiver receives other
                   than blocked mails which
                          is decrypted



                   END




Sequence Diagram :

   User register      Send                 Mail hacked   View decrypted
                      encrypted           by admin       mail
                      mail
        Mail()




                         Sequence diagram




MODULES INVOLVED:


1) Registration, Login
2) Composing Mail

3) Hacking

4) Receiving Mail

5) Sent, Trash, Replying a mail


Registration-Login:


               In this module, the user initially registers his/her details. Being an admin he needs to
authenticate the user who needs to avail the service through their gateway. For that admin person
needs to gather the details of the user which will be enclosed by the user in the registration form. Once
they enclosed their privacy details in that form it will be retrieved by the system for the admin
verification once the enough details are get satisfied by the admin for the account creation. He enabled
the user account and activates it immediately for their usage to get initiated. Once they will be
intimated with their relevant username and password they can experience their usage to avail the
service in the system we designed.




Composing Mail:


               After login the user can send mails to other users. Once the user is get login he can opt
for the various key functions in the system. One of the essential key functions we concentrated in our
system is composer who helps to furnish the thoughts of the user in words. Once the mail is get
composed by the user they need to specify the subject for the sender focus towards their mail to show
the interest towards it to explore it for their interaction to get continued further. Similarly the sender
information is furnished in the relevant space accommodated for it. With the enabled button with the
dedicated action towards it user can instruct the system whether to send his/her composed mail the
mail he sends will be send as encrypted message. Thus the receiver can view the decrypted message.


Hacking Mail:
               The mail send by the sender is compared with the terrorism words added by the
invigilence department. If there is any word in the mail that matches the terrorism words then the mail
is not sent to the prescribed receiver, instead it goes to the invigilence department. There they can get
the details such as sender, receiver, date and message that are transmitted. Thus the mail can be
hacked by the intermediater.




Receiving Mail:


               The mails other than the hacked mails are sent to the specified receiver. When you have
a new Inbox message, the Inbox menu items will be displayed as bold. Select Inbox to read the
message. It shows the total count of unread messages beside it. Once all messages have been read, the
Inbox menu items will be displayed as normal text. By clicking the subject the receiver can view the
message sent by sender. Here before the message is displayed it is decrypted and then displayed.




Sent, Trash, Replying a Mail:


               Here it encloses the sent mail, trash mails and how to reply a mail. The received mails
deleted by the receiver are deleted from inbox and moved into trash, thus the receiver can view the
deleted mails in the trash folder, if the receiver don’t want to maintain the deleted mails they can
delete it from trash folder also. The mails sended by the member are maintained in the sent folder.
Also the receiver can make reply to the sender by clicking the reply image.
TECHNICAL SPECIFICATION




   Infrastructure overview (software)


                  PHP
FRONT END OF SOFTWARE:

Introduction to PHP:

        PHP is a language that has outgrown its name. It was originally conceived as a set of macros to
help coders maintain personal home pages, and its name grew from its purpose. Since then, PHP's
capabilities have been extended, taking it beyond a set of utilities to a full-featured programming
language, capable of managing huge database-driven online environments.


         As PHP's capabilities have grown, so too has its popularity. According to NetCraft
(http://www.netcraft.com), PHP was running on more than 1 million hosts in November 1999. As of
February 2000, that figure had already risen to 1.4 million hosts. According to E-Soft, PHP is the most
popular Apache module available, beating even ModPerl.


         PHP is now officially known as PHP: Hyper Text Preprocessor. It is a server-side scripting
language usually written in an HTML context. Unlike an ordinary HTML page, a PHP script is not
sent directly to a client by the server; instead, it is parsed by the PHP binary or module. HTML
elements in the script are left alone, but PHP code is interpreted and executed. PHP code in a script
can query databases, create images, read and write files, talk to remote servers— the possibilities are
endless.


         The output from PHP code is combined with the HTML in the script and the result sent to the
user.


How Did PHP Evolve?


         The first version of PHP was created by Rasmus Lerdorf in 1994 as a set of Web publishing
macros. These were released as the Personal Home Page Tools and later rewritten and extended to
include a package called the Form Interpreter (PHP/FI). From a user's perspective, PHP/FI was already
an attractive proposition, and its popularity grew steadily. It also began to attract interest from the
developer community. By 1997, a team of programmers was working on the project. The next
release— PHP3— was born out of this collaborative effort. PHP3 was an
effective rewrite of PHP, with an entirely new parser created by Zeev Suraski and Andi Gutmans, as
well as differences in syntax and new features. This release established PHP as one of the most
exciting server scripting languages available, and the growth in usage was enormous.


       PHP's support for Apache and MySQL further secured its popularity. Apache is now the most-
used Web server in the world, and PHP3 can be compiled as an Apache module. MySQL is a powerful
free SQL database, and PHP provides a comprehensive set of functions for working with it. The
combination of Apache, MySQL, and PHP is all but unbeatable. That isn't to say that PHP is not
designed to work in other environments and with other tools. In fact, PHP supports a bewildering
array of databases and servers.


       The rise in popularity of PHP has coincided with a change of approach in Web publishing. In
the mid-1990s it was normal to build sites, even relatively large sites, with hundreds of individual
hard-coded HTML pages. Increasingly, though, site publishers are harnessing the


power of databases to manage their content more effectively and to personalize their sites according to
individual user preferences.


       The use of databases to store content, and of a scripting language to retrieve this data, will
become further necessary as data is sent from a single source to multiple


environments, including mobile phones and PDAs, digital television, and broadband Internet
environments. In this context, it is not surprising that a tool of PHP's sophistication and flexibility is
becoming so popular.


       At the time of this writing, PHP4 is in its final beta stage and is due for release shortly. By the
time you read this book, PHP4 will be making waves!




Why Choose PHP?

       There are some compelling reasons to work with PHP4. For many projects you will find that
the production process is significantly faster than you might expect if you are used to working with
other scripting languages. As an open source product, PHP4 is well supported by a talented production
team and a committed user community.


       Furthermore, PHP can be run on all the major operating systems with most servers.


Speed of Development


       Because PHP allows you to separate HTML code from scripted elements, you will notice a
significant decrease in development time on many projects. In many instances, you will be able to
separate the coding stage of a project from the design and build stages. Not only can this make life
easier for you as a programmer, it also can remove obstacles that stand in the way of effective and
flexible design.


PHP Is Open Source
       To many people, "open source" simply means free, which is, of course, a benefit in itself. To
quote from the official PHP site at http://www.php.net/: This may sound a little foreign to all you folks
coming from a non-UNIX background, but PHP doesn't cost anything. You can use it for commercial
and/or non-commercial use all you want. You can give it to your friends, print it out and hang it on
your wall or eat it for lunch. Welcome to the world of Open Source software! Smile, be happy, the
world is good. For the full legalese, see the official license.
Well-maintained open source projects offer users additional benefits, though. You benefit from an
accessible and committed community who offer a wealth of experience in the subject. Chances are
that any problem you encounter in your coding can be answered swiftly and easily with a little
research. If that fails, a question sent to a mailing list can yield an intelligent, authoritative response.


       You also can be sure that bugs will be addressed as they are found, and that new features will
be made available as the need is defined. You will not have to wait for the next commercial release
before taking advantage of improvements. There is no vested interest in a particular server product or
operating system. You are free to make choices that suit your needs or those of your clients, secure
that your code will run whatever you decide.
Performance


       Because of the powerful Zend engine, PHP4 compares well with ASP in benchmark tests,
beating it in some tests. Compiled PHP leaves ASP far behind.



Portability
       PHP is designed to run on many operating systems and to cooperate with many servers and
databases. You can build for a UNIX environment and shift your work to NT without a problem. You
can test a project with Personal Web Server and install it on a UNIX system running on PHP as an
Apache module.
                                              MySQL

BACK END OF SOFTWARE:
History of MySQL


       We started out with the intention of using MY SQL to connect to our tables using our own fast
low-level (ISAM) routines. However, after some testing, we came to the conclusion that My SQL was
not fast enough or flexible enough for our needs. This resulted in a new SQL interface to our database
but with almost the same API interface as MY SQL. This API was designed to allow third-party code
that was written for use with MY SQL to be ported easily for use with My SQL.


       The derivation of the name My SQL is not clear. Our base directory and a large number of our
libraries and tools have had the prefix “my” for well over 10 years. However, co-founder Monty
Widenius’s daughter is also named My. Which of the two gave its name to MY SQL is still a mystery,
even for us. 6 My SQL Technical Reference for Version 5.0.1-alpha The name of the My SQL Dolphin
(our logo) is “Sakila,” which was chosen by the founders of MY SQL AB from a huge list of names
suggested by users in our “Name the Dolphin” contest. The winning name was submitted by Ambrose
Twebaze, an Open Source software developer from Swaziland, Africa. According to Ambrose, the
name Sakila has its roots in SiSwati, the local language of Swaziland. Sakila is also the name of a
town in Arusha, Tanzania, near Ambrose’s country of origin, Uganda.
The Main Features of MY SQL


       The following list describes some of the important characteristics of the My SQL Database
Software.


Internals and Portability
Written in C and C++.
Tested with a broad range of different compilers.
Works on many different platforms.
 Uses GNU Automake, Autoconf, and Libtool for portability.
 APIs for C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl are available.
 Fully multi-threaded using kernel threads. It can easily use multiple CPUs
 Provides transactional and non-transactional storage engines.
 Uses very fast B-tree disk tables (MyISAM) with index compression.
 Relatively easy to add another storage engine. This is useful if you want to add an SQL interface to
an in-house database.
 A very fast thread-based memory allocation system.
 Very fast joins using an optimized one-sweep multi-join.
 In-memory hash tables, which are used as temporary tables.
 SQL functions are implemented using a highly optimized class library and should be as fast as
possible. Usually there is no memory allocation at all after query initialization.
 The MySQL code is tested with Purify (a commercial memory leakage detector) as well as with
Valgrind, a GPL tool (http://developer.kde.org/~sewardj/).
The server is available as a separate program for use in a client/server networked environment. It is
also available as a library that can be embedded (linked) into standalone applications. Such
applications can be used in isolation or in environments where no network is available.
Fixed-length and variable-length records.


Statements and Functions
 Full operator and function support in the SELECT and WHERE clauses of queries.
   For example:
            mysql> SELECT CONCAT(first_name, ' ', last_name)


FROM citizen
WHERE income/dependents > 10000 AND age > 30;
 Full support for SQL GROUP BY and ORDER BY clauses. Support for group functions
(COUNT(), COUNT(DISTINCT ...), AVG(), STD(), SUM(), MAX(), MIN(), and
GROUP_CONCAT()).
 Support for LEFT OUTER JOIN and RIGHT OUTER JOIN with both standard SQL and ODBC
syntax.
 Support for aliases on tables and columns as required by standard SQL.
DELETE, INSERT, REPLACE, and UPDATE return the number of rows that were changed
(affected). It is possible to return the number of rows matched instead by setting a flag when
connecting to the server.
 The MySQL-specific SHOW command can be used to retrieve information about databases, tables,
and indexes. The EXPLAIN command can be used to determine how the optimizer resolves a query.
 Function names do not clash with table or column names. For example, ABS is a valid column
name. The only restriction is that for a function call, no spaces are allowed between the function name
and the ‘(’ that follows it.
You can mix tables from different databases in the same query.
Security
 A privilege and password system that is very flexible and secure, and that allows host-based
verification. Passwords are secure because all password traffic is encrypted when you connect to a
server.
Scalability and Limits
 Handles large databases. We use MySQL Server with databases that contain 50 million records. We
also know of users who use MySQL Server with 60,000 tables and about 5,000,000,000 rows.
 Up to 64 indexes per table are allowed. Each index may consist of 1 to 16 columns or parts of
columns. The maximum index width is 1000 bytes (500 before MySQL 4.1.2). An index may use a
prefix of a column for CHAR, VARCHAR, BLOB, or TEXT column types.
Connectivity
 Clients can connect to the MySQL server using TCP/IP sockets on any platform. On Windows
systems in the NT family (NT, 2000, or XP), clients can connect using named pipes. On Unix systems,
clients can connect using Unix domain socket files.
MySQL Technical Reference for Version 5.0.1-alpha
 The Connector/ODBC (MyODBC) interface provides MySQL support for client programs that use
ODBC (Open Database Connectivity) connections.
For example, you can use MS Access to connect to your MySQL server. Clients can be run on
Windows or Unix. MyODBC source is available.
All ODBC 2.5 functions are supported, as are many others.
 The Connector/J interface provides MySQL support for Java client programs that use JDBC
connections. Clients can be run on Windows or Unix. Connector/J source is available.
Localization
 The server can provide error messages to clients in many languages.
All data is saved in the chosen character set. All comparisons for normal string columns are case-
insensitive.
 Sorting is done according to the chosen character set (using swedish collation by default). It is
possible to change this when the MySQL server is started. To see an example of very advanced
sorting, look at the Czech sorting code. MySQL Server supports many different character sets that can
be specified at compile time and runtime.
Clients and Tools
 All MySQL programs can be invoked with the --help or -? options to obtain online assistance.




                VALIDATION RULES AND BUSINESS RULES

    Validation Rules
Common Rules

    is_numeric – Valuable numeric value.

    eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$" ) - valid
     email address.

    strlen -comparing the length.

    preg_match('/^(http|https|ftp)://([A-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0-9_-
     ]*)+):?(d+)?/?/i', $url) - validate domain name.

    preg_ quote() :Quote regular expression characters.

    preg_replace("/s(w+s)1/i", "$1", $text) : remove repeated word.


Business rules

      Business rule is a statement that defines or constrains some aspect of the business. It is
intended to assert business structure or to control or influence the behavior of the business.
Individual business rules that describe the same facet of an enterprise are usually arranged into
business rulesets. Business rules describe the operations, definitions and constraints that
apply to an organization in achieving its goals.




      Categories of business rules
Four categories:


     Definitions of business terms

The most basic element of a business rule is the language used to express it. The very definition of a
term is itself a business rule that describes how people think and talk about things. Thus, defining a

term is establishing a category of business rule. Terms have traditionally been documented in a
Glossary or as entities in a conceptual model.

     Facts relating terms to each other
The nature or operating structure of an organization can be described in terms of the facts that relate
terms to each other. To say that a customer can place an order is a business rule. Facts can be
documented as natural language sentences or as relationships, attributes, and generalization structures
in a graphical model.

     Constraints (also called "action assertions")

Every enterprise constrains behavior in some way, and this is closely related to constraints on what
data may or may not be updated. To prevent a record from being made is, in many cases, to prevent an
action from taking place.

       Derivations

Business rules (including laws of nature) define how knowledge in one form may be transformed into
other knowledge, possibly in a different form.


For Ex :




   DATABASE DESIGN SPECIFICATION
 Database Design and Specification :


       It is very important the files designed are capable of storing the same information needed
repetition of filed, (i.e), storing the same information should be kept minimum. That ensures thus the
database is considered.


       This system is developed with some database, each having one table is being listed here in
order to explain the database.


       Database design runs parallel without application design. As we called information about what
is to be done, we will obviously collect the information what data needs to be entered, stored,
messaged and printed on the reports, we have to use our data entry screens and forward what will need
to be in our database or pickup the report and work backward.




Database Design :
Registration Details:


No                       Field Name        Datatype

1                        id                int(10)

2                        first_name        varchar(255)

3                        last_name         varchar(255)

4                        dob               varchar(255)

5                        login_id          varchar(255)

6                        password          varchar(45)

7                        sec_ques          varchar(45)

8                        sec_ans           varchar(45)

9                        location          varchar(45)

10                       security_code     varchar(45)




Location:


No                      Field Name       Datatype

1                       id               int(10)

2                       country          varchar(255)




Admin:
No       Field Name    Datatype

1        username      varchar(45)

2        password      varchar (45)




Inbox:


No       Field Name    Datatype

1        id            int(10)

2        from_mail     varchar(255)

3        from_name     varchar(255)

4        to_mail       varchar(255)

5        sub           text

6        message       text

7        rec_date      datetime

8        read_status   varchar(45)




Sent:
No       Field Name    Datatype

1        id            int(10)

2        from_mail     varchar(45)

3        to_mail       varchar(255)

5        sub           text

6        message       text

7        sent date     datetime



Trash:


No       Field Name    Datatype

1        id            int(10)

2        from_mail     varchar(255)

3        from_name     varchar(255)

4        to_mail       varchar(255)

5        sub           text

6        message       text

7        mail_date     datetime

8        delete_from   varchar(255)
Keywords:


No          Field Name   Datatype

1           id           int(10)

2           word         varchar(255)
            TESTCASE SPECIFICATION




Test case Specification


     System testing is an expensive but critical process that can tack as much as 50% of the
budget for program development, the common view of testing held by users that it is
performed to prove that there are no error in a program, However, as indicated earlier, this is
virtually impossible, since analysis cannot prove that software is free and clear of errors,
therefore, the most useful and practical parch is which the understanding that testing is the
process of executing a program with the explicit intention of finding error that is making the
program file, the tester, who may be the analyses, programmer or specialist trained in software
testing, is actually typing to make the program file a successful test, than, and is one that finds
or error. Analyses know that an effective testing program does not guarantee system reliability.
Therefore, reliability must be designed into the system.


       TESTING STRATEGIES:
       As stated above that the philosophy is to find errors. Test cases are devised with this
purpose in mind. A test case is a set of data that the system will process as normal input.
However, the data are created with the express intent of determining whether the system will
process them correctly. There are two general strategies for testing software.
              Code Testing have to test cases that result in executing every instruction in the
program or a module; that is every path through the program is tested. A path is a specific
combination of conditions that is handled by the program. On the surface, code testing seems
to be an ideal method for testing software. But the rationale that all software errors can be
uncovered by checking every path in a program is faulty.




       SPECIFICATION TESTING:

              To perform Specification Testing, the analyst examines the specifications stating
what the program should do and how it should perform under various conditions. Then, test
cases are developed for each condition or combination of conditions and submitted for
processing.   By examining the results, the analyst can determine whether the program
performs according to its specified requirements.
                    This strategy treats the program, as it was a black box: the analyst does not
look into the program to study the code and is not concerned about whether every instruction
or path through the program is tested. In that case, specification testing is not complete
testing. However, the assumption is that, if the program meets the specification, it will not
fail.


          LEVEL OF TESTS:
             Systems are not designed as entire systems nor are they tested as single systems.
So, performing of both Unit and System testing is essential.


                 White Box Testing:
                            White box testing sometimes called glass box testing, is a test case
    design that uses the control structure of the procedural design to derive test cases. Using
    this method the following tests were made on the system.


All independent paths within a module have been exercised at least once.
Each case was selected and executed. All cases structures were checked. The prevailing
bugs in some part of the code were foxed.
All logical decision were checked for the truth and false values.
All lops were executed to checked their boundary values. This was carried out for loops
like’ for’ and bugs was fixed up.


        Black Box Testing
             Black box testing is a methodology in which the selection of test data as well as the
          interpretation of test results is performed on the basics of the functional properties of
          the software. In new testing approaches, software systems are given to a third external
          party for black box testing exercises.


It focuses on the overall functionality of the software. Black box testing is not an alternative
to white box techniques. Black box testing attempts to find errors in the following categories:
Incorrect or missing functions
Interfaces errors
Performance errors
Initialization and termination errors.


All the above-mentioned errors were checked in the process of black box testing and the bugs
found were fixed.


             Unit Testing
        In Unit testing, we have to test the programs making up the system. For this reason,
 Unit testing is sometimes called as Program testing. The software units in a system are the
 modules and routines that are assembled and integrated to perform a specific function. Unit
 testing focuses first on the modules, independently of one another, to locate errors. This
 enables, to detect errors in coding and logic that are contained within that module alone.

       This testing was carried out during programming stage itself. In the testing step, each
 module is found to be working satisfactorily as regards to the expected output from the
 module.


             Integration Testing


       Data can be lost across any interface, one module can have an adverse effect on
 another, sub functions when combined, may not produce the desired major function.
 Integration testing is a systematic testing for conducting tests to uncover errors associated
 within the interface.
        The objective is to take unit tested modules and build a program structure. All the
 modules are combined and tested as a whole. Here, correction is difficult because the vast
 expenses of the entire program complicate the isolation of causes. Thus in the integration
 testing step, all the errors are corrected for the next testing steps.
       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 tests begin. Validation testing can be defined in many ways, but a simple
definition is that validation succeeds when the software functions in a manner that can be
reasonably expected by the customer. After validation test has been conducted, one of two
possible conditions exists:
The function or performance characteristics conform to specifications and are expected.
A deviation from specification is uncovered and a deficiency list is created.

Proposed system under consideration has been tested by using validation testing and found to
be working satisfactorily.


       Output Testing

       After performing the validation testing, the next step is output testing of the proposed
system, since no system could be useful if it does not produce the required output in the
specific format. The outputs generated or displayed by the system under consideration are
tested by asking the users about the required by them. Here, the output format is considered in
two ways. One is on screen and another is printed format.
       The output format on the screen is found to be correct as the format was designed in the
system design phase according to the user needs. For the hard copy also, the output comes out
as specified requirements by the user. Hence, output testing has not resulted in any correction
in the system.




SYSTEM TESTING:
       A system testing does not test the software per se but rather the integration of each
module in the system. It also tests to find discrepancies between the system and its original
objective, current specification, and systems documentation. The primary concern is the
compatibility of individual modules. Systems testing must also verify that file sizes are
adequate and that indices have been built properly.      Sorting and re-indexing procedures
assumed to be present in lower level modules must be tested at the systems level to see they in
fact exist and achieve the result modules expect.
Screen Shoots
Conclusion:

               Thus we have proposed the intelligence gateway, which helps to track the messages
before it reaches the recipient. This may result in the blocking of terrorist information and it may help
a lot in preventing terrorist attacks and save many lives.
                           Bibliography

1. Beginner to Intermediate PHP5

               - Mario Lurig

2. PHP and MySQL Web Development

               -Luke welling, Laura Thomson

3. PHP-Black Book

               - Peter Moulding

4. PHP and MySQL Bible.

                    - Tim Converse, Joyce Park, Clark Morgan

5. PHP Solutions, Dynamic web design made easy

                    -David Powers

								
To top