软工课后习题老师画的
软件工程(第五版)--习题及答案
打印出取票通知和票务账单。旅客可在航班的前一天凭取票通知和票务账单交款取票。系统
13、在软件生产的程序系统时代由于软件规模扩大和和软件复杂性提高等原因导
致了A。
A、软件危机 B、软件工程
C、程序设计革命 D、结构化程序设计
14、集成化开发环境中的环境集成机制不包括D。
A、数据集成 B、控制集成
没有尽早停止没有可行解决方案的开发项目就会造成时间、资金、人力、物力的浪费。为
了降低软件开发失败的可能性需要进行软件可行性研究。可行性研究要从经济可行性、技
术可行性、运行可行性和法律可行性四方面进行。 2、简述可行性研究的步骤。
答1审核系统的规模和目标2分析研究现行系统3设计新系统的高层逻辑模
5、×文字处理软件Word属于系统软件。 应用软件 6、√原型是软件的一个早期可运行的版本它反映最终系统的部分重要特性。
7、√软件开发过程中一个错误发现得越晚为改正它所付出的代价就越大。
8、×快速原型模型对软件开发人员的水平要求不高。
9、√喷泉模型适合于面向对象的软件开发。
10、×面向对象开发方法的主要缺点是在适应需求变化方面不够灵活。
二、选择题
1、软件是一种C。
A、程序 B、数据 C、逻辑产品 D、物理产品
2、软件开发方法是A。
A、指导软件开发的一系列规则和约定 B、软件开发的步骤
C、软件开发的技术 D、软件开发的思想
2、软件可行性研究的目的是C。
UML软件建模教程课后习题及答案
UML软件建模教程课后习题及答案习题1一、简答题1.简述模型的作用。
答:现实系统的复杂性和内隐性,使得人们难于直接认识和把握,为了使得人们能够直观和明了地认识和把握现实系统,就需要借助于模型。
2.软件模型有什么特征?答:建模对象特殊,复杂性,多样性3.软件建模技术有哪些因素?答:软件建模方法,软件建模过程,软件建模语言,软件建模工具 4.软件模型包括哪些方面的内容?答:从模型所反映的侧面看:功能模型,非功能模型,数据模型,对象模型,过程模型,状态模型,交互模型,架构模型,界面模型等;从软件开发工作看:业务模型,需求模型,分析模型,设计模型,测试模型等。
5.软件建模工具应该具有哪些基本功能?答:软件模型的生成和编辑,软件模型的质量保障,软件模型管理等二、填空题1、模型是对现实的(抽象)和模拟,是对现实系统(本质)特征的一种抽象、简化和直观的描述。
2、模型具有(反映性)、直观性、(简化性)和抽象性等特征。
3、从抽象程度,可以把模型分为(概念模型)、逻辑模型和(物理模型)三种类型。
4、较之于其他模型,软件模型具有(建模对象特殊)、复杂性和(多样性)等特征。
5、软件模型是软件开发人员交流的(媒介),是软件升级和维护的(依据)。
6、软件建模技术的要素包括软件建模方法、(软件建模过程)、软件建模语言和(软件建模工具)。
7、从开发阶段看,软件建模有业务模型、(需求模型)、分析模型、(设计模型)和测试模型。
8、软件语言有软件需求定义语言、(软件设计语言)、软件建模语言、(软件结构描述语言)、软件程序设计语言等。
9、根据软件建模工具的独立性,把软件建模工具分为(独立软件)建模工具和(插件式软件)建模工具。
10、OMG在(1997)年把UML作为软件建模的标准,UML2.0版本是(2005)年颁布的。
三、选择题1、对软件模型而言,下面说法错误的是(D)。
A.是人员交流的媒介B.是软件的中间形态C.是软件升级和维护的依据D.是软件的标准文档2、下面说法错误的是(B)。
(完整版)软件工程课后习题答案
第一章1.1什么是计算机软件?软件的特点是什么?计算机软件是指计算机系统中的程序及其文档软件的特点:●软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算。
●软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大。
●软件的使用没有硬件那样的机械磨损和老化问题。
1.2简述软件的分类,并举例说明1.系统软件系统软件居于计算机系统中最接近硬件的一层,其他软件一般都通过系统软件发挥作用。
例如:编译软件、操作系统。
2.支撑软件支撑软件是支撑软件的开发和维护的软件。
例如:数据库管理系统、网络软件、软件工具、软件开发环境。
3.应用软件应用软件是特定应用领域专用的软件。
例如:工程/科学计算机软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。
1.3简述软件语言的分类,并举例说明。
1.需求定义语言是用于书写软件需求定义的语言。
例如:PSL/PSA。
2.功能性语言是用于书写软件功能规约的语言,通常又称为功能规约语言。
例如:广谱语言、Z 语言。
3.设计性语言是用于书写软件设计规约的语言。
例如:PDL。
4.实现性语言也称为程序设计语言,是用于书写计算机程序的语言。
例如:C、java、PROLOG、FORTRAN、COBOL、Modula。
5.文档语言是用于书写软件文档的语言。
通常用自然语言或半形式化语言书写。
1.4什么是软件工程?软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。
软件工程借鉴传统工程的原则、方法,以提高质量、降低成本为目的。
1.5简述软件工程的基本原则。
软件工程原则包括围绕工程设计、工程支持和工程管理所提出的以下4条基本原则。
1.选取适宜的开发模型必须认识需求定义的易变性,采用适宜的开发模型,保证软件产品满足用户的要求。
2.采用合适的设计方法合适的设计方法有助于这些特征的实现,以达到软件工程的目标。
3.提供高质量的工程支撑软件工程项目的质量与开销直接取决于对软件工程所提供的支撑质量和效用。
软件工程课后习题答案第五版
软件工程课后习题答案第五版《软件工程导论》课后习题答案第一章软件工程概论1.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。
(2)软件产品的质量往往靠不住。
(3)一般软件很难维护。
(4)软件生产效率很低。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
- (7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
2.为什么会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。
造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。
(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。
(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。
3.怎样克服软件危机?(1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。
在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。
(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。
(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。
将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。
- 总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。
4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。
5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。
软件工程课后习题答案2-12章
D3生理信息 定时的生理信号
F2生理信号 P1 接收信号 F2生理信号 定时的 生理信号
F6日志 E3 时钟 F3日前、时间 P4 定时取样 生理信号 F6日志 E1 护士 F1要求报告 P6 产生病情报告 D1患者日志
范
信
理
生
患者生理信 号获取
生理信号
定
时
生
理
生
号
理
信
信
围
号
号
患者监护系 统
危 日志 机信息
安排航班
预 定 信 息
机票 信息
交款
打印取票单 据
打印及发放 机票
有
航班
通 效 知
设置航班
录入预定信 息
录入取票凭 证
核对取票凭 证
P2 分析信号 E2 病人 F2生理信号
危及病人信息 F2生理信号 D2患者安全范围 P7制定安 全范围 P5 更新日志
P3 产生警告信息 F4警告信息 E1 护士
F5安全范围
监护处理
志 日 定时生理信号
号 生理信
监护信息输 出
息
生
理
制定生理信 号安全范围
接收信号
定时取样 生理信号
时间
分析信号
更新日志
报警
危机信
信
号
范
围
信息 危机
生
信 理 生 时 定 号 信 理
日 志
取得时间
号
病情报告
• P104:4 • 美国某大学有200名教师,校方与教师工会刚刚签订一项协议。 按照协议,所有年工资超过$26000(含$26000 )的教师工 资将保持不变,年工资少于$26000的教师将增加工资,所增 加工资数额按下述方法计算:给每位教师所赡养的人(包括 教师本人)每年补助$100,此外,教师有一年工龄每年再多 补助¥50,但是,增加后的年工资总额不能多于$26000。 • 教师工资档案存储在行政办公室的磁带上,档案中有目前的 年工资、赡养的人数、雇佣日期等信息。需要写一个程序计 算并印出每名教师的原工资和调整后的新工资。 • 要求:(1)画出此系统的数据流图;(2)写出需求说明; • (3)设计上述的工资调整程序(要求用HIPO图描绘设计结果), 设计时分别采用两种算法,并比较两种算法的优缺点: – (a)搜索工资档案数据,找出年工资少于$26000的人, 计算新工资,校核是否超过$26000,存储新工资,印出新 旧工资对照表; – (b)把工资档案数据按工资从最低到最高的次序排序,当 工资数额超过$26000时即停止排序,计算新工资,校核是 否超过限额,存储新工资,印出结果。 • (4)你所画出的数据流图适应用那种算法?
软件工程第五版课后习题答案第五章
习题5
3(1)数据流图如下:
对数据流图划分边界,如下所示:
按照以上数据流图设计软件结构,如下所示:
4(1)数据流图如下:
(2)需求说明:
功能需求:系统需要能查出教师的原有工资,计算出教师的现有工资,并打印相关信息。
数据需求:教师的原有工资信息,教师赡养的人数,教师的工龄
行为需求:系统要能判断原有工资是否符合涨工资要求,要精确计算现有工资,要提供给用户调查信息的借口与界面。
(3)用a 算法的HIPO 图:
教师档案
办公室磁带 打印原有工资和新工资信息 提取原工资
信息
计算新工资 办公室磁带
年工资大于等于$26000 年工资小于$26000
用b算法的HIPO图:
对于算法(a):优点:这样设置符合常规思路,容易让人理解
缺点:计算的次数较多。
检索效率低。
对于算法(b):优点:计算的次数较少,效率高
缺点:该算法不易于理解。
涉及到排序算法的设计。
(4)所画的数据流图更符合a算法。
5.答:需求分析:要实现三大功能,发牌;确定获胜方和牌型;模拟多次游戏,计算牌型的获胜和平局的概率。
分析后,设计的HIPO图如下:流程图在下页:
控制流程图如下:。
软件工程课后习题答案2-12章
书状态为S2&终端 输入“H=”加书名 管理员设置状 态 管理员删除 管理员添加
预约
书出库(删除) 书入库
图4.4.2
(三)图书馆终端用户模式的有穷状态机描述 • 状态机J:{读者查询状态,查询结果} • 输入集K:{终端输入用户查询命令,书的各种 状态(S1,S2,S3)} • 转换函数T:如图4.4.3所示 • 初始态S:{读者查询状态} • 终态集F:{查询结果}
取票通知 账单 机票 账单
P3.1 核对取票凭证 顾客 取票通知 P3.2 交款 机票 P3.3 打印机票
机票预定系 统
信 息 通 知 单 机 票
账
单
信息
机票
通
预定信息处 理
信息
知
账
通
单
有
单
取票凭证处 理
通知 账单 单
账单
信 息 定 预 航班信
息
机票预定子 系统
单 知
机票发放子 系统
效 通 知
机
票
取款单
P3.1输入取款 信息
取款信息 E1储 户 密码 P3.2 密码校验
P4 计算利息
利息 利息 P5 打印利息 清单
密码正确信息
E2业 务员
利率
P6设置利 率
利率
不能是两个分开的子系统,是相同的前台单个处理
银行储蓄系 统
存 款 单 款
率 利
利 存单 息清单
密 码
业务单据录 入
利 率
存款单
取
单
储蓄业务处理
(一)图书状态的有穷状态机描述 • 状态机J:{书在图书馆S1,书被借出S2, 书被预约S3} • 输入集K:{书上条形码,借阅卡条形码, 终端输入各种命令} • 转换函数T:如图4.4.1所示 • 初始态S:{书在图书馆S1,书被借出S2} • 终态集F:{书被借出S2,书被预约S3}
软件工程课后习题及其答案
软件工程习题CH1一、填空题1、软件工程需要解决的问题包括:费用、可靠性、可维护性、生产率和重用。
2、到目前为止,软件生产的发展经历了三个阶段,即程序设计、程序系统和软件工程。
3、计算机科学中的研究曾国均可用于软件工程,但计算机科学侧重于原理和理论,而软件工程侧重于软件系统构造。
4、软件工程有用管理科学的方法和原理进行软件生产的管理。
5、软件工程是用科学知识和技术原理来定义、开发、维护软件的一门科学。
6、软件工程研究的主要内容包括软件开发技术和软件开发管理技术两个方面。
在软件开发技术方面,主要研究开发方法、开发过程、开发工具。
在软件开发管理技术方面主要研究管理学、经济学、心理学。
7、作为一门交叉学科,软件工程具有很强的综合性,它涉及计算机科学、工程科学、管理科学、数学等领域。
8、软件生产周期是指一个软件从提出开发要求开始直到该软件报废为止的整个时期。
通常包括问题定义、可行性研究、需求分析、总体设计、详细设计、编码、测试、维护等活动,可以将这些活动以适当方式分配到不同阶段去完成。
9、开发软件工具的主要目的是为了提高软件生产效率和改善软件的质量。
10、描述软件开发过程中各种活动如何执行的模型称为周期模型。
11、从软件工程诞生以来,已经提出了多种软件开发方法,如结构化方法、面向数据的方法、面向对象的方法,它们对软件工程及软件产业的发展起到了不可估量的作用。
12、结构化方法由结构化分析、结构化设计和结构化程序设计构成。
它是一种面向数据流的开发方法。
13、增量模型是一种非整体开发方法的模型。
软件在该模型中是“逐渐”开发出来的,开发一部分向用户展示一部分,可让用户及早看到部分软件,及早发现问题。
或者先开发一个“原型”软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的软件产品。
14、喷泉模型是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。
它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。
软件工程(第二版)课后习题
第一d ìy ī章zhāng1.什么s hén me 是s h ì软件ru ǎnjiàn 危机w ēi j ī?为什么w èi s h én m e 会h u ì产生ch ǎnsh ēng 软件ru ǎnjiàn 危机w ēi j ī?答d á:软件ru ǎnjiàn 危机w ēi j ī是s h ì指z h ǐ在z ài 计算机j ìs u àn j ī软件ru ǎnjiàn 的d e 开发k āi f ā和h é维护w éi h ù过程guòchéng 中zh ōng 遇到y ùd ào 的一系列严重问题。
(1).软件维护费用急剧上升,直接威胁计算机应用的夸大。
(2).软件生产技术进步缓慢 2. 什么是软件生产工程化?工程化生产方法与早期的程序设计方法主要差别在哪里?答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。
采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。
3. 分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管理的相互关系。
答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。
当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。
新方法在推行初期,总有人不愿接受和采用。
若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。
(2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。
软件工程许家怡教材习题答案《《软件工程——理论与实践》(第2版)习题答案》
《软件工程——理论与实践》(第2版)习题答案习题答案习题一答案一、选择题1. 软件的主要特性是(A B C)。
A) 无形B) 高成本C) 包括程序和文档D) 可独立构成计算机系统2. 软件工程三要素是(B)。
A) 技术、方法和工具B) 方法、工具和过程C) 方法、对象和类D) 过程、模型、方法3. 包含风险分析的软件工程模型是(A)。
A) 螺旋模型B) 瀑布模型C) 增量模型D) 喷泉模型4. 软件工程的主要目标是(C)。
A) 软件需求B) 软件设计C) 风险分析D) 软件实现5. 下列属于面向对象开发方法的是(A B C D)。
A) Booch B) UML C) Coad D) OMT6. 软件危机的主要表现是(B D)。
A) 软件成本太高B) 软件产品的质量低劣C) 软件开发人员明显不足D) 软件生产率低下7. 软件开发方法的主要工作模型有(A B C)A) 螺旋模型B) 循环模型C) 瀑布模型D) 专家模型8. 软件工程的目标有(A B C)。
A) 易于维护B) 低的开发成本C) 高性能D) 短的开发期9. 软件工程学的目的和意义是(A D)。
A) 应用科学的方法和工程化的规范管理来指导软件开发B) 克服软件危机C) 作好软件开发的培训工作D) 以较低的成本开发出高质量的软件二、判断题1. 软件就是程序,编写软件就是编写程序。
(×)2. 瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
(×)3. 结构化方法的工作模型是使用螺旋模型进行开发。
(×)4. 结构化方法和OO方法都是一种面向过程的软件开发方法。
(×)5. 原型化开发方法包括生成原型和实现原型两个步骤。
(×)6. 面向对象的开发方法包括面向对象的分析、面向对象的设计和面向对象的程序设计。
( √)7. 软件危机的主要表现是软件的需求量迅速增加,软件价格上升。
(×)8. 软件工具的作用是为了延长软件产品的寿命。
软件工程课后习题_第1,2,3章
第一章:一.判断题:1.软件就程序,编软件就是编写程序。
()2.软件危机的主要表现是软件需求增加,软件价格上升。
()3.软件工程科学出现的主要原因是软件危机的出现。
()4.与计算机科学的理论研究不同,软件工程是一门原理性学科()二.选择题1.在下列选项中,()不是软件的特征A系统性与复杂性 B 可靠性与一致性C 抽象性与智能性D 有形性与可控性2.软件危机的主要原因是:A软件工具落后 B 软件生产能力不足C 对软件的认识不够D 软件本身的特点及开发方法3.下列说法正确是的是A 20世纪50年代提出了软件工程的概念B 20世纪60年代提出了软件工程的概念C 20世纪70年代提出了客户机/服务器技术D 20世纪80年代软件工程学达到成熟4.( )是将系统化的规范的可定量的方法应用于软件的开发,运行和维护的过程。
它包括方法、工具和过程三个要素A 软件生命周期B 软件测试C 软件工程D 软件过程5.在下列选项中,()不属于软件工程学科索要研究的基本内容。
A 软件工程材料B 软件工程目标C 软件工程原理D 软件工程过程6.软件工程的三要素是()A技术,方法和工具 B 方法,对象和类 C 方法,工具和过程 D 过程,模型和方法7.用来辅助软件开发,运行,维护,管理,支持等过程中的活动的软件成为软件开发工具,通常也称为()工具A CADB CAIC CAMD CASE三简答题1.与计算机硬件相比,计算机软件有哪些特点?2.软件就是程序吗?如何定义软件?3.什么是软件危机?是什么原因导致了软件危机?4.为什么说软件工程的开发能在一定程度上解决软件危机的各种弊端?5.请简述软件工程的研究内容。
6.请简述软件工程的三要素。
7.请简述软件工程的目标,过程和原则。
8.请简述软件工程的基本原则。
9.请简述现代软件工程与传统软件工程显著的区别与改进。
第二章:一判断题1.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
软件工程导论(第五版)课后习题答案ok
软件工程导论(第五版)课后习题答案ok 《软件工程导论》课后习题答案第一章软件工程概论 1-11.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。
(2)软件产品的质量往往靠不住。
(3)一般软件很难维护。
(4)软件生产效率很低。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
2.软件危机有那些典型表现?(1) 对软件开发成本和进度的估计常常很不准确。
(2) 用户对“已完成的”软件系统不满意的现象经常发生。
(3) 软件产品的质量往往靠不住。
(4) 软件常常是不可维护的。
(5) 软件通常没有适当的文档资料。
(6) 软件成本在计算机系统总成本中所占的比例逐年上升。
(7) 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
3.为什么会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。
造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。
(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。
(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。
4.怎样克服软件危机?(1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。
在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。
(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。
软件工程第5版课后答案28页PPT
60、生活的道路一旦选定,就要勇敢地 走到底 ,决不 回头1、获得的成功越大,就越令人高兴 。野心 是使人 勤奋的 原因, 节制使 人枯萎 。 12、不问收获,只问耕耘。如同种树 ,先有 根茎, 再有枝 叶,尔 后花实 ,好好 劳动, 不要想 太多, 那样只 会使人 胆孝懒 惰,因 为不实 践,甚 至不接 触社会 ,难道 你是野 人。(名 言网) 13、不怕,不悔(虽然只有四个字,但 常看常 新。 14、我在心里默默地为每一个人祝福 。我爱 自己, 我用清 洁与节 制来珍 惜我的 身体, 我用智 慧和知 识充实 我的头 脑。 15、这世上的一切都借希望而完成。 农夫不 会播下 一粒玉 米,如 果他不 曾希望 它长成 种籽; 单身汉 不会娶 妻,如 果他不 曾希望 有小孩 ;商人 或手艺 人不会 工作, 如果他 不曾希 望因此 而有收 益。-- 马钉路 德。
56、书不仅是生活,而且是现在、过 去和未 来文化 生活的 源泉。 ——库 法耶夫 57、生命不可能有两次,但许多人连一 次也不 善于度 过。— —吕凯 特 58、问渠哪得清如许,为有源头活水来 。—— 朱熹 59、我的努力求学没有得到别的好处, 只不过 是愈来 愈发觉 自己的 无知。 ——笛 卡儿
软件工程--理论、方法与实践课后习题答案
B. 适用于客户需求难以清楚定义的情况
C. 最适合于大规模团队开发的项目
D. 很难产生有意义产品的一种冒险模型
7. 演进式软件过程模型(
)。(D)
A. 本质上是迭代的
B. 可以很容易适应需求的变化
C. 通常不会抛弃所产生的系统
D. 以上所有选项
8. 螺旋模型(
)。(C)
A. 在软件产品发布时结束
B. 比增量模型更加混乱
(4) 形式化方法模型 项目举例:某公司开发一个汽车防抱死刹车控制系统。 选用分析:由于该系统对安全性和可靠性要求极高,需要在系统运行之前进行相关性能的检 验,因此适合采用形式化方法开发该系统。 阶段说明:略。
(5) 基于组件的开发模型 项目举例:某公司开发企业管理 ERP 系统,包括销售、库存、生产、财务、物流、人力资 源等部分,在系统实施过程中不同的企业具有一定的需求差异。 选用分析:企业 ERP 系统具有组件化的结构,在不同企业实施时应该尽量重用已有的组件, 因此适合采用基于组件的开发模型开发该系统,在直接应用或者修改使用的基础上,最终进 行组件开发和系统集成。 阶段说明:略。
)准则。(E)
A. 从来不为个人获利而窃取数据
B. 从来不散布或出售项目中自己工作的信息
C. 从来不故意毁坏或修改别人的程序、文件或数据
D. 从来不侵犯个人、小组或组织的隐私
E. 以上所有选项
[练习题]
1.
软件与其他工程学科所产生的制品有什么根本区别?
答案要点: (1) 软件是人类思维和智能所延伸的产物,其数据、状态和逻辑关系的组合以及人类思维的 复杂性和不确定性导致它本身具有极高的复杂性; (2) 软件具有不可见性,它是抽象的,形式化和逻辑化的。 (3) 软件具有可变性,有用的软件需要不断地修改和扩展,但是频繁的修改可能导致软件的 退化;
软件工程第五版课本重点及课后题
1.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
具有长期性和症状不明显特征。
2.软件危机表现在以下几个方面:(1)用户对开发出的软件很难满意。
(2)软件产品的质量往往靠不住。
(3)一般软件很难维护。
(4)软件生产效率很低。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
特点:长期性和症状不明显性。
3.为什么会产生软件危机?一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
4.什么是软件工程?软件工程是指导计算机软件软件开发和维护的一门工程学科,采用工程的概念,原理,技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济的开发出高质量的软件并有效的维护它,这就是软件工程。
具体的定义:把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件。
5.软件生命周期的8个阶段:(1)问题定义(确定问题);(2)可行性研究(可研报告);(3)需求分析(规格说明,逻辑模型);(4)总体设计(确定系统体系结构);(5)详细设计(数据结构);(6)编码和单元测试(程序清单,单元测试报告);(7)综合测试;(8)软件维护。
6.瀑布模型(文档驱动)特点:(1)阶段间具有顺序性和依赖性;(2)推迟实现的观点;(3)质量保证的观点。
3.快速原型模型(建立功能原件):快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。
1.可行性研究包括哪几方面的内容?(1)技术可行性:现有技术能否实现本系统,现有技术人员能否胜任,开发系统的资源能否满足;(2)经济可行性:经济效益是否超出开发成本;(3)操作可行性:系统操作在用户内部行得通吗。
2.可行性研究的过程:(1)复查系统的规模和目标;(2)研究目前正在使用的系统(经济角度、功能指标、环境约束)(3)导出新系统的高层逻辑模型(工具:数据流图、数据字典);(4)进一步定义问题(5)导出和评价供选择的解法(技术角度、操作可行性、经济可行性、实现进度表);(6) 推荐行动方针;(7)草拟开发计划(8)书写文档提交审查3.数据流图(DFD)是一种图形化技术,它描述信息流和数据从输入移动到输出的过程中所经受的变换。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章软件项目估计P109 19、20、21、23、24、2719、已知一个软件项目的记录,开发人员M=3人,其代码行数=12.1KLOC,工作量E=24PM,成本S=168000美元,错误数N=29,文档页数Pd=365页。
试计算开发该软件项目的生产率P、平均成本C、代码出错率EQR和文档率D。
0201解:1.软件开发的生产率P为:P = L / E = 12.1×103LOC / 24PM = 504 LOC/PM2.开发每行代码的平均成本C为:C = S / L = 168000美元/ 12100LOC=13.9美元/LOC3.代码出错率EQR为:EQR = N / L = 29个/12.1KLOC=2.4个/KLOC4.软件的文档率D为:D = Pd / L = 365页/ 12.1KLOC = 30页/ KLOC20、使用COCOMOⅡ模型来估算建造一个简单的ATM软件(产生12个屏幕、10个报表、大约需要80个软件构件)所需的工作量。
假设平均复杂度(即屏幕的权为2,报表的权为5,构件的权为10)和平均开发者/环境成熟度(即平均生产率为13NOP/人.月),复用的百分比为40%。
使用基于对象点的应用组装模型。
试完成以下计算:1) 计算项目新的对象点数NOP。
(NOP=对象点×(1-复用%))2) 根据NOP值进行工作量估算(人月)。
3) 软件人员劳动力平均价格是每月4000人民币,求每个NOP的成本。
(5分)971) 对象点=12×2+10×5+80×10=874NOP=874×(1-40%)=524.42) 估算工作量=NOP/PROD=524.4/13=40(人月)3) 每个NOP成本=4000/13=308(元/NOP)21、根据下面的信息域特性值:外部输入数外部输出数外部查询数内部接口数外部文件数10 12 15 8 8假设各项加权因子均为5,不考虑复杂度调整值(即)试完成以下计算1)计算项目的功能点的总计数值FP2)设平均生产率为10FP/pm,软件人员劳动力平均价格是每月5000人民币,求每个FP 的成本3)根据FP值计算总的项目成本,并进行工作量估算(人月)【答】1)FP=(10+12+15+8+8)*5*0.65=172.252)5000/10=500(人民币)3)500*172.25=86125人民币(总项目成本)172.3/10=17.2(人月)23、下表是某公司的一个项目的历史数据,假设评价时间为08年4月1日,试计算获得值分析(10分):工作任务估计工作量成本(人天)实际工作量成本估计完成日期实际完成日期1 5 10 08-1-25 08-2-12 20 15 08-2-15 08-2-153 50 6 08-5-154 40 50 08-4-15 08-4-15 60 50 08-7-16 80 70 08-9-1试计算:(1)预计工作的预算成本BCWS=【答】BCWS=5+20=25(2)已完成工作的预算成本BCWP=【答】BCWP=5+20+40=65(3)完成工作的预算成本BAC=【答】BAC=5+20+50+40+60+80=255(4)已完成工作的实际成本ACWP=【答】ACWP=10+15+50=7525、某个固定资产投资项目需要原始投资1000万元,有A、B、C、D 四个互相排斥的备选方案可供选择,各方案的净现值指标分别为420.89万元,511.72万元,620.60万元和556.26万元。
按净现值法进行比较决策。
答:因为A、B、C、D各个备选项目方案的NPV均大于零,所以这些方案均具备财务可行性。
又因为620.60>556.26>511.72>420.89,所以C方案最优,其次为D 方案,再次为B方案,最差为A方案。
27、某公司准备购置一台设备,有甲、乙两种可供选择,甲设备比乙设备高5 030元,但每年使用费可节约600元。
该设备可以使用10年,假设年利率为6%。
请问:该公司应选择使用哪一种设备?答:每年节约费用可视为现金流入,将其折为现值,然后与5 000元比较,若高于5 000元,就选择甲设备,否则选择乙设备。
P=A×(P/A,6%,10)=600×(P/A,6%,10)=600×7.3601=4 416.06(元)因为小于5 000元,所以应该选择乙设备。
第六章软件风险管理P149 19、20、21、22、2419、某软件小组计划项目中采用50个可复用的构件,每个构件平均是100 LOC,本地每个LOC的成本是13元人民币。
以下是该小组定义的一个项目风险。
①风险识别:预定要复用的软件构件中只有50%将被集成到应用中,剩余功能必须定制开发。
②风险概率:60%。
③该项目风险的风险曝光度是(19500元)。
解析:风险曝光度(Risk Exposure,RE)的计算公式为:RE=P×C。
其中,P是风险发生的概率,C是风险发生时带来的项目成本。
该软件小组计划采用50个可复用的构件,如果只有50%可能被使用,则25个构件必须从头开发。
由于构件平均是100 LOC,每个LOC的成本是13元人民币,则开发构件的整体成本C =25×100×13=32 500元人民币。
因此RE=0.6×32 500=19 500元人民币。
20、某公司历史数据表明:每KLOC的错误率为0.36%,每个错误平均损失10000元。
考虑对该项目使用附加评审方法,每评审100KLOC的程序需花费1000元,可以减少50%的错误,当前项目的大小估算为50KLOC。
试计算风险预期,该附加评审方法值得采用吗?没有采用评审技术:50×0.36%×10000=1800(元)采用评审技术:50×0.36%×50%×10000+1000×50/100=1400(元)值得采用附加评审方法21、在一项目中,计划有60个可复用的软件构件,平均每个构件的程序行数是100LOC。
本地数据表明,每LOC的成本是50元。
现已知存在一种项目风险,即计划复用的软件构件中可能只有60%将集成到应用系统中,这种风险发生的概率是80%。
试计算分险预期值。
解:风险预期值= 风险概率* 项目影响= 80% * (40% * 60 * 100 * 50)= 96000(元)22、已知甲方案投资收益率的期望值为15%,乙方案投资收益率的期望值为12%,两个方案都存在投资风险。
比较甲、乙两方案风险大小应采用的指标是?答:需要采用标准离差率。
因为标准离差仅适用于期望值相同的情况,在期望值相同的情况下,标准离差越大,风险越大;标准离差率适用于期望值相同或不同的情况,在期望值不同的情况下,标准离差率越大,风险越大。
24、某企业有甲、乙两个投资项目,计划投资额均为1000万元,其收益率的概率分布如下表所示:市场状况概率甲项目乙项目好0.3 20% 30%一般0.5 10% 10%差0.2 5% -5%要求:(1)分别计算甲乙两个项目收益率的期望值。
(2)分别计算甲乙两个项目收益率的标准差、标准离差率。
(3)若你是该项目的决策者,你会选择哪个方案?[答案](1)甲项目收益率的期望值=0.3×20%+0.5×10%+0.2×5%=12%乙项目收益率的期望值=0.3×30%+0.5×10%+0.2×(-5%)=13%(2)甲项目收益率的标准差=[(20%-12%)2×0.3+(10%-12%)2×0.5+(5%-12%)2×0.2]1/2=5.57%乙项目收益率的标准差=[(30%-13%)2×0.3+(10%-13%)2×0.5+(-5%-13%)2×0.2]1/2=12.49%(3)因为甲乙两个项目的期望值不同,所以应当比较二者的标准离差率进而比较风险的大小甲项目的标准离差率=5.57%/12%×100%=46.42%乙项目的标准离差率=12.49%/13%×100%=96.08%因为乙项目的标准离差率大于甲项目的标准离差率,所以乙项目的风险大于甲项目。
第八章面向过程的结构化设计P208 1、61.储户将填好的存款单(或取款单)、存折交银行,银行工作人员做如下处理:根据存(取)款单选择存款还是取款操作;如果是存款则进行存款处理;如果是取款则进行取款处理;存(取)款后打印存折。
要求画出该系统的分层数据流图,并将其转换为软件结构图。
例:欲开发一个银行的活期存取款业务的处理系统:储户将填好的存/取款单和存折交给银行工作人员,然后由系统作以下处理;(1)业务分类处理:系统首先根据储户所填的存/取款单,确定本次业务的性质,并将存/取款单和存折交下一步处理;(2)存款处理:系统将存款单上的存款金额分别记录在存折和帐目文件中,并将现金存入现金库;最后将存折还给储户;(3)取款处理:系统将取款单上的取款金额分别记录在存折和帐目文件中,并从现金库提取现金;最后将现金和存折还给储户。
绘制该系统的数据流图和软件结构图。
6、邮寄包裹收费标准如下:若收件地点在1000公里以内,普通件每公斤2元,挂号件每公斤3元。
若收件地点在1000公里以外,普通件每公斤2.5元,挂号件每公斤3.5元;若重量大于30公斤,超过部分每公斤加收0.5元。
请绘制确定收费的判定表和判定树。
(1)提取条件:地点,邮件类型,重量。
(2)标出各种条件在问题中的取值范围条件名取值取值数2地点<=1000>10002邮件类型普通件挂号件2重量<=30公斤>30公斤(3)计算这些条件在问题中的取值范围:2*2*2=8(4)提取问题的动作,绘制判定表规则1 2 3 4 5 6 7 8条件地点〈=10000T T T T地点〉1000T T T T 邮件类型为普通件T T T T邮件类型为挂号件T T T T 重量<=30公斤T T T T重量>30公斤T T T T动作每公斤收费2元T T每公斤收费2.5元T T每公斤收费3元T T每公斤收费3.5元T T 超过30公斤部分, 加收0.5元/公斤T T T T重量w<=30公斤收费=2元/公斤普通件重量w>30公斤收费=2元/公斤(另(w-30)*0.5元)地点〈=10000重量w<=30公斤收费=3元/公斤挂号件重量w>30公斤收费=3元/公斤(另(w-30)*0.5元)邮寄包裹收费标准重量w<=30公斤收费=2.5元/公斤普通件重量w>30公斤收费=2.5元/公斤(另(w-30)*0.5元)地点〉10000重量w<=30公斤收费=3.5元/公斤挂号件重量w>30公斤收费=3.5元/公斤(另(w-30)*0.5元)第九章面向过程的结构化实现P232 5第十章 软件的技术度量 P252 2、3、4、6、74.某系统体系结构图如右下所示,完成如下要求:1)求出该体系结构的深度; 2)求出该体系结构的宽度;3)求出其中模块m 的扇入和的扇出。