软件工程课后答案_第1页
软件工程课后答案_第2页
软件工程课后答案_第3页
软件工程课后答案_第4页
软件工程课后答案_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件工程课后答案软件工程作业及答案1-1 什么就是软件危机 ?它有哪些典型表现 ?为什么会出现软件危机 ?答: 软件危机就是指在计算机软件的开发与维护过程中所遇到的一系列严重问题。概括地说, 软件危机包含下述两方面的问题 :如何开发软件 , 以满足对软件日益增长的需求 ; 如何维护数量不断膨胀的已有软件。软件危机典型表现 :对软件开发成本与进度的估计常常很不准确。用户对“已完成的”软件系统不满意的现象经常发生。软件产品的质量往往靠不住。软件常常就是不可维护的。软件通常没有适当的文档资料。软件成本在计算机系统总成本中所占的比例逐年上升。软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的

2、趋势。产生软件危机的原因 :一方面与软件本身的特点有关,另一方面也与软件开发与维护的方法不正确有关。软件不同于硬件 ,它就是计算机系统中的逻辑部件而不就是物理部件。管理与控制软件开发过程相当困难。软件就是规模庞大 ,而且程序复杂性将随着程序规模的增加而呈指数上升。目前相当多的软件专业人员对软件开发与维护还有不省糊涂观念 ,在实践过程中或多或少地采用了错误的方法与技术,这就是使软件问题发展成软件危机的主要原因。1-2 假设您就是一家软件公司的总工程师,当您把图 1、1给手下的软件工程师们观瞧,告诉她们及早发现并改正错误的重要性时 ,有人不同意您的观点 ,认为要求在错误进入软件之前就清除它们就是不

3、现实的,并举例说: “如果一个故障就是编码错误造成的,那么 ,一个人怎么能在设计阶段清除它呢?”您怎么反驳她 ?1-3 什么就是软件工程 ?它有哪些本质特性 ?怎样用软件工程消除软件危机 ?答: 软件工程就是指导计算机软件开发与维护的一门工程学科。采用工程的概念、原理、技术与方法来开发与维护软件 , 把经过时间考验而证明正确的管理技术与当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。软件工程本质特性 :1、软件工程关注于大型程序的构造;2、软件工程的中心课题就是控制复杂性;3、软件经常变化 ;4、开发软件的效率非常重要;5、与谐地合作就是开发软件的关键;6、软件

4、必须有效地支持它的用户 ;7、在软件工程领域中就是由具有一种文化背景的人替具有另一种文化背景的人创造产品。消除软件危机的途径 :为了消除软件危机 ,首先应该对计算机软件有一个正确的认识。必须充分认识到软件开发不就是某种个体劳动的神秘技巧,而应该就是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。应该推广使用在实践中总结出来的开发软件的成功的技术与方法,并且研究探索更好更有效的技术与方法 ,尽快消除在计算机系统早期发展阶段形成的一些错误概念与做法。应该开发与使用更好的软件工具。为了解决软件危机 ,既要有技术措施 ( 方法与工具 ),又要有必要的组织管理措施。1-6 什么就是软件过程

5、 ?它与软件工程方法学有何关系?答: 软件过程就是为了获得高质量软件所需要完成的一系列任务的框架, 它规定了完成各项任务的工作步骤。软件工程方法学包含软件过程。1-7 什么就是软件生命周期模型?试比较瀑布模型、 快速原型模型、 增量模型与螺旋模型的优缺点, 说明每种模型的适用范围。答: 生命周期模型简洁地描述软件过程,规定了把生命周期划分成哪些阶段及各个阶段执行顺序。瀑布模型历史悠久、广为人知,它的优势在于它就是规范的、文档驱动的方法;这种模型的问题就是,最终开发出的软件产品可能并不就是用户真正需要的。快速原型模型正就是为了克服瀑布模型的缺点而提出来的。它通过快速构建起一个可在计算机上运行的原

6、型系统 ,让用户试用原型并收集用户反馈意见的办法,获取用户的真实需求。,但就是 ,要求软件具有增量模型具有可在软件开发的早期阶段使投资获得明显回报与较易维护的优点开放的结构就是使用这种模型时固有的困难。,但就是 , 只有在开发人员具有风险分析与排除风风险驱动的螺旋模型适用于内部开发的大型软件项目险的经验及专门知识时 ,使用这种模型才会获得成功。快速原型模型 :适合小型软件 ;?应该螺旋模型 :适合内部开发的大规模软件项目。 2-1在软件开发的早期阶段为什么要进行可行性研究从哪些方面研究目标系统的可行性?答 : 可行性研究的目的 ,就就是用最小的代价在尽可能短的时间内确定问题就是否能够解决。至少

7、应该从下述三方面研究每种解法的可行性 :(1)技术可行性 ;(2) 经济可行性 ;(3)操作可行性。2-5 北京某高校可用的电话号码有以下几类 :校内电话号码由 4 位数字组成 ,第 1 位数字不就是 0;校外电话又分为本市电话与外地电话两类 ,拨校外电话需先拨 0,若就是本市电话则再接着拨 8 位数字 (第 1 位不就是 0), 若就是外地电话则拨 3 位区码再拨 8 位电话号码 (第 1 位不就是 0)。请用 2、5、2 小节讲述的定义数据的方法 ,定义上述的电话号码。答:电话号码校内电话| 本市电话 | 外地电话非零数字字符=1|2|3|4|5|6|7|8|9校内电话 =非零数字字符+3

8、 数字 3本市电话 =0+非零数字字符 +7 数字 7外地电话 =0+区码 +非零数字字符 +7 数字 73-1为什么要进行需求分析?通常对软件系统有哪些需求?答:为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解就是软件开发工作获得成功的前提条件, 不论我们把设计与编码工作做得如何出色, 不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。确定对系统的综合要求:1、功能需求;2、性能需求;3、可靠性与可用性需求;4、出错处理需求;5、接口需求 ;6、约束 ;7、逆向需求;8、将来可以提出的要求,分析系统的数据要求。软件工程课后答案3-2 怎样与用户有效

9、地沟通以获取用户的真实需求?答 : 与用户沟通获取需求的方法 :访谈 ;面向数据流自顶向下求精 ; 简易的应用规格说明技术 ; 快速建立软件原型3-3 银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统, 如果就是存款则系统记录存款人姓名、住址(或电话号码 ) 、身份证号码、存款类型、存款日期、到期日期、利率及密码 ( 可选 )等信息 ,并印出存单给储户 ;如果就是取款而且存款时留有密码 , 则系统首先核对储户密码 ,若密码正确或存款时未留密码 ,则系统计算利息并印出利息清单给储户。请用数据流图描绘本系统的功能 ,并用实体 -联系图描绘系统中的数据对象。答 :数据流

10、图 :储户存 款 处存折、存款单理帐目存折 ( 无密码 ) 、取款单存折 ( 无密码 ) 、取款单实体 - 联系图 :储蓄所MN4-2在什么情况下应该使用形式化说明技术?使用形式化说明技术时应遵守哪些准则?地址存款类型核 对 密名 称答:取 款 处现金库在开发大型软件系统的过程中应该使用形式化说明技术。应用形式化方法的准则存 款 、(2)应该形式化 , 但不要过分形式化。 (3) 应该估算:(1) 应该选用适当的表示方法。码理取款(5)不应该放弃传统的开发方法。(6)应该建立详尽的文档。成本。 (4)应该有形式化方法顾问随时提供咨询。(7)不应该放弃质量标准。(8)不应该盲目依赖形式化方法。(

11、9)应该测试、 测试再测试。 (10)应该重用。 5-4 美国某大学共有利率存款日期26 000( 含 26200 名教师 , 校方与教师工会刚刚签订一项协议。按照协议, 所有年工资超过000) 的教师工资将保持不变, 年工资少于 26 000 的教师将增加工资 , 所增加的工资数按下述方法计算 : 给每个由此教师所赡养的人( 包括教师本人 ) 每年补助 100, 此外 , 教师有一年工龄每年再多补助 50, 但就是 ,增加后的年工资总额不能多于 26 000 。取款日期教师的工资档案储存在行政办公室的磁带上, 档案中有目前的年工资、赡养的人数、雇用日期等信息。 需要写一个程序计算并印出每名教

12、师的原有工资与调整后的新工资。要求:姓 名储户(1) 画出此系统的数据流图 ;(2) 写出需求说明 ;(3)设计上述的工资调整程序( 要求用HIPO图描绘设计结果),设计时请分别采用下述两种算法, 并比较这两种算法的优缺点:(a) 搜索工住资档址案数据 , 找身出年份工资少于 26 000 的人 , 计算新工资 , 校核就是否超过 26 000, 储存新工资 , 印出新旧工资对照表 ;(b) 把工资档案数据按工资从最低到最高的次序排序 , 当工资数额超过 26 000 时即停止排序 , 计算新工资 , 校核就是否超过限额 , 储存新工资 , 印出结果。答 :(1)数据流图 :读赡养人数计算 应

13、涨S1计算新赡养人口工资 S1新工资人数工资S2雇佣日期日期工龄(2)需求说明读雇佣对于年工资未超过计算工 2600的教师涨工资 : 每赡养 1人补助 $100, 每有一年1 任务概述 :日期计 算应 涨涨工资上限为龄 2600;工龄补助 $50,工资 S22 数据描述 :数据库描述 : 工资表、 . 功能需求 : 对于年工资未超过 2600的教师涨工资 : 每赡养 1人补助 $100, 每有一年工龄补助 $50, 涨工资上限为 2600;(3)HIPO图 : (a)涨工资系统(b)涨工资系统(4) 所画的流程图适合 (a) 种算法、 6-8 画出下列伪码程序的流图 , 计算它的环形复杂度。您

14、觉得这个检 索修 改校 核打 印程序的逻辑有什么问题不?C EXAMPLELOOP:DO WHILE Z0修改 2、校核 3、打印 4、排序 1、A=B+1软件工程课后答案IF A10THEN X=AELSE Y=ZEND IFIF Y0THEN PRINT CELSE PRINT K1ENDIFSTOP答:对应的流图 :环形复杂度 :V(G)=E-N+2=17-13+2=62,3存在的逻辑问题 :1) 当 Z0 时易形成死循环、2) 条件 Y5包含条件 Y=26-9把统计空格程序的1112I14印字符串SJackson 图( 下图 ) 改画为等价的程序流程图与盒图。统计空格45136程序体印

15、总数处理字符串 *78分析字符串印空格数I910分析字符 *处理空格处理非空格答: 程序流程图 :开始盒图 (N-S 图 )Y文件不就是文件尾 ?N文 件7-8, 总共改正了 15 个错误 , 此时读一个字符串MTTF=10h;经对一个包含 10000 条机器指令的程序进行一个月集成测试后过两个月测试后 , 总共改正了 25 个错误 ( 第二个月改正了10 个错误 ),MTTF=15h。尾?, 画出 MTTF与测试时间的关系曲线。在画要求 :(1) 根据上述数据确定 MTTF与测试时间之间的函数关系这条曲线时做了什么假设 ?换行 ,输出字符串 , 换行(2)为做到 MTTF=100h,必须进行

16、多长时间的集成测试 ?当集成测试结束时总共改正了多少个错误, 还有多少个错误潜伏在程序中 ?读 一 个 字 符答:统计空格数并输出(1)所做假设 :1) 单位长度里的错误数近似为常数;2) 失效率正比于软件中剩余的错误数, 而平均无故障时间与剩余的错误数成换行 ,输出字符串 , 换行取下一个字符串反比、3)发现的每一个错误都立即正确地改正了、(2) 由 Shooman公式 :换行 ,输出空格总数TTC统计空格数并输出MTTF=I /(K*(E-E (T)其中 ,I T=104,MTTF1=10,n 1=15,MTTF2=15,n 2=25。得 :MTTF1=I T/(K*(E T-EC(T 1

17、)取 下 一 个 字 符10=10000/(K*(E T-15)MTTF2=I T /(K*(E T-E C(T 2)换行 ,输出空格总数15=10000/(K*(E T-25)(1) 解得程序中固有的错误总数ET=45, 此外 K=100/3 。结束软件工程课后答案(2) 设 MTTF=100,有 100=10000/(100/3)*(45-x)解得 x=42。所以 , 当集成测试结束时, 改正了 42 个错误 , 还剩 3 个错误。 7-9 如对一个长度为100000 条指令的程序进行集成测试期间记录下下面的数据:(a) 7 月 1 日: 集成测试开始 , 没有发现错误。(b) 8 月 2

18、 日: 总共改正 100 个错误 , 此时 MTTF=0、 4h(c) 9月 1 日: 总共改正300 个错误 , 此时 ,MTTF=2h根据上列数据完成下列各题:(1) 估计程序中的错误总数 ;(2)为使 MTTF达到 10h, 必须测试与调试这个程序多长时间?(3) 画出 MTTF与测试时间之间的函数关系线。答: 由 Shooman公式 :MTTF=IT/(K*(E T-E C(T)其中 ,I T=105,MTTF1=0、 4,T 1=160,n 1=100,MTTF2=2,T 2=320,n 2=300。得 :MTTF =I/(K*(E-E (T1)1TTC0、 4=100000/(K*(E T-100)MTTF2=I T /(K*(E T-E C(T 2)2=100000/(K*(E T-300)(1) 解得程序中固有的错误总数ET=350, 此外 K=1000。(2) 设 MTTF=10,有 10=100000/(1000*(350-x)解得 x=340 。由可靠性积累曲

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论