大学《软件工程》复习题.docx
Quiz I1 What is Configuration management?1 is the discipline of managing and controlling change in the evolution of soft ware systems.2 is the discipline of managing softwares3 is the discipline of controlling the changes4 Most errors found by users in software are the result of1 coding errors.1 difficulties understanding the problem statement.1 system integration errors.1 errors in the design of the solution.3 Mutable objects cannot be interned.1 True2 False4 Decentralized organization permits meetings to proceed effectively without a leader.1 True1 False5 A good design does not rule out any future extension to a project.1 True1 False6 In a well-managed large project typically the least time is spent on1 planning1 coding1 component testing1 integration testing7 Which phase of software projects is usually the most costly?1 requirements1 design1 implementation1 testing1 maintenance8 During which decade was the term "software engineering,' coined?1 The 1920's1 The 1940's1 The 1960's1 The 1980's9 Which of the following activities are part of the requirements phase?(Choose all tha t apply.)1 Clarification of the users' needs.1 Development of a project plan, including the process to be followed.1 Development of a verification & validation plan.1 Writing a system test plan.10 You are a software manager at a large software company. You are asked to bid on a project that would automate the air traffic control system for a large airport. The c urrent (largely manual) system works reasonably well, but your potential client hopes t o save money by automating the system. However, the client is very flexible about th e terms of the contract. You realize that there are extremely high safety and reliability requirements and the corporate lawyers advise you that the company could be liable for damages if the system fails to operate properly. In addition, there are many unkno wns about the feasibility of the system that may not be resolved until much later in d evelopment. Which lifecycle model would you choose?1 The waterfall model1 The incremental model1 The spiral model1 The synchronize-and-stabi lize model11 You work for a small start-up company trying to secure venture capital funding. T he product you intend to develop is mass-market consumer software for an unpreceden ted application; thus there are many questions about the user interface. Which lifecyclemodel would you choose?1 The build-and-fix model1 The waterfall model1 The rapid prototyping model1 The incremental model12 Which of the following are examples of nonexecution-based testing?(Choose all th at apply.)1 System test plan1 Walkthroughs1 Inspections1 Unit testing1 Correctness proofs13 Which of the following statements about software process is not true?1 The process covers all steps from initial idea and requirements to delivery, maintenance, and final retirement.1 Having a good process guarantees that you will have a good product.1 Different processes are needed for different kinds of software.1 The process is the key factor in determining key properties or qualities of th e product.14 Which of the following principles does not directly help manage complexity?1 Rigor and formality2 Separation of concerns1 Modularity1 Abstraction15 Which of the following software qualities is an internal software quality?1 Correctness1 Evolvability1 Performance 1 User friendliness16 Which of the following would not be appropriate to include in a requirements docu ment?1 Non-functional requirements2 A rough description of the user interface3 Module interface specifications1 A description of how the potential users do their work without the proposed systemKeys:17a18b19a20 b21 b22 b23 e24 c25 a,b,c,d26 c27 c28 b,c,e29 b30 a31 b32 C33Quiz II1 Which question no longer concerns the modem software engineer?1 Why does computer hardware cost so much?1 Why does software take a long time to finish?1 Why does it cost so much to develop a piece of software?2 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 abandonm ent of the practice of team development of software.1 True1 False3 Software is a product and can be manufactured using the same technologies used for other engineering artifacts.1 True1 False4 Software deteriorates rather than wears out because1 Software suffers from exposure to hostile environments1 Defects are more likely to arise after software has been used often1 Multiple change requests introduce errors in component interactions1 Software spare parts become harder to order5 Most software continues to be custom built because1 Component reuse is common in the software world.1 Reusable components are too expensive to use.1 Software is easier to build without using someone else*s components1 Off-the-shelf software components are unavailable in many application domai ns.6 The nature of software applications can be characterized by their information1 complexity1 content1 determinacy1 both b and c7 Modern software applications are so complex that it is hard to develop mutually exc lusive category names.1 False8 The so called "new economy True1 False12 In general software only succeeds if its behavior is consistent with the objectives o f its designers1 True1 False13 Which of the items listed below is not one of the software engineering layers?1 Process1 Manufacturing .1 Methods1 Tools14 Software engineering umbrella activities are only applied during the initial phases o f software development projects. that gripped commerce and finance during the 1990s died and no longer influences decisions made by businesses and software engineers.1 True1 False9 The functionality of most computer systems does not need to be enhanced the lifeti me of the system.1 True1 False10 Change cannot be easily accommodated in most software systems, unless the syste m was designed with change in mind.I TrueII FalseIII Most software development projects are initiated to try to meet some business need.1 False15 Which of these are the 5 generic software engineering framework activities?1 communication, planning, modeling, construction, deployment1 communication, risk management, measurement, production, reviewing1 analysis, designing, programming, debugging, maintenance1 analysis, planning, designing, programming, testing16 Process models are described as agile because they1 eliminate the need for cumbersome documentation1 emphasize maneuverability and adaptability1 do not waste development time on planning activities1 make extensive use of prototype creation17 Which of these terms are level names in the Capability Maturity Model?1 Performed1 Repeated1 Reused1 Optimized1 both a and d18 Software processes can be constructed out of pre-existing software patterns to best meet the needs of a software project.1 True1 False19 Which of these are standards for assessing software processes?1 SEI1 SPICEI ISO 190021 ISO 90011 both b and d20 The best software process model is one that has been created by the people who will actually be doing the work.1 True1 False21 Which of these is not a characteristic of Personal Software Process?1 Emphasizes personal measurement of work product1 Practitioner requires careful supervision by the project manager2 Individual practitioner is responsible for estimating and scheduling3 Practitioner is empowered to control quality of software work products22 Which of these are objectives of Team Software Process?1 Accelerate software process improvement1 Allow better time management by highly trained professionals1 Build self-directed software teams1 Show managers how to reduce costs and sustain quality1 both b and c23 Process technology tools allow software organizations to compress schedules by ski pping unimportant activities.1 True1 False24 It is generally accepted that one cannot have weak software processes and create hi gh quality end products.1 True1 FalseKeys:25 a26 b27 b28 c29 d30 d31 a32 b33 b34 a35 a36 b37 b38 b39 a40 b41 e42 a43 e44 a45 b46 e47 b48 aQuiz III1 The linear sequential model of software development is1 A reasonable approach when requirements are well defined.1 A good approach when a working program is required quickly.2 The best approach to use for projects with large development teams3 An old fashioned model that cannot be used in a modem context.4 The linear sequential model of software development is also known as the1 Classical life cycle model1 Fountain model1 Spiral model1 Waterfall model1 both a and d3 The incremental model of software development is1 A reasonable approach when requirements are well defined.1 A good approach when a working core product is required quickly1 The best approach to use for projects with large development teams1 A revolutionary model that is not used for commercial products.4 The rapid application development model is1 Another name for component-based development1 A useful approach when a customer cannot define requirements clearly1 A high speed adaptation of the linear sequential model1 All of the above.5 Evolutionary software process models1 Are iterative in nature .1 Can easily accommodate product requirements changes2 Do not generally produce throwaway systems3 All of the above6 The prototyping model of software development is1 A reasonable approach when requirements are well defined1 A useful approach when a customer cannot define requirements clearly.2 The best approach to use for projects with large development teams3 A risky model that rarely produces a meaningful product.7 The spiral model of software development1 Ends with the delivery of the software product1 Is more chaotic than the incremental model2 Includes project risks evaluation during each iteration3 All of the above8 The concurrent development model is1 Another name for the rapid application development model.2 Often used for the development of client/server applications3 Only used for development of parallel or distributed systems.1 Used whenever a large number of change requests are anticipated.9 The component-based development model is .1 Only appropriate for computer hardware design.1 Not able to support the development of reusable components.1 Works best when object technologies are available for support1 Not cost effective by known quantifiable software metrics10 The formal methods model of software development makes use of mathematical me thods to1 Define the specification for computer-based systems2 Develop defect free computer-based systemsI Verify the correctness of computer-based systemsII All of the aboveIII Which of these is not one of the phase names defined by the Unified Process mod el for software development?1 Inception phase1 Elaboration phase1 Construction phase1 Validation phase12 In the Unified Process model requirements are determined iteratively and may span more than one phase of the process1 True1 False13 Agility is nothing more than the ability of a project team to respond rapidly to cha nge1 True1 False14 Which of the following is not necessary to apply agility to a software process?1 Eliminate the use of project planning and testing 1 Only essential work products are produced1 Process allows team to streamline tasks1 Uses incremental product delivery strategy15 How do you create agile processes to manage unpredictability?1 Requirements gathering must be conducted very carefully1 Risk analysis must be conducted before planning takes place1 Software increments must be delivered in short time periods1 Software processes must adapt to changes incrementally1 both c and d16 In agile software processes the highest priority is to satisfy the customer through e arly and continuous delivery of valuable software1 True1 False17 It is not possible to build software that meets the customers* needs today and exhib its the quality characteristics that will enable it to be extended tomorrow1 True1 False18 Which of the following traits need to exist among the members of an agile softwar e team?1 Competence1 Decision-making ability1 Mutual trust and respect1 All of the above19 All agile process models conform to a greater or lesser degree to the principles sta ted in the "Manifesto for Agile Software Development"1 True1 False20 What are the four framework activities found in the Extreme Programming (XP) pr ocess model?1 planning, analysis, design, coding1 planning, analysis, coding, testing1 planning, design, coding, testing21 What are the three framework activities for the Adaptive Software Development (A SD) process model?1 analysis, design, coding1 feasibility study, functional model iteration, implementation1 requirements gathering, adaptive cycle planning, iterative development1 speculation, collaboration, learning22 The Dynamic Systems Development Method (DSDM) suggests a philosophy that is based on the Pareto principle (80% of the application can be delivered in 20% of the time required to build the complete application).1 True1 False23 Which is not one of the key questions that is answered by each team member at e ach daily Scrum meeting?1 What did you do since the last meeting?1 What obstacles are you encountering?2 What is the cause of the problems you are encountering?1 What do you plan to accomplish at the next team meeting?24 In Feature Driven Development (FDD) a ''feature1' is a client-valued function that c an be delivered in two months or less1 True1 False25 Agile Modeling (AM) provides guidance to practitioner during which of these softw are tasks?1 Analysis1 Design 1 Coding1 TestingKeys:26 a27 e28 b29 c30 d31 b32 c33 b34 c35 d36 d37 a38 b39 a40 e41 a42 b43 d44 a45 d46 d47 a48 c49 b50 e1 The essence of software engineering practice might be described as understand the p roblem, plan a solution, carry out the plan, and examine the result for accuracy.1 True1 False2 Which of the following is not one of Hooker's core principles of software engineerin g practice?1 All design should be as simple as possible, but no simpler1 A software system exists only to provide value to its users1 Pareto principle (20% of any product requires 80% of the effort)1 Remember that you produce others will consume3 Every communication activity should have a facilitator to make sure that the custom er is not allowed to dominate the proceedings.1 True1 False