Multi-Platform Based Virtual Terminal: 1.1 What Is A Command Prompt or Terminal?
Multi-Platform Based Virtual Terminal: 1.1 What Is A Command Prompt or Terminal?
Chapter 1
INTRODUCTION
--------------------------------------------------------------------------------A command prompt is used in a text-based or "command-line"
interface, such as a UNIX terminal or a DOS shell. It is a symbol or series of
characters at the beginning of a line that indicates the system is ready to
receive input. It other words, it prompts the user for a command (hence the
name).
Since a command prompt requires specific input, it is basically useless
if you don't know the syntax of the command you want to enter. Therefore,
knowledge of some basic commands is required to use a command-line
interface. Fortunately, most operating systems now use a graphical user
interface GUI as their main way of requesting input from the user. This
means you don't have to learn any special commands in order to use the
computer. However, learning to use a command-line interface is kind of like
learning to drive a car with a manual transmission. You never know when it
might come in handy.
1.1 What is a command prompt or Terminal?
A command prompt is a non-graphical interface that allows you to
interact with your operating system. At the command prompt, you enter
commands by typing their names followed by options and arguments. Most
modern computers use a graphical user interface (GUI), which allows users
to more intuitively access programs and documents. However, some
programs and commands are still only available only through a command
Page 1
Page 2
Page 3
Page 4
written.
Page 5
Chapter2
SOFTWARE ENGINEERING PARADIGM
----------------------------------------------------------------------------------------------------------Every project has its own methodology. Various methodology models
such as waterfall, incremental, prototyping, spiral etc. The model suitable for
our project is waterfall model.
2.1 Phases of Project :This section explains the various phases of the project. The software
model followed for implementing this project is waterfall model.
Page 6
Requirements
Analysis
Design
Implementation
Testing
2.1.1 Requirements Phase :In this phase, all the requirements of the project will be gathered
based on which the problem will be analyzed. We will try to understand the
specific requirements that must be achieved to implement this project. At the
end of this phase, we will have detailed understanding of the nature of
application to be developed by identifying the problem and specify refined
preliminary set of proposed solution.
DEPT. OF COMPUTER SCIENCE AND ENGG.
Page 7
Problem definition
Requirement Specification
2.1.1.1 Requirement specification :In the context of computer-based systems (and software), the term
specification means different things to different people, a specification can
be written document, a graphical model, a formal mathematical model, and a
collection of usage of scenarios, prototype or any combination of these. The
System specification is the final work product produced by the system and
requirements engineer. It serves as the foundation for the hardware
engineering, software engineering, database engineering and human
engineering. It describes the function and performance of a computer-based
system and the constrained that will govern its development. The
specification also describes the information that is input to and output from
the system.
2.1.1.2 Hardware requirements :These are the minimum requirements of the computer setup for the
product developed to run, giving satisfactory results. Any faster machine
would certainly improve the performance and speed.
1. Pentium III 700 MHz (2)
2. 64 MB Ram
3. 2 GB Hard Disk space.
Page 8
2.1.2 Analysis Phase :This phase analyzes the various aspects of the project. In this phase,
the architecture of the project will be designed and designed and decisions
regarding problem evaluation will be taken. The basic modules in which the
project will be divided will be taken. The technology decision for
implementing the project is taken in this phase.
2.2 Design :In this phase, we will come out with various UML diagrams, which
explain the design of the project. The database designing will be done
keeping in view the performance issues. All the data structures and
interfaces required would be designed as per the specifications mentioned in
Requirements phase.
2.3 Implementation :In this phase, we will decide the coding strategy that will be employed
to implements this Project. Based on the decided strategy, we will implement
the project using the technologies decided in analysis phase. The modules
will be implemented as per the design. The functionality of each unit will be
tested during this phase.
2.4 Testing :In this phase, various testing strategies like Unit Testing, Integration
Testing, Validation Testing and system Testing will be carried out for various
Page 9
mistakes.
With
this
in
mind,
object-oriented
Page 10
Page 11
Page 12
Page 13
2.6 The Architecture of the Java Virtual Machine :In the Java virtual machine specification, the behavior of a virtual
machine instance is described in terms of subsystems, memory areas, data
types, and instructions. These components describe an abstract inner
architecture for the abstract Java virtual machine. The purpose of these
components is not so much to dictate an inner architecture for
implementations. It is more to provide a way to strictly define the external
behavior of implementations. The specification defines the required
behavior of any Java virtual machine implementation in terms of these
abstract components and their interactions.
Figure 2.2 shows a block diagram of the Java virtual machine that
includes the major subsystems and memory areas described in the
specification. As mentioned in previous chapters, each Java virtual machine
has a class loader subsystem: a mechanism for loading types given fully
qualified names. Each Java virtual machine also has an execution engine: a
mechanism responsible for executing the instructions contained in the
methods of loaded classes. When a Java virtual machine runs a program, it
needs memory to store many things, including byte codes and other
information it extracts from loaded class files, objects the program
instantiates, parameters to methods, return values, local variables, and
intermediate results of computations.
Page 14
Page 15
Page 16
Page 17
Simple
Secure
Portable
Object-oriented
Robust
Multithreaded
Architecture-neutral
Interpreted
High performance
Distributed
Dynamic
3.1.3 Event Handling :3.1.3.1 Events :Event is an object that describes a state change in a source. It can be
generated as consequence of a person interacting with the elements in a
graphical user interface. Some of the activities that cause events to be
generated are pressing a button, entering a character via the keyboard,
electing an item in a list, and clicking the mouse.
DEPT. OF COMPUTER SCIENCE AND ENGG.
Page 18
Page 19
Page 20
3.3 Window Fundamentals :The AWT defines windows according to a class hierarchy that adds
functionality and specificity with each level. The two most common
windows are those derived from Panel, which is used by applets, and those
derived from Frame, which creates a standard window. Much of the
functionality of these windows is derived from their parent classes. Thus, a
description of the class hierarchies relating to these two classes is
fundamental to their understanding. Figure 3.1 shows the class hierarchy for
Panel and Frame.
3.3.1 Component :At the top of the AWT hierarchy is the Component class. Component
is an abstract class that encapsulates all of the attributes of a visual
component. All user interface elements that are displayed on the screen and
that interact with the user are subclasses of Component. It defines over a
DEPT. OF COMPUTER SCIENCE AND ENGG.
Page 21
Page 22
3.3.4 Window :The Window class creates a top-level window. A top-level window is
not contained within any other object; it sits directly on the desktop.
Generally, you wont create Window objects directly. Instead, you will use a
subclass of Window called Frame, described next.
3.3.5 Frame :Frame encapsulates what is commonly thought of as a window. It is
a subclass of Window and has a title bar, menu bar, borders, and resizing
corners. If you create a Frame object from within an applet, it will contain a
warning message, such as Java Applet Window, to the user that an applet
window has been created. This message warns users that the window they
see was started by an applet and not by software running on their computer.
DEPT. OF COMPUTER SCIENCE AND ENGG.
Page 23
Page 24
The above figure shows the general appearance of the virtual terminal
on Linux platform. As there is directory hierarchy on linux systems, the
execution starts from root folder. Thus, the terminal considers the home
folder as its root folder as shown above.
4.1.2 IP :The below figure shows the working of ip command. Ip command is
used to retrieve the information of particular website. Ip command retrieves
the ip addresses of the websites.
Page 25
Fig.4.3 IP Command
4.1.3 URLINFO :-
Page 26
Page 27
Page 28
4.1.8 SHOW :The below figure shows working of show command. When a file is
created in edit mode, it should be saved by a specific name. To view the
contents of a particular file show command is used.
Page 29
4.1.9 COPY :The below figure shows working of copy command. When the
contents of one file are to be copied into other file, the copy command is
used. We can copy contents of one file into one or more files simultaneously.
Page 30
COMMAND
Ip
Run
Date
Cls
Cd
Copy
MEANING
Internet Protocol
Run Program
Shows date
Clears Screen
Changes directory
Copy files
SYNTAX or EXAMPLE
ip yahoo.com hotmail.com
run calc notepad word prog
Date
Cls
cd Programs
copy readme.txt
newreadme.txt
Page 31
Shows Directory
Checks Memory
Changes prompt sign
Gives URL information
Dir
Memcheck
prompt >>>
urlinfo
Sort
Edit
Find
Kill
Save
Local
http://www.yahoo.com
sort bad perfect great
edit filename(optional)
find prog.dbm hello.txt
kill file1.txt file2.txt
save file1 file2 file3
Local
Nv
Bv
Ov
Osinfo
Whois
Date
Normal Video
Black Video
Orange Video
OS Information
Gives information of site
Nv
Bv
Ov
Osinfo
whois internic.net
Rename files
dotcom.com
ren oldName.txt
newName.txt
md newDirectory
show readme.txt
Exit
Help or ?
Quit
Ren
Md
Show
Exit
Help or ?
Quit
mode
Table 4.1 List of commands
Page 32
Chapter-5
TESTING DETAILS
----------------------------------------------------------------------------------------------------------Testing presents an interesting anomaly for the software engineer.
During earlier software engineering activities, the engineer attempts to build
software from an abstract concept to a tangible product. Now comes testing.
The engineer creates a series of test cases that are intended to "demolish" the
software that has been built. In fact, testing is the one step in the software
process that could be viewed as destructive rather than constructive.
Software engineers are by their nature constructive people. Testing
requires that the developer discard preconceived notions of the "correctness"
of software just developed and overcome a conflict of interest that occurs
when errors are uncovered.
5.1 Testing Objectives :1. Testing is a process of executing a program with the intent of nding an
error.
2. A good test case is one that has a high probability of nding an as-yetundiscovered error.
3. A successful test is one that uncovers an as-yet-undiscovered error.
These objectives imply a dramatic change in viewpoint. They move
counter to the commonly held view that a successful test is one in which no
errors are found. Our objective is to design tests that systematically uncover
different classes of errors and to do so with a minimum amount of time and
effort.
DEPT. OF COMPUTER SCIENCE AND ENGG.
Page 33
Page 34
Page 35
Page 36
Page 37
Page 38
Page 39
Page 40