SE- ALL ASSIGNMENT
SE- ALL ASSIGNMENT
SE- ALL ASSIGNMENT
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 are not factors contributing to the software crisis?
a. Larger problems,
b. Poor project management
c. Increased use of Computer-Aided Software Engineering (CASE) tools
d. Lack of adequate training in software engineering
e. Low reliability of the hardware platforms
Correct Answer: c. Increased use of Computer-Aided Software Engineering (CASE) tools
e. Low reliability of the hardware platforms
Detailed Solution:
Increased use of CASE tool and low reliability of the hardware platform are not the factors
contributing to software crisis. Please refer to slide 9 of week 1 lecture material.
QUESTION 2:
Which one of the following types of software development 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, and then keep on modifying the software until the
customer accepts it
d. Keep on specifying a little, designing a little, and testing a little until the full
software is developed
e. Develop a prototype to collect customer feedbacks, then develop the software, and
finally test the developed software
Correct Answer: c. First develop the software, and then keep on modifying the software until the
customer accepts it
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
Detailed Solution:
Exploratory style of software development also called build-and-fix style, where the software is first
developed and kept on modifying until the customer accepts it. You can refer slide 12 of week 1
lecture material for more information.
QUESTION 3:
Which one of the following statements is FALSE about the consequence of developing software
by deploying the exploratory style?
a. It is difficult to use exploratory style in team development environment
b. For moderate and large-sized projects, use of exploratory style leads to high cost and
project delays
c. When exploratory approach is used to construct toy projects, such as assignments in
an introductory programming course, the developed software is invariably of poor
quality and also takes an unreasonable amount of time to complete.
d. Development of large projects using the exploratory style, sometimes leads to
project failure
e. When large projects are developed using an exploratory style, very high-quality
software is frequently produced.
Correct Answer: e. When large projects are developed using an exploratory style, very high-
quality software is frequently produced.
Detailed Solution:
Very high quality software is difficult to be assured since it often results in unmaintainable code.
QUESTION 4:
QUESTION 5:
Detailed Solution:
Abstraction focuses attention on only one aspect of the problem and ignores other aspects and
irrelevant details. It is also called model building. Please see slide 29 of week 1 lecture material
for more information.
QUESTION 6:
Defects get introduced into a work product due to mistakes committed by the members of the
development team. A mistake in an activity pertaining to which one of the following phases is
likely to be most expensive to correct when detected during system testing?
a. System testing
b. Design
c. Coding and unit testing
d. Requirements analysis and specification
e. Maintenance
QUESTION 7:
Which of the following are implications of the magical number 7 in build and fix development
projects?
a. Development effort increases exponentially with program size
b. Development effort increases linearly with program size
c. Development effort increases sub-linearly with program size
d. Development effort decreases linearly with program size
e. Each module should be decomposed into at least 7 modules in a good design
f. Each module should be decomposed into at most 7 modules in a good design
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. On the other hand, as the number of new information
increases beyond seven, it becomes exceedingly difficult to understand it.
QUESTION 8:
Which of the following are not implications of severely restricted size of the short–term memory?
a. Difficulty in permanently remembering large amount of information.
b. Difficulty in developing a program with large number of variables
c. Difficulty in debugging a program with large number of variables
d. Difficulty in understanding a program with large number of variables
e. Difficulty in understanding a design in which each module is decomposed into a large
number of modules
f. Difficulty in understanding a design in which a function calls a large number of other
functions
g. Difficulty in understanding a design in which a function is called by a large number of
functions
h. Difficulty in understanding a design in which a module is reused in many modules
Detailed Solution:
Short-term memory cannot remember large amount of information. As the number of independent
variables in the program increases, it quickly exceeds the grasping power of an individual
Please refer slide no. 17 to 26 of week 1 lecture material for more understanding.
QUESTION 9:
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. Testing effort increases exponentially
b. Code size becomes exponentially large
c. As the number of independent variables in the program increases, it quickly exceeds
the grasping power of an individual.
d. As the size of a program increases, it becomes very difficult to correct compilation
errors.
e. As the size of a program increases, program compilation takes an unduly large
amount of time.
Correct Answer: c. As the number of independent variables in the program increases, it quickly
exceeds the grasping power of an individual.
Detailed Solution:
As the size and complexity of programs increased further, Exploratory programming style proved
to be insufficient. For more information, please refer slide 62 of week 1.
QUESTION 10:
Detailed Solution:
Magic number 7 indicates that more than 7 items can not be remembered in short-term memory.
Therefore, more than 7 independent variables in a function, or calling more than 7 functions, more
than 7 decision statements in a function make it difficult to remember.
************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:
Which one of the following activities would span all stages of a software development life cycle
(SDLC) in waterfall-based software development?
a. Coding
b. Testing
c. Project management
d. Design
e. Requirements specification
Correct Answer: c. Project management
Detailed Solution:
In SDLC, project management phase spans across all stages. Without SDLC, the project manager
suffers from 99% complete syndrome.
QUESTION 2:
In waterfall model of software development, unit testing is carried out during which phase of the
waterfall model?
a. Implementation phase
b. Testing phase
c. Maintenance phase
d. Design phase
e. Requirements specification phase
Detailed Solution:
During development/implementation phase, unit testing is usually performed by the developers to
ensure proper development.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
QUESTION 3:
In waterfall-based development, which one of the following phases accounts for the maximum
effort during development of a typical software?
a. Implementation
b. Testing
c. Designing
d. Specification
e. Feasibility study
Detailed Solution:
During development phase, testing usually accounts for maximum effort, whereas for overall
SDLC, maintenance phase account for maximum effort. Please refer slide 20 of week 2 lecture
material.
QUESTION 4:
Which of the following advantages can be expected to accrue when iterative waterfall model is used
for a project?
a. Easy to understand, easy to use, especially by inexperienced staff
b. Milestones are well understood by the team
c. Provides requirements stability during development
d. Strong management control (planning, staffing, tracking etc) on the project
e. Project progress can be accurately monitored by the project manager, as a result schedule
slippages are rare
f. Continual integration of the developed code occurs throughout the life cycle
g. Continual customer interactions
QUESTION 5:
Which of the following project characteristics would suggest that a waterfall model-based
development would be appropriate?
a. Requirements are well defined and stable
b. Technology is understood
c. Development team have experience with similar projects
d. Delivery date has been aggressively set
e. Substantial reuse of code is targeted
Detailed Solution:
Delivery date and code reuse is not considered in waterfall model. Please refer slide 62 of week 2
lecture material for more information.
QUESTION 6:
Which of the following are not known shortcomings of the iterative waterfall model of software
development?
a. All requirements must be known upfront
b. Can give a false impression of progress
c. Integration is one big bang at the end
d. Little opportunity for customer to pre-view the system.
e. Inadequate documentation produced as part of the process
f. Number of phases in the model is ill defined
QUESTION 7:
Which one of the following may be experienced by a software development team when it adopts a
systematic development process model in preference to a build-and-fix style of development?
a. Increased documentation overhead
b. Increased development cost
c. Increased maintainability
d. Increased development time
e. Increased code size
f. Increased code efficiency
Detailed Solution:
A software development team when it adopts a systematic development process model in preference
to a build-and-fix style of development experience increased documentation overhead and
maintainability.
QUESTION 8:
Prototyping life cycle model is appropriate when a project suffers from which one of the
following risks?
a. Schedule slippage
b. Manpower turnover
c. Incomplete and uncertain requirements
d. Poor quality of outsourced work
e. Technological obsolescence
Detailed Solution:
Prototyping model is best suited when the requirement is unclear. For more information, please
refer slide 80 of week 2 lecture material.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
QUESTION 9:
Which of the following sections are not important to an effective business case document and can
be omitted?
a. Cost
b. Benefit
c. Risk
d. Configuration management
e. Team structure
Configuration management and team structure are not essential for an effective business case
document. Therefore, these can be omitted. You can refer slide 133 of week 2 lecture material for
additional information.
QUESTION 10:
The operation phase of the waterfall model is a synonym for which one of the following phases?
a. Coding and unit testing phase
b. Integration and system testing phase
c. Maintenance phase
d. Design phase
e. Requirements specification phase
************END***********
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:
Which of the following are prominent characteristics of agile software development?
a. Incremental development
b. Iterative development
c. Linear development
d. Customer participation in development
e. Development at customer site
Correct Answer: a. Incremental development
b. Iterative development
d. Customer participation in development
Detailed Solution:
Incremental release of working software is the primary measure of progress. Delivery of working
versions of a product in several increments. One of the principles of agile methodology is close
cooperation between customers and developers.
QUESTION 2:
Detailed Solution:
Agile model advocates that in each increment, get something of business-valued delivered,
consistent with the right level of quality. Here no long term plan are made at a time.
QUESTION 3:
Which of the following are not the characteristic of an agile software development project?
a. Shared code ownership
b. Implement the simplest solution to meet today's problem
c. Continual feedback from customer
d. Postpone integration until all the incremental deliveries are complete
e. Pair programming
f. Rapid prototyping
Correct Answer: d. Postpone integration until all the incremental deliveries are complete
f. Rapid prototyping
Detailed Solution:
In agile model, improvement to the prototype is done in each increment. At each incremental
delivery, integration to the existing model is done. Delivery of working versions of a product in
several increments.
QUESTION 4:
Members of a Scrum team are usually expected to answer which of the following questions during a
daily Scrum meeting?
a. What did you do yesterday
b. What will you do today?
c. What obstacles are in your way?
d. Why are you getting delayed?
e. Why your program is having too many bugs?
QUESTION 5:
Correct Answer: c. During a Sprint, customer feedback is continually obtained and the Sprint
backlog is accordingly modified
Detailed Solution:
In Scrum development, customer feedback is obtained after sprint planning (generally, after a
month-long iteration).
QUESTION 6:
Which of the following are not true of a build and fix style of development?
a. Coding starts immediately after requirements specification
b. Coding starts without any formal requirements specification
c. No formal design is carried out
d. No testing is carried out
e. No requirements specification document is developed
Detailed Solution:
Coding does not start immediately after requirement in build and fix style of development. Here,
testing is also carried out.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
QUESTION 7:
Who among the following are considered as the stakeholders in a software development project?
a. Shareholders of the organization developing the software
b. Shareholders of the organization for whom the software is getting developed
c. Anyone who is interested in the software
d. Clients who define the requirements for the software
e. Developers of the outsourced parts of the software
f. Developers of the software
g. Users of the software
Correct Answer: d. Clients who define the requirements for the software
e. Developers of the outsourced parts of the software
f. Developers of the software
g. Users of the software
Detailed Solution:
SRS intended for a diverse audience:
–Customers and users use it for validation, contract, ...
–Systems (requirements) analysts
–Developers, programmers to implement the system
–Testers use it to check whether requirements have been met
–Project Managers to measure and control the project
QUESTION 8:
Which of the following are performed during the requirements analysis and specification phase in
an iterative waterfall software development?
a. Gather requirements.
b. Build a prototype.
c. Identify any ambiguity, inconsistency, and incompleteness in the gathered requirements
d. Analyze and allocate resources based on requirements specification
e. Prepare the requirements specification document
During Requirement analysis and specification phase, requirements are gathered, analysed for any
inconsistency, ambiguity or incompleteness, and specification where requirements are documented.
For more information, please refer slide 68 of week 3 lecture material.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
QUESTION 9:
Pair programming intends to take which one of the following best practices to the extreme?
a. Design
b. Incremental development
c. Code review
d. Simplicity
e. Spike development
f. Daily integration
Detailed Solution:
As all production code is written with two programmers at one machine in pair programming, it is
best suited for code review task.
QUESTION 10:
Detailed Solution:
The purpose of the Requirements Analysis Phase is to transform the needs and high-level
requirements specified in earlier phases into unambiguous (measurable and testable), traceable,
complete, consistent, and stakeholder-approved requirements.
************END***********
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
Software Engineering
Assignment- 4
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:
A software requirements specification (SRS) document should avoid discussing which of the
following?
a. Functional requirements
b. Non-functional requirements
c. Design specification
d. Constraints on the implementation
e. Resource allocation for the project
Correct Answer: c. Design specification
e. Resource allocation for the project
Detailed Solution:
Four important parts of SRS are:
–Functional requirements,
–External Interfaces
–Non-functional requirements,
–Constraints
QUESTION 2:
Consider the following requirement for a word processor software: " The software should provide
facility to import an existing image available as a jpeg file into the document being created.".
Which one of the following types of requirements is this?
a. Functional requirement
b. Non-functional requirement
c. Constraint on the implementation
d. Goal of implementation
e. External interface requirement
Detailed Solution:
Importing an image into a document is a kind of task to be accomplished. Hence it is a functional
requirement.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
QUESTION 3:
Consider the following partial description of the IIT security software. “Employees of the company
should be able to register their vehicles with the payroll software.” 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
QUESTION 4:
Consider the following partial requirement for a software: “It should be possible to use a web browser
as the front end.” 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. External interface
e. Goal of implementation
QUESTION 5:
When a company plans to develop a generic product, who among the following is usually the
source of the requirements?
a. Development team members
b. Project manager
c. Sales personnel
d. Personnel from finance department
e. A future user of the product
Detailed Solution:
The sales personnel give the requirements when a company plans to develop a generic product. For
more information, please refer to slide 65 of week 3 lecture material.
QUESTION 6:
Which of the following problems in the gathered requirements is not the focus of the requirements
analysis task?
a. Inconsistency
b. Ambiguity
c. Incompleteness
d. Unstructuredness
e. Grammar and sentence construction problems
Detailed Solution:
Grammar and sentence construction problems are not the focus of requirement gathering task.
However, it is a guideline to write to good software specification.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
QUESTION 7:
Detailed Solution:
SRS document is considered as a black box whose internal details are not known. For more details,
please refer slide 22 od week 4 lecture material.
QUESTION 8:
Correct Answer: d. Once a requirement has been created it may not be modified
e. Once a requirement has been created it may not be deleted
Detailed Solution:
QUESTION 9:
Which one of the following most accurately reflects the style of software development that takes
place in an agile software development project?
a. Incremental development
b. Iterative development
c. Prototyping
d. Linear development
e. Both incremental and iterative development
Detailed Solution:
Agile software development project follows both incremental and iterative development process.
QUESTION 10:
In which of the following SDLC models, testing activities are spread over the entire development
life cycle?
a. Iterative waterfall model
b. V model
c. Prototyping model
d. Classical waterfall model
e. Scrum model
Detailed Solution:
Testing activities are spread over the entire development life cycle in V model and scrum model.
************END***********
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:
The extent of data exchanges between two modules is indicated by which one of the following
terms?
a. Coupling
b. Cohesion
c. Structure
d. Union
e. Integration
Correct Answer: a. Coupling
Detailed Solution:
The data exchange between two modules is known as coupling, whereas within the same module is
known as cohesion.
QUESTION 2:
Which one of the following types of cohesion can be considered as the best form of cohesion?
a. Logical
b. Coincidental
c. Temporal
d. Functional
e. Procedural
Detailed Solution:
Cohesion is a measure of:
–functional strength of a module.
–A cohesive module performs a single task or function.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
QUESTION 3:
The modules in a good software design should have which one of the following characteristics?
a. High cohesion, low coupling
b. Low cohesion, high coupling
c. Low cohesion, low coupling
d. High cohesion, high coupling
e. Moderate cohesion, high coupling
QUESTION 4:
Which of the following is the best (most desirable) type of module coupling?
a. Control coupling
b. Stamp coupling
c. Data coupling
d. Content coupling
e. Common coupling
QUESTION 5:
Detailed Solution:
Content coupling has the highest degree of coupling. Hence, it is most undesirable for module
coupling. For more information, please refer slide 47 of week 5 lecture material.
QUESTION 6:
Detailed Solution:
Coincidental cohesion has the lowest degree of cohesion. Hence, it is not desirable for software
design. For details please refer slide 32 of week 5 lecture material.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
QUESTION 7:
In which one of the following types of coupling, complete data structures are passed from one
module to another?
a. Control Coupling
b. Stamp Coupling
c. External Coupling
d. Content Coupling
e. Common coupling
Detailed Solution:
Two modules are stamp coupled, if they communicate via a composite data item or an array or structure
in C.
QUESTION 8:
If all tasks must be executed in the same time-span, what type of cohesion is being exhibited?
a. Functional Cohesion
b. Temporal Cohesion
c. Functional Cohesion
d. Sequential Cohesion
e. Communicational cohesion
Detailed Solution:
Temporal cohesion is exhibited for the given scenario. For example, the set of function is
responsible for initialization, start-up, shut-down of any process etc.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
QUESTION 9:
Which one of the following is the correct ordering of the coupling of modules from strongest (least
desirable) to weakest (most desirable)?
a. content, common, control, stamp, data
b. common, content, control, stamp, data
c. content, data, common ,stamp, common
d. data, control, common, stamp, content
e. common, data, control, stamp, content
f. content, data, control, common, stamp
Detailed Solution:
content> common> control> stamp> data based on the degree of cohesion. For more information,
please refer to slide 47 of week 5 lecture material.
QUESTION 10:
During the detailed design of a module, which one of the following is designed?
a. Module hierarchy
b. Data structures and algorithms
c. Control structure
d. Data flow structure
e. Module interfaces
Detailed Solution:
Data structure and algorithms are designed during the detailed design module.
For more information, please refer slide 11 of week 5 lecture material.
************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:
A data flow diagram represents which one of the following?
a. The conditions based on which data items may be processed
b. The order in which different activities are carried out
c. The transformation of data through processing stations
d. The order in which various functions of a program are invoked
e. Interaction among different modules of a program
Correct Answer: c. The transformation of data through processing stations
Detailed Solution:
DFD represents the transformation of data through processing stations. For more information,
please refer slide 13 of week 6 lecture material.
QUESTION 2:
For a given programming problem, a DFD (data Flow Diagram) model depicts which of the
following?
a. Flow of data
b. Flow of control
c. Flow of decisions
d. Flow of atomic conditions
e. Sequence of interaction among processes
f. Interaction among modules
Detailed Solution:
DFD model depicts the flow of data in a programming problem.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
QUESTION 3:
Which of the following statements are not true of a data flow diagram (DFD) model?
a. It is a hierarchical diagram.
b. It represents code structure
c. It does not represent decisions and control flows.
d. It represents decomposition of functions and data into finer forms.
e. It represents the sequence in which the different processes are invoked
Detailed Solution:
DFD is a hierarchical graphical model that shows the different functions (or processes) of the
system and data interchange among the processes. For more information, please refer slide 13 of
week 6 lecture material.
QUESTION 4:
In a procedural design approach, during the detailed design stage, which of the following is
undertaken?
a. Module structure is designed
b. Data flow representation is developed
c. Data structures and algorithms for the individual modules are designed
d. Structure chart is developed
e. Module call relationships are designed
f. Module interactions are designed
Correct Answer: c. Data structures and algorithms for the individual modules are designed
Detailed Solution:
Data structure and algorithms are designed during the detailed design module. For more information,
please refer slide 11 of week 5 lecture material.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
QUESTION 5:
Detailed Solution:
QUESTION 6:
Detailed Solution:
Context diagram represents the software at the most abstract level. For more information, please
refer slide 32 of week 6 lecture material.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
QUESTION 7:
Which of the following are identifiable mistakes in the following context diagram?
Detailed Solution:
Data store appearing at the context level in the given diagram and name of one entity is missing are
the two identifiable mistakes in the given diagram.
QUESTION 8:
Which of the following information are not present in a structure chart model of a software
system?
a. Various modules making up the system,
b. Module call structure
c. Parameters passed among different modules
d. Data structures and algorithms of the modules
e. How the data is transformed by the functions
Detailed Solution:
QUESTION 9:
a. Unbalanced
b. Presence of synchronous data flow
c. Presence of asynchronous data flow
d. Data flow arrows are not numbered
e. Presence of control information
QUESTION 10:
Which of the following can be said about the following DFD (data flow diagram)?
a. The bubble Display number processes numbers at the same rate as the bubble
Read-numbers
b. The bubble Validate numbers processes numbers at the same rate as the
bubble Read-numbers
c. The bubble Display number processes numbers at a different rate as
compared to the bubble Read-numbers
d. The bubble Validate number processes numbers at a different rate as
compared to the bubble Read-numbers
e. The rate at which the bubble Display numbers processes numbers is the as
the rate at which Validate numbers processes numbers.
Correct Answer: a. The bubble Display number processes numbers at the same rate as the bubble
Read-numbers
d. The bubble Validate number processes numbers at a different rate as
compared to the bubble Read-numbers
Detailed Solution:
Since there is a direct connection between Display number process and Read
number process, they are synchronous. On the other hand, Validate number
process and Read number process are asynchronous since they communicate
through a data store.
************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:
Which of the following term means packing of data and functions into a single unit in a program?
a. Polymorphism
b. Abstraction
c. Encapsulation
d. Inheritance
e. Decomposition
Correct Answer: c. Encapsulation
Detailed Solution:
QUESTION 2:
Which of the followings are important advantages of applying the principle of data hiding to a
design solution?
a. Low cohesion
b. High coupling
c. Low fan out
d. Low coupling
e. High cohesion
QUESTION 3:
Which of the followings are characterize the inheritance relation between two classes?
a. Encapsulation.
b. Aggregation
c. Generalization and specialization.
d. Polymorphism
e. “Has a” relation
f. “Is a” relation
g. Composition
Correct Answer: c. Generalization and specialization, f. “Is a” relation
Detailed Solution:
Inheritance represents generalization-specialization. It also represents “Is a” relation. So, option c. and
f. are correct. Please refer slide no. 60-61 of the week 7 lecture material.
QUESTION 4:
Consider the statement: "An employee is either a worker or a manager." Assuming that Employee
and Manager to be two classes, what can be said about the relationship between these two
classes?
a. Association
b. Generalization-specialization
c. Aggregation
d. Polymorphism
e. Composition
f. Dependency
Correct Answer: b. Generalization-specializationm
Detailed Solution:
"An employee is either a worker or a manager."—this represents “Is a” relationship. “IS a”
relationship represent by inheritance. Inheritance represents Generalization-specialization. So, option
b. is the correct one.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
QUESTION 5:
Which one of the following can be said about an abstract data type (ADT)?
a. It is a synonym for an abstract class
b. A data type that cannot be instantiated
c. A data type that can only be used through the operations defined on it
d. It is the same as a collection of data items
e. It is the same as an aggregation of data items
Correct Answer: c. A data type that can only be used through the operations defined on it
Detailed Solution:
An abstract data type (ADT) supports only the operations which are defined on it. So, option c. is
the correct one.
QUESTION 6:
Which one of the following phrases indicates the relationship that exists between a class and its
public parent class?
a. "...is a..."
b. "...has a..."
c. "...is implemented as a..."
d. "...uses a..."
e. “…implementation of…”
Correct Answer: a. “…is a…”
Detailed Solution:
Between a class and its parent class “Is a” relationship exist.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
QUESTION 7:
Which one of the following sentences most closely describes "multiple inheritance" in object-
oriented development?
a. Two classes inherit from each other
b. A base class has two or more derived classes
c. A child class has two or more parent classes
d. A child class has both an "is a" and a "has a" relationship with its parent class
e. A class is derived from its parent class, which in turn is derived from its parent class
Detailed Solution:
Multiple inheritance is a feature of some object-oriented computer programming languages in which
an object or class can inherit characteristics and features from more than one parent object or parent
class. Please refer slide no. 63 of week 7 lecture material.
QUESTION 8:
Which one of the following is true of a design solution that involves several deep inheritance
hierarchies?
a. It is a sign of a good design as it increases reuse
b. It is a sign of a good design as it leads to sophisticated and versatile classes at
the leaf level
c. It is a sign of good design as it increases polymorphic bindings
d. It is a sign of bad design as it breaks encapsulation
e. It is a sign of bad design as it causes repeated inheritance
Correct Answer: d. It is a sign of bad design as it breaks encapsulation
Detailed Solution:
Indiscriminate use of inheritance can result in poor quality programs. It increases coupling and lead
to encapsulation weakness. So, option d. is correct.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
QUESTION 9:
Which of the following are NOT the characteristics of a good textual description accompanying a
use case diagram?
a. Every use case description starts with a request from the system to an actor.
b. The textual description should be written using the development team’s
terminologies
c. Every use case description ends with the system producing all answers the
actor asked for.
d. Every use case description is written from the actor’s point of view.
e. Every use case description should identify the sequence of message exchanges
required among the concerned classes.
Correct Answer: b. The textual description should be written using the development team’s
terminologies
e. Every use case description should identify the sequence of message
exchanges required among the concerned classes.
Detailed Solution:
The textual description of a use case diagram need not to written using the development team’s
terminologies. The textual description of use case not describe the message exchanges among the classes.
So, option b. and e. are the correct choices.
QUESTION 10:
Which of the following statements are false regarding UML models of a system?
a. Construction UML models help handle complexity in the problem
b. All UML models are design models of the system
c. All UML designs are models of the system
d. In general, from a system implementation, all UML models can be extracted
e. Dynamic UML models represent behavioral aspects of the system
f. Static UML models represent structural aspects of the system
Correct Answer: b. All UML models are design models of the system
d. In general, from a system implementation, all UML models can be extracted
Detailed Solution:
UML is a modelling language. Not a system design. All UML models can not be extracted.
“UML is a large and growing beast, but you don’t need all of it in every problem you solve…”
Please refer slide no. 7 to 17 of week 7 lecture material.
************END***********
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:
Consider the following sentence: “A square is a polygon”. From an analysis of the sentence, identify the
relations between the two classes Square and Polygon that can be inferred from the sentence.
a. Inheritance
b. Association
c. Aggregation
d. Composition
e. Dependency
Detailed Solution:
“A square is a polygon” – represents “Is a” relationship. So, inheritance can be inferred from the
sentence. So, option a. is correct.
QUESTION 2:
Consider the sentence: A college has many Students. Which one of the following best
characterizes the relationship that exists between the College class and the Student class?
a. Inheritance
b. Specialization
c. Association
d. Composition
e. Dependency
Detailed Solution:
A college has many students. Here college class and student class are associated with each other.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
QUESTION 3:
Consider the following sentence: “100 paisa is one rupee”. From an analysis of the sentence, identify the
relation between the two classes Paisa and Rupee that can be inferred from the sentence.
a. Inheritance
b. Association
c. Aggregation
d. Composition
e. Dependency
Detailed Solution:
“100 paisa is one rupee” – one rupee composed with 100 paisa. So, it represents composition, it is
not “Is a” relationship.
QUESTION 4:
Consider the following sentence: “Students live in hostels”. From an analysis of the sentence, identify the
relation between the two classes Student and Hostel that can be inferred from the sentence.
a. Inheritance
b. Association
c. Aggregation
d. Composition
e. Dependency
Detailed Solution:
“Students live in hostels” --- here Student and Hostel are associated with each other. Student and
Hostel are two entities here so it is a binary association.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
QUESTION 5:
A collaboration diagram is used by the designers for its capability to effectively depict which one of the
following types of information?
Detailed Solution:
A collaboration diagram, also known as a communication diagram, is an illustration of the
relationships and interactions among software objects in the Unified Modeling Language (UML). It also
represents class associations. So, option d. is the correct option.
QUESTION 6:
QUESTION 7:
Consider the following state chart diagram modelling the behaviour of a turnstile gate. Based on
the modelled behaviour, what would happen if a coin is inserted into the turnstile gate when the
turnstile gate is in the unlocked state?
a. The turnstile gate allows one person to pass and remains in the unlocked state
b. The turnstile gate sounds an alarm and remains in the unlocked state
c. The turnstile gate remains in the unlocked state
d. The turnstile gate returns the coin and remains in the unlocked state
e. The turnstile gate returns the coin and becomes locked
f. The turnstile gate becomes locked
Correct Answer: d. The turnstile gate returns the coin and remains in the unlocked state
Detailed Solution:
From the question figure we can observed that in Unlocked state if a coin inserted it will be return and
the system will remain in the Unlocked state.
QUESTION 8:
Which of the following features of the state chart model are primarily responsible towards
reduced number of states in the finite state modelling of a given problem?
a. Nested states
b. Concurrent states
c. History state
d. Broadcast messages
e. Actions on state entry and exit
Correct Answer: a. Nested states, b. Concurrent states
Detailed Solution:
Nested states and concurrent states reduces the state explosion problem in state chart diagram.
Therefore, it reduces the number of states in the finite state modelling.
QUESTION 9:
Consider the following statement: “India shares borders with Pakistan, Bangladesh, and China.”
Which one of the following is the best way to implement this in an object-oriented program?
a. Define a unary association on Country class
b. Let Country class implement the Border interface
c. Define Country class as an aggregate of Border classes
d. Define a dependency of Country class on Border class
e. Define a quaternary association relation between the Countries India, Pakistan,
Bangladesh, and China
QUESTION 10:
Detailed Solution:
A proper noun implies an object (instance of a class): CSE Dept, OOSD, etc. So, option c. Some
of the nouns is the correct option.
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:
Based on the use case diagram, how many boundary classes should be designed in the domain
model?
a. 3
b. 5
c. 6
d. 8
e. 9
Correct Answer: e. 9
Detailed Solution:
The number of boundary classes is equal to number of interactions among users and use cases.
QUESTION 2:
Based on the use case diagram, how many controller classes should be designed in the domain
model.
a. 3
b. 4
c. 5
d. 6
e. 7
Correct Answer: c. 5
Detailed Solution:
For use case there is one controller class. So, based on the diagram no. of controller classes = 5.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
QUESTION 3:
Which of the followings are do not serve as guidelines 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 number of classes is equal to the number of use cases in the use case model of
the system
d. The aggregator of the objects of an entity class corresponds to a register in the
physical world
e. All actors present in the use case diagram are to be considered as entity classes
Correct Answer: c. The number of classes is equal to the number of use cases in the use case
model of the system
e. All actors present in the use case diagram are to be considered as entity classes
Detailed Solution:
The number of classes may not be equal to the number of use cases in the use case model. The
actors are not considered as entity rather the data stores are used as entity classes.
QUESTION 4:
What is the number of boundary classes that must be included in the domain model for a
software development project whose use case diagram is shown below?
a. 4
b. 5
c. 6
d. 7
e. 8
Correct Answer: b. 5
Detailed Solution:
The number of boundary classes should be equal to the number of interactions among users and use
cases.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
QUESTION 5:
What is the number of controller classes required in the domain model for a software
development project whose use case diagram is shown below?
a. 3
b. 4
c. 5
d. 6
e. 7
Correct Answer: c. 5
Detailed Solution:
The number of use cases represents the number of controller classes.
QUESTION 6:
Detailed Solution:
Program crash for valid input or garbled output to a certain user query is considered as a failure during
testing.
QUESTION 7:
About half the effort of development of a typical software is spent on testing. But, testing typically
requires only 10% of the development time. Which of the followings are explain this apparent
anomaly?
a. A team has too many coders as compared to testers
b. Testing permits many parallel activities to be conducted at any time
c. A team has too many designers as compared to coders
d. Testers are more proficient as compared to other developers
e. Many test tools to automate some of the testing activities are available
Correct Answer:
b. Testing permits many parallel activities to be conducted at any time
e. Many test tools to automate some of the testing activities are available
Detailed Solution:
Even though testing requires half of the development time, the parallel activities and test automation
help in requiring only 10% of the development time.
QUESTION 8:
In a waterfall-based software development, which of the following are true concerning various
verification activities carried out?
a. All verification activities are carried out by a separate testing team
b. All verification activities are carried out by the development team
c. Verification involves both static and dynamic activities
d. Verification involves only static activities
e. Verification involves only dynamic activities
Correct Answer: b. All verification activities are carried out by the development team
c. Verification involves both static and dynamic activities
Detailed Solution:
In a waterfall-based software development, all verification activities are both static and dynamic
and carried out by development team.
N line Certification Courses Indian Institute
P of Technology Kharagpur
T
E
L
O
n
QUESTION 9:
QUESTION 10:
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:
Why is it necessary to test a large program at three different levels: unit, integration, as well as system
levels, rather than testing only at the system level?
a. It reduces the number of test cases that need to be designed
b. It reduces the test execution effort
c. It reduces the debugging effort
d. It reduces test case design effort.
e. It increases thoroughness of testing
Correct Answer: c. It reduces the debugging effort
Detailed Solution:
If we thoroughly test in the system level only, it may possible some faults of unit or integration level
remain undetected. So, debugging those undetected bugs become hurdle. But, if we test in different
level, debugging effort reduces.
QUESTION 2:
Consider a function that takes an integer a (which can assume integral values between 0 to 100) as
its argument and carries out actions involving setting the value of a variable b, and the value of the
variable is displayed, as specified in the following table.
Condition Action
(a<10)||(a>80) b=b+10
(a== 30) b=b+20;
(a==40) b=b+30;
During black box testing of the function, at least how many valid equivalence case test cases are required?
a. 3
b. 4
c. 5
d. 6
e. 7
Correct Answer: b. 4
Detailed Solution:
valid equivalence test cases: a<10 any value, a>80 any value, a=30, and a=40. So 4 valid test cases.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
QUESTION 3:
Consider the following function that takes an integer a (that can assume values between 0 to 100) as
argument and carries out the following actions involving setting the value of a variable b.
Condition Action
(a<10)||(a>80) b=b+10
During black box testing of the function, at least how many boundary value test cases are required
assuming that robust testing is not targeted?
a. 5
b. 12
c. 13
d. 17
e. 18
Correct Answer: a. 5
Detailed Solution:
Boundary value test cases = 4z+1=5.
QUESTION 4:
Consider a function named solver that solves a quadratic equation of the form ax2+bx+c=0, where a, b, and
c are floating point numbers. At least how many test cases are needed for strong equivalence class testing
of the function solver considering only valid equivalence classes?
a. 3
b. 4
c. 5
d. 6
e. 7
Correct Answer: a. 3
Detailed Solution:
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
QUESTION 5:
Consider a function named compute-grade that computes the grade of a student based on his attendance
and the total marks obtained out of 100. If the attendance is below 80%, the student is assigned “F” grade
irrespective of the marks scored. If the attendance of a student is 80% or more, the student with mark M is
assigned a grade from EX, A, B, C, D, P, F depending upon whether M>89%, 90%>M>79%, 80%>M>69%,
70%>M>59%, 60%>M>49%, 50%>M>29%, or M<30%. If the decision making about the grade computation
is represented in the form of a decision table, at least how many test cases are needed for decision table
testing?
a. 6
b. 7
c. 8
d. 9
e. 10
Correct Answer: c. 8
Detailed Solution:
QUESTION 6:
Scenario coverage testing can be considered to be which one of the following types of testing strategies?
a. Pair-wise testing
b. Decision table-based testing
c. Equivalence partitioning-based testing
d. Boundary value-based testing
e. Combinatorial testing
QUESTION 7:
Consider a function compute-grade has been written by the academic unit of an Institute to compute the
grade of a student from the marks obtained. Assume that the following grading scheme is being used by
the academic Institute.
Marks Grade
>=0 and <30 F
>= 30 and <50 P
>=50 and <60 D
>=60 and <70 C
>=70 and <80 B
>=80 and <90 A
>=90 and <=100 Ex
During black box testing of the function compute-grade, altogether at least how many equivalence test
cases are needed to be designed, assuming that robust testing is targeted?
a. 6
b. 7
c. 8
d. 9
e. 10
Correct Answer: d. 9
Detailed Solution:
For equivalence robust testing valid and invalid both classes are considered. In this question, we can
observed from the given table, 7 are valid classes and two invalid classes: Marks<0 and Marks>100. So,
total test cases = 9.
QUESTION 8:
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
before 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. 487
Correct Answer: b. 270
Detailed Solution:
Test 1: Total bugs = 640, 50% of 640 = 320, 50 % of 320 = 160, remaining bugs = 640-
320+160=480. Test 2: Total bugs = 480, 50% of 480 = 240, 50 % of 240 = 120, remaining bugs = 480-
240+120=360. Test 3: Total bugs = 360, 50% of 360 = 180, 50% of 180 = 90, Remaining final bugs= 360-
180+90=270
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
QUESTION 9:
Which one of the following types of bugs may not get detected in black-box testing, but are very likely to
be get detected by white-box testing?
a) Incorrect functionality
b) Missing functionality
c) Trojans
d) Incorrect algorithm
e) Performance errors
Suppose a function named try takes two Boolean variables as input. How many valid equivalence classes
can be designed for the black-box testing of the function try?
a. 2
b. 4
c. 6
d. 8
e. 10
Correct Answer: b. 4
Detailed Solution:
Two Boolean variables so each of them has two values. So, valid equivalence classes =2×2=4.
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:
Which one of the following statements concerning mutation testing is correct?
a. Mutation testing is used to test if a program has bugs
b. Mutation testing is used to test if it is possible to mutate the program
c. Mutation testing is used to optimize the designed suite
d. Mutation testing is used to test if the test suite is adequate
e. Mutation testing is used to count the number of mutants of the program
Correct Answer: d. Mutation testing is used to test if the test suite is adequate
Detailed Solution:
The mutant whose introduced change does not modify the meaning of the original program are equivalent
mutant. So, equivalent mutant cannot be killed by test cases.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
QUESTION 3:
Which of the following is not a major shortcoming of the mutation testing technique?
a. Hard to automate mutant generation
b. Certain types of mutants are hard to generate
c. Presence of equivalent mutants make it difficult to automate the entire mutation
testing process
d. Mutation testing is computationally very expensive, as a large number of possible
mutants can be generated.
e. Multiple mutants may get killed by the same test case
Correct Answer: a. Hard to automate mutant generation
Detailed Solution:
The process of generation and killing of mutants:
–Can be automated by predefining a set of primitive changes that can be applied to the program. So,
option a. is correct.
QUESTION 4:
In the context of mutation testing, suppose to create a mutant you replace the instruction y=2*x
in your program by y=x+x. What kind of mutant have you created?
a. Trivial mutant
b. Stillborn mutant
c. Higher-order mutant
d. Equivalent mutant
e. Erroneous mutant
Detailed Solution:
The mutant whose introduced change does not modify the meaning of the original program are equivalent mutant.
Here y=2*x and y = x+x are giving same results. So, option d. is correct.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
QUESTION 5:
At least how many test cases are required to achieve MC/DC coverage of the following code
segment:
Correct Answer: c. 3
Detailed Solution:
In MC/DC, for n basic condition n+1 test cases required. Here n=2, so test cases required =3.
QUESTION 6:
If MC/DC coverage has been achieved on a unit under test, which of the following test coverage
are implicitly implied?
a. Path coverage
b. Multiple condition coverage
c. Condition/decision coverage
d. Statement coverage
e. Data flow coverage
MC/DC subsumes statement coverage and Condition/decision coverage. Please refer slide no. 14 to 15
of week 12 lecture material.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
QUESTION 7:
What is the McCabe’s Cyclomatic complexity measure for the following code segment?
a. 2
b. 3
c. 4
d. 5
e. 6
Correct Answer: c. 4
Detailed Solution:
If we represent a control flow graph of the program we will find, number of edges=10, number of
vertices = 8. So, E-N+2=4.
QUESTION 8:
Which one of the following can be considered as a fault-based testing technique?
a. Cause-effect graphing
b. Data flow testing
c. Orthogonal array testing
d. Mutation testing
e. Pair-wise testing
Correct Answer: d. Mutation testing
Detailed Solution:
QUESTION 9:
Among the following testing techniques, which one of the following is the strongest?
a. All path coverage testing
e. MC/DC testing
QUESTION 10:
Which of the following attributes of a program can be inferred from its Cyclomatic complexity?
a. Computational complexity
b. Lines of code (LoC)
c. Understandability
d. Executable code size
e. Testability