文档库 最新最全的文档下载
当前位置:文档库 › 软件工程练习题(附答案)

软件工程练习题(附答案)

软件工程练习题(附答案)
软件工程练习题(附答案)

一、选择题:共20空,每空2分,满分40分。

1、在用户使用软件的过程中出现的系统问题而进行的维护活动是()

(A)纠错性维护(B)完善性维护(增加功能)(C)预防性维护(D)适应性维护

2、_____是以提高软件质量为目的的管理活动。

(A)技术创新(B)测试属于技术活动(C)技术创造(D)技术评审

3、软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立

()。

(A)软件结构(B)软件过程(C)软件模型(D)软件模块

4、下面用C语言描述的函数内聚度是。

void encrypt(char strOriginal [1024])//字符串加密

{

int i=0;

int delt=0;

for (i=0;i<1024&& strOriginal [i]!='\0';i++)//加密算法

{

if(strOriginal [i]>=32&& strOriginal [i]<=126)

{

delt= strOriginal [i]-32;

strOriginal [i]=126-delt;

}

}

}

(A)逻辑内聚(B)过程内聚(C)时间内聚(D)功能内聚为了完成一个功能

5、复杂的数据流图()。

(A)只有变换型(B)只有事务型

(C)无规律(D)既有变换型又有事务型

6、不是需求分析过程中经常使用的工具。

(A)数据流图(B)程序流程图(C)状态图(D)实体-关系图

7、软件测试的过程应该先进行,再进行集成测试、确认测试,而后进行系统测试。

(A)性能测试(B)用户测试(C)单元测试(D)功能测试

8、软件开发小组的人员应该多多益善,这样才能更好更快地完成项目任务。这种做法违背了软件工程基

本原理中这条基本原理。

(A)用分阶段的生命周期计划严格管理(B)坚持进行阶段评审

(C)开发小组的人员应该少而精(D)承认不断改进软件工程实践的必要性

9、“90%的最终用户在第一次使用网银系统时,能在45秒内成功的完成转账交易。”这段话描述了系统

非功能性需求的方面特性。

(A)性能(记住把)(B)易用性(C)容量(D)可靠性

10、是描绘系统函数之间调用关系的传统工具。

(A)软件结构图(B)数据结构(C)状态图(D)程序流程图

11、。

(A D)提高模块的独立性12、软件概要设计结束后得到()

(A)初始化的软件结构图(B)优化后的软件结构图(C)模块详细的算法(D)程序编码13、程序能够满足规格说明和完成用户业务要求的质量特性称为。

(A)可靠性(B)正确性(C)可用性(D)完整性

14、软件危机出现于__(1)__,为了解决软件危机,人们提出了用____(2)___的原理来设计软件,这

是软件工程诞生的基础。

(1):(A)50年代末(B)60年代末1968 (C)60年代初(D)70年代初

(2):(A)数字(B)软件学(C)管理学(D)工程学

15、软件需求分析的任务不应包括(1)。进行需求分析可使用多种工具,但(2)是不适

用的。在需求分析中,分析员要从用户那里解决的最重要的问题是(3)。需求规格说明书的内容不应当包括(4)。该文档在软件开发中具有重要的作用,但其作用不应当包括(5)。

(1):(A)问题分析(B)信息域分析(C)结构化程序分析(D)确定逻辑模型(2):(A)数据流图(B)判定表(C)程序流程图(D)数据词典(3):(A)要让软件做什么(B)要给该软件提供哪些信息

(C)要求软件工作效率如何(D)要让软件具有什么样的结构

(4):(A)对重要功能的描述(B)对算法的详细过程性描述

(C)软件确认准则(D)软件的性能

(5):(A)软件设计的依据(B)用户和开发人员对软件要“做什么”的共同理解(C)软件验收的依据(D)软件可行性分析的依据

二、(10分)请将答案写在答题纸上。

请根据下面提供的代码画出对应的程序流程图。

printf("\n");

for (i=1; i<5; i++)

for(j=1;j<5;j++)

for (k=1;k<5;k++)

{

if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/

printf("%d,%d,%d\n",i,j,k);

}

三、(20分)请将答案写在答题纸上。

某医院开发病人监控系统。该系统通过各种设备监控病人的生命体征,并在生命体征异常时向医生和医护人员报警。该系统主要功能如下:

(1)本地监控:定期获取病人的生命体征,如体温、血压、心率等数据;

(2)格式化生命体征:对病人的各项重要生命体征数据进行格式化,然后存入日志文件并检查生命体征;

(3)检查生命体征:将格式化后的生命体征与生命体征范围文件中预设的正常范围进行比较。如果超出了预设范围,系统就发送一条警告信息给医生和护理人员;

(4)维护生命体征范围;医生必要时(如,新的研究结果出现时)添加或更新生命体征值的正常范围;(5)提取报告:在医生或护理人员请求病人生命体征报告时,从日志文件中获取病人生命体征生成体征报告,并返回给请求者;

(6)生成病历:根据日志文件中的生命体征,医生对病人的病情进行描述,形成病历存入病历文件;(7)查询病历:根据医生的病历查询请求,查询病历文件,给医生返回病历报告;

(8)生成治疗意见:根据日志文件中生命体征和病历,医生给出治疗意见,如处方等,并存入治疗意见文件。

(9)查询治疗意见:医生和护理人员查询治疗意见,据此对病人进行治疗。

先采用结构化的方法对病人监控系统进行分析与设计,获得如图1-1所示的顶层数据流图和1-2所示的0层数据流图。

图1-1 顶层数据流图

图1-2 1层数据流图

问题1:给出E1、E2、E3实体名称

E1:监控设备E2:护理人员E3:医生

问题2:使用说明中的词语,给出数据存储D1~D4的名称

D1:生命体征范围D2:日志文件D3:病历文件D4:治疗意见文件

问题3:图1-2 1层数据流图中缺4条数据流,请补充说明数据流名称和起点终点?日志信息:起点→终点日志起止文件→日志文件

?病情描述:起点→终点医生→获得病情信息

重要病情信息:起点→终点

本地监控→格式化生命特征 ?病例信息:起点→终点 病例文件→生成治疗意见 问题4:E1和E3之间可否有数据流?为什么? 没有

外部实体间不能直接有数据流 需要处理加工的存在 这样才有意义

四、(10分)请将答案写在答题纸上。 请将下述数据流图转换为对应的软件结构图。

A

B

D

f1

f2

f3

f4

f6

C

f5

异或:走f2时一定不走f5 事物型的

下面一排的字

F2 f3 f3 f4 f4 f5 f6 f6

五、(10分)请将答案写在答题纸上。

下图为一个被测程序流程图,试用“条件组合覆盖方法”为它设计足够的测试用例。

共2个判断 4个条件

x>1 y<=2 z==3 x>7

组合方式

T1T2 T3T4

T1F2 T3F4

F1F2 F3F4

F1T2 F3T4

只要不矛盾就连起来把

六、(10分)请将答案写在答题纸上。

有人说“需求确定之后就可以进行编码了,这样会提高项目的整体进度。”通过一学期的学习,请谈谈系统设计在整个软件生命周期中所起到的作用。

《生化分离工程》思考题与答案

第一章绪论 1、何为生化分离技术?其主要研究那些容?生化分离技术是指从动植物组织培养液和微生物发酵液中分离、纯化生物产品的过程中所采用的方法和手段的总称。 2、生化分离的一般步骤包括哪些环节及技术?一般说来,生化分离过程主要包括4 个方面:①原料液的预处理和固液分离,常用加热、调PH、凝聚和絮凝等方法;②初步纯化(提取),常用沉淀、吸附、萃取、超滤等单元操作;③高度纯化(精制),常选用色谱分离技术;④成品加工,有浓缩、结晶和干燥等技术。 3、生化分离工程有那些特点,及其重要性? 特点:1、目的产物在初始物料(发酵液)中的含量低;2、培养液是多组分的混合物,除少量产物外,还有大量的细胞及碎片、其他代物(几百上千种)、培养基成分、无机盐等;3、生化产物的稳定性低,易变质、易失活、易变性,对温度、pH 值、重金属离子、有机溶剂、剪切力、表面力等非常敏感;4、对最终产品的质量要求高重要性:生物技术产品一般存在于一个复杂的多相体系中。唯有经过分离和纯化等下游加工过程,才能制得符合使用要求的产品。因此产品的分离纯化是生物技术工业化的必需手段。在生物产品的开发研究中,分离过程的费用占全部研究费用的50 %以上;在产品的成本构成中,分离与纯化部分占总成本的40~ 80 %;精细、药用产品的比例更高达70 ~90 %。显然开发新的分离和纯化工艺是提高经济效益或减少投资的重要途径。

4、生物技术下游工程与上游工程之间是否有联系? 它们之间有联系。①生物工程作为一个整体,上游工程和下游工程要相互配合, 为了利于目的产物的分离与纯化,上游的工艺设计应尽量为下游的分离纯化创造条件,例如,对于发酵工程产品,在加工过程中如果采用液体培养基,不用酵母膏、玉米浆等有色物质为原料,会使下游加工工程更方便、经济;②通常生物技术上游工程与下游工程相耦合。发酵- 分离耦合过程的优点是可以解除终产物的反馈抑制效应,同时简化产物提取过程,缩短生产周期,收到一举数得的效果。 5、为何生物技术领域中往往出现“丰产不丰收”的现象? 第二章预处理、过滤和细胞破碎 1、发酵液预处理的目的是什么?主要有那几种方法? 目的:改变发酵液的物理性质,加快悬浮液中固形物沉降的速率;出去大部分可溶性杂质,并尽可能使产物转入便于以后处理的相中(多数是液相),以便于固液分离及后提取工序的顺利进行。 方法:①加热法。升高温度可有效降低液体粘度,从而提高过滤速率,常用于粘度随温度变化较大的流体。控制适当温度和受热时间,能使蛋白质凝聚形成较大颗粒,进一步改善发酵液的过滤特性。使用加热法时必须注意加热温度必须控制在不影响目的产物活性的围,对于发酵液,温度过高或时间过长可能造成细胞溶解,胞物质外溢,而增加发酵液的复杂性,影响其后的产物分离与纯化;②调节悬浮液的pH 值,pH 直接影响发酵液中某些物质的电离度和电荷性质,适当调节pH 可以改善其过滤特性;③凝聚和絮凝;④使用惰性助滤剂。

需求工程课后重点答案

1.需求分析与系统设计之间的界限是什么?何时从分析阶段进入设计阶段? 需求分析关注系统“做什么”,系统设计关注“如何做”。 当分析阶段完成后才能进入到设计阶段 2.需求处理要注意哪些非技术因素?为什么? 要注意的非技术因素:组织机构文化、社会背景、商业目标、利益协商等。 因为利用建模与分析技术构建的解决方案一定要和具体的应用环境相关,不存在不依赖具体应用环境的解决方案,因此,在利用建模分析技术进行要求处理是不能忽视具体应用环境的相关因素 3.需求分析与需求工程之间的关系 那就是需求工程含义更广,包括需求获取、需求分析、需求定义 第二章: 1.解释名词:问题域,解系统和共享现象,并结合他们的含义说明软件系统如何与现实世界形成互动的 问题域:现实的状况与人们期望的状况产生差异就产生问题。 解系统:软件系统通过影响问题域,能够帮助人们解决问题称为解系统 通过共存现象仅仅是问题域和姐系统的一个部分。而不是他们的全部。 软件系统仅仅是现实世界的一种抽象。所以问题除了共享现象之外。还有很多在进行模型抽象时忽略的其他现实因素。 2.解释下列名词,需求,规格说明,问题域特性和约束,并结合他们的含义说明需求工程的主要任务是什么? 需求是用户对问题域中的实体状态或事件的期望描述

规格说明:规格说明是解系统为满足用户需求而提供的解决方案,规定了解系统的行为特征。问题域的特性:在和解系统相互影响的同时,问题域是自治的,它有自己的运行规律,而且这些规律不会因解系统的引入而发生改变,这种自治的规律性称为问题域特性,当这些特性非常明确时称之为约束。 需求工程的主要任务:1.需求工程必须说明软件系统将应用的环境及目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用的方式、方法所施加的限制和约束。2需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明。3需求工程还要妥善处理目标、功能和约束随着时间的演化情况。 第三章: 一、.需求工程过程的工作基础(即输入)存在哪些?他的工作成果(即输出)有哪些?? 答:需求过程的工作基础是获取用户面临的业务问题,用户期望系统表现出来的各种行为,即需求获取 工作成果:产生一个能够在用户环境下解决用户业务问题的系统方案,并将其文档化为明确的规格说明。 二.、描述需求工程的各个活动,说明他们各自的工作基础,工作目标和工作成果 需求获取: 工作基础:1.收集背景资料2.定义项目前景和范围3.选择信息的来源4.选择获取方法,执行获取5.记录获取结果 工作目标:获取用户需求,了解用户在完成任务的时候遇到的问题与期望 工作成果:业务需求,项目的前景和范围,用户需求以及问题域的特征 需求分析: 工作基础:1背景分析2.确定系统边界3.需求建模 4.需求细化 5.确定优先权 6.需求协商 工作目标:1.通过建模整合各种信息,是人们更好地理解问题 2.定义一个需求集合,能够为问题界定一个游戏的解决方案 工作成果:产生一个需求的基线集,它指定了系统或当前版本的系统开发需完成的任务 3.需求规格说明: 工作基础1.定制文档模板 2.编写文档 工作目标:为了系统涉众之间交流需求信息 工作成果:需求规格文档说明 4.需求验证 工作基础1.执行验证2问题修改 工作目标:为了尽量不给设计实现测试后续开发活动带来不必要的影响。需求规格说明文档定义必须正确准确地反映用户的意图 工作成果:验证之后,问题得以修正 需求管理: 工作基础:1.建立和维护需求基线集2.建立需求跟踪信息3进行变更控制 工作目标:保证需求作用的持续稳定和有效发挥 工作成果:需求管理会进变更控制和实现合理的变更请求 拒绝不合理的变更请求,控制变更的成本和影响范围

软件工程试题及答案34385

软件工程期末试卷(A) 说明:本试卷为04级计算机专业(专升本)软件工程期末试卷,总计100分,时间100分钟 一、选择题:(每题1分,共20分)(将答案写在题号前的()中) ( C )1. 软件是()。 A. 处理对象和处理规则的描述 B. 程序 C. 程序及其文档 D. 计算机系统 ( B )2. 软件需求规格说明的内容不应包括()。 A. 主要功能 B. 算法的详细描述 C. 用户界面及运行环境 D. 软件的性能 ( B )3. 程序的三种基本控制结构是()。 A. 过程、子程序和分程序 B. 顺序、选择和重复 C. 递归、迭代和回溯 D. 调用、返回和转移 ( D) 4. 面向对象的分析方法主要是建立三类模型,即( )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 ( C ) 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作 ( A ) 6. 各种软件维护的类型中最重要的是( )。 A) 完善性维护B) 纠错性维护C) 适应性维护D) 预防性维护 ( B ) 7.软件测试的目标是()。 A. 证明软件是正确的 B. 发现错误、降低错误带来的风险 C. 排除软件中所有的错误 D. 与软件调试相同 ( D )8.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测试 D.软件维护 ( C )9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是()A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 ( D )10、详细设计的基本任务是确定每个模块的( )设计 A.功能 B.调用关系 C.输入输出数据 D.算法 ( A )11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:() A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据 ( D )12.下面几种白箱测试技术,哪种是最强的覆盖准则() A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖

需求工程(习题集)最新

一、选择题 1、需求获取的成果(A)。 A、获取笔录、录音或摄像 B、客户 C、需求规格说明文档 D、设计说明书 2、项目前景与范围文档中,项目前景不应包括什么信息(B)。 A、前景概述 B、详细的功能需求 C、主要特性 D、假设与依赖 3、下列不属于需求开发的活动的是( B)。 A、需求获取 B、需求管理 C、需求验证 D、需求分析 4、面谈的类别不包括(C)。 A、结构化面谈 B、半结构化面谈 C、封闭式面谈 D、非结构化面谈 5、采用观察方法进行需求获取的原因(C)。 A、用户多 B、客户变化 D、事件的情景性D、存在默认知识 6、确定需求优先级的常用的方法(A)。 A、累计投票 B、协商 C、需求细化 D、需求建模 7、需求评审是(B)中常用的一种方法。 A、需求获取 B、需求验证 C、需求分析 D、需求管理 8、需求跟踪是(D)中的一个活动。 A、需求获取 B、需求验证 C、需求分析 D、需求管理 9、针对客户需求文档进行文档审查的时候,采用的方法是(C)。 A、需求重用 B、文档分析 C、需求剥离 D、民族志 10、下列不是过程建模中使用的技术是( C )。 A、上下文图 B、数据流图 C、E-R图 D、微规格说明 11、针对相关产品的需求规格说明进行文档审查的时候,采用的方法是(C)。 A、需求剥离 B、文档分析 C、需求重用 D、民族志 12、下列不是用例模型的基本元素的是(A)。 A、用例 B、参与者 C、实体 D、系统边界 13、下列不属于需求验证的方法的是(B)。 A、需求评审 B、需求分析 C、利用跟踪关系 D、开发测试用例 14、下列不属于变更控制过程的步骤是(D)。 A、提出需求变更 B、接受变更请求 C、变更评估 D、需求依赖 15、需求分析的最终结果产生的是(C)。 A、项目开发计划 B、可行性分析报告 C、需求规格说明书 D、设计说明书 16、最常见的IEEE1998将需求分成5种类别,下列哪个不是5种类别的是(D)。 A、功能需求 B、性能需求

软件工程试题及答案(B)

B卷 一、选择题(每题2分,共40分) 1.软件项目的可行性研究要进行一次( C )需求分析。 A.详细的B.全面的C.简化的、压缩的D.彻底的 2、系统流程图用于可行性分析中的( A )的描述。 A.当前运行系统B.当前逻辑模型C.目标系统D.新系统 3、程序的三种基本控制结构的共同特点是( D ) A.不能嵌套使用B.只能用来写简单程序 C.已经用硬件实现D.只有一个入口和一个出口 4、维护中,因误删除一个标识符而引起的错误是( C )副作用。 A.文档B.数据C.编码D.设计 5、( D )是以提高软件质量为目的的技术活动。 A.技术创新B.测试C.技术创造D.技术评审 6、面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和 实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。因此面向对象方法有许多特征,如软件系统是由对象组成的;( C );对象彼此之间仅能通过传递消息互相联系;层次结构的继承。 A.开发过程基于功能分析和功能分解B.强调需求分析重要性 C.把对象划分成类,每个对象类都定义一组数据和方法D.对既存类进行调整 7、原型化方法是用户和设计者之间执行的一种交互构成,适用于( A )系统。 A.需求不确定性高的B.需求确定的C.管理信息D.实时 8、为了提高测试的效率,应该( D )。 A.随机地选取测试数据B.取一切可能的输入数据作为测试数据

C.在完成编码以后制定软件的测试计划D.选择发现错误可能性大的数据作为测试数据 9、使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。 A.程序的内部逻辑B.程序的复杂结构C.使用说明书D.程序的功能 10、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C ) A.软件工程 B.软件周期 C.软件危机 D.软件产生 11、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性 称为( B )。 A.可用性 B.可靠性 C.正确性 D.完整性 12、瀑布模型的关键不足在于( B ) A.过于简单 B.不能适应需求的动态变更 C.过于灵活 D.各个阶段需要进行评审 13、软件维护的副作用主要有以下哪几种( C ) A.编码副作用、数据副作用、测试副作用 B.编码副作用、数据副作用、调试副作用 C.编码副作用、数据副作用、文档副作用 D.编码副作用、文档副作用、测试副作用 14、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高( B)。 A、结构化方法 B、原型化方法 C、面向对象的方法 D、控制流方法 15、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主 要保证是( C)。 A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、开发人员的 素质 16、软件开发模型是指软件开发的全部过程、活动和任务的结构框架。主要的开发模型有瀑 布模型、演化模型、螺旋模型、喷泉模型和智能模型。螺旋模型将瀑布模型和演化模型相结合,并增加了(1),它建立在(2)的基础上,沿着螺线自内向外每旋转一圈,就得到(2)的一个新版本。喷泉模型描述了(3)的开发模型,它体现了这种开发方法创建软件的过程所固有的(4)和(5)的特征。 B(1) A、系统工程 B、风险分析 C、设计评审 D、进度控制 D(2) A、模块划分 B、子程序分解 C、设计; D、原型 A(3) A、面向对象 B、面向数据流 C、面向数据结构 D、面向事件驱动 D(4) A、归纳 B、推理 C、迭代 D、递归 A(5) A、开发各阶段之间无“间隙” B、开发各阶段分界明显 C、部分开发阶段分界明显 D、开发过程不分段 二、判断题(每题2分,共30分) 1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活 动。( T ) 2.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。 ( F ) 3.JAVA语言编译器是一个CASE工具。( T )。

软件工程课后习题测验简答题

第一章: 三、简答题 1.软件产品的特性是什么? 答:●软件是一种逻辑产品,具有无形性; ●软件产品的生产主要是研制;主要是脑力劳动; ●软件不存在磨损和老化问题,但存在退化问题; ●软件产品的成本非常昂贵,其开发方式目前尚未完全摆脱手工生产方式; ● 软件具有“复杂性”,其开发和运行常受到计算机系统的限制。 2. 软件发展有几个阶段?各有何特征? 答:①程序设计阶段。 硬件特征:价格贵、存储容量小、运行可靠性差。 软件特征:只有程序、程序设计概念,不重视程序设计方法。 ②程序系统阶段。 硬件特征:速度、容量及工作可靠性有明显提高,价格降低,销售有爆炸性增长。 软件特征:程序员数量猛增,开发人员素质低。 ③软件工程阶段。 硬件特征:向超高速、大容量、微型化及网络化方向发展。 软件特征:开发技术有很大进步,但未获得突破性进展,软件价格不断上升,未完全摆脱软件危机。 3.什么是软件危机?其产生的原因是什么? 答:“软件危机”(Software Crisis)的出现是由于软件的规模越来越大,复杂度不断增加,软件需求量增大。而软件开发过程是一种高密集度的脑力劳动,软件开发的模式及技术不能适应软件发展的需要。致使大量质量低劣的软件涌向市场,有的花费大量人力、财力,而在开发过程中就夭折。软件危机主要表现在两个方面: (1) 软件产品质量低劣,甚至开发过程就夭折。 (2)软件生产率低,不能满足需要。 4.什么是软件过程?有哪些主要的软件过程模型?它们各有哪些特点? 答:软件过程是指在软件工具的支持下,所进行的一系列软件开发和进化的活动。软件过程模型是对软件开发实际过程的抽象和简化,是描述软件开发过程中各种活动如何执行的模型,因此又称为软件开发模型。 主要的软件过程模型有:瀑布模型、增量模型、螺旋模型、喷泉模型和基于知识的模型等。 ⑴瀑布模型是经典的软件开发模型,将软件开发活动中的各项活动规定为依线性顺序连接的若干阶段,它简单易用,在消除非结构化软件、降低软件的复杂性、促进软件开发工程化方面起了很大的作用。但在软件开发实践中也逐渐暴露出它的缺点。它将一个充满回溯的软件开发过程硬性分割为几个阶段,无法解决软件需求不明确或者变动的问题。 ⑵增量模型是一种非整体开发的模型。根据增量的方式和形式的不同,分为基于瀑布模型的渐增模型和基于原型的快速原型模型。该模型具有较大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目。 ⑶螺旋模型将瀑布模型和增量模型结合起来,并加入了风险分析。螺旋模型将开发过程分为几个螺旋周期,每个螺旋周期可分为4个工作步骤:制定计划、风险分析、实施工程、客户评估。 ⑷喷泉模型用于采用对象技术的软件开发项目。它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。喷泉模型使开发过程具有迭代性和无间隙性。软件开发过程有4

需求工程习题

一、选择题 1、需求获取的成果()。 A、获取笔录、录音或摄像 B、客户 C、需求规格说明文档 D、设计说明书 2、项目前景与范围文档中,项目前景不应包括什么信息()。 A、前景概述 B、详细的功能需求 C、主要特性 D、假设与依赖 3、下列不属于需求开发的活动的是( )。 A、需求获取 B、需求管理 C、需求验证 D、需求分析 4、面谈的类别不包括()。 A、结构化面谈 B、半结构化面谈 C、封闭式面谈 D、非结构化面谈 5、采用观察方法进行需求获取的原因()。 A、用户多 B、客户变化 D、事件的情景性 D、存在默认知识 6、确定需求优先级的常用的方法()。 A、累计投票 B、协商 C、需求细化 D、需求建模 7、需求评审是()中常用的一种方法。 A、需求获取 B、需求验证 C、需求分析 D、需求管理 8、需求跟踪是()中的一个活动。 A、需求获取 B、需求验证 C、需求分析 D、需求管理 9、针对客户需求文档进行文档审查的时候,采用的方法是()。 A、需求重用 B、文档分析 C、需求剥离 D、民族志 10、下列不是过程建模中使用的技术是()。 A、上下文图 B、数据流图 C、E-R图 D、微规格说明 二、名词解释 1、系统需求 2、需求基线 3、涉众 4、用例模型 5、民族志

三、填空题 1、功能需求通常体现为三个层次:、和系统需求。2、面向对象建模中用到的技术包括:、、行为模型、状态机模型和对象约束语言。 3、常见的需求定义错误:没有反映用户真实需要、、信息遗漏、、。 4、涉众分析包括哪些活动:、涉众描述、和。5、微规格说明是一些被用来描述过程处理逻辑的技术,主要有三种常用的技术:、、。 6、在需求工程中原型方法步骤:、、、原型修正。 四、简答题 1、需求获取活动的主要步骤包括哪5步? 2、涉众分析有哪些活动?解释每一个活动的具体内容? 3、需求工程定义?需求工程的活动包括? 4、什么是过程建模?过程建模中用到哪些技术?并对每一个技术详细解释? 5、需求管理的活动包括哪些?并具体说明每一个活动内容?

软件工程考试题(含答案)

软件工程考试题 简答题 1、什么叫软件? 软件就是计算机系统中与硬件相互依存的另一部分,它就是包括程序,数据及其相关文档的完整集合 2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因就是什么? 软件危机就是指在计算机软件开发与维护过程中所遇到的一系列严重问题。包括两点: (1)如何开发软件,以满足对软件日益增长的需求; (2)如何维护数量不断膨胀的已有软件。 软件开发与维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也与软件开发与维护的方法不正确有关。具体表现如下: (1)软件就是逻辑部件而不就是物理部件。 (2)软件的规模越来越大,复杂性越来越大。 (3)轻视需求分析的重要性,轻视软件维护的错误观点与方法。 3、什么叫软件工程? 1968年在第一届NATO会议上的早期定义: “建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法”。 1993年IEEE的定义: “①软件工程就是:把系统的、规范的、可度量的途径应用于软件开发、运行与维护过程,也就就是把工程应用于软件;②进而研究①实现的途径”。 我们国家最近定义:软件工程就是指导计算机软件开发与维护的工程学科。它采用工程的概念、原理、技术与方法来开发与维护软件,把经过时间考验而证明正确的管理技术与当前能够得到的最好的技术方法结合起来。 4、两种软件工程方法学开发软件时要建立哪些模型? 软件工程方法学包括:传统方法学与面向对象方法学。常用的开发模型有: 瀑布模型(需求稳定,而且可以预先指定) 原型模型(需求模糊或者随时间变化) 增量模型(分析员先作出需求分析与概要设计,用户参与逐步完善) 螺旋模型(将瀑布模型与原型化模型结合起来,并加入了风险分析) 喷泉模型(使开发过程具有迭代性与无间隙性) 5、软件过程模型有哪些?简述它们的特点。 过程模型分为五大类:1、管理过程模型。2、瀑布模型(又称为生命周期模型)。3、增量过程模型:包括增量模型,,RAD模型。4、烟花过程模型:包括原型开发模型,螺旋模型,协同开发模型。5、专用过程模型:包括机遇构建的开发模型,形式化方法模型,面向方面的软件开发模型。 6、什么就是软件生命周期? 一个软件从定义,开发,使用与维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长时期称为生命周期 7、软件生命周期有哪几个阶段与步骤? 三个阶段:定义、开发、维护 八个步骤:问题定义、可行性研究、需求分析;总体设计、详细设计、编码与单元测试、综合测试;运行维护。 8、计算机软件的开发经过哪三个大阶段? 三个阶段:定义、开发、维护 9、软件开发的各阶段的任务就是什么? 定义阶段:问题定义--任务:关于规模与目标的报告书;可行性研究--任务:系统的高层逻辑模型:数据流图,成本/效益分析;需求分析--任务:系统的逻辑模型:数据流图,数据字典,算法描述。 开发阶段:总体设计--任务:系统流程图,成本/效益分析,推荐的系统结构:层次图/结构图;详细设计--任务:HIPO图或PDL 图;编码与单元测试--任务:源程序清单,单元测试方案与结果;综合测试--任务:综合测试方案,结果集成测试,验收测试,完整一致的软件配置。 维护阶段:软件维护--任务:维护记录以及改正性维护,适应性维护,完整性维护与预防性维护

软件工程思考题答案

1、一个软件公司许多部门,分为开发部门和管理部门两种,每个开发部门开发多个软件产 品。每个部门由部门名字唯一确定。该公司有许多员工,员工分为经理,工作人员和开发人员每个开发人员可参加多个开发项目,每个开发项目需要多个开发人员,开发人员使用语言开发项目。每位经理可主持多个开发项目。建立该软件公司的对象模型。 2、某教务中心准备开发一个成人自学考试系统考务管理系统,经过调研该系统有如下功能:(1)对考生填写的报名单进行审查,对合格的考生,编好准考证发给考生,汇总后的报名单送给阅卷站。 (2)给合格的考生制作通知单,将考试科目、时间、地点安排告诉考生。 (3)对阅卷站送来的成绩进行登记;按当年标准审查单科合格者,并发成绩单,对所考专业各科成绩全部合格者发给大专毕业证书。 (4)对成绩进行分类(按地区、年龄、职业、专业、科目等分类)产生相应统计表 (5)查询考生可按准考证号随时查询自己的各科成绩 试根据要求画出系统的用例图

3、某图书馆借阅系统有以下功能: (1)借书:根据读者的借书证查询读者档案,若借书数目未超过规定数量,则办理借阅手续(修改库存记录及读者档案),超过规定数量者不予借阅。对于第一次借阅者则直接办理借阅手续。 (2)还书:根据读者书中的条形码,修改库存记录及读者档案,若借阅时间超过规定期限则罚款。 请对以上问题,画出数据流图

4、某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下:(1)报社发行多种刊物,每种刊物通过订单来征订,订单中有代码、名称、订期、单价、份数等项目,订户通过填写订单来订阅报刊。 (2)报社下属多个发行站,每个站负责收集登陆订单,打印收款凭证等事务。 (3)报社负责分类并统计各个发行站送来的报刊订阅信息。 请就比需求建立对象模型,并画出系统的用例图

分离工程课程 思考题

分离工程课程 思考题 1.气液相平衡系统分几类?各类相应的i K 的计算式怎样? 2.工程计算中求取相平衡常数的常用途径有哪两条?各自的i K 计算式怎样? 3.应用状态方程计算L i ?和V i ?的方程相同,那么如何确定算得的结果是L i ?和V i ?? 4.现有乙烷,丙烷和异丁烷组成的三元混合物,采用SRK 状态方程计算它们的相平衡常数i K ,试问需要查取哪些基础数据才能计算它们的i K ? 5.现有乙醇,水,正丙烷组成的三元混合物,采用Wilson 活度系数和Virial 方程计算气相逸度系数,试问需要查取哪些基础数据才能计算它们的i K ? 6.何谓真实气体的理想溶液?当气液两相均可作为理想溶液处理时,i K 取决于哪些因素? 7.以局部组成概念为基础的活度系数方程用来预计多元系的气液平衡,比起Wohl 型一类方程有哪些优点? 8.教材介绍的泡点计算的框图用来计算压力不十分高系统泡点十分有效,试分析原因。 9.如何比较简单地判别一个混合物状态?试归纳相态判别的关系式。 10.等温闪蒸计算机的计算,采用目标函数何迭代变量是什么?用它们有什么优点? 11.构成一个计算机计算的要点是什么?试以Wang - Hanke 法为例进行剖析并由此说明算法的局限性。 12.试推导多级分离过程的MESH 方程组。 13.三对角线的BP 法何SR 法的框图怎样?两法各自适用的物系是哪些? 14.精馏塔的操作压力的上,下限各由什么因素决定?增大操作压力对分离效果和能耗有何影响? 15.何谓关键组分?精馏分离的多元混合物可能含有哪些组分? 16.有A ,B ,C ,D (以挥发度递减次序排列)四组分组成的料液加入精馏塔中进行分离。试对A ,B : B ,C 或C ,D 是轻重关键组分时,塔在m R 下操作时塔中的恒沸区位置进行分析。因为什么组分的变化而引起恒浓区位置的变化? 17.估算精馏塔塔顶和塔底产品的量和组成有哪两种方法?各自的基本假定有哪些? 18.试应用教材中推导的s /12α计算式(式2-175),说明萃取精馏中溶液的作用。如果原料中两组分的相对挥发度十分接近1,靠加入溶剂的什么作用才可能使s /12α

《软件工程》试题及参考答案(第6套)

第一部分选择题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A 软件过程 B 软件工具 C 质量保证 D 软件工程 2、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。 A 业务需求 B 功能要求 C 非功能需求 D 用户需求 3、软件测试计划开始于需求分析阶段,完成于()阶段。 A 需求分析 B 软件设计 C 软件实现 D 软件测试 4.下面关于面向对象方法中消息的叙述,不正确的是( )。 A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息 B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C. 应用程序之间可以相互发送消息 D.发送与接收消息的通信机制与传统的子程序调用机制不同 5.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( )。 A.工作无序,项目进行过程中经常放弃当初的计划 B.建立了项目级的管理制度 C.建立了企业级的管理制度 D.软件过程中活动的生产率和质量是可度量的 6.在McCall软件质量度量模型中,()属于面向软件产品修改。 A.可靠性B.可重用性C.适应性 D.可移植性 7.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测 试 D.软件维护 8.需求分析阶段的任务是确定() A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能

软件工程课后习题参考答案

1.简述软件开发的本质。 答:软件开发的本质就是实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。P19 2.简述实施软件开发的基本途径。 答:实施软件开发的基本途径是系统建模。所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结构——系统模型。P19 3.简述何谓模型以及软件开发中所涉及的模型。 答:模型是一个抽象。该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述,描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述。 软件开发中所涉及的模型可分为两大类,一类称为概念模型,描述了系统是什么;另一类统称为软件模型,描述了实现概念模型的软件解决方案。 4.简述软件开发所涉及的两大类技术。 答:软件开发所涉及的两大类技术为:一是求解软件的开发逻辑,二是求解软件的开发手段。 5、简述需求与需求规约的基本性质。 答:需求的基本性质:1) 必要的,该需求是用户所要求的。2)无歧义的,该需求只能用一种方式解释。3)可测的,该需求是可进行测试的。4)可跟踪的,该需求可从一个开发阶段跟踪到另一个阶段。5)可测量的,该需求是可测量的。 需求规约的基本性质:1)重要性和稳定性程度:按需求的重要性和稳定性,对需求进行分级。2)可修改的:在不过多地影响其他需求的前提下,可以容易地修改一个单一需求。 3)完整的:没有被遗漏的需求。4)一致的:不存在互斥的需求。 6、简述软件需求的分类。

答:软件需求可以分为两大类:一类是功能需求,一类是非公能需求,而非公能需求可 7、举例说明功能需求和非功能需求之间的基本关系。 答: 非功能需求可作用于一个或多个功能需求,例如 非功能需求可作用于一个或多个功能需求 其中,非功能需求1作用于功能需求1和功能需求3等;非功能需求2作用于功能需求2等。P24 8、有哪几种常用的初始需求发现技术 答:有5种常用的需求发现技术:自悟、交谈、观察、小组会和提炼。P26 9、简述需求规约的3种基本形式。 (1) 非形式化的需求规约。非形式化的需求规约即以一种自然语言来表达需求规约,如同使用一种自然语言写了一篇文章。(2) 半形式化的需求规约。半形式化的需求规约即以半形式化符号体系(包括术语表、标准化的表达格式等)来表达需求规约。(3)形式化的需求规约。形式化的需求规约即以一种基于良构数学概念的符号体系来编制需求规约,一般往往伴有解释性注释的支持。 P29 10、简述软件需求规约的内容和作用。 答:软件需求规约的内容有:引言、总体描述、特定需求、附录、索引。P28 需求规约的作用可概括为以下4点:1)需求规约是软件开发组织和用户之间一份事实上的技术合同书,是产品功能及其环境的体现。2)对于项目的其余大多数工作,需求规约是一个管理控制点。3)对于产品/系统的设计,需求规约是一个正式的、受控的起始点。4)需求规约是创建产品验收测试计划和用户指南的基础。P31 11、简述需求规约在项目开发中的基本作用。 答:需求规约的作用可概括为以下4点:1)需求规约是软件开发组织和用户之间一份事实上的技术合同书,是产品功能及其环境的体现。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. 软件生命期各阶段的任务是什么? 答:软件生命期分为7个阶段: 1、问题定义:要解决的问题是什么 2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性 3、需求分析:系统必须做什么 4、总体设计:系统如何实现,包括系统设计和结构设计 5、详细设计:具体实现设计的系统 6、实现:编码和测试 7、运行维护:保证软件正常运行。 2、软件重用的效益是什么? 答:1、软件重用可以显著地改善软件的质量和可靠性。 2、软件重用可以极大地提高软件开发的效率。 3、节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费。 3、自顶而下渐增测试与自底而上渐增测试各有何优、缺点? 答: ①自顶而下渐增测试 优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够尽早发现上层模块的接口错误。 缺点:需要存根程序,底层错误发现较晚。 ②自底而上渐增测试 优点与缺点和自顶而下渐增测试相反。 4 、提高可维护性的方法有哪些? 答:在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结束前

的审查和复审中,应着重对可维护性进行复审。 在需求分析阶段的复审中,应对将来要扩充和修改的部分加以注明。在讨论软件可移植性问题时,要考虑可能要影响软件维护的系统界面。 在软件设计的复审中,因从便于修改、模块化和功能独立的目标出发,评价软件的结构和过程,还应对将来可能修改的部分预先做准备。 在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性的因素。 在软件系统交付使用前的每一测试步骤中都应给出需要进行预防性维护部分的提示。 在完成每项维护工作后,都应对软件维护本身进行仔细认真的复审。 为了从根本上提高软件系统的可维护性,人们正试图通过直接维护软件规格说明来维护软件,同时也在大力发展软件重用技术。 简述软件测试要经过哪几个步骤,每个步骤与什么文档有关。 【解答】 测试过程按 4 个步骤进行,即单元测试(模块测试)、集成测试(子系统测试和系统测试)、确认测试(验收测试)和平行运行。 单元测试集中对用源代码实现的每一个程序单元进行测试,与其相关的文档是单元测试计划和详细设计说明书。 集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。与其相关的文档是集成测试计划和软件需求说明书。 确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。与其相关的文档是确认测试计划和软件需求说明书。 平行运行把已经经过确认的软件纳入实际运行环境中,与其他系统成份组合在一起进行测试。与其相关的文档:用户指南、使用手册等。 36.简述容错技术的四种主要手段,并解释。

《生化分离工程》思考题及习题

《生化分离工程》思考题及习题 第一章绪论 1、何为生化分离工程bioseparation engineering/下游加工过程, biotechnology?其 主要研究那些内容? 2、生化分离技术依据的分离原理有哪些? 3、生化分离工程有那些特点?其包括那几种主要分离方法? 4、何为传质分离过程? 5、简述生化分离工程的发展趋势。 6、亲和技术目前已衍生出那些子代分离技术? 7、生化反应与生化分离耦合技术有那些特点? 8、为何在生物技术领域中往往出现“丰产不丰收”的现象? 9、生物产品与普通化工产品分离过程有何不同? 10、设计生物产品的分离工艺应考虑哪些因素? 11、初步纯化与高度纯化分离效果有何不同? 12、如何除去蛋白质溶液中的热原质? 13、生物分离为何主张采用集成化技术? 14、若每一步纯化产物得率为90%,共6步纯化得到符合要求产品,其总收率 是多少? 第二章预处理与固-液分离法 1、发酵液预处理的目的是什么?主要有那几种方法? 2、何谓絮凝?何谓凝聚?各自作用机理是什么? 3、絮凝剂可分为那三种?有那些因素影响絮凝过程? 4、在生化工业中常用的过滤方式那两种?各自有何特点? 5、离心分离分那两大类?各自有何特点及用途?常用离心法有那几种? 6、何谓密度梯度离心?其工作原理是什么? 7、如何使用助滤剂? 8、错流微滤与传统过滤相比有何优点?

第三章细胞破碎法 1、细菌细胞壁与真菌(酵母)细胞壁在组成上有何区别? 2、细胞破碎主要有那几种方法? 3、机械法细胞破碎方法非机械破碎方法相比有何特点? 4、何谓脂溶破碎法?其原理是什么?包括那几种? 5、酶法细胞破碎常用那几种酶类? 6、包涵体是如何产生的?如何使重组蛋白复性? 7、如何测定细胞破碎程度? 第四章沉淀法 1.理解概念:盐溶,盐析 2.常用的沉淀法有哪几种? 3.生产中常用的盐析剂有哪些?其选择依据是什么? 4.何谓分步盐析沉淀? 5.有机沉淀法与盐析沉淀法相比有何优缺点? 第五章溶剂萃取法 1、何谓溶剂萃取?其分配定律的适用条件是什么? 2、在溶剂萃取过程中pH值是如何影响弱电解质的提取? 3、何谓乳化液?乳化液稳定的条件是什么?常用去乳化方法有那些? 4、在发酵工业中,去乳化有何实际意义? 5、理解概念:HLB,分配系数,分离因子,介电常数,带溶剂 6、生物物质的萃取与传统的萃取相比有哪些不同点? 7、pH 对弱电解质的萃取效率有何影响? 8、发酵液乳化现象是如何产生的?对分离纯化产生何影响? 如何有效消除乳化现象? 9、什么叫超临界流体? 10、为何在临界区附近,稍微改变流体的压力和温度,都会引起流体密度的大副变化? 11、要提高超临界流体萃取的效率,可以考虑哪些方面?

软件工程课后习题答案

软件工程课后习题答案 第一章 一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。软件危机的典型表现: (1) 对软件开发成本和进度的估计常常很不准确。常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。这些都降低了开发商的信誉,引起用户不满。 (2) 用户对已完成的软件不满意的现象时有发生。 (3) 软件产品的质量往往是靠不住的。 (4) 软件常常是不可维护的。 (5) 软件通常没有适当的文档资料。文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。

(6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。 (7) 开发生产率提高的速度远跟不上计算机应用普及的需求。软件危机出现的原因: (1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。 (2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。 (3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。 二、假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他? 答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改, 不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是整体构架的错误。

软件工程试题及答案53581

软件工程 一、填空题(每题2分,共20分) 1、系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种 元素之间的( )情况。 2、成本效益分析的目的是从( )角度评价开发一个项目是否可行。 3、自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和( ) 。 4、在JSP方法中解决结构冲突的具体办法是( )。 5、详细设计的任务是确定每个模块的内部特性,即模块的算法、( )。 6、所有软件维护申请报告要按规定方式提出,该报告也称( )报告。 7、独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路 径是至少包含有一条( )的边的路径。 8、设计任何一个人机界面,一般必须考虑()四个方面。 9、在软件测试中,已知产品内部工作过程,通过测试检验产品内部动作是否按照产品规格说明 的规定正常进行的方法称为()测试法。 10、()是对软件结构中模快间关联程度的一种度量。 三、判断题(每题2分,共20分) 1. 缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。 () 2. 一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。() 3. 在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手 资料,并从中提取出有价值的需求。() 4. 快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些 复杂的算法等场合。() 5. 流程图也称为程序框图是最常用的一种表示法。 6. 面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和重复三种基 本形式表示数据等步骤。() 7. 理想的人机界面应针对具有典型个性的特定的一类用户设计。() 8. 数据输入的一般准则中包括尽量增加用户输入的动作。() 9. 用穷举测试是较现实的测试方法。() 10、在软件维护过程中改善性维护是为适应环境的变化而修改软件的活动。() 四、论述题(共40分) 1、软件维护是软件生命周期的重要组成,而影响维护的因素较多,除了人员因素、技术因素和 管理因素外,还有程序自身的因素,具体影响因素可归纳为:a) 软件系统的规模;b) 软件系统的年龄;c) 软件系统的结构。 试回答以下问题: 1) 给出上述三项因素的解释,阐述“规模”、“年龄”和“结构”的具体含义。(6分) 2) 扼要分析影响维护工作量的因素,即分析可能增加维护工作量的因素和可能减少维护工作 量的因素。(8分) 3) 简单传述软件可维护性度量的含义。(8分) 2、可行性研究报告的主要内容有哪些?(8分) 3、系统设计的内容是什么?(10分) 五、综合题(20分)某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一 个计算机辅助企业管理系统,其中:

相关文档