SYSTEM DEVELOPMENT LIFE CYCLE
SDLC ACTIVITIES
TYPE OF LIFE CYCLES MODEL
https://gove.co/wp-content/uploads/2021/03/MODEL1.png
click to edit
Rapid Application Development (RAD)
Iterative And Incremental Development
WATERFALL MODEL
Spiral Model :
AGILE MODEL
PLANNING ⛔
Development
TESTING & INTEGRATION
click to edit
Purpose - The purpose of the development phase is to build, code, and create the actual system or software based on the specifications and designs determined in earlier phases. It is where the vision of the system becomes a tangible reality.
Definition - Development is where the actual software or system is created.
ANALYSIS
Design
Implementation
Scenario
Definition= This phase is initiated after the system has been tested and accepted by the user ❤
Scenario
Definition - In the design phase, one or more designs are created to achieve the project result. Depending on the project subject, the design phase products include dioramas, flow-charts, sketches, site trees, HTML screen designs, photo impressions, prototypes, and UML schemas.
SCENARIOS
Definition
╰┈➤ This phase involves the Quality Assurance
(QA) team who is in charge of performing the
overall system testing.
Purpose - to transform all the requirements into complete, detailed system design specifications. Once your design is approved, the Development Team begins its development work.
Inventory Management System Using Waterfall
Mobile App for a Startup Using Lean Startup Principles
Website Redesign Using Agile
An approach where different components or modules of a software application are tested as a combined entity.
The fuel system may be tested in collabration with an exhaust system, and later, these two module's working tested in collabration with the working of an engine.
Mailbox software developers compase different modules, including login page, inbox, default folder and move and flag functions.
Scenario 2 - An international e-commerce giant is launching a new feature-rich mobile shopping app. The development phase involves coding and integrating various functionalities, such as product search, online payments, customer reviews, and personalized recommendations, to create a seamless shopping experience.
Scenario 3 - A city's transportation department is undertaking a smart traffic management system project. They aim to develop software that integrates data from traffic cameras, sensors, and GPS devices to optimize traffic flow, reduce congestion, and enhance public safety. The development phase includes coding, integration, and extensive testing of the traffic management software.
Scenario 1 - A national healthcare organization is embarking on the development of a comprehensive Electronic Health Records (EHR) system. The goal is to create a secure, interoperable, and user-friendly platform that enables healthcare providers to efficiently manage patient records, track medical history, and improve patient care.
Definition:
In the context of SDLC, analysis refers to the phase of the software development life cycle that involves gathering, analyzing, and validating information.
MAINTENANCE
Purpose:
To define the requirement and feasibility of the project.
Propose= To support the intended business functions
Scenario :
DEFINITION
- updating and supporting the software after it has : been delivered to the market.
PURPOSES
Business Analyst
It provides the requirements to the design team and reviews the software design and artifacts.
Technical-Architect, Tech-Designer, Design Team
They design the system architecture, software components, etc., along with the design walk-through.
Scenario: A small web design agency is tasked with redesigning a client's website. The client wants a more modern look and improved user experience.
SDLC Planning: In this scenario, the agency plans to use Agile methodology. The SDLC plan includes creating a backlog of design and development tasks, conducting weekly sprints, and holding regular client meetings for feedback.
Scenario: A medium-sized retail company wants to develop a new inventory management system to streamline their operations.*
- SDLC Plan* : SDLC Planning: In this scenario, the company opts for a Waterfall approach due to the structured nature of the project
Scenario: A startup is developing a mobile app for a new social networking concept. They have a limited budget and want to quickly validate their idea.
SDLC Planning: In this scenario, the startup plans to follow Lean Startup principles. The SDLC plan includes building a minimum viable product (MVP) with basic features, launching it to a small group of early users, and collecting feedback
Scenario
Scenario=
System analyst assesses business processes, identifying software features like expense tracking, invoicing, and tax reporting, and analyzing existing financial documents and workflows to develop a tailored solution.
Assessing system development involves evaluating technical, economic, and operational aspects. Technical feasibility determines available technology and resources, while economic feasibility evaluates financial viability and user adoption.
Analysts collaborate with stakeholders to gather and document requirements through interviews, surveys, and seminars, guiding the development process and understanding user needs.
Project Manager
The project managers finalize the data conversion strategy and the test strategy. Plus, they review the software design and artifacts.
- Identify interface issues
- Security testing
- Verify system integration
2) Developers write the source code for various component of the platform :
3)Use programming languages and tools appropriate for the project
1) Installation of hardware
Definition : The phase in which developers will plan for the upcoming projects.
PURPOSE
- To ensure the ongoing functionality, stability and adaptability of the software system after its initial development and deployment.
Purpose of Planning :
Cost Estimation:
Accurately estimating the project's costs is essential for budgeting and financial planning. This includes both direct and indirect costs associated with development, testing, deployment, and maintenance.
Define Project Scope:
Planning helps in defining the scope of the project, which includes identifying the project's goals, objectives, requirements, constraints, and stakeholders. This ensures that everyone involved has a clear understanding of what needs to be achieved.
SCENARIO 1 Performing Maintenance Tasks:
The development team starts by investigating and resolving the reported issues one by one.They optimize the website's code to improve page loading times and fix the bugs causing crashes.A security audit is conducted to identify vulnerabilities, and security patches are applied.The chat support system is designed and implemented to enhance customer service.
Definition: The spiral model combines iterative development with Waterfall elements and is used for risk management in complex software projects
Prototyping Model
Advantages:
Disadvantages:
DEFINITION Refers to the iterative approach to delivering a software product.
Definition
Definition: Built, tested and then reworked as necessary until an acceptable outcome is achieved
ADVANTAGES i.Flexibility and adaptability ii.Fast delivery iii.Delivers early partial working solutions.
Advantages
Disadvantage
DISADVANTAGES WATERFALL MODEL
- Testing period comes quite late in the development process.
- Documentation occupies a lot of time of developers and testers.
- It is not desirable complex project where requirement changes frequently.
ADVANTAGES WATERFALL MODEL
- Suited for smaller projects where requirements are well defined.
- Project is completely dependent on project team with minimum client intervention.
- Any changes in software is made during the process of the development.
DEFINITION
- Waterfall model is a sequential development process that flows like a waterfall through all phases of a project (analysis, design, development and testing)
Definition :
Advantages :
Disadvantages :
- An adaptive software development model based on prototyping and quick feedback with less emphasis on specific planning.
Iterative development means building in small cycles, improving with feedback.
Incremental development builds in pieces, adding to what's there. Both methods help manage complex projects, adapt to changes, and deliver useful parts early.
- The RAD approach prioritizes development and building a prototype, rather than planning.
Cuts down on development time.
Facilitates customer feedback and the final product satisfies all stakeholders.
Allows for integration from the start.
Fast initial reviews occur.
Improves the reusability of components.
Enhances end-product risk management.
DISADVANTAGES i.Lack of documentation ii.Dependency on customers availability iii.More time and commitment.
It is dependent on a skilled team of developers/designers.
It can only build modularized projects.
Cannot be used for cheap projects due to automated and modelling costs.
Requires a strong team and individual performances.
It works only for projects that require speed.
It is hard to manage due to many stakeholders.
Advantage:
- allows for changes at any stage of development
- High-Quality Output
- Suitable for complex projects where uncertainties are high.
Iterative development
Incremental development
Disadvantage:
- unsuitable for small, simple projects
- The flexibility and thorough risk management can be costly
- The iterative nature can lead to longer development times
This model is flexible in design.
It is easy to detect errors.
We can find missing functionality easily.
It ensures a greater level of customer satisfaction and comfort.
It is ideal for online system.
It helps developers and users both understand the system better.
Flexibility: Allows for changes in project requirements during development.
Continuous Improvement: Regular iterations lead to better product refinement.
Early Feedback: Stakeholders see progress early and can provide input.
DIAGRAM :
This model is costly.
It has poor documentation because of continuously changing customer requirements.
There may be too much variation in requirements.
Iterative development
Incremental development
There is certainty in determining the number of iterations.
There may be incomplete or inadequate problem analysis.
There may increase the complexity of the system.
JAD: Joint Applicaiton Development
Early Deliveries: Provides functional parts of the product sooner, offering value.
Reduced Risk: Each increment is tested and integrated, lowering overall risk.
Better User Engagement: Early increments allow user feedback and involvement.
Potential for Scope Creep: Frequent changes may expand project scope.
Resource Intensive: Requires ongoing effort and resources for multiple iterations.
Complex Management: Requires effective project management to coordinate iterations.
Integration Challenges: Integration of increments can be complex and time-consuming.
Incomplete Early Versions: Initial increments may lack essential features.
Dependency Management: Managing dependencies between increments can be tricky.
click to edit
Diagram
Diagram
click to edit
Definition
a unique approach to software and systems development because it involves clients, customers or end users throughout the product design and development lifecycle. It emphasizes a team-oriented development approach along with a group consensus-based problem-solving model.
Advantages
JAD allows key users to participate effectively
Users more likely to feel a sense of ownership
Produces a more acurate statement of system requirements
WATERFALL DIAGRAM
Disadvantages
Diagram
click to edit
Can be cumbersome if group is too large
It opens up a lot of scope for inter-personal conflict
JAD is more expensive that traditional methods
SCENARIO 2 The software application is stable, but there is a need to proactively address potential issues and improve the system's performance and reliability.
click to edit