SlideShare uma empresa Scribd logo
1 de 76
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
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
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
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
Chapter 3: Project Management Concepts
Chapter 3 Self-Check Quiz
1. Effective software project management focuses on
                                             Page 5 of 76
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Page 50 of 76
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Software engineering-quiz
Software engineering-quiz
Software engineering-quiz
Software engineering-quiz
Software engineering-quiz
Software engineering-quiz
Software engineering-quiz
Software engineering-quiz
Software engineering-quiz

Mais conteúdo relacionado

Mais procurados

Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering ppt
shruths2890
 
Formal Methods lecture 01
Formal Methods lecture 01Formal Methods lecture 01
Formal Methods lecture 01
Sidra Ashraf
 

Mais procurados (20)

Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering ppt
 
formal verification
formal verificationformal verification
formal verification
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1
 
Formal Methods lecture 01
Formal Methods lecture 01Formal Methods lecture 01
Formal Methods lecture 01
 
Incremental process model
Incremental  process  modelIncremental  process  model
Incremental process model
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
V model Over View (Software Engineering)
V model Over View (Software Engineering) V model Over View (Software Engineering)
V model Over View (Software Engineering)
 
Atm project
Atm projectAtm project
Atm project
 
What is agile model
What is agile modelWhat is agile model
What is agile model
 
Types of grammer - TOC
Types of grammer - TOCTypes of grammer - TOC
Types of grammer - TOC
 
Traditional Process Models
Traditional Process ModelsTraditional Process Models
Traditional Process Models
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process Models
 
software project management Waterfall model
software project management Waterfall modelsoftware project management Waterfall model
software project management Waterfall model
 
Srs (Software Requirement Specification Document)
Srs (Software Requirement Specification Document) Srs (Software Requirement Specification Document)
Srs (Software Requirement Specification Document)
 
Software testing
Software testing Software testing
Software testing
 
Boehm Software Quality Model
Boehm Software Quality ModelBoehm Software Quality Model
Boehm Software Quality Model
 

Destaque

Software Process Improvement SCAMPI: Standard CMMI Appraisal Method for Proce...
Software Process Improvement SCAMPI: Standard CMMI Appraisal Method for Proce...Software Process Improvement SCAMPI: Standard CMMI Appraisal Method for Proce...
Software Process Improvement SCAMPI: Standard CMMI Appraisal Method for Proce...
Amin Bandeali
 
3-CMMI Continuous And Staged
3-CMMI Continuous And Staged3-CMMI Continuous And Staged
3-CMMI Continuous And Staged
Chris Lazaris
 

Destaque (20)

Software testing objective_types
Software testing objective_typesSoftware testing objective_types
Software testing objective_types
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
 
Software testing quiz questions and answers
Software testing quiz questions and answersSoftware testing quiz questions and answers
Software testing quiz questions and answers
 
CTS eLearning
CTS eLearningCTS eLearning
CTS eLearning
 
ISTQB Foundation level Sample Paper - Part 3
ISTQB Foundation level Sample Paper - Part 3 ISTQB Foundation level Sample Paper - Part 3
ISTQB Foundation level Sample Paper - Part 3
 
E learning
E  learningE  learning
E learning
 
Manual Testing.
Manual Testing.Manual Testing.
Manual Testing.
 
software design principles
software design principlessoftware design principles
software design principles
 
Business analyst
Business analystBusiness analyst
Business analyst
 
Requirements Planning & Management
Requirements Planning & ManagementRequirements Planning & Management
Requirements Planning & Management
 
Software Engineering Sample Question paper for 2012
Software Engineering Sample Question paper for 2012Software Engineering Sample Question paper for 2012
Software Engineering Sample Question paper for 2012
 
Software Process Improvement SCAMPI: Standard CMMI Appraisal Method for Proce...
Software Process Improvement SCAMPI: Standard CMMI Appraisal Method for Proce...Software Process Improvement SCAMPI: Standard CMMI Appraisal Method for Proce...
Software Process Improvement SCAMPI: Standard CMMI Appraisal Method for Proce...
 
Software models
Software modelsSoftware models
Software models
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
Unit i software design principles 9
Unit i software design principles 9Unit i software design principles 9
Unit i software design principles 9
 
Final edu junction_ss (1)
Final edu junction_ss (1)Final edu junction_ss (1)
Final edu junction_ss (1)
 
Assessment, Survey, Quiz and Flaschard Builder
Assessment, Survey, Quiz and Flaschard BuilderAssessment, Survey, Quiz and Flaschard Builder
Assessment, Survey, Quiz and Flaschard Builder
 
A Survey on Research work in Educational Data Mining
A Survey on Research work in Educational Data MiningA Survey on Research work in Educational Data Mining
A Survey on Research work in Educational Data Mining
 
Hub
HubHub
Hub
 
3-CMMI Continuous And Staged
3-CMMI Continuous And Staged3-CMMI Continuous And Staged
3-CMMI Continuous And Staged
 

Semelhante a Software engineering-quiz

Istqb question-paper-dump-9
Istqb question-paper-dump-9Istqb question-paper-dump-9
Istqb question-paper-dump-9
TestingGeeks
 
Istqb exam sample_paper_3
Istqb exam sample_paper_3Istqb exam sample_paper_3
Istqb exam sample_paper_3
TestingGeeks
 
Istqb question-paper-dump-4
Istqb question-paper-dump-4Istqb question-paper-dump-4
Istqb question-paper-dump-4
TestingGeeks
 
Software engineering
Software engineeringSoftware engineering
Software engineering
faisalwajid
 
BAM 225 information management 225 unit 41.Estimating the .docx
BAM 225 information management 225 unit 41.Estimating the .docxBAM 225 information management 225 unit 41.Estimating the .docx
BAM 225 information management 225 unit 41.Estimating the .docx
lascellesjaimie
 
Retake Test (toolstest_intro.phptid=6408)Final Score 3.docx
Retake Test (toolstest_intro.phptid=6408)Final Score 3.docxRetake Test (toolstest_intro.phptid=6408)Final Score 3.docx
Retake Test (toolstest_intro.phptid=6408)Final Score 3.docx
ronak56
 
Istqb question-paper-dump-6
Istqb question-paper-dump-6Istqb question-paper-dump-6
Istqb question-paper-dump-6
TestingGeeks
 

Semelhante a Software engineering-quiz (20)

Istqb question-paper-dump-9
Istqb question-paper-dump-9Istqb question-paper-dump-9
Istqb question-paper-dump-9
 
Sad quiz
Sad quizSad quiz
Sad quiz
 
Istqb exam sample_paper_3
Istqb exam sample_paper_3Istqb exam sample_paper_3
Istqb exam sample_paper_3
 
ISTQB Certified Tester Exam Question Papers and Answers - 11
ISTQB Certified Tester Exam Question Papers and Answers - 11ISTQB Certified Tester Exam Question Papers and Answers - 11
ISTQB Certified Tester Exam Question Papers and Answers - 11
 
Istqb question-paper-dump-4
Istqb question-paper-dump-4Istqb question-paper-dump-4
Istqb question-paper-dump-4
 
PMI ACP Classroom Question Paper
PMI ACP Classroom Question PaperPMI ACP Classroom Question Paper
PMI ACP Classroom Question Paper
 
Itpm question bank
Itpm   question bankItpm   question bank
Itpm question bank
 
Cast 14 2 sample exam
Cast 14 2 sample examCast 14 2 sample exam
Cast 14 2 sample exam
 
Questions paper BA MCQ.docx
Questions paper BA MCQ.docxQuestions paper BA MCQ.docx
Questions paper BA MCQ.docx
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Lect3 conventional vs modern spm
Lect3 conventional vs modern spmLect3 conventional vs modern spm
Lect3 conventional vs modern spm
 
BAM 225 information management 225 unit 41.Estimating the .docx
BAM 225 information management 225 unit 41.Estimating the .docxBAM 225 information management 225 unit 41.Estimating the .docx
BAM 225 information management 225 unit 41.Estimating the .docx
 
Workbook answers
Workbook answersWorkbook answers
Workbook answers
 
Retake Test (toolstest_intro.phptid=6408)Final Score 3.docx
Retake Test (toolstest_intro.phptid=6408)Final Score 3.docxRetake Test (toolstest_intro.phptid=6408)Final Score 3.docx
Retake Test (toolstest_intro.phptid=6408)Final Score 3.docx
 
Istqb question-paper-dump-6
Istqb question-paper-dump-6Istqb question-paper-dump-6
Istqb question-paper-dump-6
 
Cis 210 week 11 final exam – strayer new
Cis 210 week 11 final exam – strayer newCis 210 week 11 final exam – strayer new
Cis 210 week 11 final exam – strayer new
 
Cis 210 week 11 final exam – strayer new
Cis 210 week 11 final exam – strayer newCis 210 week 11 final exam – strayer new
Cis 210 week 11 final exam – strayer new
 
Cis 210 week 11 final exam – strayer new
Cis 210 week 11 final exam – strayer newCis 210 week 11 final exam – strayer new
Cis 210 week 11 final exam – strayer new
 
Cis 210 week 11 final exam – strayer new
Cis 210 week 11 final exam – strayer newCis 210 week 11 final exam – strayer new
Cis 210 week 11 final exam – strayer new
 
ICFAI Projects and Operations Management - Solved assignments and case study ...
ICFAI Projects and Operations Management - Solved assignments and case study ...ICFAI Projects and Operations Management - Solved assignments and case study ...
ICFAI Projects and Operations Management - Solved assignments and case study ...
 

Mais de Dr. C.V. Suresh Babu

Mais de Dr. C.V. Suresh Babu (20)

Data analytics with R
Data analytics with RData analytics with R
Data analytics with R
 
Association rules
Association rulesAssociation rules
Association rules
 
Clustering
ClusteringClustering
Clustering
 
Classification
ClassificationClassification
Classification
 
Blue property assumptions.
Blue property assumptions.Blue property assumptions.
Blue property assumptions.
 
Introduction to regression
Introduction to regressionIntroduction to regression
Introduction to regression
 
DART
DARTDART
DART
 
Mycin
MycinMycin
Mycin
 
Expert systems
Expert systemsExpert systems
Expert systems
 
Dempster shafer theory
Dempster shafer theoryDempster shafer theory
Dempster shafer theory
 
Bayes network
Bayes networkBayes network
Bayes network
 
Bayes' theorem
Bayes' theoremBayes' theorem
Bayes' theorem
 
Knowledge based agents
Knowledge based agentsKnowledge based agents
Knowledge based agents
 
Rule based system
Rule based systemRule based system
Rule based system
 
Formal Logic in AI
Formal Logic in AIFormal Logic in AI
Formal Logic in AI
 
Production based system
Production based systemProduction based system
Production based system
 
Game playing in AI
Game playing in AIGame playing in AI
Game playing in AI
 
Diagnosis test of diabetics and hypertension by AI
Diagnosis test of diabetics and hypertension by AIDiagnosis test of diabetics and hypertension by AI
Diagnosis test of diabetics and hypertension by AI
 
A study on “impact of artificial intelligence in covid19 diagnosis”
A study on “impact of artificial intelligence in covid19 diagnosis”A study on “impact of artificial intelligence in covid19 diagnosis”
A study on “impact of artificial intelligence in covid19 diagnosis”
 
A study on “impact of artificial intelligence in covid19 diagnosis”
A study on “impact of artificial intelligence in covid19 diagnosis”A study on “impact of artificial intelligence in covid19 diagnosis”
A study on “impact of artificial intelligence in covid19 diagnosis”
 

Último

1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 

Último (20)

Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Role Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxRole Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesEnergy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
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
  • 5. Chapter 3: Project Management Concepts Chapter 3 Self-Check Quiz 1. Effective software project management focuses on Page 5 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