What is the SDLC?
The Systems Development Life Cycle (SDLC), or Software Development Life Cycle in systems engineering 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.

Strengths of SDLC
1)Methodologies incorporating this approach have been well tried and tested
2) Divides development into distinct phases:
· Offers opportunity for more control over development process
· Makes tasks more manageable

3) Provides standards for documentation
4) Much better than trial and error
Weaknesses of SDLC
1) Fails to see the “big picture” of strategic management
2) Too inflexible to cope with changing requirements
3) Emphasis on “hard” thinking (which is often reflected in documentation that is too technical)
4) Unable to capture true needs of users

Phases of SDLC:-
Planning Phase

During this phase, a plan is developed that documents the approach to be used and includes a discussion of methods, tools, tasks, resources, project schedules, and user input. Personnel assignments, costs, project schedule, and target dates are established. A Project Management Plan is created with components related to acquisition planning, configuration management planning, quality assurance planning, concept of operations, system security, verification and validation, and systems engineering management planning.


Requirements Analysis Phase
This phase formally defines the detailed functional user requirements using high-level requirements identified in the Initiation, System Concept, and Planning phases. It also delineates the requirements in terms of data, system performance, security, and maintainability requirements for the system. The requirements are defined in this phase to a level of detail sufficient for systems design to proceed. They need to be measurable, testable, and relate to the business need or opportunity identified in the Initiation Phase. The requirements that will be used to determine acceptance of the system are captured in the Test and Evaluation Master Plan.

The purposes of this phase are to:

· Further define and refine the functional and data requirements and document them in the Requirements Document.
· Complete business process reengineering of the functions to be supported, e.g., verify what information drives the business process, what information is generated, who generates it, where does the information go, and who processes it.
· Develop detailed data and process models including system inputs and outputs.
· Develop the test and evaluation requirements that will be used to determine acceptable system performance.

Design Phase
During this phase, the system is designed to satisfy the functional requirements identified in the previous phase. Since problems in the design phase can be very expensive to solve in later stages of the software development, a variety of elements are considered in the design to mitigate risk.
These include:
· Identifying potential risks and defining mitigating design features.
· Performing a security risk assessment.
· Developing a conversion plan to migrate current data to the new system.
· Determining the operating environment.
· Defining major subsystems and their inputs and outputs.
· Allocating processes to resources.
· Preparing detailed logic specifications for each software module.


Implementation Phase
This phase is initiated after the system has been tested and accepted by the user. In this phase, the system is installed to support the intended business functions. System performance is compared to performance objectives established during the planning phase. Implementation includes user notification, user training, installation of hardware, installation of software onto production computers, and integration of the system into daily work processes.

Operations and Maintenance Phase
The system operation is ongoing. The system is monitored for continued performance in accordance with user requirements and needed system modifications are incorporated. Operations continue as long as the system responds to the organization’s needs. When modifications are identified, the system may reenter the planning phase. The purpose of this phase is to:

· Operate, maintain, and enhance the system.
· Certify that the system can process sensitive information.
· Conduct periodic assessments of the system to ensure the functional requirements continue to be satisfied.
· Determine when the system needs to be modernized, replaced, or retired.

Of these 5 the most important phase is planning. Without proper planning all the rest of the phases will not be executed properly.

Development is also an important phase. If you can properly execute planning and development, then the Implementation and Maintenance phases are a piece of cake.

So planning and development are the most important phases of the SDLC.

References:-

http://doit.maryland.gov/policies/Pages/sdlc.aspx
http://www.justanswer.com/questions/2fkv-which-phases-are-important-in-the-sdlc-process
http://www.ffiec.gov/ffiecinfobase/booklets/d_a/08.html