47843010 Net Minor Project File Compressor

36
1 ABSTRACT The Domain “File Compressor” lets you reduce the overall number of bits and bytes in a file so it can be transmitted faster over slower Internet connections, or take up less space on a disk. Domain File Compressor is a System Based Software. The user need not depend on third party software’s like winzip, winrar The main algorithms are: GZIP algorithm GZip is a software application used for file compression. gzip is short for GNU zip; the program is a free software replacement for the compress program used in early Unix systems, intended for use by the GNU Project.gzip was created by Jean-Loup Gailly and Mark Adler . Version 0.1 was first publicly released on October 31 , 1992 . Version 1.0 followed in February 1993. gzip is based on the DEFLATE algorithm, which is a combination of LZ77 and Huffman coding . “gzip” is often also used to refer to the gzip file format, which is: a 10-byte header, containing a magic number , a version number and a timestamp optional extra headers, such as the original file name, a body, containing a DEFLATE-compressed payload an 8-byte footer, containing a CRC-32 checksum and the length of the original uncompressed data Although its file format also allows for multiple such streams to be concatenated (zipped files are simply decompressed concatenated as if they were originally one file), gzip is normally used to compress just single files. Compressed archives are typically created by assembling collections of files into a single tar archive, and then compressing that archive with gzip. The final .tar.gz or .tgz file is usually called a tarball . FILE COMPRESSOR

Transcript of 47843010 Net Minor Project File Compressor

Page 1: 47843010 Net Minor Project File Compressor

1

ABSTRACT

The Domain “File Compressor” lets you reduce the overall number of bits and bytes in a file so it

can be transmitted faster over slower Internet connections, or take up less space on a disk.

Domain File Compressor is a System Based Software. The user need not depend on third party

software’s like winzip, winrar

The main algorithms are:

• GZIP algorithm

GZip is a software application used for file compression. gzip is short for GNU zip; the program

is a free software replacement for the compress program used in early Unix systems, intended for

use by the GNU Project.gzip was created by Jean-Loup Gailly and Mark Adler. Version 0.1 was

first publicly released on October 31, 1992. Version 1.0 followed in February 1993. gzip is based

on the DEFLATE algorithm, which is a combination of LZ77 and Huffman coding. “gzip” is

often also used to refer to the gzip file format, which is:

• a 10-byte header, containing a magic number, a version number and a timestamp

• optional extra headers, such as the original file name,

• a body, containing a DEFLATE-compressed payload

• an 8-byte footer, containing a CRC-32 checksum and the length of the original

uncompressed data

Although its file format also allows for multiple such streams to be concatenated (zipped files

are simply decompressed concatenated as if they were originally one file), gzip is normally used

to compress just single files. Compressed archives are typically created by assembling

collections of files into a single tar archive, and then compressing that archive with gzip. The

final .tar.gz or .tgz file is usually called a tarball.

FILE COMPRESSOR

Page 2: 47843010 Net Minor Project File Compressor

2

Algorithms for GZIP Compression/Decompression

Compression algorithm :

The deflation algorithm used by gzip (also zip and zlib) is a variation of LZ77 (Lempel-Ziv

1977, see reference below). It finds duplicated strings in the input data. The second occurrence

of a string is replaced by a pointer to the previous string, in the form of a pair (distance,

length). Distances are limited to 32K bytes, and lengths are limited to 258 bytes. When a string

does not occur anywhere in the previous 32K bytes, it is emitted as a sequence of literal bytes.

(In this description, `string' must be taken as an arbitrary sequence of bytes,

and is not restricted to printable characters.)

Literals or match lengths are compressed with one Huffman tree, and match distances are

compressed with another tree. The trees are stored in a compact form at the start of each block.

The blocks can have any size (except that the compressed data for one block must fit in available

memory). A block is terminated when deflate() determines that it would be useful to start another

block with fresh trees.

Duplicated strings are found using a hash table. All input strings of length 3 are inserted in the

hash table. A hash index is computed for the next 3 bytes. If the hash chain for this index is not

empty, all strings in the chain are compared with the current input string, and the longest match

is selected.

The algorithms for GZIP Decompression is the reverse process of GZIP compression.

FILE COMPRESSOR

Page 3: 47843010 Net Minor Project File Compressor

3

OVERVIEW OF THE PROJECT

INTRODUCTION

The Domain “File Compressor” lets you reduce the overall number of bits and bytes in a file so it

can be transmitted faster over slower Internet connections, or take up less space on a disk.

Domain File compressor is a System Based Software.. It can use in the System as a utility. The

type of compression we will use here is called lossless compression. The user need not depend

on third party software’s like winzip, winrar, Stuff etc. the software can be used to compress files

and they can be decompressed when the need arises.

The main algorithms are:

GZIP algorithm

Here in this Domain we will use Gzip algorithm. Using C#.net we can import compression

algorithmic classes directly e.g.: using System.IO.Compression;.

The Domain File Compressor mainly include 3 modules

• Compress A File Or Folder

• De-Compress the file or folder

• Help

1. Compress file or folder

This module helps us to compress a file or folder. The compressed file will have a extension

same as input . We can send the compressed file over the internet so that users having this

software can decompress it.

2. Decompress a file or folder

This is the reverse process of file compression. Here we can decompress the compressed file

and get the original file.

FILE COMPRESSOR

Page 4: 47843010 Net Minor Project File Compressor

4

3. Help

File Compressor

This is a software to convert your any file from normal file to compressed file.

Text file works best in compressing the data.

Steps to Compress a File:

-------------------------------

1.Name of the File after Compressing

2.Open the File to compress

3.Select the Path or Folder to Save the Compress File.

4.Press Compress Button To Convert the File.

Steps to Decompress the File:

-----------------------------------

1.Name of the File after DeCompressing

2.Open the Decompressed File.

3.Select the Path or Folder to Save the File.

4.Press DeCompress Button.

Note:

Click only once to compress the File.

First Compress the File then Decompress it.

.

APPLICATION AREAS

The application areas of file compression are

• File storage

• Distributed systems.

FILE COMPRESSOR

Page 5: 47843010 Net Minor Project File Compressor

5

SYSTEM STUDY AND ANALYSIS

System analysis is a process of gathering and interpreting facts, diagnosing problems and the

information to recommend improvements on the system. It is a problem solving activity that

requires intensive communication between the system users and system developers. System

analysis or study is an important phase of any system development process. The system is

studied to the minutest detail and analyzed. The system analyst plays the role of the interrogator

and dwells deep into the working of the present system. The system is viewed as a whole and the

input to the system are identified. The outputs from the organizations are traced to the various

processes. System analysis is concerned with becoming aware of the problem, identifying the

relevant and decisional variables, analyzing and synthesizing the various factors and determining

an optimal or at least a satisfactory solution or program of action.

A detailed study of the process must be made by various techniques like interviews,

questionnaires etc. The data collected by these sources must be scrutinized to arrive to a

conclusion. The conclusion is an understanding of how the system functions. This system is

called the existing system. Now the existing system is subjected to close study and problem areas

are identified. The designer now functions as a problem solver and tries to sort out the difficulties

that the enterprise faces. The solutions are given as proposals. The proposal is then weighed with

the existing system analytically and the best one is selected. The proposal is presented to the user

for an endorsement by the user. The proposal is reviewed on user request and suitable changes

are made. This is loop that ends as soon as the user is satisfied with proposal.

Preliminary study is the process of gathering and interpreting facts, using the information for

further studies on the system. Preliminary study is problem solving activity that requires

intensive communication between the system users and system developers. It does various

feasibility studies. In these studies a rough figure of the system activities can be obtained, from

which the decision about the strategies to be followed for effective system study and analysis can

be taken.

FILE COMPRESSOR

Page 6: 47843010 Net Minor Project File Compressor

6

Here in the project File Compressor, a detailed study of existing system is carried along with

all the steps in system analysis. An idea for creating a better project was carried and the next

steps were followed.

FEASIBILITY STUDY

An important outcome of the preliminary investigation is the determination that the

system requested is feasible. Feasibility study is carried out to select the best system that meets

the performance requirements.

Feasibility study is both necessary and prudent to evaluate the feasibility of the project at the

earliest possible time. It involves preliminary investigation of the project and examines whether

the designed system will be useful to the organization. Months or years of effort, thousand for

millions of money and untold professional embarrassment can be averted if an in-conceived

system is recognized early in the definition phase.

The different types of feasibility are: Technical feasibility, Operational feasibility,

Economical feasibility.

1) Technical feasibility

Technical Feasibility deals with the hardware as well as software requirements.

Technology is not a constraint to type system development. We have to find out whether the

necessary technology, the proposed equipments have the capacity to hold the data, which is used

in the project, should be checked to carryout this technical feasibility.

The technical feasibility issues usually raised during the feasibility stage of investigation

includes these

• This software is running in windows 2000 Operating System, which can be easily

installed.

• The hardware required is Pentium based server.

FILE COMPRESSOR

Page 7: 47843010 Net Minor Project File Compressor

7

• The system can be expanded.

2) Operational feasibility

This feasibility test asks if the system will work when it is developed and installed.

Operational feasibility in this project:

• The proposed system offers greater level of user-friendliness.

• The proposed system produces best results and gives high performance. It can be

implemented easily .So this project is operationally feasible.

3) Economical feasibility

Economical Feasibility deals about the economical impact faced by the organization to

implement a new system. Financial benefits must equal or exceed the costs. The cost of

conducting a full system, including software and hardware cost for the class of application being

considered should be evaluated.

Economic Feasibility in this project:

• The cost to conduct a full system investigation is possible.

• There is no additional manpower requirement.

• There is no additional cost involved in maintaining the proposed system.

FILE COMPRESSOR

Page 8: 47843010 Net Minor Project File Compressor

8

SYSTEM SPECIFICATION

Hardware Requirements

Intel P4 processor with minimum 2.0Ghz Speed

RAM: Minimum 256MB

Hard Disk: Minimum 20GB

Software Requirements

OS : MS WINDOWS XP SP2

FRONT END : VISUAL STUDIO 2008

Programming language

C#.NET Language

FILE COMPRESSOR

Page 9: 47843010 Net Minor Project File Compressor

9

EXISTING SYSTEM

Existing system refers to the system that is being followed till now. The main disadvantage of

this system is that the users depend on third party software’s like winzip, winrar, Stuff etc.

The existing system requires more computational time, more manual calculations, and the

complexity involved in Selection of features is high. The other disadvantages are lack of security

of data, Deficiency of Data accuracy, Time consuming etc.

To avoid all these limitations and make the working more accurately the system needs to be

computerized.

Draw backs of existing system.

Lack of security of data.

Deficiency of Data accuracy

Time consuming.

The users depend on third party software’s like winzip, winrar, Stuff etc.

To avoid all these limitations and make the working more accurately the system needs to be

computerized.

FILE COMPRESSOR

Page 10: 47843010 Net Minor Project File Compressor

10

PROPOSED SYSTEM

The aim of proposed system is to develop a system of improved facilities. The proposed system

can overcome all the limitations of the existing system. The system provides data accuracy and

save disc space. The existing system has several disadvantages and many more difficulties to

work well. The proposed system tries to eliminate or reduce these difficulties up to some extent.

The proposed system is file/folder compression or decompression based on the GZip algorithm.

The proposed system will help the user to consume time. The proposed system helps the user to

work user friendly and he can easily do the file compression process without time lagging. The

system is very simple in design and to implement. The system requires very low system

resources and the system will work in almost all configurations. It has got following features

Ensure data accuracy, minimize manual data entry, minimum time needed for the various

processing, greater efficiency, better service.

Advantages of Proposed System

The system is very simple in design and to implement. The system requires

very low system resources and the system will work in almost all configurations. It has got

following features

Ensure data accuracy and Save disk space

Minimum time needed for the file compression

Greater efficiency and Better Service

Protection from virus and Easy to send via E-mail

Maximum Compression rate is 2 GB.

The user need not depend on third party software’s like winzip, winrar, Stuff etc.

FILE COMPRESSOR

Page 11: 47843010 Net Minor Project File Compressor

11

SYSTEM DESIGN

System Design is the most creative and challenging phase in the system life cycle. Design is

the first step into the development phase for any engineered product or system. Design is a

creative process. A good design is the key to effective system. System design is a solution how

to approach the creation of a new system. System design transforms a logic representation of

what is required to do into the physical specification. The specification is converted into physical

reality during development.

LOGICAL DESIGN

The logical flow of a system and define the boundaries of a system. It includes the following

steps:

• Reviews the current physical system – its data flows, file content, volumes,

frequencies etc.

• Prepares output specifications – that is, determines the format, content and

frequency of reports.

• Prepares input specifications – format, content and most of the input functions.

• Prepares edit, security and control specifications.

• Specifies the implementation plan.

• Prepares a logical design walk through of the information flow, output, input, controls

and implementation plan.

• Reviews benefits, costs, target dates and system constraints.

PHYSICAL DESIGN

FILE COMPRESSOR

Page 12: 47843010 Net Minor Project File Compressor

12

Physical system produces the working systems by define the design specifications that tell the

programmers exactly what the candidate system must do. It includes the following steps.

• Design the physical system.

• Specify input and output media.

• Design the database and specify backup procedures.

• Design physical information flow through the system and a physical design

walk through.

• Plan system implementation.

• Prepare a conversion schedule and target date.

• Determine training procedures, courses and timetable.

• Devise a test and implementation plan and specify any new hardware/software.

• Update benefits , costs , conversion date and system constraints

Design/Specification activities

• Concept formulation.

• Problem understanding.

• High level requirements proposals.

• Feasibility study.

• Requirements engineering.

• Architectural design.

INPUT DESIGN

Input Design deals with what data should be given as input, how the data should be arranged or

code, the dialog to guide the operating personnel in providing input, methods for preparing input

validations and steps to follow when error occur. Input Design is the process of converting a

user-oriented description of the input into a computer-based system. This design is important to

avoid errors in the data input process and show the correct direction to the management for

getting correct information from the computerized system. It is achieved by creating user-

FILE COMPRESSOR

Page 13: 47843010 Net Minor Project File Compressor

13

friendly screens for the data entry to handle large volume of data. The goal of designing input is

to make data entry easier and to be free from errors. The data entry screen is designed in such a

way that all the data manipulates can be performed. It also provides record viewing facilities.

When the data is entered it will check for its validity. Data can be entered with the help of

screens. Appropriate messages are provided as when needed so that the user will not be in maize

of instant. Thus the objective of input design is to create an input layout that is easy to follow.

In this project, the input design consists of a log in screen, tab for compression/ decompression,

source and destination browsing button, a menu list for selecting the algorithm,

Compress/Decompress option, compress/decompress button.

OUTPUT DESIGN

A quality output is one, which meets the requirements of the end user and presents the

information clearly. The objective of output design is to convey information about past activities,

current status or projections of the future, signal important events, opportunities, problems, or

warnings, trigger an action, confirm an action etc. Efficient, intelligible output design should

improve the system’s relationship with the user and helps in decisions making. In output design

the emphasis is on displaying the output on a CRT screen in a predefined format. The primary

consideration in design of output is the information requirement and objectives of the end users.

The major formation of the output is to convey the information and so its layout and design need

a careful consideration.

There is a output display screen for showing the compressed/ decompressed file or folder

details(Original file size, Compressed/Decompressed file size, Distinct characters)

FILE COMPRESSOR

Page 14: 47843010 Net Minor Project File Compressor

14

SOFTWARE DESCRIPTION

FILE COMPRESSOR

Overview of the .NET Framework

Vis

ual

Stu

dio

.N

ET V

isu

al

Stu

dio

.N

ET

Common Language SpecificationCommon Language Specification

Visual Visual BasicBasic

C++

C++

C#C#

J#J#

……

.NET Framework.NET Framework

Page 15: 47843010 Net Minor Project File Compressor

15

Building Components in the .NET Framework

In the .NET Framework, components are built on a common foundation. You no longer need to

write the code to allow objects to interact directly with each other. In the .NETenvironment, you

no longer need to write component wrappers because components do not use wrappers. The

.NET Framework can interpret the constructs that developers are accustomed to using in object

oriented languages. The .NET Framework fully supports class,inheritance, methods, properties,

events, polymorphism, constructors and other objects oriented constructs.

The Common Language Specification:-

The common Language Specification (CLS) defines the common standards to

which languages and developers must adhere if they want their components and applications to

be widely useable by other .NET compatible languages, The CLS allows Visual Basic .NET

developers to create applications as part of a multiple language team with the knowledge that

there will be no problems integrating the different languages. The CLS even allows Visual

Basic .NET developers to inherit from classes defined in different languages.

Goals of the .NET Framework

The .NET Framework was designed to meet the following goals:

1. Based on Web standards and practices

The .NET Framework fully supports the existing Internet technologies, including

Hypertext Markup Language (HTML), XML, SOAP, Extensible Style sheet

FILE COMPRESSOR

Page 16: 47843010 Net Minor Project File Compressor

16

Language for Transformations (XSLT), Path, and other Web standards. The .NET

Framework favors loosely connected, stateless Web services.

2. Extensible

The hierarchy of the .NET Framework is not hidden from the developer. You can

access and extend .NET classes (unless they are sealed) by using inheritance. You can

also implement cross-language inheritance.

3. Easy for developers to use

In the .NET Framework, code is organized into hierarchical namespaces and classes.

The framework provides a common type system, referred to as the unified type

system, that is used by and .NET Framework compatible language. In the unified type

system, everything is an object. There are no variant types, there is only one string

type and all string data is Unicode.

4. Designed using unified application models

.NET class functionality is available from any .NET Framework compatible language

or programming model.

FILE COMPRESSOR

Page 17: 47843010 Net Minor Project File Compressor

17

C# Language

FILE COMPRESSOR

Benefits of the .NET Framework

Based on Web standards and practices

Extensible

Easy for developers to use

Designed using unified application models

Windows APIWindows API

Visual Basic FormsVisual Basic Forms

MFC/ATLMFC/ATL

ASPASP

.NET Framework.NET Framework

Page 18: 47843010 Net Minor Project File Compressor

18

C# (pronounced C Sharp) is a computer language developed by Microsoft but made available

to the general public through international standards. The current release is termed as 3.0. This series of lessons teach C# (3.0) as a computer language, not to be confused with Microsoft

Visual C# or any other programming environment that uses C#. To follow these lessons, you

should have the ability to create, compile, and execute console applications. You can use the

.NET Framework that includes the csc.exe compiler but, as an alternative, you can (should) use

Microsoft Visual C# 2008 Professional or you can use Microsoft Visual C# 2008 Express Edition

that you can freely download from the Microsoft web site.Features:

• There are no global variables or functions. All methods and members must be declared

within classes. Static members of public classes can substitute for global variables and

functions.

• Local variables cannot shadow variables of the enclosing block, unlike C and C++.

Variable shadowing is often considered confusing by C++ texts.

• C# supports a strict Boolean datatype, bool. Statements that take conditions, such as

while and if, require an expression of a boolean type. While C++ also has a boolean

type, it can be freely converted to and from integers, and expressions such as if(a)

require only that a is convertible to bool, allowing a to be an int, or a pointer. C#

disallows this "integer meaning true or false" approach on the grounds that forcing

programmers to use expressions that return exactly bool can prevent certain types of

programming mistakes such as if (a = b) (use of = instead of ==).

• C# is more typesafe than C++. The only implicit conversions by default are those which

are considered safe, such as widening of integers and conversion from a derived type to a

base type. This is enforced at compile-time, during JIT, and, in some cases, at runtime.

There are no implicit conversions between booleans and integers, nor between

enumeration members and integers (except for literal 0, which can be implicitly

converted to any enumerated type). Any user-defined conversion must be explicitly

marked as explicit or implicit, unlike C++ copy constructors and conversion operators,

which are both implicit by default.

FILE COMPRESSOR

Page 19: 47843010 Net Minor Project File Compressor

19

• Enumeration members are placed in their own scope.

CODING

Form1.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.IO;

using System.IO.Compression;

namespace File_Compressor

{

public partial class Form1 : Form

{

OpenFileDialog opd = new OpenFileDialog();

FolderBrowserDialog fbd = new FolderBrowserDialog();

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

FILE COMPRESSOR

Page 20: 47843010 Net Minor Project File Compressor

20

{

opd.Filter = "Text File |*.txt";

if (opd.ShowDialog() == DialogResult.OK)

{

textBox1.Text = opd.FileName;

}

}

private void button2_Click(object sender, EventArgs e)

{

if (fbd.ShowDialog() == DialogResult.OK)

{

textBox2.Text = fbd.SelectedPath+"\\"+textBox3.Text+".txt";

}

}

private void button3_Click(object sender, EventArgs e)

{

try

{

if (textBox3.Text != "")

{

Compress(opd.FileName);

button3.Enabled = false;

MessageBox.Show("File Compressed Successfully");

}

else

{

MessageBox.Show("Enter Name of Text File to Save");

}

}

catch (Exception ex)

{

FILE COMPRESSOR

Page 21: 47843010 Net Minor Project File Compressor

21

MessageBox.Show("Select File To Compress");

}

finally

{

}

}

public void Compress(string filepath)

{

FileStream compress = new FileStream(fbd.SelectedPath + "\\" + textBox3.Text +

".txt", FileMode.Create, FileAccess.Write);

FileStream decom = new FileStream(filepath, FileMode.Open, FileAccess.Read);

StreamReader sr = new StreamReader(decom);

string readDecom = sr.ReadToEnd();

GZipStream zip = new GZipStream(compress, CompressionMode.Compress);

StreamWriter sw = new StreamWriter(zip);

sw.WriteLine(readDecom);

sw.Flush();

zip.Close();

compress.Close();

}

public void DeCompress(string fileDeComp)

{

FileStream compfile = new FileStream(opd.FileName, FileMode.Open,

FileAccess.Read);

FileStream wrt_to_decomp = new

FileStream(fbd.SelectedPath+"\\"+textBox4.Text+".txt",FileMode.Create,FileAccess.Write);

GZipStream zip = new GZipStream(compfile, CompressionMode.Decompress);

StreamReader read_comp = new StreamReader(zip);

StreamWriter sw = new StreamWriter(wrt_to_decomp);

FILE COMPRESSOR

Page 22: 47843010 Net Minor Project File Compressor

22

sw.WriteLine(read_comp.ReadToEnd());

textBox2.Text = read_comp.ReadToEnd();

sw.Flush();

compfile.Close();

zip.Close();

}

private void button6_Click(object sender, EventArgs e)

{

try

{

if (textBox4.Text != "")

{

DeCompress(opd.FileName);

button6.Enabled = false;

MessageBox.Show("File DeCompressed Successfully");

}

else

{

MessageBox.Show("Enter Name of Text File to Save");

}

}

catch (Exception ex)

{

MessageBox.Show("Select File To Compress");

}

finally

{

}

}

private void button4_Click(object sender, EventArgs e)

FILE COMPRESSOR

Page 23: 47843010 Net Minor Project File Compressor

23

{

opd.Filter = "Text File |*.txt";

if (opd.ShowDialog() == DialogResult.OK)

{

textBox5.Text = opd.FileName;

}

}

private void button5_Click(object sender, EventArgs e)

{

if (fbd.ShowDialog() == DialogResult.OK)

{

textBox6.Text = fbd.SelectedPath + "\\" + textBox4.Text + ".txt";

}

}

private void button8_Click(object sender, EventArgs e)

{

this.Close();

}

private void button7_Click(object sender, EventArgs e)

{

help HELP = new help();

HELP.ShowDialog();

}

private void button9_Click(object sender, EventArgs e)

{

MessageBox.Show("Write to following E-Mail for any query or

comment"+"\n"+"Contact : [email protected]", "File Compressor");

}

FILE COMPRESSOR

Page 24: 47843010 Net Minor Project File Compressor

24

}

}

Program.cs

using System;

using System.Collections.Generic;

using System.Windows.Forms;

namespace File_Compressor

{

static class Program

{

[STAThread]

static void Main()

{

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

Application.Run(new Form1());

}

}

}

FILE COMPRESSOR

Page 25: 47843010 Net Minor Project File Compressor

25

FILE COMPRESSOR

Page 26: 47843010 Net Minor Project File Compressor

26

Help.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace File_Compressor

{

public partial class help : Form

{

public help()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

this.Close();

}

}

}

FILE COMPRESSOR

Page 27: 47843010 Net Minor Project File Compressor

27

SYSTEM TESTING

Testing is a process of executing a program with the interest of finding an error. A good

test is one that has high probability of finding the yet undiscovered error. Testing should

systematically uncover different classes of errors in a minimum amount of time with a minimum

amount of efforts.

Two classes of inputs are provided to test the process

1. A software configuration that includes a software requirement specification, a

design specification and source code.

2. A software configuration that includes a test plan and procedure, any testing

tool and test cases and their expected results.

Testing is divided into several distinct operations:

1. Unit Testing

Unit test comprises of a set tests performed by an individual program prior to the

integration of the unit into large system. A program unit is usually the smallest free functioning

part of the whole system. Module unit testing should be as exhaustive as possible to ensure that

each representation handled by each module has been tested. All the units that makeup the

system must be tested independently to ensure that they work as required.

During unit testing some errors were raised and all of them were rectified and handled

well. The result was quiet satisfactory and it worked well.

2. Integration Testing

Integration testing is a system technique for constructing the program structure while at

the same time conducting tests to uncover errors associated with interfacing. The objective is to

take unit tested modules and build a program structure that has been dictated by design. Bottom-

FILE COMPRESSOR

Page 28: 47843010 Net Minor Project File Compressor

28

up integration is the traditional strategy used to integrate the components of a software system

into functioning whole. Bottom-up integration consists

of unit test followed by testing of the entire system. A sub-system consists of several modules

that communicated with other defined interface.

The system was done the integration testing. All the modules were tested for their

compatibility with other modules .They test was almost successful. All the modules coexisted

very well, with almost no bugs. All the modules were encapsulated very well so as to not hamper

the execution of other modules.

3. Validation Testing

After validation testing, software is completely assembled as a package, interfacing errors

that have been uncovered and corrected and the final series of software test; the validation test

begins. Steps taken during software design and testing can greatly improve the probability of

successful integration in the larger system. System testing is actually a series of different tests

whose primary purpose is to fully exercise the compute –based system.

4. Recovery Testing

It is a system that forces the software to fail in a variety of ways and verifies that the

recovery is properly performed.

5. Security Testing

It attempts to verify that protection mechanisms built into a system will in fact protect it

from improper penetration. The system’s security must of course be tested from in vulnerability

form frontal attack.

FILE COMPRESSOR

Page 29: 47843010 Net Minor Project File Compressor

29

6. Stress Testing

Stress tools are designed to confront programs with abnormal situations. Stress testing

executes a system in a manner that demands resources in abnormal quantity and volume.

7. Black Box Testing

Black box testing is done to find out the following information as shown in below:

1. Incorrect or missing functions.

2. Interface errors.

3. Errors or database access.

4. Performance error.

5. Termination error.

The mentioned testing is carried out successfully for this application according to the

user’s requirement specification.

8. Test Data Output

After preparing test data, the system under study is tested using the test data. While

testing the system using test data, errors are again uncovered and corrected by using above

testing and corrections are also noted for future use.

FILE COMPRESSOR

Page 30: 47843010 Net Minor Project File Compressor

30

MAINTENANCE

Maintenance is the tail end of life cycle but it is the most expensive and consumes energy, cost

and time in the long run.

After a new system has been implemented, problems and errors and discrepancies appear and

must be fixed. This required “system maintenance” as an ongoing process.

When the system maintenance becomes more costly and time demanding, new system will have

to be thought of, thereby completing the full system life cycle

FILE COMPRESSOR

Page 31: 47843010 Net Minor Project File Compressor

31

IMPLEMENTATION

Operational systems are quickly taken for granted. Every system requires periodic evaluation

after implementation. A post-implementation review measures the system’s performance against

predefined requirements. Unlike testing, which determines the system failures so that the

necessary adjustments can be made; a post-implementation review determines how well the

system continues to meet performance specifications.

A post-implementation review is an evaluation of a system in terms of the extent to which the

system accomplishes stated objectives and actual projects costs exceed initial estimates.

The review team prepares a formal review plan around the objective(s) of the review, the type of

evaluation to be carried out, and the time schedule required. An overall plan covers the following

areas:

1. Administrative plan – Reviews area objectives, operating costs, actual operation

performance, and benefits.

2. Personnel requirements plan – Reviews performance objective and training performance

to date.

3. Hardware Plan – Reviews performance specifications.

4. Documentation review plan – Reviews the system development effort.

FILE COMPRESSOR

Page 32: 47843010 Net Minor Project File Compressor

32

SNAPSHOTS

FILE COMPRESSOR

Page 33: 47843010 Net Minor Project File Compressor

33

FILE COMPRESSOR

Page 34: 47843010 Net Minor Project File Compressor

34

FILE COMPRESSOR

Page 35: 47843010 Net Minor Project File Compressor

35

CONCLUSION

The project File Compressor is completed, satisfying the required design specifications. The

system provides a user-friendly interface. The software is developed with modular approach. All

modules in the system have been tested with valid data and invalid data and everything work

successfully. Thus the system has fulfilled all the objectives identified and is able to replace the

existing system. The constraints are met and overcome successfully. The system is designed as

like it was decided in the design phase. The system is very user friendly and will reduce time

consumption. This software has a user-friendly screen that enables the user to use without any

inconvenience. The user need not depend on third party software’s like winzip, winrar, Stuff etc.

The software can be used to compress files and they can be decompressed when the need arises.

The application has been tested with live data and has provided a successful result. Hence the

software has proved to work efficiently.

FILE COMPRESSOR

Page 36: 47843010 Net Minor Project File Compressor

36

REFERENCE

BOOKS:

Vijay Mukhi -‘Visual Studio.Net with C#

Eric Gunnerson - A Programmer's Introduction to C# [Paperback]

Programming C#, Second Edition - O'Reilly Media

LINKS :

www.gzip.org/algorithm.txt

en.wikipedia.org/wiki/Gzip

csharp.net-tutorials.com

http://www.dotnetspider.com/tutorials/

FILE COMPRESSOR