0% found this document useful (0 votes)
18 views66 pages

Software Full

This document contains 10 multiple choice questions regarding software engineering concepts like code coverage criteria, cyclomatic complexity, data flow testing, and mutation testing. It provides the question, possible answers, and a detailed solution for each question. The questions cover topics like determining the number of test cases needed for path testing, identifying valid subsumption relations between code coverage criteria, calculating cyclomatic complexity, limitations of different testing strategies, and identifying false statements about data flow testing and mutation testing techniques.

Uploaded by

Liya Wilson
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views66 pages

Software Full

This document contains 10 multiple choice questions regarding software engineering concepts like code coverage criteria, cyclomatic complexity, data flow testing, and mutation testing. It provides the question, possible answers, and a detailed solution for each question. The questions cover topics like determining the number of test cases needed for path testing, identifying valid subsumption relations between code coverage criteria, calculating cyclomatic complexity, limitations of different testing strategies, and identifying false statements about data flow testing and mutation testing techniques.

Uploaded by

Liya Wilson
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 66

NPTEL Online Certification Courses

Indian Institute of Technology Kharagpur

Software Engineering
Assignment-12
TYPE OF QUESTION: MCQ/MSQ
Number of questions: 10 Total mark: 10 X 1 = 10
For each of the following questions one or more of the given options are correct. Choose the
correct options.

QUESTION 1:
Consider the following assertions regarding subsumption relation among various code coverage criteria.
The subsumption relation between 2 code coverage criteriahas been represented by the symbol →. That
is, A→B means criterion A subsumes criterion B.
i) MC/DC→ Basic Condition Coverage
ii) Basic Condition Coverage → Decision Coverage
iii) Decision Coverage → Condition/Decision Coverage
iv) MC/DC → Condition/Decision Coverage
Which of the given subsumption relations are valid?
a. i), iv)
b. i), and iii)
c. iii), iv)
d. ii), iv)
e. i), ii) and iv)
Correct Answer: a. i), iv)
Detailed Solution:

MC/DC→ (Basic Condition Coverage and Condition/Decision)


Coverage Please check week-12 slide no. 4 for more details.
QUESTION 2:
Among the following test techniques, which one of the following is the strongest?
a. Statement coverage testing
b. Decision testing
c. Condition/Decision coverage
d. Basic condition testing
e. MC/DC testing
Correct Answer: e. MC/DC testing
Detailed Solution:

MC/DC testing is the strongest among all these testing techniques. MC/DC testing subsumes statement
coverage testing, decision testing and basic condition testing.
For more details, please refer week-12, slide number-4
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 3:
Consider the following program written in C language?
int main (){
inta,b=0;
scanf(“%d”,&a);
if( a == 20 ){
b=b+20;}
if( a == 30 ){
b=b+30;}
else{
b=b+40; }
}
At least how many test cases are required for path testing?
a. 2
b. 3
c. 4
d. 5
e. 6
Correct Answer: b. 3

Detailed Solution:
Three test cases are required for the path testing of the given program. TC1: a=10, TC2=20, TC3=30

QUESTION 4:
Which of the following statements about Cyclomatic complexity metric of a program are FALSE?

a. It is a measure of the computational complexity of the program


b. It is a measure of the testing difficulty of the program.
c. It is a measure of understanding difficulty of the program.
d. It is a measure of the linearly independent paths in the program
e. It is a measure of the size of the program

Correct Answer: a. It is a measure of the computational complexity of the program


e. It is a measure of the size of the program

Detailed Solution:
Cyclomatic complexity measures the testing difficulty and understanding difficulty of programs as well
determines the number of linearly independent paths present.
For more details, please refer Week-12, Slides 29-36.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 5:
What would be the Cyclomatic complexity of the following program?
if(i>j) then
if(i>k) then max=i;
else max=k;
else if(j>k) max=j
else max=k;
a. 2
b. 3
c. 4
d. 5
e. 6

Correct Answer: c. 4
Detailed Solution:

The cyclomatic complexity of a program can also be easily computed by computing the number of
decision and loop statements of the program. If N is the number of decision and loop statements of a
program, then McCabe’s cyclomatic complexity of a program is N+1.
Here, the total number of decision and loop statements are 3 (N=3).
Hence, cyclomatic complexity = N+1
=3+1 =4.

QUESTION 6:
Consider the following conditional statement. At least how many test cases are necessary for modified
condition/decision coverage (MC/DC)?
if((a>=0) or (a<=100)) a=a-1;
a. 1
b. 2
c. 3
d. 4
e. MC/DC is not achievable
Correct Answer: e. MC/DC is not achievable
Detailed Solution:

The condition can not be make false. So, MC/DC is not achievable.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 7:
Why is the all path testing strategy rarely used in practice?
a. Too many test cases are required to be generated and executed
b. Too weak a testing technique
c. It is subsumed by basis path testing
d. It is subsumed by statement coverage
e. Weaker than even decision coverage
Correct Answer: a. Too many test cases are required to be generated and executed
Detailed Solution:
In the presence of loops, the number paths can become extremely large—for that too many test cases
are required to be executed.

QUESTION 8:
Mutation testing is most effective for which one of the following types of bugs?

a. Algorithmic errors
b. Programming errors
c. Design errors
d. Requirements errors
e. Performance bugs

Correct Answer: b. Programming errors

Detailed Solution:

“Mutation testing is most effective for Programming errors.


NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 9:
Which of the following statements are not true of mutation testing?

a. Complex mutants get created by several simple mutants.


b. Mutation testing is used to evaluate if a program is bug free
c. It is implicitly assumed that programmers make only simple programming errors
d. Mutation testing is used to test the quality of test cases
e. Mutation testing is stronger than statement coverage-based testing

Correct Answer: b. Mutation testing is used to evaluate if a program is bug free


e. Mutation testing is stronger than statement coverage-based testing
Detailed Solution:
Mutation testing is fault based testing and statement coverage is coverage based testing. Both the
techniques are from different families. We cannot relate them directly. Also, mutation testing is not used
to evaluate if a program is bug free or not.

QUESTION 10:
Which of the following statements concerning data flow testing are FALSE?

a. Test cases are designed based on the definitions and uses of different variables in a program.
b. Test cases are designed based on the dataflow diagram (DFD) representation of the program
c. A simple dataflow testing strategy requires every DU chain in a program be covered at least
once
d. Data flow testing helps to effectively test loops
e. Data flow testing is a black box testing technique

Correct Answer: b. Test cases are designed based on the dataflow diagram (DFD) representation
of the program
e. Data flow testing is a black box testing technique
Detailed Solution:
Data flow-based testing method selects the test paths of a program according to the definitions and
uses of different variables in a program. One simple data flow testing strategy is to require that every DU
chain be covered at least once. Data flow testing strategies are especially useful for testing programs
containing nested if and loop statements. Data flow test cases are not designed based on the dataflow
diagram (DFD) representation of the program. Data flow testing also not a black box testing.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

Software Engineering
Assignment-11
TYPE OF QUESTION: MCQ/MSQ
Number of questions: 10 Total mark: 10 X 1 = 10

For each of the following questions one or more of the given options are correct. Choose the
correct options.

QUESTION 1:
Which one of the following is an indicative measure of the white box testing difficulty of a program?
a. Number of statements in the program
b. Number of decision statements in the program
c. Complexity of the arithmetic expressions used in the program
d. Time complexity of the program
e. Number of functions in the program
Correct Answer: b. Number of decision statements in the program
Detailed Solution:

Number of decision statements (if-else, loops, switch cases) helps to determine the white-box testing
difficulty of a program.

QUESTION 2:
Which of the following subsumption relations are incorrect?
a. Multiple condition coverage subsumes decision coverage
b. Basic condition coverage subsumes decision coverage
c. Basic condition coverage subsumes statement coverage
d. Modified Condition/ Decision Coverage (MC/DC) subsumes basic condition coverage
e. Path coverage subsumes multiple condition coverage

Correct Answer: b. Basic condition coverage subsumes decision coverage


e. Path coverage subsumes multiple condition coverage
Detailed Solution:
Basic condition coverage subsumes decision coverage and path coverage subsumes multiple
condition coverage are not correct.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

Questions 3 to 7 are based on the following “C” code segment.


int main (){
int a, b=0;
scanf(“%d”,&a);
if( a < 1 || a>1000) {
b=b+20;}
if( a == 20 ){
b=b+30;}
if( a == 30 ){
b=b+40;}
else{
b=b+100; }
}

QUESTION 3:
At least how many test cases are needed for achieving decision coverage on the given C code?
a. 3
b. 4
c. 5
d. 6
e. 8
Correct Answer: a. 3

Detailed Solution:
In decision coverage, the whole decision is executed as True and False at least once. With 3 test cases,
we can achieve 100% decision coverage: a=20, a=30, a=0.

QUESTION 4:
At least how many test cases are needed for the given C code for achieving basic condition coverage?
a. 3
b. 4
c. 5
d. 6
e. 7
Correct Answer: b. 4

Detailed Solution:
For first decision, two condition required to check: one test case for a<1 and another test case for
a>1000. For, second decision, one condition a==20 required to check so one test case. Similarly, for
third decision, one condition a==30 required to check so one test case. So, total four test cases required
for achieving basic condition coverage.
The test cases are:- TC1: a=20, TC2: a=30, TC3: a=0, TC4: a=1005
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 5:
At least how many test cases are needed for the given C code for achieving multiple condition coverage?
a. 4
b. 6
c. 8
d. 9
e. Multiple condition coverage is not achievable for the given code
Correct Answer: e. Multiple condition coverage is not achievable for the given code

Detailed Solution:
It is not possible to make both the condition true for a single test case in the first decision of the
program. For example, if we take a=0 then a<1 become true but a>1000 is not true. Similarly, if we
take a=1100 then a>1000 become true but a<1 become false. So, for a same test case we cannot
achieve ‘TT’ for both the condition. So, that is the reason for not achievable multiple condition
coverage for the given code.

QUESTION 6:
At least how many test cases are needed for the given C code for achieving MC/DC coverage?
a. 3
b. 4
c. 5
d. 7
e. MC/DC coverage is not achievable for the given code
Correct Answer: b. 4

Detailed Solution:
The number of test cases can be found as N + 1, where N represents the number of basic
conditions. First decision consist of two condition. So, for those two condition 2+1=3 test cases
required. Now, we left with other two condition a==20 and a==30. For checking first two condition
(a<1, a>1005), if we take a=20, then it will also check the condition a==20 or if we take a=30, then it
will also check the condition a==30. So, with first two condition we can check also either a==20 or
a==30. But, with first two condition if we check a==20 then a==30 will left or if we check a==30, then
a==20 will left. So, with 3 test cases, we required another test case to check the remaining one
condition. So total 3+1 = 4 test cases required.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 7:
At least how many test cases are needed for the given C code for achieving basis path coverage?
a. 4
b. 6
c. 8
d. 9
e. Basis path coverage is not achievable for the given code
Correct Answer: a. 4

Detailed Solution:
The number of minimum test cases required for achieving basis path coverage can be easily found by
the formula N+1. Here N = bounded area. From the above program, we can find that N=3, so the
number of test cases required is 4.

QUESTION 8:
If two code segments have Cyclomatic complexities of N1 and N2 respectively, what will be the Cyclomatic
complexity of the juxtaposition of the two code segments?
a. N1+N2
b. N1+N2+1
c. N1+N2-1
d. N1*N2
e. N1*N2 + 1
Correct Answer: c. N1+N2-1
Detailed Solution:
It is a standard result. The proof is beyond the scope of the course.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 9:
Consider the following conditional statement. At least how many test cases are necessary for
condition/decision coverage?
if((a>=0) or (a<=100)) a=a-1;
a. 1
b. 2
c. 3
d. 4
e. Condition/decision coverage is not achievable

Correct Answer: e. Condition/decision coverage is not achievable


Detailed Solution:
NO test cases cam make the decision false. So, Condition/decision coverage is not achievable.

QUESTION 10:
Consider the following conditional statement. At least how many test cases are necessary for multiple
condition coverage?
if((a>=0) or (b<=c)) a=a-1;
a. 1
b. 2
c. 3
d. 4
e. Multiple condition coverage is not achievable

Correct Answer: d. 4
Detailed Solution:
Here, 2 independent conditions. So, No. of MCC = 2^2 = 4.

************END***********
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

Software Engineering
Assignment-10
TYPE OF QUESTION: MCQ/MSQ
Number of questions: 10 Total mark: 10 X 1 = 10

For each of the following questions one or more of the given options are correct. Choose the
correct options.

QUESTION 1:
Which of the following are not a black box testing techniques?

a. Boundary value testing


b. MC/DC testing
c. Cause-effect (Decision Table) testing
d. Combinatorial testing
e. Basic Condition testing

Correct Answer: b. MC/DC testing


e. Basic Condition testing
Detailed Solution:

Basic condition testing and MC/DC is a white-box testing as it requires the knowledge
internal structure of the program. It evaluates each condition True at least once and False at least
once.

QUESTION 2:
Which one of the following is an implicit assumption made in equivalence class testing?

a. A program behaves in similar ways to every input value belonging to an equivalence class.
b. Different equivalence classes of a program contain similar bugs
c. Different equivalence classes of a program contain dissimilar bugs
d. Equivalence classes define the behaviorally similar components of a program
e. Equivalence classes define the behaviorally similar code segments of a program

Correct Answer: a. A program behaves is similar ways to every input value belonging to an
equivalence class.
Detailed Solution:
In equivalence class testing program behaves in similar ways to every input value belonging to an
equivalence class.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 3:
In a certain bank, customers are offered different rates interest on deposits depending on the amount of
deposit and the duration of deposit. The rate of interest for deposits of any amount between Rs. 1000 and
Rs. 1 Lakh is as follows:

 6% for deposit upto 1 year


 7% for deposit over 1 year but less than 3 years
 8% for deposit over 3 years and less than 10 years
The rate of interest for deposits of any amounts between Rs. 1 Lakh to less than 1 crore, is as follows:
 7% for deposit upto 1 year
 8% for deposit over 1 year but less than 3 years
 9% for deposit over 3 years and less than 10 years

A function named compute-interest-rate(amount, months) was developed by the bank to compute


the interest rate applicable for a deposit made by a customer. At least how many test cases are needed for
weak equivalence class testing of the function compute-interest-rate?
a. 2
b. 3
c. 5
d. 6
e. 7
Correct Answer: b. 3
Detailed Solution:
Test cases are needed for weak equivalence testing =Maximum (Total number of
valid equivalence classes for Amount , Total number of valid equivalence classes for
Year) =max(2,3) = 3

QUESTION 4:
For the function compute-interest-rate of Q. 3, at least how many test cases are needed for strong
equivalence testing?
a. 3
b. 6
c. 8
d. 9
e. 12
Correct Answer: b. 6

Detailed Solution:
Test cases are needed for strong equivalence testing = Total number of valid equivalence
classes for Amount * Total number of valid equivalence classes for Year =(2)*(3) =6
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 5:
For the function compute-interest-rate of Q. 3, at least how many test cases are needed for strong robust
equivalence testing?
a. 6
b. 12
c. 15
d. 16
e. 20
Correct Answer: d. 16
Detailed Solution:
For Amount:
The valid classes are: Class-1: Rs 1000 to less than Rs 1 lakh ,Class-2: Rs 1 lakh to less than Rs
1 crore
The invalid classes are:
Class-1: less than Rs 1000, Class-2: more than or equal to Rs 1 crore
For Year:
The valid classes are: Class-1: upto 1 year, Class-2: over 1 year but less than 3 years, Class-3:
over 3 years and less than 10 years
The invalid classes are:
Class-1: over 10 years
Test cases are needed for strong robust equivalence testing = Total number of equivalence
classes for Amount * Total number of equivalence classes for Year =(2+2)*(3+1)
=16

QUESTION 6:
Consider the function find-intersection(m1,c1,m2,c2) that computes the point of intersection of two
straight lines of the form y=mx+c. For equivalence class testing, at the first level of the equivalent class
hierarchy the valid and invalid equivalence classes can be formed. The valid set of input values can be
further divided into how many equivalence classes?

a. 1
b. 2
c. 3
d. 4
e. 5

Correct Answer: c. 3
Detailed Solution:
The valid input divided in equivalence classes are the following:
• Parallel lines (m1=m2, c1≠c2)
• Intersecting lines (m1≠m2)
• Coincident lines (m1=m2, c1=c2)
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 7:
In a certain software development organization it was found based on an analysis of collected data over
several completed projects that black box unit tests detect 24% of the total defects detected, White box
tests detect 30% of the defects, Integration tests detect 16%, and system tests detect 10% of the defects,
and 20% defects were reported by the customers after the release of the software. What proportion of
the total test effort should be allocated to integration testing?

a. 10%
b. 12%
c. 15%
d. 20%
e. 25%

Correct Answer: d. 20%


Detailed Solution:
Total test effort for integration testing = (16/80)*100 = 20%

QUESTION 8:
During unit testing , why is it important to test the boundary values?
a. It reduces test costs as boundary values are easily computed by hand.
b. Debugging is easier when testing boundary values.
c. The correct execution of a function on all boundary values proves that the function is
correct.
d. Programming the boundary conditions is usually error-prone in practice
e. Each boundary value test case checks working of two equivalence classes
Correct Answer: d. Programming the boundary conditions is usually error-prone in practice
Detailed Solution:
The boundary conditions is usually error-prone. That’s why it is important to test the boundary
values.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 9:
To test a unit, the programmer has to write a piece of code which would call the function and passes it
test data. What would this piece of code called?
a. Stub
b. Driver
c. Proxy
d. Glue
e. Library routine
f. System call
Correct Answer: b. Driver
Detailed Solution:

Driver Simulates the behaviour of a function that calls and supplies necessary data to the function being
tested.

QUESTION 10:
If a user interface has two check boxes, at least how many test cases are required to achieve pair-wise
coverage?

a. 3
b. 4
c. 5
d. 6

Correct Answer: b. 4
Detailed Solution:

If we use the following test cases: (00), (01), (10), (11), all pairs of check boxes can be covered.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

Software Engineering
Assignment-9
TYPE OF QUESTION: MCQ/MSQ
Number of questions: 10 Total mark: 10 X 1 = 10

For each of the following questions one or more of the given options are correct. Choose the
correct options.

QUESTION 1:
Which one of the following is not a responsibility of a controller object in a domain model?
a. Interact with the boundary objects
b. Coordinate the activities of a set of entity objects
c. Embody most of the business logic required for use case execution
d. Permanently store frequently used data
Correct Answer: d. Permanently store frequently used data
Detailed Solution:

Overall responsibility of a controller object is to realize use case behavior. Permanent storage of
data is not a responsibility of a controller object in a domain model.
For more information please refer week-9 slide number 3

QUESTION 2:
Consider the following use case diagram for a supermarket automation software.

Based on the given use case diagram, how many boundary classes should be designed in the domain
model.
a. 2
b. 3
c. 4
d. 6

Correct Answer: c. 4
Detailed Solution:
For each user-use case interaction there is one boundary class. So, based on the diagram no. of
boundary classes = 4.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 3:
Consider the following use case diagram for a supermarket automation software.

Based on the given use case diagram, how many controller classes should be designed in the domain
model.
a. 2
b. 3
c. 4
d. 6
Correct Answer: b. 3

Detailed Solution:
The number of controller classes = Number of use cases. So, the answer is 3.

QUESTION 4:
Which one of the following UML diagrams is constructed first in a typical object-oriented design
process?
a. Use case diagram
b. Sequence diagram
c. Class diagram
d. State machine diagram
e. Deployment diagram
f. Component diagram
Correct Answer: a. Use case diagram

Detailed Solution:
In typical object-oriented design process Use case diagram first constructed.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 5:
Which one of the following does not serve as a guideline for identifying entity classes from a
problem description?
a. Entity classes usually appear as data stores in a DFD model
b. Entity classes usually occur as group of objects that are aggregated
c. The aggregator of entity objects is an entity class and typically corresponds to a
register in the physical world
d. Entity classes should be created corresponding to the different users
Correct Answer: d. Entity classes should be created corresponding to the different users

Detailed Solution:
The users are not considered as entity rather the data stores are used as entity classes.

QUESTION 6:
CRC cards are usually not much useful in performing which of the following activities?
a. Method identification for each class
b. Responsibility assignment
c. Identification of state transition in state machine model design
d. Collaborator identification
e. Class state identification
Correct Answer: c. Identification of state transition in state machine model design
e. Class state identification

Detailed Solution:
State transition in state machine and class state identification are not useful by using CRC
cards.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 7:
Which of the following statements concerning CRC cards are FALSE?
a. CRC cards are used to assign methods to classes
b. CRC cards are used to assign static attributes to classes
c. CRC cards stands for Class-Responsibility-Collaborator cards
d. CRC cards are an automated method to create class diagrams
e. While using CRC cards, it is imperative to perform structured walkthrough of use
case scenarios

Correct Answer:
b. CRC cards are used to assign static attributes to classes
d. CRC cards are an automated method to create class diagrams
Detailed Solution:
CRC cards are neither used to assign static attributes to classes nor to automate the creation of class
diagram.

QUESTION 8:
Which one of the following can be inferred from the pesticide paradox?
a. More number of bugs are detected towards the end of testing
b. More severe bugs are detected towards the end of testing
c. After a test methodology has been used on a program to detect bugs, it is ineffective for
detecting the remaining bugs
d. A set of test methodologies should be applied again and again until all bugs are eliminated
e. A persistent bug calls for simultaneous application of multiple test cases
Correct Answer: c. After a test methodology has been used on a program to detect bugs, it is
ineffective for detecting the remaining bugs
Detailed Solution:
Pesticide paradox - The phenomenon that the more you test software, the more immune it
becomes to your tests - just as insects eventually build up resistance and the pesticide no
longer works. So, its say to use a varied set of testing strategies to detect more bugs.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 9:
Suppose an untested program was determined to contain 640 bugs. Three different testing techniques
were applied to test the code. Each testing technique is effective to detect 50% of the bugs that exist at
the time the concerned testing technique is applied. While fixing a bug after the application of a test
strategy, there is a 50% chance of creating another bug. How many bugs would exist in the code after the
three testing and bug-fix cycles have been carried out?
a. 200
b. 270
c. 350
d. 448
e. 512

Correct Answer: b. 270


Detailed Solution:
1 st testing: total bugs= 640. Detect bugs: 50% of 640 = 320. New bug = 50% of 320 = 160. Now
bugs=480
2nd testing:
Total bugs = 480. Detect bugs: 50% of 480 = 240. New bug = 50% of 240 = 120. Now bugs= 360.
3rd testing:
Total bugs = 360. Detect bugs: 50% of 360 = 180. New bug = 50% of 180 = 90 Now bugs= 270.

QUESTION 10:
Which of the following are true concerning verification?
a. Helps answer the question: “Have you built the right thing?”
b. Concerns checking the final product against its specification.
c. Usually carried out by an independent test team.
d. May consist of review and simulation activities
e. Checks whether an artifact produced at the end of a phase conforms to the corresponding
artifact produced in a previous phase.

Correct Answer: d. My consist of review and simulation activities, e. Checks whether an artifact
produced at the end of a phase conforms to the corresponding artifact produced in a previous
phase.
Detailed Solution:
Options d. and e. are correct. Please refer week 9 material slide no. 51.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

Software Engineering
Assignment-8
TYPE OF QUESTION: MCQ/MSQ
Number of questions: 10 Total mark: 10 X 1 = 10

For each of the following questions one or more of the given options are correct. Choose the
correct options.

QUESTION 1:
Which one of the following is true of unary association?
a. It is defined between multiple classes
b. It is defined on exactly one object
c. It is defined between multiple objects of the same class
d. It is defined between multiple objects of different classes
e. It has a constant arity of 1 exactly
Correct Answer: c. It is defined between multiple objects of the same class

Detailed Solution:

Unary association defined between multiple objects of the same class.

QUESTION 2:
Which of the following statements regarding relations among classes are FALSE?
a. Composition is a special type of aggregation
b. Aggregation is special type of binary association
c. Binary association is special type of aggregation
d. Binary association is a special type of N-ary association
e. N-ary association is a special type of binary association.

Correct Answer: c. Binary association is special type of aggregation


e. N-ary association is a special type of binary association
Detailed Solution:

N-ary association is a special type of binary association is false because binary association is a special type
of N-ary association. Also , Binary association is not special type of aggregation.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 3:
Which of the following mechanisms are deployed by the state machine formalism to overcome
the state explosion problem inherent to the finite state machine formalism?
a. Composite OR states
b. History states
c. Guards on transitions
d. Pseudo initial state
e. Composite AND states
Correct Answer: a. Composite OR states
e. Composite AND states

Detailed Solution:
Composite OR and Composite AND sates can overcome the state explosion problem.

QUESTION 4:
If a class has 5 state variables, and each of state variable can assume 4 discrete values, what is the
maximum number states that an object of the class can assume?
a. 20
b. 80
c. 256
d. 625
e. 1024
Correct Answer: e. 1024

Detailed Solution:
If a class has 5 state variables, and each of state variable can assume 4 discrete values, then the
maximum number states that an object of the class can assume is 4×4×4×4×4 = 1024.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 5:
Which one of the following best characterizes a sequence diagram?
a. A call graph illustrating all possible sequences of calls between class method
members
b. A typical sequence of calls between object methods on a time-line
c. A time-line illustrating the changes in inheritance and instantiation relationships
between classes and objects over time
d. A tree illustrating inheritance relationship between classes
e. Sequence in which an object changes state
Correct Answer: b. A typical sequence of calls between object methods on a time-line

Detailed Solution:
A sequence diagram captures how objects interact with each other. It also shows life line of all the
objects. So, option b. is the correct one. Please refer slide no. 35 to 37 of the week 8 lecture material.

QUESTION 6:
Which of the following UML diagrams should you use when allocating use-case behavior to
classes?
a. Sequence and communication diagrams
b. Use-case and activity diagrams
c. Sequence and activity diagrams
d. Class and deployment diagrams
e. State machine and activity diagrams
Correct Answer: a. Sequence and communication diagrams
Detailed Solution:
When we allocate use-case behavior to classes we draw sequence diagram for each use case and
also communication diagram. So, option a. is the correct.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 7:
Which one of the following can be said of a sequence diagram?
a. It is used to model the behavior of a single object when many use cases are executed
b. It is used to model the behavior of several objects when a single use case is executed
c. It is used to model the behavior of a single object when a single use case is executed
d. It is used to model the behavior of several objects when many use cases are executed
e. It is used to model how state changes occur in a state machine diagram

Correct Answer: b. It is used to model the behavior of several objects when a single use case is
executed

Detailed Solution:
Sequence diagram used to model the interaction between several objects for a single use case. So,
among all the options, option b. is the correct choice.

QUESTION 8:
Consider the following sequence diagram for the borrow book use case.

Based on the sequence diagram, which methods will get allocated to the LibraryMember class.
a. borrow
b. borrowBook and borrow
c. borrowBook and canBorrow
d. borrowandcanBorrow
Correct Answer: c. borrowBook and canBorrow
Detailed Solution:
borrowBook and canBorrow are two methods assigned into LibraryMember class.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 9:
Consider the following C code.

Which one of the following is the state machine diagram corresponds to the given code?

a. A
b. B
c. C
d. D

Correct Answer: c. C
Detailed Solution:
The state machine diagram in C correctly depicts the above mentioned code. State is switching
from s2 to s1 on the event e3 and from s1 to s2 on the event e2.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 10:
Which one of the following UML class diagrams most accurately models: “Some persons keep animals as
pets.”

a. A
b. B
c. C
d. D

Correct Answer: a. A

Detailed Solution:
UML class diagrams shown in Option A correctly depicts the statement: “Some persons keep
animals as pets.”.

************END***********
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

Software Engineering
Assignment-7
TYPE OF QUESTION: MCQ/MSQ
Number of questions: 10 Total mark: 10 X 1 = 10

For each of the following questions one or more of the given options are correct. Choose the
correct options.

QUESTION 1:

Consider the following use case factorization example. Which of the following assertions can be
inferred from it?

a. Issue book use case implicitly invokes Check reservation use case
b. Issue book use case invokes Check reservation use case only if some conditions
are satisfied
c. Issue book and Renew book use cases are inter dependent
d. This factorization helps in reducing duplication of code in the implementation
e. The factorization helps in reducing the runtime complexity of the two use cases
Correct Answer: a. Issue book use case implicitly invokes Check reservation use case
d. This factorization helps in reducing duplication of code in the
implementation
Detailed Solution:

Among all the options, option a. and d. are most appropriate for the given diagram.

QUESTION 2:

Which of the followings are FALSE about a use case?


a. It is a way in which a system can be used by the users to achieve specific goals
b. It corresponds to a non-functional requirement.
c. It defines external behavior without revealing internal structure of system
d. It is a set of related usage scenarios tied together by a common goal
e. It states a goal of the system

Correct Answer: b. It corresponds to a non-functional requirement


e. It states a goal of the system
Detailed Solution:
A use case does not correspond to a non-functional requirement and also does not state goal of the
system. For more information, please check
Week-7 Slide number 19-20.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 3:

UML 1.X was enhanced with additional notational support to largely address modelling which one of the
following types of applications?
a. Embedded computing applications
b. Artificial intelligence applications
c. Data science applications
d. Cloud applications
e. Blockchain applications
Correct Answer: a. Embedded computing applications

Detailed Solution:
UML 1.X was enhanced with additional notational support to largely address Embedded computing
applications.

QUESTION 4:

Which one of the following is implied by the class diagram given below?

a. Many keys open up to five doors


b. Many doors are opened by a key
c. Many doors are opened by up to 5 keys
d. A door is opened by up to 5 keys
e. A key opens up to 5 doors
Correct Answer: e. A key opens up to 5 doors

Detailed Solution:
The class diagram presents that a Key can open up to five Doors and a Door is opened by any number
of Keys. Therefore option (e) is the correct implication of the diagram.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 5:

Which of the following is implied by the class diagram given below?

a. Neither a Door object nor a Key object store attributes of each other
b. Either of a Door object or a Key object store attributes of the other
c. A reference of a Door object is stored as an attribute of a Key object and also a reference
of a Key object is stored as an attribute of a Door object
d. A reference of a Door object is stored as an attribute of a Key object
e. A reference of a Key object is stored as an attribute of a Door object
Correct Answer: d. A reference of a Door object is stored as an attribute of a Key object

Detailed Solution:
It is implied by the class diagram that a reference of a door object is stored as an attribute of a key
object.

QUESTION 6:

Which of the following is NOT implied by the class diagram given below?

a. A Key opens up to 5 Doors


b. A Door is opened by up to 2 Keys
c. A Door is opened by up to 5 Keys
d. A Key may not open any of the Doors
e. Up to 2 Keys open up to 5 Doors
Correct Answer: c. A Door is opened by up to 5 keys

Detailed Solution:
The class diagram presents that a Key can open up to five Doors and a Door is opened by up to two
Keys. Therefore option (c) is the wrong implication of the diagram.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 7:

Identification of the different categories of users in a use case diagram does not help towards which of the
followings?
a. Design of a suitable user interface
b. Design of a security and authentication mechanism
c. Design of a suitable user manual
d. Design of controller classes
e. Design of integration test plan

Correct Answer: d. Design of controller classes


e. Design of integration test plan
Detailed Solution:
Identification of the different categories of users in a use case diagram does not help in design of
controller classes and design of integration test plan.

QUESTION 8:

How is an external system represented in a use case diagram?


a. Using a specific icon available for this purpose
b. Using text description
c. Using object constraint language (OCL)
d. By stereotyping the actor icon
e. By using the symbol used to represent an object
Correct Answer: d. By stereotyping the actor icon
Detailed Solution:
An external system represented in a use case diagram by stereotyping the actor icon. For more detail
please check Week-7 Slide number 25.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 9:

A library automation software is to be designed. A use case named checkReservation is needed to check
whether a book has been reserved by any user. For the issueBook use case, before a book can be issued it
needs to be checked whether the book has been reserved by any user. Which one of the following
mechanisms is most appropriate to make the issueBook use case to include the checkReservation use
case?
a. Inheritance
b. Dependency
c. Include
d. Extend
e. Composition

Correct Answer: c. Include


Detailed Solution:
Before a book can be issued, it needs to be checked whether the book has been reserved by any
user. Therefore “Include” is the most appropriate to factor this use case into issue book and check
reservation use cases.

QUESTION 10:

Which of the following are NOT implied by the class diagram given below?

a. Each course is jointly taught by two teachers


b. Each teacher teaches two courses
c. Some teachers may teach three course
d. Some teachers may not teach any course
e. Up to three Teachers can jointly teach exactly 2 Courses

Correct Answer: b. Each teacher teaches two courses


e. Up to three teachers can jointly teach exactly 2 courses
Detailed Solution:
For the given diagram option b. and e. are most appropriate.

************END***********
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

Software Engineering
Assignment- 6

TYPE OF QUESTION: MCQ/MSQ


Number of questions: 10 Total mark: 10 X 1 = 10

For each of the following questions one or more of the given options are correct. Choose the correct
options.

QUESTION 1:

Which one of the following activities is carried out during the structured analysis activity?
a. High-level functions are successively decomposed into more detailed functions.
b. Decomposed fine granularity functions are mapped to a module structure
c. Call relations among the modules is designed
d. Data structures of the modules are designed
e. Algorithms are designed
Correct Answer: a. High-level functions are successively decomposed into more detailed
functions.
Detailed Solution:
During structured analysis activity, high level functions are successively decomposed into more
detailed functions. For more information, please refer slide 4 of week 6 lecture material.

QUESTION 2:

Which one of the following activities is carried out during the structured design activity?
a. High-level functions are successively decomposed into more detailed functions.
b. Decomposed fine granularity functions are mapped to a module structure
c. Algorithms of the modules is designed
d. Data structures of the modules are designed
e. User interface is designed

Correct Answer: b. Decomposed fine granularity functions are mapped to a module structure

Detailed Solution:
During structured design activity, the detailed functions are mapped to a module structure. For
more information, please refer slide 4 of week 6 lecture material.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 3:

Which of the following are not true of the structured analysis activity?
a. It is a top-down decomposition approach.
b. It is based on the divide and conquer principle.
c. The end product of the structured analysis activity is suitable for implementation in
some programming language
d. It is carried out using data flow diagrams
e. It represents the various modules in the implementation

Correct Answer: c. The end product of the structured analysis activity is suitable for
implementation in some programming language.
e. It represents the various modules in the implementation

Detailed Solution:
Structured analysis activity does not include implementation tasks.

QUESTION 4:

In the Yourdon’s data flow diagrams (DFDs), which of the following are not represented in the
context diagram?
a. External entities.
b. Data stores
c. Data input to the system by the external entities.
d. Output data generated by the system.
e. Users of the system
f. Interactions occurring among users

Correct Answer: b. Data stores


f. Interactions occurring among users
Detailed Solution:
Context diagram represents external entities, data input from external entity, output data generated
by the system, and user of the system. Please refer slides 32 and 42 of the week 6 lecture material.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 5:

During the transform analysis activity during structured design in the structure chart, a functional
component (module) is not drawn for which of the following?
a. Afferent branch,
b. Central transform,
c. Efferent branch.
d. Data store branch
e. External entities

Correct Answer: d. Data store branch


e. External entities
Detailed Solution:
A functional component during transform analysis is drawn into afferent, efferent, and central
branch. For detailed information, please refer slides 115 and 116 of week 6 lecture material.

QUESTION 6:

Which one of the following correctly characterizes balancing of DFDs?


a. Data flowing into or out of a bubble must match across all the bubbles
b. Data flowing into or out of a bubble must match the data flows at the next level of DFD.
c. Data flowing into a bubble must match the data flowing out the bubbles in the next level
d. Data flowing into a bubble must match the data flowing out of the bubble
e. Data input by an external entity must match the data received by the external entity

Correct Answer: b. Data flowing into or out of a bubble must match the data flows at the next
level of DFD.

Detailed Solution:
For DFD balancing, Data flowing into or out of a bubble must match the data flows at the next
level of DFD. For more information, please refer slide 56 of week 6 lecture material.

3
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 7:

What are wrong with the following context diagram?

a. External entities are appearing at the context level


b. Input/Output occurring at the context level
c. Name of an external entity is missing
d. Data item name missing on a data flow arrow
e. A data store is appearing at the context level

Correct Answer: c. Name of an external entity is missing


e. A data store is appearing at the context level

Detailed Solution:
In the given diagram, name of an external entity is missing and a data store is appearing at the
context level which are wrong.

4
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 8:
What are wrong with the following DFD?

a. Presence of control information


b. Unbalanced
c. Name of Data in flow missing
d. Presence of synchronous data flow
e. Presence of asynchronous data flow

Correct Answer: a. Presence of control information


c. Name of Data in flow missing

Detailed Solution:
Dataflow diagram should not represent control information. For more information, please refer
slide 82 of week 6 lecture material.

QUESTION 9:
Which of the following are true of a functionally independent module?
a. Defects in a functionally independent module do not easily propagate to the
other modules of the system
b. Errors in other modules in a system do not easily propagate to a functionally
independent module
c. Degree of interaction of a functionally independent module with the other
modules of the system is low
d. A functionally independent module does not invoke other modules of the system
Other modules of the system do not invoke a functionally independent module

Correct Answer: a. Defects in a functionally independent module do not easily propagate to


the other modules of the system
b. Errors in other modules in a system do not easily propagate to a
functionally independent module
c. Degree of interaction of a functionally independent module with the other
modules of the system is low

5
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

Detailed Solution:

Defects and errors in a functionally independent module do not easily propagate and the degree of
interaction among them is usually low.

QUESTION 10:

Which of the following are true of a modular design?


a. Good decomposition of the system
b. Good abstraction of the system
c. Easier to reuse modules
d. Modules exhibit functional independence
e. Easier to understand the design
f. Lower computational complexity

Correct Answer: a. Good decomposition of the system


c. Easier to reuse modules
d. Modules exhibit functional independence
e. Easier to understand the design

Detailed Solution:
Modular design supports better decomposition of the systems, easier to reuse modules, modules
exhibit functional independence, and easier to understand design.

***************** THE END******************

6
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

Software Engineering
Assignment- 5

TYPE OF QUESTION: MCQ/MSQ


Number of questions: 10 Total mark: 10 X 1 = 10

For each of the following questions one or more of the given options are correct. Choose the correct
options.

QUESTION 1:

Which of the following activities are not carried out during the high-level design of a software
system?
a. Module structure definition
b. Call relationship or invocation relationship among the modules
c. Algorithms for individual modules.
d. Interface among different modules.
e. Structured analysis
Correct Answer: c. Algorithms for individual modules.
e. Structured analysis
Detailed Solution:
Algorithms for individual modules and structures analysis are carried out during detailed design of
a software system. Please refer slide 11 of week 5 lecture material.

QUESTION 2:

Which one of the following activities is carried out during the detailed design of a software system?
a. Module structure definition
b. Definition of the call relationship among the modules
c. Design of algorithms for individual modules.
d. Interface among different modules,
e. System test suite design

Correct Answer: c. Design of algorithms for individual modules.

Detailed Solution:
Algorithms for individual modules is carried out during detailed design of a software system.
Please refer slide 11 of week 5 lecture material.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 3:

A functionally independent design is characterized by which one of the following?


a. High cohesion and low coupling
b. Low cohesion and low coupling
c. High cohesion and high coupling
d. Low cohesion and high coupling
e. Medium cohesion and medium coupling

Correct Answer: a. High cohesion and low coupling

Detailed Solution:
A functionally independent design is characterized by high cohesion and low coupling. Please
refer slide 26 of week 5 lecture material for more information.

QUESTION 4:

Which one of the following are usually not advantages of designing a system such that the
modules have functional independence?
a. Reusability
b. Security
c. Testability
d. Maintainability
e. Run time efficiency

Correct Answer: b. Security


e. Run time efficiency
Detailed Solution:
Functionally independent modules are easy for reuse, test and maintain. For more information,
please see slide 28 of week 5 lecture material.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 5:

Which one of the following is the most desirable type of cohesion?


a. Functional
b. Coincidental
c. Sequential
d. Temporal
e. Procedural

Correct Answer: a. Functional

Detailed Solution:
Functional cohesion is most desirable. Please see the diagram in slide 32 of week 5 lecture
material for more information.

QUESTION 6:

In the design of a certain system, suppose all error handing functions have been put in a module,
then the module will have which one of the following types of cohesion?
a. Functional
b. Logical
c. Temporal
d. Sequential
e. Procedural

Correct Answer: b. Logical

Detailed Solution:
Since the module has similar (error handling) functions, it can be said as a logical cohesion. Please
refer slide 35 of week 5 lecture material for more information.

3
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 7:

Consider the following module handle-Student-Data that declares an array of data items sdata
and it defines certain functions that operate on sdata. What is the type of cohesion exhibited by the
module handle-Student-Data?

a. Communicational
b. Logical
c. Temporal
d. Procedural
e. Coincidental

Correct Answer: a. Communicational

Detailed Solution:
In the given example, the function refers/updates to same data structure. Therefore, this function
exhibits communicational cohesion. For more information, please refer slides 40 and 41 of week 5
lecture material.

QUESTION 8:

The coupling between to modules is determine by which one of the following?


a. Interface complexity
b. Combined size of the two modules
c. Combined coherence of the two modules
d. Sum of the cyclomatic metrics of the two modules
e. Number of shared functions

Correct Answer: a. Interface complexity

Detailed Solution:
Interface complexity determines the coupling between two modules.

4
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 9:

Which one of the following is the best type of coupling between two modules?
a. Data
b. Control
c. Common
d. Content
e. Stamp

Correct Answer: a. Data


Detailed Solution:

Data coupling is the best type of coupling between to modules.

QUESTION 10:

Which one of the following characteristics of a design indicates a poor design?


a. Large depth
b. Large width
c. High fan-out
d. High fan-in
e. Low fan-out

Correct Answer: c. High fan-out

Detailed Solution:
A design with high fan-out lack cohesion, therefore it is not a good characteristic of design.

***************** THE END******************

5
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

Software Engineering
Assignment- 4

TYPE OF QUESTION: MCQ/MSQ


Number of questions: 11 Total mark: 11 X 1 = 11

For each of the following questions one or more of the given options are correct. Choose the correct
options.

QUESTION 1:

Which one of the following are not requirements gathering techniques?


a. Study existing procedures,
b. Discuss with customer and end-users,
c. Build prototypes of functions
d. Input and Output analysis
e. Analyze structure chart
Correct Answer: c. Build prototypes of functions
e. Analyze structure chart
Detailed Solution:
Build prototypes of functions and Analyze structure chart are not the requirement gathering
techniques. Please refer slide 1 of week 4 lecture material for more details.

QUESTION 2:

Which one of the following characteristics are usually not expected of an SRS (Software
Requirements Specification) document?
a. Concise
b. Consistent
c. Complete
d. Formal
e. Optimal

Correct Answer: d. Formal


e. Optimal
Detailed Solution:
Formal and Optional need not be characteristics of a SRS document.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 3:

An SRS document should not include which of the following?


a. Functional requirements
b. Project management plan
c. Performance requirements
d. External interface requirements
e. Verification and validation plan
Correct Answer: b. Project management plan
e. Verification and validation plan
Detailed Solution:
SRS document should not include project management plan and validation and validation plan.
Please refer slide 27 of week 4 lecture material for more information.

QUESTION 4:

Which of the following are not non-functional requirements?


a. The system should be portable
b. The system should be maintainable
c. Users should be able to check the status of their complaints raised by them in the
past
d. The system should be usable by factory workers
e. Users should be able to register their complaints using the system
Correct Answer: c. Users should be able to check the status of their complaints raised by them in
the paste.
e. Users should be able to register their complaints using the system
Detailed Solution:
Portability, maintainability, and usability are the types of non-functional requirements of a system.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 5:

Which one of the following should not be included in the checklist used for reviewing the SRS
document?
a. Is each requirement testable?
b. Have the “how to implement” aspects been specified?
c. Is the initial state of the system defined?
d. Have the functional requirements been numbered?
e. Has the project management plan been prepared and included as a separate
section?
f. Are the responses to exceptional conditions specified?

Correct Answer: b. Have the “how to implement” aspects been specified?


e. Has the project management plan been prepared and included as a separate
section?
Detailed Solution:
The “how to” aspects and project management plan are not included in the SRS review
documents.

QUESTION 6:

Which one of the following is an important advantage of a decision table over a decision tree for
specification of complex decision logic?
a. Specifies which variables are to be tested.
b. Specifies what actions are to be taken if the conditions are true.
c. Is more compact and therefore can meaningfully represent highly complex logic.
d. Specifies the order in which decision making is performed.
e. Visually depicts the sequence in which decision making logic is exercised
Correct Answer: c. Is more compact and therefore can meaningfully represent highly complex
logic.

Detailed Solution:
Decision table is more compact and therefore can meaningfully represent highly complex logic as
compared to decision tree.

3
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 7:

Which one of the following assertions about functional requirements is FALSE?


a. A functional requirement is also called a behavioural requirement
b. The functional requirements are independent of each other
c. A functional requirement may consist of several scenarios of execution
d. A functional requirement is a statement of how certain inputs to program get
converted to the corresponding outputs
e. Some of the functional requirements specify the required system performance

Correct Answer: b. The functional requirements are independent of each other


e. Some of the functional requirements specify the required system
performance

Detailed Solution:
There may exist dependency between functional requirements and none of the functional
requirements specifies performance of the system.

QUESTION 8:

Consider the following partial description of a campus security software. “The police officer on
duty should be able to lodge a complaint against an erring driver.” Which one of the following
types of requirements is this?
a. Functional requirement
b. Non-Functional requirement
c. Design requirement
d. Design constraint
e. External interface requirement
f. Goal of implementation
Correct Answer: a. Functional requirement

Detailed Solution:
Lodging a complaint against an erring driver is a functional requirement.

4
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 9:

Consider the following partial requirement for a software to be developed: “Before any unexpected
system crash or shutdown all current data must be saved for seamless restoration.” It can be
considered to be which one of the following types of requirements?
a. Functional requirement
b. Non-Functional requirement
c. Design constraint
d. Goal of implementation
e. External interface requirement

Correct Answer: e. External interface requirement


Detailed Solution:

It is an example of external interface requirement as the data need to be stored before unexpected
crash, for restoration.

QUESTION 10:

Which one of the following most accurately states the time at which the requirement specification
activity carried out during the requirements analysis and specification ?
a. During requirements gathering activity
b. Before requirements analysis activity
c. Before requirements gathering activity
d. After requirements analysis activity
e. During requirements analysis activity
Correct Answer: d. After requirements analysis activity

Detailed Solution:
Requirement specification activity is carried out after analysis is done during requirement analysis
and specification.

5
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 11:

Which one of the following are not requirements gathering techniques?


a. Task analysis
b. Scenario analysis
c. Structured analysis
d. Form analysis
e. SRS document review

Correct Answer: c. Structured analysis


e. SRS document review

Detailed Solution:
Structure analysis and SRS document review are not requirement gathering techniques. Please refer
slide 2 of week 4 lecture material for more information.

***************** THE END******************

6
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

Software Engineering
Assignment- 3

TYPE OF QUESTION: MCQ/MSQ


Number of questions: 10 Total mark: 10 X 1 = 10

For each of the following questions one or more of the given options are correct. Choose the correct
options.

QUESTION 1:

Among the following modes of communication among the project team members, which one is
most effective?
a. Carefully prepared documents
b. Pre-recorded video
c. Pre-recorded audio
d. Face to face communication with a whiteboard
e. E-mail exchanges
Correct Answer: d. Face to face communication with a whiteboard
Detailed Solution:
Face-to-face communication with a white board is most effective among the project team
members. Please see slide 9 of week 3 lecture material for detailed information.

QUESTION 2:

Which one of the following is not a basic principle of the agile model of software development?
a. Frequent delivery of versions, at least once every few weeks.
b. Completion of the SRS (Software Requirements Specification) document before the
design phase.
c. Close cooperation between customers and developers.
d. Development of prototype before actual software development
e. Face-to-face communication among team members.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

Correct Answer: b. Completion of the SRS (Software Requirements Specification) document


before the design phase.
d. Development of prototype before actual software development
Detailed Solution:
Completion of SRS and development of prototype before actual software development are not
the principles of agile software development methodology.

QUESTION 3:

Extreme programming (XP) model recommends to take the software development best practices
to extreme.
Best Practice Extreme programming technique

p) If code review is good: Always


review t) Continuous integration.
q) If testing is good: Continually
write and execute test cases u) Test-driven development.
r) If design is good: Everybody will
design daily
v) Pair programming
s) If frequent integration is
important, build and carry out
integration test several times a w) Refactor
day
Which one of the following is the best match of the above identified software development best
practices with the corresponding techniques used in extreme programming.
a. p---t, q---u, r---v, s---w
b. p---v, q---t, r---w, s---u
c. p---v, q---t, r---w, s---u
d. p---v, q---w, r---t, s---u
e. p---u, q---w, r---t, s---v
Correct Answer: c. p---v, q---t, r---w, s---u

Detailed Solution:
Option c is the most appropriate matches. For detailed information, please see slide 21 of week 3
lecture material.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 4:

Which one of the following statements regarding Scrum software development is FALSE?
a. A sprint is a month-long iteration, during which an incremental product functionality
is completed
b. No outside influence can interfere with the Scrum team during the Sprint
c. Before every sprint, the set of objectives it will achieve is documented in a chart
d. Scrum projects progress in a series of “sprints”
e. Customer can suggest changes during sprint, which is taken care during that sprint

Correct Answer: e. Customer can suggest changes during sprint, which is taken care during that
sprint

Detailed Solution:
No changes is entertained during a sprint. Please refer slides 37, 39, 40, and 56 of week 3 lecture
material for more information.

QUESTION 5:

In a software development project that is using the scrum model, which one of the following
responsibilities is not performed by the product owner?
a. Define the features of the product
b. Decide on release date and content
c. Ensure that the team is fully functional and productive
d. Accept or reject work results.
e. Attend daily scrum meetings
Correct Answer: c. Ensure that the team is fully functional and productive

Detailed Solution:
Product owner normally acts on behalf of customer. Therefore, he does not ensure that the team is
fully functional and productive. Please see slide 43 of week 3 lecture material for further
information.

3
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 6:

In a scrum-based development project, which of the following responsibilities are not performed by
the scrum master?
a. Decides on release date and content for every sprint
b. Remove impediments that the project team faces
c. Ensure that the team is fully functional and productive
d. Accept or reject work results.
e. Shield the team from external interferences

Correct Answer: a. Decides on release date and content for every sprint
d. Accept or reject work results.

Detailed Solution:
Ambiguity, inconsistency, and incompleteness are removed during requirement analysis phase.

QUESTION 7:

In a scrum-based development project, which of the following sentences are FALSE regarding a
daily scrum meeting?
a. This meeting does not address solving problems being faced by the developers
b. The primary purpose of this meeting is to enable the scrum master to identify the
laggards in the development team
c. In this meeting, the team members make commitments to the scrum master about the
progress they would achieve over the day
d. In this meeting, team members take stock of the progress achieved so far
e. In this meeting, team members update each other on what they are working on
f. The scrum master can track the progress of the team in this meeting

Correct Answer: b. The primary purpose of this meeting is to enable the scrum master to
identify the laggards in the development team
c. In this meeting, the team members make commitments to the scrum master
about the progress they would achieve over the day
Detailed Solution:
Scrum meeting neither enables the scrum master to identify the laggards in the development team
nor team members make commitments to the scrum master about the progress they would achieve
over the day. For more information, please refer slide 49 of week 3 lecture material.

4
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 8:

Which of the following are false is regarding sprint burndown chart?


a. Depicts the total Sprint Backlog hours remaining per day
b. Shows the estimated amount of time to complete
c. It visually depicts the workflows to help manage it
d. Ideally should burn down to zero to the end of the sprint
e. It is a “big picture” view of project’s progress

Correct Answer: c. It visually depicts the workflows to help manage it


e. It is a “big picture” view of project’s progress
Detailed Solution:

Sprint burndown chart does not visually depict the workflows, neither is it a big picture view of the
progress of the project. Please see slide 57 of week 3 lecture material for more information.

QUESTION 9:

Which of the following are not characteristics of agile software development projects?
a. Shared code ownership
b. Implement the simplest solution to meet today's problem
c. Each incremental delivery is preceded by prototype construction
d. Continual feedback from customer
e. Postpone integration until all the incremental deliveries are complete

Correct Answer: c. Each incremental delivery is preceded by prototype construction


e. Postpone integration until all the incremental deliveries are complete
Detailed Solution:
Shared code ownership, implementation of simplest solution and continual feedback from customer
are the characteristics of agile software development projects.

5
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 10:

Which one of the following aspects of a software being developed are NOT its non-functional
requirements (NFRs)?
a. Security
b. Price to be charged to the customer
c. Usability
d. Compliance to standards
e. Maintainability

Correct Answer: b. Price to be charged to the customer


d. Compliance to standards

Detailed Solution:
Security, Usability, and Maintainability of a software are the its non-functional requirements.

***************** THE END******************

6
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

Software Engineering
Assignment- 1

TYPE OF QUESTION: MCQ/MSQ


Number of questions: 10 Total mark: 10 X 1 = 10

For each of the following questions one or more of the given options are correct. Choose the correct
options.

QUESTION 1:
Which of the following is not a software service type of project?
a. A project for customization of an educational institute automation software
b. Development of a new feature for an existing office automation software
c. A project for maintenance of a generic accounting software package
d. A project for testing of a generic accounting software package
e. A project undertaken by a vendor to develop from scratch a novel plant automation
software for a client
Correct Answer: e. A project undertaken by a vendor to develop from scratch a novel plant
automation software for a client
Detailed Solution:
Project developed form scratch does not belong to service class of software, rather it is a product.
Please see slide 47 of week 1 lecture material.

QUESTION 2:

Which one of the following characteristics of a complex system makes is necessary to develop it
with both hardware and software parts, rather than realizing it using entirely hardware?
a. High system reliability
b. Low development cost of the system
c. Easy to change the system to meet changing customer requirements
d. Low operating cost
e. Low power consumption
f. Low weight of the system
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

Correct Answer: c. Easy to change the system to meet changing customer requirements
Detailed Solution:
The complex systems should make it easy to change the system to meet customer requirements.
Please refer slide 7 of week 1 lecture material.

QUESTION 3:

Which one of the following are not factors contributing to the present day software crisis?
a. Larger problems,
b. Poor project management
c. Lack of customer commitment
d. Lack of adequate training in software engineering
e. Low reliability of the hardware platforms

Correct Answer: c. Lack of customer commitment


e. Low reliability of the hardware platforms
Detailed Solution:
Lack of customer commitment and low reliability of the hardware platforms do not contribute to
present day software crisis. You can refer slide 9 of week 1 lecture material.

QUESTION 4:

Which one of the following types of software development process most closely resembles the
exploratory style of software development?
a. First specify the software, then design the test cases, then develop the software, and
keep on modifying it until it passes all the test cases
b. First specify the system, then develop the software, and finally test the developed
software
c. First develop the software, then test it, and then keep on modifying the software
until it passes all the test cases
d. Keep on specifying a little, designing a little, and testing a little until the full
software is developed
e. First write the test cases, then develop the software, then keep on modifying the
software until it passes all the test cases.

Correct Answer: c. First develop the software, then test it, and then keep on modifying the
software until it passes all the test cases
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

Detailed Solution:
Exploratory style of software development resembles to: first develop the software, then test it, and
then keep on modifying the software until it passes all the test cases. You may refer slide 13 of
week 1 lecture material for more information.

QUESTION 5:

Which one of the following is FALSE about developing a large software by deploying the
exploratory style of development?
a. Difficult to use exploratory style in team development environment
b. For large-sized project, use exploratory development style leads to cost and time
overruns
c. Development toy programs such as introductory programming assignments using
exploratory style, leads to poor quality software and unreasonably large
development time.
d. Development of large projects using the exploratory style, often leads to project
failure
e. It is difficult to complete even simple projects using exploratory style of
development

Correct Answer: c. Development toy programs such as introductory programming assignments


using exploratory style, leads to poor quality software and unreasonably large development time.
e. It is difficult to complete even simple projects using exploratory style of development

Detailed Solution:
Toy programs do not lead to poor quality as it is small in size. Therefore, simple projects are easier
to follow exploratory style of development. For more information, please refer slide 14, and 15 of
week 1 lecture material.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 6:

It is observed that while using the exploratory development style, the effort required to develop a
software grows exponentially with the size of the software. Which one of the following is a
possible reason behind it?
a. Cost of requirements gathering increases exponentially
b. Code size becomes exponentially large
c. The number of independent variables in the monolithic program increases, leading
to exponential increase in the effort to understand the program.
d. As the size of any program increases, it becomes exponentially more difficult to
correct compilation errors.
e. Design effort increases exponentially

Correct Answer: c. The number of independent variables in the monolithic program increases,
leading to exponential increase in the effort to understand the program.
Detailed Solution:
The effort required to develop a software grows exponentially with the size of the software
because as the number of independent variables in the monolithic program increases, it quickly
exceeds the grasping power of an individual and requires an unduly large effort to master the
problem.

QUESTION 7:

Which one of the following is justified by the magic number 7?


a. Number independent variables in a function should not exceed 7.
b. A function should not call more than 7 functions
c. A function should not be called by more than 7 functions
d. Number of decision statements in a function should not exceed 7.
e. Number of members of a team should not exceed 7

Correct Answer: a. Number independent variables in a function should not exceed 7.


b. A function should not call more than 7 functions
d. Number of decision statements in a function should not exceed 7.

Detailed Solution:

If a person deals with seven or less number of items, these would be accommodated in the short
term memory. So, he can easily understand it. For more information about magic number 7, please
refer slide 24 of week 1 lecture material.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 8:

Which one of the following terms is a synonym for the abstraction technique?
a. Model building
b. Decomposition
c. Modularization
d. Mapping
e. Elaborating

Correct Answer: a. Model building


Detailed Solution:

Abstraction is also called as model building. Please refer slide 29 of week 1 lecture material.

QUESTION 9:

Which one of the following statements concerning the principles of abstraction and decomposition
is false?
a. A geographical map is an abstraction of a country
b. Organization of the contents of a book into chapters is an example of application of
the decomposition technique
c. Constructing a model of a building is an application of the principle of abstraction
d. For a given system, only a single and unique model can be constructed
e. A unique decomposition is possible for any given problem

Correct Answer: d. For a given system, only a single and unique model can be constructed
e. A unique decomposition is possible for any given problem
Detailed Solution:

Abstraction is possible where there is a possibility for creation of multiple instances capturing
different aspects of a system.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 10:

Which one of the following statements are FALSE?


a. A job is a repetition of a set of well-defined and well understood tasks with very
little uncertainty.
b. A software development project consists of only a set of explorations
c. An exploration is a set of tasks whose outcome is uncertain
d. A software project consists of a mixture of jobs and explorations
e. A software development project consists of only a set of jobs

Correct Answer: b. A software development project consists of only a set of explorations


e. A software development project consists of only a set of jobs
Detailed Solution:

A software project consists of a mixture of jobs and exploration. Please refer slide 43 of week 1
lecture material.

***************** THE END******************


NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

Software Engineering
Assignment- 2

TYPE OF QUESTION: MCQ/MSQ


Number of questions: 10 Total mark: 10 X 1 = 10

For each of the following questions one or more of the given options are correct. Choose the correct
options.

QUESTION 1:

Consider the following statement: “Software developed using modern development practices have
higher visibility.” Which one of the following is implied by this sentence?
a. Project documents are widely published
b. Documents are produced at each stage of development
c. The software development using modern development practices gets higher
attention from the customer.
d. Animation is used at each development stage
e. Projects undertaken using modern development practices garner frequent media
publicity.
Correct Answer: b. Documents are produced at each stage of development
Detailed Solution:
Visibility of a software in this context implies the availability of documents produced at each
stage of development.

QUESTION 2:

Which one of the following most accurately characterizes the 99% complete syndrome?
a. 99% of the project is completed on time.
b. 99% of the project is not completed on time.
c. 99% of project assumed to be complete, though in reality a much smaller part of the
project is complete.
d. 99% of project assumed to be complete, though in reality the full project is already
complete.
e. Project is completed in 99% of the originally estimated time.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

Correct Answer: c. 99% of project assumed to be complete, though in reality a much smaller part
of the project is complete.

Detailed Solution:
99% syndrome occurs when life cycle model is not followed. Here, the project manager would
have to depend on the guesses of the team members.

QUESTION 3:

Which of the following are not phases of the waterfall model of software development?
a. Requirements specification
b. Feasibility study
c. Unit testing
d. Maintenance
e. Prototype development
Correct Answer: c. Unit testing
e. Prototype development
Detailed Solution:
Unit testing and Prototype development do not come under waterfall model of software
development. Please refer slide 18 of week 2 lecture material for more information.

QUESTION 4:

Of the following phases in the development of a typical software, which one requires the least
effort?
a. Requirements specification
b. Feasibility study
c. integration and system testing
d. Maintenance
e. Design

Correct Answer: b. Feasibility study

Detailed Solution:
Feasibility study requires the least effort among the given phases. Please see slide 20 of week 2
lecture material for reference.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 5:

Which one of the following activities is not undertaken during the feasibility stage of the waterfall
model?
a. Work out an overall understanding of the problem.
b. Formulate different solution strategies.
c. Examine alternate solution strategies
d. Specify the requirements of the system
e. Make project plan

Correct Answer: d. Specify the requirements of the system


e. Make project plan

Detailed Solution:
Specify the requirements of the system and Make project plan are not undertaken during feasibility
study phase of waterfall model. Please refer slide 27 of week 2 lecture material.

QUESTION 6:

In a typical software development project, which of the following issues in the gathered
requirements are targeted to be removed during requirements analysis?
a. Ambiguity
b. Inconsistency
c. Incompleteness
d. Formality
e. Description of the user characteristics

Correct Answer: a. Ambiguity


b. Inconsistency
c. Incompleteness
Detailed Solution:
Ambiguity, inconsistency, and incompleteness are removed during requirement analysis phase.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 7:

Which of the following most accurately state the important goals of system testing?
a. Ensure that the developed system is fault free
b. Ensure that the developed system functions according to its functional requirements
as specified in the SRS document.
c. Ensure that the developed system meets all its quality requirements
d. Ensure that the various components of the developed system are interfacing with
each other correctly
e. Ensure that the system meets its nonfunctional requirements as specified in the SRS
document.

Correct Answer: b. Ensure that the developed system functions according to its functional
requirements as specified in the SRS document.
e. Ensure that the system meets its nonfunctional requirements as specified in
the SRS document.

Detailed Solution:
Both functional and non-functional requirements are tested during system testing.

QUESTION 8:

Which one of the following are typically not the important types of maintenance undertaken during
the maintenance phase of a typical software product?
a. Corrective maintenance
b. Perfective maintenance
c. Annual overall maintenance
d. Adaptive maintenance
e. Preventive maintenance

Correct Answer: c. Annual overall maintenance


e. Preventive maintenance
Detailed Solution:

Annual overall maintenance and preventive maintenance are not types of maintenance. For further
information, please see slide 52 of week 2 lecture material
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur

QUESTION 9:

Which one of the following simplifying assumptions of the classical waterfall model is removed by
the iterative waterfall model of software development?
a. No rework to any artifact developed during a life cycle phase is ever needed later
during development
b. No requirements change take place later in the life cycle
c. No technical risks occur later in the life cycle
d. No inaccuracy in the project estimations occur
e. Project team consists of competent programmers

Correct Answer: a. No rework to any artifact developed during a life cycle phase is ever needed
later during development
Detailed Solution:
Classical waterfall model is realistic. However, defects get introduced in almost every phase of the
life cycle. Therefore, it requires rework.

QUESTION 10:

Which one of the following sentences explains the possible reason for the following observation:
“As the development of a software gets underway using waterfall model of development, the later
the phase in which a defect gets detected, the more expensive is its removal.”
a. The artefacts developed during phases succeeding the phase in which a defect occurs
need to be reworked
b. The artefacts developed during phases preceding the phase in which a defect occurs
need to be reworked
c. More severe defects are detected in a later phases
d. During the later phases of the life cycle, several developers would be demotivated
and would not work effectively
e. The later is the phase, the more technical and complex is the work product

Correct Answer: b. The artefacts developed during phases preceding the phase in which a defect
occurs need to be reworked

Detailed Solution:
In waterfall model, the artefacts developed during phases preceding the phase in which a defect
occurs need to be reworked. Therefore, the later the phase in which a defect gets detected, the
more expensive is its removal.

***************** THE END******************

You might also like