Design Report on Editor Final

Embed Size (px)

Citation preview

  • 8/9/2019 Design Report on Editor Final

    1/49

    P

    0

    Multi-Language-Editor

    .for beginners

    AProject Report

    Submitted

    In partial fulfillment

    For the award of the Degree ofBachelors of Technology

    In Department of Computer ScienceEngineering

    Supervisor Submitted By:

    Ashish Vashistha Ankur Jain (C.S.)

    Lect. Of C.S. Dept. Mayank Goyal (C.S.)

    Pankaj Agrawal (C.S.)

    Ravi Vijayvargiya (C.S.)

    Department of Computer Science Engineering

    Institute of Engineering and Technology

    Alwar

    22, june 2010

  • 8/9/2019 Design Report on Editor Final

    2/49

    P

    0

    Candidates Declaration

    We hereby declare that the work, which is being presented in this report, entitled

    Multi-Language-Editor for beginners in partial fulfillment for the award of Degree

    of Bachelor of Technology in department of Computer Science Engineering,

    Institute of Engineering and Technology affiliated to, Rajasthan Technical University

    is a record of my own investigations carried under the Guidance of Shri Ashish

    Vashistha Department of Computer Science Engineering, IET Alwar.

    I have not submitted the matter presented in this report any where for the award

    of any other Degree.

    Submitted By:

    Ankur Jain (C.S.) 06EIACS015

    Mayank Goyal (C.S.) 06EIACS058

    Pankaj Agrawal (C.S.) 06EIACS075

    Ravi Vijayvargiya (C.S.) 06EIACS096

    Counter Signed by

    Name of Supervisor

    Ashish Vashistha

    Lect. Of C.S. Dept.

  • 8/9/2019 Design Report on Editor Final

    3/49

    P

    0

    Preface

  • 8/9/2019 Design Report on Editor Final

    4/49

    P

    0

    In the present scenario we have so many editors which support multi-languages

    like C, C++, JAVA, Pascal etc. Each editor has its own significance but we are going to

    develop an editor which is helpful for user and very easy to implement programs as

    compared to others editors.

    . There are so many editors which provide very advance features then why we are

    developing our editor? There are some important reasons behind it -

    At the low level of programming, user want to learn the basic programming

    languages(C, C++, and JAVA) and make some small levels programs and it is very hard

    to compile and run the code for him. In our editor we provide easy interface which can

    be easily understood by user without any help.

    We provide the all basic function as provided in the other editors and some other

    extra features which are helpful for programming point of view. We have some different

    features like mergers, splitter and time and date.

    So user can work in a notepad file or program file (as per user choice) at a single

    time and they can easily use this.

    Acknowledgement

  • 8/9/2019 Design Report on Editor Final

    5/49

    P

    0

    We are indebted to many people for the successful completion of this minor

    project. We have received the enormous help, guidance and advice from many people

    and we feel that it will not be right to mention a line about at least some of them. We are

    grateful to our college chairman Dr. V.K. Agrawal for providing us opportunity to study

    in this institution as well as providing us with all necessary facilities.

    Our principal Prof. G.K. Joshi has been source of inspiration to us in our work

    sincerely.

    We are really thankful to many of the people who really helped us to create our

    project. Our deepest thank to Mr. Ashish Vashistha the guide of our project for guiding

    and correcting various documents of us with attention, care and constantly encouraging

    us with their valuable suggestions and enthused thought us project work.

    We are highly indebted to our respected HOD Mr. Anoop Vashistha and Mr.

    Mohit Khandelwal and all faculty members of computer engineering department for

    their guidance and kind co-operations.

    A special mention needs to be made to our friends who have helped us with their

    valuable suggestions.

    Ankur Jain (C.S.)

    Mayank Goyal (C.S.)

    Pankaj Agrawal (C.S.)

    Ravi Vijayvargiya (C.S.)

  • 8/9/2019 Design Report on Editor Final

    6/49

  • 8/9/2019 Design Report on Editor Final

    7/49

    1. Introduction

    1.1 Background Study

    Before some time we were suffering with the problems of present Notepad and

    Editors for example-

    Microsoft Text Editor (Notepad): -In the present Microsoft Text pad Editor we

    are not able to save a file which is having the size more than 64 KB through the

    shortcut key. Sometimes this can happen with the file having the size justsmaller than 64 KB.

    So we are also building the same functions that are given in the Microsoft

    Text Editor like File, Edit etc. We will remove the restriction is in Notepad.

    Page 1

  • 8/9/2019 Design Report on Editor Final

    8/49

  • 8/9/2019 Design Report on Editor Final

    9/49

    In the output window there is no feature of auto hide because of providing the

    simplicity in the editor because its hard for the beginner to use such type of features. User

    can easily access this editor without any problem because all the features are provided as

    simple as possible.

    1.3 Overall Description

    It covers all the perspective about the product like what type of features we areproviding in the product, what hardware and software environment we are using, thehierarchy of the components and their interconnection. So it is divided into subcomponentswhich are explained below -

    1.3.1 Product Perspective

    In present scenario so many editors are available but we use a particular editor for a

    particular language at a small level. We cannot ignore those editors which support the

    multi languages but these editors are so complicated to understand for the beginner or

    fresher. So, we developed an editor which also supports the functionality and some extra

    features. In our software there are some other important features like merger, splitter, time

    and date etc.

    One more important thing about our project is that it require only small amount of

    memory where as other editor consume a lot of amount of memory. So it saves the

    memory and time for the other use. All the features are accessible easily by the users and

    beginners.

    The hierarchical structure of the editor is given below

    Hierarchical Structure:-

    Page 4

    System

    FileOperation

    ToolOperation

    FormatOperation

    EditOperation

    BuildOperation View

    Operation

  • 8/9/2019 Design Report on Editor Final

    10/49

    Fig 1: System Components and Subsystem interconnection

    Here in this diagram we described the major components of the multi-language

    editor in which the user will be facilitated to choose the required language editor. Here in

    this editor we have basically four menus in the menu bar. File menu contains the basic file

    operations like new, open, save, save as, and exit. Edit menu contains undo, redo, cut,

    copy, paste, delete, go to line number and select all features. The View menu contains

    show line no, find, find & replace and the time and date feature. Format menu contains

    word wrap and the font features. At last the Tool Menu contains the merger, splitter,

    compile and run tools.

    1.3.2 Product Features

    At first we will provide the facility to the user whether he wants to access the

    Notepad or any language Editor as per his requirement.

    The main features which we are going to develop are:-

    Simple Editor: -Here we will provide simple features like File (new, open, save, save as,

    exit), Edit (cut, copy, paste, undo, redo, delete, go to line and select all), View (linenumber, find, find & replace), Format (word wrap, font).

    Language Editor: -In the language editor we will provide all the facility of simple editor as

    well as some special features like Tool (Merger, Splitter, Compile, Run) for all three

    languages.

    Page 5

    CompileOperation

    RunOperation

    MergerOperation

    SplitterOperation

  • 8/9/2019 Design Report on Editor Final

    11/49

    1.3.3 User Classes and Characteristics

    We have created different classes like Font, PopupListener, Find, Replace,

    UndoAction, RedoAction, FontSelector. The main class is Editor which is using the other

    classes. Font class is used for handling the font of the data. PopupListener class is created

    to show the popup window after write clicking on the main program window so the user can

    also perform the operations using the popup window. Find and Replace class are built to

    find the required text and to replace it with another text respectively. UndoAction and

    RedoAction classes are built to perform undo and the redo operation. So in the editor class

    we have described all the required data and the functions.

    All the functions are defined in the simple manner. We have also used many

    actionListeners so that required action can be performed.

    1.3.4 Operating Environment

    Developer Environment:-

    Hardware Platform

    Hard Disk : 80 GB

    RAM : 512 MB

    Visual Display Unit : Super VGA Monitor

    Keyboard : Standard 102 keys

    Mouse : Serial Mouse

    Software Platform

  • 8/9/2019 Design Report on Editor Final

    12/49

    Software Tools : JCreator, JDK, Turbo_C

    Operating System : Windows XP/Vista

    User Environment:-

    Hardware Platform

    Hard Disk : 20 GB

    RAM : 256 MB

    Visual Display Unit : Super VGA Monitor

    Keyboard : Standard 102 keys

    Mouse : Serial Mouse

    Software Platform

    Software Tools : JDK, Turbo_C

    Operating System : Windows XP/Vista

    1.3.5 Design and Implementation Constraints

    The multi-language editor which we will develop will support only C, C++, and JAVA

    language. It means user will only build the programs of only given languages. At a time the

    user will only be able to work in the one platform. We are using JDK version 1.6 for

    supporting our java programs. Here we require at least 80 GB of hard disk. We require at

    least 256MB RAM Our product can only support mostly all the versions of windows like

    Win 98, Win XP, Win Vista but it will not support the Linux operating system.

    1.3.6 User Documentation

    In this multi-language editor we will provide the basic help facility to the user. This

    help feature will contain the information related to the notepad like developer names,

    version number etc.

    Page 6

  • 8/9/2019 Design Report on Editor Final

    13/49

    1.3.7 Assumptions and Dependencies

    The software JDK (Java Development Toolkit) should be installed properly and its

    path (both user path and system path) must be set correctly. Our product will support only

    C, C++, and Java languages for the programmers. JVM (Java Virtual Machine) should be

    there in the users system. Our product is only for the beginners because it will have only

    the basic features which should be needed to compile and run the program. So our

    product totally depends upon the installation of all software tools and the provided

    hardware platform.

    1.4 Technology Used

    Here the technology is the technique which is used to build the applications.

    Technology has two types

    1 Hardware Technology

    2 Software Technology

    Hardware Technology means we are using any hardware device or any hardware

    supportable language but we dont require any hardware.

    In the Software Technology we are using the JAVA language. The reasons behind

    using the JAVA languages are A ) Portability -

    Java programs are portable across operating systems and hardwareenvironments.

    Portability is to your advantage because:

    You need only one version of your software to serve a broad market. You are no longer limited by your particular computer platform.

    Three features make Java String programs portable:

    1. The language. The Java language is completely specified; all data-typesizes and formats are defined as part of the language.

    2. The library. The Java class library is available on any machine with a Java

    runtime system, because a portable program is of no use if you cannot use the

    same class library on every platform.

    Page

  • 8/9/2019 Design Report on Editor Final

    14/49

    3. The byte code. The Java runtime system does not compile your sourcecode directly into machine language, an inflexible and nonportable

    representation of your program. Instead, Java programs are translated intomachine-independent byte code. The byte code is easily interpreted and

    therefore can be executed on any platform having a Java runtime system.

    B ) SecurityThe Java language is secure in that it is very difficult to write incorrect

    code or viruses that can corrupt/steal your data, or harm hardware such ashard disks.

    C )RobustnessThe Java language is robust. It has several features designed to avoid

    crashes during program execution, including: No pointer arithmetic

    Garbage collection--no bad addresses Array and string bounds checking

    No jumping to bad method addresses

    Java Program ExecutionThe Java byte-code compiler translates a Javasource file into machine independent byte code. The byte code for eachpublicly visible class is placed in a separate file, so that the Java runtime

    system can easily find it. So in this way we firstly create the class file after

    compiling the .java file and then after running it we get the final output.

    Java Program structure

    Public class ClassName

    {

    Arguments declarationpublic static void main(String args[])

    {System.out.println("hello");

    }

    }

    So that is the basic program structure in the java. For compiling the javaprogram we use the command

    Javac ClassName.javaFor running this program we use

    java ClassName

    So in this way the programs in the java are compiled and run.

  • 8/9/2019 Design Report on Editor Final

    15/49

    Swings

    Swing library is an official Java GUI toolkit released by Sun

    Microsystems. The Swing toolkit includes a rich set of components for building

    GUIs and adding interactivity to Java applications. Swing includes all thecomponents you would expect from a modern toolkit: table controls, listcontrols, tree controls, buttons, and labels.

    Swing is far from a simple component toolkit, however. It includes rich

    undo support, a highly customizable text package, integratedinternationalization and accessibility support. To truly leverage the cross-

    platform capabilities of the Java platform, Swing supports numerous look andfeels, including the ability to create your own look and feel. The ability to

    create a custom look and feel is made easier with Synth, a look and feel

    specifically designed to be customized. Swing wouldn't be a component toolkitwithout the basic user interface primitives such as drag and drop, event

    handling, customizable painting, and window management.

    The main characteristics of the Swing toolkit

    platform independent

    customizable

    extensible

    configurable

    lightweight

    we generally use the java.swing.* to use all the built in functions in the

    swings. We are also using the actionLiateners in the project.

    1.5 External Interface Requirements

    1.3.1 User Interfaces

  • 8/9/2019 Design Report on Editor Final

    16/49

    In our editorall the operations which a user can perform on the file are given. For example

    we have provided the look of two formats find and find & replace. So in the same way

    we will provide the other user interfaces.

    1.3.2 Hardware Interfaces

    External Hardware interface is an interface between software and system hardware.

    Here we require at least 20 GB of hard disk. We require at least 256MB RAM Our product

    can only support mostly all the versions of windows like Windows 98, Windows XP,

    Windows Vista but it will not support the Linux operating system. Here in our product we

    dont require any external hardware for interfacing purpose.

    1.3.3 Software Interfaces

    Software interface is the interface between the software part and the user. In our

    project we only require JDK version 1.6 for supporting the java programs. It provides us all

    the packages, in build functions, some of the classes. We also require the compilers of C

    and C++ languages.

    1.3.4 Communications Interfaces

    Communicational interface is used when we have to communicate with the user by

    using e-mail, web browser, network server communication protocol etc. For the

    communication purpose we generally require FTP, SMTP, HTTP protocols. But in our

    product there is no need of using these types of communication interfaces because our

    product doesnt support any type of communication among users.

    1.4 Other Nonfunctional Requirements

    1.4.1 Performance Requirements

    In identifying and quantifying performance requirements, it is important to identify

    the reasoning behind a particular requirement. This is part of the general capacity planning

    Page 8

  • 8/9/2019 Design Report on Editor Final

    17/49

    process. Users might be basing their statements of requirements on assumptions about

    the logic of the program that do not match the programmer's assumptions .

    The size and timing of maximum-throughput periods.

    The response time that is minimally acceptable the rest of the time. A longer

    response time can cause users to think the system is down. You also need to

    specify rest of the time; for example, the peak minute of a day, 1 percent of

    interactions. Response time degradations can be more costly or painful at a

    particular time of the day.

    1.4.2 Safety Requirements

    Our product will be safe as per the user perspective. Whatever the operations theuser wants to perform on the files by using our product, will be performed safely. Our

    product will work properly after the proper installation. It will not be harmful for the

    operating system or any other software.

    1.4.3 Security Requirements

    Our product will perform all the operations which we will implement on it as per the

    requirement of the user. It will be secure product for the user like a user wants to perform

    the editing on the file, then he/she can edit the file and after this if he wants to save the

    file then after clicking on save part the file will be saved in his/her storage device. So in

    this way all the operations will be performed accurately on the file.

    1.4.4 Software Quality Attributes

    If we see the quality of our product then it will provide the sufficient knowledge

    about our editor to the user. It will be having the adoptability feature which will adopt the

    other new features that can be suggested by the user.

    Our product will be flexible enough which can be edited as per the new user

    requirement. It will be a portable product. It will be compatible with the other software

    quality attributes like reliability etc.

    Page 9

  • 8/9/2019 Design Report on Editor Final

    18/49

  • 8/9/2019 Design Report on Editor Final

    19/49

    with the Windows XP and Vista operating system which supports the JVM. These

    resources are easily available to the user.

    2.3 Design Methodology

    Fig 2: Incremental Model

    Incremental model was given by MILLS whose approach was based on linear

    sequential steps strategy (followed one by one) with the repetitive based technique. The

    basic idea under its development is that the software should be developed in increments,

    each increment will add some another function in our software. In this model we divide

    overall software into number of functions which it will perform. Then on each increment

    step we build one function and after creating each function we will test it to check its

    functionality.

    Page 11

  • 8/9/2019 Design Report on Editor Final

    20/49

    This model contains following phases

    1. Analysis In this phase first of all the communication takes place between the

    customer and the developer. After getting all the requirements the SRS (software

    requirement specification) is created. This will work as the interface between the

    customer and the developer.

    2. Design design phase contains two states. The first one is the system design we

    creates the modules related to the function and in the detailed design phase we

    develop the logic of that function. So here we just develop the different types of

    models which represent the data flow like data flow diagram, architectural diagram

    etc. So that it will be easy for the implementer to understand and generate the code.

    3. Code - In the code part firstly the coder choose the programming language

    according to the requirement of the user. Then he builds the code of the each

    module separately from the module. He creates the proper front end GUI and backend.

    4. Test In the testing phase we test our module by applying different testing

    techniques like unit testing, integration testing, assurance testing. We apply various

    test cases on the module. So we can remove the errors and make our software

    reliable. We can make our product simpler

    We divide overall process into the increments. The process of first increment will

    quickly release some type of product. This first increment is called as core product. Once

    one increment is completed and delivered, customer can put it into the operational later

    versions of the current increment environment, they can test it practically to help to clarify

    their requirements for later increment.

    Page 12

  • 8/9/2019 Design Report on Editor Final

    21/49

    Advantages of Incremental model

    Less human resource

    Manage technologies

    Customer experience

    Systematic approach

    More flexible

    Easy to test and debug during iteration

    Easy to manage risk because risky pieces are identified and handled during each

    iteration

    2.4 Risk and Volatile areas

    Risk is the possibility that the defined, goal are not met. Risk involves change, such

    as in changes of mind, opinion, action.

    In our project risk can be of various types like our product will not work properly if

    the required software will not get installed, user should have the proper resources. If user

    uses the programming languages other than C, C++, Java then he might get any type of

    problem.

    Page 13

  • 8/9/2019 Design Report on Editor Final

    22/49

    2.5 Architecture

    The top level design view is shown here in which a user can user in four ways. He

    can use it as a simple Notepad Editor or as a C language Editor, as a C++ language

    Editor, as a Java language Editor. In the detailed design we will split the product according

    to the two users, one for the Notepad user and for Language Programmers.

    Fig 3: Top Level Architecture

    Multilanguage Editor

    As C

    EditorAs C++

    Editor

    As JAVA

    Editor

    As

    Notepad

    Page 14

  • 8/9/2019 Design Report on Editor Final

    23/49

    2.5.1 Overview

    Fig 4: Architecture Diagram

    Here the detailed diagram is shown which shows thee interaction of a user with our

    Multi-Language Editor. This is very user friendly. A new programmer can use this very

    easily. Here we will provide a GUI (graphical user interface) by using which a user can

    perform the operations according to his requirement. We have divided the operations in

    two parts first one is Basic Operations which includes the file insertion, opening, saving,

    closing and second one is Build which includes the Check Code, Compile and Run

    functions through which programmer can compile and get the errors if they occur else after

    running the program he will get the output.

    Page 15

  • 8/9/2019 Design Report on Editor Final

    24/49

    2.5.2 Module 1 N

    Here the DFD (Data Flow Diagrams) are shown which shows the components of

    our Multi-Language Editor. From here we can understand the components and the flow.

    0 LEVEL DFD:-

    Fig 5.1: 0-Level DFD for Multi-Language Editor

    Page 16

  • 8/9/2019 Design Report on Editor Final

    25/49

    1-LEVEL DFD:-

    Fig 5.2: 1-Level DFD for Multi-Language Editor

    Page 17

  • 8/9/2019 Design Report on Editor Final

    26/49

    2-LEVEL DFD:-

    1.2.1

    FindProcess

    1.2.2

    Find &Replace

    1.4.3

    RunProcess

    1.4.1

    CheckCode

    1.2.3

    Cut/Copy/Paste

    1.4.2

    CompileProcess

    Notepad User

    Programmer

    ProgramOutput

    Mark Position (if required)

    Find (if requied)

    Suggested Keywords

    Errors (if any)

    Edi t File

    Replace theWords

    Run theProgram

    Run Time ErrorsCheckCoding

    Compling theProgram

    Execution

    Mark Position (if required)

    Replace

    Find then Replace (if requied)

    Find (if requied)

    Get RequiredText

    Changed File

    No Error

    Compiled successfully

    Fig 5.3: 2-Level DFD for Multi-Language Editor

    Page 18

  • 8/9/2019 Design Report on Editor Final

    27/49

    Here in the 0 Level DFD the basic diagram of the entity and process is shown which

    shows that Notepad user and Programmer both can use our product and will get the output

    according to the performed operations. In 1 Level DFD the functions are shown which will

    be provided in our product. User can perform File and Edit operations on the file and will

    get the output according to the performed operations and the programmer can compile the

    program file if error occurs then he will get an error message and id program has no error

    then we will get the program output after running the program.

    2 Level DFD provided the sub functions of the Edit function. After creating or

    opening the file user can find any word and he can also replace that word by any other

    word if he wants. The build function also divided into three sub functions and these are

    Check Code, Compile and Run. User can compile his program directly or after performing

    the Check Code operation, if any error occurs then error message will be shown to the

    user and after correcting the errors he will get the required output after performing the run

    operation.

    2.5.3 Strategy 1N

    The Methodology we have used

    Incremental model: -This is based on linear sequential steps strategy with the repetitive

    based technique. The basic idea under its development is that the software should be

    developed in increments, each increment will add some another function in our software.

    In this model we divide overall software into number of increments. Then on each

    increment step we build one function and after creating each function we will test it to

    check its functionality.

    This model contains following phases

    1. Analysis In this phase first of all the communication takes place between the

    customer and the developer. Then on the basis of the requirements we design the

    SRS (Software Required Specification).

    Page 19

  • 8/9/2019 Design Report on Editor Final

    28/49

    2. Design Design phase contains two states. The first one is the system design we

    creates the modules related to the function and in the detailed design phase we

    develop the logic of that function. So in this phase we create the DFD (Data Flow

    Diagrams) and other architectural diagram.

    3. Code - In the code part firstly the coder choose the programming language

    according to the requirement of the user. Then he builds the code.

    4. Test In the testing phase we test our module by applying different testing

    techniques like unit testing, integration testing, assurance testing. We apply various

    test cases on the modules. So we can find the optimal way to build the product.

    We have used this methodology because

    This model is very easy to understand and implement.

    This model is flexible.

    We can find out the errors in our product during each iteration.

    Other Methodologies

    Water Fall Model: -This model is used where requirement are clearly defined. This model

    is specially used for the large products. This model is a sequential model. Its phases are

    Concept Formation

    Developing the software specifications

    Software Design

    Coding and Testing

    Software Integration and Testing

    Release and Maintenance

    Page 20

  • 8/9/2019 Design Report on Editor Final

    29/49

    The reason to refuse this model is that it is not the flexible model. We firstly have

    the over all requirements and it is quite difficult to mention the requirements at the

    beginning stage. This model is inflexible and very complex thats why we didnt select this.

    Spiral Model: -This model is the linear, sequential and step wise process model. This

    model is represented in the form of spiral where each spiral will connect with the other

    spiral to represent the various phases.

    There are four loops or spirals:

    Product Concept

    Product Development

    Product Testing

    Product Maintenance

    Each spiral will be divided into six task regions given below

    Customer Evolution

    Planning

    Risk Analysis

    Engineering

    Construction and Delivery

    Customer Evolution

    The reason to refuse this methodology is that this model has very low speed so it

    cant be used so frequently. This approach requires a risk analyst or expert to the risks

    properly. If risks are not handled initially then they may arise at any time in later stages.

    This is very complex model because we have four spirals and in each spiral we have to

    follow six phases. So we didnt use it.

    Page 21

  • 8/9/2019 Design Report on Editor Final

    30/49

    2.6 UML diagrams

    Diagrams are the graphical representation of a set of elements. UML defines a

    number of diagrams so that we can focus on different aspects of the system

    independently. We create the class diagrams which includes the attributes and behavior.

    So we create UML diagrams to achieve any combination of elements in the same diagram.

    So we are creating some of the diagrams so that we can easily understand the

    architecture of our product. These are

    1. Use Case Diagram: -Use case diagrams model the dynamic aspect of a system. A

    use case diagram depicts :

    Basic Use case Diagram

    Use cases

    Actors

    Page 22

  • 8/9/2019 Design Report on Editor Final

    31/49

    Basic Use Case Diagram: -

    Fig 6 : Basic Use Case Diagram

    Page 23

  • 8/9/2019 Design Report on Editor Final

    32/49

    Use case diagram for notepad user: -

    Fig 6.1 : Use Case Diagram of Function of Notepad User

    Page 24

  • 8/9/2019 Design Report on Editor Final

    33/49

    Use case diagram for Programmer: -

    Fig 6.2 : Use Case Diagram of Function of Programmer

    Page 25

  • 8/9/2019 Design Report on Editor Final

    34/49

    2. Sequence Diagram: - Sequence diagrams and collaboration diagrams are

    basically the interaction diagrams.

    Interaction diagrams show an interaction, consisting of a set of

    objects and their relationships including the messages that may be dispatch

    among them.

    Sequence diagram of notepad user:

    Fig 7.1 : Sequence Diagram for Notepad User

    Page 26

  • 8/9/2019 Design Report on Editor Final

    35/49

    Sequence diagram of Programmer:

    Fig 7.2 : Sequence Diagram for Programmer User

    Page 27

  • 8/9/2019 Design Report on Editor Final

    36/49

    3. State chart diagram:- State chart diagram as well as activity diagram are

    instrumental in modling the lifetime of an object. They model the dynamic aspect of

    a system and activity diagram is a special case of state chart diagram in which all of

    the states or most of the states are activity states. A state chart diagram show a

    state machine.

    Fig 8 : State Chart Diagram for Multi-Language Editor

    Page 28

    Page 29

  • 8/9/2019 Design Report on Editor Final

    37/49

    3 . Coding

    3. User Interface Design

    Here we are going to develop the user interactive environment. These are -

    3.1 Application Controls & Screen 1N: -

    Here we are showing the user interface of our Editor on which the user can perform

    the given operations

    FILE MENU:-

  • 8/9/2019 Design Report on Editor Final

    38/49

    .

    Fig 9.1: GUI of FILE MENU

    Here the File Menu is shown in the screen which will support the features of New,

    Open, Save, Save as, Print, and Exit. User can perform these operations on the file

    through File Menu after clicking on the particular item. We have also designed their short

    cut keys.

    Page 30

  • 8/9/2019 Design Report on Editor Final

    39/49

    E D I T M E NU: -

    Fig 9.2: GUI of EDIT MENU

  • 8/9/2019 Design Report on Editor Final

    40/49

    Here the Edit Menu is shown in the screen. User can perform the Undo, Redo, cut,

    copy, paste, Delete in one part, File, File Next, Replace, Go To in second part, Select All,

    Time/Date in last part. Here we have created the short cut keys of cut, copy, paste and

    Select All operations.

    FORMAT MENU:-

    Page 31

  • 8/9/2019 Design Report on Editor Final

    41/49

    Fig 9.3: GUI of FORMAT MENU

    Fig 9.3.1: GUI of FONT SELECTOR

    In the Format Menu we have developed two operations Word Wrap and Font. In

    the Font Selector we can select the user specific font, font size and Style. On the same

    time it will show the preview of Font.

    Page 32

  • 8/9/2019 Design Report on Editor Final

    42/49

    VIEW MENU: -

    Fig 9.5: GUI of VIEW MENU

    Here the View Menu is shown where user can show the status bar and if he can

    arrange the code by providing the line number to each line.

  • 8/9/2019 Design Report on Editor Final

    43/49

    T O O L M E N U : -

    Fig 9.4: GUI of TOOL MENU

    Page 33

  • 8/9/2019 Design Report on Editor Final

    44/49

  • 8/9/2019 Design Report on Editor Final

    45/49

    Fig 9.4.1: GUI of MERGER

    Here TOOL MENU is shown here user can merge the files and splits the file

    according to his requirement. As the merge Function is shown user can merge the file.

    First of all he has to give the number of files to be merged then he will select the files from

    the dialogue box then finally all the files will be merged.

    Fig 9.4.2: GUI of SPLITTER

    In the splitter we will select the file from the dialogue box then this file will be broken

    up into the number of files. The file will be divided into many files on the basis of number ofclasses in the file which is to be divided. So in this way we can perform split function .

    Mer er

    Page 34

  • 8/9/2019 Design Report on Editor Final

    46/49

    Fig 9.5: GUI of FORMAT MENU

    Page 35

  • 8/9/2019 Design Report on Editor Final

    47/49

  • 8/9/2019 Design Report on Editor Final

    48/49

    Appendix A: Glossary

    SRS:Software Requirement Specification

    DFD: Data Flow Diagram

    UML:Unified Modeling Language

    Actor: Actor whose goal is being satisfied the use case and has the primary interest in the

    outcome the use case.

    Entity: Which specify distinct real world items in the application

    Page 36

  • 8/9/2019 Design Report on Editor Final

    49/49

    Appendix B: References

    www.roseindia.net/

    http://java.sun.com/docs

    www.jcreator.com

    Software Studied

    Notepad++

    NetBeans

    JCreator

    JEdit

    Microsoft Textpad

    Complete Reference

    Herbert Schildt

    TMH Publication

    Page 37

    http://www.roseindia.net/http://www.roseindia.net/http://java.sun.com/docs/http://www.jcreator.com/http://www.roseindia.net/http://java.sun.com/docs/http://www.jcreator.com/