第19章、信息应用系统建设基础知识

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)聚合关系具有较强的耦合性,描述整体与部分的关系。



第20章、信息应用系统的监理工作

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)工具,项目管理软件及电子表格软件辅助项目成本的估计。

第21章、准备阶段的监理工作

1、一般可行×××包括哪四个方面?

1)经济可行性:进行成本/效益分析;

2)技术可行性:进行技术风险评价;

3)法律可行性:确定系统开发可能导致的任何侵权、妨碍和责任;

4)方案的选择:评价系统或产品开发的几个可能的候选方案,最后给出结论意见。

2、一般招标过程包括哪五步?

1)招标;

2)投标;

3)开标;

4)评标;

5)中标。