Written by students who passed Immediately available after payment Read online or as PDF Wrong document? Swap it for free 4.6 TrustPilot
logo-home
Summary

Summary Program Development and Programming Languages

Rating
-
Sold
-
Pages
40
Uploaded on
30-01-2023
Written in
2022/2023

This document provides lessons related to program development and programming languages, such as : 1. Approaches to Program Design and Development 2. The Program Development Life Cycle (PDLC) 3. Tools for Facilitating Program Development 4. Languages Used for Application Development

Show more Read less
Institution
Course

Content preview

chapter 11
outline
Program Overview

Development Approaches to Program Design
and Development

and Programming
Procedural Programming
Object-Oriented Programming
(OOP)

Languages Aspect-Oriented Programming
(AOP)
Adaptive and Agile Software
After completing this chapter, you will be
Development
able to do the following:
The Program Development Life
1. Understand the differences between Cycle (PDLC)
structured programming, object-oriented Problem Analysis
programming (OOP), aspect-oriented Program Design
­programming (AOP), and adaptive Program Coding
Program Debugging and Testing
software development.
Program Implementation and
2. Identify and describe the activities involved Maintenance
in the program development life cycle Tools for Facilitating Program
(PDLC). Development
Application Lifecycle Management
3. Understand what constitutes good ­program (ALM) Tools
design and list several tools that can be Application Generators
used by computer professionals when Device Development Tools
designing a program. Software Development Kits
(SDKs), Application Program
4. Explain the three basic control structures Interfaces (APIs), and Integrated
and how they can be used to control Development Environments (IDEs)
­program flow during execution. Languages Used for Application
5. Discuss some of the activities involved Development
Types of Languages
with debugging a program and other-
Categories of Programming
wise ­ensuring it is designed and written Languages
properly. Common Programming Languages
6. List some tools that can be used to Common Markup and Scripting
Languages
speed up or otherwise facilitate program
development.
7. Describe several languages used for
­application development today and explain
their key features.


Copyright 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.

, McIek/Shutterstock.com




Ove rvi ew

I f you want to build a house, you would probably begin with some research and
planning. You might research current trends and regulations related to home
design, draw up some floor plans, estimate the cost of construction, and so on. In
other words, you would not start digging a hole and pouring concrete on the first
day. Creating successful application programs works the same way—you need to do
considerable planning before you jump into coding the application.
When computer professionals need to develop new applications, they use a pro-
gramming language—a set of rules used to write computer programs. In Chapter 10,
we discussed developing complete systems. In this chapter, we look specifically
at practices and tools for developing the application programs used within these
systems.
The chapter opens with a discussion of the most common approaches to pro-
gram design and development, followed by a look at the program development life
cycle; that is, the phases that occur when a new program needs to be created or an
existing program needs to be modified. In this section, topics—such as tools that
can be used to design a program, good program design techniques, and types of
program errors—are discussed. Next, we turn our attention to tools that can facilitate
program development. The chapter closes with a look at some of the most popular
programming languages, as well as the markup and scripting languages that are
used to create Web applications. ■


Approaches to Program Design
and Development




SYS
There have been various approaches to program development over the years. Two of the
most significant approaches are procedural programming and object-oriented programming
(OOP). Newer approaches include aspect-oriented programming (AOP) and agile software
development (ASD).


Procedural Programming
Procedural programming focuses on the step-by-step instructions that tell the computer Ti p
what to do to solve a problem. It is based on the concept of the procedure call—locating Although this chapter focuses on
specific tasks in procedures (small sections of program code also called modules or program development, many of the
­subprograms) that are called by the main program code when those tasks need to be techniques and principles discussed
performed. After a procedure finishes, program control returns to the main program. can also be applied to Web
This approach allows each procedure to be performed as many times as needed and at application development.
the appropriate time without requiring multiple copies of the same code, so the overall


>Procedural programming. An approach to program design in which a program is separated into small modules that are called by the main
program or another module when needed.




Copyright 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.

,436 systems



program is smaller and the main program is easier to understand. Reusing code in this
manner also allows for faster development time and reduced maintenance costs.
Prior to procedural programming, programs were written as one large set of
instructions containing statements that sent control to different parts of the program as
needed to perform actions in the proper order. To accomplish this, these programs used
statements that jumped from one part of the program code to another, such as a “GOTO
100” statement to send program control to line 100 of the code to execute commands
from that point in the program code on, until another GOTO statement was reached. This
jumping around continued until the program ended. This type of code is sometimes referred
to as spaghetti code because it is a disorganized and intertwined jumble of statements,
which makes following the logic of the program as difficult as tracing the path of a single
strand of spaghetti in a plate of spaghetti. Procedural programming eliminates this problem
by sending control out to a module that performs a specific task whenever it is necessary
to perform that task, and then returning to the main program when the task is complete.
Structured programming goes one step further, breaking the program into very small
modules of code that perform a single task and prohibiting the use of the GOTO statement.
Structured programming embodies a top-down design philosophy, in which the overall
general tasks that need to be performed by the program are first defined at the highest lev-
els of the hierarchy and then are broken down further at the lower levels until they are rep-
resented by the very specific tasks that need to be carried out (see Figure 11-1). Although
structured programming is technically a subset of procedural programming, sometimes the
terms “structured programming” and “procedural programming” are used interchangeably.
Figure 11-1 In a computer program, variables are named memory locations that are defined for that
<




Structured particular program and are used to store the current value of data items used in the program.
programming. In a procedural program, variables can be accessed and their values changed from any module
A structured program in the program, as appropriate. For instance, a GrossPay variable containing an employee’s
is divided into individual gross pay would be needed in several modules (such as in the Gross Pay, Deductions, Net Pay,
modules; each module and Output modules in the program represented in Figure 11-1). A StateTaxAmount variable
represents a very containing an employee’s state tax amount would be needed in several modules, such as to be
specific processing assigned the appropriate value in the Compute state taxes module and then used to compute and
task.

Modules are arranged hierarchically The control program calls each
in a top-down fashion, as illustrated module as needed, such as when
Control
here for a payroll application. it is time to compute the deductions.
program




Input Gross Pay Deductions Net Pay Output




Each module
then calls additional Compute Compute Compute Compute Issue Print
modules, as federal state retirement other checks payroll
needed, such as to taxes taxes contribution deductions report
compute federal taxes.



>Variable. A named memory location defined in a computer program that is used to store the current value of a data item used in that program.




Copyright 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.

, chapter 11 Program Development and Programming Languages 437



output an employee’s pay in the Net Pay and Output modules. In a computer program, variables
are usually designated as ­integers (numeric values that do not have a decimal portion), real
numbers (numeric values that may have a decimal portion), character or string ­values (non-
numeric values consisting of the characters on the keyboard), or Boolean values (values that
represent one of two states—yes (true) or no (false)). Once a variable has been declared—that
is, given a name and assigned a particular data type—it can be used in program statements,
such as to store a value in that variable or to use that variable in a formula. When referring to
a variable in a program, its assigned name is used; the exact coding of program statements for
variable definition and other programming commands varies depending on the programming
language being used, as illustrated later in this chapter.

Object-Oriented Programming (OOP)
Instead of focusing on the specific steps and tasks a program must take to solve a problem,
object-oriented programming (OOP) focuses on the things (or objects) that make up BUTTON Class name
a program. As described in Chapter 10, an object contains data (usually referred to as
ButtonColor
attributes) that describe the object, as well as the processes (called methods) that can be used ButtonSize
with that object (see Figure 11-2). A group of objects that share some common ­properties DisplayCoordinates
Attributes
(attributes and methods) form a class; classes may be further divided into s­ ubclasses. Each ButtonText
specific object in a class (referred to as an instance) inherits—or automatically possesses— Display
all of the attributes and methods of the class to which it belongs. Just like the v­ ariables used Hide Methods
in procedural programming, attributes are defined as a particular type of data and the value Dim
of each attribute may vary from instance to instance.
The methods used in OOP are similar to the modules used in procedural programming Figure 11-2




<
in that they include specific operations that can be performed on an object. For example, Button class.
the class of objects representing buttons displayed on the screen for a particular program This class diagram
might include one attribute for the color of the button, one attribute for the size of the illustrates that each
button as displayed on the screen, one attribute for the button’s location on the screen, object (instance) in
and one attribute for the text to appear on the button (refer again to Figure 11-2). The but- the Button class has
ton class would also include methods for any actions that might be taken with the button four attributes to hold
objects, such as to display, hide, or dim them. When a button object receives a message data about the current
asking it to perform a particular method, the button object executes the specific actions state of the button
contained in that method. For instance, a button object receiving a message to invoke the and three methods
Display method might result in the button being displayed on the screen; if that button later to perform actions
received a message to invoke the Hide method, the button would then be hidden from view. when messages are




SYS
It is important to realize that each individual object (instance) in a class has the attri- received.
butes and methods associated with that class, but the values of the attributes may vary from
instance to instance. For example, one object in the button class may have a value of red
for the button color attribute and another may have a value of blue for that same attribute.
Objects may also have additional attributes and methods that are not common to all mem-
bers of the class.
An object’s attributes can be in a variety of formats, such as numeric, text, image,
video, audio, and so forth. This characteristic of OOP, combined with the ability to manip-
ulate different types of objects with the same methods, leads to new applications that are
­difficult, or impossible, to create with procedural programming languages. For e­ xample,
the statement
c=a+b
is a typical statement in most programming languages and is most often used to combine
(add) two numbers. In an OOP language, however, the same statement could be used to


>Object-oriented programming (OOP). An approach to program design in which a program consists of objects that contain data (attributes)
and processes (methods) to be used with those objects.




Copyright 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.

Written for

Institution
Course

Document information

Uploaded on
January 30, 2023
Number of pages
40
Written in
2022/2023
Type
SUMMARY

Subjects

$10.75
Get access to the full document:

Wrong document? Swap it for free Within 14 days of purchase and before downloading, you can choose a different document. You can simply spend the amount again.
Written by students who passed
Immediately available after payment
Read online or as PDF

Get to know the seller
Seller avatar
Ary02004

Get to know the seller

Seller avatar
Ary02004 University of Lampung
Follow You need to be logged in order to follow users or courses
Sold
-
Member since
3 year
Number of followers
0
Documents
4
Last sold
-

0.0

0 reviews

5
0
4
0
3
0
2
0
1
0

Recently viewed by you

Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their tests and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can instantly pick a different document that better fits what you're looking for.

Pay as you like, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Working on your references?

Create accurate citations in APA, MLA and Harvard with our free citation generator.

Working on your references?

Frequently asked questions