Your SlideShare is downloading. ×
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
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
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
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
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
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
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
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
Software engineering-quiz
Software engineering-quiz
Software engineering-quiz
Software engineering-quiz
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Software engineering-quiz

24,583

Published on

Software Engineering Quiz

Software Engineering Quiz

Published in: Education
5 Comments
11 Likes
Statistics
Notes
No Downloads
Views
Total Views
24,583
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1
Comments
5
Likes
11
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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
  • 50. Page 50 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
  • 68. c. remote presentation d. none of the above 4. In most client/server systems the presentation system is placed on the client and any shared databases are located on the server. a. True b. False 5. Remote procedure calls permit server operations to execute on local client machines. a. True b. False 6. An ORB (object request broker) is middleware that enables an object residing a. on a client to send a message to a method encapsulated by a server object b. on a database to send a message to a method encapsulated by a server object c. on a LAN to send a message to a method encapsulated in an Internet object d. on a server to send a message to a method encapsulated by a client object 7. Two process models that are especially well-suited for C/S software engineering are a. object-oriented and component-based software engineering b. rapid prototyping and database design c. revolutionary design and component-based software engineering d. structured design and event-based software engineering 8. Requirements modeling activities for C/S systems are quite similar to the analysis modeling methods used for more conventional architectures. a. True b. False 9. The design approach used for C/S systems rarely requires modification to accommodate the hardware architecture. a. True b. False 10. To accommodate the differences between COTS components supplied by several vendors and in- house components, the ORB architecture must be designed to a. achieve interoperability among components b. eliminate incompatible components from the system c. function only with in-house components d. replace the functionality of incompatible components 11. In the C/S context an elementary business process can be defined as a set of tasks performed fully by one user at a client site. a. True b. False 12. In the design repository a business object is defined as a. client information b. information visible to system developers c. information visible to system users d. server information 13. Which of the following techniques may be used for data distribution and management in C/S systems? a. fragmentation Page 68 of 76
  • 69. b. replication c. snapshot d. all of the above 14. Which symbol would not be found in the structure chart for an elementary business process? a. application object b. cardinality link c. control couple d. database object 15. Which entities do not reside in the design repository? a. business rule/component links b. components c. methods d. none of the above 16. With the exception of integration testing, C/S systems pose no new testing concerns for software engineers. a. True b. False 17. Which of the following testing approaches is commonly used to test C/S systems? a. database tests b. transaction testing c. network communication testing d. all of the above 18. The tactics used in object-oriented testing are useless for testing a C/S system that has been implemented using an imperative programming language. a. True b. False Chapter 29: Web Engineering Chapter 29 Self-Check Quiz 1. Which of the following is not a characteristic of a WebApp? a. content driven b. continuously evolving c. easily measurable d. network intensive 2. WebApps must be developed and deployed quickly, making the application of software engineering processes exceptionally difficult. a. True b. False 3. Which of the following characteristics is least important when assessing the quality of a WebApp? a. usability b. reliability c. maintainability d. aesthetics Page 69 of 76
  • 70. 4. Which of the following technologies is important to web engineers? a. component-based development b. internet standards c. security d. all of the above 5. Which process model best describes WebE? a. customer driven design b. evolutionary design c. structured design d. all of the above 6. The engineering activity in the WebE process incorporates two parallel tasks a. content design and production b. content design and programming c. page generation and evaluation d. none of the above 7. During the formulation step of the WebE process two types of goals need to be defined a. applicative goals and aesthetic goals b. applicative goals and informational goals c. information goals and performance goals d. aesthetic goals and performance goals 8. Which type of analysis is not conducted during the WebE process? a. content analysis b. functional analysis c. interaction analysis d. market analysis 9. Which technical elements should a web engineer try to reuse during web-based design? a. design methods b. design patterns c. templates d. all of the above 10. Which of the following is not one of the architectural structures used by web engineers in architectural design? a. linear b. grid c. hierarchical d. parallel 11. Which of the following is a design pattern used during web-based design? a. cycle b. counterpoint c. sieve d. all of the above 12. Web navigational design involves creating a semantic navigational unit for each goal associated with each defined user role. a. True b. False Page 70 of 76
  • 71. 13. Interface design for WebApps is identical to interface design for any other piece of interactive software. a. True b. False 14. Because WebApps are constantly evolving, testing is an on-going activity conducted by support staff using regression testing techniques. a. True b. False 15. Unit testing and integration testing are not needed when testing WebApps. a. True b. False 16. Which of these roles is not usually assigned to members of the WebE team? a. content developer b. marketing specialist c. web master d. web publisher 17. Although outsourcing WebApp development is common practice, it is important to perform thorough analysis of the application and even create a rough design internally before selecting a vendor. a. True b. False 18. Which of these issues require special consideration when considering tactics for WebApp configuration management? a. content b. politics c. scalability d. all of the above Chapter 30: Reengineering Chapter 30 Self-Check Quiz 1. Which of the following is not an example of a business process? a. designing a new product b. hiring an employee c. purchasing services d. testing software 2. Which of the following is not a principle that should guide business process reengineering? a. capture data at each source b. fully redocument legacy processes c. organize around outcomes d. put decision point where work is performed 3. Business process reengineering has no start or end, it is an evolutionary process. a. True b. False 4. Business process reengineering is just another silver bullet fad with no real benefits to anyone. a. True b. False Page 71 of 76
  • 72. 5. How much of software maintenance work involves fixing errors? a. 20 percent b. 40 percent c. 60 percent d. 80 percent 6. Which of the following activities is not part of the software reengineering process model? a. forward engineering b. inventory analysis c. prototyping d. reverse engineering 7. The software reengineering process model includes restructuring activities for which of the following work items? a. code b. documentation c. data d. all of the above 8. Which of the following is not an issue to consider when reverse engineering? a. abstraction level b. completeness c. connectivity d. directionality 9. The first reverse engineering activity involves seeking to understand a. data b. processing c. user interfaces d. none of the above 10. Reverse engineering of data focuses on a. database structures b. internal data structures c. both a and b d. none of the above 11. Reverse engineering should precede the reengineering of any user interface. a. True b. False 12. Which of these benefits can be achieved when software is restructured? a. higher quality programs b. reduced maintenance effort c. software easier to test d. all of the above 13. Code restructuring is a good example of software reengineering. a. True b. False 14. Which of these is not an example of data redesign? a. data analysis Page 72 of 76
  • 73. b. data name rationalization c. data record standardization d. none of the above 15. Forward engineering is not necessary if an existing software product is producing the correct output. a. True b. False 16. Reengineering client/server systems begins with a thorough analysis of the business environment that encompasses the existing computing system. a. True b. False 17. The only time reengineering enters into work with a legacy system is when its components will be implemented as objects. a. True b. False 18. Which of these activities would not be part of a process model for reengineering a user interface? a. correct ergonomic failings of the interface b. measure the interface performance in the marketplace c. remodel the interface behavior d. understanding the original interface 19. The cost benefits derived from reengineering are realized largely due to decreased maintenance and support costs for the new software product. a. True b. False Chapter 31: Computer-Aided Software Engineering Chapter 31 Self-Check Quiz 1. The primary purpose of computer-aided software engineering tools (CASE) is to allow direct development of applications by end-users. a. True b. False 2. Which of the following characteristics are essential to having an effective CASE environment? a. collection of useful tools b. organized tool layout c. skilled craftsperson d. all of the above 3. The most valuable CASE tools are those that a. automatically debug source code b. build analysis and design diagrams c. contribute information to the development process d. all of the above 4. The primary purpose of the CASE integration framework is to a. allow communication among CASE tools b. allow communication among software developers and customers c. eliminate the need for integration testing d. provide facilities for component-based design Page 73 of 76
  • 74. 5. CASE tools are commonly classified by their a. environment architecture b. function c. use in the software development process d. all of the above 6. Most CASE tools are limited to supporting specific programming languages or specific technical/management methods and require some degree of interaction with the software engineer. a. True b. False 7. Which of the following is not considered one of the benefits derived from integrated CASE? a. increased project control b. reduction in effort to perform umbrella activities c. smooth information transfer between tools d. testing of work products is eliminated 8. CASE tool integration demands the use of a. component-based design b. database technology c. object-oriented software engineering d. structured design 9. Which of the following is not one of the layers in the architectural model for the CASE integration framework? a. object management b. portability c. shared repository d. user interface 10. The primary purpose of the object management layer in the CASE integration framework is to a. allow the use of component-base software engineering b. perform configuration management c. support object-oriented design d. none of the above 11. The integrated CASE repository is a database that acts as the center for accumulation and storage of software engineering information. a. True b. False 12. Which of the following would not be one of the functions performed by the integrated CASE repository? a. data integrity b. document standardization c. information sharing d. project scheduling 13. Which database management technology is used to support today's CASE repositories? a. hierarchical b. object-oriented c. relational Page 74 of 76
  • 75. d. both b and c 14. Which of these integrated CASE repository features is not commonly found in commercial database management systems? a. integrity enforcement b. process/project management capability c. storage of sophisticated data structures d. all of the above 15. One of the most important features of the CASE repository is its ability to a. print document automatically b. test software products as they are accessed c. track daily code production by individual programmers d. track relationships among configuration objects Chapter 32: The Road Ahead Chapter 32 Self-Check Quiz 1. Software is important commercially because it can function as a(n) a. Automation b. Differentiator c. Information generator d. Both b and c 2. The changes that will affect software engineering are not likely to be influenced by a. new programming languages b. people doing the work c. processes selected d. underlying computing technology 3. As software projects grow in complexity, adding people can actually reduce productivity of team members. a. True b. False 4. The World Wide Web is not likely to change the way software engineers acquire information on applications domains. a. True b. False 5. Evolutionary software process models are likely to dominate the software development process as time lines become shorter because they a. can deliver partial solutions when complete solutions cannot be delivered within the available time b. do not require developers to understand the customer's needs fully even when tackling complex projects Page 75 of 76
  • 76. c. require less time devoted to testing than linear software process models d. all of the above 6. Involving customers early in the design process is likely to increase end-user satisfaction and improve overall product quality. a. True b. False 7. There is no difference between data processing and information processing. a. True b. False 8. Information collected on a variety of topics can be connected to form a body of facts called a. data b. knowledge c. wisdom d. none of the above 9. It is likely that hardware will continue to serve as the technology driver in computing for the next 30 years. a. True b. False Page 76 of 76

×