Software engineering is an important topic for specialist officer's examination. We have seen questions being asked from different phases and life cycle models. In today's article, we will discuss different phases of SDLC and the activities we perform in each of them briefly. You can always raise your queries in the comments section.
Introduction
SDLC is a step by step structured approach for developing information systems. These steps combined to provide a model for the development of a software product or an application. Since commercial applications have a large user base, its better to use a defined and structured process where we know what happens at each stage and product are easy to use or modify according to requirements.
Phases of SDLC
Planning
- In this phase, a plan or a blueprint is determined for developing the application.
- Identify and select the system for development.
- Set the project scope and project plan - In this activity, we determine the high-level requirements of the project, computational and human resources required, a time required for completion etc. It gives us the bird's eye view of the project.
Analysis
- In this phase, business requirements are finalised and documented, after consultations between IT experts and end users.
- Different ways used for this are joint application development (JAD)wherein IT experts and end users conduct several meetings and Sign off where in End Business User's actual signature are required indicating their approval of the understood business requirements.
Design
- In this phase, technical architecture required to support the project is built along with systems models.
- Technical Architecture defines hardware, software and other equipment required. It should meet current and future needs.
- System models include Interfaces, ER diagrams, Data flow diagrams and flow charts etc that give us an idea about the design of the product before actual development starts.
Development
- In this phase, we start to transform that design into an actual software product.
- Different activities include - Installing software and hardware, coding programs, creating databases etc.
- Development should adhere to accepted programming standards for better efficiency and reusability purposes.
Testing
- In this phase, after development, we verify that system works and meets all the requirements as defined in the analysis phase.
- Test plans and Test conditions are developed which include detailed steps that system must perform at each stage to give expected results.
Implementation
- In this phase, we place the product into organisations i.e we hand it over to end users to perform their jobs.
- We use the terms Deploy, Go Live, Delivery etc at the implementation stage.
- User documentation is provided to enable users to understand how to use the application. Knowledge Transfer sessions are held as well.
Maintenance
- This is the final phase of life cycle.
- In this phase, you monitor and support the new systems to ensure it continues to meet business requirements.
- Since the live application works with huge datasets, efficiency issues may arise and developers then tune the programs.
- A support team is usually created for this purpose.
Quote of the day
We generate Fears while we sit. We overcome them by Actions. - Henry Link