Transcript Chapter 1 Introduction to Computers
Program Development and Programming Languages
The Program Development Life Cycle
Creating new programs is called program development.
The process associated
program development life cycle
with creating successful applications programs is called the (PDLC).
The Program Development Life Cycle (PDLC)
•
Program Development (application software development)
– The process of creating application programs •
Program Development Life Cycle (PDLC)
– The five phases of program development
1- Problem Analysis
During problem analysis, a systems analyst and programmer review specifications and talk with users to fully understand what the software should do.
•
Documentation consists of: program specifications, timetable, which language will be used, how the program will be tested
2- Program Design
•
Program design: stage where program specifications are expanded into a complete design of the new program.
•
Structured programming and object-oriented programming are two of the most significant approaches to the design process.
Program Design:
Program Design Tools Program design tools are planning tools.
1- Structure charts 2- Program flowcharts 3- Pseudocode
Program Design:
Program Design Tools 1-Structure charts :
show the overall organization of a program, and how the modules of a program —logically related operations that perform a well-defined task —are defined and how they connect to each other hierarchically.
Program modules should be arranged hierarchically, in a
down top-
fashion, so that their relationship to each other is apparent.
Program Design:
Program Design Tools
2-Program flowcharts :
use geometric symbols
and familiar
relational operators
to provide a graphic display of the sequence of steps involved in a program.
The steps in a flowchart follow each other
in the same logical sequence as their corresponding program statements will follow in a program.
Different symbols
such as
start/stop
,
looping symbols.
are used to represent different actions,
decision
,
input/output
,
processing
, and
Flowcharts
12
Program Design
Program Design Tools
3-Pseudocode
* uses English-like statements symbols of the flowchart.
in place of the graphic * Unlike a flowchart, pseudocode is easy to modify and can be embedded into a program as comments.
* No standard set of rules exists for writing pseudocode, although a number of conventions have been developed.
* Sequence * Selection * Iteration
Program Design:
Control Structures
Program Design
Control Structures
Sequence
A
sequence control structure
is simply a series of procedures that follow one another.
Statement Statement Statement . . .
Program Design:
Control Structures
Selection
The
selection (if-then-else) control structure
involves a choice: if a certain condition is true, then follow one procedure; else, if false, follow another.
When more than two possible choices exist, the
structure
can be used instead.
case control
Statement1 Condition Statement . . .
Statement2
Program Design:
Iteration
loop
Control Structures
is an operation that repeats until a certain condition is met. A
looping (iteration) control structure
can take two forms. With the
do-while structure
, the loop is executed as long as a condition is true; with the
do-until structure
, the loop continues until a certain condition becomes true.
False . . .
Condition Statement
Program Design:
Good Program Design
n
Good program design is essential; it can save time and it produces a better end result. Some principles of good program design are: * Be specific * One-entry-point, one-exit-point rule * No infinite loops * Documentation during program design includes all the design specifications
3- Program Coding
•
Coding: actual process of creating the program in a programming language.
Programming language must be chosen .
Coding standards should be adhered to.
Make use of reusable code and data dictionaries.
Translate coded programs into executable code.
•
Documentation results in finished source code.
Program Coding
n The coded program is referred to as source code.
to be executed, the program is converted by the computer to object code using a special program.
A compiler translates the entire program into machine language before executing it. The program then doesn’t need to be recompiled until it is modified.
An interpreter translates program statements one at a time. Interpreters are helpful during the stage, but are slower during execution of the finished program.
An assembler converts into machine language.
assembly-language debugging statements
4- Program Debugging and Testing
* Debugging: process of making sure a program is free of errors or bugs.
Preliminary bugging often finds syntax or logic errors.
Testing can consist of alpha or beta testing.
* Documentation includes a copy of the finished program code, plus test data and results.
Program Debugging and Testing
Preliminary debugging begins after the program has been entered into the computer system. Rarely is a program error free the first time it runs. Two common types of errors are syntax errors and logic errors.
A syntax error
occurs when the programmer has not followed the rules of the language.
A logic error
, or
execution-time error
, results when the command syntax is correct but the program is producing incorrect results.
Program Debugging and Testing
At some point in the preliminary debugging process, the program will appear to be correct. At this point, the programmer, or preferably someone else, will run the original program with extensive
test data
.
Good test data will subject the program to all the conditions it might conceivably encounter when finally implemented.
Most companies run on-site
alpha tests
to test programs; companies in the business of selling software also commonly run
beta tests
by distributing preliminary versions of the program to outside users.
5- Program Maintenance
* Program maintenance: process of updating software so that it continues to be useful.
A costly process, but can be used to extend the life of a program.
What Is a Programming Language?
A programming language is a set of rules used to write instructions to the computer.
Categories of Programming Languages
•
Low-level languages
•
High-level languages
•
Fourth-generation languages (4GLs)
•
Natural and visual languages