- Trending Categories
- Data Structure
- Operating System
- C Programming
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Selection Process Parameters for a Software Life Cycle Model
Selection development life cycle (SLDC) is a process utilised by the software industry for designing, developing and testing high quality software. The SDLC intent to produce a high-quality software that meets or outreaches customer expectancy, that meets completion within times and also less costing.
SDLC is the short form of Software Development Life Cycle.
It is also known as Software Development Process.
Software development Life Cycle is a framework laying out task performed at each step in the software development process.
Software life cycle processes standard is ISO/IEC 12207 which is internationally recognised. It focuses to be the standard that characterises all the tasks that are needed for developing and maintain software.
What is SDLC?
Software development life cycle is a process pursued for a software project, in a software organisation. It compromises of a step by step plan that explains how to develop, maintain, replace and change or improve specific software. The life cycle entitles a methodology for enhancing the quality of software and the general development process.
Various stages of a typical software development life cycle are −
Now we will look into each one of them in detail.
Stage 1: Planning and Requirement Analysis
Requirement analysis is the most vital and fundamental stage in Software Development Life Cycle. Reviews from the customer, the sales department, market surveys and subject specialist in the industry is taken as inputs which are further used by the senior members of the team to perform the task. This detail is afterwards used to plan the basic project appeal and to perform product feasibility study in the economical, operational and technical areas.
Things like planning for the quality assurance requirements and identification
During the planning stage, the quality assurance needs are planned for, as well as the risks connected with the project. The technical feasibility study will outline the different technical methods that may be used to effectively implement the project with the least amount of risk.
Stage 2: Establishing Requirements
Following the completion of the requirement study, the next stage is to explicitly describe and record the product needs and obtain approval from the customer or market analysts. This is accomplished through the use of an SRS (Software Requirement Specification) document, which contains all of the product requirements that must be defined and produced throughout the project life cycle.
Stage 3: Product Architecture Design
SRS is the go-to resource for product architects looking for the optimal architecture for a new product. Many design approaches for the product architecture are typically presented and defined in a DDS-Design Document Specification based on the SRS criteria.
This DDS is evaluated by all key stakeholders, and the ideal design strategy for the product is chosen based on numerous factors such as risk assessment, product robustness, design modularity, budget, and time limits.
A design approach accurately outlines all of the product's architectural modules, as well as its communication and data flow representation with external and third-party modules (if applicable) (if any). All modules of the proposed architecture's internal design should be completely specified in DDS, right down to the tiniest detail.
Stage 4: Creating or Improving the Product
The real development of the product begins at this level of the SDLC. During this stage, the programming code is generated following DDS. Code generation may be achieved without much difficulty if the design is detailed and structured.
Developers must adhere to their organization's coding requirements, and programming tools such as compilers, interpreters, debuggers, and so on are used to create code. For coding, many high-level programming languages such as C, C++, Pascal, Java, and PHP are utilized. The programming language is chosen based on the sort of software being created
Stage 5: Product Testing
As in contemporary SDLC models, testing activities are mainly included in all SDLC stages, this stage is usually a subset of all phases. This stage, however, refers to the product's testing only stage, during which product faults are reported, monitored, repaired, and retested until the product meets the quality requirements established in the SRS.
Stage 6: Market Deployment and Maintenance
Once the product has been thoroughly tested and is ready for deployment, it is formally released in the relevant market. Product deployment may occur in stages depending on the organization's business plan. The product may first be introduced in a small market sector and tested in a real-world business setting (UAT- User acceptance testing).
The product may then be released as is or with recommended enhancements in the targeted market group depending on the feedback. Following the product's release to the market, it is maintained for the current client base.
Models of the SDLC
Various software development life cycle models have been created and intended to be used during the software development process. These are also called as Software Development Process Models ". To assure success in the software development process, each process model follows a set of procedures that are specific to its kind.
The following are the most essential and widely used SDLC models in the industry −
- The Waterfall Model
- The Iterative Model
- The Spiral Model
- The V-Model
- The Big Bang Model
Agile Model, RAD Model, Rapid Application Development, and Prototyping Models are also similar methods.
Waterfall Model of SDLC
The Waterfall Model was first referred to as a Process Model. It's also known as a linear-sequential life cycle model. It is really simple to grasp and apply. In a waterfall model, each state must be finished before the next one can start, and the stages must not overlap.
The Waterfall model was the first SDLC technique utilized in software development.
The waterfall model depicts the software development process in a sequential, linear flow. This indicates that any step of the development process may begin only after the preceding phase has been completed. The stages in this waterfall model do not overlap.
Design Using the Waterfall Model
The Waterfall method was the first SDLC Model to be extensively utilized in Software Engineering to assure project success. The entire software development process is split into phases in the "The Waterfall" method. In this Waterfall approach, the output of one phase is generally used as the input for the following step in a sequential fashion.
Iterative Model of SDLC
The Iterative technique begins with a primitive implementation of a small set of software requirements and improves the evolving versions iteratively until the full system is produced and ready for deployment.
An iterative life cycle model does not seek to begin with a complete set of requirements. Instead, development starts by describing and implementing only a portion of the program, which is then tested to discover additional needs. This procedure is then repeated, resulting in a new version of the program after each model iteration.
Design Iterative Model
The iterative technique begins with a rudimentary implementation of a subset of software requirements and improves the evolving versions iteratively until the entire system is accomplished. Design changes are made and new functional capabilities are added at each iteration. The main idea behind this technique is to build a system in modest increments (iteratively) over time (incremental).
A combination of iterative and incremental is a development methodology that combines iterative design or an iterative process with an incremental build strategy. "In software development, more than one iteration of the software development cycle might be in process at the same time." This is called "evolutionary acquisition" or "incremental build."
The entire need is split into multiple builds in this incremental methodology. The development module progresses through requirements, design, implementation, and testing processes in each iteration. Each succeeding module release adds functionality to the preceding iteration. The method is repeated until the entire system meets the requirements.
The key to using an iterative software development lifecycle successfully is rigorous requirement validation, as well as verification and testing of each version of the program against those requirements inside each cycle of the model. As the program grows over consecutive cycles, tests must be run and expanded to ensure that each version of the software is correct.
Spiral Model of SDLC
The spiral model blends the notion of repeated development with the waterfall model's methodical, regulated elements. This spiral model is a hybrid of the iterative development process model and the sequential linear development model, often known as the waterfall model, with a heavy emphasis on risk analysis. It allows incremental product launches or incremental refining in each iteration around the spiral.
The V-model is an SDLC paradigm in which processes are executed sequentially in a V-shape. It is sometimes referred to as the Verification and Validation model.
The V-Model is added to the waterfall model that is established on assigning a testing phase to each development step. This means that there is a testing phase for each and every phase of the development cycle. This is a very disciplined methodology, and the following step begins only when the previous phase is completed.
SDLC - Big Bang Theory
The Big Bang model is an SDLC paradigm in which no precise procedure is followed. The development process starts with the needed money and effort as input, and the result is the software made, which may or may not meet the needs of the client. This Big Bang Model does not adhere to any method or protocol, and it needs very little forethought. Even the buyer is unsure of what he wants, and the criteria are applied on the fly with little thought.
- Object-oriented Life Cycle Model in Software Engineering
- Software Testing Life Cycle (STLC) Phases
- Bug Life Cycle in Software Development
- Robotic Process Automation Development Life Cycle (RDLC)
- What are the phases of Software Development Life Cycle (SDLC)?
- What is Agile Testing? (Process, Strategy, Test Plan, Life Cycle Example)
- Database Life Cycle
- Ant Life Cycle
- Ascaris Life Cycle
- Human Life Cycle
- Bird Life Cycle
- Grasshopper Life Cycle
- ERP Implementation Life Cycle
- Explain life cycle of butterfly.
- Explain life cycle of hen.