一、Software Engineering Basics

a、This set of Software Engineering Interview Questions and Answers focuses on “Software Engineering Ethics ”.

1. Choose the correct option in terms of Issues related to professional responsibility
a) Confidentiality
b) Intellectual property rights
c) Both Confidentiality & Intellectual property rights
d) Managing Client Relationships

View Answer:
Answer: c
Explanation: Engineers should normally respect the confidentiality of their employers or clients irrespective of whether or not a formal confidentiality agreement has been signed.
They should be aware of local laws governing the use of intellectual property such as patents, copyright, etc.

2. “Software engineers should not use their technical skills to misuse other people’s computers.”Here the term misuse refers to:
a) Unauthorized access to computer material
b) Unauthorized modification of computer material
c) Dissemination of viruses or other malware
d) All of the mentioned
View Answer:

Answer: d

3. Explain what is meant by PRODUCT with reference to one of the eight principles as per the ACM/IEEE Code of Ethics ?
a) The product should be easy to use
b) Software engineers shall ensure that their products and related modifications meet the highest professional standards possible
c) Software engineers shall ensure that their products and related modifications satisfy the client
d) It means that the product designed /created should be easily available
View Answer:

Answer: b

Explanation: None.

4. Identify an ethical dilemma from the situations mentioned below:
a) Your employer releases a safety-critical system without finishing the testing of the system
b) Refusing to undertake a project
c) Agreement in principle with the policies of senior management
d) All of the mentioned
View Answer:

Answer: a

Explanation: None.

5. Identify the correct statement: “Software engineers shall
a) act in a manner that is in the best interests of his expertise and favour.”
b) act consistently with the public interest.”
c) ensure that their products only meet the SRS.”
d) all of the mentioned
View Answer

Answer: b
Explanation: Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest and shall ensure that their products and related modifications meet the highest professional standards possible.Thus options a & c are ruled out.

 

 
二、Software Processes, Models and Agile Software Development

a、This set of Software Engineering Multiple Choice Questions & Answers (MCQs) focuses on “Software Process and Product ”.

1. Which one of the following is not a software process quality?
a) Productivity
b) Portability
c) Timeliness
d) Visibility
View Answer

Answer: b
Explanation: Portability is a software product quality which means software can run on different hardware platforms or software environments.

2. _____________&_____________ are two kinds of software products.
a) CAD, CAM
b) Firmware, Embedded
c) Generic, Customised
d) None of the mentioned
View Answer

Answer: c
Explanation: rest all are sub categories/applications of option c.

3. Software costs more to maintain than it does to develop.
a) True
b) False
View Answer

Answer: a
Explanation: For systems with a long life, maintenance costs may be several times development costs.

4. Which one of the following is not an application of embedded software product?
a) keypad control of a security system
b) pattern recognition game playing
c) digital function of dashboard display in a car
d) none of the mentioned
View Answer

Answer: b
Explanation: Pattern recognition uses Artificial Intelligence (AI) software.

5. Purpose of process is to deliver software
a) in time
b) with acceptable quality
c) that is cost efficient
d) both in time & with acceptable quality
View Answer

Answer: d
Explanation: Cost of a software is a management issue & is not related to process activities.

 

b、This set of Software Engineering Multiple Choice Questions & Answers (MCQs) focuses on “Agile Software Development”.

1. Select the option that suits the Manifesto for Agile Software Development
a) Individuals and interactions
b) Working software
c) Customer collaboration
d) All of the mentioned
View Answer

Answer:d
Explanation: None.

2. Agile Software Development is based on
a) Incremental Development
b) Iterative Development
c) Linear Development
d) Both Incremental and Iterative Development
View Answer

Answer:d
Explanation: The software is developed in increments with the customer specifying the requirements to be included in each increment and the highest priority is to satisfy the customer through early and continuous delivery of valuable software. They are iterative because they work on one iteration followed by improvements in next iteration

3. Which on of the following is not an agile method?
a) XP
b) 4GT
c) AUP
d) All of the mentioned
View Answer

Answer:b
Explanation: The 4GT approach does not incorporate iteration and the continuous feedback,which is the fundamental aspect of an agile method.

4. Agility is defined as the ability of a project team to respond rapidly to a change.
a) True
b) False
View Answer

Answer:b
Explanation: The aim of agile methods is to reduce overheads in the software process and to be able to respond quickly to changing requirements without excessive rework.

5. How is plan driven development different from agile development ?
a) Outputs are decided through a process of negotiation during the software development process
b) Specification, design, implementation and testing are interleaved
c) Iteration occurs within activities
d) All of the mentioned
View Answer

Answer:c
Explanation: A plan-driven approach to software engineering is based around separate development stages with the outputs to be produced at each of these stages planned in advance.

 

 
三、Requirement Engineering

a、This set of Software Engineering Multiple Choice Questions & Answers (MCQs) focuses on “Requirement Engineering”.

1. What are the types of requirements ?
a) Availability
b) Reliability
c) Usability
d) All of the mentioned
View Answer

Answer: d
Explanation: All the mentioned traits are beneficial for an effective product to be developed.

2. Select the developer-specific requirement ?
a) Portability
b) Maintainability
c) Availability
d) Both Portability and Maintainability
View Answer

Answer: d
Explanation: Availability is user specific requirement.

3. Which one of the following is not a step of requirement engineering?
a) elicitation
b) design
c) analysis
d) documentation
View Answer

Answer: b
Explanation: Requirement Elicitation, Requirement Analysis, Requirement Documentation and Requirement Review are the four crucial process steps of requirement engineering.Design is in itself a different phase of Software Engineering.

4. FAST stands for
a) Functional Application Specification Technique
b) Fast Application Specification Technique
c) Facilitated Application Specification Technique
d) None of the mentioned
View Answer

Answer: c
Explanation: None.

 

b、This set of Software Engineering Multiple Choice Questions & Answers (MCQs) focuses on “Requirement Elicitation”.

1. What is the first step of requirement elicitation ?
a) Identifying Stakeholder
b) Listing out Requirements
c) Requirements Gathering
d) All of the mentioned
View Answer

Answer: a
Explanation: Stakeholders are the one who will invest in and use the product, so its essential to chalk out stakeholders first.

2. Starting from least to most important, choose the order of stakeholder.
i. Managers
ii. Entry level Personnel
iii. Users
iv. Middle level stakeholder
a) i, ii, iv, iii
b) i, ii, iii, iv
c) ii, iv, i, iii
d) All of the mentioned
View Answer

Answer: c
Explanation: Users are your customers, they will be using your product, thus making them most important of all.

3. Arrange the tasks involved in requirements elicitation in an appropriate manner.
i. Consolidation
ii. Prioritization
iii. Requirements Gathering
iv. Evaluation
a) iii, i, ii, iv
b) iii, iv, ii, i
c) iii, ii, iv, i
d) ii, iii, iv, i
View Answer

Answer: b
Explanation: Requirements gathering captures viewpoint from different users followed by evaluation of those view points.Now comes the task of checking the relative importance of the requirements and finally to consolidate or bind together the information collected.

4. What are the types of requirement in Quality Function Deployment(QFD) ?
a) Known, Unknown, Undreamed
b) User, Developer
c) Functional, Non-Functional
d) Normal, Expected, Exciting
View Answer

Answer: d
Explanation: According to QFD, Normal, Expected and Exciting requirements maximizes customer satisfaction from the Software Engineering Process.

5. What kind of approach was introduced for elicitation and modelling to give a functional view of the system ?
a) Object Oriented Design (by Booch)
b) Use Cases (by Jacobson)
c) Fusion (by Coleman)
d) Object Modeling Technique (by Rumbaugh)
View Answer

Answer: b
Explanation: Use Case captures who does what with the system, for what purpose, without dealing with system internals.
 
四、Software Modelling
This set of Software Engineering Multiple Choice Questions & Answers (MCQs) focuses on “System Modelling”.

1. The Unified Modeling Language (UML) has become an effective standard for software modelling.How many different notations does it have ?
a) Three
b) Four
c) Six
d) Nine
View Answer

Answer: d
Explanation: The different notations of UML includes the nine UML diagrams namely class, object, sequence, collaboration, activity, state-chart, component, deployment and use case diagrams.

2. Which model in system modelling depicts the dynamic behaviour of the system ?
a) Context Model
b) Behavioral Model
c) Data Model
d) Object Model
View Answer

Answer: b
Explanation: Behavioral models are used to describe the dynamic behavior of an executing system. This can be modeled from the perspective of the data processed by the system or by the events that stimulate responses from a system.

3. Which model in system modelling depicts the static nature of the system ?
a) Behavioral Model
b) Context Model
c) Data Model
d) Structural Model
View Answer

Answer: d
Explanation: Structural models show the organization and architecture of a system. These are used to define the static structure of classes in a system and their associations.

4. Which perspective in system modelling shows the system or data architecture.
a) Structural perspective
b) Behavioral perspective
c) External perspective
d) All of the mentioned
View Answer

Answer: a
Explanation: Structural perspective is used to define the static structure of classes in a system and their associations.

5. Which system model is being depicted by the ATM operations shown below:
software-engg-mcqs-system-modelling-1-q5
a) Structural model
b) Context model
c) Behavioral model
d) Interaction model
View Answer

Answer: b
Explanation: Context models are used to illustrate the operational context of a system.They show what lies outside the system boundaries. 
 
、Question:What are the differences between verification and validation in software development?

Answer: - Following table details the differences between verification and validation in software developement.

actual test results and use of software when verification process gets completed.

 VerificationValidation
1 This is process of deciding that the product on particular step of the software development meets the expected need. This is process of deciding that the valuation of the software at the end of the process is as per the actual need.
2 Verification includes valuations in terms of plan, code, need and quality. Checklist and inspection are part of it. Validation includes actual test results and use of software when verification process gets completed.
3 Verification decides that result of one phase of development confirms the ok status of previous phase. Validation decides that developed product meets required needs.
4 Verification insures that process makes quality product at every stage of software development. Validation insures that software being developed fulfills functional as well as non-functional needs.
5 Verification is done at each step and it provides the assurance of regularity with the end result of previous phase. Validation process insures that user needs are covered completely.