Title: Program%20Development%20and%20Programming%20Languages
1Chapter 13
- Program Development and Programming Languages
2Overview
- This chapter covers
- The program development life cycle (PDLC)
- Tools that can facilitate program development
- Programming languages
3The Program Development Life Cycle (PDLC)
4Problem 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.)
5Program 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
6Program Design, Contd.
- Program design tools
- Structure charts
- Program flowcharts
- Pseudocode
- Data modeling
7(No Transcript)
8(No Transcript)
9Program Design, Contd.
- Control structurespatterns that control when and
how the instructions in a computer program are
performed. - Sequence
- Selection (if-then-else, case)
- Repetition (do-while, do-until)
10(No Transcript)
11Program Design, Contd.
- 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.).
12(No Transcript)
13Program Coding
- Codingthe 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
14Program Coding, Contd.
- Coding standardslist of rules designed to
standardize programming styles.
15Program Coding, Contd.
- Reusable code
- Data dictionary
- Translating coded programs into executable code
- Compilers
- Interpreters
- Assemblers
- Documentation Documented, executable source
code.
16Program Debugging and Testing
- Debuggingthe 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.
17(No Transcript)
18Program Debugging and Testing
- Testing
- Alpha testing (inside organization)
- Beta testing (outside testers)
- Documentation Completed program package.
19Program Maintenance
- Program maintenancethe 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.
20Tools 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)
21Programming Languages
- Programming languagea 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.
22Popular Programming Languages
- FORTRANthe oldest high-level programming
language designed for scientific and
mathematical applications.
23Popular Programming Languages, Contd.
- COBOLdesigned for business transaction
processing.
24Popular Programming Languages, Contd.
- Pascaldesigned to teach structured programming
useful for math and science applications.
25Popular Programming Languages, Contd.
- BASICan easy-to-learn beginners programming
language. - Visual Basican object-oriented,
fourth-generation version of BASIC.
26Popular Programming Languages, Contd.
- C, C, Cversions of the highly efficient C
programming language C and C are
object-oriented.
27Popular Programming Languages, Contd.
- Javaobject-oriented programming language
commonly used for Web applications. - Platform independenceJava programs can run on
any platform that supports the Java Virtual
Machine. - Java appletsconcise stand-alone Java
applications ready to be inserted into Web pages. - Class files
- Parameters
28(No Transcript)
29Popular Programming Languages, Contd.
- Other high-level languages
- Ada
- APL
- LISP
- Logo
- PL/1
- Prolog
- RPG
- SmallTalk
30Summary
- 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