notes
notes
AGILE:
The Agile model is a software development approach based on iterative development. Here are
the key points about Agile:
Iterative Process: Agile divides projects into sprints, with each sprint
having a defined duration during which specific work has to be completed
and made ready for review.
Collaboration: Agile encourages continuous collaboration among team
members and stakeholders.
Customer Feedback: Regular feedback from customers is incorporated into
the development process, ensuring the final product meets their needs.
Continuous Improvement: After each sprint, teams reflect on their
performance to identify areas for improvement in the next iteration.
The Agile Manifesto, which outlines the core values and principles of Agile,
prioritizes individuals and interactions, working software, customer
collaboration, and responding to change over rigid adherence to processes
and tools.
Plan Driven v/s Agile:
It provides a visual comparison between plan-driven development and agile development in
the context of software engineering:
1. Plan-Driven Development:
o The left side of the diagram represents plan-
driven development.
o It consists of three sequential phases:
Requirements Engineering: In this
phase, project requirements are
gathered and analyzed.
Requirements Specification: Detailed
requirements are documented.
Design and Implementation: The software system is designed and
implemented based on the specified requirements.
o There is a feedback loop from “Design and Implementation” back to
“Requirements Change Requests,” suggesting an iterative process within the plan-
driven model.
2. Agile Development:
o The right side of the diagram depicts agile development.
o It simplifies the process into two main phases:
Requirements Engineering: Gathering and understanding project
requirements.
Design and Implementation: Developing the software based on the
requirements.
o Unlike plan-driven development, agile emphasizes continuous interaction
between these two phases. The bidirectional arrows indicate constant feedback
loops.
o Agile allows flexibility, adaptability, and iterative development.
Von Neumann Architecture:
Architecture: “The complex or carefully designed structure of something.”
Von Neumann Architecture:
The basic concept behind the von Neumann architecture is the ability to store
program instructions in memory along with the data on which those instructions
operate.
The von Neumann architecture describes a general framework, or structure, that
a computer's hardware, programming, and data should follow.
Even all the most modern computers and mobile devices are designed based on
this fundamental concept.
It had 3 basic components:
1. I/O Interfaces
2. CPU
3. Memory
Why Need?
The use of CASE tools can lead to higher quality software, improved
productivity, and better alignment with user requirements. They are
particularly useful in large projects where coordination among different team
members and consistency across various parts of the software is crucial.
ISA:
EXTREME PROGRAMMING: