file splitter
TRANSCRIPT
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
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
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
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
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
SANDEEP Page 6
SY N O P SISSY N O P SISSY N O P SISSY N O P SIS
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
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
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.
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
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.
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
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
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
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
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
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
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
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
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.
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.
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:
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
• 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
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
Data Flow Diagram
Response Request
Request Response
System
compile
Project User
Page 43
Class Diagrams
Page 44
Page 45
Page 46
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
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
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
• 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
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
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
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
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
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
CO N CL U SIO NCO N CL U SIO NCO N CL U SIO NCO N CL U SIO N
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
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
11. SCREEN SHOTS
The front frame looks like this.
Page 60
Browse to select the file to be split. Then select the location.
Page 61
Give the size of the fragments. Then click split to split the file.
Page 62
Double click on the batch file rejoin to get back the original file.
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
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
********************************************* ***************************** ************