Program development & programming languages Chapter 13.

Slides:



Advertisements
Similar presentations
Copyright © 2003 by Prentice Hall Computers: Tools for an Information Age Chapter 15 Programming and Languages: Telling the Computer What to Do.
Advertisements

Program Development and Programming Languages
Computers Are Your Future
Program Development and Programming Languages
Professor Michael J. Losacco CIS 1150 – Introduction to Computer Information Systems Programming and Languages Chapter 13.
Programming Creating programs that run on your PC
Program Development and Programming Languages
McGraw-Hill/Irwin Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 14 Programming and Languages.
Computers Are Your Future © 2006 Prentice Hall, Inc.
Computer Concepts 5th Edition Parsons/Oja Page 546 CHAPTER 11 Software Engineering Section A PARSONS/OJA Computer Programming.
Computers: Tools for an Information Age
Java Programming, 3e Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Chapter 16 Programming and Languages: Telling the Computer What to Do.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
Program Development and Programming Languages
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Chapter 10 Application Development. Chapter Goals Describe the application development process and the role of methodologies, models and tools Compare.
McGraw-Hill Technology Education © 2006 by the McGraw-Hill Companies, Inc. All rights reserved CHAPTER PROGRAMMING AND LANGUAGES.
1414 CHAPTER PROGRAMMING AND LANGUAGES. © 2005 The McGraw-Hill Companies, Inc. All Rights Reserved Competencies Describe the six steps of programming.
SOFTWARE SYSTEMS SOFTWARE APPLICATIONS SOFTWARE PROGRAMMING LANGUAGES.
PRE-PROGRAMMING PHASE
Chapter 3 Software Two major types of software
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Building Applications.
Your Interactive Guide to the Digital World Discovering Computers 2012.
CS102 Introduction to Computer Programming
© Paradigm Publishing Inc Chapter 12 Programming Concepts and Languages.
Computers Are Your Future Tenth Edition Chapter 11: Programming Languages & Program Development Copyright © 2009 Pearson Education, Inc. Publishing as.
Chapter 13 Programming Languages and Program Development 1.
Program Development and Programming Languages
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Computers Are Your Future Tenth Edition Chapter 11: Programming Languages & Program Development Copyright © 2009 Pearson Education, Inc. Publishing as.
Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.
Program Development and Programming Languages
Programming Languages: Telling the Computers What to Do Chapter 16.
Computers Are Your Future Eleventh Edition
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
CC111 Lec#5: Program Development 1 Program Development and Programming Languages Lecture 4 Reference :Understanding Computers Chapter 13.
Understanding Computers Ch. 131 Chapter 13 Program Development and Programming Languages.
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
Alexandria University Faculty of Science Computer Science Department Introduction to Programming (CS 102) C++ Programminhg.
UNIVERSITI TENAGA NASIONAL “Generates Professionals” CHAPTER 4 : Part 2 INTRODUCTION TO SOFTWARE DEVELOPMENT: PROGRAMMING & LANGUAGES.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
An intro to programming. The purpose of writing a program is to solve a problem or take advantage of an opportunity Consists of multiple steps:  Understanding.
CSC-115 Introduction to Computer Programming
Programming Languages 1.07a.  A computer program is a series of instructions that direct a computer to perform a certain task.  A programming language.
Computer Concepts 2014 Chapter 12 Computer Programming.
Describe the Program Development Cycle. Program Development Cycle The program development cycle is a series of steps programmers use to build computer.
1 Chapter 13 Understanding Computers, 11 th Edition 13 Program Development and Programming Languages TODAY AND TOMORROW 11 th Edition CHAPTER.
Discovering Computers 2009 Chapter 13 Programming Languages and Program Development.
Computer Programs and Programming Languages What are low-level languages and high-level languages? High-level language Low-level language Machine-dependent.
INTRODUCTION TO COMPUTING CHAPTER NO. 04. Programming Languages Program Algorithms and Pseudo Code Properties and Advantages of Algorithms Flowchart (Symbols.
Copyright © Prentice Hall Programming and Languages Chapter 14 Telling the Computer What to Do.
Module 4 Part 2 Introduction To Software Development : Programming & Languages Introduction To Software Development : Programming & Languages.
Programming and Languages
Chapter 14 Programming and Languages McGraw-Hill/Irwin Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
Alexandria University Faculty of Science Computer Science Department Introduction to Programming C++
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
Introduction to Programming Languages © 2005 Prentice Hall, Inc. CXC IT Unit 2: Intro. to Programming.
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 1 An Introduction to Visual Basic.NET and Program Design.
PROGRAMMING (1) LECTURE # 1 Programming and Languages: Telling the Computer What to Do.
Programming Logic and Design Seventh Edition Chapter 1 An Overview of Computers and Programming.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
CSCI-235 Micro-Computer Applications
Chapter 4 Computer Software.
An Introduction to Visual Basic .NET and Program Design
Program Development and Programming Languages
Programming Languages and Program Development
Chapter 1 Introduction(1.1)
and Program Development
Presentation transcript:

Program development & programming languages Chapter 13

2 Overview  The most common approaches to program design and development  The phases of the program development life cycle (PDLC)  Tools that can be used to design and develop a program  Good program design techniques and types of program errors  Common programming languages

Understanding Computers: Today and Tomorrow, 13th Edition Programs & Programming  Computer program –  a sequence of instructions for a computer written to perform a specific task  Programming: Process of designing, writing, testing, debugging & maintaining the source code of computer programs  Programs need to be designed before they can be developed  Procedural design  Object oriented design  Aspect oriented design  Adaptive design  Programs use computer memory to save pieces of information for later use (variables)

4 Design Approach 1: Procedural  Program is separated into small modules that are called by the main program or another module when needed  Uses procedures (modules, subprograms):  Smaller sections of code that perform specific tasks  Allows each procedure to be performed multiple times

5 Design Approach 2: Object-oriented (OOP)  Programs consist of a collection of objects that contain data and methods to be used with that data  Class:  blueprint  Object:  A specific instance of a class  Attributes:  Data about the object  Methods:  actions the class can perform Car color doors start() stop()

6 Design Approach 3 & 4: Aspect and Adaptive:  Aspect-oriented programming (AOP)  Separates program into components  Can be developed and modified individually from one another  Adaptive software development  Designed to make program development faster and more efficient and focus on adapting the program as it is being written  Iterative and rapid  Building small functional program pieces

Understanding Computers: Today and Tomorrow, 13th Edition System Development Life Cycle PDLC

8 The Program Development Life Cycle (PDLC)  Program development: The process of creating application programs  Program development life cycle (PDLC): The process containing the five phases of program development

9  Problem Analysis: The problem is considered and the program specifications are developed  Business Specifications are reviewed between the analyst and the programmer  Goal  Understand the functions the software must perform  Documentation  Program specifications (what it does, timetable, programming language to be used, etc) The Program Development Life Cycle (PDLC)

10  Program Design: 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  Flowcharts  Show graphically step-by-step how a computer program will process data  Use special symbols and relational operators  Can be drawn by hand or with flowcharting software The Program Development Life Cycle (PDLC)

11 Flowcharts and Pseudocode

12 Program Development  Program Development  The program code is written using a programming language.  Coding standards: 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  Coding creates source code  Documentation: Includes documented source code  Reusable code: Pretested, error-free code segments that can be used over and over again with minor modifications  Can greatly reduce development time

13 Program Development (continued) Comments

14 Program Development (continued) Debugging & Testing  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  Language translator: Program that converts source code to machine language  Object code: Machine language version of a program

15 Program Development (continued) Debugging & Testing ̶ Preliminary debugging: Finds initial errors Compiler errors: Program doesn’t run −Typically syntax errors: When the programmer has not followed the rules of the programming language Run time error: Error that occurs when the program is running Usually an operation that cannot be completed Logic errors: Program will run but produces incorrect results

16 Program Development (continued) Debugging & Testing

17 Program Development (continued) Debugging & Testing  Testing: Occurs after the program appears to be correct to find any additional errors  Should use good test data and bad test data  Documentation: Completed program package (user’s manual, description of software commands, troubleshooting guide to help with difficulties, etc.)

18 Implementation & Maintenance  Implementing the program  Once the system containing the program is up and running, the implementation process is complete  Maintaining the program  Program maintenance: Process of updating software so it continues to be useful  Very costly  Documentation: Amended program package

19 Programming Languages  Programming – writing a computer program  appropriate software for the programming language is useful  Software development kit  Programming language  A set of rules, words, symbols, and codes used to write computer programs  Categories of programming languages  Low-level languages  High-Level languages  4GL languages  Creates executable code . exe or.dll  Loads in memory, uses memory to save information

20 Low Level Languages  Difficult to code in; machine dependent  Machine language: 1’s and 0’s  Assembly language  Includes some names and other symbols to replace some of the 1s and 0s in machine language

21 High Level Languages  Closer to natural languages  Machine independent  Includes 3GLs (FORTRAN, BASIC, COBOL,C, etc.)  Includes object-oriented languages (Visual Basic, C#, Python, Java, etc.)  Visual or graphical languages (.Net, Adobe ActionScript)  Use graphical interface to create programs

22 Common Programming Languages  FORTRAN:  High-level programming language used for mathematical, scientific, and engineering applications

23 Common Programming Languages  COBOL  Designed for business transaction processing  Being phased out in many organizations  Evolving (COBOL.NET)

24 Common Programming Languages  Pascal  Created as a teaching tool to encourage structured programming

25 Common Programming Languages  BASIC  Easy-to-learn, high-level programming language  Visual Basic: Object-oriented, visual version of BASIC

26 Common Programming Languages  C Family  C: Designed for system programming  C++: Object-oriented versions of C  C#: Used for Web applications  Objective-C: For iPhone and other Apple applications

27 Common Programming Languages  Java:  Is one of the most popular programming languages today  Can run on any computer that includes Java Virtual Machine (Java VM)  Applets – small programs (scroll text, games, calculators)

28 Common Programming Languages  Python  Used in gaming, scientific, database, and Web applications

29 Fourth Generation Languages  Closer to natural languages  Easier to work with than high-level  Declarative rather than procedural  Mostly used with databases  Includes structured query language (SQL)  DB2, SQL Server, Oracle, Access, Foxpro, Powerbuilder, Natural, FOCUS

30 Tools for Facilitating Program Development  Application Lifecycle Management (ALM):  Project management - creating and managing an application during its entire lifecycle, from design through retirement  Project management tools include:  Requirements management (changes)  Keeping track of and managing requirements as they are defined and then modified  Configuration management (versions)  Keeping track of the progress of a program development project  Issue tracking (bugs)  Recording issues such as bugs or other problems that arise during development or after the system is in place

31 Tools for Facilitating Program Development  Application generator  Software program that helps programmers develop software  Device software development tools  Assist with developing embedded software to be used on devices, such as cars, ATM machines, consumer devices, etc  Software development kits (SDKs)  Designed for a particular platform  Enables programmers to develop applications more quickly and easily  Released by hardware or software companies  Application Program Interfaces (APIs)  Help applications interface with a particular operating system  Often used in conjunction with Web sites

32 Tools for Facilitating Program Development  Rich Internet Application (RIA)  Web-based applications that work like installed software programs  Desktop RIA can access local files and used without an Internet connection  Web-based RIAs are common  Tools to develop RIAs  Adobe AIR