一、信息应用系统建设基础知识
1、软件按功能划分哪3类,按服务对象划分哪2类、按软件

的工作方式划分哪4类?
1)软件按功能划分为:系统软件,支撑软件,应用软件;
2)按服务对象划分:项目软件,产品软件;
3)按软件的工作方式划分:实时处理软件,分时软件,交

互式软件,批处理软件。

2、软件工程的三元组是什么?各元组分别包括哪些内容?
1)软件工程的三元组:目标、原则和活动。
2)软件工程目标:生产具有正确性、可用性以及开销适宜

的软件产品;
3)软件工程的四条基本原则:选取适宜开发范型,采用合

适的设计方法,提供高质量的工程支持,重视开发过程的管

理;
4)软件过程活动主要包括需求、设计、实现、确认以及支

持等活动。

3、软件生存周期包括哪六个阶段?(记)
1)软件项目计划;
2)软件需求分析和定义;
3)软件设计;
4)程序编码;
5)软件测试;
6)运行维护。

4、漠布模型的特点是什么?
优点:
1)为项目提供了按阶段划分的检查点;
2)当前一阶段完成后,只需要关注后续阶段;
3)可在迭代模型中应用瀑布模型;
4)提供了一个模板,使得分析、设计、编码、测试和支持

的方法可以在该模板下有一个共同的指导。
缺点:
1)各个阶段的划分完全固定,阶段之间产生大量的文档,

极大地增加了工作量;
2)由于开发模型是线性的,用户只有等到整个过程的末期

才能见到开发成果,从而增加了开发风险;
3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段


4)不适应用户需求的变化。


5、原型模型的适用条件?
所需开发的系统的需求不是很清楚,需要一个可实际运行的

工作演示系统,即原型,作为软件开发人员和用户学习、研

究、试验和确定软件需求的工作平台。

6、什么是增量模型?什么是渐进模型?
原型模型可细分为增量模型和渐进模型。
增量模型,对于需求不能很快全部明确的系统,应尽可能明

确已知的软件需求,完成相应的需求分析,并按瀑布模型的

方法进行第一次开发工作,在系统集成时,通过实验找出需

求中的欠缺和不足之处,明确未知的软件需求,再迭代进行

增加部分的需求分析和开发;
渐进模型,对于部分需求尽管明确但一时难以准确进行定义

的系统设计。可以先做初步的需求分析,之后立即进行设计

和编码,随后与系统进行第一次集成(不做或少做测试),

根据集成后反应的问题,进一步做更全面的分析、设计、编

码、测试和集成。

7、螺旋模型将漠布模型与演化模型结合起来,加入了风险

分析,简述四个活动是什么?(记)
1)制定计划,确定软件目标,制定实施方案,弄清项目开

发的限制条件;
2)风险分析,分析所选方案,考虑如何识别和消除风险;
3)实施工程,实施软件开发;
4)客户评估,评价开发工作,提出修正建议。

8、喷泉模型主要支持什么的软件开发方法?其特点是什么


面向对象的开发方法。
特点:1)迭代性,系统某些部分经常重复工作多次,相关

功能可在每次迭代过程中随之加入演化的系统;
2)无间隙性,在分析、设计、实现等开发活动之间不存在

明显的边界。

9、配置管理库包括哪三种?(记)
1)开发库DL;
2)受控库CL;
3)产品库PL。

10、软件测试的目的是什么?(记)
1)通过测试,发现软件错误;
2)验证软件是否满足软件需求规格说明和软件设计所规定

的功能、性能及其软件质量特性的要求;
3)为软件质量的评价提供依据。

11、代码审查的定义是什么?需要专门的测试工具吗?
代码审查,包括代码评审和走查,主要依靠有经验的程序设

计人员根据软件设计文档,通过阅读程序,发现错误和缺陷


不需要专门的测试工具。

12、静态分析的定义是什么?需要计算机辅助完成吗?不同

的程序设计语言,静态分析工具是否相同?
静态分析,主要对程序进行控制流分析、数据流分析、接口

分析和表达式分析等;
需要计算机辅助完成;
不同的程序设计语言,相应的静态分析工具不同。

13、请指出白盒测试与黑盒测试的区别?
区别:
1)测试者对程序的掌握程度不同,白盒测试要求测试者掌

握被测程序的内部结构,黑盒测试不关心程序内部的实现过

程,指侧重于程序的测试结果;
2)测试用例不同,白盒测试需根据覆盖准测设计测试用例

,使程序中的每个语句、每个条件分支、每个控制路径都在

程序测试中受到检验,黑盒测试根据软件需求规格说明设计

测试用例,并按照测试用例的要求运行被测程序的测试;
3)测试的着重点不同,白盒测试需要发现程序内部缺点或

错误,从而加以修正,黑盒测试包括功能测试、性能测试、

边界测试、余量测试和强度测试等。

14、软件测试工作规程有哪六步?
1)制定“软件测试计划”;
2)编写“软件测试说明”;
3)执行软件测试;
4)编制“软件测试报告”;
5)修正软件测试过程中发现的问题;
6)软件测试阶段评审。

15、单元测试、集成测试、确认测试、系统测试分别由谁组

织?谁测?
1)单元测试由承建单位自行组织,一般由软件开发组实施

测试;
2)软件集成测试由承建单位自行组织,软件开发组和软件

测试组联合实施测试;
3)软件确认测试由承建单位自行组织,软件测试组实施测

试;
4)系统测试应由业主单位组织,成立联合测试组实施测试

。一般由专家组、业主单位、软件评测单位、承建单位等联

合组成测试组。

16、软件评审包括内部评审和外部评审,内部评审由谁组成

?各个阶段都要进行内部评审吗?
内部评审由承建单位组织并实施,评审人员由软件开发组、

质量管理和配置管理人员组成,可邀请业主参加;
软件开发的各个阶段都要进行内部评审。

17、什么样的软件必须进行外部评审?由谁主持?谁组织?

委员会成员是谁?
对于规模等级大和安全性关键等级高的软件必须进行外部评

审;
外部评审由业主单位主持,
承建单位组织,成立评审委员会;
评审委员会由业主单位、承建单位和一定数量的软件专家组

成员组成,人数七人以上(单数)。设主任一人,副主任若

干人。

18、软件维护包括哪四种?请简述。
1)纠错性维护;
2)适应性维护;
3)完善性维护;
4)预防性维护。

19、软件维护组织的主要任务是什么?
主要任务是审批维护申请,制定并实施维护计划,控制和管

理维护过程,负责软件维护的复查,组织软件维护的评审和

验收,保证软件维护任务的完成。

20、根据GB8567,软件开发过程中,应该产生哪14种文件?

(记)
1)可行性研究报告;
2)项目开发计划;
3)软件需求说明书;
4)数据要求说明书;
5)概要设计说明书;
6)详细设计说明书;
7)数据库设计说明书;
8)用户手册;
9)操作手册;
10)模块开发卷宗;
11)测试计划;
12)测试分析报告;
13)开发进度月报;
14)项目开发总结报告。

21、理解表19-4,尤其记忆:测试计划、用户手册、操作手

册、维护手册的开始时间和结束时间。
测试计划,从需求分析阶段到软件设计阶段;
用户手册,从需求分析阶段到编码与单元测试;
操作手册,从软件设计阶段到编码与单元测试;
维护手册,运行维护阶段。

22、CMM包括哪五个等级?
CMM五个等级:初始级,可重复级,已定义级,已定量管理

级,优化级。

23、CORBA的核心是什么?
CORBA,公共对象请求代理程序体系结构;
CORBA的核心是对象请求代理(ORB),是分布式对象借以相

互操作的代理通道。

24、关于J2EE中,请解释:JDBC、JNDI、JMS、JAVAMAIL、

JAVA IDL的中文意思。
JDBC,Java Data Base Connectivity,java数据库连接;
JNDI,Java Naming and Directory Interface,Java命名和

目录接口;
JMS,Java Message Service,Java消息服务;
JAVAMAIL,发送和接收信件;
JAVA IDL,与CORBA构件接口。

25、请解释:SOAP、WSDL、UDDI的中文意思。
SOAP,Simple Object Access Protocol,简单对象访问协

议;
WSDL,Web Services Description Language,网络服务描

述语言;
UDDI,Universal Description, Discovery and

Integration,发现及集成规范。

26、实现软件复用的关键技术因素有哪些?
软件复用的关键技术因素主要包括:
软件构件技术(Software Component Technology)、领域

工程(Domain Engineering)、软件架构(Software

Architecture)、软件再工程(Software Reengineering)

、开放系统(Open System)、软件过程(Software

Process)以及CASE技术等。

27、模式与框架的区别?
1)设计模式比框架更抽象;
2)设计模式是比框架更小的体系结构元素;
3)框架比设计模式更加特征化。

28、简单地说,框架是软件,设计模式是什么?
设计模式是软件的知识,即开发软件的先验经验。

29、UML的五种视图是什么?各自的定义是什么?(记)
1)用例视图,Use case view,用例试图定义系统的外部行

为,定义了系统的需求,是描述系统设计和构建的其他视图

的基础,即用例驱动。又叫用户模型视图;
2)逻辑视图,Logic view,逻辑视图描述逻辑结构,该逻

辑结构支持用例视图描述的功能,它描述了问题空间中的概

念以及实现系统功能的机制,如类、包、子系统等。又叫结

构模型视图或静态视图;
3)实现视图,Implementation iew,实现描述用于组建系

统的物理组件,如可执行文件、代码库和数据库等系统程序

员所看到的软件产物,是和配置管理以及系统集成相关的信

息。也叫组件视图;
4)过程视图,Process view,过程视图描述将系统分解为

过程和任务,以及这些并发元素之间的通信与同步。也叫并

发视图、动态视图或者协作视图等;
5)部署视图,Deployment view,描述系统的物理网络布局

,是系统工程师和网络工程师所感兴趣的。又叫物理视图。

30、UML提供了9种不同的图,哪些是静态的,哪些是动态的

?请分别描述它们的定义?(记动态静态有哪些)
静态图:用例图、类图、对象图、组件图、配置图;
动态图:序列图、状态图、协作图、活动图;
1)用例图,Use case diagram,描述系统的功能,由系统

、用例和角色三种元素组成;
2)类图,Class diagram,用来表示系统中的类以及类与类

之间的关系,描述系统的静态结构,用于逻辑视图中;
3)对象图,Object diagram,对象图是类图的示例,表示

在某一时刻这些类的具体实例以及这些实例之间的具体连接

关系,可以帮助人们理解比较复杂的类图。对象图也可以用

于显示类图中的对象在某一点的连接关系。对象图常用于用

例视图和逻辑视图中;
4)状态图,State diagram,主要用来描述对象、子系统、

系统的生命周期。通过状态图可以了解一个对象可能具有的

所有状态、导致对象状态改变的事件,以及状态转移引发的

动作。状态图是对类描述的事物的补充说明,用在逻辑视图

中描述类的行为;
5)序列图,Sequence diagram,面向对象系统中对象之间

的交互表现为消息的发送和接收。序列图反映若干个对象之

间的动态协作关系,即随着时间的流逝,消息是如何在对象

之间发送和接收的。序列图中重点反映对象之间发送消息的

先后次序,常用在逻辑视图中;
6)协作图,Collaboration diagram,主要描述协作对象之

间的交互和链接。协作图和序列图同样反映对象间的动态协

作,也可以表达消息序列,但重点描述交换消息的对象之间

的关系,强调的是空间关系而非时间顺序;
7)活动图,Activity diagram,显示动作及其结果,着重

描述操作实现中所完成的工作以及用例实例或对象中的活动

。活动图中反映了一个连续的活动流,常用于描述一个操作

执行过程中所完成的工作;
8)组件图,Component diagram,用来反映代码的物理结构

,组件可以是源代码、二进制文件或可执行文件,包含逻辑

类的实现信息。实现视图由组件图构成;
9)配置图,Deployment diagram,配置图用来显示系统中

软件和硬件的物理架构。图中通常显示实际的计算机和设备

及他们之间的关系。配置图用来构成配置视图,,描述系统

的实际物理结构。

31、请描述关联、依赖、通用化、聚合的定义?(记)
1)关联提供了对象之间的通信方式,关联关系用于描述类

与类之间的连接,通常是双向的;
2)依赖关系描述两个模型元素之间语义上的连接关系,其

中一个元素是独立的,另一个元素依赖于独立的模型元素,

独立元素的变化将影响到依赖元素;
3)通用化,又称继承,是通用元素和具体元素之间的一种

分类关系,具体元素完全拥有通用元素的信息,并且还可以

附加其他信息;
4)聚合关系具有较强的耦合性,描述整体与部分的关系。

二、信息应用系统的监理工作
1、软件质量的定义?
软件质量反映实体满足明确和隐含需要能力的特性综合;
明确需要,指合同中用户明确提出的要求与需求;
隐含需要,指由生产企业通过市场调研进行识别与探明的要

求或需要;
特性,实体所特有的性质,反映了实体满足需要的能力。

2、理解图20.2监理单位的质量管理组织图,请指出最左边

的名字和动作,最右边的名称和动作。
最左边:监理单位质量保证体系,约束;
最右边:专家组,知道。

3、质量控制除了评审、测试、抽查、旁站以外,还有哪些

方法和技术?(只答名字)
1)帕累托分析;
2)检查;
3)控制图;
4)统计样本;
5)标准差;
6)流程图;
7)趋势分析。

4、进度控制的措施包括哪五条?(记)
1)组织措施。落实工程进度控制部的人员组成,具体控制

任务和管理职责分工;进行项目分解,按项目结构、进度阶

段、合同结构多角度划分,并建立编码体系;确立进度协调

工作制度;对干扰和风险因素进行分析;
2)技术措施。审核项目进度计划,确定合理定额,进行进

度预测分析和进度统计;
3)合同措施。分段发包,合同期与进度协调;
4)经济措施。保证预算内资金供应,控制预算外资金;
5)信息管理措施。实行进度动态比较,提供比较报告。

5、按照不同管理层次对进控制的要求分为三类,分别是:

项目总进度控制,什么和什么?
项目总进度控制,项目主进度控制,项目详细进度控制。

6、CPM与PERT的区别是什么?
CPM,Critical Path Method,关键路线法。
PERT,Program Evaluation and Review Technique,计划

评审技术。
CPM和PERT是两种目前应用比较广泛的计划方法,两者主要

区别在于:
CPM是以经验数据为基础来确定各项工作的时间,而PERT则

把各项工作的时间作为随机变量来处理;
前者往往称为肯定型网络计划技术,后者往往成为非肯定型

网络计划技术;
前者以缩短时间、提高投资效益为目的,后者则能指出缩短

时间、节约费用的关键所在。

7、估计工作时间的方法主要有哪些?
1)专家判断;
2)类比估计;
3)单一时间估计法;
4)三个时间估计法。

8、总时差的定义、自由时差的定义?
1)总时差,在不影响总工期,即不影响其紧后作业最迟开

始时间的前提下,作业可推迟开始的一段时间;
2)自由时差,在不影响紧后作业最早开始时间的前提下,

可推迟的时间。

9、时间优化中,压缩网络计划工期的方法和步骤有哪四步


1)找出网络计划中的关键线路,并计算出网络计划总工期


2)计算应压缩的时间ΔT= Tc-Tr;
3)确定压缩时间;
4)压缩另一关键工作。

10、选定最先压缩持续时间的关键工作,选择时应考虑的因

素有哪些?(记)
1)缩短持续时间后,对项目质量的影响不大;
2)有充足的备用资源;
3)缩短持续时间所需增加的费用相对较少。

11、工期-成本优化的步骤有哪四条?
1)求关键线路;
2)对关键线路上的工作寻找最优化途径;
3)对途径中K值小的工作进行优化;
4)在优化时,要考虑左邻右舍。

12、针对计算类题目,请看公开课,公开课中的计算题在群

共享。请回答关键路线的定义?
关键线路,在一条线路中,每个工作的时间之和等于工程工

期,或者每个工作的时差都是零。

13、成本失控的原因有哪些?
1)成本估算工作、成本预算工作不够准确精细;
2)软件项目的特点使得开发成本难以精确估算;
3)项目在进行成本估算和成本预算以及制定项目投资控制

方法上并没有统一的标准和规范可行;
4)思想认识上存在误区,认为项目具有创新性,导致项目

实施过程中变量太多、变数太大,实际成本超出预算成本也

在所难免,理所当然。

14、成本估计的方法和工具有哪4种?请分别简述之。
1)类比估计法;通常是与原有的类似已执行项目进行类比

估计当期项目的费用,又称“自上而下估算法”;
2)参数模型法,将项目的特征参数作为预测项目成本数学

模型的基本参数;
3)从下向上的估计法,通常先估计各个独立工作的费用,

然后再汇总从下往上估计出整个项目的总费用;
4)工具,项目管理软件及电子表格软件辅助项目成本的估

计。

三、准备阶段的监理工作
1、一般可行性研究包括哪四个方面?
1)经济可行性:进行成本/效益分析;
2)技术可行性:进行技术风险评价;
3)法律可行性:确定系统开发可能导致的任何侵权、妨碍

和责任;
4)方案的选择:评价系统或产品开发的几个可能的候选方

案,最后给出结论意见。

2、一般招标过程包括哪五步?
1)招标;
2)投标;
3)开标;
4)评标;
5)中标。