2 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).
3 The Program Development Life Cycle (PDLC) Program Development (application software development)The process of creating application programsProgram Development Life Cycle (PDLC)The five phases of program development
4 1- Problem AnalysisDuring 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
5 2- Program DesignProgram 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.
6 Program Design: Program Design Tools Program design tools are planning tools.1- Structure charts2- Program flowcharts3- Pseudocode
7 Program Design: 1-Structure charts : Program Design Tools show 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.
9 Program Design: 2-Program flowcharts : Program Design Tools 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.
13 Program Design 3-Pseudocode Program Design Tools * 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.
15 Program Design: Control Structures * Sequence* Selection* Iteration
16 Program Design Control Structures SequenceA sequence control structure is simply a series of procedures that follow one another.Statement. . .
17 Program Design: Selection Control Structures · 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.Statement1StatementStatement2Condition. . .TrueFalse
18 Program Design: Iteration Control Structures 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.StatementCondition. . .FalseTrue
19 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
20 3- Program CodingCoding: 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.
22 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.
23 4- 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.Alpha testingAlpha testing is simulated or actual operational testing by potential users/customers or an independent test team at the developers' site. Alpha testing is often employed for off-the-shelf software as a form of internal acceptance testing, before the software goes to beta testing.Beta testingBeta testing comes after alpha testing and can be considered a form of external user acceptance testing. Versions of the software, known asbeta versions, are released to a limited audience outside of the programming team. The software is released to groups of people so that further testing can ensure the product has few faults or bugs. Sometimes, beta versions are made available to the open public to increase thefeedback field to a maximal number of future users.
24 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.
25 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.
26 5- 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.
27 What Is a Programming Language? A programming language is a set of rules used to write instructions to the computer.
28 Categories of Programming Languages Low-level languagesHigh-level languagesFourth-generation languages (4GLs)Natural and visual languages