Académique Documents
Professionnel Documents
Culture Documents
Twelfth Edition
Objectives
List the six phases of the program
development life cycle (PDLC) and
explain why the PDLC is needed.
Explain why defining the problem in a
top-down design manner leads to
programs that are easier to debug and
maintain.
Differentiate between problems that can
arise in the testing and debugging
phase as syntax and logic errors.
Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall
Objectives
Explain what a programming
language is and how it works.
Explain the development of
programming languages over the
years and the benefits and
drawbacks of high-level
programming languages.
Objectives
Explain how object-oriented
languages attempt to remedy the
shortcomings of earlier languages.
List several popular object-oriented
languages and explain their
advantage over older languages.
The Program
Development Life Cycle
Programming Languages
and Program Development
Programming/Software
Development
Programming
o Process used to create software programs
Programmers
o People who use programming languages to
create software applications
Programming languages
o Consist of a vocabulary and a set of rules
called syntax
The Program
Development Life Cycle
Program development life cycle (PDLC)
o Organized plan for managing the
development of software
o Consists of six phases, from problem
definition through program implementation
and maintenance
The Program
Development Life Cycle
Phase 1: Defining the
problem
o Define the problem the program will solve
o Define the program specifications, including
decisions regarding data input, required
processing, output, and the user interface
10
The Program
Development Life Cycle
Phase 2: Designing the
program solution.
o Program designidentifies components of the
program
Top-down program designbreaks program
into small, manageable, highly focused
routines
o Procedures, functions, or subroutines
11
The Program
Development Life Cycle
Phase 2: Designing the program
(cont.)
12
The Program
Development Life Cycle
Phase 2: Designing the
program (cont.)
o Algorithm
Combination of control structures
Step-by-step description of how to arrive at a
solution
o Nesting
Process of embedding control structures within
one another
13
The Program
Development Life Cycle
Phase 2: Designing the program
(cont.)
o Program design tools
Structured chartsalso called hierarchy
charts, show top-down design of programs
Flowchartsuse diagrams to show the logic of
a program
Pseudocodeuses a stylized form of writing to
describe logic
14
The Program
Development Life Cycle
Phase 3: Coding the program
o Programmers convert algorithms into
programming code
o Syntax errors
Mistakes in the construction of the
programming commands
Must be corrected for the program to run
appropriately
15
The Program
Development Life Cycle
Phase 4: Testing and
debugging the program
o All errors, not just syntax errors, must be removed
o Logic errors
Relate to problems in the solutions design
Cause incorrect output
Program still runs despite logic errors
o Syntax errors and logic errorsbugs
o Debuggingprocess of eliminating errors
Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall
16
The Program
Development Life Cycle
Phase 5: Documenting the
program
o Documentation includes:
Overview of program functionality
Tutorials
Thorough explanation of main features
Reference documentation of program commands
Description of error messages
Program design work, including structure charts,
pseudocode, and flowcharts
Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall
17
The Program
Development Life Cycle
Phase 6: Implementing and
maintaining the program
o Test the program
Have users work with the software
Correct errors
o Program maintenance
Fix program errors discovered by users
Conduct periodic evaluations on a regular basis
Make modifications as needed to update the
program or add features
Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall
18
Development of
Programming Languages
19
Development of
Programming Languages
Five generations of
programming languages
o Low Level
1st. Machine
2nd. Assembly
o High Level
3rd. Procedural
4th. Nonprocedural
5th. Natural
Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall
20
Development of
Programming Languages
Compilers and interpreters
21
Development of
Programming Languages
22
Development of
Programming Languages
Compilers and interpreters
23
Development of
Programming Languages
First-generation languages
o Machine language
Based on binary numbers
Only programming language that a
computer understands directly
Machine dependent
24
Development of
Programming Languages
Second-generation language
o Assembly language
Low-level language
Programs use:
o Mnemonicsbrief abbreviations for program instructions
make assembly language easier to use
o Base-10 (decimal) numbers
25
Development of
Programming Languages
Third-generation languages
o High-level languagesdo not require
programmers to know details relating to the
processing of data
o Easier to read, write, and maintain than
assembly and machine languages
o Source code must be translated by a language
translator
26
Development of
Programming Languages
Third-generation languages (cont.)
o Spaghetti codedifficult to follow, messy in
design, prone to errors due to numerous GOTO
statements
o Structured programmingset of quality
standards; programs more verbose but more
readable, reliable, and maintainable
o GOTO statements forbidden
o Examples:
Ada
Algol
Pascal
27
Development of
Programming Languages
Third-generation languages (cont.)
o Modular programmingdividing larger programs
into separate modules, each takes care of a
specific function
o Programming languages include:
Fortran
C
28
Development of
Programming Languages
Procedural
languages
o Provide detailed
instructions that are
designed to carry out a
specific action such as
printing a formatted report
Nonprocedural
languages
o Do not require
programmers to use stepby-step instructions
Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall
29
Development of
Programming Languages
Fourth-generation languages
o Nonprocedural languages
o Do not require step-by-step procedures
o Examples
Report generators (database reports)
Query languages
o SQL (Structured query language)
enables users to phrase simple or complex
requests for data
30
Development of
Programming Languages
Fifth-generation languages
o
o
o
o
Natural language
Still being perfected
Nonprocedural
Use everyday language to program
31
Development of
Programming Languages
Object-oriented programming
(OOP)
o Programming technique based on data being
conceptualized as objects
Objectunit of computer information that
defines a data element that is used to model
real-world objects
Attributes define the data
Procedures or operations are called methods
32
Development of
Programming Languages
Program development
methods
o Rapid application development (RAD)
Reuses prebuilt objects
Possible because of OOP
o Joint application development (JAD)
Uses a team approach
Involves end users throughout development
o Agile software development techniquesuse
collaboration between teams to develop
solutions to meet customer needs and company
33
Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall
goals
34
C
Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall
35
36
37
38
Markup languages
o HTML (Hypertext Markup Language)
Used by Web programmers
Supports links to other documents, graphics, and
audio and video files.
o XML (Extensible Markup Language)
Enables programmers to capture specific types of
data by creating their own elements
Not a replacement for HTML
o XHTML (Extensible Hypertext Markup Language
Newer version of HTML that uses XML to produce Web
pages that are easily accessible by newer portable
devices.
39
40
41
Summary
Explain what a programming
language is and how it works.
Explain the development of
programming languages over the
years and the benefits and
drawbacks of high-level programming
languages.
Explain how object-oriented
languages attempt to remedy the
shortcomings of earlier languages.
Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall
42
Summary
List several popular object-oriented
languages and explain their
advantage over older languages.
List the six phases of the program
development life cycle (PDLC) and
explain why the PDLC is needed.
43
Summary
Explain why defining the problem in
a top-down design manner leads to
programs that are easier to debug
and maintain.
Differentiate between problems that
can arise in the testing and
debugging phase as syntax and logic
errors.
Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall
44
45