You are on page 1of 5

Initiation

The initiation stage establishes a bird's eye view of the intended software product, and uses this to establish the basic project structure, evaluate feasibility and risks associated with the project, and describe appropriate management and technical approaches.

Definition
The requirements gathering process takes as its input the goals identified in thehigh-level requirements section of the project plan. Each goal will be refined into a set of one or more requirements. These requirements define the major functions of the intended application, define operational data areas and reference data areas, and define the initial data entities. Major functions include critical processes to be managed, as well as mission critical inputs, outputs and reports. A user class hierarchy is developed and associated with these major functions, data areas, and data entities. Each of these definitions is termed a Requirement. Requirements are identified by unique requirement identifiers and, at minimum, contain a requirement title and textual description.

Elaboration
The elaboration stage takes as its initial input the requirements identified in the approved requirements document. For each requirement, a set of one or more design elements will be produced as a result of interviews, workshops, and/orprototype efforts. Design elements describe the desired software features in detail, and generally include functional hierarchy diagrams, screen layout diagrams, tables of business rules, business process diagrams, pseudocode, and a complete entity-relationship diagram with a full data dictionary. These design elements are intended to describe the software in sufficient detail that skilled programmers may develop the software with minimal additional input.

Construction
The construction stage takes as its primary input the design elements described inthe approved design document. For each design element, a set of one or more software artifacts will be produced. Software artifacts include but are not limited to menus, dialogs, data management forms, data reporting formats, and specialized procedures and functions. Appropriate test cases will be developed for each set of functionally related software artifacts, and an online help system will be developed to guide users in their interactions with the software.

Transition
During the transition stage, the software artifacts, online help, and test data are migrated from the development environment to a separate test environment. At this point, all test cases are run to verify the correctness and completeness of the software. Successful execution of the test suite confirms a robust and complete migration capability.

Installation & Acceptance


During the installation and acceptance stage, the software artifacts, online help, and initial production data are loaded onto the production server. At this point, all test cases are run to verify the correctness and completeness of the software. Successful execution of the test suite is a prerequisite to acceptance of the software by our client. After our client has verified that the initial production data load iscorrect and the test suite has been executed with satisfactory results, our client formally accepts the delivery of the software.

Waterfall Model Diagram


Since the time it was first published by Winston W. Royce in 1970, the waterfall model has been used widely in the field of software development. In the article below, the waterfall model is illustrated and explained. Well-designed objects have blueprints or plans. Once the design or structure is planned out, its creation is a simpler and more effective process. The same lies with programming. Programs can have algorithms or flowcharts, which plan out the steps and functions, that need to be performed. But large-scale software and computer applications require a base programming paradigm or model. In the software development process cycle, programming models are used to plan the various stages of developing an application. One such model is the waterfall model. Waterfall Model Diagram

Explanation of the Waterfall Model Let us now take a look at the different phases of the waterfall model. One important aspect that is worth mentioning, is that this model is designed such that until the preceding phase is complete, you cannot move on to the next phase of development. Progress flows in a downward fashion, similar to the way rushing water, from a height, flows downwards, hence the name "waterfall" was conferred onto this programming model. Phase I: Requirements The first phase involves understanding what you need to design and what is its function, purpose etc. Unless you know what you want to design, you cannot proceed with the project. Even a small code such as adding two integer numbers, needs to be written with the output in mind. Here, in this stage, the requirements which the software is going to satisfy are listed and detailed. These requirements are

then presented to the team of programmers. If this phase is completed successfully, it ensures a smooth working of the remaining phases, as the programmer is not burdened to make changes at later stages because of changes in requirements. Phase II: Analysis As per the requirements, the software and hardware needed for the proper completion of the project is analyzed in this phase. Right from deciding which computer language should be used for designing the software, to the database system that can be used for the smooth functioning of the software, such features are decided at this stage. Phase III: Design The algorithm or flowchart of the program or the software code to be written in the next stage, is created now. It is a very important stage, which relies on the previous two stages for its proper implementation. The proper design at this stage, ensures a execution in the next stage. If during the design phase, it is noticed that there are some more requirements for designing the code, the analysis phase is revisited and the design phase is carried out according to the new set of resources. Phase IV: Coding Based on the algorithm or flowchart designed, the actual coding of the software is carried out. This is the stage where the idea and flowchart of the application is physically created or materialized. A proper execution of the previous stages ensures a smooth and easier implementation of this stage. Phase V: Testing With the coding of the application complete, the testing of the written code now comes into scene. Testing checks if there are any flaws in the designed software and if the software has been designed as per the listed specifications. A proper execution of this stage ensures that the client interested in the created software, will be satisfied with the finished product. If there are any flaws, the software development process must step back to the design phase. In the design phase, changes are implemented and then the succeeding stages of coding and testing are again carried out. Phase VI: Acceptance This is the last stage of the software development in the waterfall model. A proper execution of all the preceding stages ensures an application as per the provided requirements and most importantly, it ensures a satisfied client. However, at this stage, you may need to provide the client with some support regarding the software you have developed. If the client demands further enhancements to be made to the existing software, then the development process must begin anew, right from the first phase, i.e., requirements. The waterfall model continues to remain one of the most commonly used methodologies. No doubt, new models have been used, but the widespread use of this model is the reason why it is studied in various software management subjects. With the above diagram in hand, you will not have much difficulty in understanding the process of software development. This is not only one of the simplest software process models for application development, but it is also known for its ease of implementation in the field of software development.

SDLC stands for Software Development Life Cycle. It includes the following basic elements:

The basic elements of the Software Development Life Cycle

Scope, Size, Requirements


Software is a lot like food. When you need a quick bite, a simple sandwich will do. Banquets, however, usually involve a much larger effort. Which SDLC elements are needed usually depends on the size and scope of the project. Smaller efforts will likely incorporate at least a few elements. Conversely, larger efforts are more likely to include all elements.

Methodology
The first critical step for any solution is determining the best approach to solving the problem. A methodology describes the ordering, scope and interaction of the SDLC elements. Many different methodologies have been devised for software development - here are just a few:

Methodologies describe the ordering, scope and interaction of SDLC elements.

You might also like