vocational project report (1)

Upload: brang123

Post on 02-Jun-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/10/2019 Vocational Project Report (1)

    1/33

  • 8/10/2019 Vocational Project Report (1)

    2/33

  • 8/10/2019 Vocational Project Report (1)

    3/33

    Industrial training report 2013

    3

    ACKNOWLEDMENT

    On every step there is need of proper guidance, support & motivation . The encouragement

    enables the person to give his best performance & thus to achieve his goal.

    A special word of thanks for persons who have been of great help during the development of

    this project LEMPEL-ZIV-WELCH.

    We feel honored to express our sincere gratitude to Er. Rohit Handa Project Guide at School

    Of Engineering and Emerging Technologies, Baddi whose guidance and keen interest gave the

    manuscript its present shape.

    We extend our regards to entire faculty of the C.S.E at SCHOOL OF ENGINEERING AND

    EMERGING TECHNOLOGIES from where we have learnt the basics of C.S.E and whose

    informal discussions and able guidance was the light for us in the entire duration of this work.

    We express our deep sense of gratitude to our parents and thank all our friends for their constant

    help during our study.

  • 8/10/2019 Vocational Project Report (1)

    4/33

  • 8/10/2019 Vocational Project Report (1)

    5/33

    Industrial training report 2013

    5

    1. Classes: By using classes we can create user defined data types. In other words the class

    is the collection of set of data and code. The class allows us to do some things which are

    polymorphism, inheritance, abstraction, encapsulation which are our next features. The

    objects are the instances of classes.

    The syntax for class is :

    Class

    {

    //Body of class;

    };

    2. Data Abstraction and Encapsulation: Encapsulation means hiding of data from the data

    structures or in other words wrapping up of data in single entity is known as

    Encapsulation. In this the data is not accessible to outside world and only the functions

    are allowed to access it. When we want to write the class in which we dont have the

    knowledge about the arguments used to instantiate it then we can use templates in C++.

    Abstraction can be defined as the act of representing essential features without including

    background details.

    3. Polymorphism: it means that the one interface can be used for many implementation so

    that object can behave differently for each implementation. The different types of

    polymorphism are static (Compile time) and dynamic (Run time).

    4. Dynamic Binding: It means that the linking of a procedure call to code to be executed in

    response to the call. A function call associated with a polymorphic reference depends on

  • 8/10/2019 Vocational Project Report (1)

    6/33

    Industrial training report 2013

    6

    the dynamic type that reference. And at run-time the code matching the object under

    current reference will be called.

    5. Message Passing: An object oriented program consists of the set of objects that

    communicate with each other. objects communicate with one another by sending andreceiving information much the same way as people pass messages to one another. The

    concept of message passing makes it easier to direct model or simulate their real world

    counterparts.

    6. Inheritance: Inheritance allows one data type to acquire properties of other data types.

    Inheritance from a base class may be declared as public, protected, or private. If the

    access specifier is omitted, a class inherits privately, while a struct inherits publicly.

    This provides the idea of reusability that means we can add the new features to an

    existing class without modifying it.

    INTRODUCTION TO DATA COMPRESSION

    compression the need of the day, may it be multimedia applications, transmission applications or

    for that other application all need data to be stored in a compact way for minimum cost of

    storage and transmission. There are a large number of compression techniques available which

    are capable of application specific to large compression ratios. Here we limit our scope to the

    LZW algorithm, which can be considered as the industry standard for the loss less data

    compression.

    What is 'compression'?

    Data compression is the removal of redundant data this therefore, reduces the number of binary

    bits necessary to represent the information contained with in that data. to achieve the best

    possible compression requires not only an understanding of the nature of data in its binary

    representation but also how we as humans interpret the information that the data represents.

    So why is it necessary?

    "Compression is the key to the future expansion of the web; it's certainly the key to emerging

    multimedia and 3-d technology."( brown, Honeycutt,etal 1998) although we currently exist in a

    world of rapidly expanding computing and communication capabilities, with the increase in

    computer awareness and, in particular, multimedia, the demand for computer systems and their

    application to meet people's needs is also rising. Since every bit incurs a cost when being

    transmitted or stored, any technology that can be introduced into our existing systems that can be

    introduced into our existing systems that can reduce these costs is essential. When considering

  • 8/10/2019 Vocational Project Report (1)

    7/33

    Industrial training report 2013

    7

    raw data that may contain over50% redundancy, it raises the question- why pay for that

    redundant information?

    INTRODUCTION TO ENCRYPTION

    In cryptography, encryption is the process of encoding messages (or information) in such a way that

    third parties cannot read it, but only authorized parties can. Encryption doesn't prevent hacking but it

    prevents the hacker from reading the data that is encrypted. In an encryption scheme, the message or

    information (referred to as plaintext) is encrypted using an encryption algorithm, turning it into an

    unreadable cipher text (ibid.). This is usually done with the use of an encryption key, which specifies how

    the message is to be encoded. Any adversary that can see the cipher text should not be able to

    determine anything about the original message. An authorized party, however, is able to decode the

    cipher text using a decryptionalgorithm that usually requires a secret decryption key that adversaries do

    not have access to. For technical reasons, an encryption scheme usually needs a key-generation

    algorithm to randomly produce keys.

    SO LWZ IS A TECHNIQUE IN WHICH BOTH ENCRYPTION AND COMPRESSION IS

    USED

    LempelZivWelch(LZW) INTRODUCTION

    LempelZivWelch(LZW) is a universal lossless data compression algorithm createdbyAbraham Lempel,Jacob Ziv, andTerry Welch. It was published by Welch in 1984 as an

    improved implementation of the LZ78 algorithm published by Lempel and Ziv in 1978. Thealgorithm is simple to implement, and has the potential for very high throughput in hardware

    implementations. It was the algorithm of the widely used UNIX file compression

    utility compress, and is used in the GIF image format .

    1.1 Overview of Project

    This project (LZW) performs a complete application of modest size that uses MS Visual C++.

    with .Net framework. Lempel-Ziv-Welch (LZW) is a universal lossless data compressionalgorithm created by Abraham Lempel, Jacob Ziv, and Terry Welch. It was published by Welch in

    1984 as an improved implementation of the LZ78 algorithm published by Lempel and Ziv in 1978.The algorithm is designed to be fast to implement but is not usually optimal because it performs only

    limited analysis of the data. The first compression algorithm to be described was LZ77.The twodifferent types of compression loss & lossless differs in one respect: Loss compression accepts aslight compression of data to achieve compression. Loss compression is done on analog data stored

    http://en.wikipedia.org/wiki/Abraham_Lempelhttp://en.wikipedia.org/wiki/Abraham_Lempelhttp://en.wikipedia.org/wiki/Abraham_Lempelhttp://en.wikipedia.org/wiki/Jacob_Zivhttp://en.wikipedia.org/wiki/Jacob_Zivhttp://en.wikipedia.org/wiki/Jacob_Zivhttp://en.wikipedia.org/wiki/Terry_Welchhttp://en.wikipedia.org/wiki/Terry_Welchhttp://en.wikipedia.org/wiki/Terry_Welchhttp://en.wikipedia.org/wiki/Terry_Welchhttp://en.wikipedia.org/wiki/Jacob_Zivhttp://en.wikipedia.org/wiki/Abraham_Lempel
  • 8/10/2019 Vocational Project Report (1)

    8/33

    Industrial training report 2013

    8

    digitally, with primary applications being graphics and sound files.

    As Data Compression seeks to reduce the number of bits used to store or transmit information. It

    encompasses a wide variety of software and hardware compression techniques. Data

    compression consists of taking a stream of symbols and transforming them into codes. For

    effective compression, the resultant stream of codes will be smaller than than the originalsymbol. Data compression is often referred to as coding, where coding is general term showing

    any special representation of data which satisfies a given need. Information theory is defined asthe study of efficient coding. Data compression may be viewed as a branch of information theory

    in which the primary objective is to minimize the amount of data to be transmitted. Data

    compression has an important role in the area of transmission and storage. It plays a key role ininformation technology. The reduction of redundancies in data representation in order to

    decrease data storage requirement is defined as data compression. It used less usage of resources

    such as memory space or transmission capacity. Data compression is classified as lossless and

    loss compression. Lossless compression is used for text and loss compression for image.

    Here the problem is that it uses an integral number of bits & also, one must have the prior

    information of probabilities. The problem of statistical model is solved by using adaptive dictionary.

  • 8/10/2019 Vocational Project Report (1)

    9/33

    Industrial training report 2013

    9

    1.2 OBJECTIVES

    Making A user-Friendly System: The proposed system aims at providing a user-friendly system which helps the user to easily browse the website. The new software

    provides easy to use windows graphical user interface with various options providing the

    options for compression and decompression.

    More reliability: The proposal system, it aims at providing more reliability of data. It issomewhat time consuming process. User can get the entire output file in the specifiedlocation.

    Reduce The Cost of Maintaining The System: The proposed system aims at reducingthe cost of maintenance of the system as information related to various aspects is stored

    on just one system.

  • 8/10/2019 Vocational Project Report (1)

    10/33

    Industrial training report 2013

    10

    Chapter 2

    System Analysis

    FEASIBILITY STUDY

    Feasibility study describes and evaluates candidate systems and provides for theselection of the best candidate system that meets the system performance

    requirements. Three key considerations are involved in the feasibility analysis:

    1. Economic feasibility2. Technical feasibility3. Behavioral feasibility

    1. Economic Feasibility

    Economic feasibility determines the benefits and saving that are expected from thesystem and compare them with costs. Cost/Benefit analysis has been done on the

    basis of total cost of the system and direct and indirect benefits derived from thesystem. The total cost for the proposed system comprises of hardware costs and

    software costs. The main aim of economic feasibility is to check whether the

    system is financially affordable or not.

    2. Technical Feasibility

    Technical Feasibility centers on the existing system and to what extent it cansupport the proposed system. In this part of feasibility analysis we determined the

    technical possibilities for the implementation of the system. Two major benefits

    are:

    Improving the performance

    Minimizing the cost of processing

    3. Behavioral Feasibility:

    Behavioral feasibility estimates the reaction of the User staff towards the

    development of the computerized system. For the successful implementation ofany system, the users must be impressed that the new system is for his benefit.

    So, the behavioral feasibility plays a very important role in the development ofnew system It reveals that whether the system is acceptable by user or not. If

  • 8/10/2019 Vocational Project Report (1)

    11/33

    Industrial training report 2013

    11

    the user does not ready to use it, then it doesnt matter how best the system is or

    how much effort you are putting in its development.

    2.2 SOFTWARE REQUIREMENT SPECIFICATIONS (SRS)

    Main objective of the LZW is a computer program dedicated to the task ofcompressing and decompressing files for storage. It performs the task of

    encryption and decompression in it also.

    A Softwarerequirements specification for a software system - is a complete

    description of the behavior of a system to be developed. It includes a set of usecases that describe all the interactions the users will have with the software. Use

    cases are also known as functional requirements. In addition to use cases, the SRSalso contains non-functional (or supplementary) requirements. Non-functional

    requirements are requirements which impose constraints on the design orimplementation (such as performance engineering requirements, quality standards,

    or design constraints).

    The most general organization of an SRS is as follow:-

    Introduction

    Purpose

    Scope

    Definitions

    System Overview

    References

    Overall Description

    Product Perspective

    Product Functions

    User Characteristics

    Constraints, Assumptions and Dependencies

    Specific Requirements

  • 8/10/2019 Vocational Project Report (1)

    12/33

    Industrial training report 2013

    12

    External interfaces

    Functions

    Performance requirements

    Design constraints

    2.3 SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

    A software development process model is a description of the work practices,

    tools and techniques used to develop software. Software models serve asstandards as well provide guidelines while developing software. It is

    beneficial to one or more software development model while developingsoftware

    1) ITERATIVE AND INCREMENTAL DEVELOPMENT:

    Iterative and Incremental development is at the heart of a cyclic software

    development process developed in response to the weaknesses of the waterfallmodel. It starts with an initial planning and ends with deployment with the cyclic

    interactions in between. Iterative and incremental developments are essential partsof the Rational Unified Process, Extreme Programming and generally the

    various agile software development frameworks.

    It follows a similar process to the plan-do-check-act cycle of businessprocess improvement.

    A common mistake is to consider "iterative" and "incremental" assynonyms, which they are not. In software/systems development, however, they

    typically go hand in hand. The basic idea is to develop a system through repeated

    cycles (iterative) and in smaller portions at a time (incremental), allowing software

    developers to take advantage of what was learned during development of earlierparts or versions of the system. Learning comes from both the development and

    use of the system, where possible key steps in the process start with a simple

    implementation of a subset of the software requirements and iteratively enhancethe evolving versions until the full system is implemented. At each iteration,design modifications are made and new functional capabilities are added.

    The procedure itself consists of the initialization step, the iteration step,and the Project Control List. The initialization step creates a base version of the

    system. The goal for this initial implementation is to create a product to which theuser can react. It should offer a sampling of the key aspects of the problem and

  • 8/10/2019 Vocational Project Report (1)

    13/33

    Industrial training report 2013

    13

    provide a solution that is simple enough to understand and implement easily. To

    guide the iteration process, a project control list is created that contains a record ofall tasks that need to be performed. It includes such items as new features to be

    implemented and areas of redesign of the existing solution. The control list is

    constantly being revised as a result of the analysis phase.

    The iteration involves the redesign and implementation of a task from the

    project control list, and the analysis of the current version of the system. The goal

    for the design and implementation of any iteration is to be simple, straightforward,and modular, supporting redesign at that stage or as a task added to the project

    control list.

    The level of design detail is not dictated by the interactive approach. In a

    light-weight iterative project the code may represent the major sourceof documentation of the system; however, in a critical iterative project a

    formal Software Design Document may be used. The analysis of iteration is basedupon user feedback, and the program analysis facilities available. It involves

    analysis of the structure, modularity, usability, reliability, efficiency, &achievement of goals. The project control list is modified in light of the analysis

    results.

    Phases:

    Incremental development slices the system functionality into increments (portions).

    In each increment, a slice of functionality is delivered through cross-disciplinework, from the requirements to the deployment. The unified process groups

    increments/iterations into phases: inception, elaboration, construction, andtransition.

    Inception identifies project scope, risks, and requirements (functional and

    non-functional) at a high level but in enough detail that work can be

    estimated.

    Elaboration delivers a working architecture that mitigates the top risks andfulfills the non-functional requirements.

    Construction incrementally fills-in the architecture with production-ready

    code produced from analysis, design, implementation, and testing of thefunctional requirements.

    Transition delivers the system into the production operating environment.

  • 8/10/2019 Vocational Project Report (1)

    14/33

    Industrial training report 2013

    14

    Fig 2.2 Iterative Waterfall Model.

    Functional Requirement:a) Compression and Encryption:

    Description: To take an input texts file and then compress itInput: An text file.

    Output: Compressed & encrypted file and dictionary file.

    b)Decompression & Decryption:Description: To take the compressed file and dictionary file as input and thedecompressed it.Input: Compressed file & dictionary file.

    Output: Decompressed file at specified location.

    .

    2.1 TECHNOLOGICAL REQUIREMENTS OF SOFTWAREAs per the study conducted the requested hardware technology and software required to execute

    the project is readily available in the market. The project is primarily a data or file based

    application, which require standard pc and does not require specific hardware. The application

    will be developed in Visual Basic C++ as front end and back end.

  • 8/10/2019 Vocational Project Report (1)

    15/33

    Industrial training report 2013

    15

    2.2 HARDWARE&SOFTWARE REQUIREMENTS OF SOFTWAREHardware requirements of software are very affordable. The software is so user friendly that it

    can run on a personal computer with medium configuration.

    The various system requirements for installing LempelZivWelch (LZW) universal losslessdata compression algorithm application in the system are:-

    LZW for Windows

    XP/Vista/Windows 7 (64-bit compatible)

    800X600 minimum monitor resolution

    Internet connection or CD-ROM drive (for installation)

    Minimum 512MB RAM recommended

    180MB hard drive space required

  • 8/10/2019 Vocational Project Report (1)

    16/33

    Industrial training report 2013

    16

    Chapter 3

    System Design

    After maintaining the SRS document Design phase begins.The activities carried out during design phase transform the SRS document into the design

    document.

    Fig4.1 The design process transform the SRS document into a design document

    There are two approaches in software design named- Function oriented software Design andObject oriented software design approaches.

    We followed Function oriented software design.Function Oriented Software Design:

    It is further broken down into smaller functions. In this approach the problem is considered asfunction

    The term top-down decomposition is often used to denote the successive decomposition of a set

    of high level functions into more detailed functions.

  • 8/10/2019 Vocational Project Report (1)

    17/33

    Industrial training report 2013

    17

    3.1 Flow Charts:3.1.1Compression Diagram:

    .

    Fig. Compression of Data

  • 8/10/2019 Vocational Project Report (1)

    18/33

    Industrial training report 2013

    18

    3.1.2Decompression Diagram:

    Fig. Decompression of Data

  • 8/10/2019 Vocational Project Report (1)

    19/33

    Industrial training report 2013

    19

    3.2 Data Flow Diagram

    Explained below is all the Data Flow Diagrams for understanding the overall picture of data flowin the progam:-

    Flag=1

    Flag=0

    START

    OPEN A FILE

    Input data a file

    Compare

    words

    Take initial index

    Write into file

    Show Output

    Increment int value

    Write Into File

  • 8/10/2019 Vocational Project Report (1)

    20/33

    Industrial training report 2013

    20

    Chapter 4

    4.1. TESTING

    Software testing

    Software testing is the process used to measure the quality of developed computer

    software. Usually, quality is constrained to such topics as correctness,

    completeness, security, but can also include more technical requirements as

    described under the ISO standard ISO 9126, such as capability, reliability,

    efficiency, portability, maintainability, compatibility, and usability. Testing is a

    process of technical investigation, performed on behalf of stakeholders, that is

    intended to reveal quality-related information about the product with respect to the

    context in which it is intended to operate.

    White box, black box, and grey box testing

    STOP

  • 8/10/2019 Vocational Project Report (1)

    21/33

    Industrial training report 2013

    21

    White box and black box testing are terms used to describe the point of view that

    a test engineer takes when designing test cases. Black box testing treats thesoftware as a black-box without any understanding as to how the internals behave.

    Thus, the tester inputs data and only sees the output from the test object. This level

    of testing usually requires thorough test cases to be provided to the tester who thencan simply verify that for a given input, the output value (or behavior), is the sameas the expected value specified in the test case.

    White box testing, however, is when the tester has access to the internal data

    structures, code, and algorithms. For this reason, unit testing and debugging can be

    classified as white-box testing and it usually requires writing code, or at a

    minimum, stepping through it, and thus requires more skill than the black-boxtester. If the software in test is an interface or API of any sort, white-box testing isalmost always required.

    In recent years the term grey box testing has come into common usage. Thisinvolves having access to internal data structures and algorithms for purposes of

    designing the test cases, but testing at the user, or black-box level. Manipulatinginput data and formatting output do not qualify as grey-box because the input and

    output are clearly outside of the black-box we are calling the software under test.

    This is particularly important when conducting integration testing between two

    modules of code written by two different developers, where only the interfaces areexposed for test.

    Grey box testing could be used in the context of testing a client-server

    environment when the tester has control over the input, inspects the value in a SQLdatabase, and the output value, and then compares all three (the input, sql value,

    and output), to determine if the data got corrupt on the database insertion orretrieval.

  • 8/10/2019 Vocational Project Report (1)

    22/33

  • 8/10/2019 Vocational Project Report (1)

    23/33

    Industrial training report 2013

    23

    usually at the class level, and the minimal unit tests include the constructors and

    destructors.

    Integration testingexposes defects in the interfaces and interaction between

    integrated components (modules). Progressively larger groups of testedsoftware components corresponding to elements of the architectural design are

    integrated and tested until the software works as a system.

    Functional testingtests at any level (class, module, interface, or system) for

    proper functionality as defined in the specification.

    System testing tests a completely integrated system to verify that it meets its

    requirements.

    System integration testing verifies that a system is integrated to any external

    or third party systems defined in the system requirements.

    Acceptance testing can be conducted by the end-user, customer, or client to

    validate whether or not to accept the product. Acceptance testing may be

    performed as part of the hand-off process between any two phases of

    development

    . Alpha testing is simulated or actual operational testing by potential

    users/customers or an independent test team at the developers' site. Alpha

    testing is often employed for off-the-shelf software as a form of internal

    acceptance testing, before the software goes to beta testing.Beta testingcomes after alpha testing. Versions of the software, known as

    beta versions, are released to a limited audience outside of the company. The

    software is released to groups of people so that further testing can ensure the

    product has few faults or bugs. Sometimes, beta versions are made available

    to the open public to increase the feedback field to a maximal number of

    future users.

    It should be noted that although both Alpha and Beta are referred to as testing it is

    in fact use immersion. The rigors that are applied are often unsystematic and manyof the basic tenets of testing process are not used. The Alpha and Beta period

    provides insight into environmental and utilization conditions that can impact thesoftware.

    SMOKE TESTING

  • 8/10/2019 Vocational Project Report (1)

    24/33

    Industrial training report 2013

    24

    Smoke testing is a term used in plumbing, woodwind repair, electronics, and

    computer software development. It refers to the first test made after repairs or firstassembly to provide some assurance that the system under test will not

    catastrophically fail. After a smoke test proves that the pipes will not leak, the keys

    seal properly, the circuit will not burn, or the software will not crash outright, theassembly is ready for more stressful testing.

    In plumbing, a smoke test forces actual smoke through newly plumbed pipesto find leaks, before water is allowed to flow through the pipes.

    In woodwind instrument repair, a smoke test involves plugging one end of

    an instrument and blowing smoke into the other to test for leaks. (This test isno longer in common use).

    Chapter 4

    ImplementationThis chapter provides the detail of resources used during the development of the

    program/software.

    4.1 Working Environment

    INTRODUCTION TO VISUAL C++

    Microsoft Visual C++(often abbreviated as MSVCor VC++) is a commercial integrated

    development environment (IDE) product from Microsoft for the C, C++,

    and C++/CLI programming languages. It features tools for developing and debugging C++ code,

    especially code written for the Microsoft Windows API, the DirectX API, and the Microsoft.NET Framework.The IDE includes an AppWizard, Class Wizard, and testing features to make

    programming easier.

    The characteristics of C++ are the following listed below:

    1. Portability

    2. Compatibility

  • 8/10/2019 Vocational Project Report (1)

    25/33

    Industrial training report 2013

    25

    3. Modular Programming

    4. Object Oriented Methodology

    5. Speed

    6. Dynamic Binding

    7. Message passing

    8. Data Security

    9. Error Handling features

    10. Less Complexity

    4.2 Platform UsedThis section describes the MINIMUM hardware requirements of the project.

    CPU : Pentium IV

    RAM : 128 MBHard Drive : 512 MB

    Resolution of Screen : 1366x768

    Display : Coloured.

    4.3 Development Tools

    Here is the list of various tools used in developing this project.

    C/C++ IDE : Visual C++, Code BlocksC/C++ Compiler : gcc

    Utility Software

    Documentation : MS Word 2013

    Screenshots : PicPick Editor

    Video Tutorials : Debut Video Capture Software

    Project Schedule : Gantt Project

    Online Documentation : word press blog

    Online Video Documentation : YouTube Channel

    Communication : Google groups

  • 8/10/2019 Vocational Project Report (1)

    26/33

    Industrial training report 2013

    26

    4.2 IMPLEMENTATION ISSUESImplementation phase of the software development is concerned with translating the design

    specifications into the source code. After the system has been designed, arrives the stage ofputting it into actual usage known as the implementation of the system. This involves putting up

    of actual practical usage of the theoretically designed system. The primary goal ofimplementation is to write the source code and the internal documentation so that conformanceof the code to its specifications can easily be verified and so the debugging, modifications and

    testing are eased. This goal can be achieved by making the source code as clear and as

    straightforward as possible. Simplicity, Elegance and Clarity are the hallmarks of good programswhereas complexity are indications of inadequate design and misdirected thinking. The system

    implementation is a fairly complex and expensive task requiring numerous inter-dependent

    activities. It involves the effort of a number of groups of people: user and the programmers and

    the computer operating staff etc. This needs a proper planning to carry out the task successfully.

    Thus it involves the following activities: Writing and testing of programs individually

    Testing the system as a whole using the live data Training and Education of the users and supervisory staffSource code clarity is enhance buy using structured coding techniques, by efficient coding

    style, by appropriate supporting documents, by efficient internal comments and by features

    provided in the modern programming language.

    The following are the structured coding techniques:

    1) Single Entry, Single Exit

    2) Data Encapsulation

    3) Using recursion for appropriate problems

    Chapter 5

    Coding

    This phase consist of all the coding part of the software. This section is therefore consists of the

    screenshots of all the forms in the project and their coding. This section can make the project to

    be understood easily by any programmer all the connection are made , opened and closed andmany more things. This section provides the necessary coding for the development of the

    application needed and maintains all the required code needed for it.

    This phase is difficult only in starting, but when we start working this phase, with time its

    becomes easy to do coding as it is easy to understand it due to its English like wordings. There

    are different types of header files for different purposes.

    This phase is one of the important phases because any mistakes done in this phase can lead to the

    improper working of the software.

    All screenshots are being discussed from next page:-CODE:-

  • 8/10/2019 Vocational Project Report (1)

    27/33

    Industrial training report 2013

    27

    #include

    #include

    #include

    #include

    using namespace std;

    int main(int argc,char* argv[])

    {

    int r=0,j=0,flag=0,count=0;

    int size=argc;

    //cout

  • 8/10/2019 Vocational Project Report (1)

    28/33

    Industrial training report 2013

    28

    flag=1;

    }

    else

    {

    flag=0;

    fout.write((char*)&q,sizeof(int));

    break;

    }

    }

    //int a;

    //a=count;

    if(flag==1)

    {

    count++;

    //cout

  • 8/10/2019 Vocational Project Report (1)

    29/33

    Industrial training report 2013

    29

    }

    fout.close();

    ifstream fin;

    fin.open("E://abc.txt",ios::in);

    fin.read((char*)&count,sizeof(int));

    while(!fin.eof())

    {

    cout

  • 8/10/2019 Vocational Project Report (1)

    30/33

    Industrial training report 2013

    30

  • 8/10/2019 Vocational Project Report (1)

    31/33

    Industrial training report 2013

    31

  • 8/10/2019 Vocational Project Report (1)

    32/33

    Industrial training report 2013

    32

    Chapter 6

    CONCLUSION AND FUTURE SCOPE

    6.1 Conclusion

    We have successfully implemented the different module of LWZ

    ALGORITHM.It is extremely well when compressing text or image i.e. compressionlevels of 50% or better should be expected.

    Increase security of data files: - the compressed file through LZW data compression is

    totally in abscured form so there are no chances of data in the file to be read by an

    unauthorized person.

    Increased speed:- the compression speed of our software is faster then other softwareas the code is small in no complex code is return as a result. The compression and

    decompression is result at faster rate.

    Compressing saved screen and display will generally show very good result.

    It is user friendly and gives illustrative warnings on errors.

    It is compatible in every window platform

    It is fairly low cost software.

    It is secure and reliable.

    6.2 FUTURE ENHANCEMENTS

    We can have a Website that will cover different technology which can be made it

    more efficient, more powerful, lighter and more interactive with user.

    REFERENCE

    http://w3schools.com/

    http://in3.C++.net/

    Blackstock, Steve, LZW and GIF Explained, manuscript in the public domain, 1987

    http://w3schools.com/http://w3schools.com/http://in3.c++.net/http://in3.c++.net/http://in3.c++.net/http://w3schools.com/
  • 8/10/2019 Vocational Project Report (1)

    33/33

    Industrial training report 2013

    Montgomery, Bob, LZW Compression Used to Encode/Decode a GIF File, manuscript in the

    public domain, 1988.