Exam 1 Flashcards
Choose one best answer that lists all answers to fill each blank given in the IEEE definition of software engineering: “The application of a [1], [2], [3] approach to the development, [4], and [5] of software.”
[1] systematic, [2] disciplined, [3] quantifiable, [4] design, [5] maintenance
[1] incremental, [2] constrained, [3] quantifiable, [4] operation, [5] testing
[1] systematic, [2] disciplined, [3] quantifiable, [4] operation, [5] maintenance
[1] systematic, [2] disciplined, [3] maintainable, [4] testing, [5] maintenance
[1] revolutionary, [2] disciplined, [3] scalable, [4] management, [5] maintenance
[1] systematic, [2] disciplined, [3] quantifiable, [4] operation, [5] maintenance
Software engineering is synonymous with “writing high-quality software.”
True
False
False
What affects the complexity of software probably more than any other factor? (Choose one best answer.)
size
time
scale
users
size
The NATO conference that coined the term “software engineering” occurred in the year ___________.
1968
1971
1985
1990
1968
What analogy was used at the NATO conference to describe how we build [software] systems?
airplanes
cars
watches
safes
airplanes
Software engineering is concerned with completing a project within budget and within schedule.
True
False
True
Things have greatly improved since the NATO conference of 1968. Today very few large software projects end in disaster.
True
False
False
During development, the FBI Virtual Case File system was abandoned after [1] dollars had been spent. As a result, [2] lines of code were also abandoned. Choose one best answer that can fill each blank.
[1] 17 million ; [2] 170,000
[1] 170 million ; [2] 700,000
[1] 700 million ; [2] 170,000
[1] 70 million ; [2] 17,000
[1] 7 million ; [2] 700,000
[1] 170 million ; [2] 700,000
Choose one best answer that can fill each blank correctly.
After the FBI Virtual Case File project was abandoned, the investigators concluded poorly defined [1]—in addition to poor networking plans and [2]—were to blame.
[1] testing; [2] poor development plans
[1] policy; [2] poor maintenance plans
[1] design; [2] poor development plans
[1] requirements; [2] insufficient testing
[1] requirements; [2] poor development plans
[1] requirements; [2] poor development plans
The Ariane 5 was purposely exploded, only 40 seconds after launch, because a floating point operation caused an Operand Error. The function in which this occurred was “correct.” So, what caused the problem? Choose one best answer.
The function was executed at a time when it should not have been.
There was a human error; a miscommunication between the operators.
The launcher was too heavy.
A bad data conversion from 64-bit floating point to a 16 bit signed integer wasn’t caught at all.
The function was executed at a time when it should not have been.
The radiation overdose example illustrates how time-related issues in software can be very difficult to detect.
True
False
True
A software project would be unsuccessful if: (Choose all correct answers.)
the project is over-budget and/or misses its scheduled release date
the performance of the software fails to meet expectations
the system is difficult to use
the quality of the software is too low
the system does not meet the requirements identified by the customer
the project is over-budget and/or misses its scheduled release date
the performance of the software fails to meet expectations
the system is difficult to use
the quality of the software is too low
the system does not meet the requirements identified by the customer
Which of the following could cause a software project to be unsuccessful? (Choose all correct answers.)
poor estimates of necessary development time
managers failed to identify and manage risks
unrealistic project goals
poor communication among develpers, customers, and users
inability to recognize and manage the complexity of the system
poor estimates of necessary development time
managers failed to identify and manage risks
unrealistic project goals
poor communication among develpers, customers, and users
inability to recognize and manage the complexity of the system
Poor programming skills is not listed in Section 1.3 as a reason why software projects are unsuccessful.
True
False
True
People who have a vested interest in the development and use of a software system are called stakeholders.
True
False
True
The person (or persons) responsible for purchasing the software is called the ____________.
customer
development team
project manager
product manager
customer
The stakeholders who are responsible for monitoring the progress of a project—as well as establishing the schedule and budget—are the ________________.
project managers
business managers
development team
software engineers
project managers
The “product” of a software development effort includes more than source code—and more than documentation. It also includes test plans/results and productivity measurements. All of these products are called “work products” or ______________.
artifacts
deliverables
ingredients
components
artifacts
The activities within a software development project can include: (Choose all correct answers.)
Planning
Requirements elicitation (i.e., identifying requirements)
Determining how the software should be constructed to address the requirements
Implementing the software
Evaluating the quality of the work products
Planning
Requirements elicitation (i.e., identifying requirements)
Determining how the software should be constructed to address the requirements
Implementing the software
Evaluating the quality of the work products
Choose one best answer that lists correct answers for each blank on the following statement: A software process identifies when activities should be performed during software development. It usually identifies different [1], how they are ordered, how frequently they occur, and the project [2].
[1] use cases; [2] test cases
[1] modules; [2] deliverables
[1] artifacts; [2] plans
[1] phases; [2] deliverables
[1] phases; [2] deliverables
Choose one best answer that matches the blank given in the following: One of the well-known, but old, software processes is called the waterfall process (i.e., model). Its phases are executed in a strictly ___________ order.
sequential
parallel
alphabetical
synchronous
random
sequential
Choose one best answer that lists all answers that can fill each blank on the following statement correctly: Identify the phases of the waterfall model, in the order in which they would occur: [1], [2], [3], [4], and [5].
[1] planning, [2] design, [3] implementation, [4] testing, [5] operation
[1] inception, [2] design, [3] construction, [4] testing, [5] maintenance
[1] validation, [2] design, [3] implementation, [4] testing, [5] maintenance
[1] requirements, [2] design, [3] implementation, [4] testing, [5] maintenance
[1] requirements, [2] specification, [3] development, [4] testing, [5] maintenance
[1] requirements, [2] design, [3] implementation, [4] testing, [5] maintenance
Several software engineering principles are listed in the text book. Which of the following is a correct statement? (Choose all correct answers.)
Make speed number one.
High-quality software is possible.
Give products to customers early.
Use an appropriate software process.
Minimize intellectual property.
Inspect code.
Software is the key to success.
High-quality software is possible.
Give products to customers early.
Use an appropriate software process.
Inspect code.
The Software Engineering Code of Ethics and Professional Practice was written by the ACM (Association of Computing Machinery), not by IEEE Computer Society.
True
False
False
A software process prescribes the interrelationship among the phases by expressing their order and frequency, but does not define the deliverables of the project.
True
False
False
The inception of a product is where product ideas are formulated and a vision is established.
True
False
True
Requirements analysis is performed before the planning phase.
True
False
False
Within most software process models, the following phases are followed:
planning, implementation and testing
requirements analysis, design, implementation, testing
inception, planning, requirements analysis, design, implementation, testing, maintenance
none of the above
inception, planning, requirements analysis, design, implementation, testing, maintenance
A software design document is used as input to the:
Testing
Design
Implementation
none of the above
Implementation
An advantage of using the waterfall process is that resources are always active and never idle waiting for others to complete dependent tasks.
True
False
False
The results of the design phase are typically captured in the Software Project Management Plan.
True
False
False
During the maintenance phase, modifications that are made to the software usually arise due to:
Software defects
Customer enhancement requests
Performance or reliability improvements
all of the above
none of the above
all of the above
The intention of internal releases is to send to customers for evaluation.
True
False
False
Advantages of the spiral model are:
Risks are managed early and throughout the process
It is more cost effective
It requires fewer resources
all of the above
Risks are managed early and throughout the process
The Agile process advocates the following:
Small, close knit teams
Regular, frequent, customer meetings
code-centric approach
all of the above
none of the above
all of the above
Which is a reason for an organization not to make a project open source?
To gain market knowledge
To support core business
To have many individuals add to the code base
To support services
To have many individuals add to the code base
Agile process is an alternative to more classical approaches which are considered too “process heavy.”
True
False
True
The Agile Manifesto is anti-methodology and advocates not using any methodology when developing a software product.
True
False
False
Agile methods advocate delivering working software, but not testing the working software.
True
False
False
The Agile Manifesto contains fundamental values and principles which should be followed when developing software.
True
False
True
Pair programming is a practice found in extreme programming.
True
False
True
During SCRUM the following questions need to be answered:
What items have been completed since last meeting?
What issues have been discovered that need to be resolved?
What new assignments make sense for the team to complete until the next scrum meeting?
all of the above
none of the above
all of the above
A SCRUM master is appointed and responsible for conducting the daily SCRUM as well as:
measuring progress
coding, designing and testing
clearing obstacles
A and C only
none of the above
A and C only
When using the SCRUM process, daily scrum meetings should last no more than an hour.
True
False
False
Agile processes should not merge with non-agile processes.
True
False
False
The Agile process has been in use now since the early 60’s.
True
False
False
Individuals and interactions over process and tools is a main principle of the Agile software process.
True
False
True
A major principle of the Agile software is:
Producing more than enough documentation
Creating overly complex architectures
Working software is the primary measure of progress
none of the above
Working software is the primary measure of progress
Refactoring is the process of:
adding unit tests to the code
changing the way in which a feature works
altering the form of the code base while retaining the same functionality
none of the above
altering the form of the code base while retaining the same functionality
A teams’ velocity is the assessment of:
how quickly a team can complete an iteration
how much a team can complete within an iteration
the relative difficulty of stories and the rate at which it is able to implement them
none of the above
the relative difficulty of stories and the rate at which it is able to implement them