You are on page 1of 44

Lecture 5

Program Development and


Programming Languages

Reference :Understanding Computers


Chapter 13

CC111 Lec#5: Program Development


The Program Development Life Cycle

Creating new programs is called program


development.

The process associated with creating


successful applications programs is called the
program development life cycle (PDLC).

CC111 Lec#5: Program Development


The Program Development Life Cycle

CC111 Lec#5: Program Development


How Code Relates to the .NET Framework

CC111 Lec#5: Program Development


How Code Relates to the .NET Framework

CC111 Lec#5: Program Development


How Code Relates to the .NET Framework

CC111 Lec#5: Program Development


Problem Analysis

• During problem analysis, a systems analyst and


programmer review specifications and talk with
users to fully understand what the software
should do.

• Documentation consists of program


specifications, timetable, which language will be
used, how the program will be tested, and what
documentation is required.

CC111 Lec#5: Program Development


Program Design

• Program design: stage where program specifications


are expanded into a complete design of the new
program.

• Structured programming and object-oriented


programming are two of the most significant
approaches to the design process.

CC111 Lec#5: Program Development


Program Design:
Program Design Tools

Program design tools are planning tools.


• Structure charts

• Program flowcharts

• Pseudocode

• Data modeling

CC111 Lec#5: Program Development


Program Design:
Program Design Tools

Structure charts
depict the overall organization of a program, and how the
modules of a program—logically related operations that
perform a well-defined task—are defined and how they
connect to each other hierarchically.

Program modules should be arranged hierarchically, in a top-


down fashion, so that their relationship to each other is
apparent.

CC111 Lec#5: Program Development


CC111 Lec#5: Program Development
Program Design:
Program Design Tools

Program flowcharts
 use geometric symbols and familiar relational operators to
provide a graphic display of the sequence of steps involved in
a program.

 The steps in a flowchart follow each other in the same logical


sequence as their corresponding program statements will
follow in a program.
 Different symbols are used to represent different actions, such
as start/stop, decision, input/output, processing, and looping
symbols.

CC111 Lec#5: Program Development


CC111 Lec#5: Program Development
CC111 Lec#5: Program Development
CC111 Lec#5: Program Development
Program Design:
Program Design Tools

Pseudocode
uses English-like statements in place of the graphic symbols of
the flowchart.

Unlike a flowchart, pseudocode is easy to modify and can be


embedded into a program as comments.

No standard set of rules exists for writing pseudocode, although a


number of conventions have been developed.

CC111 Lec#5: Program Development


CC111 Lec#5: Program Development
Program Design:
Program Design Tools

Data modeling:
a technique used to illustrate the data in an application and is
frequently used with object-oriented programming.

In a data model, the objects in the program are identified, along


with their variables and class.

CC111 Lec#5: Program Development


Program Design:
Control Structures

• Sequence

• Selection

• Iteration

CC111 Lec#5: Program Development


Program Design: Control Structures

Sequence
A sequence control structure is simply a series of
procedures that follow one another.

Statement Statement Statement ...

CC111 Lec#5: Program Development


Program Design: Control Structures

Selection
 The selection (if-then-else) control structure involves a choice: if
a certain condition is true, then follow one procedure; else, if
false, follow another.

When more than two possible choices exist, the case control
structure can be used instead.

Statement1
Condition ...
Statement
Statement2

CC111 Lec#5: Program Development


Program Design: Control Structures

Iteration
 loop is an operation that repeats until a certain condition is met.
 A looping (iteration) control structure can take two forms.
 With the do-while structure, the loop is executed as long as a
condition is true; with the do-until structure, the loop continues until a
certain condition becomes true.
False
...
Condition

Statement

CC111 Lec#5: Program Development


CC111 Lec#5: Program Development
Program Design:
Good Program Design

n Good program design is essential; it can save time and it


produces a better end result. Some principles of good
program design are:

• Be specific

• One-entry-point, one-exit-point rule

• No infinite loops

• Documentation during program design includes all the


design specifications

CC111 Lec#5: Program Development


CC111 Lec#5: Program Development
Program Coding

• Coding: actual process of creating the program in a


programming language.
– Programming language must be chosen.
– Coding standards should be adhered to.
– Make use of reusable code and data dictionaries.
– Translate coded programs into executable code.

• Documentation results in finished source code.

CC111 Lec#5: Program Development


CC111 Lec#5: Program Development
Program Coding

nThe coded program is referred to as source code.


to be executed, the program is converted by the
computer to object code using a special program.
 A compiler translates the entire program into machine
language before executing it. The program then doesn’t
need to be recompiled until it is modified.
 An interpreter translates program statements one at a
time. Interpreters are helpful during the debugging
stage, but are slower during execution of the finished
program.
 An assembler converts assembly-language statements
into machine language.

CC111 Lec#5: Program Development


CC111 Lec#5: Program Development
Program Debugging and Testing

• Debugging: process of making sure a program is free of


errors or bugs.
– Preliminary bugging often finds syntax or logic
errors.
– Testing can consist of alpha or beta testing.

• Documentation includes a copy of the finished program


code, plus test data and results.

CC111 Lec#5: Program Development


Program Debugging and Testing

 Preliminary debugging begins after the program has been


entered into the computer system. Rarely is a program error-
free the first time it runs. Two common types of errors are
syntax errors and logic errors.

 A syntax error occurs when the programmer has not


followed the rules of the language.

 A logic error, or execution-time error, results when the


command syntax is correct but the program is producing
incorrect results.

CC111 Lec#5: Program Development


Program Debugging and Testing

 At some point in the preliminary debugging process, the


program will appear to be correct. At this point, the
programmer, or preferably someone else, will run the original
program with extensive test data.
 Good test data will subject the program to all the conditions
it might conceivably encounter when finally implemented.
 Most companies run on-site alpha tests to test programs;
companies in the business of selling software also commonly
run beta tests by distributing preliminary versions of the
program to outside users.

CC111 Lec#5: Program Development


Program Maintenance

• Program maintenance: process of updating software so


that it continues to be useful.
– A costly process, but can be used to extend the life of
a program.

• Documentation consists of amended program package


reflecting what problems occurred and what program
changes were made.

CC111 Lec#5: Program Development


What Is a Programming Language?

A programming language is a set of


rules used to write instructions to the
computer.

CC111 Lec#5: Program Development


Categories of Programming Languages

• Low-level languages

• High-level languages

• Fourth-generation languages (4GLs)

• Natural and visual languages

CC111 Lec#5: Program Development


Categories of Programming Languages

 Machine and assembly languages are called low-level


languages, because programmers who code in them must
write instructions at the finest level of detail, the base level of
the hardware.

 Although virtually no one writes machine-language programs


anymore, all programs must be translated by a language
translator into machine language before they are executed.
 Assembly languages are fast and consume little storage
when compared with higher-level languages, but take longer
to write and maintain.

CC111 Lec#5: Program Development


Categories of Programming Languages

 High-level languages differ from their low-level


predecessors in that they require less coding detail and make
programs easier to write.

Programs written in a high-level language (BASIC, COBOL,


Pascal, C, etc.) need to be translated into machine language
before they can be executed.

CC111 Lec#5: Program Development


Categories of Programming Languages

 Very-high-level also known as fourth-


languages,
generation languages (4GLs), are much easier to use
than the high-level languages that preceded them, because
they are declarative rather than procedural languages.
For instance, to draw a bar chart in a procedural language,
you must tell the computer how to draw bars and where to
place them. In a declarative language, you may be able to just
point to the data you want graphed, click several menu choices,
and you’re in business. Fourth-generation languages are
commonly used to access databases (query languages).

CC111 Lec#5: Program Development


Popular Programming Languages

• FORTRAN n BASIC and Visual Basic

• COBOL n C, C++, AND C#

• Pascal n Java

CC111 Lec#5: Program Development


CC111 Lec#5: Program Development
Markup Languages

• Markup languages use symbols or tags to describe


what a document should look like when displayed.

– HTML (Hypertext Markup Language)


– Dynamic HTML
– XML (extensible markup language)
– XHTML (extensible Hypertext Markup Language)
– WML (Wireless Markup Language )

CC111 Lec#5: Program Development


CC111 Lec#5: Program Development
Scripting Languages

• Scripting languages are used to build program


instructions into Web pages, usually to add dynamic
content.

– JavaScript

– VBScript

– Perl

CC111 Lec#5: Program Development


CC111 Lec#5: Program Development

You might also like