Computer Program- Introduction, characteristics and stages
1. For more updates join our newsletter at www.anjalitechnosoft.in
A
www.anjalitechnosoft.inwww.anjalitechnosoft.in
2. For more updates join our newsletter at www.anjalitechnosoft.in
Computer Software
• Computer hardware is useless without software.
• Software is the set of instructions and
associated data that direct the computer to do a
task.
• Software can be divided into two categories:
• system software and application software.
• System software helps the computer to carry
out its basic operating tasks.
• Application software helps the user carry out a
variety of tasks.
3. For more updates join our newsletter at www.anjalitechnosoft.in
Types of Software
Application software
Hardware
System software
System Software
Operating Systems
Schedules computer events
Allocates computer
resources
Monitor events
Application Software
Programming languages
Assembly language
FORTRAN, BASIC, PL/1
PASCAL, C
“4th generation “ languages
Users
Language translators
• Interpreters
• Compilers
Utility programs
Routine operations
Manage data
4. For more updates join our newsletter at www.anjalitechnosoft.in
System Software
• Manages the fundamental operations of the
computer, such as
- loading programs and data into memory,
executing programs, saving data to disks,
displaying information on the monitor, and
transmitting data through a port to a
peripheral device.
• System software: operating systems, utilities,
device drivers.
5. For more updates join our newsletter at www.anjalitechnosoft.in
Characteristics of Program
• Every computer requires appropriate instruction
set (programs) to perform the required task.
• The quality of the processing depends upon the
given instructions.
• If the instructions are improper or incorrect,
then it is obvious that the result will be
superfluous.
• Hence, a program should be developed in such a
way that it ensures proper functionality of the
computer.
6. For more updates join our newsletter at www.anjalitechnosoft.in
Characteristics of Program
• A good computer program should have
following characteristics:
• Portability: Portability refers to the ability of an
application to run on different platforms
(operating systems) with or without minimal
changes.
7. For more updates join our newsletter at www.anjalitechnosoft.in
Characteristics of Program
• Readability: The program should be written in
such a way that it makes other programmers or
users to follow the logic of the program without
much effort.
If a program is written structurally, it helps the
programmers to understand their own program
in a better way. Even if some computational
efficiency needs to be sacrificed for better
readability, it is advisable to use a more user-
friendly approach, unless the processing of an
application is of utmost importance.
8. For more updates join our newsletter at www.anjalitechnosoft.in
Characteristics of Program
• Efficiency: As the processing power and
memory are the most precious resources of a
computer, a program should be laid out in such
a manner that it utilizes the least amount of
memory and processing time.
• Structural: To develop a program, the task must
be broken down into a number of subtasks.
These subtasks are developed independently,
and each subtask is able to perform the
assigned job without the help of any other
subtask.
9. For more updates join our newsletter at www.anjalitechnosoft.in
Characteristics of Program
• Flexibility: A program should be flexible enough
to handle most of the changes without having
to rewrite the entire program. Most of the
programs are developed for a certain period
and they require modifications from time to
time.
• Generality: Generality means that if a program
is developed for a particular task, then it should
also be used for all similar tasks of the same
domain. For example, if a program is developed
for a particular organization, then it should suit
all the other similar organizations.
10. For more updates join our newsletter at www.anjalitechnosoft.in
Characteristics of Program
• Documentation: Documentation is one of the
most important components of an application
development. Even if a program is developed
following the best programming practices, it will
be rendered useless if the end user is not able
to fully utilize the functionality of the
application. A well-documented application is
also useful for other programmers because even
in the absence of the author, they can
understand it.
11. For more updates join our newsletter at www.anjalitechnosoft.in
Steps in Program Development
1. Define the problem into three separate
components:
– inputs
– outputs
– processing steps to produce required
outputs.
12. For more updates join our newsletter at www.anjalitechnosoft.in
Steps in Program Development
2. Outline the solution.
– Decompose the problem to smaller steps.
– Establish a solution outline.
– Initial outline may include:
• major processing steps involved
• major subtasks
• user interface
• major control structures
• major variable and record structures
• mainline logic
13. For more updates join our newsletter at www.anjalitechnosoft.in
Steps in program development
3. Develop the outline into an algorithm.
– The solution outline is now expanded into
an algorithm.
• What is an algorithm? – a set of precise steps
that describe exactly the tasks to be performed
and the order in which they are to be carried
out.
• Pseudocode will be used to represent the
solution algorithm
14. For more updates join our newsletter at www.anjalitechnosoft.in
Steps in Program Development
4. Test the algorithm for correctness.
– Very important in the development of a
program, but often forgotten
– Major logic errors can be detected and
corrected at an early stage
– Go through the algorithm step-by-step
with test data to ensure the program will
actually do what it is supposed to do.
15. For more updates join our newsletter at www.anjalitechnosoft.in
Steps in Program Development
5. Code the algorithm into a specific
programming language.
– Start to code the program into a chosen
programming language after all design
considerations from Steps 1–4 are met.
16. For more updates join our newsletter at www.anjalitechnosoft.in
Steps in Program Development
6. Run the program on the computer.
– This step uses a program compiler and
programmer-designed test data to
machine-test the code for
• syntax errors
• logic errors
17. For more updates join our newsletter at www.anjalitechnosoft.in
Steps in Program Development
7. Document and maintain the program.
– Is really an ongoing task from the initial
definition of the problem to the final test
– Documentation involves:
• external documentation
• internal documentation
18. For more updates join our newsletter at www.anjalitechnosoft.in
• Programming approach concentrates on
what a program has to do and involves
identifying and organizing the processes
in the program solution. It is usually
broken down into separate tasks, which
include:
– Top-down development
– Modular design
– Object-oriented programming
Programning Approach
19. For more updates join our newsletter at www.anjalitechnosoft.in
• Top-down development:
– General solution to a problem is outlined
– This is then broken down into more detailed
steps until the most detailed levels have been
completed
– Finally, programmer starts to code
– Results in a systematic approach to a
program design
Top-down Approach
20. For more updates join our newsletter at www.anjalitechnosoft.in
• Modular design:
– Grouping task together
– Connected directly to top-down development
– Assists in the reading and understanding of
the program
Modular Design
21. For more updates join our newsletter at www.anjalitechnosoft.in
• Object-oriented programming
– Based on breaking down the problem, but
the primary focus is on the things that make
up the program
– Breaks the program into a set of separate
objects that perform actions and relate to
each other
Object-Oriented Programming
22. For more updates join our newsletter at www.anjalitechnosoft.in
Program data
• Variable, constants and literals
– A variable is a value stored in memory cells
that may change or vary as the program
executes.
– A constant is a data item with a name and a
value that remains the same during the
execution of the program.
– A literal is a constant whose name is the
written representation of its value.
23. For more updates join our newsletter at www.anjalitechnosoft.in
• Data types can be
– Elementary data items
• Contains a single variable that is always
treated as a unit (classified into data
types)
Program data
24. For more updates join our newsletter at www.anjalitechnosoft.in
• Data types can be
– Data structures
• An aggregate of other data items. The data items
that it contains are its components.
• Data is grouped together in a particular way,
which reflects the situation with which the
program is concerned.
• Most common are: record, file, array and string
Program data
25. For more updates join our newsletter at www.anjalitechnosoft.in
• A popular method of storing information
is to enter and store data on a file
• Advantages:
– Different programs can access the same data
– Data can be entered and reused several
times
– Data can be easily updated and maintained
– The accuracy of the data is easier to enforce
Program data
26. For more updates join our newsletter at www.anjalitechnosoft.in
• Data should always undergo a validation
check before it is processed by a program.
• Examples:
– Correct type
– Correct range
– Correct length
– Completeness
– Correct date
Program data
27. For more updates join our newsletter at www.anjalitechnosoft.in
For any enquiry, post your doubt at
Anjali Technosoft
@ Clear your Doubts
For any enquiry, post your doubt at
Anjali Technosoft
@ Clear your Doubts