殷人昆软件工程复习资料_第1页
殷人昆软件工程复习资料_第2页
殷人昆软件工程复习资料_第3页
殷人昆软件工程复习资料_第4页
殷人昆软件工程复习资料_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程

目的:对的性、可用性、适合销售

活动:需求、设计、实现、V&V(验证与确认)、支持

原则:开发泛型、设计措施、支持工具、工程管理WW

1.软件工程是开发,运行,维护却修复软件H勺系统措施,将系统化口勺,规范口勺,可度量的措施应用与软件的

开发,运行维护的过程。即将工程化应用「软件中。

2.软件过程中的基本活动(pdca)

1.软件规格阐明plan

2.软件开发do

3.软件确认check

4.软件演进action

3.瀑布模型:需求・》系统设计”实现单元测试-》集成与系统测试・》运行维护。他的明显特点是次序性

和依赖性。

4.演化模型:软件通过不停的I演化才能完毕和完善,其明显特点是迭代。适合于业务和需求不停变更的

开发过程,交付部分功能给客户,确认需求,逐渐完善。

5.螺旋模型:将瀑布模型和演化模型结合起来,加入了风险分析。

a)增量模型:是将软件分解成一系列的增量的J构件,在增量开发迭代中逐渐加入,也叫极限程序设

计。

b)软件工程原则:

0抽象自顶向下,逐层细化

d)模块化日勺开发措施

c)信息陷蔽和数据封装。

t)局部化

g)i致性

h)完备性

i)可验证性

j)软件工程基本原理:

k)按软件生存期分阶段制定计划并认真实行

1)坚持进行阶段评审

m)坚持严格H勺产品控制

n)使用现代程序设计技术

o)明确责任

P)用人少而精

q)不停改善开发的过程

r)识别顾客规定,必须考虑的问题:

s)功能和性能

t)可靠性和质量

u)总的系统目的

V)成本与进度的把控

w)制造需求

x)市场竞争状况

y)有效口勺技术

z)未来也许口勺扩展

可行性研究

a)问题识别

b)市场调管

c)分析准备

d)环境分析

e)物理分析

0功能分析

g)信息分析

h)动态分析

i)确立系统方案和成本估算

j)模型评审

k)成本可行性

1)法律可行性

7.面向对象设计

8.面向对象=对象+分类+继承+消息通信,基本构成部分叫对象,计算是通过新对象确实立和对象之间的

通信来执行。相对于面向过程开发,关键:数据被封装在对象中,而不是全局变最中,数据流是通过消息

传递,而不是面向过程处理措施。算法被包裹在对象中,实现功能。

统一建模语言:UML概述

UnifiedModelingLanguage的缩写,他汇集了建模的精髓。

数据建模(实体关系图ERD)

业务建模(工作流)

对象建模

构件建模

9.UML图

1)用例图:描述系统边界和重要功能;重要该系统在它的上下文环境所提供的服务。

6)多重性和导航指示符

7)角色名字

Course

name

numbercredits

openO

addStudent(Studentlnfo)

类图11勺关系:

Animal

因«WO»

目特性

IBrush

回镰作

B特性

+MoveQ

日崇作

Tiger

t特性

㈢操作

父子关系实现关系

关联关系(单向关联有箭头,多项无箭头)

聚合:整体和部分关系

Q

组合关系(也是整体与部分,不过部分离开整体无法存活)

依赖关系(动物无法离开氧气,为依赖关系)

-f*

+生命分5杼性

冷作

(=撵作a

♦新陈代W!(e氧曰水)

■宝唱0

-WS

♦羽毛

=金作

♦TSO

a0特性

a梯作

•TSO

♦飞0

-野性-特性

-掾作-*作-*作

整体类图

状态图:模型化对象的行为

泳道图

泳道图

构件图和布署图:展现物理实现的体系构造

构件图的事例

部署图的事例

10.衍型:扩展建模能力

a)软件需求:

b)为满足顾客处理某一问题而到达某个nil勺所需要的条件或者能力,系统或系统部件为满足协议、

规格、原则阐明或其他正式的强制性文档所必须具有的条件和能力。为满足以上条件和能力的

文档化阐明

O软件需求包括:业务需求、顾客需求、功能需求、非功能性需求。

d)业务需求:描述了组织愿景,即为何要开发一种系统;系统的业务范围、业务对象、客户特性、价

值和多种特性日勺优先级别。

i.顾客需求:描述了系统必须完毕任务,即顾客对系统日勺目的规定。它只波及到外部可见行为,

不波及内部特性。是顾客对自身需求的一种陈说。这种陈说也许与实际需求不一致。

ii.功能需求:定义了开发者应当提供的软件功能或服务,但不波及这些功能和服务的实现。

iii.非功能需求:对功能需求的补充,包括了对系统的多种限制和顾客对系统的质量的规定。如

系统响应时间或截面。

iv.包括产品必须遵从的原则、规范和合约

V.外部接口日勺详细细节

vi.性能规定

vii.设计实现日勺约束条件

11.需求获取的过程

(a)需求获取包括如下活动:

(b)发现和分析问题

(c)获取需求

(d)需求归档

需求获取的重要环节

(a)理解业务领域,即目的软件日勺业务环境,如银行、电信,理解后可以建立自对业务理解后H勺数

据模型。通过结合实际业务,迭代完善业务模型

(b)定义项目的视图和范围,定义项目范围是描述项H该做什么,不该做什么一般使用用例图。

(c)寻找软件的需求来源,客户、竞品、系统需求规格阐明书、目前系统的问题汇报和改善规

定、市场调研汇报、观测顾客怎样工作、顾客工作场景分析、事件和响应。

(<1)识别顾客类和顾客代表,确定系统H勺顾客及其分类,与顾客一块工作,确定系统的决策者。

(e)确定系统的J业务流程和业务规则

(f)访谈和记录

(g)需求整顿和描述

a)面向对象的UML需求获取措施:

b)顾客模型视图:从顾客角度来标示系统,通过用例图来标示

c)构造模型视图:通过静态向数据模型图,类图、对象图来建模

d)行为模型视图:描述系统口勺动态和行为,以及在上述两种视图中的各元素怎样交互。

e)实现模型视图

0环境模型视图

a)面向对象模型,分为三个独立模型

b)有用例和场景构成功能视图

c)用类和对象标示的分析对象模型

d)用状态图和次序图标示的动态模型

1)对需求文档的规定:

2)完整:规定必要的需求信息,必须进行完整的描述

3)无歧义:每种需求只有一种解释。

4)一致性:对需求规格阐明,必须保持一致。

5)可验证:可演示、测试、分析、审查、特殊的检查

6)可修改

12.可追踪:向前和向后的追踪性。

a)软件需求评审的重要内容:

b)用例:与否清晰,用例规格。

0功能:与否清晰,与否必须,与否满足,与否覆盖异常

d)性能:与否精确描述,与否制定指标,与否制定使用环境

e)接口:外部、内部描述与否清晰。调用关系。

D数据:与否确定系统的输入、输出

g)硬件

h)软件

i)通信

13.对时性完整性一致性,兼容性,安全性清晰性,强健性,可扩展性。

a)需求管理:

b)需求变更:提议变更一分析影响一作出决策一交流一合并

c)版本控制:确定需求文档版本

d)需求跟踪:

c)需求状态跟踪

f)需求变更的控制方略:

i.需求变更原因:内部原因,外部原因

g)内部原因:需求获取的不确切,需要发生变更,以适应真正的客户需求

h)外部原因:客户需求与之前发生了变化,如:客户的组织构造和工作流程发生了变化。

i)需求变更口勺方略

i.认识到变更不可防止的时候,为变更指定计划

ii.重新确定需求的基线

iii.指定变更的唯一渠道,防止由于变更导致的需求扩散。

14.指定合理的需求变更管理过程:如必须通过变更管理委员会确定的变更,才能真正进入需求文档,而不

是开发人员私自做主变更需求。

15.软件设计

a)老式构造化软件设计:数据设计,体系构造设计,接口设计,过程设计。

i.面向对象口勺软件设计:体系构造设计、类设计、接口设计、构件设计

ii.体系构造设计:软件的J重要构造元素其之间的I关系

iii.类设计:转化为设计类的实现及软件实现所规定U勺数据构造

iv.数据设计:重要是关系数据库中的E-R实体关系图

16.构件级设计:构件级设计

a)软件设计原则:

b)设计应遵照:过程抽象,数据抽象。

c)过程应遵照模块化的原则

i.模块可分解

11.模块可组装

111.模块可被埋解

iv.模块持续性

V.模块保护

d)应遵照信息屏蔽的原则

e)模块独立性:高内聚,低耦合。

17.模块设计原则:先把该模块下的所有下层模块当作黑盒

18.极限编程

a)极限编程是一种原型设计措施,是基于实践的设计措施。

i.极限编程的原则:交流、简朴、反馈、勇气。

ii.交流:鼓励开发人员与客户直接沟通,用沟通替代文档。

iii.XP不提议过度构建系统设计,反对杞人忧天的做法。简朴最佳,实现为前提。

b)反馈要迅速,反馈越快越好,进行结对编程,测试优先,现场客户。

i.拥抱变化,不变是变化,要有坚持XP设计的勇气,同步有放弃勇气。

ii.XPH勺重要措施:

iii.放弃包袱,轻装上阵。

iv.结对编程

V.测试优先,以测试用例为驱动,单元测试。

vi.重构

vii.持续集成

viii.小版本

ix.现场客户

19.软件体系构造

20.软件体系构造风格反应了领域中众多系统所共1ff欧I构造和语义特性,弁指导怎样将各个子模块和子系

统々效的组织起来,组织成一种完整的系统。

常见的风格:管道过滤器风格:

管道

/;、、」、「T过滤器『I过淀器k

/,I—|^—^~1

/'

',二I过滤器LI过漉器I过滤器I-------------------三I过滤器1

」过滤器|_」过滤器H■一版喇一

21.面向对象的设计风格

22.层次构造的风格(每一层定义一种抽相机,为上一层提供服务,并作为下一次层的I客户)

数据仓库风格(共享系统单元,所有人可以访问这些数据,此系统常见于专家系统中)

设计模式:

设计模式分为三类:

1)创立型模式:与对象的创立有关

2)构造型模式:处理类与对象的组合,将一组对象组合成一种大日勺构造

3)行为型模式:描述类与对象交互和职责分派。

按照使用范围,又分为对象和类诙种类型

其中23中设计模式,重要

目的

创建型结构型行为空

Facton-MethodAdapter(适配器)Interpreter(解释器)

(工厂方法)

类TemplateMethod(模

板方法)

AbstractFactonAdaptci•(适配器)Chainof

对(抽象工厂)Bridge(桥揍)Responsibility(职责链)

范象Builder(生成器)Composite(组合)Command(命令)

Prototype(原型)Decorator(装饰)Iterator(遍历器)

围Singleton(地件)Facade(外观)Mediator(中介者)

Flyweight(享元)Menicnto(备忘录)

Pxoxy(代理)Observer(观察者)

State(状态)

Stratgy(策略)

Visitor(访问者)

创立型:描述怎么创立一种对象,他隐藏对象创立的详细细节,实用程序可不依赖详细口勺对象,因此当增长

一种新对象时几乎不需要修改代玛。其陷藏了这些类的实例怎样创立、怎样放在一起。

创立型类模式有:工厂模式

创立型对象模式有:抽象工厂,构造模式,原型模式,单例模式

重点1:抽象工厂模式:

以同一接口建立一整组有关或互相依赖的对象,而不用指明个对象真正所属的详细类。

△△

FenialeFactoiy〔MaleFactory]

1.抽象工厂日勺特点:

封装性:都是接口,不关怀细节。只需懂得工厂类即可,就能创立出一种对象,省时省力。

1.约束性:产品约束在产品内部,外部不需要关怀。

2.缺陷:

1.扩展性困难,增长一种新产品,需要抽象类,抽象类实现工厂都要修改,改动太大。抽象工厂是一种

契约关系,一种契约修改所有H勺代码都要修改。

2.使用场景:

使用对象组,此类对象有相似约束,如:文本编辑器,在Linux下的和Windows下口勺由于底层API不一样,代

码实现不一样。不过功能是相似的,有共同日勺约束条件,可以用抽象工厂,尚有DB的操作,不一样数据库的

实例化。

一种模式在什么状况下才可以使用,是诸多读者比较困惑的地方,抽象工厂模式是一种简朴的模式,使用的

场景非常多,大家在软件产品开发过程中,波及到不一样操作系统的时候,都可以考虑使用抽象工厂模式,

例如一种应用,需要在三个不一样平台上运行:Windows.Linux.Android(Google公布的智能终端操作

系统)上运行,你会怎么设计?分别设计三套不一样的应用?非也非也,通过抽象工厂模式屏蔽掉操作系

统对应用的I影响。三个不一样操作系统上口勺软件功能、应用逻辑、UI都应当是非常类似,唯一不一样的是

调用不一样的工厂措施,由不一样打勺产品类去处理与操作系统交互的信息。

重点2工厂措施

定义一种用于创立对象的接口,当让子类决定实现那个一种类的对象。此模式让一种类将创立对

象的过程交予给子类来处理

Nv'Va

«interfoce»

Ah^tractHunwnFortoryHtuiuui

creat△eHuman(Classc)+voidgetColoi()

+voidtalJk。

抽象的八卦炉,

_*__•__•_

I黑人人种5I黄色人种BI白色人种「

工厂模式特点:使用频率很高具有封装性好,代码构造清晰的明显特点。扩展性也非常优秀,只需要增长扩

展类,既可以实现扩展。在数据库开发中,会用到_L厂措施模式。_L厂模式是经典的的解耦框架。

工厂模式场景:他是new•种对象的替代品,不过需要考虑new对象的成本。

另一方面,需要员活的、可扩展的框架时,可以考虑采用工厂措施模式。万物皆对象,那万物也就皆产品类,

例如需要设计一种连接邮件服务器的框架,有三种网络协议可供选择:POP3、IMAP、,我们就可以把这

三种连接措施作为产品类,定义一种接口如IConneclMail,然后定义对邮件H勺操作措施,三个详细的产品类

(也就是连接方式)进行不一样的实现,再定义一种工厂措施,按照不一样的传入条件,选择不一样的连接

方式。如此设计,可以做到完美的扩展,如某些邮件服务器提供了WcbService接口,很好,我们只要增长一

种立品类就可以了。

再次,工厂措施模式可以用在异构项目中,例如通过WebService与一种非Java的项目交互,虽然

WebService号称是可以做到异构系统的同构化,不过在实际的开发中,还是会碰到诸多问题,如类型问题、

WSDL文献的支持问题,等等,从WSDL中产生的对象都认为是一种产品,然后由一种详细的工厂类进行管

理减少与外围系统的耦合。

最终,可以使用在测试驱动开发的框架下,例如I,测试一种类A,就需要把与类A有关联关系的类B也同

步产生出来,我们可以使用工厂措施模式把类B虚拟出来,防止类A与类B曰勺耦合。目前由FJMock和

EasyMock的诞生,该使用场景已经弱化了,读者可以在碰到此种状况时直接考虑使用JMock或EasyMock

重点3:单例模式:

单例模式:个类只有一种实例并提供一种访问它的全局访问点。该实例应在系统生存期中都存在

长处:内存中只存在一种实例,减少了内存的开支。尤其是一种对象需要频繁的创立、销毁,并且创立或者

销毁口勺性能乂无法优化。单例模式的优势非常明显。在对文献操作,读取配置,都可以。

缺陷:没有借口,不能扩展。不利于测试。

使用场景:

1.规定生成唯一序列号日勺环境;

2.在整个项目中需要有访问一种共享访问点或共享数据,例如一种Web页面上的计数器,可以不用每

次刷新都记录到数据库中,使用单例模式保持计数器E向值,并保证是线程安全的J:

3.创立一种对象需要消耗U勺资源过多,如要访问10、访问数据库等资源;

需要定义大量的静态常量和静态措施(如工具类)口勺环境,可以采用单例模式(当然,也可以直接申明为

staiic的方式);

1.重点4:适配器模式

2.父类:Target。措施Rcquest();

3.子类:Adapted)实现父类Request。措施,是作为适配器类。

4.被桥接对象Adaptee()拥有特殊SpecialRequest。

在Adapter。类中,实现特殊类,并将特殊类的措施包裹进目的类的措施中:详细实现:

ClassTargetO

PublicvoidRequest。{}

ClassSpccial()

PublicvoidSepicalRequest(){}

ClassAdapterextendsTargetO

Specialsr=newSpecial();

PublicvoidRcquest()

Sr.SpccialRcqucstO;

重点5:桥接器模式

这是一般一种父子类关系来实现抽象模型。其缺陷是不符合开放闭合原则,一种类有多种原因引起其变化,

如本关系中跟汽车和路两种类有关系。里面有代码的反复。

3:

通过抽象类,分别实现了抽象路和抽象车,然后通过在抽象路中一周用抽象车,实现了桥接。

23.重点5:组合模式

24.软件测试

原则:尽快发现问题,测试必须追溯到需求,测试用例应包括合理和不合理两部分构成。

软件测试应当贯穿整个软件过程中。

测试的两个方面:

1)缺陷测试

2)验证和确认

测试的环节:

1)指定测试计划

2)测试设计:设计测试用例,定义测试过程

3)实行测试

4)单元测试

5)集成测试

6)系统测试

7)评估测试

测试对应软件系统的不一样阶段回归测试

验证系统需求

系统需求规格阐明〈

\以此为接受测试的根据

------------------验证软件需求

软件需求规格阐明।A系统测试

以此为系统测试的根据f

1验证软件设计L------

软件设计规格阐明二集成测试

\以此为集成测试的根据/

-----------------验证模块设计J-------

模块设计规格阐明匕_单元测试

\Iti、,AA—•、ft、i.

注:接受测试也叫顾客测试

单元测试:单元测试的目的在于发现各模块内部的错误,以保证受测试模块内部的一致性与逻辑

对的。需要强调的是,单元测试是必须要进行的、不能省略的环节。

I.单元测试包括:

2.模块接口测试,通过数据流进行测试。

3.局部数据构造测试:包括数据类型,数据初始化,二下溢等

4.途径测试:保证基本每条语句所通过途径要测试•次

5.错误处理的测试:适应多种出错条件

边界测试:程序中鉴定操作或循环的操作界线H勺边缘条件

集成测试:根据实际状况对程序模块采用合适H勺集成测试方略组装起来,对系统H勺接口以及集成后口勺功

能进行对的性检查口勺测试工作。

•集成测试包括基于模块分解的,基于分层的和基于途径依J。

•集成测试方略:

・功能测试(黑盒测试)

・性能测试:性能测试用来测试软件在系统中的运行性能。其H的是量度系统的性能与预先

定义目的有多大差距。

•压力测试:系统在一种短时间内活动处在峰值时的反应。

•容量测试:系统正常运行的范围内测试并确定系统可以处理口勺数据容量。

•恢复性测试:在人_L干预下,恢复测试口勺目的就是验证系统从软件或者硬件失效中恢复的J

能力。

•备份测试

•界面测试:界面外观与否符合规定,界面与否按照预定进行响应。

・强健性

•兼容性

•易用性

25.回归测试:回归测试是在软件变更之后,对软件重新进行的I测试。检查对软件在行口勺修改与

否对的

26.软件调试

软件调试是在进行了成功的测试之后才开始日勺工作。它与软件测试不一样,调试日勺任务是深入诊断和

改正程序中潜在日勺错误

1.常见调试措施:

2.强行排错:打印内存信息,看与否泄露

3.回溯法

4.归纳法

5.演绎法

27.测试用例设计(重点)

■测试用例是为了特定目的(如考察特定程序途径或验证与否符合特定的需求)而设计的测试数据

及与之有关的测试规程的一种特定的集合,或称为有效地发现软件缺陷的最小测试执行单元。

■软件质量的好坏很大程度上取决于测试用例的数量和质量。不管程序员的编程水平、软件设计水

平有多高,软件过程执行得怎样好,假如没有通过合适数量和质量H勺测试用例进行测试,其最终的

软件质量都是难以保证的。

■黑盒测试:测试人员完全不考虑程序内部的逻辑构造和内部特性,只根据程序的需求和功能规格阐

明,检查程序的功能与否符合它的功能阐明。

■用黑盒测试发现程序中的错误,必须在所有也许的输入条件和输出条件中确定测试数据,来检查程

序与否都能产生对的的输出。

>白盒测试:把测试对象看做一种玻璃盒子,它容许测试人员运用程序内部的逻辑构造及有

关信息,设计或选择测试用例,对程序所有逻辑途径进行测试。

>通过在不一样点检查程序的状态,确定实际H勺状态与否与预期的状态一致。因此白盒测试

又称为构造测试或逻辑驱动测试。

>途径覆盖测试:对程序模块的所有独立的执行途径至少测试一次

>逻辑覆盖测试:对所有的逻辑鉴定,取“真”与取“假”的两种状况都至少测试一次

>控制流测试:在循环的边界和运行界线内执行循环体

数据流测试、领域测试:测试内部数据构造的有效性

1.重点:白盒测试用例设计措施

a)白盒测试包括:

b)逻辑覆盖

2.语句覆盖:每一句可执行内语句都执行一次

4.途径1:鉴定1和鉴定2都走真分支

5.Pl(afc》e)

6.={(A>1)and(B=0)}and{(A=2)or(X/A>1)}

7.=(A>1)and(B=0)and(A=2)or

8.(A>1)and(B=0)and(X/A>1)

9.=(A=2)and(B=0)or

10.(A>l)and:B=0)and(X/A>1)

IL途径2:鉴定1和鉴定2都走假分支

12.P2(afb今d)

13.=not{(A>1)and(B=0)}and

14.not{(A=2)or(X>1)}

15.={not(A>1)ornot(B=0)}and

16.{not(A=2)andnot(X>1)}

17.=not(A>1)andnot(A=2)andnot(X>1)or

18.not(B=0)andnot(A=2)andnot(X>1)

19.

20.途径3:途径3:(鉴定1走取假分支,鉴定2走取真分支)

21.P3(a->b->e)

22.=not{(A>1)and(B=0)}

23.and{(A=2)or(X>1)}

24.={not(A>1)ornot(B=0)}

25.and{(A=2)or(X>1)}

26.=not(A>1)and(A=2)ornot(A>1)and(X>1)

27.ornot(B=0)and(A=2)

28.ornot(B=0)and(X>1)

29.途径4:(鉴定1走取真分支,鉴定2走取假分支)

3O.P4(a->c^d)

31.={(A>l)and(B=O)}

32.andnot{(A=2)or(X/A>1)}

33.=(A>1)and(B=0)andnot(A=2)

34.andnot(X/A>1)

35.

i.鉴定覆盖:每条分支都执行一次,又叫分支覆盖

ii.条件覆盖:每个也许取值的条件执行一次

iii.鉴定•条件覆盖:每个也许取值的条件执行一次,每个判断中分支执行一次。

iv.条件组合覆盖:所有也许的取值组合执行一次

V.覆盖程序所有途径测试

b)鉴定构造分析

C)循环构造分析

1.简朴循环

ii.连锁循环

iii.嵌套循环

iv.非构造循环

基本途径覆盖:基本途径测试措施把覆盖日勺途径数压缩到•定程度内,程序中的循环体最多只执行••次。

voidSelectSort(intV[J,intn){

inti,j,k;

for(i=0;i<n-1;i++){

k=i;

for(j=i+l;j<n;j++)

if(V[j]<V[k])k=j;

if(k!=i)Swap(V[i],V[k]);

)

有语句变成分支图

基本路径集

pathl:1-3

path2:1-2-5-8.......

path3:1-2-5-9.......

path4:1-2-4-6.......

pathS:1-2-4-7.......

基本途径集

Path3:1-2-5-9-3取n=2

预期结果:路径邑9-3不可到达

path4:1-2-4-6-5-8-3取n=2,v[0]=2,v[l]=1

预期结果:k=l,v[0]=l,v[lJ=2

path4:1-2-4-6-5-9-3取n=2,v[0|=2,v[lj=1

预期结果:k=l,路径9-3不可到达

paths:1-2-4-7-5-8-3取n=2,v[0]=2,v[l]=1

Pathl:1-3取n=1预期结果:k=0,路径8-3不可到达

Path2:l-2S8-3取n=2path5:1-2-4-7-5-9-3取n=2,v[OJ=2,v[lj=1

预期结果:路径,8-3不可到达预期结果:k=0,v[0]=l,v[lJ=2

测试用例

28.重点黑盒测试用例设计

>等价分类法:把所有也许的输入数据,即程序的输入域划提成若干部分,然后从每一部分中选

用少数代表性的数据做为测试用例。

>划分等价类(列出等价类表)

♦假如输入条件规定了取值范围,或值的个数,则可确立一种有效等价类和两个无效等价类

•假如输入条件规定了输入值的集合,或者是规定了“必须怎样”的条件,这时可确立

一种有效等价类和一种无效等价类。例如:“以字母打头口勺……串”。那么所有以

字母打头的构成有效等价类,而不在此集合内(不以字母打头)的归于无效等价

类。

•等价类划分例子:

•"标识符是由字母开头,后跟字母或数字的任意组合构成。编译器可以辨别的有效

字符数为8个,最大字符数为80个。”并且规定:“标识符必须先阐明,再使

用。”“在同一阐明语句中,标识符至少必须有一种。”

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论