Jan 21
Jan 21
c) Define Scrum.
Scrum is a framework for project management that emphasizes teamwork, accountability and iterative progress
toward a well-defined goal. The framework begins with a simple premise: Start with what can be seen or known.
After that, track the progress and tweak as necessary.
d) Define quality assurance ?
Quality assurance can be defined as "part of quality management focused on providing confidence
that quality requirements will be fulfilled." The confidence provided by quality assurance is twofold—
internally to management and externally to customers, government agencies, regulators, certifiers, and third
parties.
e) Write about negotiating requirements.
Validation and negotiation during requirements engineering is meant to ensure that the
documented requirements meet the predetermined quality criteria, such as correctness and agreement
f) What is Usecase scenario?
A use case represents the actions that are required to enable or abandon a goal. A use case has multiple “paths”
that can be taken by any user at any one time. A use case scenario is a single path through the use case.
g) How to create good software.
Good design relies on a combination of high-level systems thinking and low-level component knowledge. In
modern software design, best practice revolves around creating modular components that you can call and
deploy as needed.
h) Define Component.
component provides a particular function or group of related functions.
i) What is abstraction
Abstraction is one of the fundamental concepts of software engineering. It is all about hiding complexity in
building various parts of your application.
j) Define LOC..
lines of code (SLOC), also known as lines of code (LOC), is a software metric used to measure the size of a
computer program by counting the number of lines in the text of the program's source code.
Part - B
2 Explain the following process models and also write their advantages and disadvantages 1
i) Spiral model
Definition: The spiral model is similar to the incremental development for a system, with more
emphasis placed on risk analysis. The spiral model has four phases: Planning, Design, Construct and
Evaluation. A software project repeatedly passes through these phases in iterations (called Spirals in
this model).
Description: These phases are - Planning: This phase starts with the gathering of business
requirements. In the subsequent spirals as the product matures, identification of system requirements
and unit requirements are done in this phase. This also includes understanding of system
requirements by continual communication between the customer and the analyst. At the end of the
spiral the product is deployed.
ii) Rapid application development model
Definition: The Rapid Application Development (or RAD) model is based on prototyping and
iterative model with no (or less) specific planning. In general, RAD approach to software
development means putting lesser emphasis on planning tasks and more emphasis on development
and coming up with a prototype. In disparity to the waterfall model, which emphasizes meticulous
specification and planning, the RAD approach means building on continuously evolving
requirements, as more and more learnings are drawn as the development progresses.
Description: RAD puts clear focus on prototyping, which acts as an alternative to design
specifications. This means that RAD works well wherever there's a greater focus on user interface
rather than non-GUI programs. The RAD model includes agile method and spiral model.
1. Business modeling: The information flow is identified between different business functions.
2. Data modeling: Information collected from business modeling is used to define data objects that
are required for the business.
3. Process modeling: Data objects defined in data modeling are converted to establish the business
information flow to achieve some specific business objective process descriptions for adding,
deleting, modifying data objects that are given.
4. Application generation: The actual system is created and coding is done by using automation
tools. This converts the overall concept, process and related information into actual desired output.
This output is called a prototype as it’s still half-baked.
5. Testing and turnover: The overall testing cycle time is reduced in the RAD model as the
prototypes are independently tested during every cycle.
4
a) Explain analysis modelling and design modelling principles
Analysis Model is a technical representation of the system. It acts as a link between system
description and design model. In Analysis Modelling, information, behavior and functions of the
system is defined and translated into the architecture, component and interface level design in the
design modeling.
A design model in software engineering is an object-based picture or pictures that represent the
use cases for a system. Or to put it another way, it's the means to describe a system's implementation
and source code in a diagrammatic fashion. This type of representation has a couple of advantages.
5M
b) Discuss about eliciting requirements 5M
The work product created as a result of requirement elicitation that is depending on the size of the system
or product to be built. The work product consists of a statement need, feasibility, statement scope for the
system. It also consists of a list of users participate in the requirement elicitation.
Some of the requirement elicitation techniques are as follows.
• Document analysis.
• Observation.
• Interview.
• Prototyping.
• Brainstorming.
• Workshop.
• JAD (Joint Application Development)
• Reverse engineering
. Types of Testing:-
• Unit Testing. It focuses on the smallest unit of software design. ...
• Integration Testing. The objective is to take unit tested components and build a program structure that
has been dictated by design. ...
• Regression Testing. ...
• Smoke Testing. ...
• Alpha Testing. ...
• Beta Testing. ...
• System Testing. ...
• Stress Testing.
Well suited and efficient for large code segments. Limited coverage, since only a
selected number of test scenarios is
actually performed.
Code access is not required. Inefficient testing, due to the fact that
the tester only has limited
knowledge about an application.
Clearly separates user's perspective from the Blind coverage, since the tester
developer's perspective through visibly defined cannot target specific code
roles. segments or errorprone areas.
Large numbers of moderately skilled testers can The test cases are difficult to design.
test the application with no knowledge of
implementation, programming language, or
operating systems.