软件工程施工课后参考答案

上传人:无*** 文档编号:90976852 上传时间:2022-05-16 格式:DOC 页数:18 大小:83.50KB
返回 下载 相关 举报
软件工程施工课后参考答案_第1页
第1页 / 共18页
软件工程施工课后参考答案_第2页
第2页 / 共18页
软件工程施工课后参考答案_第3页
第3页 / 共18页
点击查看更多>>
资源描述
第一章课后参考答案1.什么是软件危机.它们有哪些典型表现.为什么会出现软件危机.“软件危机是指计算机软件的“开发和“维护过程中所遇到的一系列“严重问题。这些问题决不仅仅是不能正常运行的软件才具有的,实际上,几乎“所有软件都不同程度地存在这些问题。它们有以下表现:1对软件开发本钱和进度的估计常常很不准确;2用户对“已完成的软件系统不满意的现象经常发生;3软件产品的质量往往靠不住;4软件常常是不可维护的;5软件通常没有适当的文档资料;6软件本钱在计算机系统总本钱中所占的比例逐年上升;7软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。出现软件危机的 主要原因1与软件本身的特点有关2与软件开发和维护过程中使用的方法不正确有关2.假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,则,一个人怎么能在设计阶段去除它呢.应该怎么反驳他.答:在软件开发的不同阶段进展修改付出的代价是很不一样的,在早期引入变动,涉及的面较少,因而代价也比拟低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成时在引入变动,当然付出的代价更高。一个故障是代码错误造成的,有时这种错误是不可防止的,但要修改的本钱是很小的,因为这不是整体构架的错误。3.什么是软件工程.它有哪些本质特征.怎么用软件工程消除软件危机.软件工程是指导知道计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。本质特征:(1) 软件工程关注于大型软件的构造(2) 软件工程的中心课题是控制复杂性(3) 软件经常变化(4) 开发软件的效率非常重要(5) 和谐地合作是开发软件的关键(6) 软件必须有效支持它的用户(7) 在软件工程领域通常由一种文化背景的人替代具有另一种文化背景的人创造产品消除软件危机的原理:(1) 用分阶段的生命周期方案严格管理(2) 坚持进展阶段评审(3) 实行严格的产品控制(4) 采用现代程序设计技术(5) 结果应能清楚地审查(6) 开发小组的人员应该少而精(7) 成认不断改良软件工程实践的必要性5 根据历史数据可以做出如下的假设 :对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:M=4080e0.28(Y-1960),存储器的价格按下面公式描述的趋势逐年下降:P1=0.30.72Y-1974(美分/位),如果计算机字长为16位,则存储器价格下降的趋势为:P2=0.0.72Y-1974(美元/字),在上列公式中Y代表年份,M是存储容量(字数),P1和P2代表价格。基于上述假设可以比拟计算机硬件和软件本钱的变化趋势。要求计算:1) 在1985年对计算机存储容量的需求估计是多少?如果字长为16位,这个存储器的价格是多少?(2) 假设在1985年一名程序员每天可开发出10条指令,程序员的平均工资是每月4000美元。如果一条指令为一个字长,计算使存储器装满程序所需用的本钱。(3) 假设在1995年存储器字长为32位,一名程序员每天可开发出30条指令,程序员的月平均工资为6000美元,重复(1)、(2)题。6 什么是软件过程?它与软件工程方法学有何关系?软件过程是为了开发出高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法 的集合称为方法学,也称型。软件过程是软件工程方法学的3个重要组成局部之一。7.什么是软件生命周期模型.试比拟瀑布模型、快速模型、增量模型和螺旋模型的优缺点,说明每种模型的适用围。通俗的说,简洁地描述软件过程的模型叫做软件生命周期模型,生命周期模型规定了把生命周期花费成哪些阶段及各个阶段执行的顺序。瀑布模型的优点:有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究,从而提高了大型软件工程开发的质量和效率。瀑布模型的缺点:1开发过程一般不能逆转,否则代价太大;2实际的工程开发很难严格按该模型进展;3客户往往很难清楚地给出所有的需求,而该模型却要求如此。4软件的实际情况必须到工程开发的后期客户才能看到,这要求客户有足够的耐心。 瀑布模型的使用围:1用户的需求非常清楚全面,且在开发过程中没有或很少变化;2开发人员对软件的应用领域很熟悉;3用户的使用环境非常稳定;4开发工作对用户参与的要求很低。快速原型模型的优点:1可以得到比拟良好的需求定义,容易适应需求的变化;2有利于开发与培训的同步;3开发费用低、开发周期短且对用户更友好。快速原型模型的缺点:1客户与开发者对原型理解不同;2 准确的原型设计比拟困难;3 不利于开发人员的创新。快速原型模型的使用围:1对所开发的领域比拟熟悉而且有快速的原型开发工具;2工程招投标时,可以以原型模型作为软件的开发模型;3进展产品移植或升级时,或对已有产品原型进展客户化工作时,原型模型是非常适合的。增量模型的优点:1采用增量模型的优点是人员分配灵活,刚开场不用投入大量人力资源;2如果核心产品很受欢送,则可增加人力实现下一个增量;3可先发布局部功能给客户,对客户起到镇静剂的作用。增量模型的缺点:1并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系构造;2增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。增量模型的使用围:1进展已有产品升级或新版本开发,增量模型是非常适合的;2对完成期限严格要求的产品,可以使用增量模型;3对所开发的领域比拟熟悉而且已有原型系统,增量模型也是非常适合的。螺旋模型的优点:1设计上的灵活性,可以在工程的各个阶段进展变更;2以小的分段来构建大型系统,使本钱计算变得简单容易;3客户始终参与每个阶段的开发,保证了工程不偏离正确方向以及工程的可控性;4 随着工程推进,客户始终掌握工程的最新信息 , 从而他或她能够和管理层有效地交互。 螺旋模型的缺点:1采用螺旋模型需要具有相当丰富的风险评估经历和专门知识,在风险较大的工程开发中,如果未能够及时标识风险,势必造成重大损失;2过多的迭代次数会增加开发本钱,延迟提交时间。螺旋模型的使用围:螺旋模型只适合于大规模的软件工程。8.为什么说喷泉模型较好地表达了面向对象软件开发过程无缝和迭代的特性.由于在整个开发过程中都使用统一的软件概念“对象,所有其他概念例如功能、关系、事件等都是围绕对象组成的,目的是保证分析工作中得到的信息不会丧失或改变,因此,对生命周期各个阶段的区分自然也就不重要了,不明显了。分析阶段的得到的对象模型也适用于设计阶段和实现阶段。由于各阶段都使用统一的概念和表示符号,因此,整个开发过程都是吻合一致的,或者说是“无缝连接的,这自然也就很容易实现各个开发步骤的屡次反复迭代,到达认识的逐步深化。所以说喷泉模型较好的表达了面向对象软件开发过程无缝和迭代的特性。第二章 课后习题参考答案1、在软件开发的早期阶段为什么要进展可行性研究.应从哪些方面研究目标系统的可行性.1开发一个软件时,需要判断原定的系统模型和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度,如果做不到这些,则花费在这些工程上的任何时间、人力、软硬件资源和经费,都是无谓的浪费。可行性研究的目的就是用最小的代价在尽可能短的时间确定问题是否能够解决。2一般说来,至少应该从以下三个方面研究每种解法的可行性: a.技术可行性b.经济可行性 c.操作可行性。2、为方便储户,*银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人*、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算利息并打印出利息清单给储户。写出问题定义病画出此系统的数据流图。问题定义如下:如果是存款,储户填写存款单,然后交给业务员键入系统,同时系统还要记录存款人*、住址或、*、存款类型、存款日期、利率等信息,完成后由系统打印存款单给储户。如果是取款,储户填写取款单,然后交给业务员,业务员把取款金额输入系统并要求储户输入密码以确认身份,核对密码正确无误后系统计算利息并印出利息清单给储户。 为了满足储户的需求,该系统需要迅速的对用户的要求做出反应,要对用户输入的信息作出最快的处理,所以就需要很大的主存容量,以及强大的数据库支持。由于是所面向的用户是广泛的储蓄用户群,所以需要系统强大的平安性能支持。系统的分层数据流图如下:1、顶层数据流图2、中层数据流图3、底层数据流图3、*航空公司拟开发一个机票预定系统。旅行社把预订机票的旅客信息*、性别等输入进该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统核对无误即印出机票给旅客。写出问题定义病画出此系统的数据流图。问题定义:*航空公司,售票工作人员每天手工处理旅客预订票、安排航班、取票和收款业务,工作量较大,需要工作人员多等,总之人工不易管理,手续繁琐。数据流图如下:1、顶层数据流图2、中间层数据流图3、底层数据流图4、住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。*医院打算开发一个以计算机为中心的患者监护系统,请分层次地画出描述本系统功能的数据流图。问题定义:此题要开发一个病人监护系统,实现对病人病症的自动监护,形成病人日志记录,减少人力的浪费。 在监控过程中,随时承受病人的生理信息脉搏、体温、血压、心电图,对病人的不正常生理信息超出医生规定的平安围的信息发出警告,并向护士发出警告信息。护士还可以根据需要打印病人的病情报告。符号说明如下:l F1-要求报告 F2-生理信号 F3-日期、时间l F4-警告信息 F5-平安围 F6-日志l P1-接收信号 P2-分析信号 P3-产生警告l P4-定时取样生理信号 P5-更新日志 P6-产生病情报告l D1-患者日志 D2-患者平安围 D3-生理信息l E1-护士 E2-病人 E3-时钟方法一:方法二5、 *高校可用的有以下几类:校由4位数字组成,第1位数字不是0;校外又分为本市和外地两类,拨校外需先拨0,假设是本市则再接着拨8位数字(第1位不是0),假设是外地则拨3位区码再拨8位(第1位不是0)。请用定义数据字典的方法,定义上述的。=校|校外校=非零数字+ 3 位数字 /后面继续定义校外=本市|外地本市=数字零+8位数字外地=数字零+3位数字+8位数字非零数字=1|2|3|4|5|6|7|8|9数字零03位数字3数字3 /3至3个数字8位数字=非零数字+7位数字7位数字=7数字7数字0|1|2|3|4|5|6|7|8|9第三章课后参考答案1、 为什么要进展需求分析.通常对软件系统有哪些需求.答:为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求,不管软件工程师把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望。需求分析的任务不是确定系统怎样完成它的工作,而是确定系统必须完成哪些工作,对目标系统提出完整、清晰、准确、具体的要求。只有这样深入理解了用户的需求,我们的工作才会有意义。对软件通常有以下需求:功能需求、性能需求、可靠性和可用性需求、出错处理需求、接口需求、逆向需求、将来可能提出的要求。2、 怎样与用户有效地沟通以获取用户的真实需求. 答:1访谈,访谈有两种根本形式,分别是正式的和非正式的访谈。2面向数据流自顶向下求精 3简易的应用规格说明技术 4快速建立软件原型 3、银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人*、住址(或)、*、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,假设密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。用实体-联系图描绘系统中的数据对象。实体-联系图如下:本问题中共有三类实体,分别是“储户和“储蓄所及业务员,在它们之间存在“存取款关系。因为一位储户可以在多家储蓄所存取款,一家储蓄所拥有多位储户,所以“存取款是多对多M:N关系。储户的属性主要有*、住址、和*,储蓄所的属性主要是名称、地址和,存取款是联系,但它也有属性主要有数额、类型、到期日期、利率和密码。业务员的属性主要有编号,*,性别和。4、分析习题2第3题所述的机票预订系统,试用实体-联系图描述本系统中的数据对象。实体-联系图如下: 本问题中主要有三类实体,分别是“顾客、 “旅行社 、 “飞机航班 在它们之间存在的关系有:“顾客和、 “旅行社有“代理关系;因为一位顾客可以让多家旅行社代理,一家旅行社拥有多位顾客,所以“代理是多对多M:N关系。“顾客和“飞机航班有“预定机票关系,是一对一1:1关系。 顾客的属性主要有*、*、性别、工作单位、旅行时间、旅行目的地、联系。 旅行社的属性主要有编号,名称,地址,负责人,联系。 飞机航班的属性主要是航班号、起飞时间、目的地、到达时间。 “预定机票关系的属性有票额即票价5、分析习题2第4题所述的患者监护系统,试用实体-联系图描述本系统中的数据对象,画出本系统的顶层IPO图。实体-联系图如下:本系统的顶层IPO图如下:6、复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。请用状态转换图描绘复印机的行为。从问题述可知,复印机的状态主要有“闲置、“复印、“缺纸和“卡纸。引起状态转换的事件主要是“复印命令、“完成复印命令、“发现缺纸、“装满纸、“发生卡纸故障和“排除了卡纸故障。第五章课后参考答案3、设计以下系统的软件构造1储蓄系统2-22机票预定系统2-33患者监护系统2-4参考答案:使用构造图表示1、z1、储蓄系统2、机票预定系统3、患者监护系统z4、美国*大学有200名教师,校方与教师工会刚刚签订一项协议。按照协议,所有年工资超过$26000含$26000 的教师工资将保持不变,年工资少于$26000的教师将增加工资,所增加工资数额按下述方法计算:给每位教师所赡养的人包括教师本人每年补助$100,此外,教师有一年工龄每年再多补助¥50,但是,增加后的年工资总额不能多于$26000。教师工资档案存储在行政办公室的磁带上,档案中有目前的年工资、赡养的人数、雇佣日期等信息。需要写一个程序计算并印出每名教师的原工资和调整后的新工资。要求:1画出此系统的数据流图;2写出需求说明;3设计上述的工资调整程序(要求用HIPO图描绘设计结果),设计时分别采用两种算法,并比拟两种算法的优缺点:a搜索工资档案数据,找出年工资少于$26000的人,计算新工资,校核是否超过$26000,存储新工资,印出新旧工资对照表;b把工资档案数据按工资从最低到最高的次序排序,当工资数额超过$26000时即停顿排序,计算新工资,校核是否超过限额,存储新工资,印出结果。4你所画出的数据流图适应用那种算法.1系统的数据流图2需求说明;经分析可知:本系统必须包括如下7个功能:导入原工资档案、输入调资标准、检索需调资工资数据、计算新工资、校核新工资、更新新工资数据、输出工资对照表包含数据:教师工资档案、工资标准3(a)导入工资档案1.1工资调资系统导入调资档案1.0输入调资标准1.2调资2.0计算新工资2.1校核新工资2.2打印工资对照表3.0检索需调资工资数据1.3更新新工资数据2.3IPO表系统:工资调资系统 王毅 模块:导入调资档案 日期: 2014-2-1 1.0 被调用:工资调资系统调用:1.1和1.2输入:原工资档案输出:工资档案处理:把原工资档案导入工资调资系统的数据库中局部数据元素:注释:工资调资系统导入工资档案1.1打印工资对照表3.0更新新工资导入调资档案1.0输入调资标准1.2调资2.0计算新工资2.1校核新工资2.2工资数据整理排序1.3数据2.3b4你所画出的数据流图适应用那种算法a第六章参考答案6-3 答:6-4答:6-5 答:(1)(3)6-7 答:6-8 答:17 -13 + 2 = 6z
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!