You are on page 1of 11

EXCEL ENGINEERING COLLEGE

(Autonomous)
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
IV Semester
20IT403- SOFTWAREENGINEERING
Regulations 2020
ANSWER KEY
UNIT – III (Agile Software Development and Modeling Practices)
PART- A
Q.No Questions Marks CO BL
List the Agile SDLC Model
Rational Unified Process
Scrum
Crystal Clear,
1 2 CO3 R
Extreme Programming
Adaptive Software Development,
Feature Driven Development
Dynamic Systems Development Method
Write any two principles of Agile Model
 Individuals and interactions over processes and tools.
2
2 CO3 R
 Working software over comprehensive documentation.
Give the Advantages of Agile ModeL
 Customer satisfaction by rapid, 2
3 CO3 R
 Continuous delivery of useful software.
 People and interactions are emphasized rather than process and tools.
Analyze the importance of DSDM in software process development?
 The DSDM model prioritizes business cases, ensuring that any projects they
deliver have critical business value. 2
4 CO3 R
 Developers can easily access their end-users. Easier for the project to remain
within budget.
List the three ways of learning process.
 The three generic phases of software engineering are definition, development,
and support 2
5 CO3 R
 The software engineering process consists of activities for managing the creation
of software, including requirement collection, analysis, design, coding, testing,
and maintenance.
Define ASD.
Adaptive Software Development is a method to build complex software and system. ASD 2
6 CO3 R
focuses on human collaboration and self-organization.
Give the three phases of ASD Lifecycle
 Speculate 2
7 CO3 R
 Collaborate
 Learn
What is Scrum?
 Scrum is a framework for effective collaborations among teams working on
2
8 complex products. CO3 R
 Consists of meetings, roles, and tools to help teams working on complex
projects collaborate and better structure and manage their workload.
List the Silent features of Scrum
 Scrum is light-weighted framework
2
9  Scrum emphasizes self-organization CO3 R
 Scrum is simple to understand
 Scrum framework help the team to work together
Define S RINT
2
10 A sprint is a short, time-boxed period when a scrum team works to complete a set amount CO3 R
of workprint.
Give the advantages of using Scrum
 Scrum can help teams complete project deliverables quickly and efficiently. 2
11 CO3 R
 Scrum ensures effective use of time and money.
 Large projects are divided into easily manageable sprints
Evaluate the uses of FDD in tangible software development.
 Feature-Driven Development (FDD) is customer-centric, iterative, and
incremental, with the goal of delivering tangible software results often and 2
12 CO3 R
efficiently.
 FDD in Agile encourages status reporting at all levels, which helps to track
progress and results.
List the Characteristics of FDD
Short iterative
2
13 Customer focused CO3 R
Structured and feature focused
Frequent releases
Define Agile Modelling
Agile Modeling (AM) is a collection of values, principles, and practices for modeling 2
14 CO3 R
software that can be applied on a software development project in an effective and
lightweight manner.”
Write the advantages of FDD
2
15 It is proven technology for voice traffic. CO3 R
It is designed for symmetric traffic and do not require guard time like TDD.
Highlight the role of testing in software development
 Software testing is the process of evaluating and verifying that a software
2
16 product or application does what it is supposed to do. CO3 R
 The benefits of testing include preventing bugs, reducing development costs and
improving performance.
Define Iteration.
 Iteration is a single development cycle, usually measured as one week or two
2
17 weeks. CO3 R
 Iteration may also be defined as the elapsed time between iteration planning
sessions.
What is System Modelling?
 System modeling is the process of developing abstract models of a system, with
2
18 each model presenting a different view or perspective of that system. CO3 R
 It is about representing a system using some kind of graphical notation, which is
now almost always based on notations in the Unified Modeling Language (UML).
Give the features of System Model.
 Define the processes that serve the needs of the view under consideration. 2
19 CO3 R
 Represent the behavior of the processes and the assumptions on which the
behavior is based.
20 What do you understand by relationships in UML? 2 CO3 R
 In UML modeling, a relationship is a connection between two or more UML
model elements that adds semantic information to a model.
 In the product, you can use several UML relationships to define the structure
between model elements.

PART- B
Q.No Questions Marks CO BL
1 Classify the difference between the Agile Process and Process
Models 16 CO3 U

 The agile model allows to change the requirements after the development process starts, so it is more flexible. The
waterfall model is rigid, it does not allow to change requirements after the development process starts
 Agile is a well-known development methodology and the best approach for many development teams, especially
those looking to create a continuous delivery environment. It focuses around iterative development, short cycles,
getting feedback and adapting to the new requirements
Benefits of Agile :
 Increased product quality
 Increased development speed
 Better customer satisfaction
 Continuous improvement
 Reduced risks

S.NO. AGILE SDLC

Agile is a methodology following an iterative


approach used for project management SDLC is a process of design and development of a
01. purposes. product or service.

Software Development Life Cycle is easy to understand


and needs little systematic approach for
02. It is easier to use and implement. implementation.

It came out in 2001 and it was made by a joint


03. collaboration of 17 software developers. Software Development Life Cycle was found in 1960.

04. Agile constitutes of different phases. SDLC constitutes of different stages

05. Agile has a faster approach comparatively. SDLC has a systematic approach.

06. Agile is more suited for small scale projects. SDLC can be used for any sized projects

07. Agile allows dynamic changes in requirements. SDLC doesn’t allow changes after initial stage.

08. It follows a continuous cycle. It follows a sequential stages.


09. It requires close customer involvement. It requires close project manager involvement.

2 Explain Adaptive System Development 16 CO3 U

 The adaptive approach is designed to continually adapt to changes depending on the project
situation. The adaptive approach is not static and constantly adjusts to different project
variables. Because each project is different, adaptive project managers use a different approach
with each one
 It involves adding features incrementally and making changes and refinements according to
feedback. In other words, the work can easily adapt to the changing requirements based on
new feedback received from the client.
 The ASD approach encourages teams to develop according to a three-phase
process: speculate, collaborate, learn.
 Adaptive process model is a modified approach of XP model, which is most widely practiced
model among agile models. The main phases of XP model are planning, design, coding and
testing.
 The main phases of adaptive model are Project Planning, Analysis and Risk Management,
Design & Development and Testing.
 Characteristics of Adaptive Software Development : Adaptive Software Development (ASD) has
6 basic characteristics they are : ...
 Mission Driven
 Feature Based
 Iterative
 Time Boxed
 Risk Driven
 Change Tolerant
 Advantages of Adaptive Software Development :
 Agile promotes adaptive planning, evolutionary growth, early delivery, and continual
improvement
 Agile embraces adaptive planning, development that evolves over time, early delivery (i.e.,
incremental small deliverables or features), continuous improvement, and encourages rapid
response, adoption and adaptation to change.
3 Summarize Dynamic System Development Method 16 CO3 U
 DSDM is an Agile method that focuses on the full project lifecycle, DSDM (formally known as
Dynamic System Development Method) was created in 1994, after project managers using RAD
(Rapid Application Development) sought more governance and discipline to this new iterative
way of working.
 DSDM’s strengths include:
1. Basic product functionality can be delivered rapidly
2. Developers have easy access to end-users
3. Projects are reliably completed on time
 DSDM’s weaknesses include:
1. Can represent a dramatic and disruptive change in company culture
2. Costly to implement
3. Not ideal for small organizations
 Principle 1 – Focus on the Business Need
Every decision taken during a project should be viewed in the light of the overarching project
goal – to deliver what the business needs to be delivered, when it needs to be delivered.
 Principle 2 – Deliver on Time
Delivering a solution on time is a very desirable outcome for a project and is quite often the
single most important success factor.
 Principle 3 – Collaborate
Collaboration encourages increased understanding, greater speed and shared ownership,
which enable teams to perform at a level that exceeds the sum of their parts.
 Principle 4 – Never Compromise Quality
In DSDM, the level of quality to be delivered is agreed at the start. All work should aim to
achieve that level of quality – no more and no less.
 Principle 5 – Build Incrementally from Firm Foundations
DSDM advocates understanding the scope of the business problem to be solved and the
proposed solution first, but not in such detail that the project becomes paralysed by overly
detailed analysis of requirements.
 Principle 6 – Develop Iteratively
DSDM uses a combination of Iterative and Incremental Development, frequent demonstrations
and comprehensive review to encourage timely feedback. Embracing change as part of this
evolutionary process allows the team to converge on an accurate business solution.
 Principle 7 – Communicate Continuously and Clearly
Poor communication is often cited as the biggest single cause of project failure.
DSDM practices are specifically designed to improve communication effectiveness for both
teams and individuals.
 Principle 8 – Demonstrate Control
The use of well-defined Timeboxes, with constant review points, and the preparation of the
Management Foundations and Timebox Plans, are designed to assist the Project Manager and
the rest of the project team to follow this principle.
4 Analyze Scrum ,a software Development process with its
16 CO3 U
advantages and disadvantages
 Scrum is an agile development methodology used in the development of Software based on an
iterative and incremental processes. Scrum is adaptable, fast, flexible and effective agile
framework that is designed to deliver value to the customer throughout the development of the
project.
 The term Scrum is borrowed from rugby, where a Scrum is the huddle the team forms on the
field during the game to call plays and make strategic decisions. Scrum can be used by anyone
who needs to produce an end product, such as a webpage, a software program, or even a
construction project.
 The six principles are:
1. Control over the empirical process. In Scrum, the empirical process is based on observation of
hard evidence and experimentation rather than theory. ...
2. Self-organization.
3. Collaboration.
4. Value-based prioritization.
5. Time-boxing.
6. Iterative development.
7. Product Owner.
8. Scrum Master.
 5 Key Characteristics Of Agile And Scrum Methodology
1. Better Visibility.
2. High Transparency.
3. Allows Early Identification And Easy Resolution Of The Issues.
4. Exceptional Quality.
5. Inexpensive with continuous integration and Iterative releases.
 The three pillars of empiricism at the base of the Scrum framework are:
1. transparency,
2. inspection,
3. adaptation.
 Quicker release of useable product to users and customers. Higher quality. Higher productivity.
Lower costs.
 Scrum encourages active Product Owner and stakeholder involvement throughout the
development of a product. Transparency is therefore much higher, both around progress and of
the state of the product itself, which in turn helps to ensure that expectations are effectively
managed.
5 Explain FDD and Agile Modelling in detail 16 CO3 U
 Feature-driven development (FDD) is an iterative and incremental software development
process. It is a lightweight or Agile method for developing software. FDD blends a number of
industry-recognized best practices into a cohesive whole.
 FDD stands for Feature-Driven Development. It is an agile iterative and incremental model that
focuses on progressing the features of the developing software. The main motive os feature-
driven development is to provide timely updated and working software to the client.
 The best practices that make up FDD are:
1. Domain Object Modeling.
2. Developing by Feature.
3. Individual Class (Code) Ownership.
4. Feature Teams.
5. Inspections.
6. Regular Builds.
7. Configuration Management.
8. Reporting/Visibility of Results
 It is proven technology for voice traffic. It is designed for symmetric traffic and do not require
guard time like TDD.
 It uses paired spectrum on continuous basis for both the directions and hence it can achieve
higher rates for similar distances as TDD system.
 Agile modeling (AM) is a methodology for modeling and documenting software systems based
on best practices. It is a collection of values and principles, that can be applied on an (agile)
software development project.
 The Agile methodology is a way to manage a project by breaking it up into several phases. It
involves constant collaboration with stakeholders and continuous improvement at every stage.
Once the work begins, teams cycle through a process of planning, executing, and evaluating
 The five values of Agile Modeling (AM) are:
1. Communication. Models promote communication between your team and your stakeholders as
well as between developers on your team.
2. Simplicity.
3. Feedback.
4. Courage.
5. Humility
 The four core values of Agile software development as stated by the Agile Manifesto are:
1. individuals and interactions over processes and tools;
2. working software over comprehensive documentation;
3. Customer collaboration over contract negotiation; and.
4. Responding to change over following a plan.
 The primary goal of a good Agile Modeling model is to improve communication and
comprehension across the entire team
 The agile framework that provides a clear process for complex projects in a changeable world.
The core of scrum is simple - the three pillars: transparency, inspection and adaptation
6 Describe the Core principles of Agile Modelling 16 CO3 U
 Agile Modeling (AM) is a collection of values, principles, and practices for modeling software
that can be applied on a software development project in an effective and lightweight manner.
Agile Modeling Core Principles:
 The primary goal of a good Agile Modelling model is to improve communication and
comprehension across the entire team
 The agile model allows to change the requirements after the development process starts, so it is
more flexible. The waterfall model is rigid, it does not allow to change requirements after the
development process starts.
 Model with a Purpose. Many developers worry about their work when they are creating models.
1. Assume Simplicity.
2. Embrace Change.
3. Enabling the Next Effort is Your Secondary Goal.
4. Incremental Change.
5. Maximize Stakeholder Investment.
6. Multiple Models.
7. Quality Work
 The Four Values of The Agile Manifesto
1. Individuals and Interactions Over Processes and Tools. ...
2. Working Software over Comprehensive Documentation. ...
3. Customer Collaboration Over Contract Negotiation. ...
4. Responding to Change Over Following a Plan
 Agile teams are known to be highly efficient at getting work done. Because Agile teams share a
collaborative culture, efficiencies tend to have a ripple effect. Look for an Agile solutions
provides insights into delivery trends to remove bottlenecks and adapt workflow processes for
improved productivity.
 The main difference is that Waterfall is a linear system of working that requires the team to
complete each project phase before moving on to the next one, while Agile encourages the
team to work simultaneously on different phases of the project.
 The key difference between Agile and Scrum is that while Agile is a project management
philosophy that utilizes a core set of values or principles, Scrum is a specific Agile methodology
that is used to facilitate a project
 Scrum is a subset of Agile and one of the most popular process frameworks for implementing
Agile. It is an iterative software development model used to manage complex software and
product development.
7 Explain System Modelling with its factors 16 CO3 U
 System modeling is the process of developing abstract models of a system, with each model
presenting a different view or perspective of that system.
 It is about representing a system using some kind of graphical notation, which is now almost
always based on notations in the Unified Modeling Language
 System models are specifically developed to support analysis, specification, design, verification,
and validation of a system, as well as to communicate certain information
The type and size of the software, the experience of use for reference to predecessors, difficulty
level to obtain users' needs, development techniques and tools, the situation of the
development team, development risks, the software development methods should be kept in
mind
 Factors to be considered during system modeling
1. A Simple Learning
2. Requirements Analysis and specification:
3. 01-What is Requirement Engineering.
4. Requirement-Engineering Phases.
5. 02-Feasibility Study.
6. 03 Requirement Elicitation And Analysis.
7. 04-Validation- And- Specification.
8. 05-System-Modelling.
9. 06-System-Simulation.
 Types of systems modeling
1. Functional modeling.
2. Systems architecture.
3. Business process modeling.
4. Enterprise modeling.
 The System Modeling Tool typically addresses a subset of the total requirements depending on
the scope of the model. As a result, the System Modeling Tool can be used to propose updates
to the requirements baseline, but they are formally updated and controlled in the Requirements
Management Tool.
 Model types
1. Data processing model showing how the data is processed at different stages.
2. Composition model showing how entities are composed of other entities.
3. Architectural model showing principal sub-systems.
4. Classification model showing how entities have common characteristics.
 Types Of Model :
1. Physical model: Physical models are the most explicit way in which to describe a system; they
capture the hardware composition of a system in terms of the computers (and other devices,
such as mobile phones) and their interconnecting networks.
2. Architectural models: Architectural models describe a system in terms of the computational and
communication tasks performed by its computational elements; the computational elements
being individual computers or aggregates of them supported by appropriate network
interconnections.
3. Fundamental model: Fundamental models take an abstract perspective in order to examine
individual aspects of a distributed system. In this chapter we introduce fundamental models that
examine three important aspects of distributed systems: interaction models, which consider the
structure and sequencing of the communication between the elements of the system; failure
models, which consider the ways in which a system may fail to operate correctly and; security
models, which consider how the system is protected against attempts to interfere with its correct
operation or to steal its data.
8 Illustrate Agile Model with Communication, Planning, Modelling,
16 CO3 U
Construction and Deployment.
 Agile Methodology meaning a practice that promotes continuous iteration of development and testing throughout the
software development lifecycle of the project. In the Agile model in software testing, both development and testing
activities are concurrent, unlike the Waterfall model.
 The three stages of agile teams with practical tips on how you can get your team to the ultimate goal – being cross-
functional, self-sufficient, innovative and proactively improving.
 The workflow of an Agile iteration will typically consist of five steps:
1. Plan requirements.
2. Develop product.
3. Test software.
4. Deliver iteration.
5. Incorporate feedback.
 Agile Communication Techniques for Digital Workplace
1. Osmotic Communications.
2. Active Listening.
3. Social Media Based.
4. Two-Way Communication.
5. Feedback Methods.
 The three stages of agile teams with practical tips on how you can get your team to the ultimate goal – being cross-
functional, self-sufficient, innovative and proactively improving.
 Agile Modeling Core Principles:
1. Model with a Purpose. Many developers worry about their work when they are creating models. ...
2. Assume Simplicity. ...
3. Embrace Change. ...
4. Enabling the Next Effort is Your Secondary Goal. ...
5. Incremental Change. ...
6. Maximize Stakeholder Investment. ...
7. Multiple Models. ...
8. Quality Work.
 Agile construction is a method or style of building that can quickly adapt to changes in delivery or designs. The
method reduces the time between identification of a problem and resolving the problem.
 For a change to be automatically deployed, it would have to pass all tests in the CI and CD stages. Continuous
deployment requires advanced testing automation and an acceptance of bugs in the production version. Continuous
deployment benefits from incremental rollouts, which can be rolled back if an error occurs
9 Explain UML with Object Oriented Concepts 16 CO3 U
 UML (Unified Modeling Language) is a standard notation for the modeling of real-world objects
as a first step in developing an object-oriented design methodology.
 The Unified Modeling Language (UML) is a general-purpose, developmental, modeling
language in the field of software engineering that is intended to provide a standard way to
visualize the design of a system.
 UML diagram is used to analyze existing software, model new software, and plan software
development and prioritization. Simply put, if you need a way to visualize and plan your
software development process, a UML diagram is incredibly helpful.
 UML can be described as the successor of object-oriented (OO) analysis and design. An object
contains both data and methods that control the data. The data represents the state of the
object. A class describes an object and they also form a hierarchy to model the real-world
system.
 (UML) is a graphical language for OOAD that gives a standard way to write a software system's
blueprint. It helps to visualize, specify, construct, and document the artifacts of an object-
oriented system. It is used to depict the structures and the relationships in a complex system
 Advantages of UML
1. Most-Used and Flexible.
2. The Software Architecture Must Be Communicated Effectively.
3. You Need to Know Only a Fraction of the Language to Use It.
4. Abundance of UML Tools.
5. Formal Notation is Not Necessary.
6. Ascending Degree of Complexity.
7. Not Necessary in 'Architecture-Indifferent Design'
 Characteristics of UML
1. It is a generalized modeling language.
2. It is distinct from other programming languages like C++, Python, etc.
3. It is interrelated to object-oriented analysis and design.
4. It is used to visualize the workflow of the system.
5. It is a pictorial language, used to generate powerful modeling artifacts
 Object-oriented programming (OOP) is a computer programming model that organizes software
design around data, or objects, rather than functions and logic. An object can be defined as a
data field that has unique attributes and behavior.
 OOP concepts include abstraction, encapsulation, inheritance and polymorphism.
 Advantages of Object-Oriented Programming
1. Modularity for easier troubleshooting. When working with object-oriented programming
languages, you know exactly where to look when something goes wrong. .
2. Reuse of code through inheritance.
3. Flexibility through polymorphism.
4. Effective problem solving.
10 What are the key principles of Structural UML when building an
16 CO3 U
object-oriented software system?
 UML Structural Diagrams depict the elements of a system that are independent of time and that
convey the concepts of a system and how they relate to each other.
 The choice of what models to create has a profound influence on how a problem is attacked
and how a solution is shaped. We need to choose your models well. The right models will
highlight the most critical development problems
 Structural model represents the framework for the system and this framework is the place
where all other components exist. Hence, the class diagram, component diagram and
deployment diagrams are part of structural modeling. They all represent the elements and the
mechanism to assemble them.
 The four new diagrams are called: communication diagram, composite structure diagram,
interaction overview diagram, and timing diagram.
 Principles of UML Modeling
1. The choice of model is important. The choice of what models to create has a profound influence on
how a problem is attacked and how a solution is shaped. ...
2. Every model may be expressed at different levels of precision. ...
3. The best models are connected to reality. ...
4. No single model is sufficient.
5. Principle 1: Design should be traceable to the requirements model.
6. Principle 2: Always consider the architecture of the system to be built.
7. Principle 3: Design of data is as important as design of processing.
8. Principle 4: Interfaces must be designed.
 The UML is a language for

1. Visualizing
2. Specifying
3. Constructing
4. Documenting the artifacts of a software intensive system.
 UML diagrams can be used as a way to visualize a project before it takes place or as
documentation for a project afterward. But the overall goal of UML diagrams is to allow teams to
visualize how a project is or will be working, and they can be used in any field, not just software
engineering.
 Types of UML Diagrams
1. Class diagram.
2. Package diagram.
3. Object diagram.
4. Component diagram.
5. Composite structure diagram.
6. Deployment diagram.

Subject Incharge Course Coordinator HOD IQAC


(Name & Signature) (Name & Signature)

You might also like