




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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)技术可行性;(2)经济可行性;(3)操作可行性。2- 5北京某高校可用的电话号码有以下几类:
7、校内电话号码由4位数字组成,第1位数字不是0;校外电话 又分为本市电话和外地电话两类, 拨校外电话需先拨 0,若是本市电话则再接着拨 8位数字(第1位不是0), 若是外地电话则拨 3位区码再拨8位电话号码(第1位不是0)。请用2.5.2小节讲述的定义数据的方法,定义上述的电话号码。 答:电话号码=校内电话|本市电话|外地电话非零数字字符=1|2|3|4|5|6|7|8|9校内电话=非零数字字符+3数字3本市电话=0+非零数字字符+7数字7外地电话=0+区码+非零数字字符+7数字73- 1为什么要进行需求分析?通常对软件系统有哪些需求 ?答:为了开发岀真正满足用户需求的软件产品,首先必须知道用户
8、的需求。对软件需求的深入理解是 软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何岀色,不能真正满足用户需求的 程序只会令用户失望,给开发者带来烦恼。确定对系统的综合要求:1、功能需求;2、性能需求;3、可靠性和可用性需求;4、岀错处理需求;5、 接口需求;6、约束;7、逆向需求;8、将来可以提岀的要求,分析系统的数据要求。3- 2怎样与用户有效地沟通以获取用户的真实需求?答:与用户沟通获取需求的方法:访谈;面向数据流自顶向下求精;简易的应用规格说明技术;快速建立 软件原型3-3银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存 款则系统记录
9、存款人姓名、住址 (或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密 码(可选)等信息,并印岀存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密 码正确或存款时未留密码,则系统计算利息并印岀利息清单给储户。请用数据流图描绘本系统的功能,并用实体-联系图描绘系统中的数据对象。答 :数据流图:储户存折、存款单存款处理存折(无密码)、取款单帐目存折(无密码)、取款单实体-联系图:蓄所M术核对密码 存使用形式化说 化说明技术。rn存款类型4-2在什么情况下应该使用形式化说 答:在开发大型软件系统的过程中应该使用形 应用形式化方法的准则:(1)应该选用适当的表示 应该
10、估算成本。4利率亥有形式化方法顾问随时提供咨询。 立详尽的文档。(10)应该重用。5-4美国某大学共术时应遵守哪些准则现金库地址(2)应该形式化,但不要过分形式化。(5)不应该放款统期开发方法。 殳赖形式化方法。 (9)应该测试、测试再测试。(3)(6)应该建卜7)不应该放弃质量标准。(8)不应该盲目200名教师,校方与教师丄会刚刚签订一项协议。按照协议,所有 年工资超过$ 26 000(含$ 26 000V的教师工资将保持不变,年丄款日期包括教师本人 卩每年补助$ 100,此外,26 000的教师将增加工资,所增教师有一加的工资数按下述方法计算:年工龄每年再多补助$ 储户但是,增教师的资档案
11、储存在行政办公室的磁带上,档案中有目前的年工资、赡养的人数、雇用日期等信息。需 要写一个程序计算并印岀每名教师的原有工资和调整后的新工资。要求:(1)画出此系统的数据流图;写出需求说明;”设计上述的丄资调整程身份要求用HIPO图描绘设计结果),设计时请分别采用下述两种算法, 两种算法的优缺点:kJ搜索工资档案数据,找岀年工资少于$26 000的人,计算新工资,校核是否超过$26 000,印岀新旧工资对照表; 把工资档案数据按工资从最低到最高的次序排序,当工资数额超过$校核是否超过限额,储存新工资,印岀结果。给个由此教师所赡养的人加后的年工资总额不能多于$26 000。并比较这(a) 资,(b)
12、 资,答:储存新工26 000时即停止排序,计算新工(1)数据流图:赡养人口雇佣日期(2)1.读赡养人数人数日期工龄工资S1计算应涨S1计算新 工资 S新工资2.对于年工资未超$50,涨工资上限为计算工50龄数据库描述:工资表、VF3 .功能需求:对于年工资未超过$工龄补助$50,涨工资上限为$2600;600的教师涨2600的教师涨1人补助$100,每有一年-每赡工资S21人补助$100,每有一年计算应涨(3)HIPO图:(a)(b)(4)所画的流检图索合( 个程序的逻辑有什么问题吗 LyRAS排序庄A=B+1IF A10涨工资系统涨工资系统9 校山彳-8画岀、列伪勺码7,计算它的环形复杂度
13、。你觉得这修改2.0校核3.0打印4.0THEN R=A ELSE R=ZEND IFIF R0环形复杂度: 存在的逻6-9把统计空格程2,31145814程序体910处理字符串RTHEN PRINT CELSE PRINT K ENDIF STOP答:对应的流图:-N+2=17-13+2=60时易形成死循环.2) 的 Jackson画为等价的程序流程 统计空格印字符串分析符串印空格数S1分析字符R处理空格处理非空格包含条件R=2反比.3)发现的每一个错误都立即正确地改正了. 由Shooman公式:MTTF=T/(KR(E t-Ec(T)其中,I t=104,MTTF1=10,n 1=15,M
14、TTF2=15,n 2=25。得:MTTF=I t/(KR(E t-Ec(Ti)10=10000/(KR(E t-15)MTTF=I t/(KR(E t-Ec(T2) 15=10000/(KR(E t-25)(1) 解得程序中固有的错误总数 Et=45,此外K=100/3。(2) 设 MTTF=100 有100=10000/( 100/3)R(45-R)解得R=42。所以,当集成测试结束时,改正了42个错误,还剩 3个错误。7-9如对一个长度为100000条指令的程序进行集成测试期间记录下下面的数据:日日日12 1月月月7 8 9). ab C集成测试开始,没有发现错误。总共改正100个错误,
15、此时 MTTF=0.4h 总共改正300个错误,此时,MTTF=2h 根据上列数据完成下列各题:(1) 估计程序中的错误总数;(2) 为使MTTF达到10h,必须测试和调试这个程序多长时间?(3) 画出MTTF和测试时间t之间的函数关系线。答:由 Shooman公式:MTTF=T/(KR(E t-Ec(T)其中,I t=10,MTTFi=0.4,T i=160,n i=100,MTTF2=2,T2=320, n 2=300。得:MTTF=I t/(KR(E t-Ec(Ti)0.4=100000/(KR(E t-100)MTTF=I t/(KR(E t-Ec(T2) 2=100000/(KR(E
16、 t-300)(1) 解得程序中固有的错误总数Et=350,此外K=1000。(2) 设 MTTF=10有10=100000/(1000R(350-R) 解得R=340。由可靠性积累曲线 Ec(t)=E T(1-eRp (-Kit) 得:100=350R(1-eRp (-160Ki)300=350R(1-eRp (-320Ki) 解得:K=0.01。 代入 340=350R(1-eRp (-Kit ) )= 350R(1-eRp(-0.01t ),得:t=(ln(35)/0.01=356h因此求得为使 MTTF=10,测试和调试该程序需要花费365h。8-1软件的可维护性与哪些因素有关?在软件开发过程中应该采取哪些措施才能提高软件产品的可维护性?答:1、决定软件可维护性的因素主要有下述5个:1、可理解性;2、可测试性;3、可修改性;4、可移植性;5、可重用性。在需求分析阶段的复审过程中,应该对将来要改进的部分和可能会修改的部分加以注意并指明;应该 讨论软件的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025南京存量房购销合同
- 中成药规范使用
- 2025个人短期借款合同书
- 2025用人单位变更后是否需要重新签订合同
- 2025【英文合同】英文买卖合同范本
- 2025个人的租房合同书
- 2025新款出口信贷合同模板
- 2025租赁合同(租赁协议)
- 2025员工劳动合同样本
- 2025年北京市内销商品房预售合同样本(合同范本)
- 计算机文字录入处理员中级理论知识试卷答案
- 缺乏显著性商标驳回复审理由书
- 潍柴发动机使用说明
- 《妊娠期并发症妇女的护理》考核试题及答案(共105题)
- 食品工厂设计与环境保护(第三版)-张国农-电子课件
- 马克思主义基本原理期末考试题库
- 2021医疗科普短视频与直播洞察报告
- 常住人口登记表
- 圆周率1000000位 完整版
- 铝合金电镀工艺介绍
- 监测系统分项能耗数据传输技术导则
评论
0/150
提交评论