300 likes | 309 Views
Chapter 13. Program Development and Programming Languages. Overview. This chapter covers: The program development life cycle (PDLC) Tools that can facilitate program development Programming languages. The Program Development Life Cycle (PDLC). Problem Analysis.
E N D
Chapter 13 Program Development and Programming Languages Understanding Computers Ch. 13
Overview • This chapter covers: • The program development life cycle (PDLC) • Tools that can facilitate program development • Programming languages Understanding Computers Ch. 13
The Program Development Life Cycle (PDLC) Understanding Computers Ch. 13
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
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
Program Design, Cont’d. • Program design tools: • Structure charts • Program flowcharts • Pseudocode • Data modeling Understanding Computers Ch. 13
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
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
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
Program Coding, Cont’d. • Coding standards—list of rules designed to standardize programming styles. Understanding Computers Ch. 13
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
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
Program Debugging and Testing • Testing • Alpha testing (inside organization) • Beta testing (outside testers) • Documentation: Completed program package. Understanding Computers Ch. 13
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
Tools for Facilitating Program Development • Application generators: • Macro recorders • Report and formgenerators • Code generators • Computer-aided software engineering (CASE) • Software-asset management tools • Rapid application development (RAD) Understanding Computers Ch. 13
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
Popular Programming Languages • FORTRAN—the oldest high-level programming language; designed for scientific and mathematical applications. Understanding Computers Ch. 13
Popular Programming Languages, Cont’d. • COBOL—designed for business transaction processing. Understanding Computers Ch. 13
Popular Programming Languages, Cont’d. • Pascal—designed to teach structured programming; useful for math and science applications. Understanding Computers Ch. 13
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
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
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
Popular Programming Languages, Cont’d. • Other high-level languages: • Ada • APL • LISP • Logo • PL/1 • Prolog • RPG • SmallTalk Understanding Computers Ch. 13
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