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