admin 管理员组

文章数量: 1086019


2024年12月31日发(作者:如何获取wsdl文件)

软件工程导论知识点

软件是程序、数据及相关文档的完整集合。其中,程序是能

够完成预定功能和性能的可执行的指令序列;数据是使程序能够

适当地处理信息的数据结构;文档是开发、使用和维护程序所需

要的图文资料。

开发软件时,对于提高软件开发人员工作效率至关重要的是

开发程序人员数量。

软件工程中描述软件生存周期的瀑布类型一般包括计划、需

求分析、设计、编码、测试、维护等几个阶段。其中,设计阶段

在治理上可以依次分成概要设计和详细设计两个步骤。

在结构化的分析方法中,用以表达系统内数据的运行情况的

工具有数据流图。

在结构化的分析方法中,用实体关系图表达系统中的对象及

其进展,在实体关系图中,表达对象和实体关系之间的关联有三

种类型:一对一联系,一对多联系,多对多联系。

软件需求分析的任务,不应包括结构化程序设计,进行需求

分析可使用多种工具,但判定表是不适用的,在需求分析中,分

析员要从用户那里解决的最重要的问题是要让软件做什么。规格

说明书的内容不应当包括对算法详细功能性描述,该文档在开发

中具有重要的作用,但其作用不应包括软件可行性分析的依据。

原型化方法是用户和软件开发人员之间进行的一种交互过

程,适用于需求不确定性高的系统,它从用户界面的开发入手,

1

首先形成系统界面原型,用户运行用户界面原型,并就同意什么

和不同意什么提出意见。

一个模块的多个下属模块在系统结构图中所处的左右位置

是无关紧要的。

一组语句在程序中多处出现,为了节省内存空间,把这些语

句放在一个模块中,该模块的内聚性是偶然内聚的。

将几个逻辑上相似的成份,放在同一个模块中,通过模块入

口的一个推断决定执行哪一个功能,该模块的内聚性是逻辑内聚

的。

模块中所有成份引用共同的数据,该模块的内聚性是通信内

聚的。

模块内的某成份的输出是另一些成份的输入,该模块的内聚

性是顺序内聚的。

模块中所有成份结合起来完成一项任务,该模块的内聚是功

能内聚。

模块化程序设计:1.便于由多人分工编制大型程序。2.软件

功能易于扩充。3.易于理解,也便与排错。4.只要模块之间的接

口关系不变,模块内部实现细节的修改将不会影响别的模块。

5.模块间的单向调用关系叫做模块的层次结构。

程序设计风格指导原则:1.嵌套的重数应加以限制。2.尽量

少使用全局变量。3.使用有意义的变量名。4.把常见的局部优化

工作留给编译程序去做。5.程序的格式应有助于读者理解程序。

1

6.尽量少使用goto语句。

测试过程需要三类输入:软件配置,测试配置,测试工具。

测试的费用已超过软件开发费用的30%以上,高产的测试

是指用少量的测试用例运行程序发现被测试程序尽可能多的错

误,单元测试是在实现阶段完成的,集成测试的计划是在概要设

计阶段制定的,确认测试的计划是在需求分析阶段制定的。

软件测试的目的是发现软件的错误,为了提高测试效率,应

该选择发现错误的可能性大的数据作为测试数据。使用白盒测试

方法时,确定测试数据应根据程序的内部逻辑和制定的附带标准。

与设计测试无关的文档是项目开发计划。软件的集成测试工作最

好由不属于该软件开发组的软件设计人员承担,以提高集成测试

的结果。

软件调试的目的是找出错误所在,并改正之。

结构化设计是一种应用最广泛的系统设计方法,是以数据流

图为基础,自顶向下,求精和模块化的过程。

概要设计的结构是提供一份模块说明书。

需求分析是由分析员了解用户的要求,认真细致地调研、分

析,最终应建立目标系统的逻辑模型并写出软件规格说明书。

解释是提高程序可读性的有效手段,好的程序解释占到程序

总量的1/3.

变换型和事务型是程序结构的标准形式。从某处获得数据,

再对这些数据做处理,然后将结果送出是属于变换型。

1

PD图是一种详细设计工具。

排错一般是在测试发现错误后进行,其中找到错误位置占排

错总工作量的95%。

分层数据流图是一种比较严格又易于理解的描述方式,它的

顶层描述了系统的总貌。

数据流图中,当数据流向或流自文件时,数据流不必命名,

有文件名就足够了。

分析员是用户和软件人员的中间人。

在软件开发中,有利于发挥集体智慧的一种做法是设计评审。

在开发软件时,程序开发环境可用来提高程序猿的工作效率。

软件测试中设计测试实例主要由输入数据和预期输出结果

两部分组成。

结构化程序设计主要强调程序的可读性。

开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这

种现象称作软件危机。

成功的测试是指发现程序的错误。

系统开发的需求分析阶段的重要工作之一是数据定义。

文档是软件开发人员、维护人员、用户以及计算机之间的桥

梁,软件开发人员在各个阶段以文档作为前段工作成功的体现和

后段工作的基础。

单独测试一个模块时,有时需要一个驱动程序驱动被测试的

模块,有时还要有一个或几个桩模块模拟由被测试模块调用的模

1

块。

在结构化程序设计思想提出以前,在程序设计中曾强调程序

的效率。现在,与程序的效率相比,人们更重视程序的可理解性。

软件测试中,白盒测试方法是通过分析程序的内部逻辑来设

计测试实例的方法,除了测试程序外,还适用于对软件详细设计

阶段的软件文档进行测试。黑盒测试方法是根据程序的功能来设

计测试实例的方法,除了测试程序外,它适用于需求分析阶段的

软件文档进行测试。

在软件生命周期中,维护阶段所需工作量最大,约占70%。

结构化分析方法产生的系统说明书由一套分层数据流图,一

本数据字典和一组小说明及补充材料组成。

软件的可维护性一般由两次故障平均间隔时间和故障平均

恢复时间来度量。

采纳高级语言编写程序,可提高程序的可移植性。

仅根据规格说明书描述的程序功能来实现测试实例的方法

成为黑箱法。

测试是以发现错误为目的的,而排错(调试)是以定位,分

析和改正错误为目的的。

请按顺序写出软件生命期的几个阶段:需求分析,概要设计,

详细设计,编码,测试,维护。软件进展过程中,第一阶段(50

年代)称为“程序设计原始时期”,这时既没有操作系统也没有

高级语言,程序员只能用汇编语言编写程序。第二阶段(50年

1

代末——60年代末)称为“基本软件期”,出现了操作系统并渐

普及,随之高级语言编译技术也有较大进展。第三阶段(60年

代——70年代中)称为“程序设计方法的时代”。与硬件费用下

降相反,软件开发费用急剧上升。人们提出了结构化程序设计和

模块化程序设计等程序设计方法,设法降低软件开发的费用。第

四阶段(70年代中至今)称为“软件工程时期”,软件开发技术

不再仅仅是程序设计技术,而是同软件开发的各阶段(需求分析,

设计,编码,测试,使用和维护)及整体和治理有关。

软件危机出现于60年代末,为了解决软件危机,人们提出

了用工程学的原理来设计软件,这就是软件工程的诞生。

瀑布模型把软件生存周期划分为软件定义、软件开发和运行

及维护三个阶段,而每一个阶段又可细分为若干更小的阶段。

软件的概要设计又称为总体设计,其主要任务是建立软件系

统的总体结构。

结构化分析S是软件开发需求分析阶段所使用的方法,PD

图不是S所使用的工具。

结构化分析方法以数据流图、数据字典和加工说明等描述工

具,即用直观的图和简洁的语言来描述软件系统模型。

模块本身的内聚是模块独立性的重要度量因素之一,在七类

内聚中,具有最强内聚的一类是功能内聚。

Jckson设计方法由英国的提出的,它是一种面

向数据结构的设计方法。

1

结构化设计思想的核心是要求程序只由顺序、循环和分支三

种结构组成。

源程序的版面文档要求应有变量说明、适当解释和统一书写

格式。

在软件工程中,当前用于保证软件质量的主要技术手段还是

测试。

在软件工程中,高质量的文档标准是完整性、一致性和无二

义性。

在软件研究过程中,CSE是指计算机辅助软件工程。

软件(结构)设计阶段(概要设计)的文档是模块结构图和

说明书。

软件的维护是指对软件的改进、适应和完善。

逆向工程在软件工程中主要用于分析阶段。

软件工程中,只根据程序的功能说明而不关系程序内部的逻

辑结构的测试方法,称为黑盒法测试。

在软件的设计阶段应提供的文档是概要设计规格说明书和

详细设计规格说明书。

程序流程图、N—S图和PD图是设计阶段的详细设计使用

的算法表达工具。

软件的可维护性是指软件的可理解程度,程序修改的难易程

度。

月收入≤800元者免税,现用输入数800元和801元测试

1

程序,则采纳的是边缘值分析方法。采纳黑盒法测试程序是根据

程序的功能说明。

数据流图的小说明中描述的最基本部分是加工逻辑。

系统的健壮性是指在有干扰或输入数据不合理等意外情况

下,系统仍能进行适当地工作。软件工程学是应用科学理论和工

程上的技术指导软件开发的学科,其目的是用较少的投资获得高

质量的软件。

不适于作为数据流图处理(加工)框名称的是工资支票数据。

某模块的功能是打印录取通知书或不录取通知书,调用模块

可通过此模块传递布尔标志信息决定本次调用哪种通知书的打

印,这种模块之间的耦合称为操纵耦合。

适应性维护的含义是为使软件在改变乐得环境下仍能使用

所进行的维护。

采纳白盒法测试模块(程序),应根据内部逻辑结构。

软件的质量标准中,某些因素是不可兼得的。

程序编写(实现)阶段完成的文档有用户手册、操作手册。

软件总体结构的内容应在概要设计规格说明书文档中阐明。

使用结构化分析方法时,采纳的基本手段是分解和抽象。

决定软件可维护性的主要因素可概括为可测试性、可理解性、

可修改性。

要减少两个模块之间的耦合,则必须模块间传递的参数要少

且不传递开关型参数以及两模块不引用同样的全局变量。

1

软件开发中系统分析阶段产生的文档是系统说明书。

初始化模块和结束模块从块内联系看,被称为时间内聚模块。

结构化设计方法采纳变换分析和事物分析技术实现从数据

流图导出初始化结构图。

在软件测试中,确认(验收)测试主要用于发现需求分析阶

段的错误。

结构化系统分析主要是通过处理功能分解进行分析的。

结构化设计方法是面向数据流的设计方法。

在维护请求且进行的维护过程中,应先确定维护类型,然后

对维护要求进行评估并分别处理。划分软件生存周期的阶段时应

遵循的基本原则是各阶段的任务尽可能相对独立。

OO模型规定了一组对象如何协同才能完成软件系统所指

定的工作。这种协同在模型中是以表明对象通信方式的一组消息

连接来表示的。

用黑盒法设计测试用例时采纳的方法包括因果图法。

软件维护过程中,修改代码或数据后未作测试将会引起维护

副作用。

可视化不属于面向对象程序设计的特性。

一般来说,在治理软件中,软件生存周期各个阶段的工作量

以维护阶段所占的比例最大。系统开发人员使用系统流程图或其

他工具描述系统,估量每种方案的成本和效益的工作是在总体设

计阶段进行的。

1

设一模块内部的处理动作为:成分的输出是成分B的输入,

则该模块的聚合性称为顺序内聚。

某个模块的作用域是指收该模块内的判定所影响的所有模

块。

如果按用户要求增加新功能或修改已有的功能而进行的维

护工作,称为完善性维护。

软件维护阶段是软件生存周期中持续时间最长的阶段,它从

软件交付使用时算起。

软件质量因素中,正确性是指软件产品能准确执行需求规格

说明中所规定的任务。

对象的属性集合是它的特征表示。

描述系统的功能与性能不是模块化设计的目的。

如何编写结构程序不属于结构化设计需解决的问题范围。

最弱的耦合形式是数据耦合。

在结构化系统分析中,判定表和判定树常用于表达数据流图

中的加工。

用由底向上渐增式方式对软件进行测试时,需要为每个模块

准备一个驱动模块,它的作用是调用被测的模块。

全局数据结构的错误通常在集成(系统)测试中检查。

现有一个计算类型的程序,它的输入只有一个Y,其范围是

-50≤Y≤50,现从输入的角度考虑设计了一组测试用例:-100,

100,0.设计这组测试用例的方法是等价分类法。

1

为软件系统今后改进和进展打好基础而进行的维护工作称

为预防性维护。

数据流图不属于详细设计工具。

软件生存周期中,运行期的主要任务是软件维护。

系统开发的需求分析阶段的重要工作之一是数据定义。

经调查,系统分析员给出有问题的初略陈述,其中部分描述

如下:某商场的采购部门要求每天开除订购清单,交采购员;仓

库治理员将此要还应输入系统,经库存业务(进货或出货)处理

后输出。从这段描述可知该部分数据流图中的外部项为:采购员、

仓库治理员。

作为编码阶段的描述工具不属于数据字典的作用。

一个模块直接操纵(调用)的下层模块的数目称为模块的扇

出数。

模块内部的算法设计在结构化方法的详细设计阶段进行。

在面向对象软件方法中,“类”是具有同类数据和相同操作

的对象的定义。

编码(实现)阶段得到的程序段应该是编译(或汇编)通过

的可装配程序。

测试原则中。正确的是应设计非法输入的测试用例,测试用

例要给出测试的预期结果,因维护修改程序后需回归测试。错误

的是开发小组与测试小组合并。

如果某个程序的输入数据的可能只划分为n个合理等价类,

1

m个不合理等价类,这些等价类均为数轴上的一个有限区间范

围,则采纳边缘值测试方法至少需要2(m+n)个测试用例。某

应用系统为今后的进展将单用户系统改为多用户系统,并形成新

的应用软件,由此进行的维护工作称为预防性维护和适应性维护。

可维护性是软件的重要质量标准。提高程序效率与提高可维

护性无关。

产生软件危机的原因有如下几点,软件开发过程未经审查;

软件开发不分阶段,开发人员没有明确的分工;所开发的软件,

出了程序清单外,没有其他文档。不包括采纳工程设计的方法开

发软件,不符合软件本身的特点。

需求分析说明书不能作为可行性研究的依据。

在自顶向下的设计分层数据流图时,设计顶层数据流图主要

分析源、汇、(终)点和输入、输出数据流。

模块结构图是要软件工程的概要设计阶段中采纳的描述工

具。

如果模块包括单一功能,则称该模块具有功能内聚。

变换型数据流图通常是线性状态。

结构化设计采纳模块化方法的主要出发点是降低复杂度。

面向对象程序设计中,基于父类创建的子类具有父类的所有

特性(属性和方法),这种特点称为类的继承性。

如果一个排序程序所设定的测试用例为(1)表空(2)表

中只有一个元素(3)表中均有相同的关键字值(4)元素已排

1

序。则此测试方法称为错误推测法。

维护机构结构维护申请后,接下的工作是评价申请。

软件工程中,系统设计不属于用户文档的内容。

防错性程序设计对具有潜在危险性的操作进行检查,并给出

出错信息。采纳这种程序设计方法可提高系统的健壮性。

数据流图所描述的是实际系统的逻辑模型。

由变换型数据流图转换成模块结构图,其中包括变换模块,

则变换模块的功能是将逻辑输入变换为逻辑输出。

面向对象分析时,所标识的对象为目标系统中环境场所的状

态是错误的。

面向对象设计OOD模型的主要部件中,通常不包括通信部

件。

软件测试的基本目标是确定一组测试数据以尽可能多地发

现错误。

在维护请求后进行的维护过程中,应先确定维护类型,然后

对维护要求进行评估并分别处理。使用结构化技术或面向对象技

术不是增加软件维护工作量的因素。

一个软件项目是否进行开发的结论是在可行性报告文档中

做出的。

某教学设备销售部门制定一项销售优惠政策,一次购买

100XX或100XX以上者按八五折优惠,购买者是教室、学生按

就这优惠。设C1表示购买的XX数,C2为1、2、0分别表示

1

教师、学生和其他人员,则符合就这优惠判定条件为(C1<100)

ND NOT(C2=0)。

数据流是数据流图的基本成分。多个不同的数据流可以流向

一个加工,也可从一个加工中流出。

银行计算机储蓄治理系统中,根据客户提出的要求(如存款、

取款、查询、挂失、咨询等)进行相应的业务处理的该层数数据

流图是事务型。

某模块的输入数据为某工厂中一个车间的生产产量表,通过

该模块可以计算出车间中生产工人的平均产量、统计产量前10

名的人员名单,从内聚度来看,该模块属于通信内聚。

描述系统的功能与性能不属于概要设计所解决的问题范围。

面向对象设计时,对象信息的隐XX主要是通过对象的封装

性实现的。

在有集成(组装)测试的叙述中,测试底层模块时不需要桩

模块。

人员因素,技术因素,程序自身的因素,治理因素对软件维

护有影响。

软件可靠性是指软件在给定时间间隔内,按规格说明书的规

定成功运行的概率。

软件规模可按源程序行数的多少进行分类,所谓大型软件,

通畅是指源程序行数为50——100K。

在软件生命期中,占工作量比例最大的是维护。

1

用S方法获得的需求说明书有四部分,用于描述系统由哪些

部分组成、各部分间有何联系等,是在一套分层的数据流图。

S方法在描述方式上的特点,是尽量采纳图形表示。

决定软件系统中各个模块的外部特性,及其输入输出和功能

是概要设计的任务。

用于概要设计所采纳的描述手段是SC图(系统结构图)。

一个模块传送给另一模块的参数是由单个数据项组成的数

组,它属于数据型耦合。

在概要设计的设计文档中,对每个模块的描述内容包括功能、

界面、过程、解释。

根据SP方法的要点规定,程序最后要由主程序元审定。

结构化流程图(FC)中的箭头是用于表示操纵流。

结构化程序之所以有可能验证其正确性是由于只有三种基

本结构。

提高程序可读性的有力手段是给程序加解释。

通过对软件的测试,可以证明错误存在。

某程序功能说明中列出“规定每个运动员参赛项目为1——

3项”,应用黑盒法中的等价分类法确定等价类是1≤项目数≤3,

项目数<1,项目数>3.

程序功能说明中指出:由三个输入数据表示一个三角形的三

条边长。根绝黑盒法中的边缘值分析法设计测试用例,应选

=1,b=2,c=3。

1

软件维护,可按不同的维护目的而分类,为了适应硬件环境

或软件环境的变更对软件作修改是适应性维护。

决定软件工程方法论所有步骤的关键目标是提高软件的可

维护性。

数据库设计全过程中的关键是建立概念性数据模型。

作为面向对象分析的基础、由问题领域中的对象所组成、用

ER图来描述是消息模型。

可用于支持概要设计的工具是IDES系统。

1


本文标签: 软件 模块 设计 程序 测试