You are on page 1of 19

CSC101

Introduction to
ICT
Muhammad Sharjeel
muhammadsharjeel@cuilahor
e.edu.pk

1
Lecture - 9

Program Development and


Programming Languages

2
Program Development Life Cycle
凝 The overall process of creating computer programs is called program development.

凝 Program development life cycle (PDLC) contains five phases of program development
凝 Problem analysis
凝 Program design
凝 Program coding
凝 Program debugging and testing
凝 Program implementation and maintenance

Read more: https://en.wikibooks.org/wiki/Introduction_to_Computer_Information_Systems/


Program_Development
3
Program Development Life
Cycle
Problem
analysis Program specifications

Amended program package

Program
implementation Program design
And maintenance

Design specifications
Completed program package
de
co
u rce
so
d
e nte
Program m
cu
debugging and Do Program coding
testing

4
Problem Analysis (PDLC)
凝 The problem is considered, and the program specifications are developed
凝 specifications developed during this phase are reviewed by the systems analyst and the
programmer (the person who will code the program)

凝 Goal: To understand the functions the software must perform

凝 Documentation: Includes program specifications (what it does, timetable, programming


language to be used, etc.)

5
Program Design (PDLC)
凝 The program specifications are expanded into a complete design of the new program
凝 good program design is extremely important
凝 Program design tools
凝 Structure charts: depict the overall organization of a program
凝 Pseudocode: uses natural language statements to outline the logic of a program
凝 Algorithm: a clear specification of how to solve a problem
凝 Flowcharts: graphically show how a computer program will process data
凝 Unified Modeling Language (UML) models: a set of standard notations for creating business
models. Widely used in object-oriented programs, including class diagrams, use case diagrams, etc.

凝 Structure theorem: A pattern for controlling the flow of logic in a computer program, module, or
method
凝 Sequence: series of statements that follow one another
凝 Selection: multiple paths, direction depends on the result of the test
凝 Repetition: repeat series of steps 6
Program Design (PDLC)
凝 Good program design is essential as it saves a lot of time

凝 Good program design principles;


凝 be specific
凝 all things the program must-do needs to be specified
凝 one-entry-point/one-exit-point rule
凝 no infinite loops or other logic errors
凝 design should be tested to ensure logic is correct
凝 desk check, tracing tables

凝 Documentation: Includes design specifications

7
Program Coding (PDLC)
凝 The program code (source code or the set of instructions) is written using a
programming language

凝 When choosing a programming language, consider;


凝 suitability to the application
凝 integration with other programs
凝 standards for the company
凝 programmer availability
凝 portability if being run on multiple platforms
凝 development speed

8
Program Coding (PDLC)
凝 Coding standards are rules designed to standardize programming
凝 makes programs more readable and easier to maintain
凝 includes the proper use of comments to:
凝 identify the programmer and last modification date
凝 explain variables used in the program
凝 identify the main parts of the program

凝 Pretested error-free code segments can be re-used repeatedly with minor


modifications
凝 can greatly reduce development time

凝 Documentation: Includes documented source code

9
Program Debugging and Testing (PDLC)
凝 The process of ensuring a program is free of errors (bugs) and works as it is
supposed to
凝 Before they can be debugged, coded programs need to be translated into
executable code

凝 Source code: coded program before it is compiled


凝 Object code: machine language version of a program

凝 Language translator: Program that converts source code to machine language


凝 Types of language translators;
凝 Compilers: converts an entire program into machine language before
executing it
凝 Interpreters: translates one line of code at one time

1
0
Program Debugging and Testing (PDLC)
凝 Debugging: Finds initial errors
凝 Compiler errors: program doesn’t run
凝 typically syntax errors that occurs when the programmer has not followed the rules of the
programming language
凝 Run time error: error that occurs when the program is running
凝 Logic errors: program will run but produces incorrect results

凝 Dummy print statements can help locate logic errors and other run-time errors

1
1
Program Debugging and Testing (PDLC)
凝 Testing: Occurs after the program appears to be correct to find any additional errors
凝 should use good test data
凝 tests conditions that will occur when the program is implemented
凝 should check for coding omissions (product quantity allowed to be < 0, etc.)
凝 Alpha test (inside the organization)
-Alpha testing is performed at the developer's site.
凝 Beta test (outside testers)
-Beta testing is performed at end user of the product.

凝 Documentation: Completed program package (user’s manual, description of software


commands, troubleshooting guide to help with difficulties, etc.)

12
Program Implementation and Maintenance
(PDLC)
凝 Program implementation: Once the system containing the program is installed (up and
running), the implementation process is complete
凝 Program maintenance: Process of updating the software so it continues to be useful
凝 Documentation: Amended program package
凝 it is normally very costly

1
3
Programming Languages
凝 Programming language is a computer language that consists of instructions designed for the
computers
凝 Processors only understand machine code (0’s and 1’s), which is difficult to understand
凝 Thus various programming languages are being used which are more understandable than the
machine code and provides greater portability

凝 Categories of programming languages


凝 Low-level languages: Difficult to code, machine-dependent
凝 example, Assembly language
凝 High-level languages: Closer to natural languages, machine-independent
凝 example, C, Visual Basic, C#, Python, Java

1
4
Programming Languages
凝 Based on the programming paradigm, one can broadly classify programming languages into
three categories
凝 Structured programming
凝 Procedural programming
凝 Object-oriented programming

凝 Key Difference between the three programming paradigms


凝 Structured programming emphasizes separating a program’s data from its functionality
凝 Procedural programming consists of a set of procedure calls and a set of code for each
procedure
凝 Object-oriented programming is based on entities known as objects

Ream more: http://www.dif erencebetween.info/dif erence-between-procedural-structural-and-object-oriented-


programming-languages
15
Common Programming Languages
凝 FORTRAN
凝 High-level programming language used for mathematical, scientific, and engineering applications
凝 Used for high-performance computing tasks
凝 COBOL
凝 Designed for business transaction processing, mostly used in financial institutions
凝 Makes extensive use of modules and submodules, newer version is COBOL.NET

凝 Pascal
Created as a teaching tool to encourage structured programming
Contains a variety of control structures used to manipulate modules
systematicaly

凝 BASIC
凝 Easy-to-learn, high-level programming language that was developed to be used by beginning programmers
凝 The more recent object-oriented version of BASIC, cal ed Visual Basic or VB, uses a visual environment

16
凝 C
凝 A structured programming language designed for system programming
凝 It can be used to develop software like operating systems, databases, compilers, etc.
凝 C++
凝 A cross-platform and object-oriented versions of C language
凝 A powerful general-purpose programming language which is used to develop operating systems,
games, etc.
凝 C#

凝 A general-purpose, multi-paradigm programming language

凝 Developed by Microsoft and mostly used to create Web applications


凝 JavaScript
凝 JavaScript or JS, is a high-level, interpreted programming language
凝 dynamic, weakly typed, prototype-based and supports multi-paradigm
凝 Used to make dynamic web pages interactive and provide online programs,
including video games

1
7

PHP
凝 PHP or Hypertext Preprocessor is a server-side Web scripting language, used for making
dynamic Web pages
凝 Widely-used, efficient, general-purpose and open source programming language
凝 Java
• High-level, object-oriented programming language frequently used for Web-based applications.
 Compiles programs into bytecode that can run on any computer having Java Virtual Machine (JVM).
 Used to write Java applets, scroll text on Web page, games, calculators, etc.

凝 Python
凝 High-level programming language for general-purpose programming
凝 features a dynamic type system and automatic memory management
凝 Supports multiple programming paradigms, including object-oriented, imperative, functional, and
procedural
凝 Has a large and comprehensive standard library

1
8
THANK
YOU
1
9

You might also like