软件工程概论习题答案
西交《软件工程概论》在线作业满分答案
西交《软件工程概论》在线作业一、单选题(共 19 道试题,共 38 分。
)1. 对象模型的描述工具是()A. 状态图B. 数据流图C. 对象图D. 结构图正确答案:C2. 软件测试的目的是()A. 证明软件的正确性B. 找出软件系统中存在的所有错误C. 证明软件系统中存在错误D. 尽可能多的发现软件系统中的错误正确答案:B3. 传统的测试策略是从()开始A. 单元测试B. 集成测试C. 系统测试D. 人员测试正确答案:A4. 软件维护工作的最主要部分是()A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护正确答案:C5. 以下不属于软件维护的困难表现的是()A. 读懂别人的程序是困难的B. 文档的不一致性C. 源程序及相关文档的错误或丢失D. 软件开发和软件维护在人员和时间上的差异正确答案:C6. 在软件生存周期中,工作量所占比例最大的阶段是()阶段A. 需求分析B. 设计C. 测试D. 维护正确答案:D7. 同一类中有相同的数据结构,这是()级别的共享A. 不同应用B. 同一应用C. 不同类D. 同一类正确答案:D8. 内容耦合指()A. 两个模块之间传递的是数据结构B. 一个模块调用另一个模块时,传递的是控制变量C. 通过一个公共数据环境相互作用的哪些模块间的耦合D. 一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部正确答案:D9. 以下说法错误的是()A. 面向对象分析与面向对象设计的定义没有明显的区别B. 在实际的软件开发过程中面向对象分析与面向对象设计的界限是模糊的C. 面向对象分析和面向对象设计活动是一个多次反复迭代的过程D. 从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程正确答案:A10. 以下说法错误的是()A. 面向对象方法不仅支持过程抽象,而且支持数据抽象B. 某些面向对象的程序设计语言还支持参数化抽象C. 信息隐蔽通过对象的封装来实现D. 在面向对象方法中,类是最基本的模块正确答案:D11. 以下说法错误的是()A. 面向对象方法不仅支持过程抽象,而且支持数据抽象B. 某些面向对象的程序设计语言还支持参数化抽象C. 信息隐藏通过对象的封装性来实现D. 在面向对象方法中,类是最基本的模块正确答案:D12. 指出PDL是下列()语言A. 高级程序设计语言B. 伪码C. 中级程序设计语言D. 低级程序设计语言正确答案:B13. 下面错误的说法是()A. 每个数据流必须用名词或名词短语命名B. 每个加工必须有名字,通常是动词短语C. 每个数据存储必须用名词或名词短语D. 每个数据源点或终点必须有名字正确答案:A14. 需求分析是()A. 软件开发工作的基础B. 软件生存周期的开始C. 由系统分析员单独完成的D. 由用户自己单独完成的正确答案:A15. 软件工程方法得以实施的主要保证是()A. 硬件环境B. 开发人员的素质C. 软件开发工具和软件开发的环境D. 软件开发的环境正确答案:C16. 软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试()A. 结构合理性B. 软件外部功能C. 程序正确性D. 程序内部逻辑正确答案:B17. 瀑布模型的问题是()A. 用户容易参与开发B. 缺乏灵活性C. 用户与开发者易沟通D. 适用可变需求正确答案:B18. 对于集成测试,下列说法错误的是()A. 应对每一个测试用例都执行测试规程B. 应将测试结果与预期结果比较,研究两者的偏离原因C. 将缺陷报告给相关构件工程师,不需要他们修改D. 将缺陷报告给测试设计人员,由它们评估整个测试工作的结果正确答案:C19. 分层DFD是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的()A. 细节B. 输入与输出C. 软件的作者D. 绘制的时间正确答案:B西交《软件工程概论》在线作业二、多选题(共 1 道试题,共 2 分。
软件工程(概论)习题与答案
一、单选题1、软件产品与物质产品有很大的区别,软件产品是一种()产品。
A.有形B.消耗C.逻辑D.文档正确答案:C2、在()年的NATO会议上,软件工程的术语被首次提出。
A.1966B.1968C.1970D.1972正确答案:B3、软件开发中实现映射的基本手段是()A.抽象B.分层C.隔离D.建模正确答案:D4、下列哪项不属于软件工程框架的三元组。
()A.目标B.范围C.原则D.活动正确答案:B5、下列哪个不是软件维护的类型。
()A.完善性维护B.纠错性维护C.适应性维护D.更新性维护正确答案:D6、只有高水平的(),才能生产出高质量的软件产品。
A.软件开发技术B.软件开发工具C.软件工程管理D.项目开发经验正确答案:C二、多选题1、下列关于软件的说法正确的是()A.软件是通过定制进而生产制造出来的B.软件没有磨损老化问题。
C.软件开发的成本很高D.软件开发和运行必须依赖计算机环境正确答案:B、C、D2、下列软件属于系统软件的是()A.操作系统B.编译器C.中间件D.浏览器正确答案:A、B3、下述软件属于支撑软件的是()A.财务管理软件B.编译器C.中间件D.数据库正确答案:C、D4、下述软件属于应用软件的是()A.财务管理软件B.数据库C.编译器D.浏览器正确答案:A、D5、软件工程是一门交叉性学科,下列哪些学科是软件工程涉及的?A.数学B.计算机科学C.管理科学D.工程科学正确答案:A、B、C、D6、下列属于软件模型的是()A.概念模型B.设计模型C.实现模型D.部署模型正确答案:B、C、D7、软件需求阶段所要完成的任务包括()A.需求获取B.需求完善C.需求定义D.需求规约正确答案:A、C、D三、填空题1、软件工程概念的提出是为了解决()。
正确答案:软件危机2、软件设计阶段包括()和()两个阶段。
正确答案:总体设计、详细设计3、软件开发是实现()的概念和处理逻辑到()的概念和处理逻辑的映射。
软件工程概论课后习题答案
软件工程概论郑人杰等版第1章软件与软件工程的概念1.1 举出你所知道的应用软件的例子。
办公软件、游戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。
1.2 认为“软件就是程序,软件开发就是编程序。
”这种观点是否正确?为什么?认为“软件就是程序,软件开发就是编程序。
”这种观点是错误的。
首先,软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合,程序只是软件的组成部分之一;其次,在软件开发中,编程只是软件开发过程的一个阶段。
1.3 如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么?可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。
1.4 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
典型表现:(1)对软件开发成本和进度的估计常常很不准确。
(2)用户对“已完成的”软件系统不满意的现象经常发生。
(3)软件产品的质量往往靠不住。
(4)软件常常是不可维护的。
(5)软件通常没有适当的文档资料。
(6)软件成本在计算机系统总成本中所占的比例逐年上升。
(7)软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面:(1) 缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作计划很难制定。
(2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。
(3) 软件开发过程不规范。
如,没有真正了解用户的需求就开始编程序。
(4) 随着软件规模的增大,其复杂性往往会呈指数级升高。
需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。
(5) 缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。
1.5 什么是软件工程?软件工程是指导计算机软件开发和维护的工程学科。
软件工程概论课后习题答案
软件工程概论郑人杰等版第1章软件与软件工程的概念举出你所知道的应用软件的例子。
办公软件、游戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。
认为“软件就是程序,软件开发就是编程序。
”这种观点是否正确为什么认为“软件就是程序,软件开发就是编程序。
”这种观点是错误的。
首先,软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合,程序只是软件的组成部分之一;其次,在软件开发中,编程只是软件开发过程的一个阶段。
如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。
什么是软件危机它有哪些典型表现为什么会出现软件危机软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
典型表现:(1)对软件开发成本和进度的估计常常很不准确。
(2)用户对“已完成的”软件系统不满意的现象经常发生。
(3)软件产品的质量往往靠不住。
(4)软件常常是不可维护的。
(5)软件通常没有适当的文档资料。
(6)软件成本在计算机系统总成本中所占的比例逐年上升。
(7)软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面:(1) 缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作计划很难制定。
(2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。
(3) 软件开发过程不规范。
如,没有真正了解用户的需求就开始编程序。
(4) 随着软件规模的增大,其复杂性往往会呈指数级升高。
需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。
(5) 缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。
什么是软件工程软件工程是指导计算机软件开发和维护的工程学科。
采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
(完整版)软件工程概论课后习题答案
项目失败的风险较低,虽然在某些增量构件中可能遇到一些问题,但其他增量构件将能够成功地交付给客户。
优先级最高的服务首先交付,然后再将其他增量构件逐次集成进来。因此,最重要的系统服务将接受最多的测试。
产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面:
(1)缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作计划很难制定。
(2)软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。
(3)软件开发过程不规范。如,没有真正了解用户的需求就开始编程序。
(4)随着软件规模的增大,其复杂性往往会呈指数级升高。需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。
(3)软件设计:本阶段要回答的关键问题是“目标系统如何做?”为此,必须在设计阶段中制定设计方案,把已确定的各项需求转换成相应的软件体系结构。结构中的每一组成部分都是意义明确的构件,此即所谓概要设计。进而具体描述每个构件所要完成的工作,为源程序编写打下基础,此即所谓详细设计。
(4)程序编码和单元测试:本阶段要解决的问题是“正确地实现已做的设计”,为此,需要选择合适的编程语言,把软件设计转换成计算机可以接受的程序代码,并对程序结构中的各个模块进行单元测试,然后运用调试的手段排除测试中发现的错误。要求编写出的程序应当是结构良好、清晰易读的,且与设计相一致的。
1.3如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么?
可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。
1.4什么是软件危机?它有哪些典型表现?为什么会出现软件危机?
软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
软件工程概论_北京联合大学中国大学mooc课后章节答案期末考试题库2023年
软件工程概论_北京联合大学中国大学mooc课后章节答案期末考试题库2023年1.下面不属于软件的组成的是()。
答案:记录2.瀑布模型的存在问题是()。
答案:缺乏灵活性3.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( )。
答案:软件危机4.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是()。
答案:数据、标记、控制、公共5.在软件设计方法中全面指导模块划分的最重要的原则是()。
答案:模块独立性6.软件测试的目的是()。
答案:发现软件的错误7.需求分析最终结果是产生()。
答案:需求规格说明书8.软件详细设计的主要任务是确定每个模块的()。
答案:算法和使用的数据结构9.软件结构图中,模块框之间若有直线连接,表示它们之间存在()。
答案:调用关系10.在详细设计阶段,采用的描述工具有()。
答案:程序流程图11.因计算机硬件和软件环境的变化而作出的修改软件的过程称为()。
答案:完善性维护12.下面不属于软件维护的策略的是()。
答案:定期检测维护13.对于螺旋模型,下列()不是利用笛卡尔坐标表达的活动。
答案:程序编码14.在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高( )。
答案:原型化方法15.软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为( )。
答案:瀑布模型16.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是( )。
答案:测试阶段17.软件项目计划一般不包括以下哪项内容()。
答案:软件开发标准的选择和制定18.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。
设计这组测试用例的方法是( )。
答案:边界值分析法19.耦合的强弱取决于()。
答案:模块间接口的复杂程度20.面向数据流的设计方法根据()映射软件结构。
软件工程概论习题选择题及答案 主编倪天林
习题一、选择题1.下列活动不属于软件开发阶段的是(A)A.需求分析B.概要设计C.详细设计D.测试2.以下对软件工程原理的叙述不正确的是(C)A.用分阶段的生命周期计划严格管理B.采用现代程序设计技术C.开发小组的人员应该足够多D.承认不断改进软件工程实践的必要性3.在以下软件开发模型中,最常用在软件需求难以完全明确的情况下的是(D)A.瀑布模型B.原型模型C.螺旋模型D.增量模型4.对于喷泉模型,下列说法错误的是(D)A.是一种面向对象的开发模型B.具有迭代性C.具有无缝性D.各阶段之间具有顺序性和依赖性5.软件是一种(B)产品A.有形B.逻辑C.程序D.数据6.下列关于瀑布模型的描述正确的是(C)A.瀑布模型的核心是按照软件开发的时间顺序将问题简化B.瀑布模型具有良好的灵活性C.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开利用瀑布模型,如果发现问题修改的代价很低7.软件工程的出现主要是由于(D)。
A.程序方法学的影响B.其他工程学科的影响C.计算机的发展D.软件危机的出现8.瀑布模型本质上是一种(B)A.线性顺序模型B.顺序迭代模型C.线性迭代模型D.及早见到产品模型9.具有风险分析的软件生存周期模型是(B)。
A.瀑布模型B.螺旋模型D.喷泉模型C.增量模型习题二选择题1.软件分析的第一步要做的工作是(A)。
A.定义系统的目标B.定义系统的功能模块C.分析用户需求D.分析系统开发的可行性2.研究开发所需要的成本和资源是属于可行性研究中的(B)研究的一方面。
技术可行性B.经济可行性C.社会可行性D.法律可行性3.软件可行性分析是着重确定系统的目标和规模。
对功能、性能及约束条件的分析应于下列(B)A.经济可行性分析B.技术可行性分析C.操作可行性分析D.开发可行性分析4.下面不是可行性研究的步骤的是(D)A.重新定义问题B.研究目前正在使用的系统C.导出和评价选择的解法D.确定开发系统所需要的人员配置制定软件计划的目的在于尽早对欲开发的软件进行合理估计,软件计划的任务(B)A.组织与管理B.分析与估算C.设计与测试D.规划与调整6.下列不属于成本效益的度量指标(C)A.货币的时间价值B.投资回收期C.性质因素D.纯收入7.可行性研究的目的是用最小的代价在尽可能短的时间内确定问题的(A)能否可解B.工程进度C.开发计划D.人员配置习题三一、选择题1.从不同的角度来看,需求具有不同的层次,即(B)A.数据需求、界面需求、功能需求B.业务需求、用户需求、功能需求和非功能需求等用户需求、功能需求和非功能需求D.数据需求、界面需求、功能需求和非功能需求等2.需求包括11个方面的内容,其中网络和操作系统的要求属于(B)A.质量保证B.环境需求C.安全保密需求D.性能需求3.需求分析过程应该建立3种模型,它们分别是数据模型、功能模型、行为模型。
软件工程概论答案详细
软件工程概论答案详细第1章软件与软件工程的概念1.1 举出你所知道的应用软件的例子。
办公软件、游戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。
1.2 认为“软件就是程序,软件开发就是编程序。
”这种观点是否正确?为什么?认为“软件就是程序,软件开发就是编程序。
”这种观点是错误的。
首先,软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合,程序只是软件的组成部分之一;其次,在软件开发中,编程只是软件开发过程的一个阶段。
1.3 如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么?可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。
1.4 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
典型表现:(1) (2) (3) (4) (5) (6) (7) 对软件开发成本和进度的估计常常很不准确。
用户对“已完成的”软件系统不满意的现象经常发生。
软件产品的质量往往靠不住。
软件常常是不可维护的。
软件通常没有适当的文档资料。
软件成本在计算机系统总成本中所占的比例逐年上升。
软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面:(1) 缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作计划很难制定。
(2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。
(3) 软件开发过程不规范。
如,没有真正了解用户的需求就开始编程序。
(4) 随着软件规模的增大,其复杂性往往会呈指数级升高。
需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。
(5) 缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。
1.5 什么是软件工程?软件工程是指导计算机软件开发和维护的工程学科。
《软件工程概论》课程知识 复习 学习材料 试题与参考答案
《软件工程概论》课程知识复习学习材料试题与参考答案一、单选题1.原型化方法是一种(A)型的设计过程。
A.自外向内B.自顶向下C.自内向外D.自底向上2.下述任务中,不属于软件工程需求分析阶段的是(D)。
A.分析软件系统的数据要求B.确定软件系统的功能需求C.确定软件系统的性能要求D.确定软件系统的运行平台3.在软件生存周期中,用户主要是在(A)参与软件开发。
A.软件定义期B.软件开发期C.软件维护期D.整个软件生存周期过程中4.表示集成是指一个系统中的工具使用共同的风格以及采用共同的用户交互标准集。
表示集成有三种不同级别:窗口系统集成、命令集成和(D)。
A.数据集成B.平台集成C.界面集成D.交互集成5.软件开发环境支持一定的(C)或按照一定的软件开发模型组织而成。
A.软件生存周期B.软件过程C.软件开发方法D.软件开发模型6.技术可行性要解决(D)。
A.存在侵权否B.成本-效益问题C.运行方式可行D.技术风险问题7.瀑布模型是一种(D)。
A.软件开发方法B.软件生存周期C.程序设计方法学D.软件生存周期模型8.面向数据流的软件设计方法可将(C)映射成软件结构。
A.控制结构B.模块C.数据流D.事务流9.一个CASE工作台是一组(A),支持设计、实现或测试等特定的软件开发阶段。
A.工具集B.软件包C.平台集D.程序包10.软件工程学的目的应该是最终解决软件生产的(B)问题。
A.提高软件的开发效率B.使软件生产工程化C.消除软件的生产危机D.加强软件的质量保证11.目前有若干种软件生存周期模型。
例如瀑布模型、增量模型、螺旋模型等。
其中基于知识的模型也称为(B)。
A.演化模型B.智能模型C.变换模型D.喷泉模型12.可行性分析中,系统流程图用于描述(A)。
A.当前运行系统B.当前逻辑模型C.目标系统D.新系统13.软件生存周期模型有多种,下列选项中,(C)不是软件生存周期模型。
A.螺旋模型B.增量模型C.功能模型D.瀑布模型14.从结构化的瀑布模型看,在软件生命周期中的八个阶段中,下面的几个选项中,(C)出错,对软件的影响最大。
软件工程概论课后答案
第1章软件与软件工程的概念1.1 举出你所知道的应用软件的例子。
办公软件、游戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。
1.2 认为“软件就是程序,软件开发就是编程序。
”这种观点是否正确?为什么?认为“软件就是程序,软件开发就是编程序。
”这种观点是错误的。
首先,软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合,程序只是软件的组成部分之一;其次,在软件开发中,编程只是软件开发过程的一个阶段。
1.3 如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么?可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。
1.4 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
典型表现:(1)对软件开发成本和进度的估计常常很不准确。
(2)用户对“已完成的”软件系统不满意的现象经常发生。
(3)软件产品的质量往往靠不住。
(4)软件常常是不可维护的。
(5)软件通常没有适当的文档资料。
(6)软件成本在计算机系统总成本中所占的比例逐年上升。
(7)软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面:(1) 缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作计划很难制定。
(2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。
(3) 软件开发过程不规范。
如,没有真正了解用户的需求就开始编程序。
(4) 随着软件规模的增大,其复杂性往往会呈指数级升高。
需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。
(5) 缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。
1.5 什么是软件工程?软件工程是指导计算机软件开发和维护的工程学科。
软件工程概论(第5版)课后习题解答
(4)找出并改正程序中逻辑中的错误。
COMMENT:PROGRAM SEARCHES FOR FIRST N REFERENCES TO A TOPIC IN AN INFORMATION RETRIEVAL SYSTEM WITH T TOTAL ENTRIES INPUT N IF N>0 THEN INPUT KEYWORD(S) FOR TOPIC I=0 MATCH=0 DO WHILE I<T I=I+1 IF WORD=KEYWORD THEN MATCH=MATCH+1 STORE IN BUFFER END IF MATCH=N
√ √ √ √
待维修人员来排除故障,故障排除后回到闲置状态。 请用状态转换图描绘复印机的行为。 解: 从问题陈述可知,复印机的状态主要有“闲置”、“复印”、“缺 纸”和“卡纸”。引起状态转换的事件主要是“复印命令”、“完成复印命 令”、“发现缺纸”、“装满纸”、“发生卡纸故障”和“排除了卡纸故障”。
西交14秋《软件工程概论》在线作业答案
软件工程概论西交《软件工程概论》在线作业一,单选题1. 面向对象分析阶段建立的三个模型中,核心的模型是()模型。
A. 功能B. 动态C. 对象D. 分析?正确答案:C2. 一个CASE工作台是一组(),支持设计、实现或测试等特定的软件开发阶段。
A. 工具集B. 软件包C. 平台集D. 程序包?正确答案:A3. 详细设计的任务是确定每个模块的()A. 外部特性B. 内部特性C. 算法和使用的数据D. 功能和输入输出数据?正确答案:B4. 软件工程对维护工作的主要目标是提高(),降低维护的代价。
A. 软件的生产率B. 软件的可靠性C. 软件的可维护性D. 维护的效率?正确答案:A5. 软件开发过程中抽取和整理用户需求并建立问题域精确模型的过程叫()A. 生存期B. 面向对象设计C. 面向对象程序设计D. 面向对象分析?正确答案:D6. 白盒测试方法重视()的度量A. 测试覆盖率B. 测试数据多少C. 测试费用D. 测试周期?正确答案:A7. 下面哪个不是集成测试使用的图模型()A. 顺序图B. 协作图C. 活动图D. 用例图?正确答案:D8. 以下说法错误的是()A. 对象具有很强的表达能力和描述功能B. 对象是人们要进行研究的任何事务C. 对象是封装的最基本单位D. 类封装比对象封装更具体、更细致?正确答案:D9. 面向对象设计语言不同于其他语言的最主要特点是()A. 模块性B. 抽象性C. 继承性D. 共享性?正确答案:C10. 研究软硬件资源的有效性是进行()研究的一方面。
A. 技术可行性B. 经济可行性C. 社会可行性D. 操作可行性?正确答案:A11. SA方法是一种()A. 自顶向下逐层分解的分析方法B. 自底向上逐层分解的分析方法C. 面向对象的分析方法D. 以上都不是?正确答案:A12. 软件设计一般分为总体设计和详细设计,它们之间的关系是()A. 全局和局部B. 抽象和具体C. 总体和层次D. 功能和结构?正确答案:A13. 以下说法错误的是()A. 对象具有很强的表达能力和描述功能B. 对象是人们要进行研究的任何事务C. 对象是封装的基本单位D. 类封装比对象封装更具体、更细致?正确答案:D14. 面向对象程序设计语言与其他程序设计语言的最主要差别是它具有()A. 模块性B. 抽象性C. 继承性D. 共享性?正确答案:C15. 程序的3中基本结构是()A. 过程、子程序、分程序B. 顺序、条件、循环C. 递归、堆栈、队列D. 调用、返回、转移?正确答案:B16. 尽管有不合法的输入,软件仍能继续正常工作的能力是指()A. 兼容性B. 可靠性C. 容错性D. 稳定性?正确答案:C17. 程序内部的各个部分之间存在的联系,用结构图表达时,最关心的是模块的内聚性和()A. 独立性B. 有效性C. 耦合性D. 安全性?正确答案:C18. 需求分析最终结果是产生()A. 项目开发计划B. 可行性分析报告C. 需求规格说明书D. 设计说明书?正确答案:C19. 软件是一种()产品A. 有形B. 逻辑C. 物质D. 消耗?正确答案:B二,多选题1. 技术可行性考虑的问题有()A. 开发风险分析B. 资源分析C. 相关技术的反展?正确答案:ABC三,判断题1. 传统的SA方法主要用于数据处理方面的问题,主要工具DFD体现了系统的“做什么”功能,但它仅是一个静态模型,没有处理的顺序,即控制模型。
软件工程概论的练习题及答案
概述一、填空题1、软件由计算机程序、数据和文档组成。
2、软件是一种逻辑产品,它与物质产品有很大的区别。
3、计算机系统由硬件、软件、使用计算机的人、数据库、文档和执行过程组成。
4、软件的发展,到现在为止,经历了三个阶段:程序设计、程序系统和软件工程。
5、程序设计时代的生产方式是个体手工艺者,程序系统时代的生产方式是手工作坊,软件工程时代的生产方式是工程化。
6、软件工程是一门综合性的交叉学科,它涉及计算机学科工程学科、管理学科和数学学科。
7、计算机科学的成果都可用于软件工程,但计算机科学着重于理论和原理,软件工程着重于建造软件系统。
8、软件工程研究的主要内容是方法、过程和工具等三个方面。
9、软件开发各阶段任务的划分应尽可能相对独立,同一阶段任务的性质应尽可能相同。
10、瀑布模型是将软件生存期各个活动规定为依线性顺序连接的若干阶段的模型。
它规定了各阶段的活动由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。
11、演化模型是一种非整体开发模型。
先开发一个原型软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的产品。
12、螺旋模型将开发过程分为几个螺旋周期。
在每个螺旋周期内分为四个工作步骤:制定计划、风险分析、开发实施、用户评估。
13、喷泉模型是一种以用户要求为动力,以对象为驱动的模型。
它使开发过程具有迭代性和无间隙性,适用于面向对象开发方法。
二、单项选择题1、软件产品的生产主要是C。
A. 制造B. 复制C. 开发D. 研制2、个体手工劳动是B时代的软件生产方式。
A. 程序系统B. 程序设计C. 软件工程D. 程序编码3、软件工程是一门C学科。
A. 理论性B. 原理性C. 工程性D. 心理性4、软件开发费用只占软件生存期全部费用的B。
A. 1/2B. 1/3C. 1/4D. 2/35、在软件开发过程中大约要花费C%的工作量进行测试和调试。
A. 20B. 30C. 40D. 506、准确地解决“软件系统必须做什么”是B阶段的任务。
软件工程概论课后答案
第1章软件与软件工程的概念1.1 举出你所知道的应用软件的例子。
办公软件、游戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。
1.2 认为“软件就是程序,软件开发就是编程序。
”这种观点是否正确?为什么?认为“软件就是程序,软件开发就是编程序。
”这种观点是错误的。
首先,软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合,程序只是软件的组成部分之一;其次,在软件开发中,编程只是软件开发过程的一个阶段。
1.3 如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么?可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。
1.4 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
典型表现:(1)对软件开发成本和进度的估计常常很不准确。
(2)用户对“已完成的”软件系统不满意的现象经常发生。
(3)软件产品的质量往往靠不住。
(4)软件常常是不可维护的。
(5)软件通常没有适当的文档资料。
(6)软件成本在计算机系统总成本中所占的比例逐年上升。
(7)软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面:(1) 缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作计划很难制定。
(2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。
(3) 软件开发过程不规范。
如,没有真正了解用户的需求就开始编程序。
(4) 随着软件规模的增大,其复杂性往往会呈指数级升高。
需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。
(5) 缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。
1.5 什么是软件工程?软件工程是指导计算机软件开发和维护的工程学科。
软件工程概论课后答案
第1章软件与软件工程的概念1.1 举出你所知道的应用软件的例子。
办公软件、游戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。
1.2 认为“软件就是程序,软件开发就是编程序。
”这种观点是否正确?为什么?认为“软件就是程序,软件开发就是编程序。
”这种观点是错误的。
首先,软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合,程序只是软件的组成部分之一;其次,在软件开发中,编程只是软件开发过程的一个阶段。
1.3 如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么?可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。
1.4 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
典型表现:(1)对软件开发成本和进度的估计常常很不准确。
(2)用户对“已完成的”软件系统不满意的现象经常发生。
(3)软件产品的质量往往靠不住。
(4)软件常常是不可维护的。
(5)软件通常没有适当的文档资料。
(6)软件成本在计算机系统总成本中所占的比例逐年上升。
(7)软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面:(1) 缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作计划很难制定。
(2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。
(3) 软件开发过程不规范。
如,没有真正了解用户的需求就开始编程序。
(4) 随着软件规模的增大,其复杂性往往会呈指数级升高。
需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。
(5) 缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。
1.5 什么是软件工程?软件工程是指导计算机软件开发和维护的工程学科。
软件工程概论课后答案
第1章软件与软件工程的概念1.1 举出你所知道的应用软件的例子。
办公软件、游戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。
1.2 认为“软件就是程序,软件开发就是编程序。
”这种观点是否正确?为什么?认为“软件就是程序,软件开发就是编程序。
”这种观点是错误的。
首先,软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合,程序只是软件的组成部分之一;其次,在软件开发中,编程只是软件开发过程的一个阶段。
1.3 如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么?可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。
1.4 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
典型表现:(1)对软件开发成本和进度的估计常常很不准确。
(2)用户对“已完成的”软件系统不满意的现象经常发生。
(3)软件产品的质量往往靠不住。
(4)软件常常是不可维护的。
(5)软件通常没有适当的文档资料。
(6)软件成本在计算机系统总成本中所占的比例逐年上升。
(7)软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面:(1) 缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作计划很难制定。
(2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。
(3) 软件开发过程不规范。
如,没有真正了解用户的需求就开始编程序。
(4) 随着软件规模的增大,其复杂性往往会呈指数级升高。
需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。
(5) 缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。
1.5 什么是软件工程?软件工程是指导计算机软件开发和维护的工程学科。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3-3 银行计算机储蓄系统的工作过程大致如下:储户填 写的存款单或取款单由业务员键入系统,如果是存款 则系统记录存款人姓名、住址(或电话号码)、身份证 号码、存款类型、存款日期、到期日期、利率及密码 (可选)等信息,并印出存单给储户;如果是取款而且 存款时留有密码,则系统首先核对储户密码,若密码 正确或存款时未留密码,则系统计算利息并印出利息 清单给储户。 请用数据流图描绘本系统的功能。
F5安全范围 E2 病人 P2 分析信号 F2生理信号 F2生理信号 P1 接收信号 F2生理信号 E3 时钟 P4 定时取样 生理信号
D2患者安全范围 P3 产生警告信息
危及病人信息
F4警告信息 E1 护士
F3日前、时间
定时的生理信号 F6日志
P5 更新日志
D1患者日志 F6日志 P6 产生病情报告
数据结构的描述
符 号 含 义 举例 = 被定义为 + 与 x = a+b [...,...] 或 [...|...] 或 x = [a , b],x = [a | b] { ... }或 m{...}n 重复 x = {a}, x = 3{a}8 (...) 可选 x = (a) “...” 基本数据元素 x = “a” .. 连结符 x = 1..9
2-4 目前住院病人主要由护士护理,这样做
不仅需要大量护士,而且由于不能随时观察 危重病人的病情变化,还会延误抢救时机。 某医院打算开发一个以计算机为中心的患者 监护系统,请分层次地画出描述本系统功能 的数据流图。
医院对患者监护系统的基本要求是随时 接收每个病人的生理信号(脉搏、体温、血压、 心电图等),定时记录病人情况以形成患者日 志,当某个病人的生理信号超出医生规定的 安全范围时向值班护士发出警告信息,此外, 护士在需要时还可以要求系统印出某个指定 病人的病情报告。
F4利息 F4利息 F6取款信息 P6 设置利率 P4 计算利息 F8储蓄利率
P5 打印利息清单 F8储蓄利率
E2 业务员
F8储蓄利率
D2存款利率
E1 储户
F2取款单 无效取款信息
P3.1 输入取款信息
F5存款信息
D1存款信息 F7密码 F7密码 P3.2 密码校验
补充1:某火车售票系统的数据流程图如 3 下所示 查询结果 日期
(3) 假设在1995年存储器字长为32位,一名 程序员每天可开发出30条指令,程序员的 月平均工资为6000美元,重复(1)、(2)题。
(1)在1985年对计算机存储容量的需求,估计是
M 4080 e
0.28(1985 1960 )
4080 7 4,474,263(字) e
如果字长为16位,则这个存储器的价格是
如果一条指令为一个字长,则为使存储 器装满程序共需73,577,679条指令。
在1995年一名程序员每天可开发出30条指令, 每月可开发出600条指令,为了开发出可装满整 个存储器的程序,需要的工作量为
73577679 122 629(人月) , 600
开发上述程序的成本为:
122629 6000 735,776,790(美元)
E1 护士
F1要求报告
P2 分析信号 E2 病人 F2生理信号 F2生理信号 F5安全范围
危及病人信息 D2患者安全范围
P3 产生警告信息 F4警告信息
D3生理信息 定时的生理信号 P5 更新日志
F2生理信号 P1 接收信号 F2生理信号 定时的 生理信号
E1 护士
F6日志 E3 时钟 F3日前、时间 P4 定时取样 生理信号 F6日志 E1 护士 F1要求报告 P6 产生病情报告 D1患者日志
• • • • • • • • • • •
电话号码=[校内电话号码|校外电话号码] 校内电话号码=非零数字+ 3 位数字 //后面继续定义 校外电话号码=[本市号码|外地号码] 本市号码=数字零+8位数字 外地号码=数字零+3位数字+8位数字 非零数字=[1|2|3|4|5|6|7|8|9] 数字零=0 3位数字=3{数字}3 //3至3个数字 8位数字=非零数字+7位数字 7位数字=7{数字}7 数字=[0|1|2|3|4|5|6|7|8|9]
在上列公式中Y代表年份,M是存储容量(字数), P1和P2代表价格。
基于上述假设可以比较计算机硬件和软件成 本的变化趋势。要求计算: (1) 在1985年对计算机存储容量的需求估计 是多少?如果字长为16位,这个存储器的价 格是多少? (2) 假设在1985年一名程序员每天可开发出 10条指令,程序员的平均工资是每月4000 美元。如果一条指令为一个字长,计算使 存储器装满程序所需用的成本。
2-5 北京某高校可用的电话号码有以下几类:校内 电话号码由4位数字组成,第1位数字不是0;校 外电话又分为本市电话和外地电话两类,拨校外
电话需先拨0,若是本市电话则再接着拨8位数字
(第1位不是0),若是外地电话则拨3位区码再拨8 位电话号码(第1位不是0)。
请用定义数据字典的方法,定义上述的电话号码。
1-6 什么是软件过程?它与软件工程方法 学有何关系? 软件过程是为了开发出高质量的软件产 品所需完成的一系列任务的框架,它规 定了完成各项任务的工作步骤。 软件过程定义了运用技术方法的顺序、 应该交付的文档资料、为保证软件质量 和协调软件变化必须采取的管理措施, 以及标志完成了相应开发活动的里程碑。 软件过程是软件工程方法学的3个重要 组成部分之一。
E1 护士
F4警告信息、病情报告 F1要求报告
E1 护士
E2 病人
F2生理信号
P0 患者监护系统
F6日志
Hale Waihona Puke D1患者日志F5安全范围
D2患者安全范围
E3 时钟
F3日前、时间
系统对病人生理信号的处理功能主要是“接 收信号”、“分析信号”、和“产生警告信 息”。此外,系统还应该具有“定时取样生 理信号”、“更新日志”和“产生病情报告” 的功能。 为了分析病人生理信号是否超出了医生规定 的安全范围,应该存储“患者安全范围”信息。 此外,定时记录病人生理信号所形成的“患者 日志”,显然也是一个数据存储。
修改报告
文件 管理员
1
文件 修改信息 接收修改 信息 管理员
修改信息 D1修改信息 文件 管理员
修改信息
修改报告
2
读主 文件 主文件
3
校核 记录
正确的记录
4
修改 原始记录
5
产生报告
主文件 D2主 文件
修改后的主文件
修改后的主文件
D3修改后的主文件
补充3:饭卡管理系统 任务概述:该系统是一套针对大学校园食堂 饮食交费和一般消费等方面的信息管理系 统,它包括了同学或教职工(后面把这两 者统称为持卡者,把这两者的基本信息文 档统一放在学校持卡者信息表中)在校内 消费各方面内容:刷卡消费、查询、存款 和持卡者信息管理等。方便对饭卡信息进 行各项操作,定时进行数据的备份更新, 保持数据的一致性和准确性,各方面的内 容应该相互联系,最终产生各种查询统计 报表,以供持卡者进行检查。
P2 分析信号 E2 病人 F2生理信号
危及病人信息 F2生理信号 D2患者安全范围 P7制定安 全范围 P5 更新日志
P3 产生警告信息 F4警告信息 E1 护士
F5安全范围
D3生理信息 定时的生理信号
F2生理信号 P1 接收信号 F2生理信号 定时的 生理信号
F6日志 E3 时钟 F3日前、时间 P4 定时取样 生理信号 F6日志 E1 护士 F1要求报告 P6 产生病情报告 D1患者日志
此系统的主要任务就是把人们从繁琐的交 费,找零工作中解放出来,用计算机实现对销 售合同资料进行存款,消费,查询、修改、删 除以及存储等功能。同时,用计算机能够快速 准确地完成共档案资料的统计和汇总工作,迅 速地打印出各种报表资料以供使用。
系统流程图
根据系统的功能要求,我们要建立三个库文件, 分别是学校持卡者信息、饭卡存款额及历史情况 和饭卡信息备份。学校持卡者信息库用来存放全校 在校学生的各类信息,比如姓名、学号(或工号)、 系别;饭卡存款额和历史库用来记录此张饭卡当前 的余额,刷卡时消费金额的历史记录以及存款的历 史记录;为了防止意外导致这些重要文件丢失,需 要备份,备份信息放入饭卡信息库中。
按日期 查询 查询 信息 1 接受查 询
录入员
查询 信息
2 分析查 询
班次
4
按班次 查询 5 按线路 查询
查询 结果
6
查询显 示
查询 结果
线路
查询结果
旅客
补充2:考虑一个修改磁带上主文件的系统。 文件管理员把修改信息穿孔在卡片上,系 统读入穿孔卡片上的信息并按照记录号把 修改信息顺序排列好。然后系统逐个读入 主文件上的记录,根据记录上的校验码校 核每个读入的记录,丢掉出错的记录,按 照修改信息修改余下的记录,产生的新文 件存储在磁盘上。最后,系统输出一份修 改报告供文件管理员参阅。请分层次画出 上述主文件修改系统的数据流图。
P 0.048 0.72
1985 1974
789 4474263 5, (美元)
(2)如果一条指令的长度为一个字,则使存储器 装满程序共需4474263条指令。
在1985年一名程序员每天可开发出10条指令,
如果每月有20个工作日,则每人每月可开发 出10×20条指令。
为了开发出4474263条指令以装满存储器, 需要的工作量是:4474263 22 371 人月) , ( 200 程序员的月平均工资是4000美元, 开发 出4474263条指令的成本是
E1 储户
F1存款单 F2取款单
P0储蓄系统
F3存单 F4利息清单
E1 储户
F5存款信息 F5存款信息