ImageVerifierCode 换一换
格式:DOCX , 页数:63 ,大小:1.75MB ,
资源ID:16459078      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16459078.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件工程导论第六版课后习题答案解析Word下载.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件工程导论第六版课后习题答案解析Word下载.docx

1、不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”就是在引入变动,当然付出的代价更高。一个故障就是代码错误造成的,有时这种错误就是不可避免的,但要修改的成本就是很小的,因为这不就是整体构架的错误。三、什么就是软件工程?它有哪些本质特征?怎样用软件工程消除软件危机?1993年IEEE的定义:软件工程就是: 把系统的、规范的、可度量的途径应用于软件开发、运行与维护过程,也就就是把工程应用于软件; 研究中提到的途径。软件工程的本质特征:(1) 软件工程关注于大型程序(软件系统)的构造 (2) 软件工程的中心课题就是分解问题,控制复杂性 (3) 软件就是经常变化的,开发过程中必须

2、考虑软件将来可能的变化(4) 开发软件的效率非常重要,因此,软件工程的一个重要课题就就是,寻求开发与维护软件的更好更有效的方法与工具(5) 与谐地合作就是开发软件的关键 (6) 软件必须有效地支持它的用户(7) 在软件工程领域中就是由具有一种文化背景的人替具有另一种文化背景的人(完成一些工作)消除软件危机的途径:(1) 对计算机软件有一个正确的认识(软件程序)(2) 必须充分认识到软件开发不就是某种个体劳动的神秘技巧,而应该就是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目(3) 推广使用在实践中总结出来的开发软件的成功技术与方法(4) 开发与使用更好的软件工具四、简述结构化范型

3、与面向对象范型的要点,并分析她们的优缺点。1、传统方法学:也称为生命周期方法学或结构化范型。优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。缺点:当软件规模庞大时,或者对软件的需求就是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。2、面向对象方法学:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发与维护工作;促进了软件重用。五、1-5 根据历史数据可以做出如下的假设 :对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:M=4080e0、28(Y-1960

4、) 存储器的价格按下面公式描述的趋势逐年下降:P1=0、30、72Y-1974(美分/位)如果计算机字长为16位,则存储器价格下降的趋势为:P2=0、0480、72Y-1974(美元/字)在上列公式中Y代表年份,M就是存储容量(字数),P1与P2代表价格。基于上述假设可以比较计算机硬件与软件成本的变化趋势。要求计算:(1) 在1985年对计算机存储容量的需求估计就是多少?如果字长为16位,这个存储器的价格就是多少?存储容量需求M=4080e0、28(1985-1960)=4474263(字)存储器价格P=0、048*0、72(1985-1974)*4474263=5789美元(2) 假设在19

5、85年一名程序员每天可开发出10条指令,程序员的平均工资就是每月4000美元。如果一条指令为一个字长,计算使存储器装满程序所需用的成本。需要工作量4474263/200=22371(人/月)指令成本22371*4000=89484000美元(3) 假设在1995年存储器字长为32位,一名程序员每天可开发出30条指令,程序员的月平均工资为6000美元,重复(1)、(2)题。需求估计M=4080e0、28(1995-1960)=73577679字存储器价格0、003*32*0、72(1995-1974)*73577679=7127美元工作量73577679/600=122629(人/月)成本122

6、629*6000=735776790美元六、什么就是软件过程?它与软件工程方法学有何关系?软件过程就是为了开发出高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型。软件过程就是软件工程方法学的3个重要组成部分之一。七、什么就是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型与螺旋模型的优缺点,说明每种模型的使用范围。软件生命周期模型就是跨越整个生存期的系统开发、运作与维护所实施的全部过程、活动与任务的结构框架。瀑布模型 优点:它提供了一个模板,这个模板使得分析、设计、编码

7、、测试与支持的方法可以在该模板下有一个共同的指导。虽然有不少缺陷但比在软件开发中随意的状态要好得多。(1) 实际的项目大部分情况难以按照该模型给出的顺序进行,而且这种模型的迭代就是间接的,这很容易由微小的变化而造成大的混乱。(2) 经常情况下客户难以表达真正的需求,而这种模型却要求如此,这种模型就是不欢迎具有二义性问题存在的。(3) 客户要等到开发周期的晚期才能瞧到程序运行的测试版本,而在这时发现大的错误时,可能引起客户的惊慌,而后果也可能就是灾难性的。快速原型模型使用户能够感受到实际的系统,使开发者能够快速地构造出系统的框架。产品的先天性不足,因为开发者常常需要做实现上的折中,可能采用不合适

8、的操作系统或程序设计语言,以使原型能够尽快工作。 增量模型(1) 人员分配灵活,刚开始不用投入大量人力资源,当核心产品很受欢迎时,可增加人力实现下一个增量。(2) 当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径,这样就可以先发布部分功能给客户,对客户起到镇静剂的作用。(1) 至始至终开发者与客户纠缠在一起,直到完全版本出来。(2) 适合于软件需求不明确、设计方案有一定风险的软件项目。该模型具有一定的市场。螺旋模型对于大型系统及软件的开发,这种模型就是一个很好的方法。开发者与客户能够较好地对待与理解每一个演化级别上的风险。(1) 需要相当的风险分析评估的专门技术,且成

9、功依赖于这种技术。(2) 很明显一个大的没有被发现的风险问题,将会导致问题的发生,可能导致演化 的方法失去控制。(3) 这种模型相对比较新,应用不广泛,其功效需要进一步的验证。该模型适合于大型软件的开发八、为什么说喷泉模型较好的体现了面向对象软件开发过程无缝与迭代的特性?因为使用面向对象方法学开发软件时,各个阶段都使用统一的概念与表示符号,因此,整个开发过程都就是吻合一致的,或者说就是无缝连接的,这自然就很容易实现各个开发步骤的反复多次迭代,达到认识的逐步深化,而喷泉模型则很好的体现了面向对象软件开发过程迭代与无缝的特性。九、试讨论Rational统一过程的优缺点。提高了团队生产力,在迭代的开

10、发过程、需求管理、基于组建的体系结构、可视化软件建模、验证软件质量及控制软件变更等方面、针对所有关键的开发活动为每个开发成员提供了必要的准则、模版与工具指导,并确保全体成员共享相同的知识基础。它建立了简洁与清晰的过程结构,为开发过程提供较大的通用性。RUP只就是一个开发过程,并没有涵盖软件过程的全部内容,例如它缺少关于软件运行与支持等方面的内容,此外,她没有支持多项目的开发结构,这在一定程度上降低了在开发组织内大范围实现重用的可能性。十.Rational统一过程主要适用于何种项目?大型的需求不断变化的复杂软件系统项目十一、说明敏捷过程的适用范围适用于商业竞争环境下对小型项目提出的有限资源与有限

11、开发时间的约束十二、说明微软过程的适用范围适用于商业环境下具有有限资源与有限开发时间约束的项目的软件过程模式第二章1、在软件开发的早期阶段为什么要进行可行性研究?应该从哪些方面研究目标系统的可行性?(1)开发一个软件时,需要判断原定的系统模型与目标就是否现实,系统完成后所能带来的效益就是否大到值得投资开发这个系统的程度,如果做不到这些,那么花费在这些工程上的任何时间、人力、软硬件资源与经费,都就是无谓的浪费。可行性研究的实质就是要进行一次大大压缩简化了的系统分析与设计过程,就就是在较高层次上以较抽象的方式进行的系统分析与设计的过程。可行性研究的目的就就是用最小的代价在尽可能短的时间内确定问题就

12、是否能够解决。(2)一般说来,至少应该从以下三个方面研究每种解法的可行性:a、技术可行性。对要开发项目的功能、 性能与限制条件进行分析, 确定在现有的资源条件下,技术风险有多大,项目就是否能实现,这些即为技术可行性研究的内容。这里的资源包括已有的或可以搞到的硬件、软件资源,现有技术人员的技术水平与已有的工作基础。b、经济可行性。进行开发成本的估算以及了解取得效益的评估, 确定要开发的项目就是否值得投资开发,这些即为经济可行性研究的内容对于大多数系统,一般衡量经济上就是否合算,应考虑一个“底线”,经济可行性研究范围较广,包括成本效益分析, 长期公司经营策略, 开发所需的成本与资源,潜在的市场前景

13、。c、操作可行性。有时还要研究社会可行性问题,研究要开发的项目就是否存在任何侵犯、妨碍等责任问题。社会可行性所涉及的范围也比较广,它包括合同、责任、 侵权与其她一些技术人员常常不了解的陷阱等。必要时还应该从法律、社会效益等更广泛的方面研究每种解法的可行性。2、为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员键入系统,如果就是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果就是取款,系统计算利息并印出利息清单给储户。 请写出问题定义并分析此系统的可行性。数据流程图:取票图:航空订票系统技术在目前就是一个技术上成熟的系统,并且在航空公

14、司内部准备采取有力措施保证资金与人员配置等。因此,分阶段开发“航空订票系统”的构想就是可行的。为了使航空公司适应现代化市场竞争的需求,促进机票预订管理信息化,不断满足旅客预订机票的要求,争取更好的经济效益,可立即着手系统的开发与完善。 3、为方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入进入该系统,系统为旅客安排航班,印出取票通知与账单,旅客在飞机起飞的前一天凭取票通知与账单交款取票,系统校对无误即印出机票给旅客。 写出问题定义并分析系统的可行性。1 目标:在一个月内建立一个高效率,无差错的航空公司机票预定

15、系统 2 存在的主要问题:人工不易管理,手续繁琐 3 建立新系统 经济可行性 成本效益分析 成本估算:打印机一台(2000元)+开发费(3500元)=5500元 可承担 效益估算:该系统有很好的社会效益,提高了航空公司售票效率,方便了旅客,售票方便化,科学化 技术可行性 经过调查分析,得到目前航空公司机票预定系统流程图如下:4.目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还可能会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,试写出问题定义,并且分析开发这个系统的可行性可行性分析-原系统分析:可行性分析-逻辑图:技术可行性; 虽然生

16、理数据的采集需要涉及大量的专业精密仪器,软件工程师并不精通,但就是可以在专业人士的帮助下完成。经济可行性: 支出方面由医院方面承担,就是否可行取决于医院方面就是否能支付所需的费用。操作可行性: 医生并不具有软件维护的能力,在数据库的维护上需要专业人士来进行,因为病患数目并不会太多,所以只需一个人或者几个人定期对数据库进行管理与维护就行了。5北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第一位数字不就是0、校外电话又分为本市电话与外地电话两类。拨校外电话需要先拨0,若就是本市电话则接着拨8位数字(第一位不就是0),若就是外地电话则拨3位区码后再拨8位电话号码(第一位不就是0)。

17、电话号码 校内电话号码校外电话号码校内电话号码 非零数字 位数字校外电话号码 本市号码外地号码本市号码 数字零 位数字外地号码 数字零 位数字 位数字非零数字 数字零 位数字 数字位数字 非零数字 位数字位数字 数字数字 其中, 意思就是或,从校内电话号码或校外电话号码中选择一个; 表示重复,两边的数字表示重复次数的下限与上限;=意思就是定义为;+意思就是与,连接两个分量。第三章 (1)、为什么要进行需求分析?通常对软件系统有哪些要求? 答: 1) 为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解就是软件开发工作获得成功的前提条件,不论我们把设计与编码工作做得

18、如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。 2)确定对系统的综合要求:1、功能需求;2、性能需求;3、可靠性与可用性需求;4、出错处理需求;5、接口需求;6、约束;7、逆向需求;8、将来可以提出的要求,分析系统的数据要求。 (2)怎样与用户有效地沟通以获取用户的真实需求?答案 : 与用户沟通获取需求的方法:访谈;面向数据流自顶向下求精;简易的应用规格说明技术;快速建立软件原型3 银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果就是存款则系统记录存款人姓名、住址、身份证号码等存款信息,并打印出存款存单给储户;如果就是取款且存款时留有

19、密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并打印出利息清单给储户。答案: 用ER图描绘系统中的数据对象。(5)分所析习题2中第4题的患者监狱系统。试用实体-联系图描述本系统中的数据对象并用数据流程描绘本系统的功能。(6 )复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状

20、态。 请用状态转换图描绘复印机的行为。 从问题陈述可知,复印机的状态主要有“闲置”、“复印”、“缺纸”与“卡纸”。引起状态转换的事件主要就是“复印命令”、“完成复印命令”、“发现缺纸”、“装满纸”、“发生卡纸故障”与“排除了卡纸故障”。1,举例说明形式化说明技术与欠形式化方法的优缺点。优点缺点形式化说明1,简洁准确的描述物理现象,对象获动作的结果2,可以在不同软件工程活动之间平滑的过度。3,它提供了高层确认的手段大多形式化的规格说明主要关注系统的功能与数据,而时序的问题,控制与行为等方面的需求却更难于表示非形式化说明难度低可能存在矛盾,二义性,含糊性,不完整性级抽象层次混乱等问题以一个简单的俄

21、罗斯方块游戏系统规格说明为例,用自然语言描述如下:游戏的每个状态对应一个游戏界面,开始状态下,但变量cd_start=1就是进入正常游戏的状态,cd_start=2时 进入读取游戏状态,cd_start=3就是进入得分榜界面查瞧。在得分榜界面按任意键返回开始界面,在读取游戏界 面,当游戏数据读取完成后进入正常游戏状态,正常游戏状态下,同时按下左键与右键进入储存游戏界面,数 据储存结束后返回正常游戏状态,在正常游戏状态下,如果变量game_res=0,则游戏结束,进入游戏结束画面。 可见,用自然语言书写的系统规格说明书,罗嗦繁杂,并且可能存在矛盾,二义性,含糊性,不完整性及抽象 层次混乱等问题。

22、用有穷状态的描述如下:状态机J:开始,正常游戏(游戏进行中),得分榜,读取游戏,储存游戏,游戏结束输入集K:按键UP,按键DOWN,按键LEFT,按键RIGHT,寄存器变量cd_start ,寄存器变量game_res转换函数T:如图4、1所示初始态S:开始终态集F:游戏结束可见用形式化语言描述,更加简洁,准确,无歧义。2,在什么情况下应该使用形式化说明技术?使用形式化说明技术应遵守哪些规则?在用非形式化的方式描述时,存在矛盾,二义性,含糊性,不完整性级抽象层次混乱等问题时用形式化说明技术。应用形式化方法的准则:A,应该选用适当的表示方法;B,应该形式化,但不要过分形式化;C, 应该估算成本;

23、D, 应该有形式化的方法顾问随时提供咨询;E, 不应该放弃传统的开发方式;F,应该建立详尽的文档;G,不应该放弃质量标准;H,不应该盲目依赖形式化方法;I,应该测试,测试再测试;J,应该重用。3,一个浮点二进制数的构成就是:一个可选的符号(+或-),后跟一个或多个二进制位,再跟上一个字符E,再加上另一个可选符号(+或-)及一个或多个二进制位。例如,下列的字符串都就是浮点二进制数:110101E-101-100111E11101+1E0更形式化地,浮点二进制数定义如下:floating point binary=signbitstringEsignbitstringsign=+-bitstrin

24、g=bitbitstringbit=01其中,符号=表示定义为;符号、表示可选项;符号ab表示a或b。 假设有这样一个有穷状态机:以一串字符为输入,判断字符串中就是否含有合法的浮点二进制数。试对这个有穷状态机进行规格说明。4,考虑下述的自动化图书馆流通系统:每本书都有一个条形码,每个人都有一个带条形码的卡片。但一个借阅人想借一本书时,图书管理员扫描书上的条形码与借阅人卡片的条形码,然后在计算机终端上输入C;当归还一本书时,图书管理员将再次扫描,并输入R。图书管理员可以把一些书加到(+)图书集合中,也可以删除()它们。借阅人可以再终端上查找到某个作者所有的书(输入“A=”与作者名字),或具有指定

25、标题的所有书籍(输入“T=”与标题),或属于特定主题范围内的所有图书(输入“S=”加主题范围)。最后,如果借阅人想借的书已被别人借走,图书管理员将给这本书设置一个预约,以便书归还时把书留给预约的借阅人(输入“H=”加书号)。试用有穷状态机说明上述的图书流通系统图书馆流通系统的有穷状态机描述如下:(一)图书状态的有穷状态机描述书在图书馆S1,书被借出S2,书被预约S3书上条形码,借阅卡条形码,终端输入各种命令如图4、4、1所示书在图书馆S1,书被借出S2书被借出S2,书被预约S3(二)图书馆终端管理员模式的有穷状态机描述管理员设置状态,书入库,书出库(删除),预约终端输入管理员命令,书的各种状态

26、(S1,S2,S3如图4、4、2所示管理员设置状态书入库,书出库(删除),预约,(二)图书馆终端用户模式的有穷状态机描述读者查询状态,查询结果终端输入用户查询命令,书的各种状态(S1,S2,S3)如图4、4、3所示读者查询状态查询结果5,试用Petri网说明第四题所述图书馆中一本书的循环过程,在规格说明中应该包括操作H、C及R。其中P1表示书在图书馆P2表示书在读者手上,P3书被预约6,试用Z语言对第四题所描述图书馆图书流通系统做一个完整的规格说明。(这题真的不会!)BOOK_STATEBook_in,Book_out,Book_reserveBook_inBook_outBook_reser

27、ve=Book_inBook_outBook_reserve=BOOK_STATE第五章5、1为每种类型的模块耦合举一个具体的例子。耦合式对一个软件结构内不同模块之间互联程度的度量。耦合强弱取决于接口的复杂度,进入或访问某一模块的点,以及通过接口的数据。一般模块之间的可能的连接方式有七种,构成耦合的七种类型,它们的关系为:低 耦合性 高非直接耦合数据耦合特征耦合控制耦合外部耦合公共耦合内容耦合强 独立性 弱下面举例说明以上耦合:A非直接耦合:两个模块没有直接的关系(模块1与模块2),独立性最强B、数据耦合:即一个模块访问另一个模块的时候,彼此之间就是通过数据参数来交换输入、输出信息的,这种耦合为数据耦合。这种耦合较为松散,模块间独立性较强。C、特征耦合:即一组模块通过参数传递记录信息,用户情况就是个数据结构,图中模块都与此有关,“计算水费”与“计算电费”本没有关系,由于引用了此数据结构产生了依赖关系D、控制耦合:即如果一个模块通过传送开关、标志、名字等控制信息,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1