Monday, 7 April 2014

Assignment of SDLC for project management

software development life cycle SDLC


SDLC Assignment Phases


The systems development life cycle (SDLC), is known as the application development life-cycle, is a term used in systems engineering, information systems and software engineering to describe a process for planning, creating, testing, and deploying an information system. The systems development life-cycle concept applies to a range of hardware and software configurations, as a system can be composed of hardware only, software only, or a combination of both.

Knowing about the software development life cycle is important for everyone be it the owner of a software company, someone who wants to get software developed or the professionals who create the software. This means, if you are about to be a part of developing a software, then you must know the basics of Software Development Life Cycle 

Basically, SDLC consists of all the steps/stages of software starting from its inception to its implementation. There are in fact numerous types of SDLC models (Agile, Waterfall) and depending upon your requirements you can choose any of them to meet your purpose. Given below are some phases, which are common in every SDLC model:

1-Requirement Gathering and Analysis:

Requirement gathering and analysis is the first stage of any SDLC model. This phase is basically the brainstorming phase and often consists of sub-stages like Feasibility Analysis to check how much of the idea can be put into action.

If any particular software needs to be modified, the underlying problem(s) of that software is sorted out along with finding ways to solve it. If a brand new software is going to be developed, then every minute requirement regarding that software is looked in to. This implies that this stage involves maximum research and inputs from both the company that is developing the software and the client.

This phase is the first step of any system's life cycle. It is during this phase that a need to acquire or significantly enhance a system is identified, its feasibility and costs are assessed, and the risks and various project-planning approaches are defined. Roles and responsibilities for the Asset Manager, Sponsor's Representative, System Development Agent (SDA), System Support Agent (SSA), and other parties in SDLC policy are designated during this stage and updated throughout the system's life cycle.

2-System Analysis

This is the second phase of SDLC where the entire system is defined in detail. In fact, it this stage wherein a detailed blueprint of various processes of the software is developed. If needed the system is divided into smaller parts to make it easier more manageable for the developers, designers, testers, project managers and other professionals who are going to work on the software in the latter stages.

This phase begins after the project has been defined and appropriate resources have been committed. The first portion of this phase involves collecting, defining and validating functional, support and training requirements. The second part is developing initial life cycle management plans, including project planning, project management, Configuration Management (CM), support, operations, and training management.


3-System Design:

In this phase, the physical system is designed with the help of the logical design prepared by system analysts. The analysts and designers work together and use certain tools and software to create the overall system design, including the probable output.

During this phase, functional, support and training requirements are translated into preliminary and detailed designs. Decisions are made to address how the system will meet functional requirements. A preliminary (general) system design, emphasizing the functional features of the system, is produced as a high-level guide. Then a final system design is produced that expands the design by specifying all the technical detail needed to develop the system.


4-Coding:

As the name implies, in this stage the software is coded with precision. A team of programmers are assigned by the company to work on the software. More often than not, the work is sub-divided under a sub-phase called Task Allocation, where each developer is assigned a part of the work depending on his or her skill set(s). This helps complete the coding efficiently.

During this phase, systems are developed or acquired based on detailed design specifications. The system is validated through a sequence of unit, integration, performance, system, and acceptance testing. The objective is to ensure that the system functions as expected and that sponsor's requirements are satisfied. All system components, communications, applications, procedures, and associated documentation are developed/acquired, tested, and integrated. This phase requires strong user participation in order to verify thorough testing of all requirements and to meet all business needs.

5-Testing:

When the software is ready, it is sent to the testing department where Quality Analysts test it thoroughly for different errors by forming various test cases. They either test the software manually or using automated testing tools and ensure that each and every component of the software works fine. Once the QA makes sure that the software is error-free, it goes to the next stage, which is Implementation.

During this phase, the new or enhanced system is installed in the production environment, users are trained, data is converted, the system is turned over to the sponsor, and business processes are evaluated. This phase includes efforts required to implement, resolve system problems identified during the implementation process, and plan for sustainment.

6-Implementation:

This is the final stage of software development life cycle. In this stage, if the software is run on various systems by users. If it runs smoothly on these systems without any flaw, then it is considered ready to be launched. And SDLC is completed after this phase.