软件工程课后答案_第1页
软件工程课后答案_第2页
软件工程课后答案_第3页
软件工程课后答案_第4页
软件工程课后答案_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

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

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

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

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

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

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

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

8、73- 1 为什么要进行需求分析 ?通常对软件系统有哪些需求 ?答 : 为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作 获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开 发者带来烦恼。确定对系统的综合要求: 1、功能需求; 2、性能需求; 3、可靠性和可用性需求; 4、出错处理需求; 5、接口需求; 6、约束; 7、逆向需求; 8、将来可以提出的要求,分析系统的数据要求。3- 2 怎样与用户有效地沟通以获取用户的真实需求 ?答: 与用户沟通获取需求的方法:访谈;面向数据流自顶向下求精;简易

9、的应用规格说明技术;快速建立软件原型3-3 银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印岀存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利 息并印岀利息清单给储户。请用数据流图描绘本系统的功能,并用实体-联系图描绘系统中的数据对象。 答:数据流图:储户存折、存款单款存折(无密码)、取款单实体-联系图:储蓄所在什么情况,下应该使用形式化说明技px"使用形式化说明技术时应遵

10、守名些称则、 型软件系统类过寸程中应该使用形式化说明技对取 款42' II I I 7 ”/ j* I /_,- y ''/ T 7 1 1 j / T答:在开发大型软件系统类过程中应该帐目地址现金库应该形处理但不要过分形式化。(3)应该估算成本。开发方法。一 应该建立详尽的文档。(7)不应该形式化款明技对 应用形式化方法的准则:(1应该选用适当密i亠'丄IX(4)应该有形式化方法顾问隨时提供咨询 放弃质量标准。(8 5-4美国某大学共有 的教师工资将保持不变,年工资少于$ 赡养的人(包括教师本人)每年补助卩100,此外,教师有一年工龄每年冉多补助$ 多于$ 2

11、6 000。/取款日教师的工资档案储存在行政办公室的磁带上,档案中有目前的年工资、赡养的人数、雇用日期等信息。需要写一个程序 计算姓卩(1)L画出此系统的数据流'图;(2)写出需求说明;厂(3)设计上述的工资调整程序I (要求用HlPo图描绘设计结果),设计时请分别采用下述两种算法,并比较这两种算法的脊方法应该放:9)应该测试、测试再测试。 勺刚签订一项协议。按照协议I、弃传统的应该建立详尽的文档。狗应该重用。议,日所有年工资超过$26 000(含$ 26 000)方法。一 (6)E应该盲目依赖形式化方法。 200名教师,校方与教师工会26 000的教师将增力加工资,所增加的工资数按下

12、述方法计算:给每个由此教师所50,但是,增加后的年工资总额不能取款日优缺点:寻名教师的原储户资和调整后的新工资。要求:(a)搜索住工资对照表;(b)把工资档案数据按工资从最低到最高的次序排序,当工资数额超过$ 超过限额,储存新工资,印岀结果。答:于$ 26 000的人,计算新工资,校核是否超过$26 000 ,储存新工资,印出新旧26 OOO时即停止排序,计算新工资,校核是否(1)数据流图:赡养人口读赡养人数雇佣日期(2)需求说明1.日期人娄S工资2S1计算应涨计算新工资新工资工龄寸于年工资未超过$2600的教师涨工资:每赡养1人补助$100,每有一年0,涨工资上限为$ 2600;2 数据描述

13、:数据库描述:工资表、VF工资S23 .功能需求:对于年工资未超过$2600的教师涨工资:每赡养1人补助$100,每有年工龄补助$50,涨工资上限为$ 2600;A=B+1IF A>10THEN X=A ELSE Y=Z END IFIF Y<5THEN PRINT X,YELSE IF Y=2THEN GoTo LooPELSE C=3 END IFEND IFG=H+REND DOIF F>0THEN PRINT CELSE PRINT KENDIFSTOP答:对应的流图: 环形复杂度:V (G) =E二 存在的逻辑问题:'6-9把统计空格程1=17-13+2=6

14、612138910答:程序流程图:符开始分析字符处理空格 H统计 序体 5112,4彳Z>0时易形成死循环.2Ckson图(下图)改画为等价的印总数牛Y<5 包含条件Y=21S4盒图(N-S图)10个错7-8对一个包含10000条机器指令的程序进行一个件试后,总共改正了 25要求:(1)根据上述数据确定 MTTF与测试时间之间的函数关系,画出 做了什么假设?(2)为做到 MTTF=10在程序中?答:(1) 所做假设:1)2)反比.3)(2) 由 ShOOma公MTTF=T/(K*(其中,T=104,得:MTTF=IT/(*(E T-EC(T卩取下一个字符10=1MTTF=IT/(K

15、*(E T-EC(T2换行输出空格 15=10000(K*(EIT坯行,出空 格 L(1) 解得程序中固有的错误总数E=45,此外K=1003°(2) 设MTTF=100有I 结束100=10000/( 100/3)*(45-x)解得x=420所以,当集成测试结束时,改正了42个错误,还剩3个错误。7-9如对一个长度为100000条指令的程序进行集成测试期间记录下下面的数据: :集成测试开始,没有发现错误。:总共改正100个错误,此时 MTTF=0.4h:总共改正 300个错误,此时, MTTF=2h根据上列数据完成下列各题: (1)估计程序中的错误总数;文件不是文件尾?读一个字符串

16、个错误(第二个集成测试 正了 15个错换,彳行时输MTtF=字di>串两个,MTTF=15h琳 N '/ITDh必须进行多长时间的集成测电/当集成测试结束时总共改正读一个字符弓测试时间T的关系曲线。在画这条曲线时 了多少个错统计空格数并错误潜伏单位长度里的错误数近似为常数 ; 失效率正比换软件中剩符串错误数,而平均无''改正了发现的每一个错误式:E T-Ee(T)统计空格数并输ITTF=10,n=15,MTTF=15 ,n 2=)5。日日日12 1月月月7 8 9). ab C取下一个字符串故障时间与剩余的错误数成总数 为使MTTF达到IOh,必须测试和调试这个程

17、序多长时间 ?(3)画出MTTF和测试时间T之间的函数关系线。答:由ShOOma公式:MTTF=TI/(K*(E T-EC(T)其中, I T=1O5,MTTF1=O.4,T 1=16O,n1=1OO,MTTF2=2,T2=32O,n2=3OO。得: MTTF1=I T/(K*(E T-EC(T1)O.4=1OOOOO/(K*(E T-1OO)MTTF2=I T/(K*(E T-EC(T2)2=1OOOOO/(K*(E T-3OO)(1)解得程序中固有的错误总数E=350,此外K=IOOQ设MTTF=10有1O=1OOOOO/(1OOO*(35O-x)解得=340o由可靠性积累曲线Ec(t)=

18、E T(1-exp (-Kit)得: 1OO=35O*(1-exp ( -16OK1)300=350*(1-exp ( -320K1) )解得: K=0.01o 代入 340=350*(1-exp(-K1t) )= 350*(1-exp(-0.01t ),得: t=(ln(35)/0.01=356h因此求得为使MTTF=10,测试和调试该程序需要花费 365ho5、8-1 软件的可维护性与哪些因素有关 ?在软件开发过程中应该采取哪些措施才能提高软件产品的可维护性 ? 答: 1 、决定软件可维护性的因素主要有下述 5个: 1 、可理解性; 2、可测试性; 3、可修改性; 4、可移植性;可重用性。在需求分析阶段的复审过程中,应该对将来要改进

温馨提示

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

评论

0/150

提交评论