SDLC:

(1) Acronym for synchronous data link control, a communications protocol used in IBM's SNA networks. SDLC is similar to HDLC, an ISO standard.
(2) Acronym for system development life cycle. SDLC is the process of developing information systems through investigation, analysis, design, implementation and maintenance. SDLC is also known as information systems development or application development. SDLC is a systems approach to problem solving and is made up of several phases,
each comprised of multiple steps:

  • The software concept - identifies and defines a need for the new system
  • A requirements analysis - analyzes the information needs of the end users
  • The architectural design - creates a blueprint for the design with the necessary specifications for the hardware, software, people and data resources
  • Coding and debugging - creates and programs the final system
  • System testing - evaluates the system's actual functionality in relation to expected or intended functionality.
(3) Acronym for software development life cycle (SDLC) and also synonymous with software process as well as software engineering, it is a structured methodology used in the development of software products and packages. This methodology is used from the conception phase through to the delivery and end of life of a final software product. See under software engineering.
===========================================================
what is SOFTWARE DEVELOPMENT LIFE CYCLE ?

external image sdlc2.jpg
The software development life cycle (SDLC) may be divided into the following steps:

Requests from customers/original idea
Everything is starts with a Planning. All the information relevant to the system , the occurrence and the behavior is gathered in this phase from the client who can provide the valuable information. These are basically materials collected from the customer’s point of view by his or her observation over a period of time.

Creation of feature lists based on the System
The information collected from the discussions mentioned on the System is considered for a refinery process that varies from company-to-company depending on the standardization and the methodology that they do adopt. It lists all the details of the proposed items in an organized manner.

System Design
Once planning is observed, it is time to Design or create a rough plan regarding the software. Developers will work together and decide the initial specifics of the software to be created. They will decide what platform or programming language to use, which will take care the coding of a certain part of the software and even the time frame.

Code implementation
When the design and all the things that you need have been laid out, it is time to work on the plan. The coding phase involves writing the source code based on the required functionality by adhering the coding standards, code optimization, etc.

System Testing
After developing the system it is important to ensure that the functioning of it is perfect. Software testing involves a mechanism that is used to report the bugs/undesired results that may occur in the SDLC.

The Final Release
After the clearance of the bugs reported during the beta release, the software is now ready to be released and delivered to the customer.

===========================================================
What is systems development life cycle (SDLC)?

external image graphic_sdlc.gif


1.
Access Needs

2.
Design Specifications

3.
Design/Develop/Test Software

4.
Implement Systems

5.
Support Operations

6.
Evaluate Performance





(SDLC is also an abbreviation for
Synchronous Data Link Control.)
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 (which was the original SDLC method); rapid application development (RAD); joint application development (JAD); the fountain model; the spiral model; build and fix; and synchronize-and-stabilize. Frequently, 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 the particular plan was followed.
In general, an SDLC methodology follows the following steps:
  1. The existing system is evaluated. Deficiencies are identified. This can be done by interviewing users of the system and consulting with support personnel.
  2. The new system requirements are defined. In particular, the deficiencies in the existing system must be addressed with specific proposals for improvement.
  3. The proposed system is designed. Plans are laid out concerning the physical construction, hardware, operating systems, programming, communications, and security issues.
  4. The new system is developed. The new components and programs must be obtained and installed. Users of the system must be trained in its use, and all aspects of performance must be tested. If necessary, adjustments must be made at this stage.
  5. The system is put into use. This can be done in various ways. The new system can phased in, according to application or location, and the old system gradually replaced. In some cases, it may be more cost-effective to shut down the old system and implement the new system all at once.
  6. Once the new system is up and running for a while, it should be exhaustively evaluated. Maintenance must be kept up rigorously at all times. Users of the system should be kept up-to-date concerning the latest modifications and procedures.

===========================================================
Briefly on different Phases:

Feasibility
The feasibility study is used to determine if the project should get the go-ahead. If the project is to proceed, the feasibility study will produce a project plan and budget estimates for the future stages of development.
Requirement Analysis and Design
Analysis gathers the requirements for the system. This stage includes a detailed study of the business needs of the organization. Options for changing the business process may be considered. Design focuses on high level design like, what programs are needed and how are they going to interact, low-level design (how the individual programs are going to work), interface design (what are the interfaces going to look like) and data design (what data will be required). During these phases, the software's overall structure is defined. Analysis and Design are very crucial in the whole development cycle. Any glitch in the design phase could be very expensive to solve in the later stage of the software development. Much care is taken during this phase. The logical system of the product is developed in this phase.
Implementation
In this phase the designs are translated into code. Computer programs are written using a conventional programming language or an application generator. Programming tools like Compilers, Interpreters, Debuggers are used to generate the code. Different high level programming languages like C, C++, Pascal, Java are used for coding. With respect to the type of application, the right programming language is chosen.
Testing
In this phase the system is tested. Normally programs are written as a series of individual modules, these subject to separate and detailed test. The system is then tested as a whole. The separate modules are brought together and tested as a complete system. The system is tested to ensure that interfaces between modules work (integration testing), the system works on the intended platform and with the expected volume of data (volume testing) and that the system does what the user requires (acceptance/beta testing).
Maintenance
Inevitably the system will need maintenance. Software will definitely undergo change once it is delivered to the customer. There are many reasons for the change. Change could happen because of some unexpected input values into the system. In addition, the changes in the system could directly affect the software operations. The software should be developed to accommodate changes that could happen during the post implementation period.

external image ch1.gif

Sources:
http://www.webopedia.com/TERM/S/SDLC.html
http://www.techversys.com/technology.html
http://searchsoftwarequality.techtarget.com/sDefinition/0,,sid92_gci755068,00.html
http://www.startvbdotnet.com/sdlc/sdlc.aspx
http://virimtechnologies.com/virim/index.php?option=com_content&view=article&id=46&Itemid=53
http://www.justice.gov/jmd/irm/lifecycle/ch1.htm

Signature,
MRLo..
Written And Created BY,
Momen Rabay'a