Final - PPT - JSD - Class 9 - Module 4
Final - PPT - JSD - Class 9 - Module 4
and Application
Development
Module 4
Session 1: Basic Application Development
Learning Objectives
After this session, you will be able to:
• Differentiate between agile and rapid application
development process.
• Discuss the concept of software design and algorithm design.
• Discuss the concept of incident management during algorithm
design and the process flow to resolve a disruption.
1.1 Agile vs. Rapid Application Development
Agile Development
Agile Development
Agile Development
1. Initiation/Discovery
1. Initiation/Discovery
2. Planning
3. Execution
4. Review/Demo
5. Iterative Development
6. Closure
• Agile techniques provide structures and processes to support each phase and
assure project success while remaining focused on delivering value to
stakeholders.
1.1 Agile vs. Rapid Application Development
• The RAD process typically consists of multiple phases, each focused on fast
prototyping, iterative development, and close engagement with stakeholders.
1. Requirements Planning
2. User Design
3. Construction
• Develop the software system based on the approved designs and prototypes.
• Use RAD frameworks or development tools to accelerate coding and
implementation.
• Focus on building core functionalities and features that align with user
priorities.
1.1 Agile vs. Rapid Application Development
4. Cutover
• Prepare for the deployment and integration of the developed system into the
production environment.
• Conduct system testing, including unit testing, integration testing, and user
acceptance testing (UAT).
• Address any issues or defects identified during testing and ensure readiness for
deployment.
1.1 Agile vs. Rapid Application Development
5. Deployment
Agile and Rapid Application Development (RAD) has its own principles and
practices:
1. Agile Development
Agile Development
Agile Development
• Scrum, Kanban, and XP: Agile frameworks like Scrum, Kanban, and Extreme
Programming (XP) provide specific guidelines and practices for implementing
Agile principles.
1.1 Agile vs. Rapid Application Development
• User Involvement: Users are actively involved in the design and development
process to ensure the final product meets their needs.
1.1 Agile vs. Rapid Application Development
• Both Agile and RAD share some common goals, such as delivering high-quality
software, adapting to change, and involving stakeholders throughout the
development process.
• While Agile and RAD have distinct use cases, some projects may benefit from a
combination of both methodologies or hybrid approaches that leverage their
respective strengths.
• While both Agile and RAD share a focus on iterative development, customer
involvement, and flexibility, they differ in their specific approaches to iteration
cycles, development speed, and methodology frameworks.
• Agile is known for its structured iterative approach with longer iterations, while
RAD emphasises rapid prototyping and quick iterations to achieve fast time-to-
market.
Learning Objectives
After this session, you will be able to:
• Explain the purpose of executing a test case and recording
outcomes in the assigned template
2.1 Software Design and Incident Management in Algorithm
Design
Software Design
Software Design
Software Design
Software Design
1. Requirements Analysis
Software Design
2. Architecture System
Software Design
3. Component-Level Design
• Decomposing the system into smaller parts and designing their internal
structures and functions.
• Focused development, easier testing, modular maintenance.
2.1 Software Design and Incident Management in Algorithm
Design
Software Design
4. Designing Interface
Software Design
5. Designing Data
Software Design
6. Algorithm Design
Software Design
7. Designing UX
Software Design
8. Testing Validation
Software Design
9. Documentation
Software Design
Algorithm Design
Algorithm Design
Algorithm Design
Algorithm Design
Algorithm Design
Fine-tuning the
Evaluating the
algorithm for better
Iteratively refining algorithm's performance
performance, often
and improving the characteristics, including
considering different
algorithm based on time and space
approaches, data
analysis, testing, and complexity, to
structures, and
feedback.. understand its efficiency
optimisation
in different scenarios.
techniques.
2.1 Software Design and Incident Management in Algorithm
Design
Incident Management
Incident Management
Incident Management
Incident Management
Incident Management
Learning Objectives
After this session, you will be able to:
• Explain the purpose of executing a test case and recording
outcomes in the assigned template.
3.1 Test Case Execution and Recording
• Test cases are designed to systematically identify defects, verify the accuracy of
the software's behaviour, and contribute to overall quality assurance in the
software development process.
3.1 Test Case Execution and Recording
1. Verification of Requirements
• Test cases are created according to software requirements to verify that the
software matches the stated functionalities and features.
3.1 Test Case Execution and Recording
2. Detecting Defects
• Test cases pinpoint software faults by methodically running several scenarios
and verifying if the results align with the expected outcomes.
3. Validation of Functionality
• Test cases verify the software's proper operation under various conditions,
encompassing a broad spectrum of inputs and usage situations.
3.1 Test Case Execution and Recording
6. Quality Assurance
• Test cases help maintain the overall quality, dependability, and resilience of the
application by methodically testing various software components.
7. Documentation
• Test cases function as a record of the anticipated performance of the software.
They offer a precise and comprehensive account of how the software is
expected to function in different scenarios.
3.1 Test Case Execution and Recording
8. Promoting Cooperation
• Test cases can be distributed among team members, such as developers,
testers, and stakeholders, to establish a shared comprehension of the
anticipated behaviour and acceptance criteria.
9. Risk Reduction
• Test cases, through thorough testing, aid in identifying and reducing potential
risks related to the software's functionality, performance, and security.
3.1 Test Case Execution and Recording
• Test cases are essential in the software development life cycle to verify that the
software meets defined criteria, operates appropriately, and sustains its quality
throughout its lifespan.
• They are essential components of software testing procedures and play a key
role in developing dependable and top-notch software solutions.
3.1 Test Case Execution and Recording
• Executing a test case, entails actively carrying out the procedures and activities
indicated in a predefined set of instructions to evaluate the behaviour of a
software programme or system.
• This process entails ensuring that the programme works as expected, capturing
actual results, comparing them to anticipated outcomes, and documenting any
differences or faults.
3.1 Test Case Execution and Recording
Understanding the Test Case: Read and understand the test case
thoroughly, including the objective, steps, inputs, and expected
outcomes.
Execute Test Steps: Perform the actions outlined in the test case
step by step. This may involve interacting with the user interface,
inputting data, or triggering specific functionalities.
Repeat for Additional Test Cases: If there are more test cases,
repeat the process for each one, ensuring comprehensive
coverage.
• Paying close attention to details, following steps correctly, and keeping detailed
records of results are all important parts of running a test case.
• The purpose is to make sure that the software works the way it's supposed to
and meets certain conditions.
3.1 Test Case Execution and Recording
• It includes sections for test case ID, objective, preconditions, test steps,
expected outcomes, actual results, status, comments, defects, and other
relevant information, ensuring consistency and clarity in the testing process.
3.1 Test Case Execution and Recording
• Test case templates can vary based on the specific needs of a project, the
testing methodology employed, and the preferences of the testing team or
organisation.
1. Test Case ID
• A unique identifier for the test case.
2. Test Case Title
• A concise and descriptive title or name for the test case.
3.1 Test Case Execution and Recording
3. Objective
• Clearly state the objective or goal of the test case.
4. Preconditions
• List any prerequisites or conditions that must be met before executing the test.
5. Inputs
• Specify the input data, values, or stimuli required for the test.
3.1 Test Case Execution and Recording
6. Test Steps
• Outline step-by-step instructions for executing the test, including actions to be
performed and expected outcomes.
7. Actual Results
• Document the actual outcomes or observations during the test execution.
8. Status
• Indicate the overall status of the test case (Pass/Fail/Not Executed).
3.1 Test Case Execution and Recording
9. Comments
• Include any additional comments, notes, or insights related to the test
execution.
10. Defects
• If applicable, document any defects or issues discovered during the test,
including details and severity.
3.1 Test Case Execution and Recording
7. Update Template: Modify the template if the test case needs updating.
8. Save or Submit: Save results for review by the team.
9. Clean Up: Revert the system to its original state if necessary.
10. Repeat: Repeat the process for additional test cases.