Upload
arnold-atkinson
View
241
Download
0
Tags:
Embed Size (px)
Citation preview
Understanding Computers Ch. 13 1
Chapter 13
Program Development and Programming Languages
Understanding Computers Ch. 13 2
Overview
This chapter covers:
The program development life cycle (PDLC)
Tools that can facilitate program development
Programming languages
Understanding Computers Ch. 13 3
The Program Development Life Cycle (PDLC)
Understanding Computers Ch. 13 4
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 5
Program Design Purpose: To determine the algorithms to be used with the final
program.
Approaches to program design:
Structured programming Structures the program
Object-oriented programming (OOP) Groups program components
Aspect-oriented programming (AOP) Re-uses program components
Understanding Computers Ch. 13 6
Program design tools:
Structure charts
Program flowcharts
Pseudocode
Data modeling
Program Design, Cont’d.
Understanding Computers Ch. 13 9
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 11
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 13
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 14
Program Coding, Cont’d.
Coding standards—list of rules designed to standardize programming styles.
Understanding Computers Ch. 13 15
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 16
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 18
Program Debugging and Testing Testing
Alpha testing (inside organization)
Beta testing (outside testers)
Documentation: Completed program package.
Understanding Computers Ch. 13 19
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 20
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 21
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 22
Popular Programming Languages
FORTRAN—the oldest high-level programming language; designed for scientific and mathematical applications.
Understanding Computers Ch. 13 23
Popular Programming Languages, Cont’d. COBOL—designed for business transaction
processing.
Understanding Computers Ch. 13 24
Popular Programming Languages, Cont’d. Pascal—designed to teach structured programming;
useful for math and science applications.
Understanding Computers Ch. 13 25
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 26
Popular Programming Languages, Cont’d.
C, C++, C#—versions of the highly efficient C programming language; C++ and C# are object-oriented.
Understanding Computers Ch. 13 27
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 29
Popular Programming Languages, Cont’d.
Other high-level languages:
Ada APL LISP Logo
PL/1 Prolog RPG SmallTalk
Understanding Computers Ch. 13 30
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