Software Engineering Previous Year Notes | PDF | Software Testing | Software Bug
0% found this document useful (0 votes)
24 views

Software Engineering Previous Year Notes

1) A software life cycle model represents the methods required for a software product to transition through its life cycle stages. 2) A test case specifies inputs, execution conditions, testing procedures, and expected results for a single test. 3) The spiral model is called the "metamodel" because it encompasses other software development lifecycles.

Uploaded by

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

Software Engineering Previous Year Notes

1) A software life cycle model represents the methods required for a software product to transition through its life cycle stages. 2) A test case specifies inputs, execution conditions, testing procedures, and expected results for a single test. 3) The spiral model is called the "metamodel" because it encompasses other software development lifecycles.

Uploaded by

bosed0737
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 33

2 MARKS

Impor
tant
1) What do you mean by software
life cycle
ANS: A
Q+A model
software life cycle model (also
termed process model) is a pictorial
and diagrammatic representation of the software life cycle. A life cycle
model represents all the methods required to make a software
product transit through its life cycle stages.
2) What do you mean by test case ?
ANS: test case is a specification of the inputs, execution conditions,
testing procedure, and expected results that define a single test to be
executed to achieve a particular software testing objective

3) Which model is known as meta model and


ANS: The spiral model is called the metamodel” because it
encompasses other software development lifecycles
4) What is software re-engineering ?
ANS: Re-engineering, also known as reverse engineering or software
re-engineering, is the process of analyzing, designing, and
modifying existing software systems to improve their quality,
performance, and maintainability
5) What do you mean by test suite?
ANS: Test suite is a container that has a set of tests which helps
testers in executing and reporting the test execution status.

6) What is the difference between Software product


program ?
7) Define control flow graph(CFG)
A Control Flow Graph (CFG) is the graphical representation of control
flow or computation during the execution of programs or applications
8) What is the difference between verification and
validation ?
Verification Validation

It includes checking documents, design, It includes testing and validating the


codes and programs. actual product.

Verification is the static testing. Validation is the dynamic testing.

It does not include the execution of the


It includes the execution of the code.
code.

Methods used in verification are Methods used in validation are Black


reviews, walkthroughs, inspections and Box Testing, White Box Testing and
desk-checking. non-functional testing.

It checks whether the software meets the


It checks whether the software conforms
requirements and expectations of a
to specifications or not.
customer or not.

It can find the bugs in the early stage of It can only find the bugs that could not
the development. be found by the verification process.

The goal of verification is application


The goal of validation is an actual
and software architecture and
product.
specification.

Quality assurance team does Validation is executed on software code


verification. with the help of testing team.

It comes before validation. It comes after verification.

It consists of checking of
It consists of execution of program and is
documents/files and is performed by
performed by computer.
human.
Verification Validation

After a valid and complete specification Validation begins as soon as project


the verification starts. starts.

Verification is for prevention of errors. Validation is for detection of errors.

Verification finds about 50 to 60% of Validation finds about 20 to 30% of the


the defects. defects.

Verification is about process, standard


Validation is about the product.
and guideline.

9) Give the full form of the term PERT and SPMP


Project Evaluation and Review Technique (PERT)
Software Project Management Plan (SPMP)
10) What do you mean by debugging ?
Debugging is the process of finding and fixing errors or bugs in
the source code of any software. When software does not work
as expected, computer programmers study the code to
determine why any errors occurred.
11) Define the term software reliability ?
software reliability can be defined as the probability of failure-free
operation of a computer program in a specified environment for a
specified time.
12) What is Gantt Chart?
A Gantt chart is a project management tool that illustrates work
completed over a period of time in relation to the time planned for
the work
13) What is MTBF(Mean time betweeen failure)?
MTBF (mean time between failures) is the average time between
repairable failures of a technology product. The metric is used to
track both the availability and reliability of a product.
14) What do you mean by Break Even Analysis?
Break-even analysis tells you how many units of a product must
be sold to cover the fixed and variable costs of production
15) What do you mean by PM(Person Month) ?
A person-month is a metric used to express the amount of time
devoted to a project and is based on appointment type, usually
calendar year (CY), academic year (AY) and summer (SM)
16) What do you mean by Perfective maintenance ?
Perfective Maintenance means Modification of a software product
after delivery to improve per- formance or maintainability
17) What is smoke testing ?
Smoke testing, also called build verification testing or confidence
testing, is a software testing method that is used to determine if a new
software build is ready for the next testing phase. This testing method
determines if the most crucial functions of a program work but does
not delve into finer details.
18) What parameter is checked in regression testing ?
19) Explain the concept of Modularization.
Modularization: Modularization is the process of dividing a software
system into multiple independent modules where each module works
independently. There are many advantages of Modularization in software
engineering. Some of these are given below:
 Easy to understand the system.
 System maintenance is easy.
 A module can be used many times as their requirements. No
need to write it again and again

20) What is function point and who proposed it ?


Function Point Analysis is a standardized method used
commonly as an estimation technique in software engineering.
First defined by Allan J. Albrecht in 1979 at IBM
21) Why maintenance of software is necessary ?
it improves the reliability and stability of software products
22) Difference between Open system and Closed system.

23)

What are the advantages of HIPO chart ?


HIPO stands for Hierarchical Input Process Output. HIPO diagram
assesses the system and facilitates documentation. It organizes the
software system's modules into a hierarchy. HIPO diagrams can be
used to get a high-level picture of the system's functions
Advantages of HIPO
1. Offer more detail than other types of documentation.
2. Each module's input and output are properly labeled.
3. Can be used to quickly determine what modules call the
module under investigation.

24) What are coding standards ?


Coding standards are a set of guidelines and best practices that
are used to create consistent, high-quality code
25) What is documentation?
Software documentation is written text or illustration that
accompanies computer software or is embedded in the source
code. The documentation either explains how the software
operates or how to use it
26) What is acceptance testing?
Acceptance testing confirms the software's stability and checks
for flaws. Acceptance testing includes the following phases: plan,
test, record, compare and result
27) What is FPA ?
Function Point Analysis is a technique used to measure software
requirements based on the different functions that the
requirement can be split into
28) Which ISO no. is associated with software
engineering ?
ISO/IEC 90003:2014 - Software engineering — Guidelines for
the application of ISO 9001:2008 to computer software
29) What system up gradation ?
A software update is typically a release containing
enhancements to the current version. An upgrade is a whole
new version of software that represents a significant change
or major improvement.
30) What is software crisis? Was Y2K a software crisis?
The software crisis was due to using the same workforce, same methods,
and same tools even though rapidly increasing software demand, the
complexity of software, and software challenges

Y2K was both a software and hardware problem


31) Why is it necessary to identify risk during the software
development life cycle ?
Enhances software quality: Risk assessment helps to detect
potential functional or performance issues that may impact
software quality
32) How is evolutionary prototyping different from throw-
away prototyping ?
Where a throwaway prototype is used to test specific ideas or answer
certain questions about a design concept, an evolutionary prototype
is designed to be built upon as the project moves towards its final
form.
33) Write the role of project manager.
Project managers in software organize software projects and can
assign tasks to software engineering teams according to the
specifications of a task
34) Describe the rapid application development(RAD)
model. Done in copy
35) Distinguish between test driver and test stubs.

S.No. Stubs Drivers

Stubs are used in Top-Down Drivers are used in Bottom-Up


1.
Integration Testing. Integration Testing.
S.No. Stubs Drivers

Stubs are basically known as a “called While, drivers are the “calling
2. programs” and are used in the Top- program” and are used in bottom-up
down integration testing. integration testing.

Stubs are similar to the modules of the


While drivers are used to invoking the
3. software, that are under development
component that needs to be tested.
process.

While drivers are mainly used in


Stubs are basically used in the place of high-level modules and in
4.
unavailability of low-level modules. some situation as well as for low-
level modules.

Stubs are taken into use to test the Whereas the drivers are used if the
5. feature and functionality of the main module of the software isn’t
modules. developed for testing.

The drivers are taken into concern if


The stubs are taken into concern if
testing of lower-levels of the modules
testing of upper-levels of the modules
6. are done and the upper-levels of the
are done and the lower-levels of the
modules are under developing
modules are under developing process.
process.

Stubs are used when lower-level of Drivers are used when higher-level of
modules are missing or in a partially modules are missing or in a partially
7.
developed phase, and we want to test developed phase, and we want to test
the main module. the lower(sub)- module

36) What is productivity? How is it related to effort?


the ratio between the functional value of software produced to
the labour and expense of producing it.
As discussed, for measuring software productivity we need a
measurement of input and output of a software project. The input
is the effort dedicated to its development and evolution.
37) What are the techniques available for software
maintenance ?
There are four types of software maintenance:
 Corrective Software Maintenance.
 Adaptive Software Maintenance.
 Perfective Software Maintenance.
 Preventive Software Maintenance

38) What is the cyclomatic complexity of a module that has


17 edges and 13 nodes ?
The cyclomatic complexity of a module that has seventeen edges and thirteen nodes =
E–N+2

E = Number of edges, N = Number of nodes

Cyclomatic complexity = 17 – 13 + 2 = 6

39) Define the term WBS(Work Breakdown Structure)?


A work breakdown structure (WBS) is a project management tool
that takes a step-by-step approach to complete large projects
with several moving pieces.
40) What is the limitation of spiral model?
High cost - The spiral model is expensive and, therefore, is not
suitable for small projects

41) Explain the concept of Data Flow Diagram ?


DFD is the abbreviation for Data Flow Diagram.
The flow of data of a system or a process is represented by DFD. It also
gives insight into the inputs and outputs of each entity and the process
itself. DFD does not have control flow and no loops or decision rules are
present
It provides an overview of
 What data is system processes.
 What transformation are performed.
 What data are stored.
 What results are produced , etc.
Data Flow Diagram can be represented in several ways. The DFD belongs to
structured-analysis modeling tools

Characteristics of DFD
 DFDs are commonly used during problem analysis.
 DFDs are quite general and are not limited to problem analysis for
software requirements specification.
 DFDs are very useful in understanding a system and can be
effectively used during analysis.
 It views a system as a function that transforms the inputs into desired
outputs.
 The DFD aims to capture the transformations that take place within a
system to the input data so that eventually the output data is
produced.
 The processes are shown by named circles and data flows are
represented by named arrows entering or leaving the bubbles.
 A rectangle represents a source or sink and it is a net originator or
consumer of data. A source sink is typically outside the main system
of study.

Rules for creating DFD


 The name of the entity should be easy and understandable without
any extra assistance(like comments).
 The processes should be numbered or put in ordered list to be
referred easily.
 The DFD should maintain consistency across all the DFD levels.
 A single DFD can have a maximum of nine processes and a
minimum of three processes.

Advantages of DFD
 It helps us to understand the functioning and the limits of a system.
 It is a graphical representation which is very easy to understand as it
helps visualize contents.
 Data Flow Diagram represent detailed and well explained diagram of
system components.
 It is used as the part of system documentation file.
 Data Flow Diagrams can be understood by both technical or
nontechnical person because they are very easy to understand.

42) Explain the Halstead theory of software science ?


Halstead’s Software metrics are a set of measures proposed by Maurice
Halstead to evaluate the complexity of a software program. These metrics
are based on the number of distinct operators and operands in the program
and are used to estimate the effort required to develop and maintain the
program.

Field of Halstead Metrics


 Program length (N): This is the total number of operator and
operand occurrences in the program.
 Vocabulary size (n): This is the total number of distinct operators
and operands in the program.
 Program volume (V): This is the product of program length (N) and
the logarithm of vocabulary size (n), i.e., V = N*log2(n).
 Program level (L): This is the ratio of the number of operator
occurrences to the number of operand occurrences in the program,
i.e., L = n1/n2, where n1 is the number of operator occurrences and
n2 is the number of operand occurrences.
 Program difficulty (D): This is the ratio of the number of unique
operators to the total number of operators in the program, i.e., D =
(n1/2) * (N2/n2).
 Program effort (E): This is the product of program volume (V) and
program difficulty (D), i.e., E = V*D.
 Time to implement (T): This is the estimated time required to
implement the program, based on the program effort (E) and a
constant value that depends on the programming language and
development environment.

Advantages of Halstead Metrics


 It is simple to calculate.
 It measures the overall quality of the programs.
 It predicts the rate of error.
 It predicts maintenance effort.
 It does not require a full analysis of the programming structure.
 It is useful in scheduling and reporting projects.
 It can be used for any programming language.
 Easy to use: The metrics are simple and easy to understand and can
be calculated quickly using automated tools.
 Quantitative measure: The metrics provide a quantitative measure of
the complexity and effort required to develop and maintain a
software program, which can be useful for project planning and
estimation.
 Language independent: The metrics can be used for different
programming languages and development environments.
 Standardization: The metrics provide a standardized way to compare
and evaluate different software programs

1. What is Halstead’s Effort?


Answer:
It is simply a series of metrics that are used to determine the necessary efforts
required for maintaining a program.
2. How we can calculate Halstead’s metrics?
Answer:
Halstead Length: N = N1+N2
Halstead Calculated Length (Nx): Nx = N1 * log2(n1) + n2* log2(n2)
Halstead Volume(V): V = N*log2(n)
Halstead Effort(E): E=V*D

43) What is the Agile software development model?


The Agile software development cycle relies on iterations -- or single
development cycles -- that build upon each other and lead into the
next step of the overall development process until the project is
completed

44) What are the advantages and disadvantages of Classical


Waterfall Model ?
Advantages of the Classical Waterfall Model
The classical waterfall model is an idealistic model for software development.
It is very simple, so it can be considered the basis for other software
development life cycle models. Below are some of the major advantages of
this SDLC model.
 Easy to Understand: Classical Waterfall Model is very simple and
easy to understand.
 Individual Processing: Phases in the Classical Waterfall model are
processed one at a time.
 Properly Defined: In the classical waterfall model, each stage in the
model is clearly defined.
 Clear Milestones: Classical Waterfall model has very clear and well-
understood milestones.
 Properly Documented: Processes, actions, and results are very well
documented.
 Reinforces Good Habits: Classical Waterfall Model reinforces good
habits like define-before-design and design-before-code.
 Working: Classical Waterfall Model works well for smaller projects
and projects where requirements are well understood.

Disadvantages of the Classical Waterfall Model


The Classical Waterfall Model suffers from various shortcomings, basically,
we can’t use it in real projects, but we use other software development
lifecycle models which are based on the classical waterfall model. Below are
some major drawbacks of this model.
 No Feedback Path: In the classical waterfall model evolution of
software from one phase to another phase is like a waterfall. It
assumes that no error is ever committed by developers during any
phase. Therefore, it does not incorporate any mechanism for error
correction.
 Difficult to accommodate Change Requests: This model assumes
that all the customer requirements can be completely and correctly
defined at the beginning of the project, but actually customer’s
requirements keep on changing with time. It is difficult to
accommodate any change requests after the requirements
specification phase is complete.
 No Overlapping of Phases: This model recommends that a new
phase can start only after the completion of the previous phase. But
in real projects, this can’t be maintained. To increase efficiency and
reduce cost, phases may overlap.
 Limited Flexibility: The Waterfall Model is a rigid and linear
approach to software development, which means that it is not well-
suited for projects with changing or uncertain requirements. Once a
phase has been completed, it is difficult to make changes or go back
to a previous phase.
 Limited Stakeholder Involvement: The Waterfall Model is a
structured and sequential approach, which means that stakeholders
are typically involved in the early phases of the project (requirements
gathering and analysis) but may not be involved in the later
phases (implementation, testing, and deployment).
 Late Defect Detection: In the Waterfall Model, testing is typically
done toward the end of the development process. This means that
defects may not be discovered until late in the development process,
which can be expensive and time-consuming to fix.
 Lengthy Development Cycle: The Waterfall Model can result in a
lengthy development cycle, as each phase must be completed before
moving on to the next. This can result in delays and increased costs if
requirements change or new issues arise.
 Not Suitable for Complex Projects: The Waterfall Model is not
well-suited for complex projects, as the linear and sequential nature
of the model can make it difficult to manage multiple dependencies
and interrelated components.

When to Use the Classical Waterfall Model


 Only well-defined, unambiguous, and fixed requirements are
employed with this paradigm.
 The definition of a product is constant.
 People understand technology.
 There are no unclear prerequisites.
 There are many resources with the necessary knowledge readily
available.
 When it’s a brief project.

. What is the difference between Waterfall Model and Agile Model?


Answer:
The main difference between the Waterfall Model and the Agile Model is that
the Waterfall model relies on thorough-up front planning whereas the Agile
model is more flexible as it takes these processes in repeating cycles.
2. What are the benefits of the Waterfall Model?
Answer:
The waterfall Model has several benefits as it helps projects keep a well-
defined, predictable project under the budget.

45) The testing of software against SRS is known as ….?


The testing of software against SRS is known as acceptance testing.
What does the term “computer software” mean?

Software for computers comes in a full bundle that contains not only the
actual programme but also its documentation and a user guide that explains
how to operate the software
Black box testing always focuses on which requirement of software?
Black box testing always focuses on the functional requirements of the software

5 Marks
1) State the difference between program and software.
Why have documents and documentation become very
important ?
Done in copy

Software documentation provides information about a


software program for everyone involved in its creation,
deployment and use. Documentation guides and records the
development process. Documentation increases the collective
knowledge of everyone that you work with
2) What do by understand by the term Software
Development Lifer Cycle(SDLC)? Why is it important to
adhere to a life cycle model while developing a large
software product?
The software development life cycle (SDLC) is a structured process that
is used to design, develop, and test good-quality software. SDLC, or
software development life cycle is a methodology. It is a process
followed for software building within a software organization. SDLC
consists of a precise plan that describes how to develop, maintain,
replace, and enhance specific software.

The software testing lifecycle is important because it helps to


ensure the quality and reliability of web applications. By identifying
and fixing any bugs or errors in the code, the testing process
enables developers to deliver high-quality software that meets
users' needs and expectations.

3) What is modularity? What are the effects of module


coupling and cohesion ?
Modularity refers to an organizing structure in which different
components of a software system are divided into separate
functional units

High coupling and low cohesion can make a system difficult to


change and test, while low coupling and high cohesion make a
system easier to maintain and improve Both coupling and cohesion
are important factors in determining the maintainability, scalability,
and reliability of a software system
4) What is the difference between Quality Assurance and
Quality Control ?

Quality Assurance
Parameters (QA) Quality Control (QC)

It focuses on providing
It focuses on fulfilling the
Objective assurance that the quality
quality requested.
requested will be achieved.

Technique It is the technique of It is the technique to verify


Quality Assurance
Parameters (QA) Quality Control (QC)

managing quality. quality.

Involved in which It is involved during the It is not included during


phase? development phase. the development phase.

Program execution It does not include the It always includes the


is included? execution of the program. execution of the program.

Type of tool It is a managerial tool. It is a corrective tool.

Process/ Product-
oriented
It is process oriented. It is product oriented.

The aim of quality The aim of quality control


Aim assurance is to prevent is to identify and improve
defects. the defects.

It is performed after the


It is performed before
Order of execution Quality Assurance activity
Quality Control.
is done.

Technique type It is a preventive technique. It is a corrective technique.

Measure type It is a proactive measure. It is a reactive measure.

It is responsible for the entire


It is responsible for the
SDLC/ STLC? software development life
software testing life cycle.
cycle.

QA is a low-level activity that It is a high-level activity that


Activity level identifies an error and mistakes identifies an error that QA
that QC cannot. cannot.

Pays main focus is on the Its primary focus is on final


Focus
intermediate process. products.
Quality Assurance
Parameters (QA) Quality Control (QC)

All team members of the Generally, the testing team of


Team
project are involved. the project is involved.

It aims to prevent defects in It aims to identify defects or


Aim
the system. bugs in the system.

It is a less time-consuming It is a more time-consuming


Time consumption
activity. activity.

Which statistical Statistical Process Control Statistical Quality Control


technique was (SPC) statistical technique is (SQC) statistical technique is
applied? applied to Quality Assurance. applied to Quality Control.

Example Verification Validation

5) What is concurrency and how it is achieved in


software?
Concurrency in software engineering means the collection of
techniques and mechanisms that enable a computer program to
perform several different tasks simultaneously, or apparently
simultaneously

allow I/O transfers to be performed concurrently with each other


and with normal computation (i.e., computation involving only the
central processor). To achieve this, new features needed to be
added to both hardware and software.
6) Distinguish between Alpha and Beta testing.
Alpha Testing Beta Testing

Alpha testing involves both


Beta testing commonly uses black-box
the white box and black box
testing.
testing.

Alpha testing is performed by


testers who are usually Beta testing is performed by clients who
internal employees of the are not part of the organization.
organization.

Alpha testing is performed at Beta testing is performed at the end-user


the developer’s site. of the product.

Reliability and security testing


Reliability, security and robustness are
are not checked in alpha
checked during beta testing.
testing.

Beta testing also concentrates on the


Alpha testing ensures the
quality of the product but collects users
quality of the product before
input on the product and ensures that the
forwarding to beta testing.
product is ready for real time users.

Alpha testing requires a Beta testing doesn’t require a testing


testing environment or a lab. environment or lab.

Alpha testing may require a Beta testing requires only a few weeks of
long execution cycle. execution.

Developers can immediately Most of the issues or feedback collected


address the critical issues or from the beta testing will be implemented
fixes in alpha testing. in future versions of the product.
Alpha Testing Beta Testing

Multiple test cycles are Only one or two test cycles are there in
organized in alpha testing. beta testing.

7) What is ripple effect? Discuss the various aspects of


ripple effect and how does it affect the stability of a
program.
Q. What is ripple effect? How does it affect the stability of a
program?
Ans. The ripple effect is a term used to explain a situation
where like the ever expanding ripples across water when an
object is dropped into it an effect from an initial state can be
followed outwards incrementally. Instances are able to be
found in economics where an individual's reduction in
spending reduces the incomes of others and their ability to
spend. In sociology it is able to be observed how social
interactions can affect situations not directly related to the
initial interaction and in charitable activities where information
can be disseminated and passed from community to
community to broaden its impact.
In software, the effect of a modification mayn't be local to the
modification but may as well affect other portions of the
program. There is a undulate effect from the location of the
modification to the other parts of the programs that are
affected by the modification. One characteristic of the ripple
effect concerns the performance of the program. The most
important attribute affecting the ripple effect as a consequence
of a program modification is the stability of the program.
Program stability is described as the resistance to the
amplification of changes in the program.

8) What is cyclomatic complexity ? Draw a flow graph to


find out the largest of three numbers and calculate its
cyclomatic complexity by all methods.
The cyclomatic complexity of a code section is the quantitative measure
of the number of linearly independent paths in it. It is a software metric
used to indicate the complexity of a program. It is computed using the
Control Flow Graph of the program. The nodes in the graph indicate the
smallest group of commands of a program, and a directed edge in it
connects the two nodes

Cyclomatic complexity = E - N + 2*P


where,
E = number of edges in the flow graph.
N = number of nodes in the flow graph.
P = number of nodes that have exit points

Example :
IF A = 10 THEN
IF B > C THEN
A = B
ELSE
A = C
ENDIF
ENDIF
Print A
Print B
Print C
FlowGraph:

The Cyclomatic complexity is calculated using the above control


flow diagram that shows seven nodes(shapes) and eight edges
(lines), hence the cyclomatic complexity is 8 - 7 + 2 = 3

9) Consider a program with number of unique operation


1=20 and number of unique operands 2 =40,
Compute the following:
i). Program volume (ii). Effort and time (iii). Program
length
(iv). Program level

10) Describe MTTF,MTTR & MTBF clearly.


MTBF provides better insights into your service desk's effectiveness at
preventing future disruptions.
MTTF helps you understand the lifecycle of an asset and its reliability.
MTTR indicates the time spent on repairing and how quickly your IT
teams are able to diagnose disruptions.

What is mean time between failures ?


MTBF (mean time between failures) is the average time between repairable failures of
a technology product. The metric is used to track both the availability and reliability
of a product. The higher the time between failure, the more reliable the system.

What is mean time to failure?


MTTF (mean time to failure) is the average time between non-repairable
failures of a technology product. For example, if Brand X’s car engines average
500,000 hours before they fail completely and have to be replaced, 500,000 would be
the engines’ MTTF.

What is mean time to repair?


MTTR (mean time to repair) is the average time it takes to repair a system
(usually technical or mechanical). It includes both the repair time and any testing
time. The clock doesn’t stop on this metric until the system is fully functional again.

11) Describe the difference types of coupling?


Done in copy
12) Write a short note on DFD. Compare DFD,
Flowchart and E-R diagram.
What is Data Flow Diagram (DFD)?
Data means information, flow means to move, and a diagram means a picture
to represent something. So, DFD is simply the graphical representation of the
flow of data or information. It is a framework or pattern of the data systems. It
includes data input, data output, and storing data. DFD describes the process
of taking the data as input, storing the data, and giving the data as output. DFD
describes the path of data that completes the process. There are mainly two
types of DFD: Physical Data Flow Diagram, and Logical Data Flow Diagram.
Example of DFD
 Lemonade Stand

DFD ERD

It stands for Entity Relationship Diagram or


It stands for Data Flow Diagram.
Model.

Main objective is to represent the


Main objective is to represent the data object
processes and data flow between
or entity and relationship between them.
them.

It explains the flow and process of


It explains and represent the relationship
data input, data output, and storing
between entities stored in a database.
data.

Symbols used in DFD are: rectangles


Symbols used in ERD are: rectangles
(represent the data entity), circles
(represent the entity), diamond boxes
(represent the process), arrows
(represent relationship), lines and standard
(represent the flow of data), ovals or
notations (represent cardinality).
parallel lines (represent data storing).

Rule followed by DFD is that at least


one data flow should be there Rule followed by ERD is that all entities
entering into and leaving the process must represent the set of similar things.
or store.

It model entities like people, objects, places


It models the flow of data through a
and events for which data is stored in a
system.
system.
Flow Chart Data Flow Diagram (DFD)

The main objective is to represent the The main objective is to represent the
flow of control in the program. processes and data flow between them.

It has only a single type of arrow is used


It defines the flow and process of data
to show the control flow in the flow
input, data output, and storing data.
chart.

It is the view of the system at a lower It is the view of the system at a high
level. level.

Three symbols represent a Flowchart. Five symbols represent a DFD

It deals with the physical aspect of the It deals with the logical aspect of the
action. action.

It shows how to make the system It defines the functionality of the


function. system.

It is not very suitable for a complex


It is used for complex systems.
system.

Flowchart types are System flowchart,


Data flowchart, DFD types are Logical DFD and
Document flowchart, and Program Physical DFD.
flowchart.

13) Describe the characteristics of good SRS


documents.
characteristics of a good Software Requirements Specification (SRS)
document include:
1. Complete: The SRS should include all the requirements for the
software system, including both functional and non-functional
requirements.
2. Consistent: The SRS should be consistent in its use of terminology
and formatting, and should be free of contradictions.
3. Unambiguous: The SRS should be clear and specific, and should
avoid using vague or imprecise language.
4. Traceable: The SRS should be traceable to other documents and
artifacts, such as use cases and user stories, to ensure that all
requirements are being met.
5. Verifiable: The SRS should be verifiable, which means that the
requirements can be tested and validated to ensure that they are being
met.
6. Modifiable: The SRS should be modifiable, so that it can be updated
and changed as the software development process progresses.
7. Prioritized: The SRS should prioritize requirements, so that the most
important requirements are addressed first.
8. Testable: The SRS should be written in a way that allows the
requirements to be tested and validated.
9. High-level and low-level: The SRS should provide both high-level
requirements (such as overall system objectives) and low-level
requirements (such as detailed functional requirements).
10.Relevant: The SRS should be relevant to the software system that is
being developed, and should not include unnecessary or irrelevant
information.
11.Human-readable: The SRS should be written in a way that is easy for
non-technical stakeholders to understand and review.
12.Aligned with business goals: The SRS should be aligned with the
overall business goals and objectives of the organization, so that the
software system meets the needs of the business.
13.Agile methodologies: Agile methodologies, such as Scrum and
Kanban, provide an iterative approach to requirements capturing and
validation, where requirements are captured and validated in small
chunks of functionality and feedback is gathered from the customer.

14) What do you mean by linearly independent path ?


What is cyclomatic complexity ? Give example.
A linearly independent path is any path through the program that
introduces at least one new edge that is not included in any other
linearly independent paths. If a path has one new node compared
to all other linearly independent paths, then the path is also linearly
independent.
The cyclomatic complexity of a code section is the quantitative measure of the
number of linearly independent paths in it. It is a software metric used to
indicate the complexity of a program. It is computed using the Control Flow
Graph of the program. The nodes in the graph indicate the smallest group of
commands of a program, and a directed edge in it connects the two nodes
The complexity M is then defined as M = E − N + 2P,
where
E = the number of edges of the graph.
N = the number of nodes of the graph.
P = the number of connected components.

15) Describe the five quality factors of a software


product
Reliability

Reliability requirements deal with service failure. They determine


the maximum allowed failure rate of the software system, and
can refer to the entire system or to one or more of its separate
functions.

Efficiency

It deals with the hardware resources needed to perform the


different functions of the software system. It includes processing
capabilities (given in MHz), its storage capacity (given in MB or
GB) and the data communication capability (given in MBPS or
GBPS).

Integrity
This factor deals with the software system security, that is, to
prevent access to unauthorized persons, also to distinguish
between the group of people to be given read as well as write
permit.

Usability

Usability requirements deal with the staff resources needed to


train a new employee and to operate the software system.

Maintainability

This factor considers the efforts that will be needed by users and
maintenance personnel to identify the reasons for software
failures, to correct the failures, and to verify the success of the
corrections.

Flexibility

This factor deals with the capabilities and efforts required to


support adaptive maintenance activities of the software. These
include adapting the current software to additional circumstances
and customers without changing the software. This factor’s
requirements also support perfective maintenance activities, such
as changes and additions to the software in order to improve its
service and to adapt it to changes in the firm’s technical or
commercial environment.

Testability

Testability requirements deal with the testing of the software


system as well as with its operation. It includes predefined
intermediate results, log files, and also the automatic diagnostics
performed by the software system prior to starting the system, to
find out whether all components of the system are in working
order and to obtain a report about the detected faults. Another
type of these requirements deals with automatic diagnostic
checks applied by the maintenance technicians to detect the
causes of software failures.
16) Write a short note on function point metrics.
Function Point Metrics in Software Engineering is a method that combines
some rules to follow Functional Size Measurement. According to Allan J.
Albrecht, the scientist who first developed it at IBM, Function Point Metrics
gives a dimensionless number defined in function points which we have found
to be an effective relative measure of function value delivered to our customer.
It is a measure of quantitative assessment for the functioning size of the
software work product. There is a certain amount of business that is provided to
the user by the system that is being operated as information or product.

17) Write a short note on Delphi cost Estimation.


18) Why is maintenance becoming more challenging
than new development?
 Lack of documentation: Poorly documented systems can make it
difficult to understand how the system works, making it difficult to
identify and fix problems.
 Legacy code: Maintaining older systems with outdated technologies
can be difficult, as it may require specialized knowledge and skills.
 Complexity: Large and complex systems can be difficult to
understand and modify, making it difficult to identify and fix
problems.
 Changing requirements: As user requirements change over time,
the software system may need to be modified to meet these new
requirements, which can be difficult and time-consuming.
 Interoperability issues: Systems that need to work with other
systems or software can be difficult to maintain, as changes to one
system can affect the other systems.
 Lack of test coverage: Systems that have not been thoroughly tested
can be difficult to maintain as it can be hard to identify and fix
problems without knowing how the system behaves in different
scenarios.
 Lack of personnel: A lack of personnel with the necessary skills and
knowledge to maintain the system can make it difficult to keep the
system up-to-date and running smoothly.
 High-Cost: The cost of maintenance can be high, especially for large
and complex systems, which can be difficult to budget for and
manage.

19) What are the various key process areas at defined


level in CMM? Discuss main requirements of ISO9001
and compare it with the SEI capability maturity model
Difference between the following:
i). Verification and validation
ii). Functional and non-functional requirements
iii). Object-oriented and function-oriented design
iv). Integration testing and regression testing
20) An airline reservation is an association between a
passenger, a flight, and a seat. Consider the problem of
the airline reservation system and design the following:
i).Use case diagram (ii). Data flow diagram (iii). E-R
diagram
21) Write down the SRS of online admission
management system portal for college. Write all the
attributes and also details technical specification.

You might also like