2022年《软件工程导论》课后习题详细答案 .pdf
《2022年《软件工程导论》课后习题详细答案 .pdf》由会员分享,可在线阅读,更多相关《2022年《软件工程导论》课后习题详细答案 .pdf(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程导论课后习题答案第一章软件工程概论1什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面: (1) 用户对开发出的软件很难满意。(2) 软件产品的质量往往靠不住。(3) 一般软件很难维护。(4) 软件生产效率很低。 (5) 软件开发成本越来越大。(6) 软件成本与开发进度难以估计。(7) 软件技术的发展远远满足不了计算机应用的普及与深入的需要。2为什么会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。 (2) 软件本身方
2、面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。(3) 尤其是随着软件规模越来越大, 复杂程度越来越高, 原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。3怎样克服软件危机?(1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研
3、究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。总之为了解决软件危机,既要有技术措施(方法和工具 ) ,又要有必要的组织管理措施。4. 构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。5什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。5-1 。(1)在1985 年对计算机存储容量的需求,估计是如果字长为 16位,则这个存储器的价格是(2)如果一条指
4、令的长度为一个字,则使存储器装满程序共需4474263 条指令。在1985 年一名程序员每天可开发出10条指令,如果每月有20个工作日,则每人每月可开发出10 20条指令。为了开发出 4474263 条指令以装满存储器,需要的工作量是:)(371222004474263人月,程序员的月平均工资是4000 美元,开发出 4474263 条指令的成本是)(00048489400022371美元,(3)在1995 年对存储容量的需求估计为:如果字长为 32位,则这个存储器的价格是:如果一条指令为一个字长,则为使存储器装满程序共需73,577,679 条指令。)19601985(28.04080eM7
5、4080e)(263,474,4字4472.0048.019741985P)(7895美元,)19601995(28. 04080eM)(679,577,73字7372.032003.019741995P)(127,7美元名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 33 页 - - - - - - - - - 在1995 年一名程序员每天可开发出30条指令,每月可开发出600 条指令,为了开发出可装满整个存储器的程序,需要的工作量为)(6291226
6、0073577679人月,开发上述程序的成本为)(790,776,7356000122629美元6软件生存周期为什么划分成阶段?(1) 任何一个阶段的具体任务不仅独立,而且简单,便于不同人员分工协作,从而降低整个软件开发工作的困难程度。 (2) 可以降低每个阶段任务的复杂程度,简化不同阶段的联系,有利于工程的组织管理,也便于采用良好的技术方法。(3) 使软件开发的全过程以一种有条不紊的方式进行,保证软件的质量,特别是提高了软件的可维护性。6-1.开发上述程序的成本为:1-6 什么是软件过程?它与软件工程方法学有何关系? 软件过程是为了开发出高质量的软件产品所需完成的一系列任务的框架,它规定了完
7、成各项任务的工作步骤。软件过程定义了运用技术方法的顺序、应该交付的文档资料、为保证软件质量和协调软件变化必须采取的管理措施,以及标志完成了相应开发活动的里程碑。软件过程是软件工程方法学的3 个重要组成部分之一。7应该怎样来划分阶段?(1) 每一个阶段的任务尽可能独立;(2) 同一阶段内的任务性质尽可能相同;(3)每一个阶段任务的开始和结束有严格的标准。8软件开发模型有几种?它们的开发方法有可特点?软件开发模型有瀑布型、渐增型和变换型。瀑布型开发方法是按照软件生存周期的划分依次实施,每一个阶段有明确规定的任务。它的特点:(1) 各个阶段的顺序性和依赖性;(2) 划分逻辑设计与物理设计,尽可能推迟
8、程序的物理实现;(3) 每个阶段必须完成规定的文档,对其中问题通过复审及早发现,及早解决。渐增型开发方法及特点:(1) 从部分需求出发, 先建立一个不完全的系统,通过测试运行该系统取得经验和信息反馈,加深对软件需求的理解,进一步使系统扩充和完善。如此反复,直至软件人员和用户对所设计完成的软件系统满意为止。(2) 在渐增型开发下的软件是随软件开发的过程而逐渐形成的。(3) 渐增型开发方法适合于知识型软件的开发,设计系统时对用户需求的认识开始不是很清楚的,需要在开发过程中不断认识、不断获得新的知识去丰富和完善系统。多数研究性质的试验软件,一般采用此方法。变换型开发方法及特点: (1) 从软件需求的
9、形式化规格说明出发,经过一系列的程序变换,得到最终的程序系统。(2) 该方法必须有严格的数学理论和形式化技术的支持。9. 什么是软件工程? 软件工程是指导计算机软件开发和维护的工程学科。(1) 它采用工程的概念、原理、技术和方法来开发和维护软件;(2) 它将管理技术与当前经过时间考验的而证明是正确的技术方法结合起来;(3) 它强调使用生存周期方法学和结构分析和结构技术;(4) 经过人们长期的努力和探索,围绕着实现软件优质高产这个目标, 从技术到管理两个方面做了大量的努力, 逐渐形成了 软件工程学 这一新的学科。10什么是软件工程环境: 方法与工具的结合,加上配套的软、 硬件支持称为软件工程环境
10、。它能支持开发者按照软件工程的方法, 全面完成生存周期中的各项任务。第二章可行性研究习题答案1. 问题定义的任务和主要工作? 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 33 页 - - - - - - - - - 问题定义的任务:将用户提出的要求具体化、定量化;确定研制系统的范围,明确研制的边界。问题定义阶段的工作:(1) 通过调查研究,了解系统需求;(2) 确定系统的功能需求、性能需求、可靠性需求、安全及保密性、资源、开发费用及开发进度等的需求;
11、(3) 问题定义阶段的产品- 系统目标与范围说明书。2. 可行性研究目的? 确定在问题定义中所提出的问题是否值得去解,在限制条件下,问题能否解决。3可行性研究的任务?(1) 进一步分析和澄清问题的定义,在澄清问题的基础上,导出系统的逻辑模型;2) 从系统逻辑模型中,选择问题的若干种主要解法,研究每一种解法的可行性,为以后的行动提出建议;(3) 如果问题没有可行的解,建议停止系统开发;如果问题有可行的解,应该推荐一个较好的解决方案,并为工程制定一个初步的计划。4可行性研究包括哪几方面的内容?(1) 技术可行性:现有技术能否实现本系统,现有技术人员能否胜任,开发系统的资源能否满足(2) 经济可行性
12、: 经济效益是否超出开发成本;(3) 操作可行性: 系统操作在用户内部行得通吗?(4) 法律可行性:新系统开发是否会侵犯他人、集体或国家利益,是否违反国家法律。2-4 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,请分层次地画出描述本系统功能的数据流图。医院对患者 监护系统的基本要求是随时接收每个病人的生理信号 ( 脉搏、体温、血压、心电图等) ,定时记录病人情况以形成患者日志 ,当某个 病人 的生理信号超出医生规定的安全范围时向值班护士 发出警告信息,此外,护士在需要时还可以要求系
13、统印出某个指定病人的病情报告 。E1护士E3时钟E2病人P0患者监护系统F1要求报告F2生理信号F3日前、时间E1护士F4警告信息、病情报告D2患者安全范围D1患者日志F5安全范围F6日志从问题陈述可知,本系统数据源点是“病人”和“护士” ,他们分别提供生理信号 和要求 病情报告 的信息。进一步分析问题陈述,从系统应该“定时记录病人情况以形成患者日志 ”这项要求可以想到,还应该有一个提供日期和时间信息的“时钟 ”作为数据源点。从问题陈述容易看出,本系统的数据终点是接收警告信息和病情报告的护士。系统对病人生理信号的处理功能主要是“接收信号”、 “分析信号”和“产生警告信息”。此外,系统还应该具有
14、“定时取样生理信号” 、 “更新日志 ”和“ 产生病情报告 ”的功能。为了分析病人生理信号是否超出了医生规定的安全范围,应该存储“患者安全范围 ”信息。此外,定时记录病人生理信号所形成的“患者日志 ” ,显然也是一个数据存储。名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 33 页 - - - - - - - - - E1护士E3时钟E2病人F1要求报告F2生理信号F3日前、时间E1护士F4警告信息D2患者安全范围D1患者日志F5安全范围F6日志P1接收
15、信号P4定时取样生理信号P5更新日志P3产生警告信息P2分析信号P6产生病情报告F2生理信号危及病人信息定时的生理信号F2生理信号F6日志E1护士E3时钟E2病人F1要求报告F2生理信号F3日前、时间E1护士F4警告信息D2患者安全范围D1患者日志F5安全范围F6日志P1接收信号P4定时取样生理信号P5更新日志P3产生警告信息P2分析信号P6产生病情报告F2生理信号危及病人信息定时的生理信号F2生理信号F6日志D3生理信息F2生理信号定时的生理信号名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - -
16、 - - - - - - 第 4 页,共 33 页 - - - - - - - - - E1护士E3时钟E2病人F1要求报告F2生理信号F3日前、时间E1护士F4警告信息D2患者安全范围D1患者日志F5安全范围F6日志P1接收信号P4定时取样生理信号P5更新日志P3产生警告信息P2分析信号P6产生病情报告F2生理信号危及病人信息定时的生理信号F2生理信号F6日志D3生理信息F2生理信号定时的生理信号P7制定安全范围5可行性研究的步骤? (1) 复查系统的规模和目标;(2) 研究目前正在使用的系统,总结现有系统的优劣,提出新系统的雏形; (3) 导出新系统的高层逻辑模型;(4) 推荐建议方案;(
17、5) 推荐行动方针; (6) 书写计划任务书 ( 可行性报告 ) ; (7) 提交审查。5-1. 2-5 北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是 0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字 ( 第1位不是0),若是外地电话则拨3位区码再拨 8位电话号码 ( 第1位不是 0) 。请用定义数据字典的方法,定义上述的电话号码。数据结构的描述符 号含 义举例被定义为与x = ab.,. 或 .|. 或 x = a , b,x = a | b . 或 m.n 重复 x = a, x = 3a8 (.) 可选 x =
18、 (a) “.”基本数据元素x = “a” . 连结符x = 1.9 电话号码 =校内电话号码 |校外电话号码 校内电话号码 =非零数字 + 3 位数字/后面继续定义校外电话号码 =本市号码 |外地号码 本市号码 =数字零 +8位数字外地号码 =数字零 +3位数字 +8位数字非零数字 =1|2|3|4|5|6|7|8|9 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 5 页,共 33 页 - - - - - - - - - 数字零 0 3位数字 3数字 3 /3至
19、3个数字8位数字 =非零数字 +7位数字7位数字 =7数字 7 数字 0|1|2|3|4|5|6|7|8|96. 可行性研究报告的主要内容?可行性分析的结果是可行性研究报告, 内容包括: (1) 系统概述: 说明开发的系统名称, 提出单位和开发单位。(2) 可行性研究的前提: 系统目标; 要求;约束和限制; 可行性研究的基本准则等。(3) 对现有系统的分析 : 处理流程,图示说明现有系统的处理流程和数据流程;现有系统存在的问题。 (4) 系统需求 : 主要功能;主要性能及其要求;操作要求;信息要求;限制性要求。(5) 建议系统 : 系统目标;处理流程;系统结构 , 功能 , 性能;系统技术可行
20、性;投资和效益分析;操作可行性;法律可行性。(6) 其它可选方案 : 与国内外同类型方案的比较;提出一两个可行性方案供论证和探讨。(7) 制定下一阶段的预算。 (8) 结论性意见:由用户方、设计方和投资方共同签署意见。第三章需求分析习题答案1. 需求分析的描述工具有哪些? 有数据流图、数据字典、判定表、判定树、结构化自然语言、层次方框图、Warnier 图、IPO 图和需求描述语言等。2. 需求分析的基本任务是什么? 准确定义未来系统的目标,确定为了满足用户的需要系统必须做什么。3. 怎样建立目标系统的逻辑模型?要经过哪些步骤 ? 建立目标系统的逻辑模型的过程也就是数据流图的分解过程。它的导出
21、过程如图:3-3. 3-3 银行计算机储蓄系统的工作过程大致如下:储户 填写的 存款单 或取款单 由业务员 键入系统,如果是存款则系统 记录 存款人 姓名、住址 ( 或电话号码 ) 、身份证号码、存款类型 、存款日期、到期日期、利率及密码 ( 可选 ) 等信息,并印出存单 给储户;如果是取款 而且 存款时留有密码,则系统首先 核对储户密码 ,若密码 正确 或存款时 未留 密码,则系统 计算 利息 并印出 利息清单 给储户。请用数据流图描绘本系统的功能,并用实体-联系图描绘系统中的数据对象。E1储户P0储蓄系统E1储户F1存款单F2取款单F3存单F4利息清单D1存款信息F5存款信息 F5存款信息
22、名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 6 页,共 33 页 - - - - - - - - - E1储户E1储户F1存款单F2取款单F3存单F4利息D1 存款信息F5存款信息F5存款信息E2业务员P3核算密码P4计算利息P5打印利息清单P1记录存款信息P2打印存单F7密码D2存款利率F8储蓄利率P6设置利率F8储蓄利率F8储蓄利率F6取款信息F5存款信息F7密码F4利息F4利息E1储户F2取款单D1存款信息P3.1输入取款信息F7密码P3.2密码校验F5存
23、款信息F7密码无效取款信息ER 模型本问题中共有两类实体,分别是“储户 ”和“ 储蓄所 ” ,在它们之间存在“存取款 ”关系。因为一位储户可以在多家储蓄所存取款,一家储蓄所拥有多位储户,所以“存取款”是多对多(M:N )关系。储户的属性主要有姓名、住址、电话号码和身份证号码,储蓄所的属性主要是名称、地址和电话号码,而数额、类型、到期日期、利率和密码则是 关系类型存取款 的属性。4. 什么是结构化分析?它的结构化体现在哪里? 结构化分析 : 使用数据流程图、数据字典、结构化英语、判定表和判定树等工具,来建立一种新的、称为结构化说明书的目标文档- 需求规格说明书。结构化体现在将软件系统抽象为一系列
24、的逻辑加工单元,各单元之间以数据流发生关联。5. 软件需求规格说明书由哪些部分组成? 组成包括: 1) 引言:编写目的、背景说明、术语定义及参考资料等。(2) 概述主要功能、约束条件或特殊需求。 (3) 数据流图与数据字典。(4) 用户接口、硬件接口及软件接口。(5) 性能需求、属性等。(6) 其它需求,如数据库、操作及故障处理等。名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 7 页,共 33 页 - - - - - - - - - 6. 为什么数据流图要分层?画
25、分层的 DFD要遵循哪些原则 ? 分层的目的:便于逐步细化、结构清晰。画分层的DFD要遵循哪些原则:(1) 父图与子图之间数据要平衡。(2) 分解的深度和层次达到使加工足够简单、易于理解的基本加工为止。(3) 区分局部文件和局部外部项( 局限于数据流中某一层或某几层的文件和外部项 ) 。(4) 不要把控制流作为数据流。5) 忽略琐碎的枝节。 (6) 每个数据流要有一个合适的名字,尽量使用现实系统中有具体意义的名字。3-6 复印机的工作过程大致如下:未接到复印命令时处于闲置 状态,一旦接到 复印命令 则进入 复印 状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程导论 2022年软件工程导论课后习题详细答案 2022 软件工程 导论 课后 习题 详细 答案
限制150内