软件工程导论(第六版)张海藩课后习题部分答案
软件工程导论(第六版)部分课后习题-答案
软件工程导论(第六版)部分课后习题-答案软件工程导论(第六版)部分课后习题-答案一、选择题1. 答案:B解析:选择题解析2. 答案:A解析:选择题解析二、判断题1. 答案:对解析:判断题解析2. 答案:错解析:判断题解析三、填空题1. 答案:软件工程解析:填空题解析2. 答案:开发、维护解析:填空题解析四、简答题1. 答案:软件需求分析是软件工程的第一步,它主要是通过对用户需求的调查和分析,确定软件系统需要具备的功能和性能以及相关约束条件。
解析:简答题解析2. 答案:软件开发过程中的质量保证主要包括软件测试和代码评审两个方面。
软件测试是通过运行和验证软件系统的过程,以确定其是否满足预期的需求和标准。
代码评审则是对软件代码进行审查和评估,在开发过程中发现和修复潜在的问题和错误。
解析:简答题解析五、计算题1. 答案:20解析:计算题解析2. 答案:1000解析:计算题解析六、案例分析题1. 答案:软件项目管理是指对软件项目进行规划、组织、分配和控制的过程。
它包括项目范围管理、时间管理、成本管理、质量管理、风险管理等方面。
在一个项目中,软件项目经理负责整体的项目管理工作,包括资源的分配、进度的控制、风险的管理等。
解析:案例分析题解析2. 答案:敏捷开发是一种迭代、逐步增量的软件开发方法。
它强调快速、灵活地响应用户需求的变化,通过频繁的迭代和持续的反馈来逐步完善软件系统。
敏捷开发方法注重团队合作、交流和高效的沟通,通过直接面对面的沟通取代冗长的文档和繁琐的流程,提高软件开发的效率和质量。
解析:案例分析题解析总结:本文主要针对《软件工程导论(第六版)》部分课后习题提供了答案和解析。
其中包括选择题、判断题、填空题、简答题、计算题和案例分析题等多个题型。
通过解答这些习题,读者可以进一步加深对软件工程的理解和掌握。
希望本文对读者有所帮助,谢谢阅读。
软件工程导论(第六版)张海藩课后习题其中一部分答案(完整版)-推荐下载
第一章1-1 什么是软件危机?是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
1-3 什么是软件工程?是指导计算啊时代发生的发生地方机软件开发和维护的一门工程学科。
1-4 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。
目前使用得最广泛的软件工程方法学(2种):1. 传统方法学:也称为生命周期方法学或结构化范型。
优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。
缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。
2. 面向对象方法学:优点:降阿斯顿发生的发生的低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。
1-6 什么是软件过程?它与软件工程方法学有何关系?z 软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤 z 软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型1-7 什么是软件生命周期模型,试比较瀑布模型,快速原型模型,增量模型,和螺旋模型的优缺点,说明每种模型的适用范围。
软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。
生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。
爱的沙发上地方瀑布模型的优点:1.可强迫开发人员采用规范的方法;2.严格规定了每个阶段必须提交的文档;3.要用于小型项目。
增量模型的优点:1短期内可以交付满足部分用户需求的功能产品;2逐步增加功能可以让用户去适应新产品;3开放式的软件可维护性比较好;4开始第一构件前,已经完成需求说明。
阿桑的发生地方增量模型的缺点:1对现有产品功能造成破坏;2意义上的矛盾适用于中型软件的开发螺旋模型的优点:1集成了瀑布模型、快速原型模型、增量模型的优点;2支持用户需求动态变化;3需求分析与软件实现紧密联系相互依赖;4原型作为刑式的可执行的需求规格说明,即利用用户和开发人员共同理解,又可作为后续开发的基础;5为用户参与决策提供方便;6提高目标软件的适应能力;7降低风险;8在大型软件开发过程中充分发挥优势。
软件工程导论张海藩课后习题答案(完整版)
作业及解答(第4章)
其中, ✓符号∷=表示定义为; ✓符号[...]表示可选项; ✓符号a|b表示a或b。 假设有这样一个有穷状态机:以一串字符为输入,判断字符 串中是否含有合法的浮点二进制数。试对这个有穷状态机进 行规格说明。
作业及解答(第4章)
该有穷状态机的初态是“等待字符串输人”。在初态若接收 到字符十、或字符一、或二进制位,则进人“输人尾数” 状态;在初态若接收到其他字符,则进人终态“非浮点二 进制数”。在“输人尾数”状态若接收到二进制位,则保 持该状态不变;若接收到字符 E ,则进人“等待输人指数 ”状态;若接收到其他字符,则进人终态“非浮点二进制 数”。在“等待输人指数”状态若接收到字符+、或字符 一、或二进制位,则进人“输人指数”状态;若接收到其 他字符,则进人终态“非浮点二进制数”。在“输人指数 ”状态若接收到二进制位,则保持该状态不变;若输人其 他字符,则进人终态“非浮点二进制数”;若输人结束, 则进人终态“浮点二进制数”。
E2 病人
F2生理信号
E3 时钟
F3日前、时间
F5安全范围 D2患者安全范围
P2 分析信号
危及病人信息
P3 产生警告信息
F2生理信号
F4警告信息
P1 接收信号
F2生理信号
E1 护士
P4 定时取样 生理信号
定时的生理信号 F6日志
P5 更新日志
D1患者日志
E1 护士
F6日志 F1要求报告
P6 产生病情报告
(3) 假设在1995年存储器字长为32位,一名程序员每天可 开发出30条指令,程序员的月平均工资为6000美元,重 复(1)、(2)题。
作业及解答(第1-2章)
(1)在1985年对计算机存储容量的需求,估计是
(2021年整理)软件工程导论(第六版)张海藩牟永敏课后习题答案
(完整版)软件工程导论(第六版)张海藩牟永敏课后习题答案编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整版)软件工程导论(第六版)张海藩牟永敏课后习题答案)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整版)软件工程导论(第六版)张海藩牟永敏课后习题答案的全部内容。
(完整版)软件工程导论(第六版)张海藩牟永敏课后习题答案编辑整理:张嬗雒老师尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布到文库,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是我们任然希望 (完整版)软件工程导论(第六版)张海藩牟永敏课后习题答案这篇文档能够给您的工作和学习带来便利.同时我们也真诚的希望收到您的建议和反馈到下面的留言区,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请下载收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为〈(完整版)软件工程导论(第六版)张海藩牟永敏课后习题答案> 这篇文档的全部内容。
第一章一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题.它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。
软件危机的典型表现:(1) 对软件开发成本和进度的估计常常很不准确。
常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。
而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。
这些都降低了开发商的信誉,引起用户不满。
软件工程导论(第六版)张海藩-牟永敏课后习题答案
第一章、什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机是指在计算机软件开发、 使用与维护过程中遇到的一系列严重问题和难题。
它包括两方 面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。
软件危机的典型表现:(1) 对软件开发成本和进度的估计常常很不准确。
常常出现实际成本比估算成本高出一个数量 级、实际进度比计划进度拖延几个月甚至几年的现象。
而为了赶进度和节约成本所采取的一些权宜之 计又往往损害了软件产品的质量。
这些都降低了开发商的信誉,引起用户不满。
(2) 用户对已完成的软件不满意的现象时有发生。
(3) 软件产品的质量往往是靠不住的。
(4) 软件常常是不可维护的。
(5) 软件通常没有适当的文档资料。
文档资料不全或不合格, 必将给软件开发和维护工作带来许 多难以想象的困难和难以解决的问题。
(6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。
(7) 开发生产率提高的速度远跟不上计算机应用普及的需求。
软件危机出现的原因:(1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。
(2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。
(3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。
二、假设自己是一家软件公司的总工程师,当把图 时发现并改正错误的重要性时, 有人不同意这个观点, 现实的,并举例说:“如果一个故障是编码错误造成的, 应该怎么反驳他? 答:在软件开发的不同阶段进行修改付出的代价是很不相同的, 在早期引入变动, 涉及的面较少, 因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的 配置成分都做相应的修改,不仅工作量大, 而且逻辑上也更复杂, 因此付出的代价剧增; 在软件“已经完成” 是在引入变动, 当然付出的代价更高。
(完整版)软件工程导论(第六版)张海藩课后习题部分答案
第一章1-1 什么是软件危机?是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
1-3 什么是软件工程?是指导计算机软件开发和维护的一门工程学科。
1-4 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。
目前使用得最广泛的软件工程方法学(2种):1. 传统方法学:也称为生命周期方法学或结构化范型。
优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。
缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。
2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。
1-6 什么是软件过程?它与软件工程方法学有何关系?z 软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤z 软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型1-7 什么是软件生命周期模型,试比较瀑布模型,快速原型模型,增量模型,和螺旋模型的优缺点,说明每种模型的适用范围。
软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。
生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。
瀑布模型的优点:1.可强迫开发人员采用规范的方法;2.严格规定了每个阶段必须提交的文档;3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
瀑布模型的缺点:1.在软件开发初期,指明用户全部需求是困难的;2.需求确定后,经过一段时间才得到软件最初版本;3.完全依赖规格说明,导致不能满足用户需求。
适用中小型项目。
快速原型模型的优点:1满足用户需求程度高;2用户的参与面广;3返工现象少快速原型模型的优点:不适用大型软件的开发适用于小型项目。
软件工程导论张海藩课后习
软件工程导论张海藩课后习第一章软件工程概论1.什么是软件危机?软件危机是指在计算机软件的开发与保护过程中所遇到的一系列严重问题。
这些问题表现在下列几个方面:(1)用户对开发出的软件很难满意。
(2)软件产品的质量往往靠不住。
(3)通常软件很难保护。
(4)软件生产效率很低。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
(7)软件技术的进展远远满足不了计算机应用的普及与深入的需要。
2.为什么会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正懂得软件产品是一个完整的配置构成。
造成开发中制定计划盲目、编程草率,不考虑保护工作的必要性。
(2) 软件本身方面,关于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论与规范指导,造成软件保护困难。
(3) 特别是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、保护困难等一系列问题更为突出,技术的进展已经远远不能习惯社会需求。
3.如何克服软件危机?(1) 充分汲取与借鉴人类长期以来从事各类工程项目中积存的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究与开发的经验教训。
在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。
(2) 推广在实践中总结出来的开发软件的成功的技术与方法,并研究更好、更有效的技术与方法,尽快克服在计算机系统早期进展阶段形成的一些错误概念与作法。
(3) 根据不一致的应用领域,开发更好的软件工具并使用这些工具。
将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。
总之为熟悉决软件危机,既要有技术措施(方法与工具),又要有必要的组织管理措施。
4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料与面向开发者的文档资料。
5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、保护到淘汰的全过程。
最新软件工程导论(第六版)张海藩课后习题其中一部分答案(完整版)
第一章1-1 什么是软件危机?是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
1-3 什么是软件工程?是指导计算啊时代发生的发生地方机软件开发和维护的一门工程学科。
1-4 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。
目前使用得最广泛的软件工程方法学(2种):1. 传统方法学:也称为生命周期方法学或结构化范型。
优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。
缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。
2. 面向对象方法学:优点:降阿斯顿发生的发生的低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。
1-6 什么是软件过程?它与软件工程方法学有何关系?z 软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤z 软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型1-7 什么是软件生命周期模型,试比较瀑布模型,快速原型模型,增量模型,和螺旋模型的优缺点,说明每种模型的适用范围。
软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。
生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。
爱的沙发上地方瀑布模型的优点:1.可强迫开发人员采用规范的方法;2.严格规定了每个阶段必须提交的文档;3.要用于小型项目。
增量模型的优点:1短期内可以交付满足部分用户需求的功能产品;2逐步增加功能可以让用户去适应新产品;3开放式的软件可维护性比较好;4开始第一构件前,已经完成需求说明。
阿桑的发生地方增量模型的缺点:1对现有产品功能造成破坏;2意义上的矛盾适用于中型软件的开发螺旋模型的优点:1集成了瀑布模型、快速原型模型、增量模型的优点;2支持用户需求动态变化;3需求分析与软件实现紧密联系相互依赖;4原型作为刑式的可执行的需求规格说明,即利用用户和开发人员共同理解,又可作为后续开发的基础;5为用户参与决策提供方便;6提高目标软件的适应能力;7降低风险;8在大型软件开发过程中充分发挥优势。
《软件工程导论》张海蕃 课后习题答案
1-12 说明微软过程的适用范围
适用于商业环境下具有有限资源和有限开发时间约束的项目的软件过程模式。
第二章
2-1在软件开发的早期阶段为什么要进行可行性研究?应该从哪些方面研究目标系统的可行性?
可行性研究的目的:就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
If TABLE(I)>ITEM Set FINISH to (I-1)
If (FINISH-START)>1 goto LOOP
If TABLE(START)=ITEM goto FOUND
If TABLE(FINISH)=ITEM goto FOUND
Set FLAG to 0
Goto DONE
6-9:把统计空格程序的jackson图改画为等价的程序流程图和盒图
第七章
7-4:回答下列问题。
(1)什么是模块测试和集成测试?它们各有什么特点?
(2)假设有一个由1000行FORTRAN语句构成的程序(经编译后大约有5000条机器指令),估计在对它进行测试期间将发现多少个错误?为什么?
(3)设计下列伪码程序的语句覆盖和路径覆盖测试用例。
一般从技术可行性,经济可行性,操作可行性,社会、政策允许可行性方面研究。
2-5北京某高校可用的电话号码由以下几类:校内电话号码由4位数字组成,第一位数字不是零;校外电话又分为本市电话和外地电话两类,拨校外电话先拨0,若是本地电话再接着拨8位数字(固话第一位不是0)或11位数字(移动电话第一位为1);若是外地电话,则拨3位区码再拨8位电话号码(固话第一位不是0),或拨0再拨11位数字(移动电话第一位为1)。请用数据定义的方法,定义上述电话号码。
软件工程导论(第六版)张海藩 牟永敏课后习题答案.
第一章一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。
它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。
软件危机的典型表现:(1) 对软件开发成本和进度的估计常常很不准确。
常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。
而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。
这些都降低了开发商的信誉,引起用户不满。
(2) 用户对已完成的软件不满意的现象时有发生。
(3) 软件产品的质量往往是靠不住的。
(4) 软件常常是不可维护的。
(5) 软件通常没有适当的文档资料。
文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。
(6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。
(7) 开发生产率提高的速度远跟不上计算机应用普及的需求。
软件危机出现的原因:(1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。
(2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。
(3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。
二、假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。
(完整版)软件工程导论(第六版)张海藩牟永敏课后习题答案
第一章一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题.它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。
软件危机的典型表现:(1)对软件开发成本和进度的估计常常很不准确.常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。
而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量.这些都降低了开发商的信誉,引起用户不满。
(2)用户对已完成的软件不满意的现象时有发生.(3)软件产品的质量往往是靠不住的. (4)软件常常是不可维护的。
(5) 软件通常没有适当的文档资料。
文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题.(6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。
(7)开发生产率提高的速度远跟不上计算机应用普及的需求。
软件危机出现的原因:(1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。
(2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。
(3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。
二、假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成"是在引入变动,当然付出的代价更高.一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是整体构架的错误。
张海藩《软件工程导论》(第6版)笔记和课后习题详解
第 3 章 需求分析 ......................................................................................................................................... 28 3.1 复习笔记 ........................................................................................................................................ 28 3.2 课后习题详解 ................................................................................................................................. 32
软件工程导论张海藩课后习题答案
12
P2 分析信号 E2 病人 F2生理信号
危及病人信息 F2生理信号 D2患者安全范围 P7制定安 全范围 P5 更新日志
P3 产生警告信息 F4警告信息 E1 护士
F5安全范围
D3生理信息 定时的生理信号
F2生理信号 P1 接收信号 F2生理信号 定时的 生理信号
F6日志 E3 时钟 F3日前、时间 P4 定时取样 生理信号 F6日志 E1 护士 F1要求报告 D1患者日志
重庆工学院计算机科学与工程学院 李梁(liliang@)
9
作业及解答(第3章)
从问题陈述可知,本系统数据源点是“病人”和“护士”
,他们分别提供生理信号和要求病情报告的信息。进一步 分析问题陈述,从系统应该“定时记录病人情况以形成患 者日志”这项要求可以想到,还应该有一个提供日期和时 间信息的“时钟”作为数据源点。 从问题陈述容易看出,本系统的数据终点是接收警告信息 和病情报告的护士。 系统对病人生理信号的处理功能主要是“接收信号”、“ 分析信号”和“产生警告信息”。 此外,系统还应该具有“定时取样生理信号”、“更新日 志”和“产生病情报告”的功能。 为了分析病人生理信号是否超出了医生规定的安全范围, 应该存储“患者安全范围”信息。此外,定时记录病人生 理信号所形成的“患者日志”,显然也是一个数据存储。
P3 产生警告信息 F4警告信息
D3生理信息 定时的生理信号 P5 更新日志
F2生理信号 P1 接收信号 F2生理信号 定时的 生理信号
E1 护士
F6日志 E3 时钟 F3日前、时间 P4 定时取样 生理信号 F6日志 E1 护士 F1要求报告 D1患者日志
13:07:42
P6 产生病情报告 重庆工学院计算机科学与工程学院 李梁(liliang@)
软件工程导论(第六版)张海藩课后习题答案(1-8章)
第一章1-1 什么是软件危机?是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
1-3 什么是软件工程?是指导计算机软件开发和维护的一门工程学科。
1-4 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。
目前使用得最广泛的软件工程方法学(2种):1. 传统方法学:也称为生命周期方法学或结构化范型。
优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。
缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。
2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。
1-6 什么是软件过程?它与软件工程方法学有何关系?z 软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤z 软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型1-7 什么是软件生命周期模型,试比较瀑布模型,快速原型模型,增量模型,和螺旋模型的优缺点,说明每种模型的适用范围。
软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。
生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。
瀑布模型的优点:1.可强迫开发人员采用规范的方法;2.严格规定了每个阶段必须提交的文档;3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
瀑布模型的缺点:1.在软件开发初期,指明用户全部需求是困难的;2.需求确定后,经过一段时间才得到软件最初版本;3.完全依赖规格说明,导致不能满足用户需求。
适用中小型项目。
快速原型模型的优点:1满足用户需求程度高;2用户的参与面广;3返工现象少快速原型模型的优点:不适用大型软件的开发适用于小型项目。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章1-1 什么是软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
1-3 什么是软件工程是指导计算机软件开发和维护的一门工程学科。
1-4 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。
目前使用得最广泛的软件工程方法学(2种):`1. 传统方法学:也称为生命周期方法学或结构化范型。
优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。
缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。
2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。
1-6 什么是软件过程它与软件工程方法学有何关系z 软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤z 软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型1-7 什么是软件生命周期模型,试比较瀑布模型,快速原型模型,增量模型,和螺旋模型的优缺点,说明每种模型的适用范围。
软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。
生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。
瀑布模型的优点:1.可强迫开发人员采用规范的方法;2.严格规定了每个阶段必须提交的文档;3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
:瀑布模型的缺点:1.在软件开发初期,指明用户全部需求是困难的;2.需求确定后,经过一段时间才得到软件最初版本;3.完全依赖规格说明,导致不能满足用户需求。
适用中小型项目。
快速原型模型的优点:1满足用户需求程度高;2用户的参与面广;3返工现象少快速原型模型的优点:不适用大型软件的开发适用于小型项目。
增量模型的优点:1短期内可以交付满足部分用户需求的功能产品;2逐步增加功能可以让用户去适应新产品;3开放式的软件可维护性比较好;4开始第一构件前,已经完成需求说明。
增量模型的缺点:1对现有产品功能造成破坏;2意义上的矛盾适用于中型软件的开发螺旋模型的优点:1集成了瀑布模型、快速原型模型、增量模型的优点;2支持用户需求动态变化;3需求分析与软件实现紧密联系相互依赖;4原型作为刑式的可执行的需求规格说明,即利用用户和开发人员共同理解,又可作为后续开发的基础;5为用户参与决策提供方便;6提高目标软件的适应能力;7降低风险;8在大型软件开发过程中充分发挥优势。
螺旋模型的缺点:1迭代次数影响开发成本,延迟提价时间;2找不到关键改进点,人才、物力、财力时间引起无谓消耗;3成于风险分析,败于风险分析。
适用于内部开发的大规模软件项目。
1-8:为什么说喷泉模型叫好的体现了面向对象软件开发过程无缝和迭代的特性因为使用面向对象方法学开发软件时,各个阶段都使用统一的概念和表示符号,因此,整个开发过程都是吻合一致的,或者说是无缝连接的,这自然就很容易实现各个开发步骤的反复多次迭代,达到认识的逐步深化,而喷泉模型的则很好的体现了面向对象软件开发过程迭代和无缝的特性。
1-9:试讨论Rational统一过程的优缺点^优点:提高了团队生产力,在迭代的开发过程、需求管理、基于组建的体系结构、可视化软件建模、验证软件质量及控制软件变更等方面、针对所有关键的开发活动为每个开发成员提供了必要的准则、模版和工具指导,并确保全体成员共享相同的知识基础。
它简历了简洁和清晰的过程结构,为开发过程提供较大的通用性。
缺点:RUP只是一个开发过程,并没有涵盖软件过程的全部内容,例如它缺少关于软件运行和支持等方面的内容,此外,它没有支持多项目的开发结构,这在一定程度上降低了在开发组织内大范围实现重用的可能性。
1-10 Rational统一过程主要适用于何种项目大型的需求不断变化的复杂软件系统项目1-11:说明敏捷过程的适用范围适用于商业竞争环境下对小型项目提出的有限资源和有限开发时间的约束。
1-12 说明微软过程的适用范围适用于商业环境下具有有限资源和有限开发时间约束的项目的软件过程模式。
第二章)2-1在软件开发的早期阶段为什么要进行可行性分析研究应该从哪些方面研究目标系统的可行性可行性分析是要进行一次大大压缩简化系统分析和设计过程,避免时间、资源、人力和金钱的浪费。
技术上的可行性——使用现有的技术能实现这个系统吗经济上的可行性——这个系统的经济效益能超过它的开发成本吗(投资与效益)操作可行性——系统的操作方式在这个用户组织内行得通吗社会、政策允许的可行性2-2 为方便储户,某银行拟开发计算机储蓄系统。
储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。
请画出此系统的数据流图。
2-3为方便旅客,某航空公司拟开发一个机票预定系统。
旅行社把预订机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入进该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统核对无误即印出机票给旅客。
请画出系统的数据流图。
|2-4 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危险病人的病情变化,还可能会延误抢救时机。
某医院打算开发一个以计算机为中心的患者监护系统,试写出问题定义,并且分析开发这个系统的可行性。
医院对患者监护系统的基本要求是随时接受每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以及形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。
请画出系统的数据流图2-5北京某高校可用的电话号码由以下几类:校内电话号码由4位数字组成,第一位数字不是零;校外电话又分为本市电话和外地电话两类,拨校外电话先拨0,若是本地电话再接着拨8位数字(固话第一位不是0)或11位数字(移动电话第一位为1);若是外地电话,则拨3位区码再拨8位电话号码(固话第一位不是0),或拨0再拨11位数字(移动电话第一位为1)。
请用数据定义的方法,定义上述电话号码。
电话号码=[校内号码|校外号码] 校内号码=非0数字+3{数字}3 校外号码=0+[本地号码|外地号码] 本地号码=[固话号码|手机号码] 固话号码=非0数字+7{数字}7 手机号码=1+10{数字}10外地号码= [外地固话号码|外地手机号码] 外地固话号码=3{数字}3+固话号码外地手机号码=0+手机号码非0数字=[1|2|3|4|5|6|7|8|9]]第三章1、为什么要进行需求分析通常对软件系统有哪些需求答:为了开发出真正满足用户需求的软件产品,准确定义未来系统的目标,确定为了满足用户的需要系统必须做什么,就必须要进行准确的需求分析。
通常对软件系统的需求有:功能需求;性能需求;可靠性和可用性需求;出错处理需求;接口需求;约束;逆向需求;文档需求;数据需求等等。
·2、银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址、身份证号码等存款信息,并打印出存款存单给储户;如果是取款且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并打印出利息清单给储户。
用数据流图描述本系统的功能,并用ER图描绘系统中的数据对象。
6、复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。
请用状态转换图描绘复印机的行为。
从问题陈述可知,复印机的状态主要有“闲置”、“复印”、“缺纸”和“卡纸”。
引起状态转换的事件主要是“复印命令”、“完成复印命令”、“发现缺纸”、“装满纸”、“发生卡纸故障”和“排除了卡纸故障”。
第四章不考,略。
第五章5-4 美国某大学共有200名教师,校方与教师工会刚刚签订一项协议。
按照协议,所有年工资超过$26 000(含$26 000)的教师工资将保持不变,年工资少于$26 000的教师将增加工资,所增加的工资数按下述方法计算:给每个由此教师所赡养的人(包括教师本人)每年补助$100,此外,教师有一年工龄每年再多补助$50,但是,增加后的年工资总额不能多于$26 000。
{教师的工资档案储存在行政办公室的磁带上,档案中有目前的年工资、赡养的人数、雇用日期等信息。
需要写一个程序计算并印出每名教师的原有工资和调整后的新工资。
要求:(1) 画出此系统的数据流图;(1) 画出此系统的数据流图;(2) 写出需求说明;(3) 设计上述的工资调整程序(要求用HIPO图描绘设计结果),设计时请分别采用下述两种算法,并比较这两种算法的优缺点:(a) 搜索工资档案数据,找出年工资少于$26 000的人,计算新工资,校核是否超过$26 000,储存新工资,印出新旧工资对照表;(b) 把工资档案数据按工资从最低到最高的次序排序,当工资数额超过$26 000时即停止排序,计算新工资,校核是否超过限额,储存新工资,印出结果。
答:第六章6-3:画出下列伪码程序的程序流程图和盒图6-4.下图给出的程序流程图代表一个非结构化的程序,请问:(1)为什么说它是非结构化的(2)设计一个等价的结构化程序。
(3)在(2)题的设计中你使用附加的标志变量flag吗若没用,请再设计一个使用flag 的程序;若用了,再设计一个不用flag的程序。
答:(1)通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序。
图示的程序的循环控制结构有两个出口,显然不符合狭义的结构程序的定义,因此是非结构化的程序。
|(2)使用附加的标志变量flag,至少有两种方法可以把该程序改造为等价的结构化程序,图6-3描绘了等价的结构化程序的盒图。
3)不使用flag把该程序改造为等价的结构化程序的方法如图6-4所示。
6-5.研究下面的伪代码程序:LOOP:Set I to (START+FINISH)/2 If TABLE(I)=ITEM goto FO UND If TABLE(I)<ITEM Set START to (I+1) If TABLE(I)>ITEM S et FINISH to (I-1) If (FINISH-START )>1 goto LOOP If TABL E(START)=ITEM goto FOUND If TABLE(FINISH)=ITEM goto FOUND Se t FLAG to 0 Goto DONE FOUND: Set FLAG to 1 DONE:Exit(1) 画出程序流程图。