
款件工程课程复习资料 中央电大工学院王欣 简答思 1,什么是软件工程?请分析钛件工程的目标是什么? 答案:软件工程是:①将系统化的、规范的、可度量的方法应用于款件的开发、运行 和维护过程,也就是说将工程化应用于软件开发和管理之中,②对①中所选方法的研究”, 软件工程日在开发满足用户需要、及时交付,不超过顶算和无故障的软作,其主要目标 如下: 》实现预期的软件功能,达到较好的软件性能,满足用户的需求。 b)增强软作过程的可见性和可控性,保证软件的质量, ©》提高所开发钛件的可维护性,降低维护贵用。 山提高软件开发生产率,及时交付使用 ©》合理预算开发成本,付出较低的开发费用。 2什么是款件危机?软件危机表现在哪几个方面? 由于软件特点和长期以来一直没有发明一种高效的开发方法,导致载件生产效率非常 低,交付期一痴再拖,最终交付的软件产品在质量上很难保障。这种现象早在20世起60 年代被定义为“软件危机”。它的具体表现如下: a)“已完成”的款件不满是用户的需求。 b)开发进度不能保障,交付时间一再推延。 ©)款件开发成本难以准确估算,开发过程挖制困难迹成开发成本超出预算。 )款件产品的质量没有保证,运算结果出错、操作死机等现象屡屡出现。 )款件通常没有适当的文督赏料,或文督与最终交付的软件产品不符,软件的可维护 程度丰常低, 3根据相关的法律,对于侵犯款件著作权的行为,根据情节应当给予什么处罚? 容案: 对于侵犯软件署作权的行为,要根据情况承粗停止侵害、消除影响、贴礼道散、赔偿损 失等民事责任:损害社会公共利整的。由著作权行政管理部门责◆停止侵权行为,没收进法 所得,没收、销吸侵权复制品,并处罚款:情节严重的,著作权行政管理都门可以没收用于 制作侵权复制品的材料、工具、设备等:触犯州律的,依法追究利事责任。 4。根据你的理解,列举出职业化软件工程师要注意的三个主要问恩。请给出理由。 答案:没有唯一答案。 a) 不遵守标准和规范:眼业化的重要特征是遵守行业标准,不能肆意按黑自己
软件工程课程复习资料 中央电大工学院 王欣 简答题 1. 什么是软件工程?请分析软件工程的目标是什么? 答案:软件工程是:① 将系统化的、规范的、可度量的方法应用于软件的开发、运行 和维护过程,也就是说将工程化应用于软件开发和管理之中;② 对①中所选方法的研究”。 软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标 如下: a) 实现预期的软件功能,达到较好的软件性能,满足用户的需求。 b) 增强软件过程的可见性和可控性,保证软件的质量。 c) 提高所开发软件的可维护性,降低维护费用。 d) 提高软件开发生产率,及时交付使用。 e) 合理预算开发成本,付出较低的开发费用。 2. 什么是软件危机?软件危机表现在哪几个方面? 由于软件特点和长期以来一直没有发明一种高效的开发方法,导致软件生产效率非常 低,交付期一拖再拖,最终交付的软件产品在质量上很难保障。这种现象早在 20 世纪 60 年代被定义为“软件危机”。它的具体表现如下: a) “已完成”的软件不满足用户的需求。 b) 开发进度不能保障,交付时间一再拖延。 c) 软件开发成本难以准确估算,开发过程控制困难造成开发成本超出预算。 d) 软件产品的质量没有保证,运算结果出错、操作死机等现象屡屡出现。 e) 软件通常没有适当的文档资料,或文档与最终交付的软件产品不符,软件的可维护 程度非常低。 3. 根据相关的法律,对于侵犯软件著作权的行为,根据情节应当给予什么处罚? 答案: 对于侵犯软件著作权的行为,要根据情况承担停止侵害、消除影响、赔礼道歉、赔偿损 失等民事责任;损害社会公共利益的,由著作权行政管理部门责令停止侵权行为,没收违法 所得,没收、销毁侵权复制品,并处罚款;情节严重的,著作权行政管理部门可以没收用于 制作侵权复制品的材料、工具、设备等;触犯刑律的,依法追究刑事责任。 4. 根据你的理解,列举出职业化软件工程师要注意的三个主要问题,请给出理由。 答案:没有唯一答案。 a) 不遵守标准和规范:职业化的重要特征是遵守行业标准,不能肆意按照自己

的塑象米发挥。自从人们认积到软件危机以米,总结软件开发的失数教训和成功经验,并把 它门总结咸为最佳实置,进而形成标准,要充分利用这些最佳实置和标准来折导款件过程。 任何闭门造车,妇当然的行为都是不被提但的,注定要走弯路。 b) 对特计划不严肃:软件工程强调计划性,计划的内容包括:设备资源、进度 安排、人力资潭、任务分配等等,在项目的进行中要跟踪计划执行情况,记录计划执行过程 中的偏差,对任何变更都要经过评审和批准才能付诸行动: 不主动与人为通,软件不可见的特性,需要软件工程师进行大量书面的、口 头的或面对面的沟通。沟通的目的是为了使相关的人员了解项目的进展,遇到的(题、应用 的技术、采用的方法。 及状件工程为什么要强调规范化和文档化? 容案: 软件工程强调规范化和文档化。规范化的目的是使众多的开发者连守相同的规范,使软 件生产摆脱个人生产方式,进入标准亿、工程化的生产方式。文档化是将软件的设计思塑、 设计过程和实暖过程完整地记录下来,以便于后人的使用和维护,在开发过程中各类相美人 员借助于文档进行交流和沟通。另外,在开发过程中产生的各类文档使得软件的生产过程由 不可见变为可见,便于管理者对软件生产进度和开发过程进行管理,在用户最锋验收时可以 通过对提交的文档进行技术审查和管理审查,保证款件的质量。 6请简单说明结构化分析的主要步骤。 容案:根据用户的需求画出初始的数据流程图,写出数据字奥和初始的如工处理说明 (IO图),实体关系图。以初始数据流程图为基础。从数据流程图的输出端开始日湖。在对 数据流程图进行回调的过程中可能会发现丢失的处理和数据,应将数据流程图补充光善,对 软件性能指标、接口定义、设计和实现的的桌条件等遥一进行分析。系统分析人员与用户一 起对需求分析的结果进行复查。根据细化的需求修订开发计划。编写需求规格说明书和初始 的用户手期,测试人员开始编写功能测试用的测试数据。 7.设计类的属性时必领货定义是哪再项? 容案: 设计类的属性时必须要定义的内容: 1》属性的类型:设计属性时必须要根据开发语言确定每个属性的数据类型,如果数据 类型不够,设计人员可以利用已有的数据类型定义新的数据类型。 》属性的可见性。在设计属性时要确定公有属性、私有属性、受保护属性。 8.请简单分析顺序图和活动图的区别。 容案:
的想象来发挥。自从人们认识到软件危机以来,总结软件开发的失败教训和成功经验,并把 它们总结成为最佳实践,进而形成标准,要充分利用这些最佳实践和标准来指导软件过程。 任何闭门造车、想当然的行为都是不被提倡的,注定要走弯路。 b) 对待计划不严肃:软件工程强调计划性,计划的内容包括:设备资源、进度 安排、人力资源、任务分配等等。在项目的进行中要跟踪计划执行情况,记录计划执行过程 中的偏差,对任何变更都要经过评审和批准才能付诸行动。 c) 不主动与人沟通:软件不可见的特性,需要软件工程师进行大量书面的、口 头的或面对面的沟通,沟通的目的是为了使相关的人员了解项目的进展、遇到的问题、应用 的技术、采用的方法。 5. 软件工程为什么要强调规范化和文档化? 答案: 软件工程强调规范化和文档化。规范化的目的是使众多的开发者遵守相同的规范,使软 件生产摆脱个人生产方式,进入标准化、工程化的生产方式。文档化是将软件的设计思想、 设计过程和实现过程完整地记录下来,以便于后人的使用和维护,在开发过程中各类相关人 员借助于文档进行交流和沟通。另外,在开发过程中产生的各类文档使得软件的生产过程由 不可见变为可见,便于管理者对软件生产进度和开发过程进行管理。在用户最终验收时可以 通过对提交的文档进行技术审查和管理审查,保证软件的质量。 6. 请简单说明结构化分析的主要步骤。 答案:根据用户的需求画出初始的数据流程图,写出数据字典和初始的加工处理说明 (IPO 图),实体关系图。以初始数据流程图为基础,从数据流程图的输出端开始回溯。在对 数据流程图进行回溯的过程中可能会发现丢失的处理和数据,应将数据流程图补充完善。对 软件性能指标、接口定义、设计和实现的约束条件等逐一进行分析。系统分析人员与用户一 起对需求分析的结果进行复查。根据细化的需求修订开发计划。编写需求规格说明书和初始 的用户手册,测试人员开始编写功能测试用的测试数据。 7. 设计类的属性时必须要定义是哪两项? 答案: 设计类的属性时必须要定义的内容: 1) 属性的类型:设计属性时必须要根据开发语言确定每个属性的数据类型,如果数据 类型不够,设计人员可以利用已有的数据类型定义新的数据类型。 2) 属性的可见性。在设计属性时要确定公有属性、私有属性、受保护属性。 8. 请简单分析顺序图和活动图的区别。 答案:

活动图反映系统中从一个活动到另一个活动的流程,强调对象间的控制流程。活动图特 别适合描述工作瓷和并行处理过程。具体地说活动图可以描述一个慢作过程中需要完成的活 动:描述一个对象内部的工作:描述如何执行一组相关的动作,以及这些动作如何影响它们 周围的对象!说明一个业务活动中角色、工作流,组织和对象是如何工作的。 顺序图用于描述一组交互对象闻的交互方式,它表示完成某项行为的对象和这些对象之 间传逸消皂的时间顺序。 9根据你的理解,为下面的数据流程图如上箭头,并把下列数据流添加到合适的位置: 用户名/密码、用户输入预订信息、保存预订信息、查诸预订信息、登录确认、图书信息、 查询条件、查面结果。 D801 1P001 D03 程录 读者 03 工作人员 查预订,雀 IP002 预订国书 050位 容案 D501 读春整号信息 量录确以 IP001 D803 图督值息 用户名: 事码 理录 因仔信息 续者 IPO03 在第件 工作人司 合到预订信息 青南图值 结果 用户输入可值息 IP002 在询可 信自 预订围书 D512 预订信息 餐存餐订 信皇
活动图反映系统中从一个活动到另一个活动的流程,强调对象间的控制流程。活动图特 别适合描述工作流和并行处理过程。具体地说活动图可以描述一个操作过程中需要完成的活 动;描述一个对象内部的工作;描述如何执行一组相关的动作,以及这些动作如何影响它们 周围的对象;说明一个业务活动中角色、工作流、组织和对象是如何工作的。 顺序图用于描述一组交互对象间的交互方式,它表示完成某项行为的对象和这些对象之 间传递消息的时间顺序。 9. 根据你的理解,为下面的数据流程图加上箭头,并把下列数据流添加到合适的位置: 用户名/密码、用户输入预订信息、保存预订信息、查询预订信息、登录确认、图书信息、 查询条件、查询结果。 读者 工作人员 登录 IPO01 查询预订、读 者 IPO03 预订图书 IPO02 DS01 DS02 DS03 答案: 读者 工作人员 登录 IPO01 查询预订信息 查询图书信息 IPO03 预订图书 IPO02 DS01 DS02 DS03 读者账号信息 图书信息 预订信息 用户名、 密码 用户输入预订信息 图书信息 查询预订 信息 登录确认 保存预订 信息 查询条件 结果

1(,请用判定表描述产品出库量的计算方法:当库存量大于等于提货量时,以提贤量作 为出库量:当库存量小于提货量,但是库存量大于等于提货量的库时,以实际库存量作为 出岸量:否则,出库量为0,不能提费。 容案: 条件 库存亡提货量 库存≥0提货量 按提货量出库 按军存量出库 不出库 11.公司为本科以上学历的员工重新安排工作。原则如下:①如果年龄不满3岁,学 历是本科,一律考研生:②如果年龄在3岁至0岁之间,学历本科,任项目经理:③如果 年龄在0岁以下,学历硕士,任命为中层领④如果年龄超过0岁,不做调整。要求画 出判定表。 容案: 系件 23 1250 (50 本科 研究生 报考研究生了 项目经理 中层领导 不变 2.请举例说明什么是变换型数据流程图?什么是事务型数据流程图? 容案:没有唯一答案
10. 请用判定表描述产品出库量的计算方法:当库存量大于等于提货量时,以提货量作 为出库量;当库存量小于提货量,但是库存量大于等于提货量的 50%时,以实际库存量作为 出库量;否则,出库量为 0,不能提货。 答案: 条件 1 2 3 库存≧提货量 T F 库存≧50%提货量 T F 按提货量出库 T 按库存量出库 T 不出库 T 11. 公司为本科以上学历的员工重新安排工作,原则如下:①如果年龄不满 23 岁,学 历是本科,一律考研生;②如果年龄在 23 岁至 50 岁之间,学历本科,任项目经理;③如果 年龄在 50 岁以下,学历硕士,任命为中层领导;④如果年龄超过 50 岁,不做调整,要求画 出判定表。 答案: 条件 1 2 3 4 <23 T [23,50] T <50 T F 本科 T T 研究生 T 报考研究生 T 项目经理 T 中层领导 T 不变 T 12. 请举例说明什么是变换型数据流程图?什么是事务型数据流程图? 答案:没有唯一答案

中心要项 间刀已是武晚 脑1 计复度1 检 i计 计单组2 网3 IP4 数图 式化红 输入 变换型数据流程图 D 参 新文村 中0事等 帮香 0型 16 07■ 路径 事务型数那流程图 13。下面程序代到,编程人员误把1F(A-2)0限X>1))条件写成了1F(A=2)0R (仪1)AND (B=0))THEX DO X:=X/A: IF(A=20饿)1)THEN DO x:-X+1: END 容案:用2,一0,X=3测试用例可以发现错误。因为按照测试用例的预计的输出X=4, 而错误的输出是=3。 14.面向对象的分析通常要建立三个核型,请问三个模型的作用? 答案: )功能核型,表达系统的详细需求,为载件的进一步分析和设计打下基础。在面向对
初始数据 已编辑 数据 有效 数据 计算值1 计算值2 已格式化1 已格 式化2 已格式化3 中心变换 逻辑输入 逻辑输出 IPO 1 编辑 IPO 2 检测 IPO 4 格式1 IPO 5 格式2 IPO 3 计算 IPO 6 格式3 变换型数据流程图 DS01 密码文件 DS02 系统配置文件 中心事务 命令 类型 密码 计算 参数 4位 密码 验证结果 计算 结果 原配置 数据 路径L IPO 1 读命令 IPO 2 判断命令 IPO 3 读参数 IPO 5 读密码 IPO 4 统计 IPO 6 比较密码 IPO 7 校验结果 IPO 8 更新文件 IPO 9 显示结果 事务型数据流程图 13. 下面程序代码,编程人员误把 IF ((A=2) OR (X>1)) 条件写成了 IF ((A=2) OR (X1) AND (B=0)) THEN DO X:=X/A; IF ((A=2) OR (X>1)) THEN DO X:=X+1; END 答案:用 A=2,B=0,X=3 测试用例可以发现错误,因为按照测试用例的预计的输出 X=4, 而错误的输出是 X=3。 14. 面向对象的分析通常要建立三个模型,请问三个模型的作用? 答案: a)功能模型:表达系统的详细需求,为软件的进一步分析和设计打下基础。在面向对

象方法中,由用例图和场最描述组成。 6)对象模型:表示静药的、结构化的系统“数据”性质。描述现实世界中实体的对象 以及它们之阿的关系,表示目标系统的静态数据结构。在面向对象方法中,类图是构件对象 树型的核心工具。 心)动态模型:描述系统的动态结构和对象之间的交直,表示瞬时的、行为化的系统的 “控制特性。面向对象方法中,常用状态图、顺序图、合作图、活动图构件系统的动志极 型。 15。面向对象的设计话动中,有构架师、用例工程师和构件师参加,他们每个角色的眼 责是什么? 容案: 构架设计的日的是要匀通出系统的总体结构,这项工作由经验丰富的构架设计师主持完 成。该话动以用例模型、分析模型为输入,生成物理构架、子系统及其接口、顺要的设计类 (即度计阶段定义的类)。 根据分析阶段产生的高层类图和交互图,由用例设计师研究己有的类,将它们分配到相 应的用例中。检查每个用例的功能,这些功能愫靠当前的类能否实现,同时检查每个用例的 特殊需求是否有合适的类来实现。细化每个用例的类图,描述实现用例的类及其类之间的相 互关系,其中的通用类和关健类可用相线框区分,这些类将作为项目经理检查项目时的重点。 经过前面两个活动,构架设计师己经将系统的构架建立起来,用例设计师按理用例的功 能将每个类分配给相应的用例。现在要由构件工程师详细设计每个类的属性、方法和关系。 16.Q软件的用户分为游客和登陆会员,登陆会员分为群成员和群成员。群成员分 为群主和群普通成员、群管理员,请用类的燃承关系描述Q用户群
象方法中,由用例图和场景描述组成。 b)对象模型:表示静态的、结构化的系统“数据”性质。描述现实世界中实体的对象 以及它们之间的关系,表示目标系统的静态数据结构。在面向对象方法中,类图是构件对象 模型的核心工具。 c)动态模型:描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统的 “控制”特性。面向对象方法中,常用状态图、顺序图、合作图、活动图构件系统的动态模 型。 15. 面向对象的设计活动中,有构架师、用例工程师和构件师参加,他们每个角色的职 责是什么? 答案: 构架设计的目的是要勾画出系统的总体结构,这项工作由经验丰富的构架设计师主持完 成。该活动以用例模型、分析模型为输入,生成物理构架、子系统及其接口、概要的设计类 (即设计阶段定义的类)。 根据分析阶段产生的高层类图和交互图,由用例设计师研究已有的类,将它们分配到相 应的用例中。检查每个用例的功能,这些功能依靠当前的类能否实现,同时检查每个用例的 特殊需求是否有合适的类来实现。细化每个用例的类图,描述实现用例的类及其类之间的相 互关系,其中的通用类和关键类可用粗线框区分,这些类将作为项目经理检查项目时的重点。 经过前面两个活动,构架设计师已经将系统的构架建立起来,用例设计师按照用例的功 能将每个类分配给相应的用例。现在要由构件工程师详细设计每个类的属性、方法和关系。 16. QQ 软件的用户分为游客和登陆会员,登陆会员分为群成员和非群成员,群成员分 为 群主和群普通成员、群管理员,请用类的继承关系描述 QQ 用户群

用户 登录公员 游客 群会员 非群会员 群主 群普通会员 管理员 17.先将下列代码用烧范的格式重写,然后面出对应的程序流程图。 START INPUT XN DIMENSION A(NO,F(N) 01-1T0N INPUT F(I) END DO K=-0 O WHILE黛<制 A)-0 DO J=1 TO N-K A(K)-A(K)+F(J)*F(J+K/(N-K+1) END DO PRINT Kex.A(K) K-+1 END DO STOP
用户 登录会员 游客 群会员 非群会员 群主 群普通会员 管理员 17. 先将下列代码用规范的格式重写,然后画出对应的程序流程图。 START INPUT X,N DIMENSION A(N),F(N) DO I=1 TO N INPUT F(I) END DO K=0 DO WHILE (K<N) A(K)=0 DO J=1 TO N-K A(K)=A(K)+F(J)*F(J+K)/(N-K+1) END DO PRINT K*X,A(K) K=K+1 END DO STOP

容案! START INPUT无,n DIMENSION a(n).f(n) 01=1T0n INPUT f(i) END DO k-0 DO WHILE (k<n) ak)=0 DO j=1 TO n-k ak)=a》+f(i)*f(i+k)/(n-k+1】 END DO PRINT k*x,a(k) k-k+1 END DO STOP )代码的大小写问题b)缩进©)画程序流程图
答案: START INPUT x, n DIMENSION a(n),f(n) DO i=1 TO n INPUT f(i) END DO k=0 DO WHILE (k<n) a(k)=0 DO j=1 TO n-k a(k)=a(k)+f(j)*f(j+k)/(n-k+1) END DO PRINT k*x, a(k) k=k+1 END DO STOP a) 代码的大小写问题 b)缩进 c)画程序流程图

开始 输入X几数组 ¥1 0j- n-k 输出x时 k++ y 计算 4 结束 18.修政下面的程序片段的格式,使它的可间读性更好,并且画出该程序段的程序流程 图。 44 阳LEPO IF A>O THEN AI ELSE A2 ENDIF: s1: IF B>O THEN BI: WHILE C DO S2:S3 ENDWHILE: EL.SE B2 ENDIF: B3 ENDWHILE: 容案: 阳LEPO IFA>0T证X A1 ELSE
开始 输入:x,n,f数组; k=0 kO THEN A1 ELSE A2 ENDIF; S1; IF B>0 THEN B1; WHILE C DO S2;S3 ENDWHILE; ELSE B2 ENDIF; B3 ENDWHILE; …… 答案: …… WHILE P DO IF A>O THEN A1 ELSE

A2 ENDIF: S1: IF B>O THEN B1: HILE C DO 52:53 ENDWHILE: ELSE 配 ENDIF: B3 EXDAHILE: A2 R2 52 B3 S3 19. 提高程序可读性有哪些招数?对你米讲比较灵险的是哪些? 答案: a 源程序文件头说明,函数应有函数头说明,内容包括:程序标愿:有美该视 块功能和目的说明:主要算法说明:接口说明,包括调用形式,参数描述,子程序请单、有
A2 ENDIF; S1; IF B>0 THEN B1; WHILE C DO S2;S3 ENDWHILE; ELSE B2 ENDIF; B3 ENDWHILE; …… A1 B>0 B1 C B2 S2 Y N Y N …… A>0 p A2 S1 S3 …… B3 Y N Y N 19. 提高程序可读性有哪些招数?对你来讲比较灵验的是哪些? 答案: a) 源程序文件头说明,函数应有函数头说明,内容包括:程序标题;有关该模 块功能和目的说明;主要算法说明;接口说明,包括调用形式、参数描述、子程序清单、有