Application programming on z/OS
Previous topic | Next topic | Contents | Glossary | Contact z/OS | PDF


Designing and developing applications for z/OS

Application programming on z/OS

See the latest information on:

The life cycle of an application to run on z/OS® begins with the requirement gathering phase, continues through design and code development, and ends with testing before the application enters into a steady state in which improvements or maintenance changes are applied.

This section provides a brief overview of a typical design, code, and test cycle for a new application on z/OS. Much of this information is applicable to all computing platforms in general, not just mainframes. This section also describes the roles of the application designer and application programmer. The discussion is intended to highlight the types of decisions that are involved in designing and developing an application to run in the mainframe environment. This is not to say that the process is much different on other platforms, but some of the questions and conclusions can be different.

This section describes the life cycle of designing and developing an application to run on z/OS. The process begins with the requirement gathering phase, in which the application designer analyzes user requirements to see how best to satisfy them. There might be many ways to arrive at a given solution; the object of the analysis and design phases is to ensure that the optimal solution is chosen. Here, "optimal" does not mean "quickest," although time is an issue in any project. Instead, optimal refers to the best overall solution, with regard to user requirements and problem analysis.

The EBCDIC character set is different from the ASCII character set. On a character-by-character basis, translation between these two character sets is trivial. When collating sequences are considered, the differences are more significant and converting programs from one character set to the other can be trivial or it can be quite complex. The EBCDIC character set became an established standard before the current 8-bit ASCII character set had significant use.

At the end of the design phase, the programmer's role takes over. The programmer must now translate the application design into error-free program code. Throughout the development phase, the programmer tests the code as each module is added to the whole. The programmer must correct any logic problems that are detected and add the updated modules to the completed suite of tested programs.

An application rarely exists in isolation. Rather, an application is usually part of a larger set of applications, where the output from one application is the input to the next application. To verify that a new application does not cause problems when incorporated into the larger set of applications, the application programmer conducts a system test or integration test. These tests are themselves designed, and many test results are verified by the actual application users. If any problems are found during system test, they must be resolved and the test repeated before the process can proceed to the next step.

Following a successful system test, the application is ready to go into production. This phase is sometimes referred to as promoting an application. Once promoted, the application code is now more closely controlled. A business would not want to introduce a change into a working system without being sure of its reliability. At most z/OS sites, strict rules govern the promotion of applications (or modules within an application) to prevent untested code from contaminating a "pure" system.

At this point in the life cycle of an application, it has reached a steady state. The changes that will be made to a production application are enhancements, functional changes (for example, tax laws change, so payroll programs need to change), or corrections.





Copyright IBM Corporation 1990, 2010