《软件工程练习题总.docx》由会员分享,可在线阅读,更多相关《软件工程练习题总.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件工程复习题一选择题1. Which of the following is an advantage of implementing applications via the Web? 以下哪一个是通过网络实施应用的优势?a.Security安全c.Reliability可靠性b.Accessibility无障碍d.Throughput吞吐量2. Coupling is a qualitative indication of the degree to which a module耦合是一个模块在何种程度上定性指标 A) can be written more compactly. B)
2、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. 连接到其他的模块和外界3. Which of these are characteristics of a good design? A) exhibits strong coupling between its modules B) implements all requirements in the analysis
3、 model在分析模型中实现所有要求 C) includes test cases for all components D) provides a complete picture of the software E) both b and d4. Which of the following are areas of concern(关注) in the design model? A) architecture架构 B) data C) interfaces D) project scope E) a, b and c 5. Polymorphism reduces the effort
4、 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 6.Which of the f
5、ollowing models can be used to represent the architectural design of a piece of software. 以下模型哪些可以代表一个软件的架构设计 A) Dynamic models动态 B) Functional models功能 C) Structural models结构 D) All of the above 7. Cohesion is a qualitative indication of the degree to which a module凝聚力是一个模块在何种程度上的定性指标 A) can be wri
6、tten 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.8. Which of the items listed below is not one of the software engineering layers? 软件工程的层a) Process b) Manufacturing制造 c) Methods d)
7、Tools9. 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 above10. The importance of software design can be summarized in a single word:
8、软件设计的重要性可归纳为一个词(A) accuracy精度(B) complexity复杂(C) efficiency效率(D) quality 11. Systems _ is the process of describing, organizing, and structuring the components of a system at both the architectural level and a detailed level with a view toward constructing the proposed system.系统_是系统的组成部分,在建筑水平和走向建议的
9、制度建设的详细描述,组织和结构的过程。a.designc.implementation实施b.analysisd.maintenance维修12. List the four design models required for a complete specification of a design in traditional software engineering method哪四个设计模型需要一个完整的设计规范在传统的软件工程方法模式(1) Subsystem design (2) Data design (3) Task design (4) Architecture design
10、 (5) Interface design (6) Component-level组件级design(A) 1234 (B) 2345 (C) 1256 (D) 245613. Design patterns can be used by applying in object-oriented systems. 设计模式可以使用面向对象的系统中的应用(A). inheritance继承(B). encapsulation封装(C). complexity复杂(D). polymorphism多态性14Which design model provides information for a d
11、esign class diagram?以下哪个模型为设计类图提供信息a.Deployment diagram部署图c.Statechart diagram状态图b.Interaction diagram交互图d.Package diagram包图15. A _ model shows what the system is supposed to do in great detail, without committing to any one technology. 一个_模型显示系统是应该做的很详细,没有犯任何一种技术(A).logical逻辑(B).physical物理(C). vert
12、ical垂直(D).horizontal水平16Developing a(n) _ diagram is a multistep process of determining which objects work together and how they work together. 发展一个_图是确定哪些对象一起工作,它们如何协同工作的多步骤过程。a.design classc.state machine状态机b.interaction互动d.package18. Which of the following is an example of an interaction互动 diagra
13、m?a.Design class diagramc.Package diagramb.Data access diagram数据访问图d.Communication diagram19 . Process framework activities are populated with . 填充进程的框架内活动(A). milestones里程碑 (B). work products工作产品(C). QA points质量保证分 (D). all of the above 20 . Cohesion is a qualitative indication of the degree to whi
14、ch 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. 连接到其他的模块和外界。21. Which diagram(s) is (are) to be built in a system b
15、ehavior model? (d) 哪个图要建一个系统的行为模型?(A). use-case (B). ER diagram (C). DFD diagram (D). STD diagram22. The first step in project planning is to在项目规划的第一步是(A) determine software scope确定软件范围(B) select project team leader选择项目组组长 (C) determine the budget确定预算 (D) determine the process model确定过程模型23. White-b
16、ox testing can use the following methods . 白盒测试可以使用下列方法。(A). boundary value analysis边界值分析 (B). equivalence partitioning等价分区(C). loop testing回路测试(D). iterative testing迭代测试24. The incremental model of software development is软件开发的增量模型(A) A reasonable approach when requirements are well defined. 合理的做法,要
17、求明确界定。 (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. 一个革命性的模式,不用于商业产品。25. What are not the elements t
18、hat are present in every computer-based system?目前在每一台计算机为基础的系统中什么元素没有?(A) data数据(B) software软件 (C) documentation文档(D) project项目26. The data dictionary contains descriptions of each software数据字典包含每个软件的说明(A) control item控制项目 (B) data object数据对象 (C) diagram图 (D) notation符号(E) both A and B27. Evolutiona
19、ry software process models . 演化软件过程模型。(A). are branched in condition分支的条件(B). can easily accommodate product requirements changes可以轻松地容纳产品需求的变化 (C). generally produce throw away systems一般生产扔掉系统 (D). all of the above 28. A decision table should be used一个决策表应使用(A). to document all conditional statemen
20、ts文件中的所有条件语句(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当出现的条件和操作的复杂组件29. In the traditional approach to system development, the system stores informa
21、tion about _.在传统的系统开发方法,系统存储约_的信息。(A). objects对象(C). methods方法 (B). data stores数据存储 (D). data entities数据实体30.What model is created during the analysis phase of a software development process? 在一个软件开发过程的分析阶段建立的模型是什么?(A) Data model数据模型 (B) Linear model线性模型(C) sub-model子模型 (D)Prototyping model. 样机模型31.
22、 Project _ management involves collecting and explaining all of the key decisions, feasibility analysis, risks, benefits, schedules, and costs to the stakeholders who are funding the project. 项目_管理涉及收集和解释所有的关键决策,可行性分析,风险,利益,日程安排,并资助该项目的利益相关者,他们的费用。(A). cost成本 (C). scope范围(B). schedule计划 (D). communi
23、cation通讯32. _ involves the creation of an object based on the template provided by the class definition. _涉及建立基于类定义中提供的模板一个对象。a.Instantiation 实例c.Activation激活b.Encapsulation封装d.Realization实现33. UML design modeling focuses on the . UML设计造型的重点是(A). structural model and behavioral model结构模型和行为模型(B). be
24、havioral model and implementation model行为模型和实现模型(C). user model and environment model用户模型和环境模型(D). E-R model二对错题1.When using structured design methodologies the process of stepwise refinement is unnecessary. 当使用结构化设计方法时,逐步细化的过程中是不必要的(错)2The three generic phases of software engineering are definition
25、, development, and support.软件工程的三个通用阶段是定义,开发和支持3 Software development activities are easy to compartmentalize into four non-overlapping phases. 软件开发活动很容易划分成4个非重叠阶段。4 Project management is less important for modern software development since most projects are successful and completed on time. 项目管理是现代
26、软件开发的重要,因为大多数项目是成功的,并按时完成。5. Boundary value analysis can only be used to do white-box testing. 边界值分析只能用来做白盒测试。6 Using a statistical technique like decision tree analysis can provide some assistance in sorting out the true costs associated with the make-buy decision. 使用决策树分析等统计技术,可以提供一些援助,在整理作出购买决策的真
27、实成本。7 The reason for refining risks is to break them into smaller units having different consequences. 炼油风险的原因是它们分解成更小的单位有不同的后果。8 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. 一个任务选择的价值是最恰当的使用,来决定是否接受或拒绝列
28、入项目中的任务设置为给定的任务。9 People who perform software quality assurance must look at the software from the customers perspective. 执行软件质量保证的人必须从顾客的角度看软件。10 Change control is not necessary if a development group is making use of an automated project database tool. 变更控制是没有必要的,如果一个开发小组正在使用一个自动化的项目数据库工具。11 Syste
29、m models are built to allow the system engineer to evaluate the system components in relationship to one another. 系统模型的建立,让系统工程师评估到另一个系统组件之间的关系。12 The use of context free questions by themselves provides an effective means of eliciting requirements information from the customer. 自己使用的范围内自由问题征求客户的需求信
30、息提供一种有效的手段。13 The primary purpose of an entity relationship diagram in the data model is to allow normalization of relationship tables. 数据模型中的实体关系图的主要目的是允许关系表正常化。14 With thorough testing it is possible to remove all defects from a program prior to delivery to the customer. 通过彻底的测试,它是可以交付给客户之前,从计划中删除
31、的所有缺陷。15 Object-oriented designs do not need to be implemented using object-oriented programming techniques. 面向对象的设计不需要使用面向对象编程技术得以实施。16. Because there are many factors to consider in any design effort, all design should be as complex as possible. 因为有很多因素要考虑在任何设计工作,所有的设计应尽可能复杂。 ( ) 17. Since modular
32、ity is an important design goal it is not possible to have too many modules in a proposed design. 由于模块化是一个重要的设计目标是,拟议中的设计不可能有太多的模块。(错)18. Software designs are refactored to allow the creation of software that is easier to integrate, easier to test, and easier to maintain. 软件设计重构,让创造的软件更容易集成,更易于测试,并易
33、于维护。(对)19.Information hiding makes program maintenance easier by hiding data and procedure from unaffected parts of the program.(对)信息隐藏使得程序的维护更容易隐藏数据和程序,从程序不受影响地区。20. In software quality assurance work there is no difference between software verification and software validation. 在软件质量保证工作,有没有软件的验证和软
34、件验证之间的差异。21.One of the key problems in software reuse is the inability to find existing reusable design patterns when hundreds of candidates exist.(对)软件重用的关键问题之一,是无法找到现有的可重复使用的设计模式,当数百名候选人存在。22. A module should be open for extension but closed for modification. 一个模块应该对扩展开放,但对修改关闭。23. Frameworks and
35、design patterns are the same thing as far as designers are concerned.(错)尽可能的设计师而言,框架和设计模式是一回事。24. Program flow chart is easier to maintain than PDL for procedural designing. 程序流程图是更容易比对程序设计的PDL保持。25. Project management is less important for modern software development since most projects are success
36、ful and completed on time. ( ) 项目管理是现代软件开发的重要,因为大多数项目是成功的,并按时完成。26. Using the concept of modularity in software design, we should try our best to subdivide software infinitely. ( ) 采用模块化软件设计的概念,我们应该尽力无限细分软件。27. Subclasses should be substitutable for base classes. ( ) 基类的子类应替代。28. The focus of valida
37、tion testing is to uncover places that a user will be able to observe failure of the software to conform to its requirements. ( ) 验证测试的重点是发现的地方,用户将能够观察到的软件不符合其要求。29. Components should be loosely coupled to one another and to the external environment. 应松散耦合组件到另一个和外部环境。30. Improved execution performan
38、ce is one of the primary benefits of object-orientedarchitectures. 提高执行性能对象orientedarchitectures的主要优点之一。31. All of random order tests are conducted to exercise different class instance life histories, which are based on the minimum test sequence. 随机顺序测试都进行锻炼不同的类的实例的生命历程,这是最低的测试序列为基础的。32Cohesion shou
39、ld be as cohesive as possible,Coupling should be as loose as possible. 凝聚力,应尽可能的凝聚力,耦合应尽可能松散。33. Responsibilities are Attributes and methods relevant to the class. 职责是类有关的属性和方法。34. Business Process Engineering (BPE) define architectures that will enable a business to use information effectively. ( )
40、 业务流程工程(BPE)定义的架构,使业务有效地利用信息。35. Change control is not necessary if a development group is making use of an automated project database tool. ( ) 变更控制是没有必要的,如果一个开发小组正在使用一个自动化的项目数据库工具。36. Program flow graphs are identical to program flowcharts.三.主观题:Please give brief answers to the following questions
41、: 1. How do object-oriented design and structured design differ? 如何区分面向对象的设计和结构设计的不同(10 pts.) 2.List three characteristics that can serve as a guide to evaluate design quality. 列出三个特点,可以作为评估设计质量的指导。ANS: Design implements all explicit requirements from the analysis model, as well as accommodating imp
42、licit customer requirements.Design must be understandable to the people who generate the code to implement design, those who test it, and those who support it.Design must provide a complete picture of the software, addressing the data, functional, and behavioral domains from an implementation perspe
43、ctive.3. What are the four important attributes which all software products should have? Suggest four other attributes that may sometimes be significant什么是所有的软件产品应具有四个重要的属性?推荐其他四个重要属性4.What are the phases of the SDLC? 什么是SDLC的阶段5.What is the difference between a software process model and a software
44、 process? Suggest two ways in which a software process model might be helpful in identifying possible process improvements推荐两种方式,其中软件过程模型可能有助于确定可能的流程改进6. Apart from the challenges of heterogeneity, rapid delivery and trust, identify other problems and challenges that software engineering is likely t
45、o face in the 21st century除了异质性,交货迅速和信任的挑战,找出软件工程是在21世纪可能面临的其他问题和挑战, 7. Please give explanations on why requirements elicitation is so difficult. 请给予解释为什么需求获取是非常困难。8. What is three-layer design? What are the most common layers found in three-layer design? 什么是三层设计?什么是最常见的的三层设计的层?9. Why is three-layer
46、 design a good principle? 为什么三层设计是一个很好的原则10. What are functional requirements? 什么是功能要求11.What is the purpose of a package diagram? What notation is used? Show an example一个包图的目的是什么?使用的是什么符号?展示一个例子12.What is the difference between analysis and design? List the activities of the design phase of the SDL
47、C. 分析和设计之间的区别是什么?列出SDLC设计阶段的活动。13. Explain what is wrong with the notion that software engineering is too time consuming and interferes with a programmers productivity. 解释什么是错误的概念,软件工程是太耗费时间和干扰程序员的生产力。14.Describe the principle of information hiding as it applies to software design. 描述信息的隐藏,因为它适用于软件设计的原则。ANS:The principle of information hiding implies that modules only share information with each other on a need to know basis to achieve some specific software function. Hiding enforces the procedural constraints to both the module procedural detail and any data structures local to the modu