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

Application development life cycle: An overview

Application programming on z/OS

See the latest information on:

An application is a collection of programs that satisfies certain specific requirements (resolves certain problems). The solution could reside on any platform or combination of platforms, from a hardware or operating system point of view.

As with other operating systems, application development on z/OS® is usually composed of the following phases:

  • Design phase
  • Gather requirements.
    • User, hardware and software requirements
    • Perform analysis.
    • Develop the design in its various iterations:
      • High-level design
      • Detailed design
    • Hand over the design to application programmers.
  • Code and test application.
  • Perform user tests.

User tests application for functionality and usability.

  • Perform system tests.
    • Perform integration test (test application with other programs to verify that all programs continue to function as expected).
    • Perform performance (volume) test using production data.
  • Go into production–hand off to operations.
  • Ensure that all documentation is in place (user training, operation procedures).
  • Maintenance phase--ongoing day-to-day changes and enhancements to application.

Figure 1 shows the process flow during the various phases of the application development life cycle.

Figure 1. Application development life cycle
Application development life cycle

Figure 2 depicts the design phase up to the point of starting development. Once all of the requirements have been gathered, analyzed, verified, and a design has been produced, we are ready to pass on the programming requirements to the application programmers.

Figure 2. Design phase
Design phase

The programmers take the design documents (programming requirements) and then proceed with the iterative process of coding, testing, revising, and testing again, as we see in Figure 3.

Figure 3. Development phase
Development phase

After the programs have been tested by the programmers, they will be part of a series of formal user and system tests. These are used to verify usability and functionality from a user point of view, as well as to verify the functions of the application within a larger framework (Figure 4).

Figure 4. Testing

The final phase in the development life cycle is to go to production and become steady state. As a prerequisite to going to production, the development team needs to provide documentation. This usually consists of user training and operational procedures. The user training familiarizes the users with the new application. The operational procedures documentation enables Operations to take over responsibility for running the application on an ongoing basis.

In production, the changes and enhancements are handled by a group (possibly the same programming group) that performs the maintenance. At this point in the life cycle of the application, changes are tightly controlled and must be rigorously tested before being implemented into production (Figure 5).

Figure 5. Production

As mentioned before, to meet user requirements or solve problems, an application solution might be designed to reside on any platform or a combination of platforms. As shown in Figure 6, our specific application can be located in any of the three environments: Internet, enterprise network, or central site. The operating system must provide access to any of these environments.

Figure 6. Growing infrastructure complexity
Growing infrastructure complexity

To begin the design process, we must first assess what we need to accomplish. Based on the constraints of the project, we determine how and with what we will accomplish the goals of the project. To do so, we conduct interviews with the users (those requesting the solution to a problem) as well as the other stakeholders.

The results of these interviews should inform every subsequent stage of the life cycle of the application project. At certain stages of the project, we again call upon the users to verify that we have understood their requirements and that our solution meets their requirements. At these milestones of the project, we also ask the users to sign off on what we have done, so that we can proceed to the next step of the project.

Copyright IBM Corporation 1990, 2010