1 / 32

Program development & programming languages

Program development & programming languages. Chapter 13. 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

liliha
Download Presentation

Program development & programming languages

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

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

  7. 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 Appleapplications

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

More Related