Of the three essential ingredients of software engineering, which is the most important?
- Tools
- Processes
- These are equally important
- Modularity
- People - CORRECT ANSWER✅✅People
A function call presents a simple interface and hides the logic that will be performed. This is an example
of...
- Incrementality
- Rigor and formality
- Abstraction
- Prototyping
- Divide and conquer - CORRECT ANSWER✅✅Abstraction
Based on his "No Silver Bullet" essay, which one of the following pieces of advice would Fred Brooks be
LEAST likely to give?
- We should not expect to get orders of magnitude improvement in software engineering just by
building new languages and tools
- It is vital to invest in growing great software designers.
- It is best to build software in small, iterative chunks.
- It is impossible to accurately capture a customer's needs without prototyping.
- You should always build functionality yourself from scratch rather than reuse existing software that
provides the functionality you need. - CORRECT ANSWER✅✅You should always build functionality
yourself from scratch rather than reuse existing software that provides the functionality you need.
,Engineering - CORRECT ANSWER✅✅Internal quality of the software
Business - CORRECT ANSWER✅✅Money
User - CORRECT ANSWER✅✅"Everything that the user sees"
Incrementality - CORRECT ANSWER✅✅Incrementality is the process of building software piece by piece
and the end goal of the software is clearly specified so that the work can be split up into smaller sub
parts.
Generality - CORRECT ANSWER✅✅Generality is the software engineering principle that refers to
building software that won't be bound to specific limitations by anticipating the future and how it can
change and be added to in order to continue functioning far into the future.
Abstraction - CORRECT ANSWER✅✅Abstraction is the principle that code can be implemented and
accessed in different places so that code is easier to read, understand, and organize.
Rigor and formality - CORRECT ANSWER✅✅Rigor and formality is the principle that we can use some
modules and steps again and again in Software engineering. An example of this is using public libraries in
order to code faster and more efficient.
Source code is one particular representation of a software system. It highlights some details and hides
others. This is a good example of:
- prototyping
- divide and conquer
- rigor anf formality
- abstraction
- incrementality - CORRECT ANSWER✅✅Abstraction
In his essay "No Silver Bullet," what was the "werewolf" that Fred Brooks was hoping to "kill?"
, - The inadequate tools that typically cause problems in software projects
- The inadequate processes that typically cause problems in software projects
- The missed deadlines, flawed products, and blown budgets common to software projects
- The lack of talented developers that is epidemic to software development - CORRECT ANSWER✅✅The
missed deadlines, flawed products, and blown budgets common to software projects
According to the IEEE Spectrum software failure reading, what does the term "Hubble Psychology?"
mean? (A single sentence is adequate.) - CORRECT ANSWER✅✅The term Hubble psychology refers to
the idea that you can be doing a project that is a huge failure but as long as you keep getting money and
keep getting funded, eventually it will succeed.
Mr. Brown wants to create a web application that can assist people buying tickets for a cruise ship.
Which of the following is the POOREST example of the requirement?
- The web's backend should use the most popular programming language, Python, so that it could be
easily maintained since more people know how to use it.
- The web's page should provide some space for online advertising so that the advertising place could be
sold to other commercial companies.
- Customers can not only purchase tickets but also join the waiting list if the tickets are temporarily sold
out.
- The web should support people with reading disabilities so that they could purchase the tickets
smoothly. - CORRECT ANSWER✅✅The web's backend should use the most popular programming
language, Python, so that it could be easily maintained since more people know how to use it.
Requirements should define:
- The how, not the what
- The what, not the how
- Neither what nor how
- The what and how - CORRECT ANSWER✅✅The what, not the how