0% found this document useful (0 votes)
2 views

Software Engineering Ngit

This document provides an introduction to software engineering, covering various process models, agile methodologies, and requirements engineering. It details specific models like Scrum and the phases of the Unified Process Model, alongside principles of communication and planning. Additionally, it discusses system engineering hierarchy and evolutionary process models, emphasizing their importance in software development.

Uploaded by

Prasad Pam
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Software Engineering Ngit

This document provides an introduction to software engineering, covering various process models, agile methodologies, and requirements engineering. It details specific models like Scrum and the phases of the Unified Process Model, alongside principles of communication and planning. Additionally, it discusses system engineering hierarchy and evolutionary process models, emphasizing their importance in software development.

Uploaded by

Prasad Pam
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Software Engineering

1->Saq's
2-> Laq's

PDF: Hello and welcome to this helpful PDF file on Introduction to Software
Engineering! In this document , you will learn about the generic view of software
engineering processes, different process models, the a gile view of processes,
and the development, maintenance, and evolution of software.

1. What are the different process models in software engineering?


2. How does software act as both a product and a vehicle for delivering a
product? 3. What are the key characteristics of software development and
maintenance?

Me: Explain Why is software engineering said to be a layered technology in 40


words

PDF: Software engineering is said to be a layered technology because it


consists of multiple layers, includ ing the process layer, methods layer, and tools
layer. Each layer builds upon the previous one, providing a framework for the
development, operation, and maintenance of software.

Me: Differentiate between personal and team process models in 50 words

PDF: The personal process model, such as the Personal Software Process
(PSP), is tailored to individual developers, focusing on activities like planning,
design, and post-mortem. In contrast, the team process m odel, like the Team
Software Process (TSP), is designed for groups of 3-20 engineers, emphasizing
self-d irected teams, high-quality software production, and adherence to process
standards through activities lik e launch, design, implementation, and
integration.
Me: Describe the phases in unified process model? in 40 words

PDF: The Unified Process Model consists of four phases: Inception, Elaboration,
Construction, and Transi tion. The Inception Phase involves customer
communication and planning, the Elaboration Phase focuses on planning and
modeling, the Construction Phase involves coding and testing, and the
Transition Phase

encompasses beta testing, deployment, and production.

Me: Explain Requirements Management? in 40 words

PDF: Requirements Management involves identifying, controlling, and tracking


software requirements and changes throughout the project. It includes assigning
unique identifiers to requirements, developing trace

ability tables, and maintaining a requirements database to understand the


impact of changes on different aspects of the system.

Me: Define: any 03 principles in communication. under 40 words

PDF: 1. Listen actively: Focus on the speaker’s words and ask for clarification
when needed.
2. Prepare before communicating: Understand the problem and, if leading a
meeting, prepare an agenda. 3. Facilitate discussions: Assign a leader to keep
conversations productive, mediate conflicts, and ensure adherence to
communication principles.

Me: List out CMM Levels under 40 words

PDF: 1. Level 1 (Initial/Performed): Basic processes are performed.


2. Level 2 (Repeatable/Managed): Processes are documented and
standardized.
3. Level 3 (Defined): Processes are tailored from organizational standards.
4. Level 4 (Quantitatively Managed): Processes are measured and controlled.
5. Level 5 (Optimized): Continuous process improvement based on quantitative
feedback.
Me: Identify the framework activities in spiral model under 40 words

PDF: The framework activities in the Spiral Model include: Planning, Risk
Analysis, Engineering, Evaluati on, and Communication. These activities are
repeated in a series of iterations, with each iteration resultin

g in a more refined version of the software product.

Me: Define Elements of analysis model? under 40 words

PDF: The elements of the analysis model include scenario-based elements,


such as use cases and activit y diagrams, and class-based elements, such as
class diagrams. These elements provide a description of the functional,
informational, and behavioral requirements for a computer-based system.

Me: Define Use-case under 40 words

PDF: A use case is a description of a set of interactions between external actors


and the system, depictin g a specific sequence of actions performed by an actor
to achieve a particular goal or output.

Me: Define Agility under 40 words

PDF: Agility refers to the dynamic and growth-oriented ability to respond to


change effectively, delivering valuable software early and frequently, while
prioritizing customer satisfaction and welcoming changing re quirements for
competitive advantage.

Me: Define any 03 principles in planning? under 40 words

PDF: 1. Understand the scope of the project. 2. Involve stakeholders in the


planning activity. 3. Recognize that planning is iterative.

Great, let's start with the first question.

Question 1: State the Agile models? Explain Scrum


model activities.
Expanded Answer:

Agile methodologies have revolutionized the landscape of software


development, shifting the focus from a traditional, linear approach to a more
adaptable and collaborative process. These models are particularly favored in
projects where requirements are expected to change frequently or are not fully
understood at the outset.

Key Agile Models:

1. Scrum: Scrum stands as one of the most popular and widely implemented
Agile methodologies. It is characterized by short cycles of development
known as Sprints and emphasizes collaboration, continuous feedback, and
iterative improvement.
2. Extreme Programming (XP): This model is particularly focused on
enhancing software quality and responsiveness to changing customer
requirements. XP incorporates practices such as pair programming, test-
driven development, and continuous integration.
3. Lean Software Development: Inspired by lean manufacturing practices,
this approach emphasizes optimizing efficiency by eliminating waste,
amplifying learning, and delivering as fast as possible.
4. Kanban: Kanban is more of a visual method to manage the creation of
products with an emphasis on continuous delivery without overburdening
the development team.
5. Feature Driven Development (FDD): This model is driven by feature-value
delivery and is well-suited for larger teams working on a project primarily in
object-oriented technology.

Scrum Model Activities: The Scrum model is distinguished by its specific roles,
ceremonies, and artifacts. It operates on the principle of empirical process
control, where decision-making is based on observation and experimentation
rather than detailed upfront planning.

1. Sprint Planning: This is the phase where the team decides what to
accomplish in the upcoming sprint.
2. Daily Stand-up (Daily Scrum): A brief, daily meeting (typically 15 minutes)
where team members synchronize their activities and plan for the next 24
hours.
3. Sprint Review: At the end of each sprint, the team demonstrates the
completed work to stakeholders and discusses what was accomplished.
4. Sprint Retrospective: After the review, the team reflects on the sprint. This
is a key part of continuous improvement in Scrum.

Roles in Scrum:

Scrum Master: Facilitates the Scrum process and resolves impediments at


the team and organizational level.
Product Owner: Represents the stakeholders and the voice of the
customer, ensuring the team delivers value.
Development Team: Cross-functional members who do the actual work of
designing, developing, testing, etc.

Artifacts of Scrum:

Product Backlog: An ordered list of everything that might be needed in the


product, prioritized by the Product Owner.
Sprint Backlog: A set of items selected from the Product Backlog to be
completed in the Sprint.
Increment: The sum of all the Product Backlog items completed during a
Sprint and all previous Sprints.

In conclusion, Agile models, with Scrum at the forefront, offer a dynamic and
flexible approach to software development, emphasizing customer satisfaction,
team collaboration, and the ability to respond to change rapidly. Scrum, with its
structured yet adaptable framework, has become a cornerstone methodology in
Agile practices, proving effective in various environments, from small startups to
large-scale enterprises.

Great, let's continue with the second question.


Question 2: What is requirements engineering?
Explain about elicitation in detail.
Expanded Answer:

Requirements engineering is a crucial phase in the software development


lifecycle, focusing on determining the needs and conditions to meet for a new or
altered product. This process involves systematically gathering, documenting,
and maintaining these requirements. It's a continuous process throughout a
project, crucial for its success.

The Essence of Requirements Engineering:

1. Understanding the Problem: This is about comprehending the problem


that the software is intended to solve. It involves gathering initial information
and determining the scope of the problem.
2. Stakeholder Identification: Recognizing all parties involved or affected by
the project, including users, customers, and other stakeholders.
3. Requirement Collection: This involves gathering all the necessary
requirements from the identified stakeholders. It's a complex task due to
differing perspectives, conflicts, and changing needs.
4. Requirement Analysis: Analyzing the collected requirements for feasibility,
clarity, and potential conflicts.
5. Specification and Documentation: Documenting the requirements in a
clear, concise, and comprehensive manner.
6. Verification and Validation: Ensuring that the requirements meet the
stakeholders' needs and are in line with the project's scope.

Elicitation in Detail: Elicitation is the process of extracting requirements from


stakeholders. It's arguably one of the most challenging phases due to
communication barriers, stakeholder availability, and the complexity of
understanding their needs.

1. Techniques for Elicitation:


Interviews: Conducting one-on-one or group interviews with
stakeholders to gather requirements.
Workshops: Organizing focused sessions with multiple stakeholders to
discuss and refine requirements.
Surveys and Questionnaires: Distributing structured documents to
gather responses from a wider audience.
Observation: Understanding the current processes and systems by
observing them in operation.
Document Analysis: Reviewing existing documentation and data to
gather requirements.
2. Challenges in Elicitation:
Varying Stakeholder Interests: Balancing conflicting interests and
priorities of different stakeholders.
Implicit Knowledge: Uncovering tacit knowledge that stakeholders may
have but find hard to articulate.
Changing Requirements: Managing evolving requirements as more
information is uncovered or as business needs change.
3. Best Practices:
Active Listening: Ensuring that stakeholders are heard and their inputs
are accurately understood.
Effective Communication: Using clear, jargon-free language and
ensuring mutual understanding.
Iterative Approach: Revisiting and refining requirements as new
information emerges.
Documentation: Keeping detailed records of all gathered requirements
for future reference.

In summary, requirements engineering is the backbone of successful software


development, ensuring that the final product aligns with the users' needs and
expectations. Elicitation, as a critical part of this phase, requires skillful
techniques, patience, and a thorough understanding of stakeholders'
perspectives.
Continuing with the third question:

Question 3: Describe about System Engineering


Hierarchy.
Expanded Answer:

System Engineering Hierarchy is a structured approach in the field of


engineering that deals with the design, integration, and management of complex
systems over their life cycles. At its core, it focuses on defining customer needs
and required functionality early in the development cycle, proceeding with
design synthesis and system validation while considering the complete problem.

Understanding System Engineering Hierarchy:

1. World View: This is the highest level in the system engineering hierarchy. It
involves understanding the global context of the system, including the
broader business or technological environment in which the system will
operate. This phase is about grasping the big picture and understanding
external factors that might influence the system.
2. Domain Analysis: Once the world view is established, the focus narrows
down to a specific domain of interest. This involves a deeper dive into the
particular area the system will address, understanding the specific
challenges and opportunities within this domain.
3. System Elements Analysis: This phase involves dissecting the system
into its constituent elements, which could include data, software, hardware,
and people. Each of these elements is analyzed in terms of how they will
interact with each other and contribute to the overall functioning of the
system.
4. Design and Construction: The final stage in the hierarchy involves the
actual design and construction of the system. This is where all the insights
and analyses from the previous stages are synthesized into a coherent,
functional system. The design phase translates the requirements and
specifications into detailed blueprints, while the construction phase involves
building the actual system based on these designs.
Key Considerations in System Engineering Hierarchy:

Interdisciplinary Approach: System engineering is inherently


interdisciplinary, requiring input and expertise from various fields to design
and manage complex systems effectively.
Lifecycle Focus: It considers the entire lifecycle of the system, from
conception through design, construction, operation, and eventual
decommissioning.
Stakeholder Needs: Central to the process is identifying and meeting the
needs of all stakeholders involved with the system.
Risk Management: Identifying potential risks at each level of the hierarchy
and developing strategies to mitigate them is crucial for the successful
implementation of the system.

In summary, System Engineering Hierarchy offers a comprehensive and


structured approach to understanding and creating complex systems. By
breaking down the process into manageable levels, from a broad world view to
specific system elements, it ensures that all aspects of the system are
thoroughly considered and integrated into a cohesive whole.

Continuing with the fourth question:

Question 4: Discuss about Evolutionary Process


Models.
Expanded Answer:

Evolutionary Process Models in software engineering are a category of software


development methods that are based on the idea of developing an initial
implementation, exposing this to user feedback, and then refining the software
through multiple iterations until a satisfactory system is developed. These
models are particularly useful in situations where the requirements are not well-
understood or are expected to change significantly during the project.

Key Aspects of Evolutionary Process Models:


1. Iterative Development: Unlike traditional models, evolutionary models
focus on an iterative development process where the software evolves over
time through successive refinements.
2. Early Prototype Creation: A key feature of these models is the early
development of a working prototype to get feedback from users. This allows
for an early assessment of user requirements and system functionality.
3. Adaptability: Evolutionary models are adaptable to changes. They are
designed to accommodate changes in user requirements and technology
during the development process.

Popular Evolutionary Process Models:

1. Rapid Application Development (RAD): RAD focuses on rapid


development and delivery of high-quality systems with minimal planning. It
emphasizes the use of powerful development tools and techniques to speed
up the development process.
2. Prototyping Model: In this model, a prototype (an early approximation of a
final system or product) is built, tested, and then reworked until an
acceptable prototype is achieved.
3. Spiral Model: The Spiral Model combines the idea of iterative development
with the systematic aspects of the traditional waterfall model. It allows for
incremental releases of the product, or incremental refinement through each
iteration around the spiral.

Advantages and Challenges:

Flexibility in Requirements: These models are flexible in dealing with


changing requirements, making them suitable for projects where
requirements are not clear from the beginning.
User Involvement: Continuous user involvement ensures a higher degree
of user acceptance and satisfaction as the final product tends to align
closely with user expectations.
Risk Management: Early identification and resolution of risks and
uncertainties.
Challenges: These models require customer involvement throughout the
development process, which can be demanding. Also, managing the
iterative process and ensuring timely delivery can be challenging.

In conclusion, Evolutionary Process Models offer a flexible and risk-managed


approach to software development, particularly in dynamic environments where
requirements are unclear or subject to change. These models foster user
involvement and feedback, leading to more user-centered and adaptable
software solutions.

Yes, I am exclusively using the content from the "SE_MErged.pdf" document


you provided to answer these questions. I'll continue with the same approach for
the next question.

Question 5: Describe about Business Process


Engineering Hierarchy.
Expanded Answer:

Business Process Engineering (BPE) is a systematic approach to improving a


company's business processes. It involves reevaluating and restructuring the
organizational processes, aiming to enhance efficiency and productivity. BPE is
crucial in adapting to new market demands, technological changes, and other
external pressures.

Key Elements of Business Process Engineering Hierarchy:

1. Data Architecture: This element focuses on organizing the information


needs of a business. It involves identifying and defining the data objects
crucial for the business and establishing their relationships. The data
architecture serves as the backbone for information systems and helps in
the efficient management and retrieval of data.
2. Application Architecture: This involves the development and maintenance
of various software applications that process and manipulate the data for
business purposes. The application architecture must align with business
goals and effectively support the data architecture.
3. Technology Infrastructure: It provides the necessary technological
foundation for supporting the applications and data. This includes the
hardware, software, networks, and other technology resources required to
deploy and maintain business applications.

Process of Business Process Engineering:

Information Strategy Planning (ISP): This is the first step where strategic
business goals are identified. The success factors and business rules are
defined, guiding the entire BPE process.
Analyzing Current Business Processes: A thorough analysis of existing
business processes to identify areas of improvement.
Designing New Processes: Based on the analysis, new processes are
designed to improve efficiency, quality, service, and speed.
Implementing Changes: This involves the actual deployment of
redesigned processes, often requiring changes in organizational structure,
employee roles, and technology systems.
Monitoring and Continuously Improving: After implementation,
continuous monitoring is necessary to ensure the processes are effective
and to make ongoing improvements.

Benefits and Challenges:

Increased Efficiency: BPE aims to streamline business processes,


reducing processing time and costs.
Improved Quality and Customer Service: By optimizing processes,
companies can improve product quality and customer service.
Challenges: BPE can be disruptive to existing processes and may
encounter resistance from employees. It also requires substantial time and
resources for successful implementation.

In summary, Business Process Engineering Hierarchy is a strategic approach


that rethinks and restructures the core processes of a business. It aims to align
all aspects of business operations with the overarching goals of efficiency,
effectiveness, and adaptability to change.
Continuing with the sixth question:

Question 6: Discuss about Scenario based Modelling.


Expanded Answer:

Scenario-based modelling is a method used in software engineering and


systems design to visualize and understand complex requirements by creating
and examining realistic scenarios in which the system will be used. This
approach helps in capturing the functional requirements of a system more
effectively and provides a clear understanding of how the system will interact
with its environment and users.

Core Concepts of Scenario-based Modelling:

1. Use Cases: These are detailed narratives that describe the interactions
between users (actors) and the system to achieve specific goals. Use cases
help in understanding the requirements from the user’s perspective and
guide the development team in building functionalities that meet actual user
needs.
2. Activity Diagrams: These diagrams visually represent the flow of activities
involved in a particular process or use case. They help in illustrating the
sequence of actions and decision points, providing a clear view of the
system’s behavior.
3. Swim Lane Diagrams: These are used to show how different actors (or
systems) interact in a process. Each lane represents an actor or a system
component, and the diagrams show how activities flow between these
lanes.

Developing Scenarios in Scenario-based Modelling:

Scenarios are developed based on real-life situations or envisioned use


cases of the system.
They typically include a description of the starting conditions, the goals of
the actors, the sequence of interactions, and the desired outcomes.
Scenarios can also cover exceptional conditions and how the system
should respond to unexpected inputs or actions.

Advantages of Scenario-based Modelling:

Improved Understanding of Requirements: By visualizing the real-world


use of the system, it becomes easier to capture and understand complex
requirements.
Enhanced Communication: Scenarios facilitate better communication
between the development team and stakeholders, ensuring that all parties
have a common understanding of what the system is expected to do.
Early Identification of Issues: Potential problems, ambiguities, or conflicts
in requirements can be identified early in the development process,
reducing the risk of costly changes later.

Challenges in Scenario-based Modelling:

Creating comprehensive scenarios that cover all possible use cases can be
time-consuming.
Scenarios need to be updated continuously as the project evolves, which
requires ongoing effort and coordination.

In conclusion, scenario-based modelling is a powerful tool in system


development, providing a practical and user-focused approach to understanding
and documenting system requirements. It emphasizes the importance of
considering real-world applications of the system, thereby ensuring that the final
product aligns closely with user needs and expectations.

->
Question 7: Describe about System Engineering
Hierarchy.
Expanded Answer:

System Engineering Hierarchy is a methodical approach used in managing and


developing complex systems. It is about comprehending and addressing various
layers of system development, from the broader perspective down to the specific
details.

Overview of System Engineering Hierarchy:

1. World View: The top level of system engineering begins with understanding
the broader context or 'world view.' This stage involves a comprehensive
examination of the business or product domain, ensuring that the proper
context for technology and business requirements is established. It’s about
grasping the big picture and identifying external factors that might influence
the system.
2. Domain Analysis: Once the world view is established, the focus shifts to a
more specific domain of interest. This involves deeper exploration into the
particular area the system will address, understanding the unique
challenges and opportunities within this domain.
3. Targeted System Elements: This stage involves breaking down the
system into its constituent elements, such as data, software (S/W),
hardware (H/W), and people. Each of these elements is analyzed in terms
of how they contribute to and interact within the overall system.
4. Design and Construction: The final phase in the hierarchy is where the
actual design and construction of the system take place. This involves
translating the requirements and analyses from previous stages into a
functional, operational system. The design phase converts these
requirements into detailed blueprints, while the construction phase is about
building the actual system as per these designs.

Key Aspects:

Interdisciplinary Nature: System engineering is inherently interdisciplinary,


requiring insights and expertise from various fields to ensure the system is
coherent and functional.
Lifecycle Consideration: It involves considering the entire lifecycle of the
system, from initial concept through design, implementation, operation, and
eventual decommissioning.
Stakeholder Analysis: Understanding and meeting the needs of all
stakeholders involved in or affected by the system is crucial.
Risk Management: Identifying potential risks at each level of the hierarchy
and developing strategies to mitigate them is essential for the successful
implementation of the system.

In summary, System Engineering Hierarchy provides a structured and


comprehensive approach to understanding and creating complex systems. By
breaking down the process into different levels, from a broad perspective to the
specific details, it ensures that every aspect of the system is thoughtfully
considered and integrated into a cohesive whole, ultimately resulting in a system
that meets both its functional and operational requirements effectively.

Question 8: Explain XP Model Framework.


Expanded Answer:

Extreme Programming (XP) is a highly disciplined yet flexible approach to


software development that falls under Agile methodologies. It is designed to
produce higher quality software and higher quality of life for the development
team. XP emphasizes customer satisfaction and aims to develop software that
meets changing customer needs.

Key Components of the XP Model Framework:

1. Planning: The planning phase in XP starts with creating user stories, which
are simple descriptions of a feature told from the perspective of the user.
These stories help in understanding the requirements and form the basis of
the development process.
2. Design: XP promotes a simple yet effective design strategy. The principle of
"Keep It Simple" (KIS) is fundamental in this phase. The use of Class-
Responsibility-Collaborator (CRC) cards is encouraged to identify and
organize object-oriented classes. The design phase is iterative, and
changes are welcome based on the feedback.
3. Coding: XP emphasizes the importance of writing clean, simple, and
understandable code. Pair programming, where two programmers work
together at one workstation, is a common practice. Continuous integration
and frequent small releases are key aspects of this phase.
4. Testing: In XP, testing is not a separate phase but is integrated throughout
the development process. Test-driven development (TDD) is a core practice
where tests are written before the code itself. This ensures that the code
meets its intended purpose from the beginning.

Principles of XP:

Communication: XP models rely heavily on effective communication


among team members and with clients.
Feedback: Regular feedback from the client and within the team is vital for
the continual improvement of the product.
Simplicity: Solutions should be as simple as possible, yet no simpler. This
helps in managing complexity and improving system maintainability.
Courage: Team members should have the courage to speak up about any
issue and make decisions, even if they lead to changes in the plan or the
code.

Advantages and Challenges:

Flexibility to Change: XP is highly adaptable to changing requirements,


even late in the development process.
Quality Improvement: With practices like TDD and pair programming, the
quality of the software is improved.
Challenges: XP requires a high level of discipline and close collaboration
among team members. It also demands a lot of the customer in terms of
time and involvement.

In summary, the XP model is a comprehensive framework that emphasizes


customer involvement, rapid feedback cycles, continuous testing, and a
willingness to adapt to changing requirements. Its practices are designed to
improve both the quality of the software product and the quality of life for the
software development team.
Long answers as short answers -> (to revise easily)
Q1: State the Agile models ? Explain Scrum model activities
Scrum is one of the agile process models. Scrum principles guide development
activities within a process that incorporates framework activities: Requirements
analysis, design, evolution, and delivery. Key components include Backlog,
Sprints, Scrum Meetings, and Demos. Scrum emphasizes the use of software
process patterns that are effective for projects with tight timelines, changing
requirements, and business criticality.
Q2: What is requirements engineering? Explain about elicitation in detail
Requirements engineering is a mechanism for understanding what the customer
wants, analyzing need, assessing feasibility, negotiating a reasonable solution,
specifying the solution unambiguously, validating the specification, and
managing requirements. Elicitation involves asking customers and users what
they want, i.e., objectives of the product, how it fits into business needs, and
how it will be used daily. Elicitation faces challenges like scope problems,
understanding issues, and requirements volatility.
Q3: Describe about System Engineering Hierarchy?
System Engineering encompasses a collection of top-down and bottom-up
methods to navigate the hierarchy, beginning with a 'world view' of the entire
business or product domain. It focuses on specific domain needs for system
elements like data, software, hardware, and people, followed by analysis,
design, and construction of the targeted system element.
Q4: Discuss about Evolutionary Process Models ?
Evolutionary Process Models are designed to accommodate a product that
evolves over time. These iterative models enable software engineers to develop
more complete software versions gradually. Examples include the Prototyping
model, used when customer objectives are defined but detailed requirements
are not, and the Spiral model, which is a realistic approach to the development
of large-scale systems and software, accommodating various process
development models.
Q5: Describe about Business Process Engineering Hierarchy
Business Process Engineering (BPE) defines architectures to enable a business
to use information effectively. BPE focuses on the enterprise, then the business
area, creating enterprise models, data models, and process models. It
comprises data architecture, application architecture, and technology
infrastructure.
Q6: Discuss about Scenario based Modelling ?
Scenario-based modeling in analysis modeling with UML begins with the
creation of scenarios in the form of use-cases, activity diagrams, and swim lane
diagrams. It captures the interactions between producers and consumers of
information and the system. Scenarios are described from the point-of-view of
an 'actor', providing a detailed view of system usage.
Q7: Explain XP Model Framework?
The Extreme Programming (XP) Model uses an Object-Oriented approach with
four framework activities: Planning, Design, Coding, and Testing. Planning
involves creating stories that describe required features. Design follows the KIS
(Keep It Simple) principle, using CRC (Class-Responsibility Collaborator) to
organize classes. Coding and testing are integral, with an emphasis on simple
design, refactoring, and continuous testing.
BLOCK DIAGRAMS:
Scrum model activities

Requirements engineering process


System Engineering Hierarchy
Evolutionary process models

You might also like