《软件工程复习题解答(cdm)(共13页).doc》由会员分享,可在线阅读,更多相关《软件工程复习题解答(cdm)(共13页).doc(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上Chapter 1 An Introduction to Software Engineering1. Why software engineering is important?软件工程由应对软件危机也产生,软件工程的发展极大地完善了我们的软件。软件工程的研究使得我们对软件开发活动有个更深入的了解,并且已经找到了进行软件描述、设计和实现的有效方法。软件工程中新的标记发和工具大大降低了制作大型、复杂系统的工作量2. What is software? What is software engineering?软件是程序和所有使程序正确运行所需要的相关文档和配置信息。软
2、件工程是一门工程学科,包括了软件开发的各个方面,从最初的系统描述一直到使用后的系统维护,都属于其学科范畴。3. What is the difference between software engineering and computer science?计算机科学研究的是构成计算机和软件系统基础的有关理论和方法,耳软件工程则研究软件制作中的实际问题。计算机科学侧重理论和基础; 软件工程侧重软件开发和交付的实际活动。4. What are the attributes of good software?软件除了提供基本的功能,对用户来说是还应该是可维护的、可依赖的和可接受的。可维护性,软件必
3、须能够不断变化以满足变化;可依赖性,软件必须可以被信赖;有效性,软件不能浪费系统资源;可用性,使用起来比较容易5. What is CASE?CASE 工具是一些软件系统,被设计成支持软件过程中的常规活动,如编辑设计图表、检查图表的连贯性、跟踪已经运行的程序测试等。6. What is the difference between software engineering and system engineering?系统工程侧重于计算机系统开发的所有方面,包括硬件、软件和处理工程。 软件工程是整个系统的一部分,它关心系统中基础软件、控制软件、应用软件和数据库的开发。7. What are s
4、oftware engineering methods?软件工程方法是一种软件开发的结构化方法,目的在于提高软件质量的同时,使其性价比较高。它包括系统模型、符号、规则、设计建议和过程指导。8. What are the key challenges facing software engineering?多样性的挑战,发展新技术以建立起能够使不同平台、不同执行环境的软件一起工作的软件;交付的挑战,发展新技术以带来软件的更快的交付;信任的挑战,发展新技术以展示软件是能够被使用者信任的。9. Issues of professional responsibility保密,工程人员必须严格保守客户或
5、雇主的机密,而不管是否签署了保密协议。工作能力,工程人员应如实的表述自己的工作能力,不应有意接受超过自己能力的工作.知识产权,工程人员应当知晓控制专利权、著作权等知识产权使用的地方法律,必须谨慎行事,确保雇主和客户的知识产权受到保护.计算机滥用,软件工程人员不应运用自己的技能滥用他人的计算机。滥用计算机有时对他人影响不大(如在雇主的计算机上玩游戏),但有时后果非常严重(传播病毒)。 10. Code of ethics principles公众感,软件工程人员应当始终保持与公众利益一直。客户和雇主,软件工程人员应当始终保持与公众利益一直的前提下,满足客户和雇主的最大利益.产品,软件工程人员应当
6、保证他们的产品及其相关附件达到尽可能高的行业标准。判断力,软件工程人员应当具有公正而独立的职业判断力.管理,软件工程管理者和领导者应当拥护并倡导合乎道德的有关软件开发和维护的管理方法。职业感,软件工程人员应当弘扬职业正义感和荣誉感,尊重社会公众利益。同事,软件工程人员应当公平的对待和协助每一位同事。自己,软件工程人员应当毕生学习专业知识,提倡合乎职业道德的职业活动方式11. If you are a software engineer, what code of ethics principles should you obey? And describe why?10题中的全部或部分Chap
7、ter 2 Socio-technical Systems2. What modal does the system engineering process usually follow? And why ?.系统工程中,通常采用瀑布模型。因为系统的不同部分需要并行的开发,而系统工程中的硬件一般十分昂贵,所以开发中返工的余地非常小。3. What are the five steps of the system design process?分割需求;识别子系统;为子系统分配需求;描述子系统功能;定义子系统接口4. Why system evolution is inherently cost
8、ly?像软件进化一样,系统进化是昂贵的,其原因如下:(1) 必须从业务和技术的角度对提议的变更做仔细的分析。在变更生效之前必须经过有关人员的认同。(2) 因为子系统都不是鼓励存在的,对一个子系统的变更可能会对其他子系统的性能或行为造成负面影响。(3) 原始设计决策的理由时常未被记录。把一个特别的设计决策产生的原因找出来,对于系统进化是有意义的。(4) 当系统运行相当长时间后,其结构被修改得复杂凌乱,系统进化的成本进一步增加。2. System modelling is usually presented as a 方块图 .3. After completion, the system has
9、 to be installed in 用户环境 .4. The systems engineering process includes 描述 , 设计 , 开发 and 集成 . System 集成 is particularly critical.5. List three examples of emergent properties. 体积 , 可靠性 , 信息安全性 .6. The system design process includes: 分割需求 , identify sub-systems, 为子系统分配需求 , specify sub-system functional
10、ity, 定义子系统接口 .7. What is emergent system properties? Please list three examples of emergent properties?系统特性不能归于任何一个专门的组件,只有从系统整体上看是这些特性才会浮现出来。体积、可靠性、信息安全特性、可维修性、可用性8. The systems engineering process9. The figure below shows intruder alarm systemFill the blanks with the component types in alarm syste
11、m from the figure.Communication: 语音合成器 Sensor: 门传感器 , 运动传感器 Interface: 电话呼叫器 Actuator: 警笛 Co-ordination: 警报控制器 10. The system design process11. Whats Emergent property? 同7题Chapter 3 Software Processes1. Generic activities in all software processes are : 软件描述 , 软件设计和实现 , 软件有效性验证 and 软件进化 .2. List thr
12、ee kinds of CASE systems (not tools). 工具、工作平台、环境3. List three kinds of generic software process models.瀑布模型、进化式开发、基于组件的软件工程4. What are the RUP (Rational Unified Process ) phases?RUP中的阶段是紧密关联于业务的,而不是关联于技术层面。他们是:(1) 开端(2) 细化(3) 构造(4) 转换5. What are the problems of evolutionary development?(1)过程不可见;(2)系
13、统结果通常较差;6. What are the advantages of the incremental development (1)客户无需等到整个系统实现,第一个增量会满足他们大多数关键的需求。(2)客户可以将早期的增量作为原型,从中获得对后面系统增量的需求经验。(3)项目总体失败的风险比较低。(4)最高优先权的增量会得到更充分的测试。Extreme programming7. Please list three types of generic software process models: 瀑布模型 , 金华市开发 and 基于组件的软件工程 .8. List at least
14、generic software process models.9. What is the software process and What is the main activities of the software process?一个软件过程是一组引发软件产品生产的活动。软件描述;软件设计和实现;软件有效性验证;软件进化10.What kind of model does the following diagram show? When the model is appropriate for?瀑布模型这种模型只在需求定义的非常清晰完整同时需求的变化十分有限的情况下适用。 11. T
15、he diagram shows what kind of model of the software process? And what does each loop in the modal represent? 螺旋模型每个回路表示软件过程的一个阶段In spiral development, each loop in the spiral is split into four sectors. The four sectors are 目标设置 , 风险评估和规避 , 开发和有效性验证 , 规划 .12. Why Software evolution is needed?1) 软件天生
16、是灵活可变的。 2) 业务环境改变是用于支持业务环境的软件也要跟着改变。3) 虽然开发和进化(维护)之间有划分,但是现在从头开发的系统越来越少了。13. What is requirements engineering process? What is the main four period of requirements engineering process?需求工程主要是理解并定义系统需求哪些服务以及找出开发和运行期间受到哪些约束。需求工程过程产生用以描述系统的需求文档。需求工程过程的四个主要阶段:1) 可行性研究2) 需求导出和分析3) 需求描述4) 需求有效性验证14. Extre
17、me programming is based around the development and delivery of very small 版本 of functionality.15. There are four fundamental process activities that are common to all software processes. These are: 软件描述 , 软件设计和实现 , 软件有效性验证 , 软件进化 16. In spiral development, each loop in the spiral is split into four
18、sectors. What are they? 目标设置 , 风险评估和规避 , 开发和有效性验证 , 规划.Chapter 4 Project management1. Software project management activities include: 提出书面建议 , 项目规划和调度 , 项目成本估算 , 项目监督与评审 , 人员选择与评价 , 写作并陈述工作报告 .2. Software project plan structure includes: 引言 , 项目的组织 , 风险分析 , 硬件和软件资源需求 , 工作分解 , 项目进度 , 监控和报告机制 .3. What
19、s Milestone?一个里程碑是一项软件工程活动的终结。4. What is a milestone in project management?在项目规划时,应建立一系列的项目里程碑。在项目管理中每个里程碑都是一个正式的可以提交给管理层的输出结果。5. Risk factors6. Please describe the process of risk management.1) 风险识别,识别可能的项目、产品和业务风险。2) 风险分析,评估这些风险出现的可能性和后果。3) 风险规划,制定计划避免或降低风险的影响。4) 风险监控,在整个项目过程中监控风险。7. Bar charts an
20、d activity networks are graphical notations which are used to illustrate the project schedule. Bar charts show who is responsible for each activity and when the activity is scheduled to begin and end. Activity networks show the dependencies between the different activities making up a project.Consid
21、er the set of activities shown in Table 3.1. This table shows activities, their duration, and activity interdependencies. Given dependency and estimated duration of activities, an activity network which shows activity sequences may be generated as the following Figure 3.1.Table 3.1 Task durations an
22、d dependenciesFigure 3.1 An activity networkFigure 3.2 is the activity bar chart of the project. The project bar chart shows the extent of the possible delay as a shaded bar.Figure 3.2 Activity bar chartTable 3.2 suggests an allocation of staff to the activities illustrated in Figure 3.2.Table 3.2 A
23、llocation of people to activitiesTaskEngineerT1JaneT2AnneT3JaneT4FredT5MaryT6AnneT7JimT8FredT9JaneT10AnneT11FredT12FredFigure 3.3 suggests staff allocation vs time chart.Figure 3.3 Staff allocation vs time chartAnswer the following questions:(1) Which task is task T3 dependent on? It is right that T
24、1 must be completed before T3 starts?T3依赖任务T1。对,T3开始前,T1必须结束。(2) Before progress can be made from one milestone to another, all paths leading to it must be complete. According to this, what task(s) must be finished before task T9 started?T9开始之前,T3和T6必须完成(3) The minimum time required to finish the pr
25、oject can by estimated by considering the longest path in the activity graph(the critical path). In this case, how many working days does the project need at least? Please notify the critical path.至少需要55个工作日。关键路径T1、T3、T9、T11、T12,(注:图中加粗黑线)(4) If T8 is delayed, does it affect the final completion dat
26、e of the project? Why?T8没有在关键路径上,可以延迟,只要最迟在19/9前完成不会对项目有影响(5) How many working days is the extent of the possible delay of T4? What about T7? Why?T4最长可以延误20天(图3.2中T4阴影为4周,共20个工作日)T7最长可以延误12天:55天15天(T10)20天(T7)8天(T1)12天(6) Does staff has to be assigned to a project at all times? In Figure 3.3, T6 and
27、 T10 are assigned to Anne, but there is a intervening periods between T6 and T10, why?项目人员不必分配到项目的每一个阶段。T6和T10中间有间断是因为T6结束时,T10还没有开始。Chapter 5 Software Requirements and Requirements Engineering 1. Milestones in the requirement process, 可行性报告 is the corresponding milestone of Feasibility Study.2. Req
28、uirements measures3. Whats Problems with NL specification?用自然语言描述需求存在的问题:1) 描述不够清楚2) 需求混乱3) 需求混合4. Please describe requirements document structure?1) 绪言2.引言3.术语4.用户需求定义5.用户体系结构6.系统体系结构2) 系统需求描述3) 系统模型4) 系统进化5) 附录6) 索引Chapter 6 Object-Oriented Design1. Whats UML?UML是一种统一描述九十年代出现的几种面向对象设计方法的符号系统。2. Ob
29、ject-oriented analysis, design and programming are related but distinct. 面向对象分析 is concerned with developing an object model of the application domain. 面向对象设计 is concerned with developing an object-oriented system model to implement requirements. 面向对象程序设计 is concerned with realising an OOD using an
30、OO programming language such as Java or C+.3. In OOD, objects are members of classes which define attribute types and operations. Classes may be arranged in a class hierarchy where one class (a super-class) is a 泛化 of one or more other classes (sub-classes).4. In the UML, a generalised relationship
31、is indicated by an 指向父类的空心箭头 .5. Object 接口 have to be specified so that the objects and other components can be designed in parallel.6. 统一建模语言UML provides different notations for defining different object models.7. In the UML, generalisation is indicated by 指向父类的空心箭头 .8. Object 接口 have to be specifi
32、ed so that the objects and other components can be designed in parallel.9. Conceptually, objects communicate by 消息 in OOD. 10. In OOD, messages meanThe name of the service requested by the 调用对象 .Copies of the information required to execute the 服务 and the name of a holder for the result of the servi
33、ce.11. In practice, messages are often implemented by 程序调用 in OOD.12. Object-oriented design simplifies system 进化 .13. Advantages of OOD1) 容易维护,对象可以作为单独的实体被认识。2) 对象是潜在地可重用组件。3) 对很多系统存在一个较为明显的从现实实体到系统对象的映射。14. Object communicationConceptually, objects communicate by message passing.MessagesThe name o
34、f the service requested by the calling object.Copies of the information required to execute the service and the name of a holder for the result of the service.In practice, messages are often implemented by procedure callsName = procedure name.Information = parameter list.15. Object-oriented design s
35、implifies system evolution.16.An object-oriented design process1) 了解并定义上下文和系统的使用模式;2) 设计系统体系结构;3) 识别出系统中的主要对象;4开发设计模型;5.描述对象接口。17. Approaches to identification in O-O design.1) 对系统的自然语言描述做文法分析。2) 使用应用领域中的真实实体、职务、事件、交互、位置、机构单元。在存在的系统中寻找对象,可以通过识别存储结构来识别对象。3) 使用行为方法,设计者首先要了解系统的全部行为。参与一个行为并在其中产生重要作用者可视为
36、一个对象。4) 使用基于脚本的分析识别出系统使用的各个脚本,并以此对其进行分析。18. Weather station interface19. An important advantage of object-oriented design is that it simplifies the evolution of the system. Please explain it in detail using examples.课本P203页14.3节实例20. What important advantage does object-oriented design bring to the
37、evolution of the system. Please explain it in detail using examples.同上21 Figure 3.4 illustrates the notation for an object class in the UML. It models an employee in an organisation. In the UML, the term operation is the specification of an action; the term method is used to refer to the implementat
38、ion of the operation. Figure 3.4 An employee object Figure 3.5 A generalisation hierarchyFigure 3.5 shows an example of a generalisation hierarchy where different classes of employee are shown.Answer the following Questions:(1) How many attributes and operations are included in class Employee in Fig
39、ure 3.4? Can we add more attributes to class Employee?图3.4中的类包括10个属性4个操作。可以加入属性。(2) In the UML, what is generalization indicated by?用一个指向父类的箭头(3) List all the child classes of class Manager? Project Manager,Dept Manager,Strategic Manager(4) How many attributes can be accessed through class Project M
40、anager directly or indirectly according to the information 可以直接或间接访问Employee类、Manager类和Project Manager类中的共13个属性(5) If an attribute (jobDuty) is added to class Manager and an operation (doJob) is added to class Project Manager, please redraw the URL digram.把新属性和方法加到上面右图中,同时把图3.4和图3.5合并Chapter 7 Manag
41、ing people1. People management factors include 一致性 , 尊重 , Inclusion, 诚实 .2. Please list three kinds of personality types. 面向任务型 , 面向自我型 , 面向交互型 .3. PCMM and PCMM levels?人员能力成熟度模型,共分为5级1) 初始级2) 可重复级3) 已定义级4) 已管理级5) 优化级4. Motivation is a complex issue but it appears that their are different types of m
42、otivation based on: Basic needs (e.g. food, sleep, etc.); Personal needs (e.g. respect, self-esteem); Social needs (e.g. to be accepted as part of a group).5. Factors influencing group working1) 小组的组成2) 小组的凝聚力3) 小组的沟通4) 小组的结构6. Staff selection case study in textbook.Chapter 8 Emerging Technologies1.
43、 Security threats can be threats to 机密性 , 完整性 , 可用性 of a system or its data.2. Please list three kinds of survivability strategies? 抵抗力 , 识别 , 恢复 .3. Security threats can be threats to 机密性 , 完整性 , 可用性 of a system or its data.4. What are benefits of SOA?1) 服务可以由本地提供商提供,或从外部提供商那里获得2) 服务可以用任何语言实现3) 通过将
44、遗留系统包装成服务,公司能够保护这些有价值的投资,同时应用于更广的范围。4) 整合的内部平台通过简单的信息交互就可以使用5. The key standards of web service-oriented architectures include SOAP ,WSDL(Web Service Definition Language), UDDI , WS.BPEL 6. Whats Service Engineering?服务工程是开发服务的过程,关注可靠、可复用的服务的开发。7. Whats the service engineering process?a) 可选服务识别b)服务设计
45、c)服务实现和部署8. Cross cutting concerns lead to two undesirable phenomena: 混乱 and 分散 .9. The separation of concerns关注点分离是软件设计和实现中的一个重要原则。本质上讲,它意味这在组织软件时,使得程序中的每个元素(类、方法、过程等)做且只作一件事。10. Aspects, join points and pointcuts方面:定义横切关注点的程序抽象。它包括切入点和与关注点关联的建议的定义。连接点:在执行的程序中的事件。此程序中会有对与方面相关联的建议的执行切入点:在方面中包含的一个语句,定义了相关的方面建议应该得以执行的连接点。11. Software engineering with aspects采用方面的的软件工程是在系统开发的所有阶段采用面向方面的方法。12. Aspect weaving处理源代码并将方面合并在指定的连接点处。