UPDATE | WITH COMPLETE SOLUTION
Of the three essential ingredients of software engineering, which is the most
important?
- Tools
- Processes
- These are equally important
- Modularity
- People 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 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. Answer - You
should always build functionality yourself from scratch rather than reuse
existing software that provides the functionality you need.
Engineering Answer - Internal quality of the software
Business Answer - Money
User Answer - "Everything that the user sees"
Incrementality 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 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 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 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 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
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.) 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.