Presentation is loading. Please wait.

Presentation is loading. Please wait.

Program development & programming languages Chapter 13.

Similar presentations


Presentation on theme: "Program development & programming languages Chapter 13."— Presentation transcript:

1 Program development & programming languages Chapter 13

2 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

3 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 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 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 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

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

8 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 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 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 11 Flowcharts and Pseudocode

12 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 13 Program Development (continued) Comments

14 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 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 16 Program Development (continued) Debugging & Testing

17 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 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 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 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 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 22 Common Programming Languages  FORTRAN:  High-level programming language used for mathematical, scientific, and engineering applications

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

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

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

26 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 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 28 Common Programming Languages  Python  Used in gaming, scientific, database, and Web applications

29 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 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 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 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


Download ppt "Program development & programming languages Chapter 13."

Similar presentations


Ads by Google