Sie sind auf Seite 1von 6

Traditional Sequential Software Development

Compiled By:
Gautam Kumar Roll No. 13

Introduction
The systems development life cycle (SDLC), or software development process in systems engineering, information systems and software engineering, is a process of creating or altering information systems, and the models and methodologies that people use to develop these systems. In software engineering, the SDLC concept underpins many kinds of software development methodologies. These methodologies form the framework for planning and controlling the creation of an information system, the software development process. SDLC is a conceptual model used in project management that describes the stages involved in an information system development project, from an initial feasibility study through maintenance of the completed application. Hence an array of system development life cycle (SDLC) models has been created: Fountain, Spiral, rapid prototyping, synchronize and stabilize and Incremental. Although in the academic sense, SDLC can be used to refer to various processes followed during the development of software, SDLC is typically used to refer to the oldest of the traditional models a waterfall methodology. Sequential or big-design-up-front (BDUF) models, such as Waterfall, focus on complete and correct planning to guide large projects and risks to successful and predictable results. The Systems development life cycle (SDLC) is a process used by a systems analyst to develop an information system, training, and user (stakeholder) ownership. The SDLC aims to produce a high quality system that meets or exceeds customer expectations, reaches completion within time and cost estimates, works effectively and efficiently in the current and planned Information Technology infrastructure, and is inexpensive to maintain and cost-effective to enhance. Computer systems are complex and often (especially with the recent rise of service-oriented architecture) link multiple traditional systems potentially supplied by different software vendors. To manage this level of complexity, a number of SDLC models or methodologies have been created, such as "waterfall"; "spiral"; "Agile software development"; "rapid prototyping"; "incremental"; and "synchronize and stabilize". SDLC models can be described along spectrum of agile to iterative to sequential. Agile methodologies, such as XP and Scrum, focus on lightweight processes which allow for rapid changes along the development cycle. Iterative methodologies, such as Rational Unified Process and dynamic systems development method, focus on limited project scope and expanding or improving products by multiple iterations. Sequential or big-design-up-front (BDUF) models, such as Waterfall, focus on complete and correct planning to guide large projects and risks to successful and predictable results. Other models, such as Anamorphic Development, tend to focus on a form of development that is guided by project scope and adaptive iterations of feature development.

Advantages of the Traditional SDLC:


Although sometimes criticized for its rigidity, a traditional SDLC provided and continues to provide benets for many organizations. In addition to the reason it was initiated namely, adding structure to a previously unstructured process the waterfall approach to system development has two primary advantages: 1. The explicit guidelines allow the use of less-experienced staff for system development, as all steps are clearly outlined. Even junior staff members who have never managed a project can follow the recipes in the SDLC cookbook to produce adequate systems. Reliance on individual expertise is reduced. Use of an SDLC can have the added benet of providing training for junior staff, again because the sequence of steps and the tasks to be performed in each step are clearly dened. 2. The methodology promotes consistency among projects, which can reduce the cost of ongoing support and allow staff to be transferred from one project to another. Although coding techniques are not specied in a typical SDLC, the extensive documentation that is an inherent part of most methodologies simplies ongoing maintenance by reducing reliance on the original developers for explanations of why the system was constructed as it was and which functions are included in which program modules.

Disadvantages of the Traditional SDLC:

While there is no doubt that the waterfall approach to system development is superior to a totally unstructured environment, there are some known disadvantages: 1. If followed slavishly, it can result in the generation of unnecessary documents. Many methodologies have forms for every possible scenario. Inexperienced staff may believe that all are required and may, for example, insist on three levels of customer sign-off when only one is needed. This can have the effect of complicating the process and extending the project schedule unnecessarily. To prevent this from occurring, most organizations view an SDLC as a set of guidelines and use only the steps and forms that apply to the specic size and type of project under development. Many even provide templates for their staff, outlining which steps are required for specic types and sizes of projects. An 18-month mainframe development project might require different processes than a two-week Web front end.

2. It is difcult for the customer to identify all requirements early in the project; however, the sequential river of no return approach dictates this. The philosophy of the SDLC means that there are no easy ways to mitigate this problem and still remain true to the methodology. 3. The customer is involved only periodically, rather than being an active participant throughout the project. This can result in misunderstandings on both sides: IT and the customer. 4. As a corollary to the previous two points, the waterfall approach is usually applied to large projects with long development cycles. The combination of incomplete specications, infrequent communication, and long elapsed time increases the probability that the system will be off track when it is nally delivered. As highway engineers know, an error of only a few degrees, if left uncorrected for thousands of miles, will result in the road going to the wrong destination. 5. Similarly, the long development cycle increases the possibility that by the time the system is delivered, business changes may have invalidated the initial design or that the project champions may have left the company or been reassigned, taking with them the impetus for the project.

The Waterfall Model

The waterfall model is the most classical sequential life cycle; each phase must be completed in its entirety before the next phase can begin. (Post & Anderson, 2006) states that one advantage of the SDLC is the formality aspect which makes it easier to train employees and to evaluate the progress of the development as well as ensuring that steps are not skip, such as user approval, documentation and testing. In addition with eighty percent of MIS resources spent of maintenance, adhering to standards whilst building the system makes it easier to modify and maintain in the future because of the documentation generated and the sustain consistency, however the formality of the SDLC approach can be problematic as it increases the cost of development and lengthens the development time (Post & Anderson, 2006) The formality of the SDLC method also causes problems with projects that are hard to defined, unlike newer methods like Agile which helps software development teams to respond to the unpredictability of building software through incremental, iterative work cadences, known as sprints (Cohn, Mike 2006). Agile Methods aim at allowing organizations to deliver quickly, change quickly and change often. While, agile techniques vary in practice and emphasis, they share common characteristics, including iterative development and a focus on inter-action and communication. Maintaining regularity allows development teams to adapt rapidly to changing requirements, and working in close proximity, focusing on communication, means teams can make decisions and act on them immediately, rather than wait on correspondence. It is also

important to reduce non-value adding intermediate artefacts to allow more resources to be devoted to product development for early completion. The SDLC however works best if the entire system can be accurately specified in the beginning. That is, users should know what the system should do long before the system is created. (Post & Anderson, 2006) further explains that because of the rigidity of the SDLC, the development of more modern applications are difficult, hence the combination of existing SDLC models and the creation of other alternatives models and methodologies are adopted as outlined later in this paper.

the waterfall model: a sequence of stages in which the output of each stage becomes the input for the next. These stages can be characterized and divided up in different ways, including the following:

Preliminary Analysis: The objective of phase 1 is to conduct a preliminary analysis, propose alternative solutions, describe costs and benefits and submit a preliminary plan with recommendations. Conduct the preliminary analysis: in this step, you need to find out the organization's objectives and the nature and scope of the problem under study. Even if a problem refers only to a small segment of the organization itself then you need to find out what the objectives of the organization itself are. Then you need to see how the problem being studied fits in with them. Propose alternative solutions: In digging into the organization's objectives and specific problems, you may have already covered some solutions. Alternate proposals may come from interviewing employees, clients , suppliers, and/or consultants. You can also study what competitors are doing. With this data, you will have three choices: leave the system as is, improve it, or develop a new system. Describe the costs and benefits. Systems analysis, requirements definition: Defines project goals into defined functions and operation of the intended application. Analyzes end-user information needs. Systems design: Describes desired features and operations in detail, including screen layouts, business rules, process diagrams, pseudo code and other documentation. Development: The real code is written here. Integration and testing: Brings all the pieces together into a special testing environment, then checks for errors, bugs and interoperability.

Acceptance, installation, deployment: The final stage of initial development, where the software is put into production and runs actual business. Maintenance: What happens during the rest of the software's life: changes, correction, additions, moves to a different computing platform and more. This is often the longest of the stages.

Advantages:
1. Easier to use. 2. Easier to manage because of rigidity 3. Phases are completed at specific phase intervals 4. Requirements are very well understood.

Disadvantages:
1. Scope adjustment during the life cycle can kill a project 2. Working software is not produced until the life cycle is complete. 3. Not suited for long and ongoing projects. 4. In appropriate where requirements are at a moderate to high risk of changing

Das könnte Ihnen auch gefallen