multi purpose editor

Upload: jubaira-samsudeen

Post on 14-Apr-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/27/2019 Multi Purpose Editor

    1/25

    GRAPHICAL PASSWORD AUTHENTICATION

    PROJECT REPORT

    Submitted by

    JAZEERA A

    Register no:1122K2775

    In partial fulfilment for the award of the degree

    Of

    BACHELOR OF COMPUTER SCIENCE

    Under the guidance of

    Mr.S.JOHN GRASIAS MCA.,

    AJK COLLEGE OF ARTS AND SCIENCE

    (Affiliated to Bharathiar University,Coimbatore)

    PALAKKAD MAIN ROAD,NAVAKKARAI

    COIMBATORE-641105

    APRIL-2013

  • 7/27/2019 Multi Purpose Editor

    2/25

    ii

    AJK COLLEGE OF ARTS AND SCIENCE

    PALAKKAD MAIN ROAD,NAVAKKARAI

    COIMBATORE-641105

    BACHELOR OF COMPUTER SCIENCE

    PROJECT WORK

    APRIL-2013

    This is to certify that the project entitled

    GRAPHICAL PASSWORD AUTHENTICATION

    Is a bonofide of tproject work done by

    JAZEERA A

    Register no:1122k2775

    Of Computer Science during the year 2013-2014

    Project Guide Head of the department

    Submitted for the project Viva-Voice examination held on

    Internal Examiner External Examiner

  • 7/27/2019 Multi Purpose Editor

    3/25

    iii

    AJK COLLEGE OF ARTS AND SCIENCE

    PALAKKAD MAIN ROAD,NAVAKKARAI

    COIMBATORE-641105

    CERTIFICATE

    This is to certify that the project work entitled GRAPHICAL PASSWORD

    AUTHENTICATION is a bonafide work carried out by JAZEERA A student of B.Sc.

    (Computer Science), Bharathiyar University, Coimbatore under the supervision of

    Mr.S.JOHN GRASIAS MCA., during the academic year 2013-2014 in partial fulfillment

    of the requirements for the award of the Degree of the Bachelor of Science.

    Date: Project Guide

    Head of the department

  • 7/27/2019 Multi Purpose Editor

    4/25

    iv

    DECLARATION

    I here by declare that the project GRAPHICAL PASSWORD

    AUTHENTICATION Submitted to AJK COLLEGE OF ARTS AND SCIENCE Affiliated to

    Bharathiyar university in partial fulfillment for the degree of Bachelor of Science in

    Computer Science, is record of original work done by me during the period of study

    at AJK College of Arts And Science, Coimbatore, under the guidance of Mr.S.JOHN

    GRASIAS MCA., Head of the Department in Computer Science.

    JAZEERA A

    1122K2775

    I certify that the declaration made above by the candidate is true

    Mr.S.JOHN GRASIAS

    Head of the department

  • 7/27/2019 Multi Purpose Editor

    5/25

    V

    ACKNOWLEDGEMENT

    I take this oppurtunity to acknowledge with great pleasure, deep satisfaction

    and gratitude, the contribution of many individuals in the successful completion of

    this project.

    I express my gratitude to Dr.P.V.BALASUBRAMANIYAM, Principal of AJK

    College of arts and science, for being an inspiration and encouragement to me.

    I am deeply indebted to Mr.JOHN GRASIAS MCA., Head of the Department,

    centre for the Computer Science for his consistent support during my project.

    I express my deep gratitude to my guide Mr.JOHN GRASIAS MCA in

    department of Computer Science, for his effective guidance and constant

    encouragement, which let this informative work to its successful completion.

    I would like to express my heartfelt thanks to my beloved parents for their

    blessings, my friends and classmates for their help and wishes for the successful

    completion of this project.

  • 7/27/2019 Multi Purpose Editor

    6/25

    vi

    TABLE OF CONTENTS

    CHAPTER.NO TITLE PAGE NO

    ABSTRACT vii

    List of tables ix

    List of figures x

    List of Abbreviations xi

    1. INTRODUCTION

    1.1 over view of project 1

    2. SYSTEM ANALYSIS

    2.1 Existing System 2

    2.2 Proposed System 2

    2.3 Feasibility Study 3

    2.3.1 Operational Feasibility 3

    2.3.2 Technical Feasibility 3

    2.3.3 Economical Feasibility 4

    3. SYSTEM SPECIFICATION

    3.1 Hardware Specification 5

    3.2 Software Specification 5

    4. SOFTWARE DESCRIPTION

    4.1 Front End 6

    4.2 Back End 12

  • 7/27/2019 Multi Purpose Editor

    7/25

    vii

    5. PROJECT DESCRIPTION

    5.1 Problem Definition

    5.2 Overview of Project 14

    5.3 Module Description 14

    5.4 System Flow Diagrams 15

    5.5 Database Design 21

    5.5.1 Table Design 22

    5.6 Input Design 26

    5.7 Output Design 26

    6. SYSTEM TESTING

    6.1 Testing

    6.1.1 Unit Testing 296.1.2 Integration Testing 29

    6.1.3 Validation Testing 30

    6.1.4 System Testing 30

    7. SYSTEM IMPLEMENTATION 31

    8. CONCLUSION AND FUTURE ENHANCEMENT 32

    9. APPENDIX

    9.1 Source Code 33

    9.2 Screen Shot 42

    10. REFERENCES AND BIBLIOGRAPHY 51

  • 7/27/2019 Multi Purpose Editor

    8/25

    viii

    ABSTRACT

    The project entitled Multipurpose editorprovides a user to create, edit and

    execute different programming languages in a single window. We can build and

    compile various programs in a single environment using IDE (Integrated

    Development Environment).

    The programming languages can be used in this project are:

    C

    C++ JAVA

    We can also use a database MYSQL for store the information in table format

    and to do other database applications. The compilation and execution of

    different programming languages is according to the extension with which that

    are saved.

    Previously the programming was done in separate platforms. For different

    languages different platforms were required. Sometimes, extra efforts wererequired for compilation and execution of programs especially in the case of

    java. The main drawbacks are listed below.

    Different platforms are required for different languages.Extra efforts are required.Familiarization with each compiler is required.

    The drawbacks of the existing system are listed. Almost all the drawbacks of the

    existing system could be removed to a great extend.

    Creation, compilation and execution of different programminglanguages in a single window.

    Easy to work Execution of programs in less time Less complexity

  • 7/27/2019 Multi Purpose Editor

    9/25

    ix

    INTRODUCTION

    CHAPTER 1

    INTRODUCTION

    1.1ObjectivesVarious graphical password schemes have been proposed as alternatives to text-based

    passwords. Research and experience have shown that text-based passwords are fraught with

    both usability and security problems that make them less than desirable solutions. Psychology

    studies have revealed that the human brain is better at recognizing and recalling images than

    text. Graphical passwords are intended to capitalize on this human characteristic in hopes that

    by reducing the memory burden on users, coupled with a larger full password space offered

    by images, more secure passwords can be produced and users will not resort to unsafe

    practices in order to cope.

    GRAPHICAL PASSWORD AUTHENTICATION proposes a new click-based graphical

    password scheme called Cued Click Points (CCP). It can be viewed as a combination of

    PassPoints, Pass faces and Story. A password consists of one click-point per image for a

    sequence of images. The next image displayed is based on the previous click-point so users

    receive immediate implicit feedback as to whether they are on the correct path when logging

    in. CCP offers both improved usability and security. Users could quickly create and re-enter

    their passwords. Another feature of ccp is the immediate implicit feedback telling the correct

    user whether their latest click-point was correctly entered.

  • 7/27/2019 Multi Purpose Editor

    10/25

    SYSTEM ANALYSIS

  • 7/27/2019 Multi Purpose Editor

    11/25

    CHAPTER 2

    SYSTEM ANALYSIS

    2.1 Existing System

    Previously the programming was done in separate platforms. For different

    languages different platforms were required. Sometimes, extra efforts were required for

    compilation and execution of programs especially in the case of java. The main drawbacks

    are listed below.

    Different platforms are required for different languages. Extra efforts are required.Familiarization with each compiler is required.

    2.2 Proposed System

    The drawbacks of the existing system are listed. Almost all the drawbacks of the

    existing system could be removed to a great extend.

    Creation, compilation and execution of different programming languagesin a single window.

    Easy to work Execution of programs in less time Less complexity

    2.3 Feasibility Study

    Feasibility study is the evaluation of system regarding its workability, impact on the

    organization, ability to meet the user needs and effective use of resources. It is both necessary

    and prudent to evaluate the feasibility of a project at the earliest possible time.Months or

    years of effort, thousands and millions of dollars, and untold professional embarrassment can

    be averted if an ill-conceived system is recognized early in the definition of phase. Feasibility

    and risk analysis are related in many ways. If project risk is great, the feasibility of producing

    quality software is reduced.

    Three key factors are to be considered during the feasibility study.

    Economical Feasibility Operational Feasibility Technical Feasibility

    2.3.1 Economical Feasibility

  • 7/27/2019 Multi Purpose Editor

    12/25

    Economic Feasibility is the most important and frequently used method for evaluating

    the effectiveness of the proposed system. It is very essential because the main goal of the

    proposed system is to have economically better result along with increased efficiency.

    Economical feasibility deals with the analysis of cost against benefits i whether the benefits

    to be enjoyed due to the new system are worthy, when compared to the costs to be spent on

    the system. Economic justification is generally the bottom-line consideration for most

    system, long-term corporate income strategies, impact on other profit centers or products,

    cost of the resources needed for development, and potential market growth. Especially in the

    present scenario, where the objective is towards compatibility, reduced cost is weighed

    against the ultimate income or benefit derived from the developed system.

    The expenditures must be justified. Thus the developed system as well within the

    budget and this has been achieved because most of the technologies used are freely available.

    Only the customized products had to be purchased.

    2.3.2 Operational Feasibility

    The study is made to know whether the proposed system is operationally feasible

    or not. When the highlight is made to this project, it will work very effective compared to the

    existing system. An estimate should be made to determine how much effort and care will go

    into the developing of the system including the training to be given to the user. Usually,

    people are reluctant to changes that come in their progression.

    In operational Feasibility there are two sessions one is practice and another is

    login session. In practice session, It targetsa string with at least ten characters will be used

    according to in the enrollment; ten samples were collected from each user.

    2.3.3 Technical Feasibility

    Technical feasibility is the need of hardware and software, which are needed to

    implement the proposed system in the organization. The system analyst has to check the

    technical feasibility of the proposed system. Taking account of the hardware, which is used

    for the system development, data storage, processing and output, makes the technical

    feasibility assessment. Technical requirements are to be fulfilled to make the proposed

    system work. The main consideration is to be given to the study of available resources of the

    organization where the software is to be implemented. The system analyst evaluates the

    technical merits of the system giving emphasis on the performance, reliability,

    maintainability and productivity.By taking the above consideration before developing the

  • 7/27/2019 Multi Purpose Editor

    13/25

    proposed system, the resource availability of the organization has been studied. The

    organization has immense computer facilities equipped with sophisticated machines and

    software.

  • 7/27/2019 Multi Purpose Editor

    14/25

    SYSTEM SPECIFICATION

    CHAPTER 3

    SYSTEM SPECIFICATION

    3.1 Hardware Specification

    This section gives specification of the hardware in which the system is expected to

    work.

    SYSTEM : COREI3 2.4GHz HARD DISK : 500GB MONITOR : 15.5 LED color MOUSE : AMKETTE RAM : 8 GB KEYBOARD : 110 Keys enhanced.

    3.2 Software Specification

    This section gives specification of the software in which the system is expected to

    work.

    Operating System Windows vista MYSQL Jdk 1.6.04 Turbo c3 Wamp Server 2.0a Microsoft .NET framework

  • 7/27/2019 Multi Purpose Editor

    15/25

    SOFTWARE DESCRIPTION

    CHAPTER 4

  • 7/27/2019 Multi Purpose Editor

    16/25

    SOFTWARE DESCRIPTION

    4.1 Front End

    LANGUAGE

    The language used in this project is JAVA/J2EE.

    JAVA:

    Java is the first programming language designed from ground up with network programming

    in mind. The core API for Java includes classes and interfaces that provide uniform access to

    a diverse set of network protocols. As the Internet and network

    Programming has evolved java has maintained its cadence. New APIs and toolkit have

    expanded the available options for the java network programmer.

    Java is both a programming language and an environment for executing programs written in

    java language. Unlike traditional compilers, which convert source code into machine level

    instructions, the java compiler translates java source code into instructions that are interpreted

    by the runtime Java Virtual Machine. So unlike language like C and C++, Java is an

    interpreted language

    Java Environment:

    The java environment is composed of several separate entities.

    Java Language:

    This is a language that follows object-oriented concept used to create executable contents

    such as applications and applets. But Java is not pure object oriented language, it does not

    support multiple inheritance & Operator overloading.

    Java Runtime Environment:

    The runtime environment used to execute the code. It is made up of the java language and

    java virtual machine. It is portable and it is platform neutral.

    Java tools:

    It is used by the developers to create java code. They include java compiler, java interpreter,

    classes, libraries and applet viewer.

    Java Application:

    Applications are programs written in java to carry out certain tasks on stand alone local

    computer. Execution of a stand-alone program involves two steps.

  • 7/27/2019 Multi Purpose Editor

    17/25

    1. Compiling the source code in to byte code using javac.

    2. Executing byte code program using java interpreter

    Java Applets:

    Java applets are pieces of java code that are embedded in HTML document using the applettag. When the browser encounters such code it automatically download it and execute it.

    Java Virtual Machine:

    It is a specification to which java codes must be written. All java code is to be compiled in

    this nonexistent virtual machine. Writing the code that compiles in JVM ensures platform

    independence.

    Advantages of Java

    Java is Robust:

    Robust programs are those reliable programs that are unlikely to fail even under the most

    unlikely conditions. Many languages like C do not have this feature because they are relaxed

    in terms of type checking in terms of programming errors. Java is strict about type declaration

    and does not allow automatic typecasting. Also it uses a pointer model that does not

    overwrite memory or corrupt data.

    Java is secure:

    Java allows creation of virus-free, tamper free systems to be created. It ensures security in the

    following ways.

    interpreter verifies all byte codes before executing.

    Because Java was written to support distributed applications over the computer networks, it

    can be used with a variety of CPU and operating system architectures. To achieve this goal a

    compiler was created that produces architecture-neutral object files from Java code.

    Java is Portable:

    Java byte code will be executed on any computer that has Java Runtime Environment. The

    portability is achieved in the following ways.

    explicitly specified.

  • 7/27/2019 Multi Purpose Editor

    18/25

    e

    environment is available.

    Java is small:

    Because java was designed to run on small computers, java system is relatively small for a

    programming language. It can run efficiently on PCs with 4MB RAM or more. The java

    interpreter takes up only a few hundred-kilo bytes.

    Java is garbage collected:

    Java programs dont have to worry about memory management. The java system has a built

    in program called the garbage collector, which scans the memory and automatically frees the

    memory chunks that are not in use.

    Java is dynamic:

    Fundamentally distributed computer environments must be dynamic. Java is capable of

    dynamic linking new libraries, methods and instance variables as it goes without breaking

    and without concern.

    Java Swing:

    The swing classes eliminate Javas biggest weakness: Its relatively primitive user interface

    toolkit. Swing provides many new components and containers that allow us to build

    sophisticated user interfaces, far beyond what was possible with AWT. The old components

    have been greatly improved, and there are manynew components, like trees, tables, and even

    text editors. It also adds several completely new features to Javas user interface capabilities:

    drag-and-drop, undo, and the ability to develop our own Look and Feel, or the ability to

    choose between several standard looks. The swing components are all lightweight, and

    therefore provide more uniform behavior across platforms, making it easier to test our

    software.

    Reason for Using Java:

    It is required to explore systems running different operating system. In order to do so, there

    should be some way to connect to bridge those operating systems so that all the differences

    between them are solved and the functionalities are achieved. Also the functions performed in

    one system should be able to transfer to another and the result should be able to reflect there

  • 7/27/2019 Multi Purpose Editor

    19/25

    properly. Java serves as a bridge between these Operating systems. Also java is widely

    considered to be the best in developing network applications.

    The communication happens between Java Virtual Machines running on the systems. When

    the client wants to perform the functionalities in another system and see the result, a method

    in the remote system is invoked from the client. The corresponding method in the remote

    system performs the job and sends the results to the client that is reflected in its interface.

    NETBEANS IDE

    The Net Beans Platform allows applications to be developed from a set of modular software

    components called modules. A module is a Java archive file that contains Java classes written

    to interact with the Net Beans Open APIs and a manifest file that identifies it as a module.

    4.2 Back End

    SQL SEVER

    SQL Server 2008 delivers several breakthrough capabilities that will enables the

    organization to scale database operations with confidence, improve IT and developer

    efficiency, and enable highly scalable and well managed Business Intelligence on a self-

    service basis for users.

    SQL Server 2008 is a powerful and reliable data management system that delivers a rich set

    of features, data protection, and performance for embedded application clients, light Web

    applications, and local data stores.

    SQL Server 2008 provides s the enterprise data management platform your organization

    needs to adopt quickly in a fast changing environment. With the lowest implementation and

    maintenance cost in the industry. SQL Server 2008 is a fully enterprise class data base

    product, providing core support for Extensible Markup Language and internet queries.

    SQL (Structured Query Language)

    SQL is used by for all interaction with the database. SQL*Plus is based on SQL,

    but it has some oracle specific features that can be used for writing reports and controlling the

    way screen and paper output is formatted the ANSI (American National Standard Institute for

    standards for Instructions for Information) defines the standards to the SQL query.

  • 7/27/2019 Multi Purpose Editor

    20/25

    The SQL is broadly classified into four categories.

    1.Data Definition Language (DDL).

    2.Data Manipulation Language (DML).

    3.Data Transaction Language (DTL).

    4.Data Control Language (DCL).

    Definition language

    Data Definition Language in the SQL construct used to define data in the database.When you

    define the data, the entries are made into Oracles data dictionary. DDL allows the

    programmer to create, modify and remove a database. The DDL commands are Create, Alter

    and Drop.

    Data Manipulation Language

    Data Manipulation Language is the SQL construct used to define data in the database.The

    DML allows the programmer to insert, update, delete, and select data in the database. The

    DML statements are SQL commands that allow users to manipulate the data in the database.

    Data Transaction Language

    Data Transaction Language is the AQL construct used the transactions. Common statements

    are commit and rollback.

    Data Control Language

    Data Control Language is the SQL construct used to control the behavior of the data.

    Common statements are grant and revoke

  • 7/27/2019 Multi Purpose Editor

    21/25

    PROJECT DESCRIPTION

  • 7/27/2019 Multi Purpose Editor

    22/25

    CHAPTER 5

    PROJECT DESCRIPTION

    5.1 Problem Definition

    The project entitled Multipurpose editor provides a user to create, edit and execute

    different programming languages in a single window. We can build and compile various

    programs in a single environment using IDE (Integrated Development Environment).

    5.2 Overview Of The Project

    5.3 Module Description

    The different modules contained in this project are

    Program creation

    Program compilation Program execution Database listing

    In the program creation module we create an editor window. This module includes

    cut, copy, paste and format. Here we can write a new program or open already existing

    program and further operations are done.

    In the program compilation module we convert our source code program to themachine readable format. Through the compilation process we can identify the syntactic

    errors and also we can rectify the errors.

    The third module is program execution module. After correcting all the errors in the

    program we can execute the program within a click of mouse. The output is displayed in the

    output window.

  • 7/27/2019 Multi Purpose Editor

    23/25

    The last module is database listing. In this module we can view the database. The

    query generation and execution are done in this module. When the query executed in the

    editor it is activated in the database engine.

    5.4System Flow DiagramA data flow diagram is graphical tool used to describe and analyze movement of data

    through a system. These are the central tool and the basis from which the other components

    are developed. The transformation of data from input to output, through processed, may be

    described logically and independently of physical components associated with the system.

    These are known as the logical data flow diagrams.

    The physical data flow diagrams show the actual implements and movement of data

    between people, departments and workstations. A full description of a system actually

    consists of a set of data flow diagrams. Using two familiar notations Yourdon, Gane and

    Sarson notation develops the data flow diagrams. Each component in a DFD is labeled with a

    descriptive name. Process is further identified with a number that will be used for

    identification purpose. The development of DFDs is done in several levels. Each process inlower level diagrams can be broken down into a more detailed DFD in the next level. The

    lop-level diagram is often called context diagram. It consists a single process bit, which plays

    vital role in studying the current system. The process in the context level diagram is

    exploded into other process at the first level DFD.The idea behind the explosion of a process

    into more process is that understanding at one level of detail is exploded into greater detail at

    the next level. This is done until further explosion is necessary and an adequate amount of

    detail is described for analyst to understand the process.Larry Constantine first developed the

    DFD as a way of expressing system requirements in a graphical from, this lead to the

    modular design.

    A DFD is also known as a bubble Chart has the purpose of clarifying system

    requirements and identifying major transformations that will become programs in system

    design. So it is the starting point of the design to the lowest level of detail. A DFD consists

    of a series of bubbles joined by data flows in the system.

    DFD SYMBOLS:

  • 7/27/2019 Multi Purpose Editor

    24/25

    In the DFD, there are four symbols

    1. A square defines a source(originator) or destination of system data

    2. An arrow identifies data flow. It is the pipeline through which the information flows

    A circle or a bubble represents a process that transforms incoming data flow into outgoing

    data flows.

    3. An open rectangle is a data store, data at rest or a temporary repository of data

    CONSTRUCTING A DFD:

    Several rules of thumb are used in drawing DFDs:

    1. Process should be named and numbered for an easy reference. Each name should berepresentative of the process.

    2. The direction of flow is from top to bottom and from left to right. Data Traditionally flowfrom source to the destination although they may flow back to the source. One way to

    indicate this is to draw long flow line back to a source. An alternative way is to repeat the

    source symbol as a destination. Since it is used more than once in the DFD it is marked

    with a short diagonal.

    3. When a process is exploded into lower level details, they are numbered.4. The names of data stores and destinations are written in capital letters. Process and

    dataflow names have the first letter of each work capitalized

  • 7/27/2019 Multi Purpose Editor

    25/25

    A DFD typically shows the minimum contents of data store. Each data store should

    contain all the data elements that flow in and out.Questionnaires should contain all the

    data elements that flow in and out. Missing interfaces redundancies and like is then

    accounted for often through interviews.

    5.5 DATABASE DESIGN

    To design an application it is necessary to design a database file. These files are called tables.

    After designing the output and input, tables must be organized according to the storage needs of the

    back end used.

    Normalization procedure is used to avoid duplication of data and to produce feasibility

    necessary to support different functional requirements. To achieve this system is passed through

    various normal forms such as first normal form, second normal form and third normal form.