Programing Techniques
Programing Techniques
Notes
This Icon represents ‘Notes’. Notes consists of additional information about
the topic
Reading Reference
This icon represents ‘Reading Reference’. Reading Reference lists the
books that the students must read for more understanding of the topic
Task
This icon represents ‘Tasks’. Tasks are related to the topic or even a
paragraph.
Caution
This Icon represents ‘Caution’. You are given instructions to be followed in
order to avoid errors or about precautions to be taken etc.
At the end of this introductory chapter on programming environment you will be able to:
· Understand the concept of Program and Program development.
· State the Steps in Task Analysis.
· Different methods of expressing the logic for problem solving.
· Solve some basic problems.
1.1 Introduction
Computers are now affecting every sphere of human activity and bringing about many changes in
industry, government, education, manufacturing, scientific research, law, social sciences and
even in arts like music and painting.
The areas of applications of computers are confined only by limitations on human creativity and
imagination. In fact, any task that can be carried out systematically, using a precise step-by-step
method, can be performed by a computer. Therefore it is essential for every educated person
today to know about a computer, its strengths, its weaknesses and its internal structure.
This chapter is an overview to the programming environment and it takes you through an
understanding of the systematic step-by-step approach that is required for programming.
Various computational steps are involved in problem solving. The procedure of how the
computation is carried out for getting the desired result can be expressed by a sequence of
instructions designed for solving a problem in such a manner that if the same sequence is
executed in the same manner indicated, it would produce the desired output.
That is, before finding a solution for the problem, try to understand:
1[1] 2[2]
1.4 Algorithm
An algorithm may be defined as a finite sequence of instructions (to solve a problem) which has
the following five basic characteristics:
1. An algorithm begins with instructions to accept inputs. These inputs are processed by
the subsequent instructions in the algorithm.
2. The processing rules specified in the algorithm must be precise, clear and
unambiguous.
3. Each instruction must be sufficiently basic such that it can, in principle, be carried out in
a finite time by a person with paper and pencil.
4. The total time to carry out all the steps in the algorithm must be finite. As algorithms
may contain instructions to repetitively carry out a group of instructions, this
requirement implies that the number of repetitions must be finite.
1[1] Task Analysis: Task analysis is a process required to build a solid software design foundation. Task analysis is also a way to
substantiate all aspects of the requirements of a given software application by rigorously examining the user task flow. Task analysis
also helps software designers to focus on solving the operational problems rather than implementation problems. By collaborating with
all team members, designers using task analysis can consider the design from new perspectives, ultimately making a difference for the
end users. The goal of task analysis is to empower the user beyond the original task requirements.
2[2] Write out a detailed step-by-step tasks for fixing a puncture on a bicycle.
Description:
Take a few examination answer sheets. Each of these papers will bear the names of students,
their roll numbers and the marks that they have obtained.e.g. Ganesh, roll number : 2005, marks
obtained : 68; similarly take Umesh, roll number: 2010; marks obtained : 59. Continue in the same
fashion, noting the marks obtained by another student Avi : 56; whose roll number is : 2008. ; and
lastly, Gopal roll number 2004 who has top scored with 72 marks.
This data must be simultaneously and separately entered onto a fresh sheet of paper which will
display the marks obtained by all the students under consideration. This sheet should be held as
the final data.
1.6 Flowcharting
Flowcharting is an important method of representing computer programming steps in a graphical
manner. At the end of this lesson you will be able to:
· Know and state the definition of Flowcharting.
· Define different symbols used to represent different processes.
· Draw flowcharts for different logic.
· Develop small program logic with the help of Flowchart.
2.0 Objective
At the end of this unit you will be able to:
· Understand how information is stored on to a computer.
· Different types of Data Representation and number systems.
· Conversion of Numbers between number systems.
· Binary Arithmetic.
· Representation of computer Characters.
2.1 Introduction
In the earlier chapter we have seen that the computer understands the
instructions given to it in a systematic manner, interprets these
instructions and executes these instructions as specified by the computer
program.
In this section we will look at the fundamental representation of Data.
Data is inputted into the computer may be in numerical form or in
alphabet form or even in alphanumeric form. Such numbers and
alphabets need to be recognised by the computer and stored in an
electronic form.
In this section we will define the number systems and will also provide
several examples for you to practice the conversion processes from one
number system to another. We have explained the number systems in
detail in your course on Elements of Information Technology and hence
we will restrict this chapter to more problems to be solved by you.
The computer stores and processes two basic types of data i.e.
characters and numbers. The character type data includes alphabets and
some special symbols. For example, name of students in a class,
description of an item in an inventory, are character data.
The numeric data contains numbers and symbols like decimal point,
minus sign, etc.
For example, roll numbers of students in a class, part numbers of an item
in inventory, phone number of persons in a locality is numeric data.
The symbols understood by the people and by the computer are different.
The representation of data in a system, which is understood by people, is
called as external data representation. The data in this form is not directly
usable by the computer. Hence it needs a conversion to a form
understood by the computer. Such a representation, directly usable by
the machine is called as internal data representation.
Internal representation matches the technology used by the computer to
store, access and process the data.
3[3] Why do have so many types of number systems? Over the years the microprocessors have evolved
from 8 bit processors to 32 bits. This means that the processing speeds have increased and made it
necessary for data representation to take place with corresponding bit sizes
=4 +2 · +0.25
= 6.25.
Example :2.
Data = 110011
Decimal Number =1 x 25 + 1x24 +0 x 23 + 0x22 + 1x21 + 1x20
= 32 + 16 + 0 + 0 + 2 + 1
= 51
Example :3
Data = 1101.01
Decimal Number = 1x23 +1 x22 + 0x21 + 1x20 . 0x2-1+ 1x 2-2
=8 +4 +0 +1 . 0 +1/4
= 13 . 0.25
= 13.25
4[4]
4[4]
Write the following in Decimal Form.
5[5]
6[6]
Hence we have,
(141)8 = 1 x 82+ 4 x 81 + 1 x 80
= 1 x 64 + 4 x 8 + 1
= 97
6[6] Whenever the remainder is less than the divisor then this is taken as the MSB.
7[7]
7[7] If while doing this we do not get a complete group of 3 digits then we assume the other digits to be 0
on the left hand side.
Description:
Octal to Binary Conversion. Consider each digits of the Octal number
write its binary equivalent in 3 bits e.g. 563.213 base 8 to binary. Octal
would be 563.213 binary is 101 110 011.010 001 011 therefore 563.213
to the base 8 equals 101110011.010001011 to the base 2. Hexadecimal
number system the hexadecimal number system has a base 16 the
symbols used are 0 to 9 and A to F decimal numbers 0 to 9 are the 0 to 9
in hexadecimal and the decimal numbers 10 to 15 are A B C D E and F in
hexadecimal respectively. The weights assigned to a hexadecimal
number are 163 162 161 160.16-1 16-2 hence the weights are 163 162 161
160 starting from the decimal point and moving to the left and giving the
weights of 16-1 16–2 starting from the decimal points and moving towards
the right.
8[8]
8[8]
Convert the following Binary numbers to Octal.
1. 1111
2. 101010
3. 1011
4. 10.001
5. 1.001
9[9]
9[9] In the Octal we consider a grouping of 3 bits as the octal is 8 which is equal to 23 . Hence we
consider a grouping of 3. Similarly for the hexadecimal the base is 16. i.e. 24 Hence we consider the
grouping of 4.
= 0+0+0+1 =1
We know that F is 15
Similarly we can write F as 1x 23 +1x22 + 1 x 21 + 1 x 20
= 8+4+2+1 = 15
This gives us the binary representation as 0100 1010 0001 1111
Therefore, ( 4A.1F)16 = (01001010.00011111)2
A B Sum Carry
0 + 0 = 0 0
1 + 0 = 1 0
0 + 1 = 1 0
1 + 1 = 0 1
1 1 0 0 1 . 0 0 1
Description:
Let us add 2 numbers represented as 1011.101 and 1101.100.
This is written as 1 0 1 1 . 1 0 1
+ 1 1 0 1 . 1 0 0
Starting from the right hand side we have 1 + 0 = 1; 0 + 0 = 0; 1 + 1 = 0
carry 1;
Carry 1 plus 1 is 0 carry 1 and 0 plus 1 is 1. Hence this gives 1 with a
carry 1.
Now
Now carry 1 plus 1 is 0 carry 1, 0 + 0 is 0.
Now
Now carry 1 plus 0 is 1 , and 1 + 1 is 0 carry 1
Carry 1 plus 1 is 0 carry 1, 0 plus 1 is 1. Hence this is written as 1 carry 1.
Now the carry number 1 is taken below and the entire value is written as
11001.001.
Example:
Let A = 1 0 1 1 0
Let B = 1 1 1 1
Here B = 01111.
Thus its One's complement is 10000.
Two's complement of B is 10000 + 1 = 10001.
Now add two's complement of B to A.
1 0 1 1 0 + 10 0 0 1 = 10 0 1 1 1
A B Product
0 X 0 = 0
1 X 0 = 0
0 X 1 = 0
1 X 1 = 1
Example :
10[10]
2.8 Summary
10[10]
From the above ASCII codes table represent your name in ASCII code.
3.0 Objective
At the end of this lesson you will be able to know:
· Different programming languages.
· How Instructions are written in each Programming Language.
3.1 Introduction
Languages are media, which are basically meant for communication. The
natural languages, which we speak, can effectively communicate the
ideas, feelings and facts. In this case the grammar of language although
well defined is not strict, in the sense many a time we can communicate
our ideas even with the incorrect use of grammar. The vocabulary of the
language in this case is unlimited. On the other hand computer languages
are the one, which are used for communicating only the facts with the
computer. There is no scope for communicating a feeling. The grammar
(syntax) of the computer language is very much rigid and the vocabulary
(semantics) is limited. In this section you will be introduced to the various
types of computer languages and their purpose.
11[11]
11[11] Click on the link below to learn a little more on Programming Languages
http://www.cs.adfa.oz.au/teaching/studinfo/itf/lect200015.html
12[12]
Find out more information about BASIC, COBOL, Pascal and Fortran languages with reference
12[12] to program structure, purpose/applications, advantages and disadvantages.
The Steps used in the process of translating a high level language source
program to executable code is given in Fig. above. The first block is
lexical analyser (or Scanner). It reads successive lines of a program and
breaks them into individual lexical items, namely identifier, operator,
delimiter etc. and attaches a type tag to each of these. Besides this it
constructs a symbol table for each identifier and finds the internal
representation of each constant. The symbol table is used later to allocate
memory to each variable.
The second stage of translation is called syntax analysis or parsing. In
this phase expressions, statements, declarations etc., are identified by
using the results of lexical analysis. Syntax analysis is aided by using
techniques based on formal grammar of the programming language.
In the semantic analysis phase the syntactic units recognised by the
syntax analyser are processed. An intermediate representation of the final
machine language code is produced. This phase bridges the analysis and
synthesis phase of translation.
The last phase of translation is code generation. A number of optimisation
processes to reduce the length of machine language program are carried
out during this phase. The output of the code generator is the machine
language program of the specified computer.
If subroutines are separately compiled the addresses of the resulting
machine language instruction will not be their final address when all the
routines are placed together in main memory. The linker's job is to find
the correct location of the final executable program. The loader will then
place them in the memory at their right addresses.
4.0 Objective
At the end of this chapter you will able to:
· Know the structured programming
· Essentials of structured programming
· Advantages of writing structured programs
· Qualities of a program
· Know how to Debug a Program?
4.1 Introduction
A computer program is said to be structured, if it has a modular design
and uses only the three types of logical structures, sequences, decisions
and loops.
· Sequences: Statements are executed one after another.
· Decisions: One of two blocks of program code is executed based
on a test for some condition.
· Loops (Iteration): One or more statements are executed
repeatedly as long as a specified condition is true.
One major shortcoming of earlier programming languages was their
reliance on the GoTo statement. This statement was used to branch (that
is jump) from one line of the program to another. It was common for a
program to be composed on a convoluted tangle of branching that
produced confusing code sometimes referred to as spaghetti code.
The logic of a structured program can be pictured using a flowchart that
flows smoothly from the top to the bottom without unstructured branching
(GoTos). Here is an example of a flowchart showing the structure with
and without the GoTo statement:
Many programming text teach the instruction formats and coding rules
necessary for writing programs without ever fully explaining the way
programs should be designed.
1. Easy to write
2. Easy to debug
Since each procedure is specialised to perform just one task, a
procedure can be checked individually. Older unstructured programs
consist of a sequence of instructions that are not grouped for specific
tasks. The logic of such programs is cluttered with details and
therefore difficult to follow.
3. Easy to Understand
The relationship between the procedures shows the modular design
of the program. Meaningful procedure names and clear
documentation identify the task performed by each
module/Meaningful variable names help the programmer identify the
purpose of each variable.
4. Easy to Change
Since a correctly written structured program is self-documenting, it
can be easily understood by another programmer.
Example:
When you visit your friends place, you enter his house from main-door.
Then you inquire where he is and accordingly approach to that room
where he is sitting. Similarly, during program execution different modules
or routines are called as and when they are required.
According to Tom Harbron, the Fundamental Principle of Structured
Programming is that at all times and under all circumstances, the
programmer must keep the program within his intellectual grasp. The
well-known methods for achieving this can be briefly summarised as
follows:
1) Top-down design and construction,
2) Limited control structures, and
3) Limited scope of data structures
The bald truth is that natural language is ill-suited for writing
specifications. As a corollary to this theorem, the most concise and
intellectually manageable form for the specification of an algorithm is the
algorithm itself.
A study of program structure has revealed that programs can differ
tremendously in their intellectual manageability. A number of rules have
been discovered, violations of which will either seriously impair or totally
destroy the intellectual manageability of the program.... I now suggest that
we confine ourselves to the design and implementation of intellectually
manageable programs. - E. Dijkstra
13[13]
An unconditional branch or transfer control statement (usually GOTO) in most of the languages
are avoided entirely in a well designed structure program.
A file rewriting utility organises the data in a file, in a format suitable for
processing by a program. The utility may perform blocking/deblocking of
data padding and truncation of fields and records, sorting of records, etc.
The file rewriting utility is a software tool according to Part I of Definition.
Test data generators help the user in selecting test data for this program.
Their use helps in ensuring that a program is thoroughly tested.
Automated test drivers help in regression testing, wherein a program’s
correctness is verified by subjecting it to a standard set of tests after
every modification. Regression testing is performed as follows: Many sets
of test data are prepared for a program. These are given as inputs to the
test driver. The driver selects one set of test data at a time and organises
execution of the program on the data.
4.8 Editors
Test editors come in the following forms:
Text editors
OK, it's probably time to explain what a text editor is, and how it differs
from a word processor. A modern text editor looks a bit like a word
processor. It has the usual apparatus of pull-down menus and/or clickable
icons for functions like opening and saving files, searching and replacing,
checking spelling, and so on. But it has no typesetting functionality. The
text you type appears on screen in a clear visual representation, but with
no pretense at representing the final printed appearance of the document.
Steps 4 and 5 are repeated until the end of the debug session.Unix
supported two debuggers — sdb which is a PL level debugger and adb
which is an assembly language debugger. Debug of IBM PC is an object
code level debugger.
4.16 Hypertext
Hypertext visualises a document to consist of a hierarchical arrangement
of information units, and provides a variety of means to locate the
required information. This takes the form of:
· Tables and indexes
· String searching functions
· Means to navigate within the document
· Backtracking facilities
Effectiveness of a hypertext document depends on the care with which it
is organised. Hypertext authoring systems have been developed to help
the application designer in the design of hypertext documents.
4.18.1 Menulay
Menulay is an early UIMS using the screen layout as the basis for the
dialog model. The UI designer starts by designing the user screen to
consist of a set of icons. A semantic action is specified for each icon. This
action is performed when the icon is selected. The interface consists of a
set of screens. The system generates a set of a icon tables giving the
name and description of an icon, and a list of (event, function_id) pairs
indicating the application function to be called when an event is selected.
4.18.2 Hypercard
This UIMS from Apple incorporates object oriented approach. A card has
an associated screen layout containing buttons and fields. A button can
be selected by clicking the mouse on it. A field contains editable text.
Each card has a specific background. A hypercard program is thus a
hierarchy of cards called a stack. User Interface behaviour is specified by
associating an action, in the form of a HyperTalk script, with each button,
field and card. The action for an event is determined by using the
hierarchy of cards as an inheritance hierarchy. Hypercard uses an
interpretive schematic to implement a User Interface
The linear sequential model has been evolved after the conventional
engineering cycle, and it involves the following activities:
4.20 Summary
In this chapter we have seen, what is Structured Programming? When a
program is said to be a structured program. Different advantages that can
be achieved by writing the structured programs. We discussed in details
different qualities of a program. How to write a program?, what program is
used for writing these programs. If any errors are there how to find out
those errors and how to correct the same or remove such errors.
We have seen how a user interact with the computer program. We
discussed Software life cycle and Software maintenance. Different steps
involved in Software maintenance.
Answers:
1. structured
2. flowchart
3. routine or a function
4. software tool
5. Debug
6. debug monitor
7. profile monitor
8. debug assertion
9. User Interface
10. Hypertext
5.0 Objective
At the end of this chapter you will able to:
· Know different System Documentation Techniques.
· Understand Process Chart.
· Understand the Functional Decomposition Diagram.
· Understand the System Flow Charts.
· Understand HIPO Charts and VTOC Charts.
· Understand Program Structure Charts.
· Understand Structured Flowcharts (Nassi-Shneiderman Diagram).
5.2.1 Objectives
· Understand the rules and style guidelines for functional
decomposition diagrams (FDDs).
· Understand the process used to create FDDs.
· Be able to create a Functional Decomposition Diagram.
Organizations perform a variety of different functions. Traditionally,
managers thought of the functions of a business as departments, such as
Marketing, Finance, and Accounting. However, they are beginning to view
business functions as important processes that occur throughout the
organization's value chain, which is the series of interdependent activities
that bring a product or service to the customer.
The process of starting at a high level and moving into smaller and
smaller subsystems is called decomposition. The functional
decomposition diagram (FDD) is a planning tool for identifying business
functions and the processes that comprise them. The functional
decomposition diagram itself does not depict process flows, but rather the
hierarchical organization of functions and the processes that they include.
Process
The FDD can include several levels of functions that are broken down into
finer gradations called processes. A process is an activity that is
performed for some specific business reason, and it is denoted by a
rectangle with rounded corners. The conceptual dividing point is
somewhat arbitrary, but you can usually differentiate a process from a
function by the amount of activity that it represents. A process represents
a tangible activity that occurs within the organization, such as issuing a
driving test or creating a license. Names should be short, yet contain
enough information so that the reader can easily understand exactly what
they do. In general, each process performs only one activity, so most
Connectors
Connectors are lines between functions, processes, and from a function
to a process. They specify hierarchical relationships among the
components of the FDD. Unlike processes and functions, connectors are
not named, but instead their presence implies the phrase "consists of."
For example, the Driver's Licensing System process consists of the Issue
Driving Tests and Issue License subprocesses. Every component on an
FDD should be connected to at least one other component.
A related symbol found on the FDD is the off-page connector. FDDs can
become quite unwieldy, especially when depicting a large or complex
program. A hexagon is used to continue the diagram on another page.
(1)
(2)
(4)
Description
Let us look at one example of building a structure chart for above
example.
Step 1: Draw Data Flow Diagram.
· Operator enters the Employee Number and request the number to
process.
· The employee number then will be validated from the employee
file, there are two possibilities: either the number could be valid or
invalid, i.e., the number may be existing or not existing. Here the
process returns the flag indicating whether it is available or not in
the Employee master file.
· When the flag returns true value, then the employees record will
be found and vouched. Then Bonus is computed and accordingly
the figures are updated.
· Otherwise, if invalid number is entered, then operator will be given
a message about the same and requested to reenter the valid
number.
Step 2: Identify the input, central transform and output part of the DFD.
The Central transform depicts the portion of the DFD where the
14[14]
14[14]
To know more about this topic visit :
http://www.smartdraw.com/resources/centers/orgcharts
Peter Chen developed ERDs in 1976. Since then Charles Bachman and
James Martin have added some sligh refinements to the basic ERD
principles. The ER model was adopted as the meta model for the ANSI
Standard in Information Resource Directory System (IRDS), and the ER
approach has been ranked as the top methodology for database design
by several surveys of FORTUNE 500 companies.
The Entity-Relationship model is described in most textbooks on
databases and information systems analysis. It is included as a
fundamental topic in the ACM/IEEE recommended curriculum on
computer science and information systems. The ER model also serves as
the foundation of some of the recent work on Object-Oriented analysis
and design methodologies and Semantic Web.
The hypertext concept, which makes the World Wide Web extremely
popular, is very similar to the main concept in the ER model.
Entity-Relationship models are a common tool for specification and
design of information systems. They use a graphical technique for
displaying the objects of the system and relationships among them. The
design process can be enhanced by specifying constraints of the system
and the natural environment for these is the categorical notion of sketch.
COPYRIGHT CORNELL INFOMATICS PVT LTD 100 PROG TECHNIQUE & PRACTICE
procedure that it is still operational. Before exiting, it updates statistics.
One exception condition is the receipt of an erroneous message type (not
A or B). In this case an error message is returned and processing of
further messages is terminated.
The N/S chart for this server is shown in Figure 7. It comprises three main
blocks. The first one initializes various parameters in the program. The
second one performs the message processing. The third block updates
statistics.
The message processing block checks to see if there are any messages
in the queue. If not, an “I’m Alive” message is sent. If the queue contains
messages, their message types are analyzed via a case statement which
calls the appropriate message processing routine (MSGA or MSGB). If an
erroneous message type is found, an error message is sent and an exit is
made from the server.
Note that three new notations have been introduced:
· The procedure or process name is indicated at the top of the
chart.
· Called procedures are noted with asterisks (e.g., *MSGA*).
· The EXIT operator is an implied transfer of control to the bottom of
the block, thus terminating the procedure or process.
COPYRIGHT CORNELL INFOMATICS PVT LTD 101 PROG TECHNIQUE & PRACTICE
Figure 5.14 N/S Example
COPYRIGHT CORNELL INFOMATICS PVT LTD 102 PROG TECHNIQUE & PRACTICE
· There is no way to represent a GOTO. GOTO-less coding is
assured. (The EXIT operator is the only case of a very limited use
of GOTO in some languages.)
· Structured coding proceeds pleasantly and effortlessly from these
charts. Whereas (in Nassi and Schneiderman’s words) “the
translation from flow chart to computer program is a one to many
relationship whose output ranges over programs only some of
which are legible, concise and efficient,” N/S charts give rise to
code that is quite consistent in its content and quality.
COPYRIGHT CORNELL INFOMATICS PVT LTD 103 PROG TECHNIQUE & PRACTICE
Figure 5.15 Decision table (Decision Making)
COPYRIGHT CORNELL INFOMATICS PVT LTD 104 PROG TECHNIQUE & PRACTICE
Figure 5.16 Layout of a Decision Table
Applying these rules, the decision table for the discount policy can be
created as in figure below. The rules have been given serial numbers 1 to
8. Rules 1 and 5 been marked with C to indicate contradictions as the
purchase amounts cannot be in the two ranges simultaneously. To further
define this table, rule 4 and 8 can be combined, as the action is
determined irrespective of the entry values of old customer condition. In
this case, we call the rule as indifferent to the condition and the show it
with the symbol of indifference (-).
COPYRIGHT CORNELL INFOMATICS PVT LTD 105 PROG TECHNIQUE & PRACTICE
The table is shown in the following figure.
COPYRIGHT CORNELL INFOMATICS PVT LTD 106 PROG TECHNIQUE & PRACTICE
Figure 5.18 Modified Decision Table for the Discount Policy
COPYRIGHT CORNELL INFOMATICS PVT LTD 107 PROG TECHNIQUE & PRACTICE
A decision tree is a diagram that presents conditions and actions
sequentially and thus, shows which conditions to considered first, which
second and so on. It resembles the branches of a tree and hence the
name. A decision tree corresponding to the decision policy mentioned in
the previous section is given in the following figure:
COPYRIGHT CORNELL INFOMATICS PVT LTD 108 PROG TECHNIQUE & PRACTICE
own specified areas and thus, structured English should not be confused
as an alternative to these
COPYRIGHT CORNELL INFOMATICS PVT LTD 109 PROG TECHNIQUE & PRACTICE
COPYRIGHT CORNELL INFOMATICS PVT LTD 110 PROG TECHNIQUE & PRACTICE
Figure 5.21 Domain Chart Notations
COPYRIGHT CORNELL INFOMATICS PVT LTD 111 PROG TECHNIQUE & PRACTICE
Figure 5.23 Context Level Data Flow Diagram
COPYRIGHT CORNELL INFOMATICS PVT LTD 112 PROG TECHNIQUE & PRACTICE
Description
Context Level DFD
· In this diagram notice that, we have few entities and a process.
· Arrow indicates the flow of data, and arrow head indicates the
direction.
In short, this depicts the flow of data from entity to process or from
process to entity.
DFD levels
The first level DFD shows the main processes within the system. Each of
these processes can be broken into further processes until you reach
pseudocode.
COPYRIGHT CORNELL INFOMATICS PVT LTD 113 PROG TECHNIQUE & PRACTICE
Figure 5.25 An Example of Typical Data Flow Diagram
Description
Let us try to understand the process of drawing data flow diagram for a
college payroll system. The purpose of this exercise is to make you aware
of the different levels of data flow diagram.
Suppose we have a Context Level diagram and now we would like to
explode this to the next level.
First let us look at the diagram, External entities are Employee, Accounts
Dept., and Bank. There are three processes.
(1.0) Prepare Attendance and Leave statement.
(2.0) Prepare payroll register.
(3.0) Prepare Bank statement and Deduction Report.
Notice that from external entity arrows are either flowing to the process or
vice versa. When such flow takes place, some data is exchanged, which
is shown along the arrows.
Also notice that since this process uses few files that is also mentioned in
open ended rectangles. Carefully, go through this entire diagram.
To understand the sub-processes, click on the process circles (to know
sub-processes of 1.0 click on circle 1.0). Click on Back (key) to return to
the original figure.
A. This is the exploded figure of process 1.0.
COPYRIGHT CORNELL INFOMATICS PVT LTD 114 PROG TECHNIQUE & PRACTICE
B. This is the exploded figure of process 2.0.
C. This is the exploded figure of process 3.0.
Arrows moving from process to data store indicates that data is recorded
or stored on the disk (File). Similarly, arrows coming from data store to
process indicates that the data has been read/retrieved from the file.
COPYRIGHT CORNELL INFOMATICS PVT LTD 115 PROG TECHNIQUE & PRACTICE
5.13 Summary
In this chapter we have seen some basic programming documentation
techniques. We have learned different tools and methods which are used
in documentation like Process chart, Functional Decomposition Diagram
(FDD), System Flow Charts, HIPO charts, VTOC charts, Program
Structure charts, Structured Flowchart, Entity-Relationship diagram (E-R
Diagram), Data Flow Diagrams etc.
While understanding different methods of documentation and
representation we have seen different notations that can be used for
documentation purpose.
COPYRIGHT CORNELL INFOMATICS PVT LTD 116 PROG TECHNIQUE & PRACTICE
5.14 Recapitulation
Evaluate
1. A _____________ chart shows hierarchy or levels of process in
the system.
2. The ___________________ is a business planning tool that
depicts the hierarchy of business functions, processes, and
subprocesses within an organization.
3. A functional decomposition diagram is composed of
____________ .
4. A ____________ is an activity that is performed for some specific
business reason, and it is denoted by a rectangle with rounded
corners.
5. A ___________ are lines between functions, processes, and from
a function to a process.
6. HIPO chart stands for ____________________ .
7. A ______________ is a design tool that visually displays the
relationship interact and also graphically depicts the data that are
communicated between various modules.
8. Structure charts are developed prior to the writing of
____________ code.
9. ________________ models are a common tool for specification
and design of information systems.
10. A ________________ is a matrix of rows and columns.
COPYRIGHT CORNELL INFOMATICS PVT LTD 117 PROG TECHNIQUE & PRACTICE
Long Answer Questions:
1. Explain the different System Documentation Techniques
2. Explain the Functional Decomposition Diagram with example.
3. What are the I HIPO Charts and VTOC Charts. Why do we need
them. Explain in detail.
4. Why do we need Program Structure Charts. Describe their usage
with example.
5. Explain Structured Flowcharts (Nassi-Shneiderman Diagram).`
6. Explain various Logic Representation Techniques with suitable
examples.
7. What is a DATA Flow Diagram. Describe various symbols used by
it. How many levels can be there for a DFD. Explain each of them.
Answers:
1. Process hierarchy
2. functional decomposition diagram
3. functions
4. process
5. Connectors
6. hierarchical input-processing-output
7. structure chart
8. program
9. Entity-Relationship
10. decision
COPYRIGHT CORNELL INFOMATICS PVT LTD 118 PROG TECHNIQUE & PRACTICE
COPYRIGHT CORNELL INFOMATICS PVT LTD 119 PROG TECHNIQUE & PRACTICE
Chapter 6: Bootstrap Process
6.0 Objective
At the end of this chapter you will be able to know the Bootstrap Process or Booting
Process or Power-On-Self-Test (POST) Process.
6.1 Booting
The process of starting the Computer is called as BOOTING. The word ‘booting’ has
been derived from the word “BOOT STRAP”.
There are three parts to the startup of the computer. The ROM-BIOS (present in the
ROM) contains the startup routines, which get the computer started when the power
is switched on.
The first part of the Basic input is the output services routines, which test whether the
computer is in good working order. These also include memory test and erasing of
any previous information that may be present in the memory (whenever we talk of
memory we mean RAM not ROM).
The second part is the initialization part. In this are included the steps that tell ROM-
BIOS what equipment is present. This is done by reading the permanent memory or
CMOS that records the equipment that the computer has.
The last part of the startup routines is the “boot” routine. This loads the operating
system needed to work on the computer. To be able to work on the computer, the
operating system must always be present in the memory. In case of DOS, the system
files are:
IO.SYS.
MSDOS.SYS.
COMMAND.COM.
Is called Bootable-disk.
The COMMAND.COM is the only file that can be seen by you; the other two being
hidden files. These files are present in the first sector (called as the boot sector) of
the disk. After the computer is switched on, ROM-BIOS searches for the operating
system on the disk(s) in the sequence specified in its CMOS. On finding it, the
operating system is loaded into the memory.
After the start-up procedure is finished, the computer is ready to accept our
commands. There are other two parts of the ROM-BIOS that form a key part in the
running of the computer. These are hardware-interrupt handling and service-
handling. The service-handling routines carryout whatever services are required by
our programs. These routines perform services related to the computer’s hardware
COPYRIGHT CORNELL INFOMATICS PVT LTD 120 PROG TECHNIQUE & PRACTICE
devices such as the screen, keyboard, disks, printers etc. You shall see them for
yourself when you start working with the programs. The hardware-interrupt handling
part takes care of the independent needs of the computer’s hardware.
If the operating system is Windows NT then the booting process is as follows. After
the first and the second part of booting, the bootstrap process starts. This consists of
loading the operating system in the memory. Windows NT requires the following files
for booting, Ntldr, Boot.ini and Ntdetect.com. All these files are hidden and are read-
only. The sequence is run as follows:
Ntldr switches the processor into 32-bit memory mode, starts appropriate system
drivers, reads the Boot.ini file and displays the operating system selections, loads the
OS selected by the user. Now if Windows NT is selected, Ntldr runs Ntdetect.com, if
other OS is selected, Ntldr loads and runs Bootsect.dos and passes control to it.
Ntldr now loads Ntokml.exe and the boot process ends.
15[15]
Cold Boot — When the Electricity is put off and when switch-on the
system.
Warm Boot—When the Control, Alt and Delete keys are pressed
simultaneously or when the Rest key is pressed. In this case the first and
the second steps of booting are skipped.
Depending on the operating system used, the computer will display a command
prompt to let you know that the booting process is complete.
If the operating system is DOS and the C disk is used for booting then the command
prompt is C:>, if the A disk is used then the command prompt will be as A:> (Booting
is generally never done from the B drive and never from the D drive).
COPYRIGHT CORNELL INFOMATICS PVT LTD 121 PROG TECHNIQUE & PRACTICE
The "Power Good" signal is received by the microprocessor timer chip, which
controls the reset line to the microprocessor. The time between turning on the
switch to the generation of the "Power Good" signal is usually between 0.1
and 0.5 seconds.
In the absence of the "Power Good" signal, the timer chip continuously resets
the microprocessor, which prevents the system from running under bad or
unstable power conditions.
The microprocessor timer chip receives the "Power Good" signal:
After the power supply is switched on, the microprocessor timer chip
generates a reset signal to the processor (the same as if you held the reset
button down for a while on your case) until it receives the "Power Good"
signal from the power supply.
After the reset signal turns off, the CPU begins to operate. Code in RAM
cannot be executed since the RAM is empty. The CPU manufacturers pre-
program the processor to always begin executing code at address
"FFFF:0000" (usually the ROM BIOS) of the ROM.
The CPU starts executing the ROM BIOS code:
The CPU loads and executes the ROM BIOS code starting at ROM memory
address "FFFF:0000" which is only 16 bytes from the top of ROM memory.
As such, it contains only a JMP (jump) instruction that points to the actual
address of the ROM BIOS code.
The BIOS searches for adapters (usually video adapters) that may need
to load their own ROM BIOS routines:
Video adapters provide the most common source of adapter ROM BIOS. The
start-up BIOS routines scan memory addresses "C000:0000" through
"C780:0000" to find video ROM.
An error loading any adapter ROM generates an error such as: "XXXX ROM
Error" where XXXX represents the segment address of the failed module.
The ROM BIOS checks to see if this is a 'cold boot' or a 'warm boot':
To determine whether this is a "cold boot" or a "warm boot" the ROM BIOS
startup routines check the value of the two bytes located at memory location
"0000:0472".
Warm boot - A word value of 1234th in this location is a flag that indicates a
"warm boot", which causes the memory test portion of the POST (Power-On
Self-Test) to be skipped.
Cold boot - Any other word value in this location indicates a "cold boot" and
full POST.
POST (Power-On Self-Test):
COPYRIGHT CORNELL INFOMATICS PVT LTD 122 PROG TECHNIQUE & PRACTICE
The POST is a series of diagnostic tests that run automatically when you turn your
computer on. The actual tests can differ depending on how the BIOS is configured,
but usually the POST tests the following:
The Video adapter - It is initialised, the video card and video memory is tested,
and configuration information or any errors are displayed.
The RAM - A read/write test of each memory address is performed and a running
sum of installed memory is displayed.
The keyboard - PS/2 ports or USB ports are checked to verify whether the
keyboard is connected or not.
The Processor - The cache memory is checked and the CPU type and speed are
displayed.
CMOS - Read/write test.
ROM BIOS checksum.
RAM refresh verification.
16[16]
Any errors found during the POST are reported by a combination of beeps and
displayed error messages. The errors which occur during the POST can be classified
as either 'fatal' or 'non-fatal'. A non-fatal error (e.g. problem in the extended memory)
will typically display an error message on the screen and allow the system to
continue the boot process.
A fatal error (e.g. problem in the processor), on the other hand, stops the process of
booting the computer and is generally signalled by a series of beep-codes. However,
successful completion of the POST is indicated by a single beep.
The BIOS locates and reads the configuration information stored in
CMOS:
CMOS (Complementary Metal-Oxide Semiconductor) is a small area of
memory (64 bytes) which is maintained by the current of a small battery
attached to the motherboard. Most importantly, for the ROM BIOS startup
routines (boot sequence), CMOS determines the order in which drives should
be examined for an operating system (floppy disk first, CD-Rom first, or fixed
disk first). Furthermore, it holds some essential information such as hard drive
size, memory address location, and Date & Time.
Shadow RAM: (Optional, you can turn it off/on using the CMOS settings):
16[16] "The POST operations are not the same for the all BIOS software".
COPYRIGHT CORNELL INFOMATICS PVT LTD 123 PROG TECHNIQUE & PRACTICE
Shadow RAM is where a copy of BIOS routines from ROM is stored in a
special area of RAM, so that the BIOS routines can be accessed more
quickly.
Loading the OS (Operating System):
The BIOS will attempt booting using the boot sequence determined by the
CMOS settings, and examine the MBR (Master Boot Record) of the bootable
disk. The MBR is the information in the first sector (512 bytes) of any hard
disk or diskette that identifies how and where an operating system is located
so that it can be loaded into the RAM (booted).
The MBR is also sometimes called the "partition sector" or the "master
partition table" because it includes a table that locates each partition that the
hard disk has been formatted into. In addition to this table, the MBR also
includes a program that reads the boot sector record of the partition
containing the operating system to be booted into RAM. In turn, that record
contains a program that loads the rest of the operating system into RAM.
17[17]
6.4 Formatting
The process of getting a disk ready for use is called “Formatting”. In the process of
formatting, the sectors and tracks within the disk are checked and all bad sectors and
tracks are marked so that no information gets written on it.
Formatting is done by the operating system therefore different operating system have
different way of formatting disk. Formatting logically divides disk into:
System Area.
Data Area (where File/data is
stored).
COPYRIGHT CORNELL INFOMATICS PVT LTD 124 PROG TECHNIQUE & PRACTICE
6.4 Summary
In this chapter we have seen in detail the process of POST (Power-On-Self-Test) or
Bootstrap Process and different steps of starting up of a system. We have discussed
how to make a disk bootable disk. Now we know that when can a disk be called as a
bootable disk.
COPYRIGHT CORNELL INFOMATICS PVT LTD 125 PROG TECHNIQUE & PRACTICE
6.6 Recapitulation
Evaluate:
Fill in the blanks:
1. The process of getting a _____________ready is called formatting.
2. POST stands for ______________________________________.
3. The _________________chip receives the "Power Good" signal:
4. The word ‘booting’ has been derived from the word ________________
5. The ____________________ is the only file that can be seen by user.
COPYRIGHT CORNELL INFOMATICS PVT LTD 126 PROG TECHNIQUE & PRACTICE
Chapter 7: Functions of Operating System
7.0 Objective
At the end of this chapter you will be able to:
Describe different functions of operating system.
Know memory management function of O/S.
Know Input/Output management function of O/S.
Know file management function of O/S.
Know device management function of O/S.
18[18]
18[18] If the memory management is done by the software itself it is called overlay management.
Static
and
Dynamic.
Static Partitions
As the OS occupies some part of the memory, it maintains a table of
partitions called partitions table, where partitions are predefined. This
table consists of partition no., size and status, which will be either
“Free” or “Allocated” Status. When a program is to be loaded into the
memory, the OS scans the partition table for the appropriate part in
which the program can be loaded completely.
7.1.3 Compaction
One solution to the problem of fragmentation is compaction. The goal
is to shuffle the memory contents to place all the memory together in
one large block. For e.g. the memory map can be compacted as
shown in figure 7.2.
the Memory Map Table consists of Block No., Status. (see figure 7.3).
A hierarchical structure.
Consistent treatment of file data.
The ability to create and delete files.
Dynamic growth of files.
The protection of file data.
The treatment of peripheral devices (such as terminals and
tape units) as files.
OPERATION INTERRUPT
VECTOR
1.Making program memory 21H
resident
2. Returning to system prompt 31H
8.0 Objective
This chapter will teach you
Relations and types of relations.
Representation of relations in Digraph, Hasse diagram and Matrix
forms
Boolean Arithmetic
Equivalence relations
Types of Functions.
8.1 Introduction
There are many different types of recording and transmission
channels and consequently there will be different mechanisms, which
may result in errors. Irrespective of the cause, all of these
mechanisms cause one of two effects. There are large isolated
corruptions of transmitted bit stream of data by noise. These are
called error bursts, where numerous bits are corrupted all together in
an area, which is otherwise error-free. Alternatively, there can be
random errors affecting single bits or symbols. Whatever the
mechanism, the result will be that the received data will not be exactly
the same as those sent. It is a tremendous advantage of digital
communication that the discrete data bits will be each either right or
wrong. A bit cannot be off-colour as it can only be interpreted as 0 or
1. Thus the subtle degradations of analog systems are absent from
digital transmission channels and will only be found in converters.
Equally if a binary digit is known to be wrong, it is only necessary to
invert its state and then it must be right and indistinguishable from its
original value. Thus in digital transmission, error correction itself is
trivial; the hard part is working out which bits need correcting.
Error correction works by adding some bits to the data, which are
calculated from the data. Below figure 8.1 shows that this creates an
entity called a codeword, which spans a greater length of time than 1
bit alone. The statistics of noise means that whilst one bit may be lost
in a codeword, the loss of the rest of the codeword because of noise is
highly improbable. Codewords are designed to be able to correct
totally a finite number of corrupted bits. The greater the timespan over
which the coding is performed, the greater will be the reliability
achieved. However engineers have to compromise, because an
Decimal 7 6 5 4 3 2 1 ¬
digit A B C X4 D X2 X1 Positions
0 0 0 0 1 0 1 1
1 0 0 0 1 1 0 0
2 0 0 1 0 0 1 0
3 0 0 1 0 1 0 1
4 0 1 0 0 0 0 1
5 0 1 0 0 1 1 0
6 0 1 1 1 0 0 0
7 0 1 1 1 1 1 1
8 1 0 0 0 0 0 0
9 1 0 0 0 1 1 1
X2 = Å1 ÅD ÅB A
X4 = Å1 ÅC ÅB A
At the receiver, the check bits are calculated. If there is error some of
the checks will fail indicating an error. The position of the error also
can be found out. For example, if there is an error in 6th position, X2
check and X4 check will fail indicating an error in (2 + 4)th position.
The Hamming code discussed in this section belongs to a class called
a non-systematic code. The concept of a systematic code is as
follows
where n = q + k Þ q = n-k
In partitioned notation, code vector is
x = (M : C) ..
(8.6)
where M = k-bit message vector, and
C = q-bit parity check vector.
Given a message vector M, the corresponding code vector
X for a systematic (n, k) block code can be obtained by matrix
multiplication
X = MG
... (8.7)
Here Gk × n is generator matrix having general
structure
G = (Ik : P) ...
(8.8)
where Ik = (I)k × k , identity matrix of order k.
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
Thus
step (1):
………..(i)
Step (3):
Generator matrix Gk×n = G4×7
G = (Ik : P)
Decimal m4 m3 m2 m1 Decimal m4 m3 m2 m1
No No.
0 0 0 0 0 8 1 0 0 0
1 0 0 0 1 9 1 0 0 1
2 0 0 L 0 10 1 0 1 0
3 0 0 1 1 11 1 0 1 1
4 0 1 0 0 12 l 1 0 0
5 0 1 0 1 13 1 1 0 1
6 0 L 1 0 14 1 1 1 0
7 0 1 1 1 15 1 1 l 1
C\3 = m1 mÅ2 mÅ 0 Å4
Step 6: Hence, we get the encoder shown in Fig. 8.3 that
carries out the check-bit calculations for the given Hamming code.
Decimal M C W(X)
No.
m4 m3 m2 m1 C3 C2 C1
0 0 0 0 0 0 0 0 0
19[19]
Smallest non-zero weight = 3. This implies that the minimum Hamming distance is given
19[19] by dmin = 3.
bit position 1 2 3 4 5 6 7
bit position 1 2 3 4 5 6 7
Y= 1 0 0 1 0 0 1
i e [ 1 0 0 1 0 0 1 ] º [ 1 0 1 1 0 0 1] Å [e1 e2 e3 e4 e5 e6 e7]
Hence we get the following relations to compute elements of E vector:
l = 1 Å e1 Þ e1 = 0
0 = 0 Å e2 Þ e2 = 0
0 = 1 Å e3 Þ e3 = 1
1 = 1 Å e4 Þ e4 = 0
0 = 0 Å e5 Þ e5 = 0
0 eÅ= 0 6 Þ e6 = 0
1 eÅ= 1 7 Þ e7 = 0
Thus S=[101]
….(c)
It is to be noted that presence of non-zero elements in S indicates
errors.
It is further observed from Equations (a) and (c) that the syndrome
vector matches with the third column of parity check matrix [H]. The
number of possible n-bit error-vectors is given by 2n — k, where bits.
Thus for (7, 4) Hamming code, we generated = 2(7 -4) = 23 = 8.
For error-free transmission,
i.e. E = [ 0 0 0 0 0 0 0 ] implies S = [0 0 0]
20[20]
But suppose a received word happens to have two errors, such that
E= (1 0 0 0 0 1 0)
The decoder then calculates S from
S = YHT = EHT (Note: modulo-2 addition)
20[20]
If such multiple transmission errors per word are sufficiently infrequent, we need not be
concerned about the occasional extra errors committed by the decoder.
If multiple errors are frequent a more powerful code would be required, eg.
An extended Hamming code (8, 4) can be developed by appending a fourth check bit such
that all code-words have even parity. Then
(a) we can develop code-words (16 in number since m = 4)for this (8, 4) Hamming code, such
that dmin = 4.
(b) The corresponding equation for 4th check bit C4 can be obtained in terms of message bits
m1, m2, m3, m4.
(c) Then the decoding system of Fig. 8.3(b) of Table look-up decoder can be modified to
perform double-error detection as well as single- error correction
With the gate turned and the switch (SW) in position 2, the
contents of the shift register are shifted into the channel. Thus the
code-word X is generated and sent over the channel,
where X = (xn-1, xn-2, ….. x1 x0)
(mºk-1 mk-2 … m1 m0 : Cq-1 Cq-2 … C1 C0)
Thus the message has number of bits = k, and check vector contains
q bits.
Hence the shift register encoder generates the codeword X having a
total of k + q = n bits.
The hardware required to implement the encoding scheme consists of
an (n—k) = q bit shift register
a maximum of (n — k) = q modulo-2 adders.
an AND gate, and
a counter to keep track of the shirting operations.
21[21]
(i) The code vector in part(a) corresponding to message vector (1 0 1 0) is expressed in non
symmetric form, viz (1 0 0 1 1 1 0), since its first four elements do not match with 1 0 1 0.
(ii) The code vector in part (b) is expressed in symmetric form, viz.
(1 0 1 0 : 0 1 1), since its first four elements match with message vector 1 0 1 0.
(iii) However, if we write all the sixteen code vectors by using the two methods, it will be
observed that the code contains the same set of 16 code vectors.
22[22]
22[22]
Additions in Eqs. (ii) and (iii) are modulo 2 additions. When the message (1100) is input
(MSB first), then the shift register bit positions will be indicated as shown in Table 2.8.
... (8.34)
9.0 Objective
At the end of this chapter you will be able to:
Define a variable.
Define and describe the data type.
Know different data types.
Know about literals and types of literals.
Describe the scope of the variable.
Declare the variable names.
Know initialisation of variable.
9.1 Introduction
Many a time while writing program or at the time of coding, you require
some working space for storing intermediate values or derived values.
The memory which is reserved for storing such values need to be
identified with some common name. This value is always referred by
the name and such a name is called a variable. As the values of
contents of the memory keeps changing, as and when the user
manipulates the data, this is termed as variable.
When you declare a variable some space in the Random Access
Memory (RAM) is reserved, where the values are stored. RAM being
user memory contents of this is always available to the user.
An object stores its state in variables. A variable is an item of data
named by an identifier. You must explicitly provide a name and a type
for each variable you want to use in your program. The variable's
name must be a legal identifier - an unlimited series of unicode
characters that begins with a letter. You use the variable name to refer
to the data that the variable contains. The variable's type determines
what values it can hold and what operations can be performed on it.
To give a variable a type and a name, you write a variable declaration,
which generally looks like this:
type name
In addition to the name and type that you explicitly give a variable, a
Variable has scope. The section of code where the variable's simple
name can be used is the variable's scope.
(2)
9.3 Literals
Literal Data
Type
178 int
8864L long
37.266 double
37.266D double
87.363F float
26.77e3 double
'c' char
true boolean
false boolean
9.5 Scope
Exception-handler parameter.
10.0 Objective
At the end of this chapter you will be able to:
Know the concept of file.
Understand the file organisation methods.
Know different file organisations.
Know different accessing modes.
Understand different file handling functions.
Know different instructions and addressing techniques.
10.1 Introduction
The file system is the most visible part of an Operating System.
Logically related data items on the secondary storage are usually
organised into named collection called files. A file, for example, may
contain a report, an executable program, or a set of commands to the
operating system. In this chapter, we consider the various way to map
files onto devices.
In addition to simple model of a file as an array of bytes, some
commercial operating system allow file typing and file structuring to be
superimposed upon the basic view. File typing refers to the ability of
the operating system to distinguish the different types of files, such as
text file and binary files. Information in a file is defined by its creator.
Many different types of information may be stored in a file: source
program, object program, numeric data, text, payroll records, graphic
images, sound recordings, and so on. A file has certain defined
structure according to its type. A simple extreme is to simply encode
the file type as a part of its name; the extension field is commonly
used for this purpose. Example of file types encoded as an extension
are: .PAS, .OBJ, .TXT and .EXE for a Pascal source and object
(compiled but not linked), a text file and an executable process image,
respectively. Another approach is to encode the file type within the
body of the file itself. In any case, the purpose of file typing is to
prevent meaningless operation on files, such as execution of a text file
or editing of a process image.
To keep track of files, the file system normally provides directories,
which in many systems are themselves files. In principle, an entry of a
directory defines a file. A file is usually defined by its name, its
10.2.6 Database
A database is a general collection of data shared by a variety of users.
In particular it has the features:
Items of data occur only once (i.e. redundant and replication of data
are eliminated).The data is independent of any one program.
The data is usable by many users.
The use of database is standardised.
COPYRIGHT CORNELL INFOMATICS PVT LTD 209 PROG TECHNIQUE & PRACTICE
Active Server Page (Asp) An HTML page that includes one or more scripts
(small embedded programs) that are processed on
a Microsoft Web server before the page is sent to
the user. An ASP is somewhat similar to a server-
side include or a common gateway interface (CGI)
application in that all involve programs that run on
the server, usually tailoring a page for the user.
Typically, the script in the Web page at the server
uses input received as the result of the user's
request for the page to access data from a
database and then builds or customizes the page
on the fly before sending it to the requestor. ASP
is a feature of the Microsoft Internet Information
Server (IIS), but, since the server-side script is just
building a regular HTML page, it can be delivered
to almost any browser. You can create an ASP file
by including a script written in VBScript or JScript
in an HTML file and then renaming it with the
".asp" file suffix. Microsoft recommends the use of
the server-side ASP rather than a client-side script,
where there is actually a choice, because the
server-side script will result in an easily displayable
HTML page. Client-side scripts (for example, with
JavaScript) may not work as intended on older
browsers.
COPYRIGHT CORNELL INFOMATICS PVT LTD 210 PROG TECHNIQUE & PRACTICE
Adc Automatic Data Capture. The general capability of
gathering status, location, and identifying
information without human intervention. ADC
reduces the need for manually keying in data and
the risk of inaccuracies. Technologies used in ADC
include bar coding, magnetic stripes, smart cards,
machine vision, biometric identification, voice
recognition, optical character recognition, and
Radio Frequency Identification.
COPYRIGHT CORNELL INFOMATICS PVT LTD 211 PROG TECHNIQUE & PRACTICE
along the line.
COPYRIGHT CORNELL INFOMATICS PVT LTD 212 PROG TECHNIQUE & PRACTICE
combination of commercial telephone lines and
cellular and satellite transmissions.
Bbs Bulletin Board System Software that enables users to log into email,
usenet and chat groups via modem.
COPYRIGHT CORNELL INFOMATICS PVT LTD 213 PROG TECHNIQUE & PRACTICE
is not the finally version of a product or web site,
but it's close enough to show in public and work
the bugs out.
COPYRIGHT CORNELL INFOMATICS PVT LTD 214 PROG TECHNIQUE & PRACTICE
Bot Bot is short for "robot." It is a program on an IRC --
or undernet -- system which acts as a real person
by accepting certain commands and responding.
Broadband Web A vision of the future World Wide Web with high
speed broadband connections to the home and
desktop. The Broadband Web is expected to pose
a significant threat to CD-ROM use and to favor
high quality small independent multimedia
developers who can afford to offer their products
on the Web but who cannot afford to mass market
a CD-ROM.
COPYRIGHT CORNELL INFOMATICS PVT LTD 215 PROG TECHNIQUE & PRACTICE
Microsoft's Internet Explorer is gaining usage as
Windows 95 installations grow.
Call Detail Reporting 1)The logging and reporting of details about each
connection by users to a LAN through a network
access server . 2) The logging and reporting by a
PBX of voice or data calls made from the PBX to
the Public Switched Telephone Network or vice-
versa.
Caps Lock Key A key on the left side of your keyboard. When
pressed it changes all typed letters to capitals until
it is pressed again. It only affects letters; not
punctuation, symbols or numbers.
COPYRIGHT CORNELL INFOMATICS PVT LTD 216 PROG TECHNIQUE & PRACTICE
drive that is able to write to special CDs called CD-
Rs.
COPYRIGHT CORNELL INFOMATICS PVT LTD 217 PROG TECHNIQUE & PRACTICE
place at once on your screen. You can also get
into a private chat room where only you and one or
two others may talk. This can be an inexpensive
way to keep up with friends and relatives who are
online.
COPYRIGHT CORNELL INFOMATICS PVT LTD 218 PROG TECHNIQUE & PRACTICE
products and establish a wide variety of niche
markets.
COPYRIGHT CORNELL INFOMATICS PVT LTD 219 PROG TECHNIQUE & PRACTICE
Controlling Evaluating performance and Controlling resources.
COPYRIGHT CORNELL INFOMATICS PVT LTD 220 PROG TECHNIQUE & PRACTICE
one another, and allows the use of different
cryptography code for domestic sales (in the USA)
and for export. See export laws.
COPYRIGHT CORNELL INFOMATICS PVT LTD 221 PROG TECHNIQUE & PRACTICE
Data Protection The prevention of the passing of an individual's
personal information from one computer system
where the information legitimately resides to other
computer systems without the consent of the
individual. In the United Kingdom the Data
Protection Act of 1984 requires the registration of
every data user who processes personal
information.
COPYRIGHT CORNELL INFOMATICS PVT LTD 222 PROG TECHNIQUE & PRACTICE
Design Overview The Design Overview is the high-level design
document that is used to outline the overall system
process flow, business process flow, and any
impacted objects requiring more detailed designs.
The Design Overview also identifies the Design
Team Members.
COPYRIGHT CORNELL INFOMATICS PVT LTD 223 PROG TECHNIQUE & PRACTICE
networks. Diffie-Hellman itself cannot be used to
encrypt or decrypt messages. The patent on the
algorithm expired on April 29, 1997.
Disk Drive The mechanism that rotates the magnetic disk and
positions the read/write head(s) at the desired
location.
COPYRIGHT CORNELL INFOMATICS PVT LTD 224 PROG TECHNIQUE & PRACTICE
system.
COPYRIGHT CORNELL INFOMATICS PVT LTD 225 PROG TECHNIQUE & PRACTICE
worth digging for.
COPYRIGHT CORNELL INFOMATICS PVT LTD 226 PROG TECHNIQUE & PRACTICE
Eeprom Electronically Erasable Programmable Read Only
Memory. A type of ROM chip that can be
electronically erased and reprogrammed in circuit
using software. The introduction of EEPROM
allowed expansion devices to be configured using
software instead of jumpers and DIP switches.
COPYRIGHT CORNELL INFOMATICS PVT LTD 227 PROG TECHNIQUE & PRACTICE
Enterprise Resource An industry term for the broad set of activities
Planning (Erp) supported by application software that helps a
manufacturer or other business manage the
important parts of its business, including product
planning, parts purchasing, maintaining
inventories, interacting with suppliers, providing
customer service, and tracking orders.
File Transfer Protocol The tool used to retrieve information in the form of
(FTP) electronic files from any number of computer
systems linked via the TCP/IP protocol. Users in
effect transfer copies of information found on
remote computers either directly to their own
computers or to a service provider’s network and
COPYRIGHT CORNELL INFOMATICS PVT LTD 228 PROG TECHNIQUE & PRACTICE
then to their own computers.
Ftp File Transfer Protocol One of the original protocols on the internet, ftp is a
complex set of computer commands that enable
information files to pass from one computer to
another online. Fortunately, the commands are
embedded in most browser programs and all you
COPYRIGHT CORNELL INFOMATICS PVT LTD 229 PROG TECHNIQUE & PRACTICE
have to do is click.
COPYRIGHT CORNELL INFOMATICS PVT LTD 230 PROG TECHNIQUE & PRACTICE
Hardware Articles made of material, such as aircraft, ships,
tools, computers, vehicles, fittings, and their
components (mechanical, electrical, electronic,
hydraulic, pneumatic). Computer software and
technical documentation are excluded.
COPYRIGHT CORNELL INFOMATICS PVT LTD 231 PROG TECHNIQUE & PRACTICE
which makes it far more valuable than the tracking
devices in any other media.
Html Hypertext Markup HTML is the program language that defines and
Language determines the look of a web page. It is a fairly
simple language and there are hundreds of sites
online and books which tell you how to write and
use it, but unless your business is web page
design, you're better off hiring a webmaster or
online design shop to handle the task.
Http Hypertext Transport This is the programming protocol that defines how-
Protocol - or commands -- a webserver to respond to a
request for data, whether text, graphics or
multimedia.Without it no information would pass
COPYRIGHT CORNELL INFOMATICS PVT LTD 232 PROG TECHNIQUE & PRACTICE
along the web from a server to your computer.
COPYRIGHT CORNELL INFOMATICS PVT LTD 233 PROG TECHNIQUE & PRACTICE
means to locate the required information.
COPYRIGHT CORNELL INFOMATICS PVT LTD 234 PROG TECHNIQUE & PRACTICE
Interactive Multimedia An application involving substantial user input or
control and presenting at least two of the following:
text, graphics, sound, image, video, and animation.
Applications can be in the areas of education,
entertainment, information and publishing, and
transactions.
Internal Rate Of Return The rate of discount that makes the net present
value (NPV) equal to zero.
Internet Key Management A part of the IETF standard for IPSec which
Protocol (Ikmp) combines the Oakley protocol for key exchange
with the ISAKMP protocol for key management.
COPYRIGHT CORNELL INFOMATICS PVT LTD 235 PROG TECHNIQUE & PRACTICE
Internotes A software product from Lotus Development
Corporation which allows users to turn information
into a database that can be accessed through the
World Wide Web.
Irc Internet Relay Chat A facility that allows people -- from many different
places in the world at one time -- to chat in real
time. The chats, or forums, are typed remarks, and
they can be either public or private. This,
understandably, is a wildly popular consumer area
of the internet. A sort of "ham radio" for the '90s, it
offers intimacy combined with autonomy. Many
celebrities are also talking to the public at pre-
announced times, so IRC has commercial publicity
uses, too. Business meetings can be conducted in
the same way.
COPYRIGHT CORNELL INFOMATICS PVT LTD 236 PROG TECHNIQUE & PRACTICE
roughly four times faster -- 128,000 bits per second
-- than a normal phone line.
Isp Internet Service A business that provides access to the internet. Its
Provider services are available to either individuals or
companies, and include a dial-in interface with the
internet, software supply and often web site and
intranet design. There are currently over 3,000
ISPs in the U.S. alone. It's a growth business, and
as a result pricing is highly competitive, so shop
around.
COPYRIGHT CORNELL INFOMATICS PVT LTD 237 PROG TECHNIQUE & PRACTICE
products like Corel's Office for Java.
COPYRIGHT CORNELL INFOMATICS PVT LTD 238 PROG TECHNIQUE & PRACTICE
Led Light emitting diodes.
Machine Languages The Machine languages uses the strings of 0's and
COPYRIGHT CORNELL INFOMATICS PVT LTD 239 PROG TECHNIQUE & PRACTICE
1's (binary digits) which is not understood very
easily by us.
COPYRIGHT CORNELL INFOMATICS PVT LTD 240 PROG TECHNIQUE & PRACTICE
(increasing returns) as the network gets bigger.
COPYRIGHT CORNELL INFOMATICS PVT LTD 241 PROG TECHNIQUE & PRACTICE
on which the output from the computer is
displayed. This helps the user to interface with the
computer.
COPYRIGHT CORNELL INFOMATICS PVT LTD 242 PROG TECHNIQUE & PRACTICE
Multimeter A Voltmeter or Ammeter that has a switch setting
allowing it to measure voltage (ac or dc),
resistance in ohms or continuity of a circuit
COPYRIGHT CORNELL INFOMATICS PVT LTD 243 PROG TECHNIQUE & PRACTICE
little but mindless drivel.
Numeric Keypad A set of keys to the right of the main part of the
keyboard, used for numeric data entry.
COPYRIGHT CORNELL INFOMATICS PVT LTD 244 PROG TECHNIQUE & PRACTICE
printed document to resolve every doubt.
COPYRIGHT CORNELL INFOMATICS PVT LTD 245 PROG TECHNIQUE & PRACTICE
Optical Character A technique in which any printed, typed, or
Recognition (OCR) handwritten copy or graphic images are scanned
by an electronic reader that converts the
information into a form that can be read,
interpreted, and displayed by computers.
COPYRIGHT CORNELL INFOMATICS PVT LTD 246 PROG TECHNIQUE & PRACTICE
received over the Internet or the Web. The term
implies that each payment is automatic and that
simply requesting the information provides
agreement to pay for it.
Pdf Portable Document PDF is a file type created by Adobe Systems, Inc.
Format that allows fully formatted, high-resolution,
PostScript documents to be easily transmitted
across the Internet and viewed on any computer
that has Adobe Acrobat Reader software (a
proprietary viewer is available for free at the Adobe
site). Corporations that have invested in brand
name identification use PDF to display the original
look of their logos and advertising. Publishers can
create a high-quality brochure and then "publish" it
as is, without converting it to HTML. Anyone
interested in presenting documents with the
highest possible resolution or a complex layout
might choose to use PDF. PDF files can be
distributed via e-mail, web pages, CD-ROMs,
online services and LANs. They can also contain
hyperlinks, QuickTime® movies, and sound clips.
COPYRIGHT CORNELL INFOMATICS PVT LTD 247 PROG TECHNIQUE & PRACTICE
term cross-platform refers to applications, formats,
or devices that work on different platforms. For
example, a cross-platform programming
environment enables a program mer to develop
programs for many platforms.
Plug And Play Plug and Play is a technology that can reduce
conflicts between computer devices by
automatically configuring them at startup.
However, for it to work properly your BIOS and
your Operating System both must support PnP,
and the device being configured must be a Plug
and Play device. The technology actually works
pretty good but there can be problems when you
mix legacy devices with PnP.
Pop3 Post Office Protocol A protocol used to retrieve e-mail from a mail
server. Most e-mail applications (sometimes called
an e-mail client) use the POP protocol, although
some can use the newer IMAP (Internet Message
Access Protocol). There are two versions of POP.
The first, called POP2, became a standard in the
mid-80's and requires SMTP to send messages.
The newer version, POP3, can be used with or
without SMTP.
Power Supply Generally this comes with the case. It can have an
AT or ATX power connector and it is measured in
its rated output. It converts power from your
outlets into a steady stream of power the computer
can use. A 235 or 250 Watt power supply is
generally sufficient for home users, but power
users may need a 300 or 400 Watt power supply if
COPYRIGHT CORNELL INFOMATICS PVT LTD 248 PROG TECHNIQUE & PRACTICE
they have a lot of hard drives or other components.
COPYRIGHT CORNELL INFOMATICS PVT LTD 249 PROG TECHNIQUE & PRACTICE
documentation aids use this techniques.
Project Timeline The Project Timeline maps out the time frame for
each phase of a project. The dates should
correspond with those outlined in the Project Work
Plan.
Project Work Plan The Project Work Plan consists of the detailed
tasks that need to be completed, who is assigned
to those tasks and target dates for these tasks.
COPYRIGHT CORNELL INFOMATICS PVT LTD 250 PROG TECHNIQUE & PRACTICE
provides a preliminary project plan and timeline,
determines estimates of project resources, and
defines the project scope.
COPYRIGHT CORNELL INFOMATICS PVT LTD 251 PROG TECHNIQUE & PRACTICE
written to, as the name indicates, in a random
sequence, and it is used to store data from open
applications as well as the operating system itself.
See also: read-only memory.
Remote Access Server A system which receives data calls, generally over
telephone company dialup lines, and connects
them to an enterprise backbone network.
COPYRIGHT CORNELL INFOMATICS PVT LTD 252 PROG TECHNIQUE & PRACTICE
Requirements A document to capture the high-level business
Documentation Template needs for the project. The document should be
used as a tool to assist the customer in capturing
the high-level business needs for the project.
COPYRIGHT CORNELL INFOMATICS PVT LTD 253 PROG TECHNIQUE & PRACTICE
connections between networks online. In other
words, it tells your computer where to go.
Scanner This device allows you to read images and text into
your computer. Scanners use a variety of
connection formats including Parallel Port, USB,
and SCSI. USB is simple, SCSI is fast, and
Parallel Port is extremely slow
COPYRIGHT CORNELL INFOMATICS PVT LTD 254 PROG TECHNIQUE & PRACTICE
administration functions for project implementation
teams, maintenance and enhancement teams. The
Senior Specialist will also assist with training and
documentation for assigned projects.
COPYRIGHT CORNELL INFOMATICS PVT LTD 255 PROG TECHNIQUE & PRACTICE
represents an evolution, merging, and replacement
of S-HTTP and SSL.
Smtp Simple Mail Transfer A protocol for sending e-mail messages between
Protocol servers. Most e-mail systems that send mail over
the Internet use SMTP to send messages from one
server to another; the messages can then be
retrieved with an e-mail client using either POP or
IMAP. In addition, SMTP is generally used to send
messages from a mail client to a mail server. This
is why you need to specify both the POP or IMAP
server and the SMTP server when you configure
your e-mail application.
Snail Mail A term for traditional land and air mail services,
which take days to deliver a message, versus
seconds for delivery of email.
COPYRIGHT CORNELL INFOMATICS PVT LTD 256 PROG TECHNIQUE & PRACTICE
software program works, completes its
computations, etc.
Staffing Identify right people for each job and Identify and
implement training programs appropriately
Strategic Thinking Layer This is the top most management hierarchy and it
looks at strategic and long term decisions of the
company.
COPYRIGHT CORNELL INFOMATICS PVT LTD 257 PROG TECHNIQUE & PRACTICE
Structured English Structured English is a tool to deal with the
ambiguity of language. It is quite close to the
natural English language with some standard
conventions to eliminate vague expressions and
enhance the clarity of documentation.
COPYRIGHT CORNELL INFOMATICS PVT LTD 258 PROG TECHNIQUE & PRACTICE
System Architecture The particular configuration in which computer
hardware is connected to various other
components so that it fulfills its primary purpose.
The overall hardware/software configuration and
database design supporting a particular HSE-MIS
application, including internet, intranet and extranet
network linkages.
System Test System testing will test that all of the components
of the software are functioning correctly.
COPYRIGHT CORNELL INFOMATICS PVT LTD 259 PROG TECHNIQUE & PRACTICE
Task Analysis In order to solve a problem using computer, it is
necessary to evolve a detailed and precise step-
by-step method of analysis of the Task.
Test Scripts & Conditions A scripted list of steps used to test the different
features of a product with appropriate expected
results. Test Scripts should reflect standard
business processes and outcomes as well as
anticipated exceptions to those processes.
The Testing Process The testing process focuses on the logical internals
of the software, assuring that all statements have
been tested, and on the functional externals, i.e.,
conducting tests to uncover errors and ensure that
defined input will produce the actual results that
agree with required results.
COPYRIGHT CORNELL INFOMATICS PVT LTD 260 PROG TECHNIQUE & PRACTICE
Throughput The amount of data transmitted through internet
connectors in response to a given request.
COPYRIGHT CORNELL INFOMATICS PVT LTD 261 PROG TECHNIQUE & PRACTICE
Unit Testing Unit Testing is performed by developers and peer
developers who verify that the module performs as
expected and meets the design goals defined in
the package. Unit Testing is not bound to just a
single object, but can encompass a set of
interrelated objects.
COPYRIGHT CORNELL INFOMATICS PVT LTD 262 PROG TECHNIQUE & PRACTICE
are located. Most URLs begin: http:// - Web sites,
gopher:/ - Gopher sites, ftp:/ - Usenet and archie
sites
User Acceptance Testing User Acceptance testing involves having the end
users test how the software performs in their every
day business processes.
COPYRIGHT CORNELL INFOMATICS PVT LTD 263 PROG TECHNIQUE & PRACTICE
destructive program specifically written to destroy
data or halt operation on computer systems. A true
virus usually has a 'host' file. In other words, it can
attach itself to a file already on your system. It has
the ability to clone itself. It can reproduce itself and
infect other files or drives and computer systems.
Viruses can also hide themselves from detection in
several different ways.
Visual Table Of Content This shows the relation between each of module
(VTOC) making up a package. It consists of hierarchy chart
that identifies the modules in a system by number
and in relation to each other and gives brief
description of each module.
COPYRIGHT CORNELL INFOMATICS PVT LTD 264 PROG TECHNIQUE & PRACTICE
Netscape Internet software. Webs require a
technological standard and increasing returns to
scale but work without formal alliances. They
spread risk, reduce complexity, and enhance an
industry's overall ability to innovate.
Wide-Area Network (WAN) Two or more related LANs that are linked across a
great distance, such as one state to another.
World Wide Web WWW Or The web is a client/server information system that
Web supports the retrieval of data in the form of text,
graphics and multimedia in a uniform HTML
format. Allowing hypertext links and interactivity on
an unprecedented level, its introduction
transformed a sleepy, academic communications
system into a powerful marketing tool linking
businesses and customers around the world.
COPYRIGHT CORNELL INFOMATICS PVT LTD 265 PROG TECHNIQUE & PRACTICE
which originated with computer programmers. It is
pronounced "whiz-ee-wig."
Wysiwyp Short for What You See Is What You Print, and
pronounced wizzy-whip, refers to the ability of a
computer system to print colors exactly as they
appear on a monitor. WYSIWYP printing requires a
special program, called a color management
system (CMS) to calibrate the monitor and printer.
COPYRIGHT CORNELL INFOMATICS PVT LTD 266 PROG TECHNIQUE & PRACTICE