comprehension and maintenance correct answers What are the dominant activities in software
engineering? (two answers)
A software development process correct answers What organizes activity into distinct phases
(e.g., design, coding, testing, etc.)? (answer is a thing, not a person)
System and software requirements: specifications
Analysis: making models/schema
Design: planning, setup
Coding: development
Testing: debugging
Operations: installation, maintenance, etc. correct answers What are the phases of the
waterfall software development model, in order?
If a change to the program is introduced (a requirement of the program is different from how
it was presented initially, new features are needed), developers have to restart the entire
process from a certain point (a lot of extra work) correct answers What is a drawback of the
waterfall software development model?
spiral development model correct answers A software process model that focuses on the
construction of an increasingly-complete series of prototypes while accounting for risk
Less time is spent on productive coding, and more time is spent on the process, as well as
trashing and reworking code correct answers What is a result of poor planning in the initial
phases of a project?
To increase flexibility and efficiency correct answers What is the goal, in general, of a
software development process?
constructive cost model (cocomo)
A cocomo requires experience with similar projects, and rewards documentation of such
experience correct answers A predictive model of time costs based on project history
risk management
risk management is followed by efforts to minimize, monitor, and control unfortunate event
outcomes and probabilities correct answers What is the identification, assessment, and
prioritization of risks?
milestone (used by the project manager) correct answers The clean endpoint of a (sub)task
deliverables (used by the customer) correct answers Results for the customer
, maintainability index correct answers number between 0 and 100 representing relative ease of
maintaining the code
Halstead Volume
Cyclomatic Complexity
Lines of Code correct answers What are the three inputs to the maintainability index formula?
measurement
can also be defined as a quantitatively expressed reduction of uncertainty based on one or
more observations correct answers the empirical, objective assignment of numbers, according
to a rule derived from a model or theory, to attributes of objects or events with the intent of
describing them
construct validity correct answers Are we measuring what we intend to measure?
predictive validity correct answers the extent to which the measurement can be used to
explain some other characteristic of the entity being measured
external validity correct answers concerns the generalization of the findings to contexts and
environments, other than the one studied
streetlight effect correct answers a type of observational bias that occurs when people are
searching for something and look only where it is easiest
confounding variable correct answers something that can cause two unrelated variables to
appear related
McNamara fallacy (or quantitative fallacy)
recall: the Vietnam War was reduced to a mathematical model -> possibly led to US defeat
correct answers making a decision based solely on quantitative observations (or metrics) and
ignoring all others
with caution, since not all claims have been validated correct answers How should software
metrics be used?
quality assurance correct answers the maintenance of a desired level of quality in a service or
product, especially by means of attention to every stage of the process of delivery or
production
regression testing correct answers when fixing a bug, add a test that specifically exposes that
bug
unit testing correct answers testing features in isolation (one at a time) with small, fast tests
xUnit correct answers modern unit testing frameworks that provide an easy way to run all test
cases