It was to identify sub-stages within each stage of the system development model of SDLC (go back to Unit 12 to refresh your studies on System Development Life Cycle, or SDLC). However, there is no general agreement on what sub-stages being followed in order to complete the development. Depending on the workload distribution among the
development team members, different approaches were established knowingly without misleading the flow as discussed herein. Even with the mentioned well formulated design, the development process was under influence of the difficulties unforeseen circumstances with and from the resources and program code, the task been changed in several modes but all the practices remained within.
- The Process Figure 29.1 recapitulates the “waterfall” SDLC key steps:
Fig 29.1. The process formulation
The process is a structured set of activities required to develop a system. A common process framework is established by defining a small number of framework activities that are applicable to all projects. Task sets are created under a common process framework and they contain a group of work tasks, project milestones, work products, deliverables and quality assurance points. These are important in implementing the project efficiently.
The procedures outlined are the traditional steps to developing application software. Today many organizations are using a newer approach to application development, called structured design. Developing useful computer programs and application software requires a substantial amount of detailed planning. Through years of experience, a series of steps and planned activities have been developed to maximize the likelihood of developing profitable and useful software. Many companies and computer manufacturers have developed books, seminars, cassettes, and other materials on the application development process with titles such as “Managing Application Development” and “Computer Problem Solving.” While the particular procedures have different names, the overall approach is basically the same. A brief description of the steps in application development and the people involved is shown in Table 1.
|Step||People involved||Brief descriptions|
|1.||Problem definition output and requirements.||User, analyst||Define problem and specify input|
|2.||Analysis and design new||User, analyst||Analyze old system and design system.|
|3.||Language selection||Analyst, Programmer||Determine best programming language.|
|4.||Programming||Programmer||Develop the necessary programs.|
- Testing and debugging Analyst, programmer Make sure programperforms asdesigned.
- Documentation Analyst, programmer Develop technical anduserdocumentation.
- Implementation User, analyst Phase in new programswhile phasing out oldprocedures.
- Maintenance User, analyst, Enhance and improveprogrammerprograms.
The fundamental steps outlined in Table 1 offer a number of advantages over an approach without a formal procedure. These advantages include:
- Better management control over the project.
- The use of proven techniques and procedures.
- Good use of data processing personnel.
- Better estimates of project completion time.
- Better estimates of total project costs,
- Improved quality control over entire project.
- Better program design, which leads to fewer problems with debugging and maintenance.
- Greater likelihood of satisfying user needs and desires.
The importance of program design (problem definition, analysis, and design) cannot be overemphasized. It is easier, faster, and cheaper to design a good program than to try to fix and maintain a poorly designed one. The key to good design is planning. By spending more time in the design phase, it is normally possible to spend less time on coding, testing, and maintenance. In some cases, better program design can reduce total programming time and cost, In the 1960s, a typical application might take about six months to complete. Today, because applications are becoming longer and more complex, the typical application can take over three years to complete. Thus, time and cost savings from good planning and design is becoming more important.
It should be noted that one step does not have to be completely finished before the next step is started. For example, during analysis and design, materials are developed that are used in documentation. Furthermore, many programmers develop test data, during the initial steps that is used during the testing and debugging phase. In other cases, programmers perform all of these steps for one part of one program, and then this process is repeated until the entire program is written. Application and program development is a continuous process. This is called the programming life cycle .
Like links in a chain, the eight steps of developing application software provide the connection between the potential of the computer hardware and the desires of the individuals using the computer system. When one step is not adequately completed, there is a weak link, and the computer system will probably not be able to perform to its potential in satisfying the needs and desires of those individuals using the system.