软件工程复习题根据课本整理).doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程复习题根据课本整理)

第一章: 1.什么是软件危机?有什么表现?P1-2 2.什么是软件工程?软件工程的基本目标是什么?软件工程与基本目标之间的关系? 软件工程的基本目标是: ①付出较低的开发成本达到要求的软件功能取得较好的软件性能 开发的软件易于移植需要较低的维护费用 能按时完成开发任务,及时完成开发任务,及时交付费用 开发的软件可靠性高在具体项目的实际开发中,企图让以上几个目标都达到理想的程度往往是非常困难的。 软件工程目标之间的关系   表明了软件工程目标之间存在的相互关系。其中有些目标之间是互补关系,例如,易于维护和高可靠性之间,低开发成本与按时交付之间。还有一些目标是彼此互斥的,例如,低开发成本与软件可靠性之间,提高软件性能与软件可移植性之间,就存在冲突。4位。一旦实现并测试完成后,该产品将被抛弃。你打算采用哪种软件生命周期模型?请说明你的理由。 对这个软件的需求很明确,实现开平方功能的算法也很成熟,因此,即无须通过原型来分析需求也无须使用有助于提高软件可维护性的增量模型或螺旋模型来开发该软件。 因此,开发这个简单的软件,使用大多数人所熟悉的瀑布模型就可以了。 (2)假设你被任命为一家软件公司的项目负责人,你的工作是管理该公司已被广泛应用的字处理软件的新版本开发。由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布。你打算采用哪种软件生命周期模型?为什么? 对这个项目的一个重要要求是,严格按照已对外公布了的日期完成产品开发工作,因此,选择生命周期模型时应该着重考虑哪种模型有助于加快产品开发的速度。使用增量模型开发软件时可以并行完成开发工作,因此能够加快开发进度。 这个项目是开发该公司已被广泛应用的字处理软件的新版本,从上述事实至少可以得出3点结论:1.旧版本相当于一个原型,通过收集用户对旧版本的意见,较容易确定对新版本的需求,没必要再专门建立一个原型系统来分析用户的需求;2.该公司的软件工程师对字处理软件很熟悉,有开发字处理软件的丰富经验,具有采用增量模型开发新版字处理软件所需要的技术水平;3.该软件受到广大用户的喜爱,今后很可能还要开发更新的版本,因此,应该把软件的体系结构设计成开放式的,以有利于今后的改进和扩充。 综上所述,采用增量模型来完成这个项目比较恰当。 第二章: 1.什么是数据流图?数据流图有什么作用? 数据流图的作用是什么?它有哪些基本成份? 答:数据流图可以用来抽象地表示系统或软件。它从信息传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程,同时可以按自顶向下、逐步分解的方法表示内容不断增加的数据流和功能细节。因此,数据流图既提供了功能建模的机制,也提供了信息流建模的机制,从而可以建立起系统或软件的功能模型。 2.画数据流图(如银行取款、订货、订飞机票) (1)画出描述储户携带存折去银行办理取款手续的数据流图。 储户携带存折去银行办理取款手续的数据流图如下: (2)订货的数据流图 P44 (3)订飞机票的数据流图: 第三章: 复习的范围(P65—67) 怎么画状态图?如: 复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。 请用状态转换图描绘复印机的行为。 解: 第五章: 什么是模块化?P94 什么是内聚?什么是耦合?P97---99 第六章: 画程序流程图和盒图(见作业) 作业如下: 下面是一段用赛德尔迭代法求解线性方程组的程序。其中A[n,n] 是方程组的系数矩阵, B[n]是方程组的右端项,X[n] 是方程组的解向量。eps是控制迭代精度的较小实数。imax是控制迭代的最大次数。flag是标志,=0,表示迭代不收敛;=1,表示迭代收敛。 for k : 1 to n do X[k] : 0.0; X[n] : 1.0; for i : 1 to imax do begin flag : 1; for j : 1 to n to begin s : B[j]; for k : 1 to n do begin if j =k then s : s + X[k]; s : s-A[j, k] * X[k] end; if abs X[j]-s abs s + 1.0 * eps then flag : 0; X[j] : s; end; if flag =1 then goto L1; end; L1: 1 试画出它的结构化的程序流程图。 2 将它改为N-S

文档评论(0)

fcp940 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档