实用软件工程第3版课后习题答案-IT168文库.doc
软件工程学第三版课后习题答案

P 0.048 0.72
789 4474263 5, (美元)
(2)如果一条指令的长度为一个字,则使存储器装满程序
共需4474263条指令。 在1985年一名程序员每天可开发出10条指令,如果每月 有20个工作日,则每人每月可开发出10×20条指令。 为了开发出4474263条指令以装满存储器,需要的工作量 是:
13:07:42 重庆工学院计算机科学与工程学院 李梁(liliang@)
2
作业及解答(第1-2章)
1-5 根据历史数据可以做出如下的假设 : 对计算机存储容量的需求大致按下面公式描述的趋势逐年 增加:M=4080e0.28(Y-1960) 存储器的价格按下面公式描述的趋势逐年下降: P1=0.3×0.72Y-1974(美分/位) 如果计算机字长为16位,则存储器价格下降的趋势为: P2=0.048×0.72Y-1974(美元/字) 在上列公式中Y代表年份,M是存储容量(字数),P1和P2代 表价格。 基于上述假设可以比较计算机硬件和软件成本的变化趋势 。要求计算:
13:07:42
重庆工学院计算机科学与工程学院 李梁(liliang@)
17
作业及解答(第3章)
E1 储户
F1存款单 F2取款单
P0储蓄系统
F3存单 F4利息清单
E1 储户
F5存款信息 F5存款信息
D1存款信息
13:07:42
重庆工学院计算机科学与工程学院 李梁(liliang@)
18
E1 储户
F1存款单 F7密码
P1 记录存款信息
P2 打印存单 F5存款信息 F3存单 E1 储户 F4利息
F5存款信息 D1存款信息 F7密码 F2取款单
F5存款信息 P3 核算密码
软件工程课后答案

第七章1.软件测试的方法:黑盒测试,白盒测试(1)黑盒测试:如果已经知道了产品应具有的功能,可以通过测试来检验是否每个功能都能正常使用,这就是黑盒测试:(2)白盒测试:如果知道产品的内部工作过程,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常进行。
2.测试步骤;(1)模块测试(2)子系统测试(3)系统测试(4)验收测试(5)平行运行3.测试重点:(1)模块接口(2)局部数据结构(3)重要的执行通路(4)出错处理通路(5)边界条件4.(1)主程序:驱动程序也就是一个主程序,他接受测试数据,把这些数据传送给被测试的模块,并且印出有关的结果,(2)虚拟子程序:存根程序也可以称为虚拟子程序,他使用被他代替的模块的接口,可能做最少量的数据操作,印出对入口的检验或操作结果,并且把控制归还给调用它的模块。
5.模块组装成程序时有两种方法:(1)非渐增式(2)渐增式{自顶向下集成,自底向上集成}6.混合法:对软件结构中较上层使用的自顶向下方法与软件结构中较下层使用的自底向上方法相结合。
7.回归测试:在集成测试的范畴中,所谓的回归测试是指重新执行已经做过的测试的某个子集,以保证上述的这些变化没有带来非预期的副作用。
8.确认测试:也称为验收测试,他的目标是验证软件的有效性。
验证:指的是保证软件正确的实现了某个特定要求的一系列活动。
确认:指的是为了保证软件确实满足了用户需求而进行的一系列活动。
9.确认测试的范围:确认测试必须由用户积极参与,或者以用户为主进行。
确认测试通常使用黑盒测试法10.Alpha和Beta测试(1)Alpha:有用户在开发者的场所进行,并且在开发者对用户的指导下进行测试。
开发者负责记录发现的错误和使用中遇到的问题。
Alpha测试是在受控的环境中进行的。
(2)Beta:油软件的最终用户们在一个或多个客户场所进行,开发者通常不在测试的现场用户记录在测试过程中遇到的问题,并定期把这些问题报告给开发者。
软件工程实用教程第三版郭宁主编课后习题及答案(供参考)

第一章软件工程引论1.在下列选项中,(D)不是软件的特征。
A.系统性与复制性 B. 可靠性与一致性 C. 抽象性与智能型 D.有形性与可控性2.软件是一种(B)产品。
A.有形 B. 逻辑 C. 物质 D. 消耗3.软件工程是一种(A)分阶段实现的软件程序开发方法。
A.自顶向下B. 自底向上C. 逐步求精D. 面向数据流4.与计算机科学的理论研究不同,软件工程是一门(B)学科。
A.理论性 B. 工程性 C. 原理性 D. 心理性5.软件工程与计算机科学性质不同,软件工程着重于(C)。
A.原理探讨 B. 理论研究 C. 建造软件系统 D. 原理性的理论6.下列说法正确的是(B)A.软件工程的概念于20世纪50年代提出B.软件工程的概念于20世纪60年代提出C.20世纪70年代出现了客户机/服务器技术D.20世纪80年代软件工程学科达到成熟7.软件工程方法学中的软件工程管理是其中的一个重要内容,它包括软件管理学和软件工程经济学,它要达到的目标是(D)A.管理开发人员,以开发良好的软件B.采用先进的软件开发工具,开发优秀的软件C.消除软件危机,达到软件生产的规模效益D.以基本的社会效益为基础,工程化生产软件第二章软件生命周期及开发模型1.软件生命周期包括可行性分析和项目开发计划、需求分析、总体设计、详细分析、编码、(B)、维护等活动。
A.应用 B. 测试 C. 检测 D. 以上答案都不正确2.软件生命周期模型有多中,下列项目中,(C)不是软件生命周期模型。
A.螺旋模型 B. 增量模型 C. 功能模型 D. 瀑布模型3.软件生命周期中时间最长的阶段时(D)A.需求分析阶段 B. 总体设计阶段 C. 测试阶段 D. 维护阶段4.瀑布模型是一种(D)A.软件开发方法B. 软件生存周期C. 程序设计方法学D. 软件生存周期模型5.软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为(A)A.瀑布模型B. 对象模型C. 螺旋模型D. 层次模型6.在结构化的瀑布模型中,(D)阶段定义的标准将成为软件测试中系统测试阶段的目标A.详细设计阶段B. 总体设计阶段C. 可行性研究阶段D. 需求分析7.增量模型是一种(B)的模型A.整体开发B. 非整体开发C. 灵活性差D. 较晚产生工作软件8.(C)是指模拟某种产品的原始模型A.模型B. 最初模型C. 原型D. 进化模型9.建立原型的目的不同,实现原型的途径也有所不同,下列不正确的类型是(B)A.用于验证软件需求的原型B. 垂直原型C. 用于验证设计方案的原型D.用于演化出目标系统的原型10.原型化方法是一种(A)型的设计过程。
计算机软件技术基础 第三版 课后习题答案

信息与数据信息是人们对某种事物的理解,通常可以是一件事情、一种状况或者是基于研究和经验所获得的知识。
数据是信息的表达。
例如,在线书店必须记录图书的书名、作者、客户、订单、书籍评论、书籍版本、送货等非常多的信息。
不同的用户所要保存和使用的数据各不相同,具体应该保存哪些数据由业务需求决定,保存数据的目的是使业务的运作更有效。
在任何数据库中,一般都保存有两种类型的数据:∙静态的,或者是历史的数据。
∙动态的,或者是事务性的数据。
文件系统最早用计算机实现对数据的管理是使用文件方式进行的,然而,文件的组织结构往往与生成该文件的程序有关,其他人要共享该文件,就必须要熟悉文件的格式等信息。
这为共享信息带来了诸多不便。
通过文件共享数据,还有一致性修改的问题,即如果文件结构被修改了,则共享者的程序也要相应地做修改,否则就会出错。
数据以文件形式保存,不仅使读文件的程序可以多次使用,而且其他程序只要知道数据格式和组织方式也可以使用,这就叫做数据资源共享。
商业应用中数据共享是必须的。
数据库系统信息共享和信息的易维护性是信息管理发展的必然要求。
为了解决这些问题,产生了数据库技术。
数据库技术的发展主要是用来克服文件系统的缺陷,克服这些缺陷主要是在应用程序和数据库之间增加了一个功能强大的软件——DBMS。
下图说明了在数据库系统中,数据库用户、数据库应用程序及数据库管理系统之间的关系。
用户与数据库应用程序交互,数据库应用程序与DBMS交互,由DBMS负责访问数据库中的数据。
也就是应用程序不直接与数据库打交道。
而在文件处理系统中,应用程序是直接访问存储数据的文件的。
这个改变非常重要,它使得编程工作变得非常简单,因为应用程序不再需要关心数据的记录结构和物理存储方式。
这样,开发人员就可以将注意力集中在如何满足用户的需要上,而不必集中在计算机系统如何组织数据的问题上。
从上述分析可以看到数据库具有如下特点:∙数据是集成的∙数据重复少∙程序与数据相对独立∙容易提供符合用户不同要求的信息提取方式∙易于提供安全保障9.2 数据模型模型是指明事物本质的方法,是对事物、现象、过程等客观系统的简化描述,是理解系统的思维工具。
软件工程课后习题(含答案)

第一章练习题一、填空题1、软件工程三要素是:方法、工具、过程。
2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。
二、名词(术语)解释:1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。
可靠性是衡量软件质量的一个重要目标。
2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。
可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。
三、问答题1、面向对象方法的优点是什么?答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。
(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。
2、可视化开发方法的优点有哪些?答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。
(2)软件开发简单,易学、易上手。
(3)专业或非专业人员都能参与软件开发活动。
第二章练习题一、填空题:1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工程活动。
2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。
3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。
4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。
二、简答题:1、瀑布模型的优点有哪些?答:1、强迫开发人员采用规范的技术方法;2、严格地规定了每个阶段必须提交的文档;3、每个阶段结束前必须正式进行严格的技术审查和管理复审。
2、瀑布模型的缺点是什么?答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。
2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。
3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。
(完整版)软件项目管理案例教程(第三版)课后习题答案整理(最终版)(修)

(完整版)软件项⽬管理案例教程(第三版)课后习题答案整理(最终版)(修)项⽬管理案例教程(第三版)习题及答案第⼀章软件项⽬管理概述⼀、填空题1、实现项⽬⽬标的制约因素有(项⽬范围)、(成本)、(进度计划)、(客户满意度)等。
2、项⽬管理包括(启动过程组)、(计划过程组)、(执⾏过程组)、(控制过程组)、(收尾过程组)5个过程组。
⼆、判断题1、搬家属于项⽬。
(对)2、项⽬是为了创造⼀个唯⼀的产品或提供⼀个唯⼀的服务⽽进⾏的永久性的努⼒。
(错)3、过程管理就是对过程进⾏管理,⽬的是要让过程能够被共享、复⽤,并得到持续的改进。
(对)4、项⽬具有临时性的特征。
(对)5、⽇常运作存在⼤量的变更管理,⽽项⽬基本保持连贯性的。
(错)6、项⽬开发过程中可以⽆限制地使⽤资源。
(错)三、选择题1、下列选项中不是项⽬与⽇常运作的区别的是(C)A. 项⽬是以⽬标为导向的,⽇常运作是通过效率和有效性体现的。
B. 项⽬是通过项⽬经理及其团队⼯作完成的,⽽⽇常运作是职能式的线性管理。
C.项⽬需要有专业知识的⼈来完成,⽽⽇常运作的完成⽆需特定专业知识。
D.项⽬是⼀次性的,⽇常运作是重复性的。
2、下列选项中最能体现项⽬的特征(C)A.运⽤进度计划技巧B.整合范围与成本C.确定期限D.利⽤⽹络进⾏跟踪3、以下都是⽇常运作和项⽬的共同之处,除了(D)A.由⼈来做B.受限于有限的资源C.需要规划、执⾏和控制D.都是重复性⼯作4、项⽬经理的职责不包括(D)A.开发计划 B.组织实施 C.项⽬控制 D.提供资⾦5、下列选项中属于项⽬的是(C)A.上课 B.社区保安 C.野餐活动 D.每天的卫⽣保洁6、下列选项中正确的是(C)A.⼀个项⽬具有明确的⽬标⽽且周期不限B.⼀个项⽬⼀旦确定就不会发⽣变更C.每个项⽬都有⾃⼰的独特性D.项⽬都是⼀次性的并由项⽬经理独⾃完成7、(B)是为了创造⼀个唯⼀的产品或提供⼀个唯⼀的服务⽽进⾏的临时性的努⼒。
A.过程 B.项⽬ C.项⽬群 D.组合8、(B)是⼀系列伴随着项⽬的进⾏⽽进⾏,⽬的是确保项⽬能够达到期望结果的⼀系列管理⾏为。
计算机软件技术基础(第三版) 课后习题答案较全

第一章信息与计算机1.1 什么是信息?信息与数据的区别和联系在何处?信息定义之一:信息是现实世界中存在的客观实体、现象、关系进行描述的数据。
信息定义之二:信息是经过加工后并对实体的行为产生影响的数据。
与数据的区别和联系:数据定义:数据是现实世界客观存在的实体或事物的属性值,即指人们听到的事实和看到的景象。
我们把这些数据收集起来,经过处理后,即得到人们需要的信息。
信息和数据的关系可以归结为: 1. 信息是有一定含义的数据。
2. 信息是经过加工(处理)后的数据。
3. 信息是对决策有价值的数据。
1.2 信息有哪些基本属性?信息的基本属性有: 1. 事实性。
2. 等级性。
3. 可压缩性。
4. 可扩散性。
5. 可传输性。
6. 共享性。
7. 增值性和再生性。
8. 转换性。
1.3 计算机的主要特点是什么?计算机最主要的特点是: 1. 高速自动的操作功能。
2. 具有记忆的能力。
3. 可以进行各种逻辑判断。
4. 精确高速的计算能力。
1.5 完整的计算机系统应该包括哪几部分?目前最完整的计算机系统学说认为由五部分组成: 1. 人员 2. 数据 3. 设备 4. 程序 5. 规程1.6 什么是计算机硬件?什么是计算机软件?硬件:泛指实际存在的物理设备,包括计算机本身及其外围设备。
微型计算机的硬件系统:主机、外存储器、输入设备、输出设备、微机的系统总线。
软件:是指计算机程序、方法、规则的文档以及在计算机上运行它时所必须的数据。
计算机软件一般分为系统软件和应用软件。
1.8 软件技术发展的几个阶段各有什么特点?它与硬件的关系如何?第一阶段:高级语言阶段特点:这一时期,编译技术代表了整个软件技术,软件工作者追求的主要目的是设计和实现在控制结构和数据结构方面表现能力强的高级语言。
但在这一时期内,编译系统主要是靠手工编制,自动化程度很低。
硬件关系:此时期计算机的硬件要求仅能用机器指令来编制可运行的程序。
第二阶段:结构程序设计阶段特点:在程序的正确性方面,提出了结构化程序设计思想使程序的可靠性提高了。
软件工程课后答案完整版

软件工程课后答案完整版软件工程是一门涉及软件开发与管理的学科,它关注着如何有效地组织、设计、开发和维护软件系统。
作为一门实践性强的学科,课后答案对于学习软件工程的学生来说非常重要。
本文将以软件工程课后答案为主题,为您提供一份完整版的答案,旨在帮助您更好地理解和掌握软件工程的知识。
一、需求分析与规格说明1. 问题描述对于任何一门软件工程课程,需求分析和规格说明都是至关重要的环节。
通过合理地分析需求,可以明确软件系统的功能需求、性能需求和用户需求,从而为后续的设计和开发工作奠定基础。
在这一部分中,我们将详细讨论问题描述、需求规格说明以及软件需求规格说明的编写步骤和技巧。
2. 答案示例问题描述:某个公司需要开发一个在线购物系统,能够满足用户浏览商品、下单购买、支付、评价等功能。
需求规格说明:该系统需要具备以下功能需求:- 用户注册登录:用户可以通过注册登录系统,建立个人账号,用于后续购物操作。
- 商品浏览:用户可以浏览系统中的商品,包括商品图片、详细介绍、价格等信息。
- 购物车管理:用户可以将感兴趣的商品加入购物车,并对购物车进行管理,如增加、删除、修改商品数量等操作。
- 订单管理:用户可以在购物车中选择商品提交订单,并进行支付操作。
- 支付功能:系统需要集成常用的支付渠道,如支付宝、微信支付等,以便用户支付订单。
- 评价功能:用户在收到商品后可以对商品进行评价,并可以查看其他用户对商品的评价。
三、软件系统设计与实现1. 系统架构设计系统架构设计是软件工程中的核心环节之一,它关注着如何将系统划分为各个模块,并确定模块之间的接口和依赖关系。
在这一部分中,我们将着重讨论系统架构设计的原则、方法以及常用的架构模式。
2. 答案示例系统架构设计的主要目标是实现系统的可扩展性、灵活性和可维护性。
在本次项目中,我们采用了经典的三层架构模式,即用户界面层、业务逻辑层和数据访问层。
- 用户界面层:负责与用户进行交互操作,接收用户输入的请求,并向用户展示系统的响应结果。
计算机软件技术基础 第三版 课后习题答案

第五章多媒体与多媒体开发多媒体技术本身带有浓厚的边缘交叉性,它把比较成熟的图像处理技术、声音处理技术、视频处理技术以及三维动画技术等集成到计算机中,同时在它们之间建立了密切的逻辑联系。
多媒体技术使计算机系统的人机交互界面和手段更加友好和方便,非专业人员也可以方便地使用和操作计算机。
多媒体技术使音像技术、计算机技术和通信技术三大信息处理技术真正紧密地结合起来,促进了信息处理技术的发展。
与此同时,许多多媒体软件制作软件的出现,方便了软件的开发,使人们从用编码开发软件的方式转变为利用软件开发软件,这不仅仅是一种开发方式的改变,更重要的是开发软件的思维方式的改变,这也许是我们未来软件发展的方向。
在下面我们结合多媒体软件的开发,将利用软件开发软件这种思想介绍给大家。
5.1 多媒体5.1.1 什么是多媒体所谓媒体,简单地说就是人们表达信息、传播信息和存储信息的手段和方式。
这里很容易就可以找到许多例子,如报纸、杂志、电视、广播、光盘、计算机网络等。
如果把这些媒体进行详细分析,就可以找出这些媒体藉以表达信息的一些基本元素:∙文字(text):文字有不同字体(Font)、大小(sizes)、格式(styles)等属性。
计算机为我们提供了几乎无限的处理文字的能力。
对文字而言,其最重要的属性有字体(如隶书、行书、楷书等)、字体的大小及字体的色彩三个。
∙图形(graphics):指由点、线、面等几何元素所构成的各种二维、三维的图形。
图形可以是黑白的也可以是彩色的。
静态图像适用于逼真照片或要求精细细节的照片和图像,它一般由若干个点(像素)组成。
图形又称矢量图形,是以一组指令的形式存放的,这些指令描述一幅图形中所包含的每个直线、圆、矩形等图元的位置、大小和形状。
它的优点是可以对图中的每个部分分别进行控制,包括在屏幕上移动、任意放大、缩小、旋转等而不会破坏画面,缺点是当图形比较复杂时,显示所需时间较长。
常见的图形制作工具有:FreeHand、CorelDraw、Visio等。
软件技术基础第三版课后习题答案

第二章程序设计语言计算机工作是执行相应程序,程序规定了执行的动作和动作的执行顺序。
程序的表达手段是程序设计语言。
程序设计语言是人- 机交换信息的媒体;是表达软件(程序)的工具;是人- 人交换信息的工具。
软件的开发和使用,协作开发、使用修改都要读程序,程序设计语言必须规范化和标准化。
程序设计语言是与计算机通信创造的语言,严格、小巧,没有二义性(语句执行只有一个解释)。
2.1 高级程序设计语言概述最初的语言是机器语言。
机器语言在内存中开辟两个区:数据区存放数据;指令区存放指令。
CPU 从指令区第一个地址开始逐条取出指令并释义执行,直到所有的指令都被执行完。
一般的指令格式2.2.2 高级语言程序的解释执行编译型语言由于可进行优化(有的编译器可作多次优化),目标码效率很高,是目前软件实现的主要方式。
语言编写的源程序,都需要进行编译、连接,才能生成可执行程序。
编译时花费时间但程序的执行效率提高。
对高级语言源程序采取解释执行的方式.解释执行需要有一个解释器(Interpreter ),它将源代码逐句读入。
先作词法分析,建立内部符号表;再作语法和语义分析,即以中间码建立语法树,并作类型检查。
完成检查后把每一语句压入执行堆栈,压入后立即解释执行。
操作系统的命令、BASIC 、VB 、Prolog 、LISP 、Java 、Java Script Post script2 .3 .1 变量、表达式、赋值使用符号常量,只需一次性改动其赋值就行了。
赋值和函数调用是程序语言改变变量的值的基本手段。
不同的语言所使用的赋值号并不完全相同,比如Pascal 语言的赋值号是“:=”,而在C 语言、Java 语言、VB 等语言中,赋值号是“ =”。
程序中的一条语句对应着计算机的一条命令(用一条或多条指令来实现)。
一个赋值语句就是一条赋值命令。
2.3.2 程序的控制结构程序约定自上向下自左向右地执行,即顺序地执行语句(或表达式)。
《实用软件工程方法》复习题及答案

《实用软件工程方法》复习题及答案考试题型•不定项选择(有一个或者多个选项)20题,每个2分判断题 10题,每个1分•判断题•简答题5题,每题10分考试范围•MSF的小组模型图,每个角色簇的目标、功能域和相应的职责。
•MSF的过程模型图,并简单描述这些阶段的主要活动以及主要里程碑•MSF的风险管理过程图,并作简单阐述的风险管理过程图,并作简单阐述零缺点理念的指导原则和实施•零缺点理念的指导原则和实施•企业体系结构的模型图,并描述各个视角的相互关系•MSF的平衡三角形是变更控制有用的工具,它可以帮助在可控的方式下协调变更,平衡三角形模型并解释三个边之间的关系。
对缺陷是如何进行管理和跟踪的。
•MSF对缺陷是如何进行管理和跟踪的。
一、不定项选择(有一个或者多个选项)[20题,每个2分]1.以下哪些属于应用软件的开发活动以下哪些属于应用软件的开发活动 (P3)A. 软件构造B. 软件维护软件维护C. 软件需求D. 软件设计E. 软件测试2.小王所在的团队所负责的项目正处于软件的需求分析阶段,以下哪些是该团队小王所在的团队所负责的项目正处于软件的需求分析阶段,以下哪些是该团队在该阶段下的活动 (P5)在该阶段下的活动A. 通过UML 图、DFD 图、CFD 图,状态图、ER 图等进行系统建模B. 定义软件的范围,约束,以及功能概述C. 定义数据库的结构,编写触发器以及存储过程代码D. 进行软件接口设计进行软件接口设计3.以下哪些是软件开发的要素以下哪些是软件开发的要素 (P12)A. 开发人员的团队组织B. 项目资金筹备项目资金筹备C. 建模与实现的方法和技术D. 软件工程过程E. 开发工具和工作产品F. 基础设施4.关于CMMI 的5 个级别,以下哪些说法是错误的个级别,以下哪些说法是错误的 (P19)A. 1 级:可实施的,按CMMI 定义的所有特定目标均已满足,要求工作任务产生的工作产品均已产出。
务产生的工作产品均已产出。
软件工程实用教程第三版_郭宁主编_课后习题与答案

第一章软件工程引论1.在下列选项中,(D)不是软件的特征。
A.系统性与复制性B. 可靠性与一致性C. 抽象性与智能型D.有形性与可控性2.软件是一种(B)产品。
A.有形B. 逻辑C. 物质D. 消耗3.软件工程是一种(A)分阶段实现的软件程序开发方法。
A.自顶向下B. 自底向上C. 逐步求精D. 面向数据流4.与计算机科学的理论研究不同,软件工程是一门(B)学科。
A.理论性B. 工程性C. 原理性D. 心理性5.软件工程与计算机科学性质不同,软件工程着重于(C)。
A.原理探讨B. 理论研究C. 建造软件系统D. 原理性的理论6.下列说法正确的是(B)A.软件工程的概念于20世纪50年代提出B.软件工程的概念于20世纪60年代提出C.20世纪70年代出现了客户机/服务器技术D.20世纪80年代软件工程学科达到成熟7.软件工程方法学中的软件工程管理是其中的一个重要内容,它包括软件管理学和软件工程经济学,它要达到的目标是(D)A.管理开发人员,以开发良好的软件B.采用先进的软件开发工具,开发优秀的软件C.消除软件危机,达到软件生产的规模效益D.以基本的社会效益为基础,工程化生产软件第二章软件生命周期及开发模型1.软件生命周期包括可行性分析和项目开发计划、需求分析、总体设计、详细分析、编码、(B)、维护等活动。
A.应用B. 测试C. 检测D. 以上答案都不正确2.软件生命周期模型有多中,下列项目中,(C)不是软件生命周期模型。
A.螺旋模型B. 增量模型C. 功能模型D. 瀑布模型3.软件生命周期中时间最长的阶段时(D)A.需求分析阶段B. 总体设计阶段C. 测试阶段D. 维护阶段4.瀑布模型是一种(D)A.软件开发方法B. 软件生存周期C. 程序设计方法学D. 软件生存周期模型5.软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为(A)A.瀑布模型B. 对象模型C. 螺旋模型D. 层次模型6.在结构化的瀑布模型中,(D)阶段定义的标准将成为软件测试中系统测试阶段的目标A.详细设计阶段B. 总体设计阶段C. 可行性研究阶段D. 需求分析7.增量模型是一种(B)的模型A.整体开发B. 非整体开发C. 灵活性差D. 较晚产生工作软件8.(C)是指模拟某种产品的原始模型A.模型B. 最初模型C. 原型D. 进化模型9.建立原型的目的不同,实现原型的途径也有所不同,下列不正确的类型是(B)A.用于验证软件需求的原型B. 垂直原型C. 用于验证设计方案的原型D.用于演化出目标系统的原型10.原型化方法是一种(A)型的设计过程。
计算机软件技术基础(第三版)课后习题答案较全

计算机软件技术基础(第三版)课后习题答案较全第一章信息与计算机1.1 什么是信息?信息与数据的区别和联系在何处?信息定义之一:信息是现实世界中存在的客观实体、现象、关系进行描述的数据。
信息定义之二:信息是经过加工后并对实体的行为产生影响的数据。
与数据的区别和联系:数据定义:数据是现实世界客观存在的实体或事物的属性值,即指人们听到的事实和看到的景象。
我们把这些数据收集起来,经过处理后,即得到人们需要的信息。
信息和数据的关系可以归结为:1. 信息是有一定含义的数据。
2. 信息是经过加工(处理)后的数据。
3. 信息是对决策有价值的数据。
1.2 信息有哪些基本属性?信息的基本属性有: 1. 事实性。
2. 等级性。
3. 可压缩性。
4. 可扩散性。
5. 可传输性。
6. 共享性。
7. 增值性和再生性。
8. 转换性。
1.3 计算机的主要特点是什么?计算机最主要的特点是: 1. 高速自动的操作功能。
2. 具有记忆的能力。
3. 可以进行各种逻辑判断。
4. 精确高速的计算能力。
1.5 完整的计算机系统应该包括哪几部分?目前最完整的计算机系统学说认为由五部分组成: 1. 人员 2. 数据3. 设备 4. 程序 5. 规程1.6 什么是计算机硬件?什么是计算机软件?硬件:泛指实际存在的物理设备,包括计算机本身及其外围设备。
微型计算机的硬件系统:主机、外存储器、输入设备、输出设备、微机的系统总线。
软件:是指计算机程序、方法、规则的文档以及在计算机上运行它时所必须的数据。
计算机软件一般分为系统软件和应用软件。
1.8 软件技术发展的几个阶段各有什么特点?它与硬件的关系如何?第一阶段:高级语言阶段特点:这一时期,编译技术代表了整个软件技术,软件工作者追求的主要目的是设计和实现在控制结构和数据结构方面表现能力强的高级语言。
但在这一时期内,编译系统主要是靠手工编制,自动化程度很低。
硬件关系:此时期计算机的硬件要求仅能用机器指令来编制可运行的程序。
4软件技术基础 第三版 课后习题答案

第四章Visual C++环境及其应用软件开发一般是在某个操作系统平台之上进行的,平台提供了大量应用工具,这些工具为编程提供了极大的便利,使得编出的应用系统大为丰富。
有使用方便、清新悦目的用户界面;有计算结果的各种表达:表格、表单、图符、图像、图形、动画,甚至音频、视频等。
几十年来,各种支持应用的工具软件形成了当今计算机的应用文化。
对应用开发者而言,开发的应用程序也必须适应这种文化,而不单是编写核心计算的程序。
进行人机界面的设计时,要充分利用平台提供的测试、部署、通信、安装工具加速应用开发,并使开发的应用(程序)系统与各厂商提供的应用软件风格相似。
本章主要介绍程序开发环境。
4.1 应用(程序)系统的体系结构一个应用(程序)系统总是由多个程序模块组成。
过程式编程是函数/子例程、数据块;面向对象是类、包;基于构件编程是接口类、构件、连接件。
为了功能全、少编程,它们往往是共享的,能重用就重用。
而且大量重用经过实用考验的模块,应用程序更可靠。
模块的相互联系就形成体系结构(Architecture),就如同一个房子规定了它各个构件的位置,它们共同表现出这个房子的使用性能。
一般应用(程序)系统的体系结构如图4.1所示。
从逻辑上讲现代应用程序必须有为用户服务的模块,图中以小方块表示交互的用户输入和输出显示、报表软硬拷贝、保存文件、入库、安装等。
第二部分是业务服务模块,图中以小三角表示,即常说的这个(软件)程序该做什么核心计算。
可以是实现某个业务流程的各个模块,如民航订票系统的查询、订票、收费、出票各功能模块。
也可以是解决科学计算的高阶微分方程数值解的程序模块。
第三部分是数据服务的模块,图中以小圆圈表示。
它是与数据库交互的模块。
这里的数据库是广义的,包括文件库。
有些专用的科学计算的数据并不一定与其他应用有共享需求,作为文件保存为永久性数据,也叫入数据库。
但此时数据服务十分简单。
图中两个应用Application1和Application2共享若干模块,也有为自己开发的模块。
软件工程第三版课后习题

C.单出口 D.随意跳转
2.软件调试的目的是( B )。
A.发现错误 B.改正错误 C.改善软件的性能 D.挖掘软件的潜能
3.将每个模块的控制结构转换成计算机可接受的程序代码时( A )阶段的任务。
A.编码 B.需求分析 C.详细设计 D.测试
4.编码高效率原则包括提高运行效率、提高储存效率和提高( A )。
B.确定系统的性能要求
D.确定系统是否满足开发人员需要
6.在需求分析阶段,需求分析人员需要了解用户的需求,认真仔细地调研、分析,
最终应建立目标系统的逻辑模型并写出( B )。
A.模块说明书 B.需求规格说明书 C.项目开发设计D.合同文档
7.软件需求阶段需要解决的问题是( A )。
A.软件做什么
C.软件采用什么结构
简介的怨言来描述软件系统模型。
A.DFD图 B.PAD图 C.HIPO图 D.数据字典
第四章
一、判断题
1、软件设计是软件工程的重要阶段,是一个把软件需求转换为软件代码的过程。
(N)
2、软件设计说明书是软件概要设计的主要成果。( Y )
3、软件设计中设计复审和设计本身一样重要,其主要作用是避免后期付出高代
8、以对象、类、继承和通信为基础的面向对象设计方法也是常见的软件概要设计
方法之一。( N )
二、选择题
1.内聚是从功能角度来度量模块内的凉席,按照特定次序执行元素的模块属于
( C )。
A.逻辑内聚 B.时间内聚 C.过程内聚 D.顺序内聚
2.概要设计是软件工程中很重要的技术活动,下列不是概要设计任务的是( B )。
第一章
一、判断题
1.SWEBOKV3分两大类,共有 15个知识域。( Y )
软件工程-原理、方法及应用(史济民第三版)答案

答:增量模型是瀑布模型的顺序特征与快速原型法的迭代特征相结合的产物。螺旋模型是一种迭代模型,每迭代一次,螺旋线就前进一周。增量模型每个增量具有高内聚低耦合,高度的独立性。而螺旋模型它在结合瀑布模型与快速原型的基础上还增加了风险分析。
7.为什么利用转换模型开发软件有一定难度?什么是净室软件工程?
8. DFD和CFD有什么区别?
答:
9.什么是系统的行为模型,如何建立?
答:类对象模型所表示的是面向对象分析模型中的静态部分,而对象行为模型则用于描述系统的动态行为,即系统如何对应外部事件---系统的行为模型。
建立一个对象行为模型一般要经历一些过程:评估所以的用例来理解系统中的交互序列;找出驱动交互序列的事件;为每个用例创建事件轨迹;为对象创建状态转换图。
答:
8.比较概要设计复审和过程设计复审的评审内容,并说明他们采取的复审方式有何异同。
答:概要设计复审的重点放在系统的总体结构、模块划分、内外结构等方面。例如软件结构是否满足需求?结构形态是否合理?层次是否清晰?模块的划分是不是符合优化原则?系统的人机界面、内外部接口、以及出错处理是不是合理等。
过程设计复审的重点放在模块的具体设计上。例如模块设计能否满足其功能与性能要求?选择算法与数据结构是否合理,是否符合编程语言的特点?设计描述简单、清晰等。
6.何谓面向对象软件工程?简述它与传统软件工程在各型软件开发中的作用。
答:以面向对象程序设计为基础。
7.软件按规模大小可分成哪几类?简述软件工程中各型软件开发中的作用。
答:按规模分为极小、小、中、大、甚大、极大。
(1)中小型软件:软件工程对改进软件质量,提高程序员生产率和满足用户的需求,有很大的作用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《实用软件工程》第3版习题参考答案习题 11.1 开发文档都有哪些?用图示表示它们之间的关系。
开发文档包括目标程序、源程序、详细设计说明书、概要设计说明书、需求规格说明书、用户需求报告、软件合同,它们之间的关系如下图所示。
1.2 简述软件工程研究的内容。
软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。
其中软件开发方法的内容又涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级。
常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型。
软件支持过程由所支持的CASE工具组成,常用的CASE工具有Power Designer和Rational Rose。
软件管理过程主要有CMMI、ISO9000、微软企业文化和敏捷文化现象。
1.3 详细解释软件的定义、程序的定义及软件工程的定义。
软件的定义:软件=程序+数据+文档。
这里的程序是指程序系统。
这里的数据不仅包括初始化数据、测试数据,而且包括研发数据、运行数据、维护数据,也包括软件企业积累的项目工程数据和项目管理数据中的大量决策原始记录数据。
这里的文档指的是软件开发过程中的分析、设计、实现、测试、维护文档、管理文档。
现在有一种新提法正在引起关注,这种提法是:软件=知识+程序+数据+文档。
程序是计算机为完成特定任务而执行的指令的有序集合。
从应用的角度可理解为:面向过程的程序=算法+数据结构面向对象的程序=对象+信息面向构件的程序=构件+构架软件工程是研究软件开发和软件管理的一门工程学科。
1.4 软件工程的7+1条基本原理有什么现实意义?软件工程的7条基本原理是在面向过程的程序设计时代(结构化时代)提出来的,但在面向数据和面向对象的程序设计的今天,它仍然有效。
并且在军事上的实时跟踪监控系统中有很好的应用,而且随着软件的开发和管理的进步,它将不断完善和充实。
请读者注意,作者在书中又新加入了第8条基本原理:软件工程中的二八定律,这是对基本原理的补充与发展。
1.5 读者认同“4种开发方法”的方法论和“五个面向”的实践论吗?为什么?“四种开发方法”是指“面向过程的方法、面向对象的方法、面向数据的方法、形式化方法”。
面向过程的方法来源于面向过程的程序设计;面向对象的方法来源于面向对象的程序设计;面向数据的方法就是面向元数据的方法,它来源于关系数据库程序设计;形式化方法来源于离散数学中的集合运算和逻辑运算。
四种方法各适用于不同的场合,各有优缺点,互相促进,构成开发方法论的多极化世界。
“五个面向理论”是指“面向流程分析、面向数据设计、面向对象实现、面向功能测试、面向过程管理”,它是在综合“四种开发方法”各自的优点之后提出的软件工程实施理论,是对前者的继承与发展。
总之,上述提法既精彩又实用。
1.6 怎样理解软件工程的支持过程和管理过程?软件工程的支持过程是由支持软件生存周期各个阶段的生产工具所组成的。
就是说将一个软件的生存周期划分为市场调研、立项、需求分析、策划、概要设计、详细设计、编程、单位测试、集成测试、运行、维护这几个过程。
在这些过程中,需要配套相应的工具来支持,比如需求分析工具、设计工具、实现工具、测试工具、维护工具、配置工具,开发环境等。
1.7 CASE工具、软件开发环境SDE、软件工程环境SEE三者之间有何联系与区别?CASE(Computer Aided Software Engineering)是一组工具和方法的集合,一般提供给个人使用,可以辅助软件开发生命周期各阶段进行软件开发。
它在软件开发/维护过程中提供计算机辅助支持和工程化方法,CASE技术分为两类,一类是支持软件开发过程本身的技术,另一类是支持软件开发过程管理的技术。
软件开发环境SDE(Software Development Environment)指在基本硬件和宿主软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件。
它由软件工具和环境集成机制构成,前者用以支持软件开发的相关过程、活动和任务,后者为工具集成和软件的开发、维护及管理提供统一的支持。
软件配置管理工具、面向行业领域开发的业务基础平台,都是软件开发环境的例子。
软件工程环境SEE(Software Engineering Environment)一般提供给团队使用,它是以软件工程为依据,支持典型软件生产的系统。
SEE具有以下特点:(1)强调支持软件生产的全过程。
(2)强调大型软件的工业化生产。
(3)以集成和剪裁作为主要技术路径,实现软件工业化生产的目标。
(4)标准化。
软件生产走向工业化需要建立相应的工业标准。
软件工程环境的例子有北大青鸟系统,Rational Rose等。
三者的相同点是:都是软件过程的支持工具,其目的都是为了加快软件开发效率,提高软件开发质量。
三者的不同点是:它们的功能强弱、使用范围、使用背景不尽相同。
1.8 是否存在这样一种现象:搞系统软件的公司不需要采用CMMI或ISO 9001模式?CMMI或ISO 9001模式只适用于搞应用软件的企业?如果是,是为什么?如果不是,又是为什么?不是。
因为CMMI和ISO9000模式规定了严格的管理制度、文档和评估软件能力与成熟度等级的一套标准,它们几乎包括了所有的IT的企业,只是一些优秀的企业自己内部形成特有的企业管理文化,但是它们并不排斥CMMI和ISO9000模式,甚至还充分肯定CMMI和ISO 9000体系。
1.9 敏捷文化现象是什么意思?敏捷文化现象是指好的开发过程应该可以在保证质量的前提下,做到文档适度、度量适度和管理适度,并且根据敏捷文化能迅速做出自我调整,实现企业效益的最大化。
1.10 “轻载过程改进模型”(敏捷文化现象)能代替或战胜“重载过程改进模型”CMMI吗?不能。
因为轻载过程改进模型只适用于少于12人的项目,对个人的素质要求很高,成功的大型复杂案例并不多,它特别适合于中小型软件企业,以及中小型软件项目。
而重载过程改进模型CMM/CMMI在某种程度上包容了轻载过程改进模型,它对整体的素质要求很高,适合于所有的IT企业。
1.11 什么叫软件危机?通过本章的学习,你认为应该怎样克服软件危机?所谓软件危机,就是在软件开发和维护过程中所遇到一系列难以控制的问题。
“软件危机”这个专业术语的首次出现,是1968年NATO(North Atlantic Treaty Organization,北约)的计算机科学家,在联邦德国召开的国际学术会议上提出的。
为了克服软件危机,同样是在1968年,北约科技委员会召集了近50名一流的编程人员、计算机科学家和工业界巨头,讨论和制定摆脱“软件危机”的对策。
就在那次会议上,第一次提出了软件工程(Software Engineering)这个专业术语。
当时人们的想法是:若借用建筑工程或机器制造工程的思想、标准、规范、规程去开发软件与维护软件,也许能克服软件危机。
以后的实践证明:用工程的方法开发软件与维护软件是个好主意,但是要完全克服软件危机,还有许多其他工作要做。
例如,将软件公司纳入CMMI的过程改进轨道,就能真正克服软件危机。
1.12 试述信息系统的定义及信息系统的基本内容。
利用计算机网络技术、数字通信技术与数据库技术实现信息采集和处理的系统,称为信息系统。
由此不难发现:凡是与数据库技术有关的应用系统,都可以看成信息系统。
因为数据库是组织与存储信息的最好方式,除此之外,目前还没有找到其他更好的方式。
信息系统由社会环境、网络环境、数据环境和程序环境四部分组成。
社会环境指企事业单位的管理规程、工作规范、信息标准、业务流程、业务规则和人员素质。
网络环境指互联网Internet、企业网Intranet或局域网的软/硬件设施。
数据环境指信息系统的数据模型及数据库服务器上的数据操作。
程序环境指客户端用户界面操作与应用服务器上的业务功能操作。
不管是网络环境、数据环境还是程序环境,都要进行系统集成。
这里特别强调社会环境,人们常说,信息系统建设不仅是一项计算机工程,而且是一项社会工程,就是这个道理。
1.13 解释下列名词:开发文档、管理文档、初始化数据、元数据、过程、过程改进。
开发文档主要由项目组书写,用于指导软件开发与维护;管理文档主要由软件工程管理部门书写,用于指导软件管理和决策。
初始化数据是为软件系统提供运行条件的必备数据。
元数据是关于数据的数据,组织数据的数据。
过程是指软件生命周期(Life Cycle)中的时间序列。
过程作为一个时间序列,自然有起始点和终止点。
例如,可将一个软件的生命周期划分为市场调研、立项、需求分析、策划、概要设计、详细设计、编程、单体测试、集成测试、运行、维护、退役几个过程,前一过程的终止点就是后一过程的起始点。
过程与阶段(Phase)有关,阶段与里程碑(Milestone)有关。
某些重要里程碑上的文档(通过评审和审计之后)又称为基线(Baseline)。
例如,《软件需求分析规格书》、《软件设计说明书》,它们都是基线。
过程改进是指利用过程改进模型CMMI,对软件组织内部的过程管理进行优化。
习题 22.1 软件生命周期是什么含义?它与软件生命周期模型有何关系?软件生命周期划分为市场调研、立项、需求分析、策划、概要设计、详细设计、编程、单体测试、集成测试、运行、维护、退役几个过程,前一过程的终止点就是后一过程的起始点。
软件生命周期与软件生命周期模型有关:不同的生命周期模型,可能对应着不同的生存周期。
生存周期不同,该软件的开发阶段划分、评审次数、基线标准都有所不同,甚至维护方法都有所区别。
2.2 为什么说“软件生命周期模型是指在整个软件生命周期中,软件开发过程应遵循的开发路线图。
或者说,软件生命周期模型是软件开发全部过程、活动和任务的结构框架”?事实上,任何生命周期模型都是生命的路线图。
特别,软件生命周期模型是软件生命的路线图。
这里使用路线图,是为了将深奥的理论通俗化,实用化。
2.3 为什么要选择软件开发模型?软件开发模型与软件生命周期有什么关系?因为软件开发模型是软件工程研究的5大内容之一,它虽然不是软件工程研究的重点,但是在宏观上特别重要。
软件公司的项目组在开发一个大项目或产品时,首先在技术上必须选择一个开发模型,使开发模型非常适合这个项目或产品的生存周期;随后通过对生存周期的裁减,给出适合于本项目或产品的软件生存周期定义。
2.4 简述瀑布模型、增量模型、迭代模型、原型模型、XP等模型的优缺点。
软件开发模型比较表2.5 软件公司的CMMI过程改进模型与软件开发模型有关吗?为什么?无关。
因为CMMI管理体系是一种过程与质量管理模型,它是适应于任何软件开发模型的,或者说它与任何开发模型无关。