65
SANDEEP Page 1 Mini project report On FILE SPLITTER In the partial fulfillment of 4 th semester of MCA By SANDEEP.A.V (RegNo:95580045) DEPARTMENT OF COMPUTER APPLICATIONS COCHIN UNIVERSITY OF SCIENCE AND TECHNOLOGY KOCHI-22

File Splitter

Embed Size (px)

Citation preview

Page 1: File Splitter

SANDEEP Page 1

Mini project report

On

FILE SPLITTER

In the partial fu lfillm ent of

4 th sem ester of

MCA By

SANDEEP.A.V (RegNo:95580045)

DEPARTMENT OF COMPUTER APPLICATIONS COCHIN UNIVERSITY OF SCIENCE AND TECHNOLOGY

KOCHI-22

Page 2: File Splitter

SANDEEP Page 2

DEPARTMENT OF COMPUTER APPLICATIONS COCHIN UNIVERSITY OF SCIENCE AND TECHNOLOGY

COCHIN -22

CE R TIF ICA TECE R TIF ICA TECE R TIF ICA TECE R TIF ICA TE This is to certify that the report entitled “ F IL E SP L ITTE RF IL E SP L ITTE RF IL E SP L ITTE RF IL E SP L ITTE R ”””” is a bona fide record of the project work done by SANDEEP.A.V in the partial fulfillment of 4th semester of Master of Computer Applications of theCochinUniversityof Science and Technology, Cochin. Place: Cochin Date: 15th JUNE, 2010 Head of the Department

Page 3: File Splitter

SANDEEP Page 3

ACKNOWLEDGEMENT

This Project itself is an acknowledgement to the inspiration, drive and

technical assistance contributed by many individuals. This project would have never

seen the light of this day without the help and guidance I have received.

I express my gratitude to Dr. K.V. Pramod, Head, Department of

Computer Applications, Cochin University of Science And Technology, Cochin,

Kerala for providing me with excellent infrastructure and awesome environment

that laid potentially strong foundation for my professional life.

I owe an incalculable debt to all staffs of the Department of Computer

Applications for their direct and indirect help.

I extend my heartfelt thanks to my parents, friends and well wishers

for their support and timely help.

SANDEEP.A.V

Page 4: File Splitter

SANDEEP Page 4

CONTENTS TITLE SYNOPSIS

1. INTRODUCTION

2. SYSTEM ANALYSIS

2.1.PURPOSE 2.2. PROBLEM DEFINITION

2.3.FEASIBILITY

2.3.1 TECHNICAL FEASIBILITY 2.3.2 ECONOMIC FEASIBILITY 2.3.3 OPERATIONAL FEASIBILITY

2.4. EXISTING SYSTEM 2.5.PROPOSED SYSTEM

2.6. OVERVIEW

3. SYSTEM REQUIREMENTS SPECIFICATION

3.1 PURPOSE, SCOPE AND OVERVIEW

3.2. FUNCTIONAL REQUIREMENTS

3.3. USER INTERFACE REQUIREMENTS

3.4. PERFORMANCE REQUIRMENTS

3.5. GENERAL CONSTRAINTS

Page 5: File Splitter

SANDEEP Page 5

3.6. NON FUNCTIONAL REQUIREMENTS

4. SQA PLAN

4.1 PURPOSE

4.2 SQA TASKS

4.3 STANDARDS, PRACTICES, CONVENTIONS, METRICS

4.4 TEST

4.5 TOOLS, TECHNIQUES AND METHODOLOGIES

4.6 APPENDIX

5. SYSTEM ENVIRONMENT 5.1HARDWARE

5.2 SOFTWARE

5.2.1.OPERATING SYSTEM INFO 5.2.2.ABOUT THE LANGUAGE

5.2.3.ABOUT THE TOOL

6. SYSTEM DESIGN

6.1. INPUT DESIGN 6.2. OUTPUT DESIGN 6.3. ARCHITECTURAL DESIGN-

CLASS DIAGRAMS

7. SOFTWARE TESTING

7.1.TEST PLAN

8. SYSTEM IMPLEMENTAION

9.MAINTENANCE

10. CONCLUSION

11. SCREEN SHOTS

12. BIBLIOGRAPHY

Page 6: File Splitter

SANDEEP Page 6

SY N O P SISSY N O P SISSY N O P SISSY N O P SIS

Page 7: File Splitter

SANDEEP Page 7

SYNOPSIS

File Splitter is a software which is used to split the user specifying file

according to the user specifying size. It is very difficult to transfer one big

file from one end to another through any media like internet or small storage

like Floppy, Pen drive etc. This software helps to overcome this problem.

The splitted portions of file may carry some temporary information to denote

the the number of splitted part and total number of parts etc. This idea is

used to split big files to small pieces for transferring purpose, uploading etc.

In the destination side, these parts of file can be jointed to form the original

source file.

Splitting process is mainly aiming in the area of file transferring from one

end to another.

There are three techniques to split the file.

1.Split in the size of 1.4MB (Floppy size)

2.Split in the size of 650MB(CD size)

3.User specifying size, Here file will be splitted equally in the specified

size.

To ensure the security, the user can include password to split and

combine the files. This splitted portion will be in non readable format and

will be encrypted. If the user has given password to split, the same

password is required to do the combining option. This program is

developed using Java and can implement in .NET also.

Front end: java

Page 8: File Splitter

SANDEEP Page 8

IN TR O D U CTIO NIN TR O D U CTIO NIN TR O D U CTIO NIN TR O D U CTIO N

Page 9: File Splitter

SANDEEP Page 9

INTRODUCTION File Splitter and Merger Software is used to split a large File intoseveral chunks as per your need and also merge these chunks into original form without any type of data loss. Files breaker joiner application has the facility for breaking one or more documents into several small sizes of document on a single click. All in one combiner creator tools add, join, create, organize, arrange and manage small files segment into bigger one as per requirement. File Splitter program divides all type of files like word, excel, power point, audio, video, songs, documents, etc and all type of File format like midi, doc, txt, mpg, gif, tiff, png, zip, exe, mp3, jpg, bmp, avi, etc into several small custom size and Software again remerge, rejoin, recreate these files into original File without altering original data. Document Splitter joiner utility is very helpful to break up big size File for copying to floppy, CD or email and anyone can merge it again to get original File with this tool. This is a very simple and handy tool to split or merge files. You have problem to carry large files? This Software can help you to split files into small pieces and join back, and the break size is up to you.

Page 10: File Splitter

SANDEEP Page 10

SY STE M A N A L Y SISSY STE M A N A L Y SISSY STE M A N A L Y SISSY STE M A N A L Y SIS

Page 11: File Splitter

SANDEEP Page 11

2. SYSTEM ANALYSIS

System analysis or study is an important phase of any system

development process. The system is studied to the minute detail and analyzed.

The system analyst dwell ed deep into the working of the present system. The

system was viewed as a whole and the input of the system are identified. During

analysis phase for each problem identified many alternative solutions were

evaluated and selected the most feasible one. A feasibility analysis was

performed to evaluate possible solutions to recommend the most feasible one.

2.1 Purpose The purpose of the project is to create a file splitter that splits

large files . In this project a large file is split into small pieces with the size

specified by the user. A batch file is also created to join those files into the

original one.

2.2 Problem Definition

To develop a software solution to a problem, the first step is to

understand the problem. The problem here is if you are new to Java

programming, you are probably starting by using Notepad. When you want

to compile a program, you need to open a DOS window and type

‘javac programname.java’ and for running to type ‘java programname’. Also

what you type is what you get: notepad does not help you any way with Java

syntax or design. And you cannot correct the errors within the editor.

Otherwise we can use NETBEANS IDE for writing and compiling and

running the program.

Page 12: File Splitter

SANDEEP Page 12

2.3 FEASIBILITY STUDY

After the problem is clearly understood and solutions proposed,

the next step is to conduct the feasibility study. Feasibility study is defined

as evaluation or analysis of the potential impact of a proposed project or

program. The objective is to determine whether the proposed system is

feasible. There are three aspects of feasibility study to which the proposed

system is subjected as discussed below.

2.3.1. Technical Feasibility

Technical feasibility assesses whether the current technical

resources are sufficient for the new system. If they are not available, can

they be upgraded to provide the level of technology necessary for the new

system? It checks whether the proposed system can be implemented in the

present system without supporting the existing hardware.

2.3.2. Economic Feasibility

Economic feasibility determines whether the time and money

are available to develop the system. It also includes the purchase of new

equipment, hardware, and software. A software product must be cost

effective in the development, on maintenance and in the use. Since the

hardware and resources are already available with the organization and the

organization can afford to allocate the required resources.

2.3.3. Operational Feasibility

Operational feasibility determines if the human resources are

available to operate the system once it has been installed. The resources that

Page 13: File Splitter

SANDEEP Page 13

are required to implement or install are already available with the

organization. The persons of the organization need no exposure to computer

but have to be trained to use this particular software. A few of them will be

trained. Further, training is very less. The management will also be

convinced that the project is optimally feasible.

2.4. EXISTING SYSTEM

The compression methods are used to transfer larger files.

Compression consists of two types. Lossless and lossy compressions.

For lossless compression the compressed file will decompress to an exact

duplicate of the original file, mirroring its quality. The disadvantage is

that the compression ratio is not all that high, precisely because no data is

lost. To get a higher compression ratio -- to reduce a file significantly

beyond 50% -- you must use lossy compression. But it leads to data loss.

2.5. PROPOSED SYSTEM File Splitter Software is used to split a large File into several chunks as per your need and also merge these chunks into original form without any type of data loss. Files breaker joiner application has the facility for breaking one or more documents into several small sizes of document on a single click. All in one combiner creator tools add, join, create, organize, arrange and manage small files segment into bigger one as per requirement. File Splitter program divides all type of files like word, excel, power point, audio, video, songs, documents, etc and all type of File format like midi, doc, txt, mpg, gif, tiff, png, zip, exe, mp3, jpg, bmp, avi, etc into several small custom size and Software again remerge, rejoin, recreate these files into original File without altering original data. Document Splitter joiner utility is very helpful to break up big size File for copying to floppy, CD or email and anyone can merge it again to get original File with this tool. This is a very simple and handy tool to split or merge files. You have

Page 14: File Splitter

SANDEEP Page 14

problem to carry large files? This Software can help you to split files into small pieces and join back, and the break size is up to you.

Features: * File splitting and joining utility has user friendly GUI. * File Splitter Software split very large File (GB) into small sizes or chunks and merge it back to get original File. * It is very fast, simple, easy and straightforward application. * File joiner combiner Merger Software supports Windows 98, ME, NT, 2000, 2003, NT 3.x, NT 4.x, XP, Vista, Longhorn and Windows 7 operating system. * Program is capable to reduce use of cache memory for particular splitting or combining process of files as per user’s choice. * Tool has most excellent splitting merging technique that performs your system at an incredible speed.

2.5 .OVERVIEW

The software should be developed according to the system. The

user interface module should be developed in such a way that the user can

easily operate the system. It is the responsibility of the developer to give

training to the user. His most important responsibility is maintenance. He is

responsible to give support to the customer when they are getting problem

related to the software.

This project has following additional features • Written in Java, so it runs on Mac OS, OS/2, Unix, VMS,vista and

windows

• Highly configurable and customizable

Page 15: File Splitter

SANDEEP Page 15

SY STE M R E Q U IR E M E N TSSY STE M R E Q U IR E M E N TSSY STE M R E Q U IR E M E N TSSY STE M R E Q U IR E M E N TS

SP E CIF ICA TIO NSP E CIF ICA TIO NSP E CIF ICA TIO NSP E CIF ICA TIO N

Page 16: File Splitter

SANDEEP Page 16

3. SYSTEM REQUIREMENTS SPECIFICATION

3.1 Purpose, Scope and Overview

The purpose of the project is to create a file splitter

that splits large files . In this project a large file is split into small pieces with

the size specified by the user. A batch file is also created to join those files into

the original one.

3.2. Functional requirements

The various Functional requirements of the

system can be summarized as follows:

• This editor is connected to the system compiler. So Java

Development tool kit (jdk (1.4)) or above must be available.

• To work with media packages Java Media Framework

should be installed.

• For using the short keys the operating system support

must be available.

• A text editor like Notepad also needed for editing the

application

3.3 User Interface Requirement

User Education and Training: -

To achieve the objectives and benefits expected from the computer

based system, it is essential for people who will be involved to be confident

of their role in the new system. This involves them in understanding the

Page 17: File Splitter

SANDEEP Page 17

overall system. As the system becomes more complex the need for education

and training is more and more important. Education of the user should really

have taken place much earlier in the project when they were being involved

in the investigation and design work. Once the staff has been trained the

system can be tested

System testing is an expensive but critical process that can make

as much as fifty percentage of the budget of the program development. The

common view of testing held by the user is that it is performed to prove that

there are no errors in the program. Therefore, the most practical approach is

with understanding that testing is the process of executing programs with the

intention of finding errors.

3.4. Performance Requirements

Considering the interactive nature of the task the system must have

the following characters.

• Minimum response time

• Efficient CPU utilization

• Less Memory space

• High reliability

• High flexibility

• User friendly

3.5. General Constraints

Page 18: File Splitter

SANDEEP Page 18

As the clients is not used to an automated environment they didn’t

impose any stringent constraints over the system. But they put they forth some

important comment that is desirable for the proposed system.

• They want an effortless use of editor.

• As the editor is not used to an automated environment they want

the data I\O screens to be user friendly and considerably simple.

3.6. Other Non Functional Requirements

Nonfunctional requirements define system properties and

constraints it arises through user needs, because of budget constraints or

organizational policies, or due to the external factors such as safety

regulations, privacy registration and so on. Nonfunctional requirements are:

• Security

• Reliability

• Maintainability

• Portability

• Extensibility

• Reusability

• Application Affinity/Compatibility

• Resource Utilization

Page 19: File Splitter

SANDEEP Page 19

SO F TW A R E Q U A L ITY A SSU R A NSO F TW A R E Q U A L ITY A SSU R A NSO F TW A R E Q U A L ITY A SSU R A NSO F TW A R E Q U A L ITY A SSU R A N CE CE CE CE

P L A NP L A NP L A NP L A N

Page 20: File Splitter

SANDEEP Page 20

4. SQA PLAN

4.1 Purpose, Scope and Overview

The purpose of this plan is to define the Software Quality

Assurance (SQA) for “FILE SPLITTER ”. SQA tasks and responsibilities;

provide reference documents and guidelines to perform the SQA activities;

provide the standards, practices and conventions used in carrying out SQA

activities; and provide the tools, techniques, and methodologies to support

SQA activities, and SQA reporting.

This plan establishes the SQA activities performed throughout

the life cycle of the “FILE SPLITTER”,

The goal of the SQA program is to verify that all software and

documentation to be delivered meet all technical requirements. The SQA

procedures defined herein shall be used to examine all deliverable software

and documentation to determine compliance with technical and performance

requirements.

4.2 SQA Tasks

Good software practice requires a measure of independence for

the SQA group. This independence provides a key strength to SQA; that is,

SQA has the freedom, if the quality of the product is being jeopardized, to

report this possibility directly above the level of the project. While in

practice this rarely occurs, for almost all problems are correctly addressed at

the project level, the fact that the SQA group can go above the project level

gives it the ability to keep many of these problems at the project level.

Page 21: File Splitter

SANDEEP Page 21

Figure below shows the SQA organization with relation to the

project organization.

IV &V SEPO

SQA

SCM

SystemsEngineering

SoftwareDevelopment

SoftwareTest

SystemTest

Logistics

ProjectManagement

ProgramManagement/

Line Management(Sponsor)

Figure: “FILE SPLITTER”, Organization

The following describes the functional groups that influence

and control software quality.

a. Program Management/Line Management (Sponsor) is

responsible for the following items:

1. Identifying an individual or group independent from the

project to audit and report on the project’s SQA function.

2. Identifying the quality factors to be implemented in the

system and software.

Page 22: File Splitter

SANDEEP Page 22

b. Project Management is responsible for:

1. Resolving and following-up on any quality issues raised

by SQA.

2. Identifying, developing and maintaining planning

documents such as the Program Management Plan.

c. System Engineering is responsible for:

1. Implementing the engineering practices, processes, and

procedures as defined in program/project planning documents.

d. Software Design/Development is responsible for:

1. Identifying, implementing, and evaluating the quality

factors to be implemented in the software.

e. Software Test is responsible for:

1. Verifying, Implementing the software test practices,

processes, and procedures as defined in program/project planning

documents.

f. System Test is responsible for:

1. Verifying the quality factors are implemented in the

system (software and hardware).

g. Logistics is responsible for:

1. Reviewing and commenting on the “file splitter” SQA Plan.

2. Implementing the quality program in accordance with

this SQA Plan.

h. Software Configuration Management (SCM) is

responsible for:

Page 23: File Splitter

SANDEEP Page 23

1. Implementing the SCM practices, processes and

procedures as defined in reference (e) and other program/project planning

documents.

i. Independent Verification and Validation (IV&V) is

responsible for:

1. Implementing the practices, processes, and procedures as

defined for IV&V in program/project planning documents.

j. Systems Engineering Process Office (SEPO) is

responsible for:

1. Maintaining the SQA Process.

2. Ensuring SQA training availability.

3. Providing assistance in software process engineering and

software process improvement.

TASKS TO BE PERFORMED

An SQA task is performed in relationship to what software

development activities are taking place. One or more SQA tasks can be

performed concurrently until a task is completed.

o Evaluate System Requirements Analysis Process

o Evaluate System Design Process

o Evaluate Software Requirements Analysis Process

o Evaluate Software Design Process

o Evaluate Software Tools

o Evaluate Software Implementation & Unit Testing Process

Page 24: File Splitter

SANDEEP Page 24

o Evaluate End-item delivery Process

o Evaluate Configuration Management Process

4.3 STANDARDS, PRACTICES, CONVENTIONS AND METRICS

To verify the delivery of a fully conforming, high-quality

product, every individual assigned to the project will participate in quality

assurance. This section describes the procedures used by SQA to verify that

the quality assurance provisions of this SQA Plan and applicable standards,

practices, conventions, and metrics are met.

The following measurements will be made and used to

determine the cost and schedule status of the SQA activities: SQA milestone

dates (planned)

a. SQA milestone dates (completed)

b. SQA work scheduled (planned)

c. SQA work completed (actual)

d. SQA effort expended (planned)

e. SQA effort expended (actual)

f. SQA funds expended (planned)

4.4 TEST “FILE SPLITTER” testing activity includes unit level testing,

integration testing, performance testing (CI Qualification Testing), and

acceptance testing (System Qualification Testing). Figure 6-1 provides the

Test Process Flow. SQA shall audit and verify that the software and test

documentation is subject to configuration management control. SQA shall

witness the tests and verify that test results are recorded and evaluated. SQA

Page 25: File Splitter

SANDEEP Page 25

CM Controlled: SRS, Design Spec,

Source Code

Test Configuration: Test Plan, Test

Cases, Test Procedures, Test

Tools, Test Environment

Testing Test Results Expected Results

Evaluation

Errors

Corrections

shall coordinate the maintenance of Problem/Change Report (P/CR),

sometimes called Software Trouble Report (STR), logs with SCM and shall

verify that software changes are controlled according to reference (e). SQA

shall witness regression-testing resulting from P/CRs or STRs to verify the

effectiveness of the correction.

Page 26: File Splitter

4.5 TOOLS, TECHNIQUES, AND METHODOLOGIES Tools - SQA software tools include, but are not limited to,

operating system utilities, debugging aids, documentation aids, checklists,

structuring preprocessors, file comparators, structure analyzers, code

analyzers, standards auditors, simulators, execution analyzers, performance

monitors, statistical analysis packages, software development folder/files,

software traceability matrices, test drivers, test case generators, static or

dynamic test tools, and information engineering CASE tools.

Techniques - techniques include review of the use of standards,

software inspections, requirements tracing, requirements and design

verification, reliability measurements and assessments, and rigorous or

formal logic analysis.

Methodologies - methodologies are an integrated set of the

above tools and techniques. The methodologies should be well documented

for accomplishing the task or activity and provide a description of the

process to be used.

Where applicable, SQA will use SEPO organizational processes

and tailor the processes specific to the project.

CODE CONTROL

Code control includes the items listed below:

a. Identifying, labeling, and cataloging the software to be controlled

b. Identifying the physical location of the software under control

c. Identifying the location, maintenance, and use of backup copies

d. Distributing copies of the code

e. Identifying the documentation that is affected by a change

f. Establishing a new version

Page 27: File Splitter

Page 27

g. Regulating user access to the code.

MEDIA CONTROL

Media control includes adequate protection from

unauthorized access.

SUPPLIER CONTROL

Prior to any purchase of software to support the development

effort, SQA and project members will define and provide complete

requirements to the supplier/vendor. The Software Tool Evaluation Process

will be followed. Part of the evaluation process will require the supplier or

vendor to describe their technical support, handling of user questions and

problems, and software product upgrades.

All supplier software has been operationally tested in the target

system. No future supplier software is planned.

RECORDS COLLECTION, MAINTENANCE AND RETENTION

SQA activities are documented by records and reports that

provide a history of product quality throughout the software life cycle.

Measurement data collected will be reviewed for trends and process

improvement. All SQA records will be collected and maintained in the SDL

or archival storage for the life cycle of the product.

Page 28: File Splitter

Page 28

4.6 Appendix

AI Action Item CMM Capability Maturity Model CRLCMP Computer Resource Life Cycle Management Plan CI Configuration Item DBDD Database Design Description DCR Document Change Request DID Data Item Description FCA Functional Configuration Audit FQR Formal Qualification Review IDD Interface Design Description IEEE Institute of Electrical and Electronics Engineers IRS Interface Requirements Specification IV&V Independent Verification and Validation KPA Key Process Area OJT On-the-Job PCA Physical Configuration Audit P/CR Problem/Change Report PDR Preliminary Design Review PP&O Project Planning and Oversight PRR Product Readiness Review SCM Software Configuration Management SDD Software Design Document SDF Software Development File SDP Software Development Plan SDR System Design Review SEI Software Engineering Institute SEPO Systems Engineering Process Office SME Software Management for Everyone SPI Software Process Improvement SQA Software Quality Assurance SRR System Requirements Review

Page 29: File Splitter

Page 29

SY STE M E N V IR O N M E N TSY STE M E N V IR O N M E N TSY STE M E N V IR O N M E N TSY STE M E N V IR O N M E N T

Page 30: File Splitter

Page 30

5. SYSTEM ENVIRONMENT The following hardware and software are required for the

development and deployment of the system.

5.1 Hardware

Processor : Intel Pentium IV

Main Memory : 512 MB RAM

Hard Disk : 80 GB

CD Drive : 52X speed

Mouse : Standard two button or higher

Keyboard : Standard 101-102 key keyboard

Display : 15” Monitor Other devices : Modem

5.2 Software

Operating System : Windows 2000/XP And Vista

Language Used : JAVA

Tools : NETBEANS IDE

5.2.1 Operating System Info

WINDOWS XP OPERATING SYSTEM

The operating system used was Microsoft Windows XP. The

Windows XP provides a suitable environment for the smooth functioning of

the project.

Page 31: File Splitter

Page 31

Windows XP makes personal computing easy. Power,

performance, a bright new look and plenty of help when you need it.

Windows XP has it all, along with unmatched dependability and security.

Windows XP professional marks a new standard in business

software combining enterprise-class performance and reliability with

unprecedented ease of use. Built on the rock-solid foundation of Microsoft’s

proven Windows 2000 technology, Windows XP Professional contains all

the features of Microsoft Windows XP Home Edition, and includes new and

enhanced features designed especially for business and advanced use.

The all-new Help and Support Center in Windows XP is our

one-stop shop for:

� Clear how-to instructions

� Engaging start-to-finish articles

� Troubleshooting advice.

Special wizards give you step-by-step instructions to smooth

the way when connecting new devices and running new software.

5.2.2 ABOUT THE LANGUAGE

JAVA:

Java is the first programming language designed from ground up with

network programming in mind. The core API for Java includes classes and

interfaces that provide uniform access to a diverse set of network protocols.

As the Internet and network programming has evolved, java has maintained

Page 32: File Splitter

Page 32

its cadence. New APIs and toolkit have expanded the available options for

the Java network programmer.

Java is both a programming language and an environment for

executing programs written in Java language. Unlike traditional compilers,

which convert source code into machine level instructions, the Java compiler

translates Java source code into instructions that are interpreted by the

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

an interpreted language

Java Environment:

The Java environment is composed of several separate entities

Java Language:

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

executable contents such as applications and applets. But Java is not pure

object oriented language, it does not support multiple inheritance & Operator

overloading.

Java Runtime Environment:

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

the Java language and Java virtual machine. It is portable and it is platform

neutral.

Java tools:

It is used by the developers to create Java code. They include Java

compiler, Java interpreter, classes, libraries and applet viewer.

Java Application:

Applications are programs written in Java to carry out certain tasks on

stand alone local computer. Execution of a stand-alone program involves

two steps.

Compiling the source code in to byte code using javac.

Page 33: File Splitter

Page 33

Executing byte code program using Java interpreter

Java Applets:

Java applets are pieces of Java code that are embedded in HTML

document using the applet tag. When the browser encounters such code it

automatically download it and execute it.

Java Virtual Machine:

It is a specification to which Java codes must be written. All Java code

is to be compiled in this nonexistent virtual machine. Writing the code that

compiles in JVM ensures platform independence.

Advantages of Java

Java is Robust:

Robust programs are those reliable programs that are unlikely to fail

even under the most unlikely conditions. Many languages like C do not have

this feature because they are relaxed in terms of type checking in terms of

programming errors. Java is strict about type declaration and does not allow

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

memory or corrupt data.

Java is secure:

Java allows creation of virus-free, tamper free systems to be created.

It ensures security in the following ways.

• Pointers and memory allocations are removed during compile time.

• The interpreter verifies all byte codes before executing.

• All Java applets are treated as entrusted code executing in trusted

environment.

Page 34: File Splitter

Page 34

Because Java was written to support distributed applications over the

computer networks, it can be used with a variety of CPU and operating

system architectures. To achieve this goal a compiler was created that

produces architecture-neutral object files from Java code.

Java is Portable:

Java byte code will be executed on any computer that has Java

Runtime Environment. The portability is achieved in the following ways.

• Java primitive data types and the behavior of arithmetic operations on

these data types are explicitly specified.

• The Java libraries include portable interfaces for each platform on

which the run time environment is available.

• The entire Java system itself is portable.

Java is small:

Because Java was designed to run on small computers, Java system is

relatively small for a programming language. It can run efficiently on PCs

with 4MB RAM or more. The Java interpreter takes up only a few hundred-

kilo bytes.

Java is garbage collected:

Java programs don’t have to worry about memory management. The

Java system has a built in program called the garbage collector, which scans

the memory and automatically frees the memory chunks that are not in use.

Java is dynamic:

Fundamentally distributed computer environments must be dynamic.

Java is capable of dynamic linking new libraries, methods and instance

variables as it goes without breaking and without concern.

Java Swing:

Page 35: File Splitter

Page 35

The swing classes eliminate Java’s biggest weakness: Its relatively

primitive user interface toolkit. Swing provides many new components and

containers that allow us to build sophisticated user interfaces, far beyond

what was possible with AWT. The old components have been greatly

improved, and there are many new components, like trees, tables, and even

text editors. It also adds several completely new features to Java’s user

interface capabilities: drag-and-drop, undo, and the ability to develop our

own “Look and Feel”, or the ability to choose between several standard

looks. The swing components are all “lightweight”, and therefore provide

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

software.

Reason for Using Java:

It is required to explore systems running different operating system. In

order to do so, there should be some way to connect to bridge those

operating systems so that all the differences between them are solved and the

functionalities are achieved. Also the functions performed in one system

should be able to transfer to another and the result should be able to reflect

there properly. Java serves as a bridge between these Operating systems.

Also Java is widely considered to be the best in developing network

applications.

The communication happens between Java Virtual Machines running

on the systems. When the client wants to perform the functionalities in

another system and see the result, a method in the remote system is invoked

from the client. The corresponding method in the remote system performs

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

Page 36: File Splitter

Page 36

5.2.3 ABOUT THE TOOL

NETBEANS IDE

The NetBeans Platform allows applications to be developed from a set

of modular software components called modules. A module is a Java

archive file that contains Java classes written to interact with the NetBeans

Open APIs and a manifest file that identifies it as a module.

Page 37: File Splitter

Page 37

SY STE M D E SIG NSY STE M D E SIG NSY STE M D E SIG NSY STE M D E SIG N

Page 38: File Splitter

Page 38

6. SYSTEM DESIGN

System design is the second phase of the software life cycle.

The system goes through logical and physical state of development. The user

oriented performance specification is extended into a design specification,

while designing the needed system. The design phase begins when the

Requirement Specification document for the software to be developed is

available. When the Requirement Specification activity is entirely in the

problem domain, design is the first step to move from the problem domain to

the solution domain. Design is essentially the bridge between the

requirements specification and the final solution solution for satisfying these

requirements.

6.1 INPUT DESIGN

Input design is the process of converting a user-oriented

description of the inputs to a computer-based business system into a

programmer-oriented specification. The design decision for handling input

specify how data are accepted for computer processing. Input design is a part

of overall design that needs careful attention.

The collection of input data is considered to be the most

expensive part of the system design. Since the inputs have to be planned in

such a way so as to get the relevant information, extreme care is taken to

obtain the pertinent information. If the data going into the system is incorrect

then the processing and outputs will magnify these errors. The goal of

Page 39: File Splitter

Page 39

designing input data is to make data entry as easy, logical and free from

errors as possible.

The following are the objectives of input design:

• To produce a cost effective method of input.

• To ensure validation.

Effort has been made to ensure that input data remains accurate

from

The stage at which it is recorded and documented to the stage at which it is

accepted by the computer. Validation procedures are also present to detect

errors in data input, which is beyond control procedures. Validation

procedures are designed to check each record, data item or field against

certain criteria.

6.2 OUTPUT DESIGN

The output design phase of the system design is concerned with the

conveyance of information to the end users in user-friendly manner. The output

design should be efficient, intelligible so that the system relationship with the

end user is improved and thereby enhancing the process of decision making.

The output design is an ongoing activity almost from the beginning of the

project, efficient and well-defined output design improves the relation of the

system and the user. The primary considerations in the design of the output are

the requirement of the information and the objective of the end user.

The system output may be of any of the following

• A report

• A document

Page 40: File Splitter

Page 40

• A message

6.3ARCHITECTURAL DESIGN

DATA FLOW DESIGN

Data flow diagram (DFD) was first developed by Larry

Constantine as a way of representing system requirements in a graphical

form; this led to modular design. A DFD describes what data flow (logical)

rather than how they are processed, so it does not depend on hardware,

software, and data structure or file organization. It is also known as ‘bubble

chart’.

A data Flow Diagram is a structured analysis and design tool

that can be used for flowcharting in place of, or in association with,

information-oriented and process-oriented system flowcharts. A DFD is a

network that describes the flow of data and the processes that change, or

transform, data throughout a system. This network is constructed by using a

set of symbols that do not imply a physical implementation. It has the

purpose of clarifying system requirements and identifying major

transformations that will become programs in system design. So it is the

starting point of the design phase that functionally decomposes the

requirement specifications down to the lowest level of detail.

A DFD can be considered as an abstract of the logic of an

information-oriented or a process-oriented system flow-chart. For these

reasons DFDs are often referred to as logical flow diagrams. The four basic

symbols used to construct data flow diagrams are shown below:

Page 41: File Splitter

Page 41

A rectangle represents a data

source or destination.

A directed line represents the flows of

data, which is data stream.

An enclosed figure, usually a circle or

an oval bubble, represents a process

that transforms data streams.

An open-ended rectangle represents

data storage.

These are symbols that represent data flows, data sources, data

transformations and data storage. The points at which data are transformed

are represented by enclosed figures, usually circles, which are called nodes.

The principle processes that take place at nodes are

1. Combining data streams

2. Splitting data streams

3. Modifying data streams

Page 42: File Splitter

Page 42

Data Flow Diagram

Response Request

Request Response

System

compile

Project User

Page 43: File Splitter

Page 43

Class Diagrams

Page 44: File Splitter

Page 44

Page 45: File Splitter

Page 45

Page 46: File Splitter

Page 46

Page 47: File Splitter

Page 47

SO F TW A R E TE STIN GSO F TW A R E TE STIN GSO F TW A R E TE STIN GSO F TW A R E TE STIN G

Page 48: File Splitter

Page 48

7. SOFTWARE TESTING

System testing provides the file assurance that software once

validated must be combined with all other system elements. System testing

verifies whether all elements have been combined properly and that overall

system function and performance is achieved.

Characteristics of a Good Test:

• Tests are likely to catch bugs

• No redundancy

• Not too simple or too complex

7.1 TYPES OF TESTING

7.1.1 Unit Testing

Unit testing focuses verification effort on the smallest

unit of software designs the module. To check whether each module in the

software works properly so that it gives desired outputs to the given inputs.

All validations and conditions are tested in the module level in the unit test.

Control paths are tested to ensure the information properly flows into, and

output of the program unit and out of the program unit under test. Boundary

conditions are tested to ensure that the modules operate at boundaries. All

independent paths through the control structure ensure that all statements in

a module have been executed at least once.

7.1.2 Integration Testing

The major concerns of integration testing are developing

an incremental strategy that will limit the complexity of entire actions

among components as they are added to the system. Developing a

component as they are added to the system, developing an implementation

Page 49: File Splitter

Page 49

and integration schedules that will make the modules available when needed,

and designing test cases that will demonstrate the viability of the evolving

system. Though each program works individually they should work after

linking them together. This is also referred to as interfacing. Data may be

lost across interface and one module can have adverse effect on another.

Subroutines after linking may not do the desired function expected by the

main routine. Integration testing is a systematic technique for constructing

program structure while at the same time conducting tests to uncover errors

associated with the interface. In the testing, the programs are constructed and

tested in small segments.

Here our objective is that to edit, compile and execute Java

programs within a single platform. Using integration test plan prepared in

the design phase of the system developments guide, the integration test is

carried out and all the errors found in the system are corrected for the next

testing steps.

7.1.3 System Testing

When a system is developed, it is hoped that it performs

properly. In practice however some errors always occur. The main purpose

of testing and information system is to find the errors and correct them. A

successful test is one which finds an error.

The main objectives of system testing are

• To ensure during operation the system will perform as

per specifications.

• To make sure that the system meets user’s requirements

during operation.

Page 50: File Splitter

Page 50

• To verify that the controls incorporated in the system

function as intended.

• To see that when correct inputs are fed to the system the

outputs are correct.

• To make sure that during operation incorrect input and

output will be deleted.

The scope of a system test should include both manual

operations and computerized. Operations system testing is a comprehensive

evaluation of the programs, manual procedures, computer operations and

controls. System testing is the process of checking if the developed system is

working according to the original objectives and requirements. All testing

needs to be conducted in accordance to the test conditions specified earlier.

Page 51: File Splitter

Page 51

SY STE M IM P L E M E N TA TIO NSY STE M IM P L E M E N TA TIO NSY STE M IM P L E M E N TA TIO NSY STE M IM P L E M E N TA TIO N

Page 52: File Splitter

Page 52

8. IMPLEMENTATION

System implementation is the conversion of new system into an

operating one which involves creating compatible files, training staff and

installing hardware. A critical factoring in conversion is not disrupting the

functioning of organization. User training is crucial for minimizing

resistance to change and giving chance to prove its worth.

Training aids user friendly manuals and healthy screens provide

the user with a good start. Software maintenance follows conversion to the

extent that changes are necessary to maintain satisfactory operations relative

to changes in the user’s environment. Maintenance often includes minor

enhancements or corrections to the problem that surface late in the systems

operations.

In the implementation phase, the team builds the components

either from scratch or by composition. Given the architecture document from

the design phase and the requirement document from the analysis phase, the

team should build exactly what has been requested, though there is still room

for innovation and flexibility. For example, a component may be narrowly

designed for this particular system, or the component may be made more

general to satisfy a reusability guideline. The architecture document should

give guidance. Sometimes, this guidance is found in the requirement

document.

The implementation phase deals with issues of quality,

performance, baselines, libraries, and debugging. The end deliverable is the

product itself. During the implementation phase, the system is built

Page 53: File Splitter

Page 53

according to the specifications from the previous phases. This includes

writing code, performing code reviews, performing tests, selecting

components for integration, configuration, and integration.

The implementation includes the following things.

• Careful planning

• Investigation of system and constraints.

• Design the methods to achieve the charge over.

• Training the staff in the changed phase.

• Evaluation of change over method.

The method of implementation and time scale to be adopted

are found out initially.

Page 54: File Splitter

Page 54

M A IN TE N A N CEM A IN TE N A N CEM A IN TE N A N CEM A IN TE N A N CE

Page 55: File Splitter

Page 55

9. MAINTENANCE

When the system is in maintenance phase, some people with in the

system are responsible for collecting maintenance requests from users

and other interested parties. The process of maintaining system is the

process of returning to the beginning of system development phase until

changes implemented.

System maintenance is the activity that occurs following the

delivery of the software product enhancement to software products

adapting products to new environment and correcting errors. Software

products enhancement may involve providing new functional capabilities

improving user displays and modes of intersection or upgrading the

performance characteristics of the system.

Problem correction involved modification and revalidation of

software to correct errors. The process that includes the diagnosis and

correction of one or more error is known as corrective maintenance.

As the software is used recommendation for new capabilities,

modification and general enhancement may be obtained and this leads to

perfect maintenance. When software is changed to improve feature

maintainability or reliability to preventive maintenance. For maintaining

this system the following have to be made strictly.

The executable generated several of the form and reports are only

given to the end users. The back up should be taken in order to safeguard

the system against any loss of data due to system manufacturing.

Page 56: File Splitter

Page 56

CO N CL U SIO NCO N CL U SIO NCO N CL U SIO NCO N CL U SIO N

Page 57: File Splitter

Page 57

10. CONCLUSION

� All Most Processes of the proposed system has been completed.

� Each and every phase in this project is developed keeping the goals in mind as per as concerned.

� Every project has its own limitations. Similarly this project also has its

limitations, which can be upgraded.

Page 58: File Splitter

Page 58

SCR E E N SH O TSSCR E E N SH O TSSCR E E N SH O TSSCR E E N SH O TS

Page 59: File Splitter

Page 59

11. SCREEN SHOTS

The front frame looks like this.

Page 60: File Splitter

Page 60

Browse to select the file to be split. Then select the location.

Page 61: File Splitter

Page 61

Give the size of the fragments. Then click split to split the file.

Page 62: File Splitter

Page 62

Double click on the batch file rejoin to get back the original file.

Page 63: File Splitter

Page 63

B IB L IO G R A P H YB IB L IO G R A P H YB IB L IO G R A P H YB IB L IO G R A P H Y

Page 64: File Splitter

Page 64

11. BIBLIOGRAPHY

B O O K SB O O K SB O O K SB O O K S

Java 2 Platform unleashed – Jamie Jaworsky Core Java 2 volume-1 fundamentals –Cay S. Horst Mann, Gary Cornell Software Engineering – A Practitioner’s Approach, Fifth Edition by

Roger S. Pressman

W E B SITE SW E B SITE SW E B SITE SW E B SITE S

http://java.sun.com

Page 65: File Splitter

Page 65

********************************************* ***************************** ************