软件工程(双语)考试试卷
- 格式:doc
- 大小:98.50 KB
- 文档页数:5
软件工程学位英语考试Software Engineering Degree English Exam1. Introduction to Software Engineering- Define software engineering and describe its importance in modern technology.- Explain the software development life cycle and its different phases.- Discuss the role of a software engineer in the software development process.2. Requirements Engineering- Describe the process of requirements gathering and analysis.- Discuss various techniques used for requirements elicitation.- Explain the importance of requirement validation and verification.3. Software Design- Discuss the principles of software design and architecture.- Explain different design patterns and their application in software development.- Describe the importance of modularization and abstraction in software design.4. Software Testing- Discuss the importance of software testing in the software development life cycle.- Explain different types of software testing techniques, such as unit testing, integration testing, and system testing.- Describe the process of test case design and execution.5. Software Maintenance and Evolution- Explain the need for software maintenance and the challenges associated with it.- Discuss different types of software maintenance, such as corrective, adaptive, and perfective maintenance.- Describe the concept of software evolution and the role of a software engineer in managing software evolution.6. Project Management in Software Engineering- Discuss the principles of project management in software engineering.- Explain different project management methodologies, such as Waterfall, Agile, and Scrum.- Describe the role of a software engineer in project planning, scheduling, and risk management.7. Software Quality Assurance- Explain the concept of software quality assurance and its importance in software development.- Discuss different quality assurance techniques, such as code reviews, static analysis, and automated testing.- Describe the role of a software engineer in ensuring software quality and the importance of continuous improvement.8. Software Ethics and Professionalism- Discuss ethical issues in software engineering, such as privacy, security, and intellectual property.- Explain the importance of following professional codes of conduct in the software engineering profession.- Describe the role of a software engineer in promoting ethicalpractices and responsible use of technology.9. Software Engineering in the Industry- Discuss the current trends and challenges in the software engineering industry.- Describe the skills and knowledge required for a successful career in software engineering.- Explain the importance of continuous learning and professional development in the field of software engineering.。
Question 1: What is the software process and why is it important? List out the four main software process models, and describe the drawbacks of RAD Model? Discuss the primary differences between incremental, iterative and agile models.Answer:1)What is the software process and why the process model is important-A software process (also known as software methodology) is a set of related activities that leads to the production of the software. These activities may involve the development of the software from the scratch, or, modifying an existing system.Any software process must include the following four activities:1.Software specification (or requirements engineering): Define the main functionalities of thesoftware and the constrains around them.2.S oftware design and implementation: The software is to be designed and programmed.3.Software verification and validation: The software must conform to its specification and meetsthe customer needs.4.Software evolution (software maintenance): The software is being modified to meet customerand market requirements changes.In practice, they include sub-activities such as requirements validation, architectural design, unit testing, …etc.There are also supporting activities such as configuration and change management, quality assurance, project management, user experience.Along with other activities aim to improve the above activities by introducing new techniques, tools, following the best practice, process standardization (so the diversity of software processes is reduced), etc.When we talk about a process, we usually talk about the activities in it. However, a process also includes the process description, which includes:1.Products: The outcomes of the activity. For example, the outcome of architectural designmaybe a model for the software architecture.2.Roles: The responsibilities of the people involved in the process. For example, the projectmanager, programmer, etc.3.Pre and post conditions: The conditions that must be true before and after an activity. Forexample, the pre condition of the architectural design is the requirements have been approvedby the customer, while the post condition is the diagrams describing the architectural have been reviewed.Software process is complex, it relies on making decisions. There’s no ideal process and most organizations have developed their own software process.For example, an organization works on critical systems has a very structured process, while with business systems, with rapidly changing requirements, a less formal, flexible process is likely to be more effective.2)Four main process model: Waterfall model, incremental model, iterative model and agilemodel3)Drawbacks of RAD Model are :•Require sufficient number of Human Resources to create enough number of teams. •Developers and Customers are not committed, system result in failure.•Not Properly Modularized building component may Problematic.•Not applicable when there is more possibility for Technical Risk.4)The primary differences between incremental, iterative and agile models:Each increment in the incremental approach builds a complete feature of the software, while in iterative, it builds small portions of all the features.An agile approach combines the incremental and iterative approach by building a small portion of each feature, one by one, and then both gradually adding features and increasing their completeness.============================================================================Question 2: What software life-cycle model would you use if there is significant technical risk and the customer's requirements are not well-known in advance? Justify your answer in a short essay.Question 3: Consider an automated library circulation system.o Every book has a bar code and every borrower has a card bearing a bar code.o When a borrower wishes to check out a book, the librarian scans the bar code on the book and on the borrower's card, and then enters C at the computer terminal.o When a book is returned, it is again scanned and the librarian enters R .o Librarians can add books ( + ) to the library collection or remove them ( - ).o Borrowers can go to a terminal and determine:▪ all the books in the library by a particular author(the borrower types A= followed by the author's name)▪ all the books with a specific title(the borrower types T= followed by the title)▪ all the books in a particular subject area(the borrower types S= followed by the subject area)o If a borrower wants a book that is currently checked out, the librarian can place a hold on the book so that, when it is returned, it will be held for the borrower who requested it (the librarian types H= followed by the number of the book)Questions1) Draw a dataflow diagram for the system, showing as much detail as you can without making assumptions about implementation.2) Draw a state transition diagram for the system.The dataflow diagram for the entire system is shown immediately below. The Process Command process is shown using a hierarchical expansion in the second diagram.NOTE about the diagram:▪ The diagram uses separate states for reading commands and bar codes to show the sequence in which the bar codes and commands are expected.。
软件工程选择题 (中英文)1、软件生命周期管理1.1 什么是软件生命周期?答案:软件生命周期是指软件从开始开发直到退役的整个过程,包括需求分析、设计、编码、测试、部署和维护等阶段。
1.2 软件生命周期中的主要阶段有哪些?答案:- 需求分析阶段:确定软件系统需求、功能和性能等方面的要求。
- 设计阶段:根据需求分析的结果设计出软件系统的结构和组件。
- 编码阶段:通过编写源代码实现系统的功能。
- 测试阶段:对软件进行各种测试,包括单元测试、集成测试和系统测试等。
- 部署阶段:将软件系统部署到目标环境中,让用户可以使用。
- 维护阶段:对软件进行修复bug、升级和改进等操作,以保证系统的正常运行。
1.3 软件生命周期管理的目标是什么?答案:软件生命周期管理的目标是通过规范的过程和方法来控制软件开发过程,从而提高软件质量、降低风险和成本,以及提高项目交付的可靠性和时间性。
2、需求工程2.1 什么是软件需求?答案:软件需求是对软件系统所需要具备的功能、性能、可靠性和其他特性的描述和规定。
2.2 软件需求的分类有哪些?答案:- 功能需求:描述系统应具备的功能和行为。
- 非功能需求:描述系统性能、可靠性、可用性等方面的要求。
- 用户需求:描述用户对系统的期望和需求。
- 系统需求:将用户需求转化为系统可以理解和实现的需求。
- 验证需求:用于验证软件系统是否满足用户需求的需求。
2.3 软件需求工程的关键活动有哪些?答案:- 需求获取:通过与用户沟通、文档分析等方式获取需求。
- 需求分析:对需求进行分析,识别需求的关联和冲突等问题。
- 需求规格化:将需求用规格化的方式进行描述,如使用用例、功能规格说明等。
- 需求验证:对需求进行验证,包括需求审查、原型验证等。
- 需求管理:对需求进行跟踪和变更管理,确保需求的有效性和一致性。
3、软件设计3.1 什么是软件设计?答案:软件设计是将需求转化为具体的软件系统结构和组件的过程。
nature of software applications can be characterized by their information ()a. complexityb. contentc. determinacyd. choices "b" and "c"2. Modern software applications are so complex that it is hard to develop mutually exclusive category names.()a. Trueb. False3. Software developers succeed more often than they fail, but software failuresreceive more press coverage.()a. Trueb. False4. Adding more people to a project that is already behind schedule is a good wayto catch up. ()a. Trueb. False5. Modern CASE tools are more important than the newest hardware for achieving good software quality and productivity.()a. Trueb. False6. Change cannot be easily accommodated in most software systems, unless a systemwas designed with change in mind.()a. Trueb. False7. A general statement of objectives is all that is needed to begin developing apiece of software.()a. Trueb. False8. The formal technical review is an inadequate substitute for testing regardlessof nature of the software defect.()a. Trueb. False9. What do people mean by the expression "software crisis"Answer:This expression is intended to describe the chronic problems associated with software failures, how software is developed, how the growing volume of softwareis supported, and the difficulties in meeting the growing demand for more software.10. Explain what is wrong with the notion that software engineering is too timeconsuming and interferes with a programmer's productivity.Answer:Producing a lot of code quickly is not the object of software development.The software needs to perform correctly or it will need to be rewritten. Most software products must be maintained for many years after they are developed, the time spent documenting a program and planning for changes is easily justified over the product's lifetime. Studies have shown the later a change is introduced in the developmentprocess, the more costly it is to implement.11. Which of the items listed below is not one of the software engineering layers()a. Processb. Manufacturingc. Methodsd. Tools12. What are the three generic phases of software engineering()a. definition, development, supportb. what, how, wherec. programming, debugging, maintenanced. analysis, design, testing13. Which of these terms is a level name in the Capability Maturity Model()a. Ad hocb. Repeatablec. Reusabled. OrganizedCMM。
311023030软件⼯程(双语)_B闭_⼀、单项选择题(本⼤题共20⼩题,每⼩题1分,共20分)提⽰:在每⼩题列出的多个备选项中只有⼀个是符合题⽬要求的,错选、多选或未选均⽆分。
1.Which of the items listed below is not one of the software engineering layers?A. ProcessB. ManufacturingC. MethodsD. Tools2. Which of these are the 5 generic software engineering framework activities?/doc/15246012.htmlmunication, planning, modeling, construction, deployment/doc/15246012.htmlmunication, risk management, measurement, production, reviewingC.analysis, designing, programming, debugging, maintenanceD.analysis, planning, designing, programming, testing1.The component-based development model isA.Only appropriate for computer hardware design.B.Not able to support the development of reusable components.C.W orks best when object technologies are available for support.D.Not cost effective by known quantifiable software metrics.2.What is the goal of software engineering?A.The production of fault-free software that satisfies the user's needs and that is delivered on time and withinbudgetB.The development of software that conforms to international standardsC.The replacement of hand coding by automatic programmingD.The application of engineering techniques to software production3.The linear sequential model of software development isA 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 cannot be used in a modern context.4.Evolutionary software process modelsA Are iterative in natureB Can easily accommodate product requirements changesC Do not generally produce throwaway systemsD All of the above5.Software engineers collaborate with customers to define which of the following?A Customer visible usage scenariosB Important software featuresC System inputs and outputsD All of the above6.Analysis models depict software in which three representations?A architecture, interface, componentB cost, risk, scheduleC information, function, behaviorD None of the above7.Which of the following is not one of the principles of good coding?A Create unit tests before you begin codingB Create a visual layout that aids understandingC Keep variable names short so that code is compactD Write self-documenting code, not program documentation8.Which of these are objectives of Team Software Process?A Accelerate software process improvementB Allow better time management by highly trained professionalsC Build self-directed software teamsD Show managers how to reduce costs and sustain qualityE both b and c9.The waterfall model of software development isA A reasonable approach when requirements are well definedB A good approach when a working program is required quicklyC The best approach to use for projects with large development teamsD An old fashioned model that cannot be used in a modern context10.The spiral model of software developmentA Ends with the delivery of the software productB Is more chaotic than the incremental modelC Includes project risks evaluation during each iterationD All of the above11.The entity relationship diagramA depicts relationships between data objectsB depicts functions that transform the data flowC indicates how data are transformed by the systemD indicates system reactions to external events12.Which of the following characteristics should not be “Golden Rules” of a GUI?A place the user in controlB make the content easy understandC reduce the user’s memory loadD make the interface consistent13. A decision table should be usedA to document all conditional statementsB to guide the development of the project management planC only when building an expert systemD when a complex set of conditions and actions appears in a component16. Object technology is ?A A set of principles guiding software construction.B A new theory striving to gain acceptance.C A dynamic new language by Grady Booch.D Based on the principles of abstraction and modularity.17.Which principles of modeling are correct?A The model you create influences how the problem is attacked.B The best kinds of models are those that let you chose your degree of detail.C The best models are connected to reality.D Create models that are built and studied separately.E All of the above.18.Views are “slices” of architecture. W hich view focuses on structural issues?A Use-caseB ProcessC ImplementationD Logical19.In the context of object-oriented software engineering a component containsA attributes and operationsB instances of each classC roles for each actor (device or user)D a set of collaborating classes20.In traditional software engineering, modules must serve in which of the following roles?A Control componentB Infrastructure componentC Problem domain componentD All of the above⼆、判断改错题(本⼤题共5⼩题,每⼩题1分,共5分)提⽰:正确“T”,错误“F”,并更正。
2011~2012学年第二学期期末考试《软件工程(双语)》复习范围注意事项:每个学生必须写上本人的学号、任课教师姓名、姓名、班级,另外所有的答案必须全部写在答卷纸上请不要写的试卷上,试题及答卷一同交上。
Part 1 Select the most appropriate choice to answer the following questions or to complete following statements. (1*15 =15 )1.. Which one of following statement about Client-server architecture is not correct? ca)Set of stand-alone servers which provide specific services such as printing, datamanagement, etc.b)Set of clients which call on these services.c)Most of the data is stored in the most important server.d)Network which allows clients to access servers..2. . Several techniques of Requirements discovery are covered in this book. Which one is not the case? aa)Model-driven engineeringb)Scenariosc)Interviewingd)EthnographyPart 2 Mark the right statement √, the wrong statement×(1*15=15)1.In the software architecture design,using large-grain components improvesperformance and maintainability.2.According Lehman and Belady's ‘laws’ , A program that is used in a real-worldenvironment must necessarily change, or else become progressively less useful inthat environment.Part 3 Fill the blankets: (1*15=15)1.the attributes of good software are are Maintainability , Dependability,Efficiency , Acceptability2.General issues that affect most software are heterogeneity , Business and social change ,Security and trust .3.The reasons of software change are 1 New requirements emerge when the software isused ,The business environment changes ,Errors must be repaired ,Newcomputers and equipment is added to the system;The performance or reliability of the system may have to be improved.4.Generic process models are The waterfall model , Incremental development ,Reuse-oriented software engineering.5. A structured set of activities required to develop a software system, which areSpecification , Design and implementation, Validation _, Evolution.Part 4 Answer the following questions in brief. (4*5=20 )1.What are the program testing goals?Program testing goalsTo demonstrate to the developer and the customer that the software meets its requirements.For custom software, this means that there should be at least one test for everyrequirement in the requirements document.For generic software products, it means that there should be tests for all of the systemfeatures,plus combinations of these features, that will be incorporated in the product release.To discover situations in which the behavior of the software is incorrect, undesirable or does not conform to its specification.Defect testing is concerned with rooting out undesirable system behavior such as system crashes, unwanted interactions with other systems, incorrect computations and data corruption.2.What is architectural patterns?Architectural patterns are a means of reusing knowledge about generic system architectures. They describe the architecture,explain when it may be used and describe its advantages and disadvantages.3.What is the difference between software engineering and computer science?Computer science is concerned with theory and fundamentals; software engineering isconcerned with the practicalities of developing and delivering useful software4.What differences has the web made to software engineering?The web has led to the availability of software services and the possibility of developing highly distributed service-based systems.Web-based systems development has led to important advances in programming languages and software reuse.5.What is Software architecture design?Software architecture designThe design process for identifying the sub-systems making up a system and the framework for sub-system control and communication is architectural designThe output of this design process is a description of the software architectureThe architecture of a packing robot control system6.What is Path testing?The objective of path testing is to ensure that the set of test cases is such that each path through the program is executed at least onceBinary search flow graphPart 5 Solve the following problems(30)1.(5) Based on your experience with a bank A TM, draw an activity diagram that modelsthe data processing involved when a customer withdraws cash from the machine.2.(5) Develop a sequence diagram showing the interactions involved in a application.3.(5) Design the application architecture using the MVC pattern.4.(5)Design a set of test data to accomplish the path testing about the following program(Figure 1).5.(10) Based on the statechart which models a application, describe the whole process indetail.。
311023030软件工程(双语)_A闭_1. Which question no longer concerns the modern software engineer? AA 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?2. Which of these terms are level names in the Capability Maturity Model? ADA. PerformedB. RepeatedC. ReusedD. Optimized3. The component-based development model is CA Only appropriate for computer hardware design.B Not able to support the development of reusable components.C Works best when object technologies are available for support.D Not cost effective by known quantifiable software metrics.4. What is the goal of software engineering? AA The production of fault-free software that satisfies the user's needs and that is delivered on time and within budgetB The development of software that conforms to international standardsC The replacement of hand coding by automatic programmingD The application of engineering techniques to software production5. The linear sequential model of software development is also known as the EGE Classical life cycle modelF Spiral modelG Waterfall modelH both A and C6. The incremental model of software development is BA 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.7. Software engineers collaborate with customers to define which of the following? DA Customer visible usage scenariosB Important software featuresC System inputs and outputsD All of the above8. Analysis model that defines which of the following problem domain(s)? DA InformationB FunctionalC BehavioralD All of the above9. During project inception the intent of the of the tasks are to determine DA Basic problem understandingB Nature of the solution neededC People who want a solutionD All of the above10. Which of these are objectives of Team Software Process? EA Accelerate software process improvementB Allow better time management by highly trained professionalsC Build self-directed software teamsD Show managers how to reduce costs and sustain qualityE both b and c11. Which of the following is not an objective for building an analysis model? CA Fine set of software requirements that can be validatedB Describe customer requirementsC Develop an abbreviated solution for the problemD Establish basis for software design12. Which of these is not an element of an object-oriented analysis model? DA Scenario-based elementsB Behavioral elementsC Class-based elementsD Data elements13. Which of the following are areas of concern in the design model? DA ArchitectureB DataC InterfacesD All of the above14. The importance of software design can be summarized in a single word BA AccuracyB QualityC ComplexityD Efficiency15. A decision table should be used CA To document all conditional statementsB To guide the development of the project management planC When a complex set of conditions and actions appears in a componentD Only when building an expert system16. Which of the following characteristics should not be “Golden Rules” of a GUI? BA Place the user in controlB Make the content easy understandC Reduce the user’s memory loadD Make the interface consistent17. An architectural style encompasses which of the following elements? DA ConstraintsB Set of componentsC Semantic modelsD All of the above18. Which of the following interface design principles reduces the user's memory load? DA Define intuitive shortcutsB Disclose information in a progressive fashionC Establish meaningful defaultsD All of the above19. In the context of object-oriented software engineering a component contains AA A set of collaborating classesB Attributes and operationsC Instances of each classD Roles for each actor (device or user)20. What is the normal order of activities in which traditional software testing is organized? a. integration testing; b. system testing; c. unit testing ; d. validation testing AA a, d, c, bB c, a, d, bC b, d, a, cD d, b, c, a d二、判断改错题(本大题共10小题,每小题1分,共10分)提示:正确“T”,错误“F”。
四川大学期中考试试题(闭卷)(2011~2012学年第2学期)课程号:311023030课程名称:软件工程(双语)任课教师:适用专业年级:学号:姓名:考试须知四川大学学生参加由学校组织或由学校承办的各级各类考试,必须严格执行《四川大学考试工作管理办法》和《四川大学考场规则》。
有考试违纪作弊行为的,一律按照《四川大学学生考试违纪作弊处罚条例》进行处理。
四川大学各级各类考试的监考人员,必须严格执行《四川大学考试工作管理办法》、《四川大学考场规则》和《四川大学监考人员职责》。
有违反学校有关规定的,严格按照《四川大学教学事故认定及处理办法》进行处理。
题号一(20%) 二(20%) 三(18%) 四(24%) 五(10%) 六(8%) 卷面成绩得分阅卷教师阅卷时间注意事项:1. 请务必将本人所在学院、姓名、学号、任课教师姓名等信息准确填写在试卷和答题纸上。
2. 考试结束,请将试卷和答题纸一并交给监考老师。
一、Multiple-Choice Test(1’×10)评阅教师得分Tip: each question,you must read the four choices marked A),B),C),D),and decide which is the best answer.1 2 3 4 5 6 7 8 9 101.The nature of software applications can be characterized by their information( D )(A) complexity (B) content(C) determinacy (D) both b and c2.Which of these are the 5 generic software engineering framework activities? ( A )(A) communication, planning, modeling, construction, deployment(B) communication, risk management, measurement, production, reviewing(C) analysis, designing, programming, debugging, maintenance(D) analysis, planning, designing, programming, testing3.The rapid application development model is ( D )(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.4.Which of the following traits need to exist among the members of an agile software team? ( D )(A) Competence(B) Decision-making ability(C) Mutual trust and respect(D) All of the above.5. The top level of the hierarchical model of a system is known as the ( C )(A) AFD(B) DFD(C) SCD(D) SFD6.The use of traceability tables helps to ( C )(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 above7.The data flow diagram ( D )(A) depicts relationships between data objects(B) depicts functions that transform the data flow(C) indicates how data are transformed by the system(D) both B and C8.Which of the following should be considered as candidate objects in a problem space? ( D )(A) events (B) people(C) structure (D) all of the above9.Which design model elements are used to depict a model of information represented from the user's view? ( D )(A) Architectural design elements (B) Component-level design elements(C) Data design elements (D) Interface design elements10. In transaction mapping the first level factoring results in the ( C )(A) creation of CFD. (B) derivation of control hierarchy(C) distribution of work modules (D) refinement of the module view二、Fill in the blank(1’×38)评阅教师得分1)Software engineering is a layered technology, which the bedrock supports is a quality focus, and then concerned with ___方法, _____过程_______ and ______工具_________.2) The linear sequential model of software development is also known as the__瀑布模型________________and ____系统发展生命周期________________3) The capability maturity model integration(CMMI) is a process meta-model, which consists six capability levels, that is imcomplete level, perform level, _________管理级___________,___________定义级_____, ____________量化管理级____________and __ ____优化级_______.4) Speculation, ___________协作____________, _____________学习___________ are the three framework activities for the Adaptive Software Development (ASD) process mode.5) The “phases” of the Unified Process(UP) include______起始(inception)____, _细化(elabration)____,_构建(construction)_____,_转换(transition)_____ and production phase .6) ____数据设计_____ , __体系结构设计______ ,__接口设计______and component design are areas of concern in the design model.7)Software includes: computer programs, _______数据结构____________and____操作和使用文档___8)An architectural style encompasses constraints , ____易于交流______and ___便于理解________9) In component-level design "persistent data sources" refer to _____数据库______and _____文件_________.10) A computer-based system makes use of a variety of system elements, that is software , hardware, ______人员__________,_______数据库______,_____文档________, and ______规程_________. 11) In the domain of business process engineering, three different architectures must be analyzed and designed, that is数据架构_______________, 应用架构________________,and ________________技术基础设施_____________.12) The requirements engineering process is accomplished through the execution of seven distinct functions: inception, elicitation, elaboration, ____________精化__________,____________协商_____________, _________规格说明_______, and ___________确认_________.(13)Quality function deployment indentifies three types of requirements: _____合格产品_______________, __________好的质量_____________, _______按预算和进度交付_____________.三、Each of the elements of the analysis model provides information for a complete specificationof design. Please match the analysis model with four design models that need the analysis information to create design models required. ( 14 points )State Diagram Class and Component Design Sequence DiagramUse-Case Diagram Interface Design E-R DiagramActivity Diagram Architectural Design Class DiagramData Flow Diagram Data Design State Transition Diagram四、Explain the Terms (3’×3)。
………………………………密………………………………封………………………………线………………………………Ⅰ.Multiple Choices (Each 1 Point, total 15 Points):1. Which of the items listed below is not one of the software engineering layers? ( )A)Process B)Manufacturing C)Methods D)Tools2. What are the three generic phases of software engineering?( )A)definition, development, maintenance B)what, how, whereC)programming, debugging, maintenance D)analysis, design, testing3. The unit that the software Reuse is ( ).A)software module B)Performance C)system D)function4. The prototyping model of software development is ( ).A)A reasonable approach when requirements are well definedB)A useful approach when a customer cannot define requirements clearlyC)The best approach to use for projects with large development teamsD)A risky model that rarely produces a meaningful product5.Requirement specifications should not include the contents of the description are ( ).A)Main function B)algorithm for detailed proceduresC)user interface and operating environment D)software performance6. Use-cases are scenarios that describe ( ).A)the build plan for a software productB)how CASE tools will be used to construct the system.C)how software is to be used in a given situationD)the test cases for a software product7.Which of the following is not an area of concern in the design model?( )A)architecture B)data C)interfaces D)project scope………………………………密………………………………封………………………………线………………………………8. To achieve high modularity of software components, you need ( ).A)high coupling and high cohesion B)high coupling and low cohesionC)low coupling and low cohesion D)low coupling and high cohesion9. Encapsulation of attributes and operations within an object ( ).A)is a poor programming practice.B)increases the cost of program maintenance.C)allows for easy reuse of this information.D)none of the above10. The UML approach to object-oriented design has two major activities:( ).A)message design and system design B)interface design and message designC)architectural design and object design D)system design and object design11. Which of these is not one of the primary benefits of object-oriented architectures? ( )A)easy component reuse B)improved execution performanceC)information hiding D)simplified interfaces12. The first step in any OOA process model are to ( ).A)build an object-relationship model B)define collaborations between objectsC)elicit customer requirements D)select a representation language13. 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 errors14. A generalized description of a collection of similar objects is a ( ).A)class B)instance C)subclass D)super class15.The longest stage in software life cycle is ( )A)requirement analysis B)design C)test D)maintenance()1.“Software” is equal to “program”.()2. In the real project developing, we need to consider the reliability and usability of the system.………………………………密………………………………封………………………………线……………………………… ( )3.Software is a product and can be manufactured using the same technologies used for otherengineering artifacts.( )4. If the test procedure does not find any errors, then the software free of errors.( )5. Adding more people to a project that is already behind schedule is a good way to catch up.Ⅲ. Noun Explanation. (Each 5 points, total 20 points)1. software process2. cohesion3. Computing Return on Investment (ROI)4. fan_inⅣ.Answer the Following Questions Briefly. (Each 5 Points, total 20 Points)1. What is software maintenance? Please describe the four types of software maintenance.2. What arethe three major content of the software performance properties. Please describe how to improving system performance?3. What are the benefits of using prototyping?4. Description the difference in purposes between software testing and debugging .………………………………密………………………………封………………………………线………………………………Ⅴ.Software Engineering Practice (35 Points)1.Analyse and design a simple management information system of a library using the OO methodology. The system allows the users to manage books (including adding, deleting, displaying and updating books) and readers to manage personal and Library operations (including adding, deleting, displaying and updating readers, borrowing and returning books). Write out the following Requirements specifications briefly:(1) Draw the use case diagram. (8points)………………………………密………………………………封………………………………线………………………………2. According to the following fault-tree, please derive a matching cut-set tree. (13 points)fault-tree。