Anda di halaman 1dari 10

Introduction:

The Systems Development Life Cycle (SDLC), or Software Development Life Cycle in systems engineering, information systems and software engineering, is the process of creating or altering systems, and the models and methodologies that people use to develop these systems. The concept generally refers to computer or information systems.. The Systems Development Life Cycle (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. Various SDLC methodologies have been developed to guide the processes involved including the waterfall model (the original SDLC method), rapid application development (RAD), joint application development (JAD), the fountain model and the spiral model. Mostly, several models are combined into some sort of hybrid methodology. Documentation is crucial regardless of the type of model chosen or devised for any application, and is usually done in parallel with the development process. Some methods work better for specific types of projects, but in the final analysis, the most important factor for the success of a project may be how closely particular plan was followed.
SDLC Phases

Phases in SDLC are Planning, Analysis, Design, Implementation, and Maintenance/Sustainment/Staging

Project planning, feasibility study: Establishes a high-level view of the intended project and determines its goals.

SDLC Planning Phase


Identify, analyze, prioritize, and arrange IS needs

1-11

2005 by Prentice Hall

Systems analysis, requirements definition: Refines project goals into defined functions and operation of the intended application. Analyzes end-user information needs.

SDLC Analysis Phase


Study and structure system requirements

1-12

2005 by Prentice Hall

Systems design: Describes desired features and operations in detail, including screen layouts, business rules, process diagrams, pseudo code and other documentation.

Convert recommended solution to system specifications

Logical design: functional features described independently of computer platform

Physical design: logical specifications transformed to technologyspecific details

Implementation (Development): The real code is written here.

Code, test, install, and support the information system

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.

Systematically repair and improve the information system

Products and Deliverables

Types of SDLC models


Once upon a time, software development consisted of a programmer writing code to solve a problem or automate a procedure. Nowadays, systems are so big and complex that teams of architects, analysts, programmers, testers and users must work together to create the

millions of lines of custom-written code that drive our enterprises.


The oldest of these, and the best known, is the waterfall: 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:

The waterfall model The waterfall model is well understood, but it's not as useful as it once was. The problem is that the waterfall model assumes that the only role for users is in specifying requirements, and that all requirements can be specified in advance. Unfortunately, requirements grow and change throughout the process and beyond, calling for considerable feedback and iterative consultation. Thus many other SDLC models have been developed.

To manage this, a number of system development life cycle (SDLC) models have been created: waterfall, spiral, rapid prototyping, RUP (Rational Unified Process) and incremental etc.

Advantages of Waterfall Model: The waterfall model is the oldest and most widely used model in the field of software development. There are certain advantages of the waterfall model, which causes it to be the most widely used model as yet. Some of them can be listed as under.

Needless to mention, it is a linear model and of course, linear models are the most simple to be implemented. The amount of resources required to implement this model is very minimal. One great advantage of the waterfall model is that documentation is produced at every stage of the waterfall model development. This makes the understanding of the product designing procedure simpler. After every major stage of software coding, testing is done to check the correct running of the code.

Disadvantages of Waterfall Model The question that must be bothering you now is that with so many advantages at hand, what could be the possible disadvantages of the waterfall model. Well, there are some disadvantages of this widely accepted model too. Let us look at a few of them.

Ironically, the biggest disadvantage of the waterfall model is one of its greatest advantage. You cannot go back, if the design phase has gone wrong, things can get very complicated in the implementation phase. Many a times, it happens that the client is not very clear of what he exactly wants from the software. Any changes that he mentions in between may cause a lot of confusion. Small changes or errors that arise in the completed software may cause a lot of problem. The greatest disadvantage of the waterfall model is that until the final stage of the development cycle is complete, a working model of the software does not lie in the hands of the client. Thus, he is hardly in a position to mention if what has been designed is exactly what he had asked for

Spiral model - The spiral model emphasizes the need to go back and reiterate earlier stages a number of times as the project progresses. It's actually a series of short waterfall cycles, each producing an early prototype representing a part of the entire project.

This approach helps demonstrate a proof of concept early in the cycle, and it more accurately reflects the disorderly, even chaotic evolution of technology. Spiral Model Advantages

Repeated or continuous development helps in risk management. The developers or programmers describe the characteristics with high priority first and then develop a prototype based on these. This prototype is tested and desired changes are made in the new system. This continual and steady approach minimizes the risks or failure associated with the change in the system. Adaptability in the design of spiral model in software engineering accommodates any number of changes, that may happen, during any phase of the project. Since the prototype building is done in small fragments or bits, cost estimation becomes easy and the customer can gain control on administration of the new system. As the model continues towards final phase, the customer's expertise on new system grows, enabling smooth development of the product meeting client's needs.

Spiral Model Disadvantages The following can be summarized as the disadvantages of the spiral model.

Spiral models work best for large projects only, where the costs involved are much higher and system pre requisites involves higher level of complexity. Spiral model needs extensive skill in evaluating uncertainties or risks associated with the project and their abatement. Spiral models work on a protocol, which needs to be followed strictly for its smooth operation. Sometimes it becomes difficult to follow this protocol. Evaluating the risks involved in the project can shoot up the cost and it may be higher than the cost for building the system. There is a requirement for further explanation of the steps involved in the project such as breakthrough, blueprint, checkpoints and standard procedure.

Rapid Prototyping - In the rapid prototyping (sometimes called rapid application development) model, initial emphasis is on creating a prototype that looks and acts like the desired product in order to test its usefulness. The prototype is an essential part of the requirements determination phase, and may be created using tools different from those used for the final product. Once the prototype is approved, it is discarded and the "real" software is written. Advantages of Prototyping: 1. 2. 3. 4. Reduces development time. Reduces development costs. Requires user involvement. Developers receive quantifiable user feedback.

Disadvantages of Prototyping: 1. Users expect the performance of the ultimate system to be the same as the prototype. 2.Developers can become too attached to their prototypes 3.Can cause systems to be left unfinished and/or implemented before they are ready. 4.Sometimes leads to incomplete documentation. 5.If sophisticated software prototypes (4th GL or CASE Tools) are employed, the time saving benefit of prototyping can be lost.

Incremental - The incremental model divides the product into builds, where sections of the project are created and tested separately. This approach will likely find errors in user requirements quickly, since user feedback is solicited for each stage and because code is tested sooner after it's written.

Advantages * Generates working software quickly and early during the software life cycle. * More flexible less costly to change scope and requirements. * Easier to test and debug during a smaller iteration. * Easier to manage risk because risky pieces are identified and handled during its iteration. * Each iteration is an easily managed milestone.

Disadvantages * Each phase of an iteration is rigid and do not overlap each other. * Problems may arise pertaining to system architecture because not all requirements are gathered up front for the entire software life cycle.

Iterative models - by definition have an iterative component to the systems development. It allows the developer to take a small segment of the application and develop it in a fashion that, at each recursion, the application is improved. Each of the three main sections: requirements definition, system design, and coding and testing are improved with each cycle through the process.

Production cycle of wet process for woven fabric:


Grey Fabric Inspection Sewing or Stitching Singeing Desizing Scouring Bleaching Mercerizing Dyeing Printing Finishing Final Inspection Delivery

Anda mungkin juga menyukai