Measures of Central Tendency: Mean, Median and Mode
Software engineering-quiz
1. Chapter 1: The Product
Chapter 1 Self-Check Quiz
1. What factor has precipitated more sophisticated and complex computer-based systems?
a. Vast increases in computer memory and storage capacity.
b. Greater variety of exotic input/output options.
c. Profound changes in computer architectures.
d. All of the above.
2. Which question no longer concerns the modern software engineer?
a. Why does computer hardware cost so much?
b. Why does software take a long time to finish?
c. Why does it cost so much to develop a piece of software?
d. Why can't software errors be removed from products prior to delivery?
3. Today the increased power of the personal computer has brought about an abandonment of the
practice of team development of software.
a. True
b. False
4. Software is a product and can be manufactured using the same technologies used for other
engineering artifacts.
a. True
b. False
5. Software deteriorates rather than wears out because
a. Software suffers from exposure to hostile environments
b. Defects are more likely to arise after software has been used often
c. Multiple change requests introduce errors in component interactions
d. Software spare parts become harder to order
6. Most software continues to be custom built because
a. Component reuse is common in the software world
b. Reusable components are too expensive to use
c. Software is easier to build without using someone else's components.
d. Off the shelf software components are not commonly available
7. The nature of software applications can be characterized by their information
a. complexity
b. content
c. determinacy
d. choices "b" and "c"
8. Modern software applications are so complex that it is hard to develop mutually exclusive category
names.
a. True
b. False
9. The current software crisis was caused by the Y2K problem whose seeds were first sown by careless
programmers in the early 1970's.
a. True
Page 1 of 76
2. b. False
10. Software developers succeed more often than they fail, but software failures receive more press
coverage.
a. True
b. False
11. Adding more people to a project that is already behind schedule is a good way to catch up.
a. True
b. False
12. Modern CASE tools are more important than the newest hardware for achieving good software quality
and productivity.
a. True
b. False
13. Change cannot be easily accommodated in most software systems, unless a system was designed
with change in mind.
a. True
b. False
14. A general statement of objectives is all that is needed to begin developing a piece of software.
a. True
b. False
15. The formal technical review is an inadequate substitute for testing regardless of nature of the
software defect.
a. True
b. False
16. Documentation is no longer a necessary part of the software development process because no one
reads it.
a. True
b. False
Chapter 2: The Process
Page 2 of 76
3. Chapter 2 Self-Check Quiz
1. Which of the items listed below is not one of the software engineering layers?
a. Process
b. Manufacturing
c. Methods
d. Tools
2. What are the three generic phases of software engineering?
a. definition, development, support
b. what, how, where
c. programming, debugging, maintenance
d. analysis, design, testing
3. Which of these terms is a level name in the Capability Maturity Model?
a. Ad hoc
b. Repeatable
c. Reusable
d. Organized
4. Which of these items should be used to select a software process framework?
a. People
b. Product
c. Project
d. All of the above
5. In which software development problem solving stage are the results delivered?
a. Status quo
b. Problem definition
c. Technical development
d. Solution integration
6. Software development activities are easy to compartmentalize into four non-overlapping phases?
a. True
b. False
7. The linear sequential model of software development is
a. A reasonable approach when requirements are well defined.
b. A good approach when a working program is required quickly.
c. The best approach to use for projects with large development teams.
d. An old fashioned model that is rarely used any more.
8. The linear sequential model of software development is also known as the
a. Classical life cycle model
b. Fountain model
c. Spiral model
d. Chaos model
9. The prototyping model of software development is
a. A reasonable approach when requirements are well defined.
b. A useful approach when a customer cannot define requirements clearly.
c. The best approach to use for projects with large development teams.
d. A risky model that rarely produces a meaningful product.
Page 3 of 76
4. 10. The rapid application development model is
a. Another name for component-based development.
b. A useful approach when a customer cannot define requirements clearly.
c. A high-speed adaptation of the linear sequential model.
d. All of the above.
11. Evolutionary software process models
a. Are iterative in nature
b. Can easily accommodate product requirements changes
c. Do not generally produce throwaway systems
d. All of the above
12. The incremental model of software development is
a. A reasonable approach when requirements are well defined.
b. A good approach when a working core product is required quickly.
c. The best approach to use for projects with large development teams.
d. A revolutionary model that is not used for commercial products.
13. The spiral model of software development
a. Ends with the delivery of the software product
b. Is more chaotic than the incremental model
c. Includes project risks evaluation during each iteration
d. All of the above
14. The WINWIN spiral model of software development is
a. A used when requirements must be defined by customer negotiation.
b. Useful when a customer is able to provide requirements completely.
c. The best approach to use for projects with large development teams.
d. Like the spiral model without the risk assessment step.
15. The concurrent development model is
a. Another name for the rapid application development model.
b. Often used for the development of client/server applications.
c. Only used for development of parallel or distributed systems.
d. Used whenever a large number of change requests are anticipated.
16. The component-based development model is
a. Only appropriate for computer hardware design.
b. Not able to support the development of reusable components.
c. Dependent on object technologies for support.
d. Not cost effective by known quantifiable software metrics.
17. The formal methods model of software development makes use of mathematical methods to
a. Define the specification for computer-based systems
b. Develop defect free computer-based systems
c. Verify the correctness of computer-based systems
d. All of the above
18. Fourth generation techniques
a. Allow software to be developed without any testing.
b. Eliminate the need for costly requirements gathering activities.
c. Can reduce the time required to develop software.
d. Are best used by non-programmers to build small systems.
Page 4 of 76
6. a. people, performance, payoff, product
b. people, product, performance, process
c. people, product, process, project
d. people, process, payoff, product
2. Organizations that achieve high levels of maturity in people management have a higher likelihood of
implementing effective software engineering processes.
a. True
b. False
3. The first step in project planning is to
a. determine the budget.
b. select a team organizational model.
c. determine the project constraints.
d. establish the objectives and scope.
4. Process framework activities are populated with
a. milestones
b. work products
c. QA points
d. All of the above
5. Project management is less important for modern software development since most projects are
successful and completed on time.
a. True
b. False
6. Which of the following is not considered a player in the software process?
a. customers
b. end-users
c. project managers
d. sales people
7. The best person to hire as a project team leader is the most competent software engineering
practitioner available.
a. True
b. False
8. The best project team organizational model to use when tackling extremely difficult problems is the
a. controlled centralized model
b. controlled decentralized model
c. democratic decentralized model
d. chief programmer team model
9. Which factor is the least important when choosing the organizational structure for a software team?
a. degree of communication desired
b. predicted size of the resulting program
c. rigidity of the delivery date
d. size of the project budget
10. One of the best ways to avoid frustration during the software development process is to
a. give team members more control over process and technical decisions.
Page 6 of 76
7. b. give team members less control over process and technical decisions.
c. hide bad news from the project team members until things improve.
d. reward programmers based on their productivity.
11. Which of these software characteristics is not a factor contributing to project coordination difficulties?
a. interoperability
b. performance
c. scale
d. uncertainty
12. Which of these software characteristics are used to determine the scope of a software project?
a. context, lines of code, function
b. context, function, communication requirements
c. information objectives, function, performance
d. communications requirements, performance, information objectives
13. The major areas of problem decomposition during the project scoping activity are the
a. customer workflow
b. functionality to be delivered
c. process used to deliver functionality
d. answers b and c
14. Product and process decomposition occurs simultaneously as the project plan evolves.
a. True
b. False
15. When can selected common process framework activities be omitted during process decomposition?
a. when the project is extremely small in size
b. any time the software is mission critical
c. rapid prototyping does not require their use
d. never, the activities are invariant
16. What activity does a software project manager need to perform to minimize the risk of software
failure?
a. double the project team size
b. request a large budget
c. allow absolutely no schedule slippage
d. define milestones and track progress
17. Which of the following questions is not addressed when the W5HH principle is applied?
a. Why is the system being developed?
b. What will be done by whom?
c. Where are they organizationally located?
d. How much of each resource is required?
18. Which of these is not a critical practice for performance-based project management?
a. assessing product usability
b. defect tracking against quality targets
c. empirical cost estimation
d. formal risk management
Page 7 of 76
8. Chapter 4: Software Process and Project Metrics
Chapter 4 Self-Check Quiz
1. Which of these is not a valid reason for measuring software processes, products, and resources?
a. to characterize them
b. to evaluate them
c. to price them
d. to improve them
Page 8 of 76
9. 2. The terms measure, measurement, and metric all share the same definition according to the IEEE
Standard Glossary of Software Engineering Terms.
a. True
b. False
3. Process indicators enable a software project manager to
a. assess the status of an on-going project
b. track potential risks
c. adjust work flow or tasks
d. all of the above
4. Public metrics are used
a. to make strategic changes to the software process.
b. to make tactical changes during a software project.
c. to evaluate the performance of software development teams.
d. answers a and b
5. Which of the following items are not measured by software project metrics?
a. inputs
b. markets
c. outputs
d. results
6. Software quality and functionality must be measured indirectly.
a. True
b. False
7. Which of following are advantages of using LOC (lines of code) as a size-oriented metric?
a. LOC is easily computed.
b. LOC is a language dependent measure.
c. LOC is a language independent measure.
d. LOC can be computed before a design is completed.
8. Which of the following is an advantage of using function points (FP) as a measure of the functionality
delivered by a software application?
a. FP is easily computed.
b. FP is a language dependent measure.
c. FP is a function of LOC.
d. FP can be computed before a design is completed.
9. Extended function point metrics are designed to be applied to
a. business information systems applications
b. PC applications
c. real-time or embedded applications
d. computer graphics applications
10. Backfiring is the best way to compute function point measures once a software application is
completed.
a. True
b. False
Page 9 of 76
10. 11. Which of the following software quality factors is most likely to be affected by radical changes to
computing architectures?
a. operation
b. transition
c. revision
d. none of the above
12. Which of the following provide useful measures of software quality?
a. correctness, performance, integrity, usability
b. reliability, maintainability, integrity, sales
c. correctness, maintainability, size, satisfaction
d. correctness, maintainability, integrity, usability
13. A software quality metric that can be used at both the process and project levels is defect removal
efficiency (DRE).
a. True
b. False
14. Why is it important to measure the process of software engineering and software it produces?
a. It is really not necessary unless the project is extremely complex.
b. To determine costs and allow a profit margin to be set.
c. To determine whether a software group is improving or not.
d. To make software engineering more like other engineering processes.
15. To be an effective aid in process improvement the baseline data used must be:
a. based on reasonable guesstimates from past projects
b. measured consistently across similar projects
c. collected over the past 6 months
d. based on all previously completed projects
16. Baseline data must be collected in an on-going manner and cannot be computed by formal study of
historical project data.
a. True
b. False
17. One graphical technique for determining whether a process exhibits out-of-control change behavior is
a
a. control chart
b. fishbone diagram
c. Pareto diagram
d. process diagram
18. Zone rules may be used to
a. allocate software functions to team members
b. determine a marketing strategy for a product
c. identify an out-of-control process
d. validate a set of software process metrics
19. Small software organizations are not likely to see any economic return from establishing software
metrics program.
a. True
b. False
Page 10 of 76
11. 20. The software metrics chosen by an organization are driven by the business or technical goals an
organization wishes to accomplish.
a. True
b. False
Chapter 5: Software Project Planning
Chapter 5 Self-Check Quiz
1. The only reason an estimate is unreliable is lack of experience with the application on the part of the
estimator.
a. True
b. False
2. Since project estimates are not completely reliable, they can be ignored once a software development
project begins.
a. True
Page 11 of 76
12. b. False
3. The objective of software project planning is to
a. convince the customer that a project is feasible.
b. make use of historical project data.
c. enable a manager to make reasonable estimates of cost and schedule.
d. determine the probable profit margin prior to bidding on a project.
4. The project scope is defined as a means of bounding the system
a. Functionality and performance
b. Staffing and skills
c. Costs and resources
d. Schedule and milestones
5. The most common way to determine the information needed to define project scope is to
a. conduct a preliminary meeting with the customer.
b. examine historical project data from similar applications.
c. build a software prototype and show it to the customer.
d. perform a market analysis to determine potential customers.
6. Software feasibility is based on which of the following
a. business and marketing concerns
b. scope, constraints, market
c. technology, finance, time, resources
d. technical prowess of the developers
7. A consideration of software scope must include an evaluation of all external interfaces.
a. True
b. False
8. The number of people required for a software project is determined
a. after an estimate of the development effort is made.
b. by the size of the project budget.
c. from an assessment of the technical complexity of the system.
d. all of the above
9. Reusable software components must be
a. catalogued for easy reference.
b. standardized for easy application
c. validated for easy integration
d. all of the above
10. The software engineering environment (SEE) consists of which of the following?
a. customers and users
b. developers and managers
c. hardware platforms and software tools
d. none of the above
11. The hardware required for most computer-based systems is more costly to purchase than the
software.
Page 12 of 76
13. a. True
b. False
12. Which of the following is a broad classification of software project estimation techniques?
a. automated processes
b. white-box methods
c. empirical models
d. regression models
13. The size estimate for a software product to be built must be based on a direct measure like LOC.
a. True
b. False
14. An expected value estimate is determined by computing the weighted average of
a. estimates from three different estimators
b. three different size estimates for the same project
c. three different size estimates from similar projects
d. none of the above
15. Problem-based estimation is based on problem decomposition that focuses on
a. information domain values and software functions
b. project schedule and milestones
c. LOC and FP counts
d. process activities
16. LOC-based estimation techniques require problem decomposition based on
a. information domain values
b. project schedule
c. software functions
d. process activities
17. FP-based estimation techniques require problem decomposition based on
a. information domain values
b. project schedule
c. software functions
d. process activities
18. Process-based estimation techniques require problem decomposition based on
a. information domain values and data objects
b. project schedule and milestones
c. software functions and process activities
d. none of the above
19. Empirical estimation models are typically based on
a. expert judgement based on past project experiences
b. refinement of expected value estimation
c. regression models derived from historical project data
d. trial and error determination of the parameters and coefficients
20. COCOMO II is an example of a suite of modern empirical estimation models that require sizing
information expressed as:
a. function points
Page 13 of 76
14. b. lines of code
c. object points
d. any of the above
21. Putnam's software equation is a dynamic empirical model that has two independent parameters: a
size estimate and an indication of project duration in calendar months or years.
a. True
b. False
22. Using a statistical technique like decision tree analysis can provide some assistance in sorting out the
true costs associated with the make-buy decision.
a. True
b. False
23. Outsourcing always provides a simple means of acquiring software at lower cost than on site
development of the same product.
a. True
b. False
24. A weakness of the current generation of automated estimation tools is the
a. high cost of acquisition and use
b. inability of these tools to take software reuse into account when making an estimate
c. inability to integrate LOC and FP data
d. significant differences between tool estimates and actual values on several projects
Chapter 6: Risk Analysis & Management
Chapter 6 Self-Check Quiz
1. Proactive risk management is sometimes described as fire fighting.
a. True
b. False
2. Software risk always involves two characteristics
a. fire fighting and crisis management
b. known and unknown risks
c. uncertainty and loss
d. staffing and budget
3. Three categories of risks are
Page 14 of 76
15. a. business risks, personnel risks, budget risks
b. project risks, technical risks, business risks
c. planning risks, technical risks, personnel risks
d. management risks, technical risks, design risks
4. Generic risks require far more attention than product-specific risks.
a. True
b. False
5. Which of these categories would not be likely to be contained within a risk item checklist?
a. product size
b. development environment
c. staff size
d. product profitability
6. Which question would be irrelevant when assessing the overall software project risk?
a. Have top managers formally committed to support the project?
b. Are end-users committed to the project and proposed system being built?
c. Are requirements fully understood by development team and customers?
d. Does the proposed budget have time allocated for marketing?
7. Software risk impact assessment should focus on consequences affecting
a. planning, resources, cost, schedule
b. marketability, cost, personnel
c. business, technology, process
d. performance, support, cost, schedule
8. Risk projection attempts to rate each risk in two ways
a. likelihood and cost
b. likelihood and impact
c. likelihood and consequences
d. likelihood and exposure
9. Risk tables are sorted by
a. probability and cost
b. probability and impact
c. probability and consequences
d. probability and exposure
10. Individual team members can make their own estimate for a risk probability and then develop a
consensus value.
a. True
b. False
11. Which factor(s) likely affect the probable consequences if a risk does occur?
a. risk cost
b. risk timing and scope
c. risk resources
d. all of the above
Page 15 of 76
16. 12. A risk referent level is a risk component value (performance, cost, support, schedule) or combination
of values that cause a project to be terminated.
a. True
b. False
13. The reason for refining risks is to break them into smaller units having different consequences.
a. True
b. False
14. An effective risk management plan will need to address which of the following issues?
a. risk avoidance
b. risk monitoring
c. contingency planning
d. all of the above
15. Risk monitoring involves watching the risk indicators defined for the project and not determining the
effectiveness of the risk mitigation steps themselves.
a. True
b. False
16. Hazard analysis focuses on the identification and assessment of potential hazards that can cause
a. project termination
b. schedule slippage
c. cost overruns
d. an entire system to fail
17. Risk information sheets (RIS) are never an acceptable substitute for a full risk mitigation, monitoring,
and management (RMMM) plan.
a. True
b. False
Chapter 7: Project Scheduling and Tracking
Chapter 7 Self-Check Quiz
1. Software projects are inevitably late and there is nothing that can explain why.
a. True
b. False
2. It is unethical to undertake a project that you know in advance can not be completed by the customer's
deadline, unless you inform the customer of the risk and establish a project plan that can deliver the
needed system incrementally.
a. True
b. False
3. Which of the following is not one of the guiding principles of software project scheduling?
a. compartmentalization
b. market assessment
c. time allocation
Page 16 of 76
17. d. effort validation
4. If you must add people to a late project, be certain that they are assigned to highly compartmentalized
tasks.
a. True
b. False
5. Doubling the size of your software project team is guaranteed to cut project completion time in half.
a. True
b. False
6. The software equation can be used to show that by extending the project deadline slightly
a. fewer people are required
b. you are guaranteed to meet the deadline
c. more lines of code can be produced
d. none of the above
7. The 40-20-40 rule suggests that the least amount of development effort be spent on
a. estimation and planning
b. analysis and design
c. coding
d. testing
8. A task set is a collection of
a. engineering work tasks, milestones, deliverables
b. task assignments, cost estimates, metrics
c. milestones, deliverables, metrics
d. responsibilities, milestones, documents
9. A task set will grow in size and complexity as the degree of rigor
a. shrinks
b. changes
c. grows
d. all of the above
10. The term back-filling refers to writing additional documentation and conducting additional reviews
after a project is delivered.
a. True
b. False
11. Adaptation criteria are used to determine the
a. costs of product maintenance
b. adjustments to the project schedule
c. best project type classification for a software process
d. recommended degree of rigor for software process
12. A task selector value is most appropriately used to determine whether to accept or reject a given task
for inclusion in the project task set.
a. True
b. False
Page 17 of 76
18. 13. If the task selector value is in an overlap area it may be OK to choose a less formal degree of rigor
for project with low risk levels.
a. True
b. False
14. For purposes of determining the major engineering tasks and distributing them on the project time
line, the project manager should assume that the process model used is
a. linear sequential
b. iterative
c. evolutionary
d. any of the above
15. The only means in accomplishing task refinement is to make use of a process design language
approach.
a. True
b. False
16. The task (activity) network is a useful mechanism for
a. computing the overall effort estimate
b. detecting inter-task dependencies
c. specifying the task set to the customer
d. none of the above
17. Two tools for computing critical path and project completion times from activity networks are
a. CPM and PERT
b. DRE and SQA
c. FP and LOC
d. ASD and BSD
18. Timeline charts assist project managers in determining what tasks will be conducted at a given point
in time.
a. True
b. False
19. The best indicator of progress on a software project is the completion
a. of a defined engineering activity task
b. of a successful budget review meeting on time
c. and successful review of a defined software work product
d. and successful acceptance of project prototype by the customer
20. The purpose of earned value analysis is to
a. determine how to compensate developers based on their productivity
b. provide a quantitative means of assessing software project progress
c. provide a qualitative means of assessing software project progress
d. set the price point for a software product based on development effort
21. Error tracking provides a quantitative means of assessing the quality of the individuals implementing a
software product.
a. True
b. False
Page 18 of 76
19. 22. The software plan is not a static document, it is frequently adjusted to make the project appear on
track to meet all deadlines and quality targets.
a. True
b. False
Chapter 8: Software Quality Assurance
Chapter 8 Self-Check Quiz
1. Variation control in the context of software engineering involves controlling variation in the
a. process applied
b. resources expended
c. product quality attributes
d. all of the above
2. There is no need to assess customer satisfaction when trying to determine the quality of a piece of
software.
a. True
b. False
3. A key concept of quality control is that all work products
a. are delivered on time and under budget
b. have complete documentation
c. have measurable specifications for process outputs
d. are thoroughly tested before delivery to the customer
Page 19 of 76
20. 4. The goal of quality assurance is to provide management with the data needed to determine which
software engineers are producing the most defects.
a. True
b. False
5. Quality costs may be divided into costs associated with
a. prevention, appraisal, and failure
b. people, process, and product
c. customers, developers, and maintenance
d. all of the above
6. Until a mature software process has been achieved an organization would be wise to spend most of its
efforts on which TQM step
a. developing a visible, repeatable, measurable process
b. examining the ways in which customers use their products
c. observing the use of their products in the marketplace
d. optimizing the impact of intangibles on their current process
7. Software quality might be defined as conformance to explicitly stated requirements and standards,
nothing more and nothing less.
a. True
b. False
8. People who perform software quality assurance must look at the software from the customer's
perspective.
a. True
b. False
9. Which of these activities is not one of the activities recommended to be performed by an independent
SQA group?
a. prepare SQA plan for the project
b. review software engineering activities to verify process compliance
c. report any evidence of noncompliance to senior management
d. serve as the sole test team for any software produced
10. The purpose of software reviews is to uncover errors and defects in work products so they can be
removed before moving on to the next phase of development.
a. True
b. False
11. In general the earlier a software defect is discovered and corrected the less costly to the overall
project budget.
a. True
b. False
12. Defect amplification models can be used to illustrate the costs associated with using software from its
initial deployment to its retirement.
a. True
b. False
13. Which of the following are objectives for formal technical reviews?
a. allow senior staff members to correct errors
Page 20 of 76
21. b. assess programmer productivity
c. par determining who introduced an error into a program
d. uncover errors in software work products
14. At the end of a formal technical review all attendees can decide to
a. accept the work product without modification
b. modify the work product without further review
c. reject the product due to severe errors
d. all of the above
15. A review summary report answers which three questions?
a. terminate project, replace producer, request a time extension
b. what defects were found, what caused defects, who was responsible
c. what was reviewed, who reviewed it, what were the findings
d. none of the above
16. In any type of technical review, the focus of the review is on the product and not the producer.
a. True
b. False
17. Statistical quality assurance involves
a. using sampling in place of exhaustive testing of software
b. surveying customers to find out their opinions about product quality
c. tracing each defect to its underlying cause, isolating the"vital few" causes, and moving to correct them
d. tracing each defect to its underlying causes and using the Pareto principle to correct each problem
found
18. Software reliability problems can almost always be traced to
a. errors in requirements gathering
b. errors in design and implementation
c. human error
d. errors in operation
19. Software safety is a quality assurance activity that focuses on hazards that
a. affect the reliability of a software component
b. may cause an entire system to fail
c. may result from user input errors
d. prevent profitable marketing of the final product
20. Poka-yoke devices are mechanisms that lead to the
a. creation of quality processes with minimal resources
b. determining causes of software defects
c. prevention of potential quality problems
d. none of the above
21. The ISO quality assurance standard that applies to software engineering is
a. ISO 9000
b. ISO 9001
c. ISO 9002
d. ISO 9003
22. Which of the following is not a section in the standard for SQA plans recommended by IEEE?
Page 21 of 76
22. a. budget
b. documentation
c. reviews and audits
d. test
Chapter 9: Software Configuration Management
Chapter 9 Self-Check Quiz
1. Which of these are valid software configuration items?
a. case tools
b. documentation
c. executable programs and test data
d. all of the above
2. Once a software engineering work product becomes a baseline it can not be changed again.
a. True
b. False
3. Which configuration objects would not typically be found in the project database?
a. design specification
b. marketing data
c. source code
d. test plans
4. Which of the following tasks is not part of software configuration management?
a. change control
b. reporting
c. statistical quality control
d. version control
Page 22 of 76
23. 5. A basic configuration object is a __________created by a software engineer during some phase of the
software development process.
a. program data structure
b. hardware driver
c. unit of text
d. all of the above
6. An E-R diagram can be used to show the interrelationships among configuration objects.
a. True
b. False
7. A(n) __________ is composed of objects at the same revision level.
a. entity
b. item
c. variant
d. version
8. A(n)__________ is a different collection of objects at the same revision level.
a. entity
b. item
c. variant
d. version
9. A new__________ is defined when major changes have been made to one or more objects.
a. entity
b. item
c. variant
d. version
10. Change control is not necessary if a development group is making use of an automated project
database tool.
a. True
b. False
11. The check-in and check-out process helps with which element of change control?
a. budget control
b. object control
c. synchronization control
d. version control
12. Every customer change request is transformed into an engineering change order, regardless of its
impact on the project.
a. True
b. False
13. Configuration audits are needed even if you make use of formal technical reviews as part of your
software engineering process.
a. True
b. False
14. When software configuration management is a formal activity the software configuration audit is
conducted by the
Page 23 of 76
24. a. development team
b. quality assurance group
c. senior managers
d. testing specialists
15. The primary purpose of configuration status reporting is to
a. allow revision of project schedule and cost estimates by project managers
b. evaluate the performance of software developers and organizations
c. make sure that change information is communicated to all affected parties
d. none of the above
Chapter 10: System Engineering
Chapter 10 Self-Check Quiz
1. Software engineers do not need to consider hardware when designing a computer-based system.
a. True
b. False
2. Which of the following can be elements of computer-based systems?
a. Documentation and data
b. hardware and software
c. people
d. all of the above
3. The system engineering process usually begins with the
a. detailed view
b. domain view
c. element view
d. world view
4. To construct a system model the engineer should consider one of the following restraining factors?
a. assumptions and constraints
b. budget and expenses
c. data objects and operations
d. schedule and milestones
5. By following modern system engineering practices simulation of reactive systems is no longer
necessary.
a. True
b. False
Page 24 of 76
25. 6. During business process engineering, three different architectures are examined.
a. applications, data, technology infrastructure
b. communications, organization, financial infrastructure
c. network,database, reporting structure
d. systems, requirements, data structure
7. Which elements of business processing engineering are the responsibilities of the software engineer?
a. business area analysis
b. business system design
c. product planning
d. information strategy planning
8. The goal of product engineering is to translate the customer's desire for a set of defined capabilities
into a working product.
a. True
b. False
9. The architecture components for product engineering are
a. data, hardware, software, people
b. data, documentation, hardware, software
c. data, hardware, software, procedures
d. documentation, hardware, people, procedures
10. What makes requirements elicitation difficult?
a. bounding scope
b. understanding user needs
c. requirements volatility
d. all of the above
11. It is not possible to consider overall feasibility until the detailed requirements have been elicited from
the customer.
a. True
b. False
12. It is relatively common for different customers to propose conflicting requirements, each arguing that
his or her version is the right one.
a. True
b. False
13. The system specification describes the
a. function and behavior of a computer-based system
b. implementation of each allocated system element
c. algorithmic detail and data structures
d. time required for system simulation
14. System models are built to allow the system engineer to evaluate the system components in
relationship to one another,
a. True
b. False
15. The best way to conduct a requirements validation review is to
a. examine the system model for errors
b. have the customer look over the requirements
c. send them to the design team and see if they have any concerns
Page 25 of 76
26. d. use a checklist of questions to examine each requirement
16. The use of traceability tables helps to
a. debug programs following the detection of run-time errors
b. determine the performance of algorithm implementations
c. identify, control, and track requirements changes
d. none of the above
17. The top level of the hierarchical model of a system is known as the
a. AFD
b. DFD
c. SCD
d. SFD
18. The system model template contains which of the following elements
a. input c. user interface
b. output d. all of the above
Page 26 of 76
27. Chapter 11: Analysis Concepts and Principles
Chapter 11 Self-Check Quiz
1. One of the most difficult parts of software requirements analysis is ensuring the developer understands
the customer's needs.
a. True
b. False
2. What task is not performed as part of software requirements analysis?
a. evaluation and synthesis
b. modeling and problem recognition
c. planning and scheduling
d. specification and review
3. The use of context free questions by themselves provides an effective means of eliciting requirements
information from the customer.
a. True
b. False
4. The goal of facilitated application specification techniques(FAST) is to have the developer and
customer
a. construct a software prototype quickly
b. learn each other's jobs
c. work together to develop a preliminary set of requirements
d. work together to develop the technical software specification
5. Which of these people would not be likely to part of the FAST team?
a. hardware and software engineers
b. manufacturing representative
c. marketing representatives
d. senior financial officers
6. Which of these requirements are considered during quality function deployment(QFD)?
a. exciting requirements
b. expected requirement
c. normal requirements
d. technology requirements
7. Value analysis is conducted as part of quality function deployment to determine the
a. cost of project quality assurance activities.
b. relative cost of requirements during function, task, and information deployment.
c. relativepriority of requirements during function, task, and information deployment.
d. size of the customer voice table.
8. Use-cases are scenarios that describe
a. how software is to be used in a given situation.
b. how CASE tools will be used to construct the system.
c. the build plan for a software product.
d. the test cases for a software product.
9. The actors described in use-cases are the people who are the intended software product users.
Page 27 of 76
28. a. True
b. False
10. Information content represents the individual data and control objects that comprise the information
that is
a. necessary to lay out all output.
b. required for error handling.
c. demanded for operating system interfacing.
d. transformed by the software.
11. Information flow represents the manner in which data and control
a. are related to one another.
b. changes each moves through the system.
c. will be implemented in the final design.
d. none of the above.
12. Information structure represents the internal organization of the
a. data structures used to represent data types.
b. project staffing model.
c. project communications model.
d. various data and control items.
13. What types of models are created during software requirements analysis?
a. functional and behavioral
b. algorithmic and data structure
c. architectural and structural
d. usability and reliability
14. In the context of requirements analysis, two types of problem partitioning are
a. bottom-up and top-down
b. horizontal and vertical
c. subordinate and superordinate
d. none of the above
15. In the context of requirements analysis, partitioning results in the elaboration of data, function, or
behavior.
a. True
b. False
16. Which view should be considered first during software requirements analysis?
a. actor view
b. data view
c. essential view
d. implementation view
17. Evolutionary prototyping is generally preferred to throw away prototyping because it
a. allows reuse of the initial prototype.
b. does not require as much customer involvement.
c. is easier to quickly.
d. is more reliable.
Page 28 of 76
29. 18. For software prototyping to be effective technique, tools are required to develop prototypes rapidly to
keep the schedule on track.
a. True
b. False
19. Which of the following is not a principle that should be followed when creating a specification?
a. create a cognitive model rather than a design model
b. make sure the specification dots every "i" and crosses every "t"
c. recognize that the specification must be augmentable
d. separate functionality from implementation
20. Which of the following is not a guideline for representing requirements?
a. diagrams should be restricted in number and consistent in use
b. representation format and content should be relevant to the content
c. representations should be revisable
d. use no more than 7 plus or minus 2 colors in any diagrams
21. Once the software requirements specification document is approved by both the customer and
developer it becomes an unchangeable baseline document.
a. True
b. False
Chapter 12: Analysis Modeling
Page 29 of 76
30. Chapter 12 Self-Check Quiz
1. Structured analysis is only useful for modeling information systems work, not real-time engineering
problems.
a. True
b. False
2. Which of the following is not an objective for building an analysis model?
a. define set of software requirements
b. describe customer requirements
c. develop an abbreviated solution for the problem
d. establish basis for software design
3. The data flow diagram
a. depicts relationships between data objects
b. depicts functions that transform the data flow
c. specified major logical decisions as they occur
d. indicates system reactions to external events
4. The entity relationship diagram
a. depicts relationships between data objects
b. depicts functions that transform the data flow
c. indicates how data are transformed by the system
d. indicates system reactions to external events
5. The state transition diagram
a. depicts relationships between data objects
b. depicts functions that transform the data flow
c. indicates how data are transformed by the system
d. indicates system reactions to external events
6. The data model consists of three pieces of interrelated information
a. attributes
b. data objects
c. relationships
d. all of the above
7. The relationships shown in a data model must be classified to show their
a. Width and depth
b. Directionality and reliability
c. cardinality and modality
d. probability and risk
8. The primary purpose of an entity relationship diagram in the data model is to allow normalization of
relationship tables.
a. True
b. False
9. The data flow diagram must be augmented by descriptive text in order to describe the functional
requirements for a software product.
a. True
Page 30 of 76
31. b. False
10. It is not possible to use ordinary data flow diagrams to model the functional requirements of real-time
systems.
a. True
b. False
11. The Ward-Mellor extensions to data flow diagrams use
a. dashed lines to show control flow
b. double headed arrows for time-continuous flow
c. boldline to represent real-time operations
d. solid bars as windows into the CSPEC
12. Control flow diagrams use
a. dashed lines to show control flow
b. solid bars as windows into the CSPEC
c. answers a and b
d. single headed arrows for discrete data flow
13. For purposes of behavior modeling a state is any
a. consumer or producer of data.
b. data object hierarchy.
c. observable mode of behavior.
d. well defined process.
14. The states shown in a state transition diagram do not necessarily correspond to the processes shown
in a control flow diagram for the same system.
a. True
b. False
15. Performing a grammatical parse of the processing narrative is the good first step to take in producing
a(n)
a. data dictionary
b. data flow diagram
c. entity relationship diagram
d. state transition diagram
16. Control flow diagrams are
a. needed to model event driven systems.
b. required for all systems.
c. used in place of data flow diagrams.
d. useful for modeling user interfaces
17. The process specification used to describe all flow processes that appear in the final DFD must be
written using a program design language.
a. True
b. False
18. The data dictionary contains descriptions of each software
a. configuration item
b. data object
c. diagram
Page 31 of 76
32. d. notation
19. The process activation table (PAT) provides a process view of the information contained in a state
transition diagram (STD).
a. True
b. False
Chapter 13: Design Concepts and Principles
Chapter 13 Self-Check Quiz
Page 32 of 76
33. 1. Which of the following is not an area of concern in the design model?
a. architecture
b. data
c. interfaces
d. project scope
2. The importance of software design can be summarized in a single word
a. accuracy
b. complexity
c. efficiency
d. quality
3. Which of these is a characteristic of a good design?
a. exhibits strong coupling between its modules
b. implements all requirements in the analysis model
c. includes test cases for all components
d. incorporates source code for descriptive purposes
4. Which of the following is not a characteristic common to all design methods?
a. configuration management
b. functional component notation
c. quality assessment guidelines
d. refinement heuristics
5. A set of design rules should be established before work begins to ensure design consistency and
uniformity.
a. True
b. False
6. What types of abstraction are used in software design?
a. control
b. data
c. procedural
d. all of the above
7. When using structured design methodologies the process of stepwise refinement is unnecessary.
a. True
b. False
8. Since modularity is an important design goal it is not possible to have too many modules in a proposed
design.
a. True
b. False
9. Which of these model types does not represent a software architecture?
a. data
b. dynamic
c. process
d. structural
Page 33 of 76
34. 10. The control hierarchy represents the
a. decision order
b. organization of modules
c. repetition of operations
d. sequence of processes
11. Horizontal partitioning defines separate branches for major program functions, while vertical
partitioning distributes control in a top-down manner.
a. True
b. False
12. Data structure design takes less time than algorithm design, so it may be saved for last.
a. True
b. False
13. Software procedure focuses on the
a. control hierarchy in a more abstract sense.
b. processing details of each module individually.
c. processing details of each the set of modules collectively.
d. relationship between control and procedure.
14. Information hiding makes program maintenance easier by hiding data and procedure from unaffected
parts of the program.
a. True
b. False
15. To achieve high modularity of software components you need
a. high coupling and high cohesion
b. high coupling and low cohesion
c. low coupling and high cohesion
d. low coupling and low cohesion
16. Cohesion is a qualitative indication of the degree to which a module
a. can be written more compactly.
b. focuses on just one thing.
c. is able to complete its function in a timely manner.
d. is connected to other modules and the outside world.
17. Coupling is a qualitative indication of the degree to which a module
a. can be written more compactly.
b. focuses on just one thing.
c. is able to complete its function in a timely manner.
d. is connected to other modules and the outside world.
18. Design heuristics are typically only used by students and not needed by experienced software
engineers.
a. True
b. False
19. The reason it is a mistake to do component level design before data design is that
a. component design is language dependent and data design is not.
b. data design is easier to do.
Page 34 of 76
35. c. data design is hard to do.
d. the structure of the data usually affects the way in which component-level design is conducted.
20. The purpose of the requirements cross reference (matrix) in the design document is to
a. allow managers to monitor the productivity of the design team.
b. establish that all requirements are accounted for by the design.
c. indicate costs associated with each requirement
d. provide implementers with the names of designers for each requirement.
Chapter 14: Architectural Design
Chapter 14 Self-Check Quiz
1. Which of the following is not part of software architecture?
a. algorithm details
b. databases
c. data design
Page 35 of 76
36. d. program structure
2. The architectural model provides the software engineer with a view of the system as a whole.
a. True b. False
3. Which of these characteristics are true of a data warehouse, but not a typical database?
a. business level orientation and large size
b. currency and correctness of information
c. integration and non volatility
d. all of the above
4. Data mining and database knowledge discovery are distinct processes.
a. True b. False
5. Data design actually begins during the creation of the analysis model, not the architectural model.
a. True b. False
6. An architectural style encompasses which of the following elements?
a. constraints
b. set of components
c. semantic models
d. all of the above
7. To determine the architectural style or combination of styles that best fits the proposed system,
requirements engineering is used to uncover
a. algorithmic complexity
b. characteristics and constraints
c. control and data
d. design patterns
8. The criteria used to assess the quality of an architectural design should be based on system
a. accessibility and reliability
b. data and control
c. functionality
d. implementation details
9. In the architecture trade-off analysis method the architectural style should be described using the
a. data flow view
b. module view
c. process view
d. all of the above
10. Quantitative methods for assessing the quality of proposed architectural designs are readily available.
a. True
b. False
11. A useful technique for evaluating the overall complexity of a proposed architecture is to look at the
component
a. number and size of components
b. flow dependencies and sharing dependencies
c. size and cost
d. none of the above
Page 36 of 76
37. 12. When the overall flow in a segment of a data flow diagram is largely sequential and follows straight-
line paths _________ is present.
a. low coupling
b. good modularity
c. transaction flow
d. transform flow
13. When the information flow in a segment of a data flow diagram is characterized by a single item that
triggers other data flow along one of many paths _________ is present.
a. high coupling
b. poor modularity
c. transaction flow
d. transform flow
14. When refining the DFD during transform mapping the goal is to strive to derive bubbles showing high
cohesion.
a. True
b. False
15. When you encounter both transform flow and transaction flow in the same DFD the flow is partitioned
and the appropriate mapping technique is used on each part of the DFD.
a. True
b. False
16. In refining the DFD during transaction mapping it is unnecessary to create a PSPEC since only the
CSPEC is relevant to this type of architectural style.
a. True
b. False
17. In transaction mapping the first level factoring results in the
a. creation of a CFD
b. derivation of the control hierarchy
c. distribution of worker modules
d. refinement of the module view
18. A necessary supplement to transform or transaction mapping needed to create a complete
architectural design is
a. entity relationship diagrams
b. the data dictionary
c. processing narratives for each module
d. test cases for each module
Chapter 15: User Interface Design
Chapter 15 Self-Check Quiz
1. Which of the following interface design principles does not allow the user to remain in control of the
interaction with a computer?
a. allow interaction to interruptible
b. allow interaction to be undoable
c. hide technical internals from casual users
d. only provide one rigidly defined method for accomplishing a task
Page 37 of 76
38. 2. Which of the following interface design principles reduce the user's memory load?
a. define intuitive shortcuts
b. disclose information in a progressive fashion
c. establish meaningful defaults
d. all of the above
3. The reason for reducing the user's memory load is to make his or her interaction with the computer
quicker to complete.
a. True
b. False
4. Interface consistency implies that
a. input mechanisms remain the same throughout the application
b. each application should have its own distinctive look and feel
c. navigational methods are context sensitive
d. answers a and b
5. If past interactive models have created certain user expectations it is not generally good to make
changes to the model.
a. True
b. False
6. Which model depicts the profile of the end users of a computer system?
a. design model
b. user model
c. user's model
d. system perception
7. Which model depicts the image of a system that an end user creates in his or her head?
a. design model
b. user model
c. system image
d. system perception
8. Which model depicts the look and feel of the user interface along with all supporting information?
a. user model
b. user's model
c. system image
d. systems perception
9. Which of these framework activities is not normally associated with the user interface design
processes?
a. cost estimation
b. interface construction
c. interface validation
d. user and task analysis
10. Which approach to user task analysis can be useful in user interface design?
a. have users indicate their preferences on questionnaires
b. rely on the judgement of experienced programmers
c. study related automated systems
d. observe users performing tasks manually
Page 38 of 76
39. 11. Object-oriented analysis techniques can be used to identify and refine user task objects and actions.
a. True
b. False
12. The computer's display capabilities are the primary determinant of the order in which user interface
design activities are completed.
a. True
b. False
13. One means of defining user interface objects and actions is to conduct a grammatical parse of the
user scenario.
a. True
b. False
14. The following common design issues surface for almost every user interface:
a. adaptive user profiles and functional shortcuts
b. error handling and system response time
c. resolution of graphics displays and design of icons
d. none of the above
15. Add-on help facilities are almost always better received by users than integrated help facilities.
a. True
b. False
16. User interface development systems typically provide the following mechanism for building interface
prototypes including
a. code generation
b. drawing tools
c. input validation
d. all of the above
17. Usability questionnaires are most meaningful to the interface designers when completed by
a. customers
b. experienced programmers
c. product users
d. project managers
18. Several usability measures can be collected while observing users interacting with a computer system
including
a. down time for the application
b. number of software defects
c. software reliability
d. time spent looking at help materials
Page 39 of 76
40. Chapter 16: Component-Level Design
Chapter 16 Self-Check Quiz
1. Which of the following is not a fundamental structured programming construct?
a. recursion
b. condition
c. repetition
d. sequence
2. Which of these is a graphical notation for depicting procedural detail?
a. box diagram
b. decision table
c. ER diagram
d. graph matrix
Page 40 of 76
41. 3. In general, box diagrams and flowcharts should
a. be used in place of programming design languages
b. be used to document the entire design or not at all
c. only be used to document or evaluate design in specific instances
d. none of the above
4. A decision table should be used
a. to document all conditional statements
b. to guide the development of the project management plan
c. only when building an expert system
d. when a complex set of conditions and actions appears in a component
5. A program design language (PDL) is often a
a. combination of programming constructs and narrative text
b. legitimate programming language in its own right
c. machine readable software development language
d. useful way to represent software architecure
6. Since a program design language is not a real programming language the designer is free to write the
procedural design without worrying about syntax errors.
a. True
b. False
7. Modern software engineers believe that the only design notation useful for procedural representation is
pseudocode.
a. True
b. False
8. Which of these criteria are useful in assessing the effectiveness of a particular design notation?
a. maintainability
b. modularity
c. simplicity
d. all of the above
Chapter 17: Software Testing Techniques
Chapter 17 Self-Check Quiz
1. With thorough testing it is possible to remove all defects from a program prior to delivery to the
customer.
a. True
b. False
2. Which of these are objectives for software testing?
a. determine the productivity of programmers
b. eliminate the need for future program maintenance
c. eliminate every error prior to release
d. uncover software errors
3. Test cases should be designed long before testing begins.
Page 41 of 76
42. a. True
b. False
4. Which of the following are characteristics of testable software?
a. observability
b. simplicity
c. stability
d. all of the above
5. The testing technique that requires devising test cases to demonstrate that each program function is
operational is called
a. black-box testing
b. glass-box testing
c. grey-box testing
d. white-box testing
6. The testing technique that requires devising test cases to exercise the internal logic of a software
module is called
a. behavioral testing
b. black-box testing
c. grey-box testing
d. white-box testing
7. What types of errors are missed by black-box testing and can be uncovered by white-box testing?
a. behavioral errors
b. subtle logic errors
c. performance errors
d. input error
8. Program flow graphs are identical to program flowcharts.
a. True
b. False
9. The cyclomatic complexity metric provides the designer with information regarding the number of
a. cycles in the program
b. errors in the program
c. independent logic paths in the program
d. statements in the program
10. The cyclomatic complexity of a program can be computed directly from a PDL representation of an
algorithm without drawing a program flow graph.
a. True
b. False
11. Condition testing is a control structure testing technique where the criteria used to design test cases
is that they
a. rely on basis path testing
b. exercise the logical conditions in a program module
c. select test paths based on the locations and uses of variables
d. focus on testing the validity of loop constructs
Page 42 of 76
43. 12. Data flow testing is a control structure testing technique where the criteria used to design test cases
is that they
a. rely on basis path testing
b. exercise the logical conditions in a program module
c. select test paths based on the locations and uses of variables
d. focus on testing the validity of loop constructs
13. Loop testing is a control structure testing technique where the criteria is used to design test cases so
that they
a. rely basis path testing
b. exercise the logical conditions in a program module
c. select test paths based on the locations and uses of variables
d. focus on testing the validity of loop constructs
14. Black-box testing attempts to find errors in which of the following categories
a. incorrect or missing functions
b. interface errors
c. performance errors
d. all of the above
15. Graph-based testing methods can only be used for object-oriented systems
a. True
b. False
16. Equivalence testing divides the input domain into classes of data from which test cases can be
derived to reduce the total number of test cases that must be developed.
a. True
b. False
17. Boundary value analysis can only be used during white-box testing.
a. True
b. False
18. Comparison testing is typically done to test two competing products as part of customer market
analysis prior to product release.
a. True
b. False
19. Orthogonal array testing enables the test designer to maximize the coverage of the test cases
devised for relatively small input domains.
a. True
b. False
20. Real-time applications add a new and potentially difficult element to the testing mix
a. performance
b. reliability
c. security
d. time
Page 43 of 76
44. Chapter 18: Software Testing Strategies
Chapter 18 Self-Check Quiz
1. In software quality assurance work there is no difference between software verification and software
validation.
a. True
b. False
2. The best reason for using Independent software test teams is that
a. software developers do not need to do any testing
b. strangers will test the software mercilessly
c. testers do not get involved with the project until testing begins
d. the conflicts of interest between developers and testers is reduced
3. What is the normal order of activities in which software testing is organized?
a. unit, integration, system, validation
b. system, integration, unit, validation
c. unit, integration, validation, system
d. none of the above
Page 44 of 76
45. 4. By collecting software metrics and making use of existing software reliability models it is possible to
develop meaningful guidelines for determining when software testing is done.
a. True
b. False
5. Which of the following strategic issues needs to be addressed in a successful software testing
process?
a. conduct formal technical reviews prior to testing
b. specify requirements in a quantifiable manner
c. consider using independent test teams
d. all of the above
6. Which of the following need to be assessed during unit testing?
a. algorithmic performance
b. code stability
c. execution and error handling
d. all of the above
7. Units and stubs are not needed for unit testing because the modules are tested independently of one
another.
a. True
b. False
8. Top-down integration testing has as it's major advantage(s) that
a. low level modules never need testing
b. major decision points are tested early
c. no stubs need to be written
d. none of the above
9. Bottom-up integration testing has as it's major advantage(s) that
a. major decision points are tested early
b. no drivers need to be written
c. no stubs need to be written
d. regression testing is not required
10. Regression testing should be a normal part of integration testing because as a new module is added
to the system new
a. control logic and data flow paths are invoked
b. memory size increases
c. drivers require testing
d. a and b
11. Smoke testing might best be described as
a. bulletproofing shrink-wrapped software
b. rolling integration testing
c. testing that hides implementation errors
d. unit testing for small programs
12. Sandwich testing involves the use of
a. bottom-up testing for subordinate modules
b. schedule compression techniques to reduce testing time
Page 45 of 76
46. c. testing within tight data boundaries
d. two competitive test teams
13. Which test criteria should be applied in a phase of testing?
a. functional validity
b. interface integrity
c. correctness
d. all of the above
14. The focus of validation testing is to uncover places that users will be able to observe failure of the
software to conform to its requirements.
a. True
b. False
15. Configuration reviews are not needed if regression testing has been rigorously applied during
software integration.
a. True
b. False
16. Acceptance tests are normally conducted by the
a. developer
b. end users
c. test team
d. systems engineers
17. Recovery testing is a system test that forces the software to fail in a variety of ways and verifies that
software is able to continue execution without interruption.
a. True
b. False
18. Security testing attempts to verify that protection mechanisms built into a system protect it from
improper penetration.
a. True
b. False
19. Stress testing examines the pressures placed on the user during system use in extreme
environments.
a. True
b. False
20. Performance testing is only important for real-time or embedded systems.
a. True
b. False
21. Debugging is not testing, but always occurs as a consequence of testing.
a. True
b. False
22. Which of the following is an approach to debugging?
a. backtracking
b. brute force
Page 46 of 76
47. c. cause elimination
d. all of the above
Chapter 19: Technical Metrics for Software
Chapter 19 Self-Check Quiz
1. Conformance to implicit requirements and customer expectations has no place in modern software
quality assurance work.
a. True
b. False
2. Failure to conform to explicitly stated requirements and development standards is cause of most
software quality problems.
a. True
b. False
3. Which of the following is not one of three software product aspects addressed by McCall's software
quality factors?
a. ability to undergo change
b. adaptability to new environments
c. operational characteristics
d. production costs and scheduling
4. Which of the following are FURPS quality factors?
a. flexibility
b. complexity
Page 47 of 76
48. c. reusability
d. usability
5. The ISO 9126 quality standards for computer software are useful because they lend themselves to
direct measurement of software attributes.
a. True
b. False
6. Most technical software metrics described in this chapter represent indirect measures software
attributes that are useful in the quantitative assessment of software quality.
a. True
b. False
7. Which of these are reasons for using technical product measures during software development?
a. large body of scientific evidence supports their use
b. provides software engineers with an objective mechanism for assessing software quality
c. they allow all quality software and quality information to be expressed unambiguously as a single
number
d. all of the above
8. Which measurement activity is missing from the list below?
Formulation
Collection
Analysis
Interpretation
a. design
b. feedback
c. measurement
d. quantification
9. One of the most important attributes for a technical software metric is that it should be
a. easy to compute
b. qualitative in nature
c. reliable over time
d. widely applicable
10. The function point metric is an example of project metric that can be used to assist with technical
decision-making based on the analysis model information, without making use of historical project data.
a. True
b. False
11. The computation of DeMarco's bang metric requires the developer to distinguish between function-
strong and data-strong applications.
a. True
b. False
12. Which two characteristics of the software requirementsare the specification metrics proposed by the
Davis address?
a. functionality and performance
b. performance and completeness
c. specificity and completeness
d. specificity and functionality
Page 48 of 76
49. 13. Architectural design metrics focus on
a. architectural structure
b. data structural relationships
c. internal module complexity
d. module complexity
14. Component-level metrics include measures of
a. complexity
b. coupling
c. module cohesion
d. all of the above
15. Interface metrics are used to assess the complexity of the module's input and output relationships
with external devices.
a. True
b. False
16. Halstead's source code metrics are based on the number of
a. modules in the program
b. operators and operands in the program
c. number of Boolean conditions in the program
d. volume elements in the program
17. Technical testing metrics fall into which broad category(s)
a. metrics that focus on defect removal effectiveness
b. metrics that focus on test coverage
c. metrics that predict the number of test cases required
d. answers b and c
18. The IEEE software maturity index is used to provide a measure of the
a. maintainability of a software product based on its availability
b. relative age of a software product being considered for retirement
c. reliability of a software product following regression testing
d. stability of a software product as it is modified during maintenance
Page 49 of 76
51. Chapter 20: Object-Oriented Concepts and Principles
Chapter 20 Self-Check Quiz
1. The object-oriented view demands a revolutionary approach to software engineering.
a. True
b. False
2. Encapsulation of attributes and operations within an object
a. allows for easy reuse of this information.
b. increases the cost of program maintenance.
c. is a poor programming practice.
d. none of the above
3. A generalized description of a collection of similar objects is a
a. class
b. instance
c. subclass
d. super class
4. The values are assigned to an object's attributes make that object unique.
a. True
b. False
5. An object's operations are activated by ordinary function calls.
a. True
b. False
6. Operations are object procedures that are invoked when an object receives a message.
a. True
b. False
7. Which of these is not one of the primary benefits of object-oriented architectures?
a. easy component reuse
b. improved execution performance
c. information hiding
d. simplified interfaces
8. Inheritance provides a mechanism by which changes to lower level classes can be propagated to all
super classes quickly.
a. True
b. False
9. Polymorphism reduces the effort required to extend an object system by
a. coupling objects together more tightly.
b. enabling a number of different operations to share the same name.
c. making objects more dependent on one another.
d. removing the barriers imposed by encapsulation.
10. Which of the following should be considered as candidate objects in a problem space?
a. events
Page 51 of 76
52. b. people
c. structures
d. all of the above
11. Attributes are chosen for an object by examining the data dictionary and identifying the entities that
appear to be related.
a. True
b. False
12. Which of the following is not one of the broad categories used to classify operations?
a. computation
b. data manipulation
c. event monitors
d. transformers
13. Consideration of an object's life history and messages passed among system objects may suggest
additional operations that need to be added to an object definition.
a. True
b. False
14. Object-oriented projects require less management planning and oversight effort than conventional
software projects.
a. True
b. False
15. The common process framework suggested for object-oriented software development consists of a(n)
a. analysis part and a design part.
b. recursive part and an iterative part
c. recursive part and a parallel part
d. quality process and a software reuse part
16. Because an overriding goal for object-oriented projects should be reuse, LOC estimates are good
project metrics.
a. True
b. False
17. Two metrics that may be useful in scheduling object-oriented projects are
a. number of key classes and number of support classes
b. number of major iterations and number of completed contracts
c. number of scenario scripts and number of subsystems
d. all of the above
18. Which of the following may be considered a major milestone during an object-oriented software
development project?
a. object-oriented analysis completed
b. object-oriented design completed
c. object-oriented programming completed
d. all of the above
Chapter 21: Object-Oriented Analysis
Page 52 of 76
53. Chapter 21 Self-Check Quiz
1. Unlike structured analysis, top-down decomposition and consideration of end-to-end processing
sequences are not present when OOA is used.
a. True
b. False
2. The first step in any OOA process model are to
a. build an object-relationship model
b. define collaborations between objects
c. elicit customer requirements
d. select a representation language
3. UML (unified modeling language) analysis modeling focuses on the
a. behavioral model and environment model
b. behavioral model and implementation model
c. user model and environmental model
d. user model and structural model
4. Assume team A has access to a robust class library and team B does not. If both teams were building
the same software product you would expect
a. team A to complete the product faster and at a lower cost
b. team B to complete the product faster and at a lower cost
c. team A to spend more team testing and debugging their code
d. team B to produce a better product programming from scratch
5. Object-oriented domain analysis is concerned with the identification and specification of reusable
capabilities within an application domain.
a. True
b. False
6. Static components of an OOA model are
a. focus on control
b. not reusable
c. sensitive to timing and event processing
d. structural in nature
7. Dynamic components of an OOA model are
a. not reusable
b. sensitive to timing and event processing
c. stable throughout the operational life of an application
d. structural in nature
8. Which of these is not an objective for use-case creation?
a. define the functional and operational system requirements
b. define the object hierarchy for the system
c. provide a basis for validation testing
d. provide a description of end-user and system interaction
9. Which of the following items does not appear on a CRC card?
a. class collaborators
b. class name
c. class reliability
Page 53 of 76
54. d. class responsibilities
10. Class responsibilities are defined by
a. its attributes only
b. its collaborators
c. its operations only
d. both its attributes and operations
11. Which of these is not a generic relationship that helps an analyst define potential class collaborators?
a. comes-before
b. depends-upon
c. has-knowledge-of
d. is-part-of
12. To review a complete CRC model the reviewers only need to walk through one or two representative
use-cases.
a. True
b. False
13. Once the classes and objects have been identified using the CRC model the analyst should focus on
the structure and hierarchy of the class model.
a. True
b. False
14. When a group of classes collaborate among themselves to accomplish a cohesive set of
responsibilities they are referred to as a(n)
a. collaboratory
b. object hierarchy
c. package
d. subclass unit
15. The CRC model defines the relationships between the objects, but unlike the object-relationship
model it does not specify the
a. cardinality of the relationships
b. collaboration among the classes
c. direction of the relationships
d. number of relationships
16. The object-behavior model indicates how the system
a. functions in the operating environment
b. objects collaborate with one another
c. responds to external stimuli
d. responds to internal stimuli
17. Events occur whenever a(n)
a. actor and the OO system exchange information
b. class operation is invoked
c. messages are passed between objects
d. all of the above
18. The passive state of an object is
a. only observable from outside the system
b. simply the current status of all its attributes
c. the resting behavior of the class
d. none of the above
Page 54 of 76
55. 19. An state transition can only occur when triggered by a(n)
a. actor
b. collaboration attempt
c. event
d. none of the above
Chapter 22: Object-Oriented Design
Chapter 22 Self-Check Quiz
Page 55 of 76
56. 1. The four layers defined for object-oriented design are the same as design layers used for conventional
software design.
a. True
b. False
2. Which of the following criteria appears in object-oriented design models, but not conventional design
models?
a. representation of module hierarchy
b. specification of data definitions
c. specification of message connections
d. specification of procedural logic
3. Object-oriented design achieves low module coupling and provides better information hiding than other
approaches.
a. True
b. False
4. The same generic steps are applied in object-oriented design, regardless of the particular design
method that is chosen.
a. True
b. False
5. The UML (unified modeling language) approach to object-oriented design has two major activities.
a. architectural design and object design
b. interface design and message design
c. message design and system design
d. system design and object design
6. Which of the following activities is part of the system design activity of the UML approach to OOD?
a. choose a strategy for data management
b. partition analysis model into subsystems
c. user interface design
d. all of the above
7. The first step of system design in OOD is partitioning the analysis model into cohesive collections of
classes, relationships, and behaviors called
a. class hierarchies
b. client/server links
c. subsystems
d. system layers
8. When subsystems are concurrent they must be allocated to separate processors.
a. True
b. False
9. User interfaces are frequently built from toolkits containing reusable classes so that the implementer
only needs to instantiate objects appropriate to problem domain.
a. True
b. False
10. Which of these areas is considered part of the data management component of OOD system design?
a. creation of an infrastructure for object storage and retrieval
Page 56 of 76
57. b. management of data critical to the application
c. normalization of the class data attributes
d. both a and b
11. A guardian object
a. controls access to a resource and moderates conflicting requests for it
b. is a multimedia database object
c. provides security to a networked or web-based system
d. none of the above
12. Every contract between subsystems is manifested by exactly one message that moves between an
object in each subsystem.
a. True
b. False
13. The design description of an object can take one of two forms
a. object template or pseudocode
b. operator sequences or attribute graphs
c. protocol description or object description
d. subsystem collaboration graph or protocol graph
14. In OOD operations are refined by
a. isolating new operations at lower abstraction levels
b. performing a grammatical parse
c. writing a processing narrative
d. all of the above
15. Design patterns are not applicable to the design of object-oriented sofware?
a. True
b. False
16. Two design patterns that can be used in object-oriented systems are
a. inheritance and composition
b. inheritance and reuse
c. polymorphism and composition
d. polymorphism and reuse
17. Object-oriented designs do not need to be implemented using object-oriented programming
techniques.
a. True
b. False
Chapter 23: Object-Oriented Testing
Chapter 23 Self-Check Quiz
1. Which of these should every object-oriented model be tested for?
a. completeness
b. consistency
Page 57 of 76
58. c. correctness
d. all of the above
2. Because if the evolutionary nature of OO software development, there is no cost savings attributed to
early detection of errors.
a. True
b. False
3. The correctness of the OOA and OOD models is judged based on the
a. model's conformance to real world problem domain
b. review of the connections between classes
c. review of the modeling conventions used
d. both a and c
4. To facilitate assessing the consistency of the OOA and OOD models, each class and its connections
to other classes should be examined by reviewing the
a. CRC model
b. object-relationship model
c. state transition function
d. both a and b
5. Class testing for OO software is equivalent to unit testing in conventional software testing.
a. True
b. False
6. The OO testing integration strategy involves testing
a. groups of classes that collaborate or communicate in some way
b. single operations as they are added to the evolving class implementation
c. operator programs derived from use-case scenarios
d. none of the above
7. To develop validation tests for OO software the tester should
a. focus on user visible actions
b. derive test cases from the object-behavior model
c. look at use-cases from the analysis model
d. all of the above
8. Test case design for OO software is driven by the algorithmic detail of the individual operations.
a. True b. False
9. Encapsulation of attributes and operations inside objects makes it easy to obtain object state
information during testing.
a. True b. False
10. Use-cases can provide useful input into the design of black-box and state-based tests of OO
software.
a. True
b. False
11. Fault-based testing is best reserved for
a. conventional software testing
b. operations and classes that are critical or suspect
c. use-case validation
d. white-box testing of operator algorithms
Page 58 of 76
59. 12. Testing OO class operations is made more difficult by
a. encapsulation
b. inheritance
c. polymorphism
d. both b and c
13. It is not necessary to test operators inherited by other objects.
a. True
b. False
14. Scenario-based testing
a. concentrates on actor and software interaction
b. misses errors in specifications
c. misses errors in subsystem interactions
d. both a and b
15. Deep structure testing is not designed to
a. object behaviors
b. communication mechanisms
c. exercise object dependencies
d. exercise structure observable by the user
16. Random order tests are conducted to exercise different class instance life histories.
a. True
b. False
17. Which of these techniques is not useful for partition testing at the class level
a. attribute-based partitioning
b. category-based partitioning
c. equivalence class partitioning
d. state-based partitioning
18. Multiple class testing is too complex to be tested using random test cases.
a. True
b. False
19. Test derived from behavioral class models should be based on the
a. data flow diagram
b. object-relation diagram
c. state transition diagram
d. use-case diagram
Chapter 24: Technical Metrics for Object-Oriented Systems
Chapter 24 Self-Check Quiz
1. The primary objectives for using object-oriented metrics are no different than those for metrics derived
from conventional software.
a. True
b. False
Page 59 of 76
60. 2. For OO systems the localization mechanism is based on the
a. data structures
b. internal structure of functions
c. module coupling
d. objects
3. For OO systems encapsulation encompasses
a. attributes
b. class states
c. operations
d. all of the above
4. Metrics that provide an indication that information hiding has been avoided should provide an indication
of the high quality for an OO system design.
a. True
b. False
5. Examples of inheritance metrics for OO systems would be
a. number of children
b. nesting level in the hierarchy
c. both a and b
d. none of the above
6. OO metrics represent abstractions in measures of a(n)
a. attribute
b. class
c. object
d. operation
7. Experienced OO designers derive no benefit from having access to design metrics.
a. True
b. False
8. Which of the following is not a measurable characteristic of an object-oriented design?
a. completeness
b. efficiency
c. size
d. volatility
9. The depth of inheritance tree (DIT) metric can give an OO software designer a reading on the
a. attributes required for each class
b. completion time required for system implementation
c. complexity of the class hierarchy
d. level of object reusability achieved
10. For OO software it is important to keep class coupling low and operation cohesion high.
a. True
b. False
11. If you encounter a class with a large responsibility (large class size or CS value) you should consider
a. making it a base class
b. making it a subclass
Page 60 of 76
61. c. partitioning the class
d. starting a new class hierarchy
12. Because the class is the dominant unit in OO systems there is no call for the definition of class-
oriented metrics.
a. True
b. False
13. OO design metrics provide an indication of design quality and also provide a general indication of the
amount of testing effort required for the OO system.
a. True
b. False
14. OO testing metrics can help you in targeting suspect
a. clusters
b. scenarios
c. threads
d. all of the above
15. OO project metrics may be combined with historical project data to compute
a. design metrics
b. process metrics
c. productivity metrics
d. testing metrics
16. Which of the following metrics can provide the software planner with insight into software size?
a. number of key classes
b. number of scenario scripts
c. number of subsystems
d. all of the above
Chapter 25: Formal Methods
Chapter 25 Self-Check Quiz
1. Which of the following is not one of the desired properties of a formal specification?
a. completeness
b. consistency
c. unambiguous
d. all of the above
2. Which of the following is a deficiency of natural language specification of software products?
Page 61 of 76
62. a. contradictions
b. vagueness
c. mixed abstraction levels
d. all of the above
3. Effective use of formal methods will eliminate all defects that would normally appear during design,
coding, and testing.
a. True
b. False
4. It is not realistic to expect that a complex software system could be specified using a single
mathematical expression.
a. True
b. False
5. A data invariant is a set of conditions that are true during the execution of any function.
a. True
b. False
6. In formal methods work, stored data that the system accesses and alters is called a(n)
a. attribute
b. data structure
c. state
d. variant
7. In formal methods work, an action that reads or writes data to a state is called a(n)
a. actor
b. event
c. invariant
d. operation
8. What defines the circumstances in which a particular operation is valid?
a. data invariant
b. precondition
c. postcondition
d. state
9. Constructive set specification is preferable to enumeration because it
a. allows succinct definition of large sets
b. only works for software products
c. uses mathematical notation
d. all of the above
10. Knowledge of _______ is indispensable if a software engineer intends to make use of formal
methods.
a. calculus
b. differential equations
c. set operations
d. statistical methods
11. Universal quantification is a way of making a statement about
Page 62 of 76
63. a. all the elements of a set
b. particular elements of a set
c. quality of an operations input set
d. use of metrics in the design process
12. Which of the following is not an operator that may be applied to sequences?
a. head
b. front
c. rear
d. tail
13. A common notational convention in many formal methods is to write the variable with a prime in the
postcondition for an operator.
a. True
b. False
14. Which of these are components of a formal specification language?
a. semantics that defines the objects used to describe system
b. set of relations defining the object rules
c. syntax that defining the notation
d. all of the above
15. Using formal methods eliminates the need to write natural language commentary in the specification
document.
a. True
b. False
16. Using formal methods absolves a software engineer from having to test any of the library components
used in a software design.
a. True
b. False
17. Formal specification techniques are not widely used in industry yet.
a. True
b. False
Chapter 26: Cleanroom Software Engineering
Chapter 26 Self-Check Quiz
1. The cleanroom strategy is based on the ________software process model.
a. evolutionary
b. incremental
c. revolutionary
d. spiral
2. The cleanroom strategy relies on
a. exhaustive testing
b. extensive unit testing of all modules
c. tests that exercise the software as it is really used
Page 63 of 76
64. d. white box testing strategies
3. Use of formal program correctness proofs as part of the cleanroom process eliminates the need do
any testing for software defects.
a. True
b. False
4. Which of the following characteristics distinguish cleanroom software engineering from conventional
software engineering?
a. explicit use of statistical quality control
b. relies heavily on statistical use testing
c. use of formal proof methods for design verification
d. all of the above
5. In cleanroom software engineering a box encapsulates some system aspect at a particular level of
detail.
a. True
b. False
6. This box specification describes an abstraction, stimuli, and response.
a. black box
b. clear box
c. state box
d. white box
7. This box specification describes the architectural design for some system component.
a. black box
b. clear box
c. state box
d. white box
8. This box specification is closely aligned with procedural design and structured programming.
a. black box
b. clear box
c. state box
d. white box
9. In cleanroom software engineering the structured programming approach is used to
a. refine data design
b. refine function design
c. refine usage test cases
d. both a and b
10. To prove a design correct you must identify all conditions and then prove a random statistical sample
of these conditions are correct.
a. True
b. False
11. By using only structured programming constructs as you create a procedural design, you make the
work of proving design correctness much easier.
a. True
b. False
Page 64 of 76
65. 12. Which of the following is not an advantage of using rigorous correctness verification of each
refinement of the clear box design.
a. improves performance of code
b. produces better code than unit testing
c. reduces verification effort
d. results in near zero defect levels
13. Statistical use testing relies on probability distributions based on
a. mixture of control structures used in the program
b. order in which the module execute
c. the way software will actually be used
d. user interface design standards
14. Certification of an increment is complete once it has passed the formal verification process.
a. True
b. False
15. Which of the following models is part of the clean room certification process?
a. component model
b. sampling model
c. both a and b
d. none of the above
Chapter 27: Component-Based Software Engineering
Chapter 27 Self-Check Quiz
1. In component-based software engineering, the development team examines the requirements to see
which are amenable to composition, rather than construction, before beginning detailed design tasks.
a. True
b. False
2. Which of the following is not one of the CBSE activities that take place for requirements that can be
addressed with commercial off-the-shelf (COTS) components?
a. component adaptation
b. component composition
c. component design
d. component qualification
3. What are the two parallel engineering activities found in the CBSE process model?
Page 65 of 76
66. a. component-based development and library development
b. domain engineering and component-based development
c. domain engineering and process development
d. none of the above
4. Which of the following is not one of the major activities of domain engineering?
a. analysis
b. construction
c. dissemination
d. validation
5. Domain analysis is only applicable to CBSE or object-oriented software engineering.
a. True
b. False
6. The purpose of a domain characterization function is to determine
a. a basis for estimating development costs
b. the approximate size of the application domain information
c. whether an existing function can be reused in a particular application
d. all of the above
7. A structure point is a(n)
a. distinct construct within a structural model
b. element within the reuse library
c. similar to a feature point in structured design
d. all of the above
8. Which of the following is an example of structure point for some software domain?
a. bounds setting mechanism
b. control mechanism
c. user interface
d. all of the above
9. Which of the following factors would not be considered during component qualification?
a. application programming interface (API)
b. development and integration tools required
c. exception handling
d. testing equipment required
10. Which of the following is not a technique used for component wrapping?
a. black-box wrapping
b. clear-box wrapping
c. gray-box wrapping
d. white-box wrapping
11. Which of the following should be part of an infrastructure for effective component integration?
a. automation
b. data exchange model
c. underlying object model
d. all of the above
12. Which of the following is not one of the issues that form a basis for design for reuse?
Page 66 of 76
67. a. object-oriented programming
b. program templates
c. standard data
d. standard interface protocols
13. Which of the following is not one of the classification schemes used for software components?
a. attribute-value classification
b. domain classification
c. enumerated classification
d. faceted classification
14. In a reuse environment, library queries are often characterized using the ________ element of the 3C
Model.
a. concept
b. content
c. context
d. all of the above
15. Which of the following is not improved by the effective use of CBSE?
a. cost
b. performance
c. productivity
d. quality
16. The effort required to qualify, adapt, and integrate structure points into new systems must be based
on historical data collected for qualification, adaptation, and integration of these reusable components in
other applications.
a. True
b. False
17. It is impossible to develop effective metrics for software reuse.
a. True
b. False
Chapter 28: Client/Server Software Engineering
Chapter 28 Self-Check Quiz
1. Which of the following is an example of client/server system?
a. database servers
b. file servers
c. transaction servers
d. all of the above
2. Which of the following is not a subsystem typically found in a client/server system?
a. application subsystem
b. database subsystem
c. message passing subsystem
d. user interaction subsystem
3. Which of the following is an example of a fat server design?
a. distributed presentation
b. local logic
Page 67 of 76