280 likes | 285 Views
Explore the six steps of programming, design techniques, program testing, CASE tools, and the five generations of programming languages.
E N D
14 CHAPTER PROGRAMMING AND LANGUAGES
Competencies • Describe the six steps of programming • Discuss design tools • Describe program testing • Describe CASE tools & object-oriented software development • Explain the five generations of programming languages
What Is a Program? • A problem-solving procedure • A list of instructions • Prewritten • Custom-written • Application software • System software
What is Programming? • Programming is software development • Six step procedure • Program specification • Program design • Program code • Program test • Program documentation • Program maintenance
Step 2Program Design • Plan a solution • Use structured programming techniques • Top-down program design • Pseudocode • Flowcharts • Logic structures
Pseudocode • An outline of the logic for your program • A summary of the program
Logic Structures • Sequence structure • Selection structure • Loop structure
Step 3Program Code • Coding • The good program • Reliable • Well documented • Understandable to other programmers • Structured programs best method
Step 4Program Test • Debugging • Testing • Eliminating errors • Syntax errors • Logic errors • Testing processing
Step 5Documentation • Written descriptions and procedures about a program • Important for people who will use the program • Users • Operators • Programmers
Step 6Program Maintenance • 75% of total lifetime cost • Error-free operations • Effective program • Two categories • Operations • Changing needs
CASE Tools • Computer-aided software engineering • Automate development process • Designing • Coding • Testing activities
Object-Oriented Software Development • Focuses less on procedures, more on relationship between objects • OOP: Object-oriented programming • Object contains both the data and the processing operations
Generations of Programming Languages • Occurring in “generations” • Levels • Machine languages to natural languages • Lower level closer to machine language • Higher level closer to human-like language
Generations of Languages • 1st -- Machine languages • 2nd -- Assembly languages • 3rd -- High level procedural languages • 4th -- Problem-Oriented Languages • 5th -- Natural Languages & Visual programming
A Look to the FutureMI-Tech • Synapse Solutions has created a system called MI-tech • Understands word order and meaning • Computer translates "wish list" into machine language
application generator (406) assembly language (405) beta testing (400) code (396) coding (396) compiler (405) computer-aided software engineering (CASE) tools (403) debugging (399) desk checking (399) documentation (400) DO UNTIL structure (394) DO WHILE structure (394) Key Terms
fifth generation language (5GL) (407) formatting language (396) fourth generation language (4GL) (406) generation (404) higher level (404) IFPS (interactive financial planning system) (406) IF-THEN-ELSE structure (393) interpreter (406) level (404) logic error (399) logic structure (393) Key Terms
loop structure (393) lower level (404) machine language (405) maintenance programmer (402) module (392) natural language (407) object (404) object code (405) objectives (390) object-oriented programming (OOP) (404) object-oriented software development (404) operator (401) portable language (405) presentation language (396) Key Terms
problem-oriented language (406) procedural language (405) program (388) program analysis (389) program coder (406) program definition (389) program design (391) program documentation (400) program flowchart (393) program maintenance (402) programmer (389) programming (388) programming language (396) Key Terms
program module (392) program specification (389) pseudocode (393) query language (406) selection structure (393) sequence structure (393) software development (388) software engineer (389) source code (405) structured program (396) structured programming techniques (391) syntax error (399) third generation language (3GL) (405) Key Terms
top-down program design (392) user (401) very high level language (406) visual programming language (407) Key Terms
FAQs • What is a program? • What is a software engineer? • What is the purpose of pseudocode? • What are the qualities of a good program? • What is the job of a maintenance programmer? Why is it important? • What are CASE tools? • What is object-oriented programming?
Discussion Questions • Discuss the six steps to create a program. • Describe the differences between formatting and programming languages. Give examples of each. • Explain the debugging process for a program. • Why is program documentation important? • Review the five generation levels of programming languages.