Understanding Computers, 10/e, Chapter 13

Download Report

Transcript Understanding Computers, 10/e, Chapter 13

Chapter 13
Program Development and
Programming Languages
Understanding Computers Ch. 13
1
Overview

This chapter covers:

The program development life cycle (PDLC)

Tools that can facilitate program development

Programming languages
Understanding Computers Ch. 13
2
The Program Development Life Cycle
(PDLC)
Understanding Computers Ch. 13
3
Problem Analysis

Purpose: Review the specifications developed during
system design and develop program specifications.

Usually performed by systems analyst and
programmer.

Documentation: Program specifications (what is
does, timetable, programming language to be used,
etc.)
Understanding Computers Ch. 13
4
Program Design

Purpose: To determine the algorithms to be used with the final
program.

Approaches to program design:

Structured programming


Object-oriented programming (OOP)


Structures the program
Groups program components
Aspect-oriented programming (AOP)

Re-uses program components
Understanding Computers Ch. 13
5
Program Design, Cont’d.

Program design tools:

Structure charts

Program flowcharts

Pseudocode

Data modeling
Understanding Computers Ch. 13
6
Program Design, Cont’d.

Control structures—patterns that control when and
how the instructions in a computer program are
performed.

Sequence

Selection (if-then-else, case)

Repetition (do-while, do-until)
Understanding Computers Ch. 13
9
Program Design, Cont’d.


Good program design

Be specific.

One-entry-point, one-exit-point rule.

No infinite loops or logic errors.
Documentation: Design specifications (expressed
using flowcharts, pseudocode, structure charts, data
models, etc.).
Understanding Computers Ch. 13
11
Program Coding

Coding—the process of writing the actual
programming steps using a programming language.

Factors involved when choosing a programming
language:



Suitability
Integration
Standards



Programmer availability
Portability
Development speed
Understanding Computers Ch. 13
13
Program Coding, Cont’d.

Coding standards—list of rules designed to
standardize programming styles.
Understanding Computers Ch. 13
14
Program Coding, Cont’d.

Reusable code

Data dictionary

Translating coded programs into executable code
 Compilers
 Interpreters
 Assemblers

Documentation: Documented, executable source
code.
Understanding Computers Ch. 13
15
Program Debugging and Testing

Debugging—the process of making sure a program
is free of errors.

Preliminary debugging

Syntax errors (typos, wrong syntax, etc.).

Logic errors (wrong formulas, wrong relational
operators, etc.).

Dummy print statements can help locate errors.
Understanding Computers Ch. 13
16
Program Debugging and Testing


Testing

Alpha testing (inside organization)

Beta testing (outside testers)
Documentation: Completed program package.
Understanding Computers Ch. 13
18
Program Maintenance


Program maintenance—the process of updating
software so that it continues to be useful.

Software updates

Software revisions

Made easier by good coding standards, data
dictionaries, reusable code, etc.
Documentation: Amended program package.
Understanding Computers Ch. 13
19
Tools for Facilitating Program
Development

Application generators:

Macro recorders

Report and form generators

Code generators

Computer-aided software engineering (CASE)

Software-asset management tools

Rapid application development (RAD)
Understanding Computers Ch. 13
20
Programming Languages

Programming language—a set of rules used to
write instructions to the computer.

Categories of programming languages:

Low-level languages (machine and assembly
language).

High-level languages (BASIC, COBOL, C++, etc.).

Very-high-level (fourth-generation languages).

Natural and visual languages.
Understanding Computers Ch. 13
21
Popular Programming Languages

FORTRAN—the oldest
high-level programming
language; designed for
scientific and
mathematical
applications.
Understanding Computers Ch. 13
22
Popular Programming Languages,
Cont’d.

COBOL—designed for business transaction
processing.
Understanding Computers Ch. 13
23
Popular Programming Languages,
Cont’d.

Pascal—designed to teach structured programming;
useful for math and science applications.
Understanding Computers Ch. 13
24
Popular Programming Languages,
Cont’d.


BASIC—an easy-to-learn beginner’s programming
language.
Visual Basic—
an object-oriented,
fourth-generation
version of BASIC.
Understanding Computers Ch. 13
25
Popular Programming Languages,
Cont’d.

C, C++, C#—versions of the highly efficient C
programming language; C++ and C# are objectoriented.
Understanding Computers Ch. 13
26
Popular Programming Languages,
Cont’d.

Java—object-oriented programming language
commonly used for Web applications.
 Platform independence—Java programs can run
on any platform that supports the Java Virtual
Machine.

Java applets—concise stand-alone Java
applications ready to be inserted into Web pages.
 Class files
 Parameters
Understanding Computers Ch. 13
27
Popular Programming Languages,
Cont’d.

Other high-level languages:




Ada
APL
LISP
Logo




PL/1
Prolog
RPG
SmallTalk
Understanding Computers Ch. 13
29
Summary

The program development life cycle (PDLC)

Good program design

Basic control structures

Coding, debugging, maintaining, and documenting
programs

Tools that facilitate the program development process

Common programming languages
Understanding Computers Ch. 13
30