Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Blog Directory  >  Education Blogs  >  SDLC (Software Development Life Cycle) education Blog  > 

Sdlc (software Development Life Cycle) Blog


learntek.org/blog
Software Development Life Cycle (also called SDLC) is a workflow process which defines the core stages and activities of development cycles or A framework that describes the activities performed at each stage of a software development project. Software Development Life Cycle (SDLC) is a process used by the software industry to design, develop and test high-quality software’s. The SDLC aims to produce high-quality software that meets or exceeds customer expectations, reaches completion within times and cost estimates. System analysts can use it, designers and developers to plan and implement the applications and deliver the systems or products on time and within budget. With numerous development methodologies, it is never an easy task to choose an appropriate strategy that sometimes even it is inevitable to mix-and-match multiple methods to fit in a single project. sdlc 1 SDLC Phases are as follows 1. Project Initiation 2. Requirements Gathering 3. Analysis 4. Design 5. Development 6. Testing 7. Implementation or deployment 8. Maintenance The following figure shows the details process of Software Development Life Cycle, sdlc 2 Project Initiation This is the first stage in the Software Development Life Cycle where the project is initiated. The high-level scope, problems and solutions are determined, and planning is carried out accordingly for other stages. Business Analyst Training Other components that are to be considered in this stage are Resources, time/schedules, milestones, cost, business benefits and deadlines. In the case of enhancements to existing projects, the strengths and weaknesses of the current software are studied, and the improvements are set as a goal, along with the collected requirements. Extensibility: Other components that are to be considered in this stage are Resources, time/schedules, milestones, cost, business benefits and deadlines. In the case of enhancements to existing projects, the strengths and weaknesses of the current software are studied, and the improvements are set as a goal, along with the collected requirements. Requirements Gathering sdlc 4 Business requirements are gathered. Meetings with project managers and stakeholders. Identify • “Who will use the system” • “How the system should work “ • “What should be the input & output of the system” Analyze requirements for validity & incorporation of requirements Finally, prepare Requirement specification document The requirements are of the type: • Functional Requirements • Non-functional Requirements The end-user requirements from the customer and other stakeholders (salespeople, domain/industry experts, etc.) are collected. Requirements are gathered using the following techniques: • By conducting Interviews • By conducting Workshops • By conducting Surveys and questionnaires • Focus Groups • Observations / time study • By conducting Brainstorming Sessions • Document Analysis (Ex: Regulatory requirements) • Mind Mapping • Benchmarks Analysis sdlc 5 The Analysis Phase is where you break down the deliverables in the high-level Project Charter into the more detailed business requirements. The Analysis Phase is also the part of the project where you identify the overall direction that the project will take through the creation of the project strategy documents. • Understand the business need and processing needs • Gather, analyze, and validate the information. • Define the requirements and prototypes for the new system. • Evaluate the alternatives and prioritize the requirements. • Examine the information needs of end-user and enhances the system goal. • A Software Requirement Specification (SRS) document is used in the analysis phase, which specifies the software, hardware, functional, and network requirements of the system is prepared at the end of this phase. • In this, every achievable requirement is anlyzed and documented as Software Requirements Specifications (SRS) or Functional Requirements Specifications (FRS). • This is effectively manageable for all the resources (developers, designers, testers, project managers and any other possible roles) to work on the chunks at all the stages in the Software Development Life Cycle. • In many cases, a requirement gathering, and analysis can be carried out at the same time. System Design sdlc 5 -1 • This is the stage which stated, “How to achieve what is needed?” • Software Requirements Specifications (SRS) are now transformed to the system design plan, which contains a detailed and complete set of specifications, commonly known as “Design Specification”. • Prepare design of network, databases, application, system interfaces, user interfaces, system and software design from software requirement specification. • All the technical details like technologies to use, project constraints, team’s capability, etc. goes into the design specification document. • The technical architects and developers develop the logical plan of the system which is then reviewed by all the stakeholders. • Design a contingency, training, maintenance, and operation plan. • At last, prepare a design document which will be used during next phases. Development sdlc 6 • Taking all the detailed design documents from the design phase and transforming them into the actual system. • Build the technical architecture • Build the database and program • This stage in more straightforward terms is where the “real work begins” and we “build what is needed”. • The developers start to code as per the requirements and the developed design. • Along with the coding, all the other required set-up will begin. i.e., the database set up by database admin, interface and GUI creation by front-end developers, etc. • Along with coding, it is also essential for developers to develop unit tests for their module, peer review other module’s unit tests, deploy builds to the intended environment and execute unit tests. Testing sdlc 7 • This stage is the one where the quality check takes place. The developed software is assessed to ensure that all the specified requirements are met. • Write the test condition and perform the testing of the system. • This stage is used to validate whether the application addresses all User Requirements, technical performance. • This is performed by the testing team, and the focus is to find the defects. • During test case execution, all the error found which are reported in the test management tool and the decision of considering the defect as Valid or Invalid depends on developers. • Each defect that is found will have to go through the Defect Life Cycle in the defect management tool. • Again, the testing approach that the project choose depends on various factors: the complexity of the project, the team’s capability, time, etc. Deployment or Implementation sdlc 8 • Write detailed user documentation and provide training for the system user. • Once the testing is completed and, there are no open high priority issues, then comes the time to deploy the build to the Production environment. This is the environment which is accessible by real users. Real users can then use the software as per their needs. • Deploying the build to production can be a complicated process. If the project is an existing application, technology migration is being carried out etc, it can be an extensive procedure. • Depending on business criticality deployment teams may need to ensure that the application continues to function, while the deployment is in progress. • Due to the high cut-over time, the Production deployment usually takes place during non-peak hours and / or weekends. Maintenance sdlc 9 • This stage is when the “fine tuning” of the software takes place. Once the build is deployed to Production environment, any issues that the real users face are considered as Post-Production issues. • These Post-Production issues are addressed and resolved by the internal team usually termed as Maintenance team. • This stage also addresses minor change requests, code fixes, etc. and deploys them in short intervals. • Build a helpdesk to support the system user. • One may change the application without impairing existing functionalities. • You may add new functionalities to the existing application. • You can fix any historical defects of the application in this phase Roles and Responsibilities of Business Analyst Why there is a Software Development Life Cycle necessary? Software Development Life Cycle is needed in any of the project for the below reasons: • Enhance the quality of the software • Define the goals to the team so that developers know what to build and testers know what and how to test • Reduce the rate of vulnerabilities (fewer or none) • Management control • Effective documentation and reduced dependencies • Effective resource utilization • Effective cost and time definition • Ensure the architecture and design are secure • Define and adhere to the set processes and objectives • Meet and exceed Customer’s expectation Software Development Life Cycle Models : Some of the SDLC Models are as follows : • Waterfall Model • Spiral • V Model • Prototype • Agile • The other related models are Agile Model, Rapid Application Development, Rational Unified Model, Hybrid Model etc.
2022-08-01 09:32
Big Data is taking the industry by storm. Big Data stands for data that is very large and complex. It is difficult to process such data by the means of age-old methods. While companies have… Read More
2021-11-17 04:53
Metaverse Technology Introduction: The metaverse is a digital reality that combines aspects of social media, online gaming, augmented reality (AR), virtual reality (VR), and cryptocurrencies… Read More
2021-10-19 05:27
What is an Exception?  Exception is an event that occurs during execution of a program it may be any error or unexpected behavior that an application encounters to disrupt normal flow o… Read More
2021-06-01 07:11
 You need to create a small component if you are working on a large enterprise application. Small components are more flexible in both maintainability and reusability. When you create s… Read More
2020-11-30 06:59
Keeping extra focus on the user experience factor, many software development companies tend to choose the right frontend framework from the alternatives namely Angular, React, Vuejs, Backbon… Read More
2020-07-16 11:04
These days, the world runs on data. Technology continues to evolve, and it allows businesses to acquire more figures and statistics. It has opened a new way of how companies and organization… Read More
2020-06-05 06:36
Every content strategy sees SEO copywriting as a challenge. If you master it and make the right moves, you’ll make a huge step towards success. The reason why it presents a worry to co… Read More
Seaborn Library For Data Visualization
2020-04-11 00:13
The human minds are more versatile and adaptable to visual graphics than to textual information. Data visualization is a technique that expresses, analyzes, and represents the massive amount… Read More
Python Statistics Fundamentals
2020-04-03 15:15
Math and statistics are essential for data science because these disciples form the solid foundation of all the machine learning algorithms. Mathematics is a part of every aspect of our live… Read More
Matplotlib For Data Visualization
2020-03-30 06:22
What is data visualization? Human minds are more flexible and adaptable to the graphic illustration of data than to textual data. We can comprehend things when they are visualized. It is b… Read More
2020-03-02 05:58
Time management is something we need to master to be productive. The way we plan and use our time is very important because it determines the level of productivity we achieve in both our per… Read More
2020-02-13 08:55
Hiring an SEO expert for your business is an exciting opportunity to improve your performance and grow your company. However, if you don’t have substantial SEO knowledge, it can be an… Read More
Data Quality Importance In An Organization
2019-10-21 06:48
Data Quality Introduction : Data Quality : Today, the world is filled with data. It is everywhere. And, the value of any organization can be measured by the quality of its data. So, what a… Read More
Matrix Operations With Python NumPy-I
2019-10-15 12:10
Creation of Matrix The 2-D array in NumPy is called as Matrix. The following line of code is used to create the Matrix. >>> import numpy as np   #load the Library… Read More
2019-08-21 07:01
Google Cloud Platform Introduction: The Google Cloud Platform (GCP) is a suite of cloud services hosted on Google’s infrastructure. Google Cloud Platform is a suite of public cloud co… Read More
Array With Python Numpy
2019-07-24 08:25
About Numpy: NumPy is a module for Python. The name is an acronym for “Numeric Python” or “Numerical Python”. It is an extension module for Python, mostly written in… Read More
2019-07-08 08:02
Waterfall vs Agile The basic trait of civilization is order and protocol. The chaos and non-structured attempts to build something has never resulted in a fruitful outcome in any spectrum… Read More
2019-07-04 07:55
The Difference Between SEO and SEM Most digital marketing experts think that SEO and SEM are more or less two sides of the same coin even though they entail completely different actions and… Read More
MySQL Python
2019-06-27 09:46
About MySQL MySQL is a fast, easy to use relational database. It is currently the most popular open-source database MySQL is used for many small and big businesses. It is developed, marketed… Read More
2019-06-24 11:17
What is Digital Marketing? Very few people do a good job of defining digital marketing in a simple form. Most definitions complicate the term without any necessity. Digital marketing is not… Read More
Apache Kafka
2019-06-19 10:43
Apache Kafka Data Analytics is often described as one of the biggest challenges associated with big data, but even before that step can happen, data must be ingested and made available to en… Read More
2019-06-17 07:13
Java Vs JavaScript Comparing Java and JavaScript is like comparing apples and oranges. Both are different languages except few similarities. In this article, we will try to cover all the dif… Read More
2019-06-10 11:41
Selenium Python : Today, companies and applications are widely structured on web-based systems. The information that these systems contain is dense and requires extensive processing. Va… Read More
2019-06-08 07:45
What is Kanban? Kanban is a concept that originated from the Japanese manufacturing sector during the late 1940s. The literal meaning of Kanban in Japanese is “signal” or “… Read More
2019-06-04 10:01
What is Maven? Maven is an automation and management tool developed by Apache Software Foundation. It was initially released on 13 July 2004. In Yiddish language the meaning of Maven is &ldq&hell…Read More
2019-05-20 09:53
Azure Vs AWS Vs Google Cloud As per the Gartner Survey Report, the market of public cloud is estimated to hit a total worth of $411 bn by 2020. Cloud technology is used for making backups, s… Read More
2019-05-06 10:00
AWS Console What is Amazon Web Services (AWS)? Amazon Web Services (AWS) is Amazon’s cloud web hosting platform that offers flexible, reliable, scalable, easy-to-use and cost-effective… Read More

Share the post

SDLC (Software Development Life Cycle)

×

Subscribe to Sdlc (software Development Life Cycle)

Get updates delivered right to your inbox!

Thank you for your subscription

×