Sunteți pe pagina 1din 45

Computers Are Your Future

Twelfth Edition

Chapter 11: Program Development and


Programming Languages

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

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.

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

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.

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

The Program
Development Life Cycle

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

Programming Languages
and Program Development

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

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

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

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

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

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

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

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

Structured design uses control structures


logical elements assembled in blocks of code
that determine how subroutines will be
programmed
Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

11

The Program
Development Life Cycle
Phase 2: Designing the program
(cont.)

o Basic control structures categories


Sequence control structurecode performed in lineby-line order
Selection control structurealso called a conditional
or branch structure, this is a portion of code that leads to
a block of code based on conditions being met
o Case control structureportion of code that
branches to extensive conditional coding
Repetition control structurealso known as looping
or iteration, this is a portion of code that repeats

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

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

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

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

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

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

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

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

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

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

o Source codeprogramming instructions


created by the programmers needed to be
translated into a form that the computer can
understand. Binary!!!... Machine Language!!!
o High-level languagelanguage that mimics
English; does not require a programmer to
understand the intimate details of how
hardware, especially the processor, handles
data

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

21

Development of
Programming Languages

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

22

Development of
Programming Languages
Compilers and interpreters

o Compilerutility program translates source


code into object code(machine language)
o Executable programcode transformed
from object code ready to run programs that
do not need to be altered
o Interpretertranslation program that does
not produce object codetranslates one line
of source code at a time; executes the
translated instruction

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

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

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

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

Must be translated into machine language by


an assembler
Occasionally used to create device drivers
o Programs to control devices attached to a computer and
game console programs
Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

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

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

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

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

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

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

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

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

30

Development of
Programming Languages
Fifth-generation languages
o
o
o
o

Natural language
Still being perfected
Nonprocedural
Use everyday language to program

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

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

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

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

A Guide to Programming Languages:


One Size Doesnt Fit All
Early high-level languages

o COBOL (Common Business-Oriented Language)


Used for business applications
Current focus is on editing aged code on mainframe
computers
o Fortran (formula translator)
Used for scientific/math/engineering applications
Being replaced by object-oriented and formulasolving programs
o Mathematica
Used to handle all aspects of technical computing in
a coherent and unified way
Can manipulate a wide range of objects, using only a
small number of basic elements

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

34

A Guide to Programming Languages:


One Size Doesnt Fit All
Structured and modular
languages
o Required for large-scale program development
o Languages in widespread use:
Ada
BASIC
Visual Basic
o Event-driven programming language that executes
only in response to user actions

C
Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

35

A Guide to Programming Languages:


One Size Doesnt Fit All
Object-oriented languages
o Visual Studio.NETMicrosofts answer to Java
and JavaScript
Visual Basic.Net
Visual C++
Visual C#
F#language that combines object-oriented
features with the assets of a functional language
o Functional language reflects the way people think
mathematicallyuseful in programs that express
findings in mathematical form

Integrated development environment (IDE)


Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

36

A Guide to Programming Languages:


One Size Doesnt Fit All
Web-based languages
o Not considered programming languages
o Tell the browser how to display text and
objects
o Language types
Markup
Scripting

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

37

A Guide to Programming Languages:


One Size Doesnt Fit All
Markup languages
o Composed of a set of codes, or elements,
that uses tags to define how text and objects
display
Tagsmarkers that usually come in pairs
o Contenttext that displays, lies between
the opening and closing tags

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

38

A Guide to Programming Languages: One


Size Doesnt Fit All

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.

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

39

A Guide to Programming Languages:


One Size Doesnt Fit All
Markup languages (cont.)
o WML (Wireless Markup Language) enables
developers to create pages for wireless devices
o CSS (Cascading Style Sheets) defines the look
and formatting of a Web page

World Wide Web Consortium


(W3C)
o International groupdevelops Web standards
o Develops protocols and guidelines that ensure longterm growth for the Web
Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

40

A Guide to Programming Languages:


One Size Doesnt Fit All
Scripting languages
o Create scriptsprograms that control Web
page actions or responses
VBScript
ActiveX controls
JavaScript
ECMAScript
AJAX
JSON

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

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.

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

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

All rights reserved. No part of this publication may be reproduced, stored in a


retrieval system, or transmitted, in any form or by any means, electronic,
mechanical, photocopying, recording, or otherwise, without the prior written
permission of the publisher. Printed in the United States of America.

Copyright 2012 Pearson Education, Inc.


Publishing as Prentice Hall

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

45

S-ar putea să vă placă și