Software Engineering - problems&MCQ
Software Engineering - problems&MCQ
Software Engineering - problems&MCQ
1.2 What are three important differences between software products and software product lines.
1. There is a single version of a software product for all customers in a particular market.
For software product lines, every delivered product is different and adapted to specific
customer needs.
2. Software product lines are designed for evolution so that the needs of different clients can
be accommodated. While evolution is important for software products, issues such as
performance and usability are usually more important.
3. Product updates are more complex for software product lines as it is important to check
that these do not interfere with every client version of the software.
1.3 Based on the vision example for the iLearn system, identify the ‘WHAT, WHO and WHY’ for
that software product.
WHAT: An open-learning environment that allows teachers to configure the set of tools
and resources available to teachers and students to meet the specific needs of these users.
WHO: Teachers and other educators.
WHY: Because existing learning environments are inflexible with a focus on the
administration of learning rather than the learning process itself.
1.4 Why do software product managers have to be generalists with a range of skills rather than
simply technical specialists?
Because they have to interface and interact with a wide range of people who may not be
technical experts. Typically this will include potential users, company managers and
managers of companies who are potential customers for the product. Of course, they also
have to interact with the development team so must understand technical issues that may be
important.
2.2 Explain why the fundamental objectives of agile software engineering are consistent with the
accelerated development and delivery of software products.
The fundamental objectives of agile software engineering are incremental development
and delivery of software and minimising activities such as documentation that do not
contribute directly to the delivery of the software. These lead to accelerated development
because incremental development means that changes can be accommodated during the
development process with only minimal product rework. Rework is a major factor in slowing
down delivery. Minimising ancillary activities means that the team can spend its time on
delivering software and so can complete it more quickly.
2. Why do software product managers have to be generalists with a range of skills rather than simply
technical specialists?
Because they have to interface and interact with a wide range of people who may not be
technical experts. Typically this will include potential users, company managers and
managers of companies who are potential customers for the product. Of course, they also
have to interact with the development team so must understand technical issues that may be
important.
3. Explain why the fundamental objectives of agile software engineering are consistent with the
accelerated development and delivery of software products.
2.6 Why is it is important that each sprint should normally produce a ‘potentially shippable’
product increment? When might the team relax this rule and produce something that is not
‘ready to ship’?
It is important to product a potentially shippable product increment for three reasons:
1. This means that there is always a high quality version of the software available as a
demonstrator for potential customers and funders.
2. The software should be reliable so can be used as a basis for future development, reused,
etc.
3. If people leave the team, new people are not faced with the problem of trying to finish
incomplete software.
=-=-=-=-
Agile methodology MCQ
The Agile methodology is a way to manage a project by breaking it up into several phases. It involves
constant collaboration with stakeholders and continuous improvement at every stage.
1. What is agile methodology?
A. Agile methodology is a sequential approach to software development.
B. Agile methodology is an iterative approach to software development.
C. Agile methodology is a circular approach to software development.
D. Agile methodology is a prototype approach to software development.
Answer: B) Agile methodology is an iterative approach to software development.
Explanation:
An agile methodology is an iterative approach to software development.
2. When agile methodology was introduced?
A. 2001
B. 2009
C. 2000
D. 2004
Answer: A) 2001
Explanation:
Agile methodology was introduced in the year 2001.
3. How much time does each iteration in agile methodology take?
A. 1-2 weeks
B. 2-3 weeks
C. 1-4 weeks
D. 1-2 months
Answer: C) 1-4 weeks
Explanation:
Agile methodology's each iteration takes approx. 1-4 weeks of the time interval.
4. Does agile methodology ask user's feedback?
A. Yes
B. No
Answer: A) YES
Explanation:
Agile methodologies frequently ask for user's feedback.
5. How many roles are there in agile methodology?
A. 3
B. 2
C. 4
D. 5
Answer: B) 2
Explanation:
Agile methodology consists of two roles: Scrum master and Product owner.
6. Which of the following are the responsibilities of a Scrum master role in agile methodology?
A. Scrum master is a team leader.
B. Scrum master helps other members included in the project to work with agile methodology.
C. Scrum master is responsible for planning meetings regularly.
D. All of the above.
Answer: D) All of the above
Explanation:
In Agile methodology, a scrum master is a team leader who is responsible for cooperating with the customer
as well as the team members so that project meets the requirement. The scrum master is also responsible
for planning regular meet-ups, reviewing the agile process, daily calls, etc.
7. Which of the following are the responsibilities of a Product owner role in agile methodology?
A. Product owner explains the requirements of the project.
B. Product owner also takes part in meetings and daily stand-up calls.
C. Product owners fix the final release date of the project.
D. All of the above.
Answer: D) All of the above
Explanation:
In Agile methodology, the Product owner is the one who wants his application to be built. It explains his
project requirement, also in every iteration product owner plays a huge role. It is the project owner who sets
the deadline according to his business requirement.
8. Do you think user requirements and tasks are both the same?
A. Yes
B. No
Answer: B) NO
Explanation:
User requirement tells what the customer wants in the project, and how we achieve that requirement
comes under task.
9. Do you think the agile methodology is best suitable for a small development project?
A. Yes
B. No
Answer: B) NO
Explanation:
No, agile methodology is not best suited for small development projects.
10. Which of the following is/are the advantages of using agile methodology?
A. Customer is satisfied.
B. Application’s development is rapid.
C. Last-moment changes are also accepted.
D. All of the above.
Answer: D) All of the above
11. Can you fix the error in the middle of the project in agile methodology?
A. Yes
B. No
Answer: A) YES
Explanation:
Yes, if any error occurred in the middle of the project, we can easily manage them in agile methodology, but
in the case of a waterfall model this cannot be done.
12. Does every iteration in agile methodology go through a testing phase?
A. Yes
B. No
Answer: A) YES
Explanation:
Yes, every iteration in agile methodology goes through a separate testing phase.
13. In which model testers and developers work together in the project?
A. Agile model
B. Waterfall model
Answer: A) Agile model
Explanation:
In the agile model, testers and developers work together in the project as testing is performed after every
iteration, whereas in the waterfall model testing is performed once all the phases are completed.
14. Agile project management is classified into how many frameworks?
A. 2
B. 3
C. 4
D. 5
Answer: A) 2
Explanation:
Agile project management is classified into 2 frameworks: Scrum and Kanban.
15. Which framework helps the team to work together?
A. Scrum
B. Kanban
Answer: A) Scrum
Explanation:
Scrum framework helps the team to work together.
16. ____ defines a set of consultations and tools that work in to aid teams' structure and accomplish their
work.
A. Scrum
B. Kanban
Answer: A) Scrum
Explanation:
Scrum framework defines a set of consultations and tools that work in to aid teams' structure and
accomplish their work.
17. A product is built in a series of repetitions called ____
A. Scrum
B. Kanban
C. Sprints
Answer: C) Sprints
Explanation:
A product is built in a series of repetitions called Sprints.
18. ____is a framework that is used to execute agile software development. It also involves real-time
communication of capacity and full transparency of work.
A. Scrum
B. Kanban
C. Sprints
Answer: B) Kanban
Explanation:
Kanban is a framework that is used to execute agile software development. It also involves real-time
communication of capacity and full transparency of work.
19. How many components does the Kanban board have?
A. 3
B. 4
C. 5
D. 6
Answer: C) 5
Explanation:
Kanban board has 5 components: Visual signals, columns, work-in-progress limits, a commitment point, and
a delivery point.
20. Are agile and scrums the same?
A. Yes
B. No
Answer: B) NO
Explanation:
Agile is the approach by which we complete software development whereas scrum is a framework with the
help of which teams work together.
21. What do you mean by FDD in agile methodology?
A. Feature development driven
B. Feature-driven development
C. Feature dynamic development
D. Feature development dynamic
Answer: B) Feature-driven development
Explanation:
FDD stands for feature-driven development which mainly focuses on the designing and building features of
the project.
22. What do you mean by DSDM in agile methodology?
A. Dynamic system development methodology
B. Development of system dynamic development
C. Dynamic software development method
Answer: C) Dynamic software development method
Explanation:
DSDM stands for dynamic software development method. It is a kind of Rapid application development
approach but provides an agile delivery framework.
23. How many phases does DSDM consist of?
A. 3
B. 4
C. 5
D. 7
Answer: D) 7
Explanation:
DSDM projects consist of seven phases: Pre-project, Feasibility Study, Business Study, Functional Model
Iteration, Design and build Iteration, Implementation, and Post-project.
24. What is SAFe in agile methodology?
A. Scaled agile framework
B. Social agile framework
C. Scrum agile framework
Answer: A) Scaled agile framework
Explanation:
SAFe stands for scaled agile framework, it is a framework that scales agile in large organizations.
25. Which of the following are involved in releasing the plan?
A. Product owner
B. Scrum master
C. Development team
D. Stakeholders
E. All of the above
Answer: E) All of the above
Explanation:
Following are involved in releasing the plan: product owner, scrum master, development team, and
stakeholders.
26. Which of the following consist of the rapid explanation of all the functionalities desired in the product?
A. User manual
B. Documentation
C. Product backlog
D. All of the above
Answer: C) Product backlog
Explanation:
Agile product backlog consists of the rapid explanation of all the functionalities desired in the product.
27. Which chart represents the amount of work done in the project?
A. Burn-up chart
B. Burn down chart
Answer: A) Burn-up chart
Explanation:
Burn up chart describes the amount of work down on the project.
28. Which chart represents the amount of work remaining in the project?
A. Burn-up chart
B. Burn down chart
Answer: B) Burn down chart
Explanation:
Burn down chart describes the amount of work left/remaining in the project.
29. Are daily stand-ups important in agile methodology?
A. Yes
B. No
Answer: A) YES
Explanation:
In agile methodology, daily stand-up calls are really important as all the progress is discussed over here,
moreover if anyone has any doubt related to any requirement they can ask here.
30. Which of the following frameworks are used in agile methodology?
A. FDD
B. Kanban
C. Scrum
D. All of the above
Answer: D) All of the above
=-=-==-=
1. Choose the correct option in terms of Issues related to professional responsibility
a) Confidentiality
b) Intellectual property rights
c) Both a & b
d) Managing Client Relationships
Answer:c
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
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.
Answer:b
4. Efficiency in a software product does not include ________
a) responsiveness b) licensing c) memory utilization d) processing time
-Answer:b
5. Which one of the following models is not suitable for accommodating any change?
a) Build & Fix Model b) Prototyping Model c) RAD Model d) Waterfall Model
-Answer:d
Explanation: Real projects rarely follow the sequential flow that the Waterfall Model proposes.
7. SDLC stands for
a) Software Development Life Cycle b) System Development Life cycle
c) Software Design Life Cycle d) System Design Life Cycle
Answer:a
8. The Incremental Model is a result of combination of elements of which two models?
a) Build & FIX Model & Waterfall Model
b) Linear Model & RAD Model
c) Linear Model & Prototyping Model
d) Waterfall Model & RAD Model
9. What is the major advantage of using Incremental Model?
a) Customer can respond to each increment
b) Easier to test and debug
c) It is used when there is a need to get a product to the market early
d) Both b & c
Answer:d
10. The spiral model was originally proposed by
a) IBM
b) Barry Boehm
c) Pressman
d) Royce
-Answer:b
11. The spiral model has two dimensions namely _________ and ____________.
a) diagonal, angular b) radial, perpendicular
c) radial, angular d) diagonal, perpendicular
-Answer:c
12. Identify the disadvantage of Spiral Model.
a) Doesn’t work well for smaller projects
b) High amount of risk analysis
c) Strong approval and documentation control
d) Additional Functionality can be added at a later date
-13. Select the option that suits the Manifesto for Agile Software Development
a) Individuals and interactions b) Working software
c) Customer collaboration d) Responding to change
e) All of the mentioned
-Answer:e
14. Agile Software Development is based on
a) Incremental Development b) Iterative Development
c) Linear Development d) Waterfall Model
e) Both a and b
-Answer:e
15. User requirements are expressed as __________ in Extreme Programming.
a) implementation tasks b) functionalities c) scenarios
-Answer:c
16. What are the types of requirements ?
a) Availability b) Reliability c) Usability d) Flexibility
e) All of the mentioned
Answer:e
17. Which one of the following models is not suitable for accommodating any change?
a) Build & Fix Model b) Prototyping Model c) RAD Model d) Waterfall Model
Answer:d
Explanation: Real projects rarely follow the sequential flow that the Waterfall Model proposes.
=-=-Requirements =-=-
18. What are the types of requirements ?
a) Availability b) Reliability c) Usability d) All of the mentioned
Answer: d
Explanation: All the mentioned traits are beneficial for an effective product to be developed.
19. Select the developer-specific requirement ?
a) Portability b) Maintainability c) Availability d) Both Portability and
Maintainability
Answer: d
Explanation: Availability is user specific requirement.
20. Which one of the following is not a step of requirement engineering?
a) elicitation b) design c) analysis d) documentation
Answer: b
21. FAST stands for
a) Functional Application Specification Technique b) Fast Application Specification
Technique c) Facilitated Application Specification Technique
d) None of the mentioned
Answer: c
22. QFD stands for
a) quality function design b) quality function development
c) quality function deployment d) none of the mentioned
Answer: c
Explanation: None.
23. A Use-case actor is always a person having a role that different people may play.
a) True b) False Answer: b
Explanation: Use-case Actor is anything that needs to interact with the system, be it a person or another
(external) system.
24. The user system requirements are the parts of which document ?
a) SDD b) SRS c) DDD d) SRD
Answer: b
Explanation: Software requirements specification (SRS), is a complete description of the behaviour of a
system to be developed and may include a set of use cases that describe interactions the users will have
with the software.
25. A stakeholder is anyone who will purchase the completed software system under development.
a) True
b) False
Answer: b
26. Conflicting requirements are common in Requirement Engineering, with each client proposing his or her
version is the right one. a) True b) False
Answer: a
Explanation: This situation is seen in every field of work as each professional has his/her way of looking onto
things & would argue to get his/her point approved.
=-=-
28. What is the first step of requirement elicitation ?
a) Identifying Stakeholder b) Listing out Requirements c) Requirements Gathering
d) All of the mentioned
Answer: a
Explanation: Stakeholders are the one who will invest in and use the product, so its essential to chalk out
stakeholders first.
30. 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
Answer: b
31. 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
Answer: d
32. 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)
Answer: b
33. Why is Requirements Management Important ? It is due to the changes
a) to the environment b) in technology c) in customer’s expectations
d) in all of the mentioned.
Answer: d
34. Requirements Management is a prerequisite for Quality-Oriented Development. a) True b)
False Answer: a
35. Requirements traceability is one of the most important part requirement management. It may also be
referred to as the heart of requirement management.
a) True
b) False
Answer: a
36. Requirements Management has a high initial start-up cost but does not need ongoing funding
throughout a project. a) True b) False
Answer: b
37. Which of the following is not a Requirement Management workbench tool ?
a) RTM b) DOORS c) Rational Suite d) RDD 100
Answer: c
Explanation: Rational Suite is an environment tool for requirement management.
38. Which of the following is a requirement management activity ?
a) Investigation b) Design c) Construction and Test d) All of the mentioned
Answer: d
Explanation: All the options are the activities of requirement management.
39. What functionality of Requirement Management Tool (RMT) is depicted by the statement: “the tool
should be able to automatically detect relations between artifacts. For example information retrieval
techniques, monitoring of change history, naming schemas or model transformations.”
a) Automatic Link Detection
b) Documentation Support
c) Graphical Representation
d) Automatic Link Creation and Change
Answer: a
40. According to a statistical report: “over 30% of all software projects are cancelled before completion and
over 70% of the remainder fail to deliver expected features”. What must be the reason for such a situation ?
a) Poor change management
b) Poor requirements management
c) Poor quality control
d) All of the mentioned
Answer: b
41.A social scientist spends a considerable time observing and analysing how people actually work.
a) Interview
b) Ethnography
42.Constraints on the services or functions offered by the system such as timing
constraints, constraints on the development process, standards, etc.
a) Non-functional requirements
b) Functional requirements
43.Which model in system modelling depicts the dynamic behaviour of the system ?
a) Context Model Behavioral Model
b) Data Model
c) Object Model
44.Extreme programming expresses user requirements as stories, with each story written on a card. So the
advantages of stories is
a) They focus on functional requirements rather than non-functional requirements.
b) The relationship between the system architecture and the user stories is unclear so architectural
design is difficult.
c) It is easy for users to understand and critique the stories.
45.Which is not a software life cycle model?
a) Spiral Model
b) Waterfall Model
c) Prototyping Model
d) Capability maturity Model
46.Which of the following is not the characteristic of software ?
a) Software does not wear out
b) Software is flexible
c) Software is not manufactured
d) Software is always correct
47- What is Software ?
A. Set of computer programs, procedures and possibly associated document concerned with the
operation of data processing.
B. A set of compiler instructions
C. A mathematical formula
D. None of above
Answer = A
48-The main drawback of the waterfall model is the difficulty of accommodating change after the process is
underway.(T/F)
49-A prototype is an initial version of a system used to demonstrate concepts and try out design
options.(T/F)
=-=-
The Difference between software engineering and computer science:
– Computer science is concerned with theory and fundamentals
– Software engineering is concerned with practical aspects of developing and delivering
software
-What are Requirements Engineering Components
Requirements gathering
–(a.k.a. “requirements elicitation”) helps the customer to define what is required: what is to be
accomplished, how the system will fit into the needs of the business, and how the system will be used on a
day-to-day basis
•Requirements analysis
–refining and modifying the gathered requirements
•Requirements specification
–documenting the system requirements in a semiformal or formal manner to ensure clarity, consistency, and
completeness
Types of Requirements
•Functional Requirements
•Non-functional requirements (or quality requirements