版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程概论
1、软件危机
1)、软件工程的目的:倡导以工程的原理、原则和措施进行软件开发,以处理当时出现的软
件危机。
2)、软件危机:指在计算机软件开发和维护过程中所碰到的•系列问题。
A、怎样开发软件以满足对软件日益增长的需求。
B、怎样维护数量不停增长的已经有软件。
3)、软件危机的重要体现形式
A、软件开发成本高,研制进度无法精确估计,顾客不满意。
B、软件产品的可靠性得不到保证。
C、软件产品难以维护。
D、软件发展跟不上硬件的发展和顾客的规定,硬件成本逐年下降,软件成本越来越昂贵。
2、软件工程概念
I)、软件:计算机系统中内程序和其文档。程序是计算任务的处理对象和处理规则的J描述;
文档是为了便于理解程序所需日勺阐明性资料。细言之,软件有三层含义:
A、个体含义:即指计算机系统中的程序和其文档。
B、整体含义:即指在特定计尊机系统中所有上述个体含义下的软件的总称。
C、学科含义:即指在研究、开发、维护以和使用前述含义下日勺软件所涉和的理论、措施、
技术所构成H勺学科。2)、工程:将理论和所学的知识应用于实践的科学。
3)、软件工程:应用计算机科学、数学和管理科学等原理,开发软件的I工程。它借鉴老式工
程的原则、措施,以提高质量,减少成本为目日勺。其中,计算机科学、数学用于构造模型与
算法,工程科学用于制定规范、设计范型、评估成本和确定权衡,管理科学用于计划、资源、
质量、成本等管理。
3、软件工程框架(参见附图软件工程框架示意图)
1)、软件工程目的J:生产具有对U勺性、可用性和开销合宜的产品。
A、对的性:是指软件产品到达预期功能的程度。
B、可用性:是指软件基本构造、实现以和文档为顾客可用的程度。
C、开销合宜:是指软件开发、运行的整个开销满足顾客规定的程度。
2)、软件开发活动:生产一种最终满足需求且到达工程目的的软件产品所需要的活动。软件
开发的基本活动包括:需求、设计、实现、确认、和支持。
A、需求:就是定义问题。
B、设计:在需求的基础上,给出被建系统II勺软件设计方案。
C、实现:在软件设计U勺基础上,编码被建系统软件体系构造中的每一模块或构件。
D、确认:需求复审、设计复审和程序测试。
E、支持:为系统的运行提供纠错性维护和完善性维护。
3)、软件工程原则:围绕软件开发,提出了如下基本原则。
A、选用合适的开发范型:在系统设计中,常常需要权衡软件需求、硬件需求以和其他原因
之间的互相制约和影响,适应需求的易变性。选用合适的开发范型,以保证软件开发区可持
续性,并使最终的软件产品满足客户的规定。
B、采用好的设计措施:在软件设计中,一般需要考虑软件的模块化、信息隐蔽、局部化、
•致性以和适应性等问题3采用合适的设计措施,支持这些问题的处理和实现。
C、提供高质量日勺工程支挣:如其他工程同样,需要提供高质量日勺工程支持,例如配置管理、
质量保证等,才能按期交付高质量的软件产品。
D、有效的软件工程管理:软件工程的管理,直接影响可用资源的有效运用,提高软件组织
的生产能力。仅当对软件过程实行有效管理时,才能实既有效的软件工程。
4)、软件工程学科研究的内容:软件开发模型、软件开发措施、软件过程、软件工具、软件
开发环境、计算机辅助软件工程以和软件经济学等。
5)、软件开发措施学:是一种已定义好的技术集和符号表达习惯,来组织软件开发的过程,
一般表达为一系列环节,包括构造化措施、面向对象措施、Jackson措施、Wamier措施、PAM
措施、可视化措施等。
软件开发模型
1、软件开发模型:软件开发所有过程、活动、任务的构造框架。
2、软件生存周期:软件产品从定义开始,通过开发、使用和维护,直到最终被淘汰的整个
过程。
3、软件过程:是为了获得高质量的软件所需要完毕的一系列任务的框架,它规定了完毕各
项任务的工作环节。
4、瀑布模型(参见瀑布模型示意图)
6、螺旋模型(参见螺旋模型示意图)
1)、概述:在瀑布模型和演化模型H勺基础上,加入两者所忽视的I风险分析所建立口勺一种软件
开发模型。
2)、特点:沿螺旋模型顺时针方向,依次体现了四个方面的活动,制定计划、风险分析、实
行工程、客户评估。
7、喷泉模型:它体现了软件创汇所固有的迭代和无间隙特性。重要用广面向对象开发过程。
(参见喷泉模型示意图)
8、噌量模型:在设计了软件系统整体体系构造之后,首先完整的开发系统的一种初始子集,
继之,根据这一子集,建造一种愈加精细的版本,如些不停地进行系统的增量开发。(参见
增量模型示意图)
9、多种模型之间的I区别与联络
1)、瀑布模型、演化模型、螺旋模型之间的异同。
A、相似点:都分为多种阶段。
B、不一样点:瀑布模型一次完毕软件;演化模型分为多次完毕,每次迭代完毕软件的一种
部分;螺旋模型也分为多次完毕,每次完毕软件的一种新原型,并考虑风险分析。
2)、演化模型和增量模型的区别
A、演化模型:首先开发关键系统,每次迭代为系统增长一种子集,整个系统是增量开发和
增量提交。
B、增量模型:首先完整的开发系统的•种初始子集,然后不停H勺建造更精细的版本。
3)、需要完整定义需求的模型:瀑布模型、增量模型。
4)、属于迭代风范的模型:演化模型、增量模型、喷泉模型、螺旋模型。
第三章构造化需求分析
1、需求分析
1)、基本任务:精确定义未来系统H勺目的,确定为了满足顾客的需要系统必须
做什么。
2)、承担者:系统分析员。
3)、两个阶段:需求获取和需求规约。
2、需求获取
1)、目欧J:清晰地理解所要处理日勺问题,完整地获取顾客需求。2)、重要活动:
通过学习、请教领域专家、向顾客提问等。
3)、三大挑战:问题空间理解;人与人之间的通信;需求日勺不停变化。
4)、分类和内容
A、功能性需求:定义系统做什么。
B、非功能性需求:定义系统工作时的特性。
5)、原则
A、划分:捕捉问题空间日勺“整体/部分”关系。
B、抽象:捕捉问题空间日勺“一般/特殊”或“特例”关系。
C、投影:捕捉问题空间日勺多维“视图”。
6)技术
A、一种好的需求获取技术应具有的基木特性。
①提供以便的通信;
②提供定义系统边界的措施;
③提供支持抽象H勺基本机制:
④鼓励分析员使用问题空间口勺术语思索问题,编写文档;
⑤为分析员提供多种可供选择的设计方案;
⑥适应需求的变化。
B、Jacobson提出的用况法基本符合以上特性,详见“第五章面向对象措施”的
“用况图”。
3、需求规约:对需求陈说进行分析,处理其中存在的二义性和不一致性,并以
一种系统化口勺形式精确地体现顾客啊需求,形成所谓口勺需求规格阐明书。
4、构造化措施:是一种系统化开发软件的措施,该措施基于模块化的思想,采
用“自顶向下,逐渐求精”日勺技术对系统进行划分,分解和抽象是它的两个基本
手段,构造化措施是构造化分析、构造化设计和陶造化编程日勺总称。
6、构造化分析
1)、基本环节
A、通过对现实系统的理解和分析,或基于需求陈说,建立该系统日勺数据流图;
B、基于得到口勺数据流图,建立该系统的数据字典;
C、基于得到日勺数据流图,对最低层的加工给出其控制构造描述;
D、根据需求,建立人机接口和其他性能描述;
E、通过度析和验证,建立系统完整的需求规约。
2)、构造化分析模型:数据流图(DFD)是一种描述数据变换的图形工具,是
构造化分析措施最普遍采用的表达手段,数据字典和小阐明为数据流图提供了补
充,并用以验证图形表达的对的性、一致性和完整性,以上三者构成了构造化分
析的模型。
A、数据流图:是一种描述数据变换的图形工具,系统接受输入的数据,通过一
系列的变换(或称加工),最终输出成果数据。包括加工、数据流、数据存储、
数据源和数据潭。
①加工:是对数据进行处理的单元;用圆圈表达;顶层口勺加工名就是软件系统的
名字,加工口勺名字最佳使用动宾词组(eg计算费用),也可用主谓词组(e.g.
费用计算),不要使用意义空洞的动词作为加工名(eg计算)。
②数据流:表达数据(由一组数据项构成)和数据流向(三种流向:从加工流向
加工;从数据源流向加工或从加工流向数据潭;从加工流向数据存储或从数据存
储流向加工。两个加工之间可以有多种数据流,这些数据流之间没有任何联络,
数据流图不表明它们的先后次序);用箭头表达;用名词或名词词组命名,尽量
选用现实系统中已经有口勺名字。
③数据存储♦:表达信息的静态存储;用两条平行线表达;其命名措施同数据流。
④数据源:数据的来源;用矩形表达;
⑤数据潭:数据的最终目的地;用矩形表达。
B、数据字典:以一种精确F句和无二义日勺方式定义所有被加工引用的数据流和数
据存储。包括数据流条目、数据存储条目、数据项条目。常用逻辑操作符:“二”
等价于(定义为)、“+”与(次序构造)、“{}"反复(循环构造)、“用”
或(选择构造)、“()”任选、界域。
C、小阐明:用于描述底层加工,集中描述一种加工的输入数据和输出数据日勺逻
辑关系,即加工逻辑,并不描述详细的加工过程。一般用自然语言、构造化自然
语言、鉴定表和鉴定树等描述。
①构造化自然语言:分为内外两层,外层语法描述操作的控制构造,内层语法用
自然语言描述。如:在飞机票预订系统中
在旅游旺季口勺7〜9,12月
假如订票超过20张
优惠票价的15%
假如订票20张如下
优惠票价的5%
在旅游淡季口勺1〜6,10,11月份
假如订票超过20张
优惠30%
假如订票20张如下
优惠20%
②鉴定表:分四个区,一区列出所有的条件类别,二区列出所有的条件组合,三
区列出所有的操作,囚区列出在对应的组合条件下某个操作与否执行或执行状
况。如:
旅游时间7~9,12月1〜6,10,11月
订票量
<=20>20<=20>20
折扣量5%15%20%30%
③鉴定树:用图形形式描述加工逻辑。
3)、建立构造化分析模型H勺环节(附实例)
A、确定系统边界,画出系统环境图(参见系统环境示意图)
B、自顶向下,画出各层数据流图
①功能分解(参见功能分解示意图)
②数据流的分派(参见数据流分派示意图)
③文献引入与精化(参见精化示意图)
④假如有必要,从①开始对分解后的加工再次进行分解,建立更下一层H勺数据流
图
C、定义数据字典
D、定义小阐明
E、汇总前面各环节的成果
4)、注意事项
A、模型平衡原则
①数据流图中所有的图形元素必须根据它们H勺使用方法规则对的使用;
②每个数据流和数据存储都要在数据字典中有定义,数据字典将包括各层数据流
图中数据元素的定义;
③数据字典中的定义使用合法的逻辑构造符号;
④数据流图中最底层的加工必须在小阐明中有定义;
⑤父图和子图必须平衡,即父图中某加工的输入输出(数据流)和分解这个加工
的子图的输入输出(数据流)必须完全一致;
⑥小阐明和数据流图的图形表达必须一致。
B、控制复杂性的某些规则
①上层数据流可以打包,上、卜层数据流的对应关系用数据字典描述,同层的数
据流也可编号对应在,包内流的性质(输入/输出)必须一致;
②为便于理解,一幅图中的图元个数控制在7±2以内;
③检查同每个加工有关的数据流,并寻找与否有其他可减少界面复杂性的划分措
施:
④分析数据内容,确定与否所有输入信息都用于产生输出信息;对应地,由一种
加工产生的所有信息与否都能由进入该加工口勺信息导出。
7、需求验证:就是对软件需求规格阐明书(SRS)加以验证,需要从如下方面
进行:对的性,无一义性,完整性,可验证性,一致性,可理解性,可修改性,
可被跟踪性,可跟踪性,设计无关性,注释。
8、需求规格阐明书
1)、概述:是需求分圻阶段产生的一份最重要的文档,它以一种一致时、无二
义的方式精确时体现顾客的需求。
2)、作用
A、作为软件开发机构和顾客之间一份实际上的技术协议书;
B、作为软件开发机构下一步进行设计和编码的基础;
C、作为测试和验收目的系统的根据。
3)、基本构造:引言、概述、数据流图与数据字典、接口、性能需求、属性、
其他需求。
9、需求分析阶段的此外两份文档:初步测试计划和顾客系统描述。
构造化设计
1、软件设计阶段:需求分析阶段的重要任务是确定系统必须“做什么”,形成软件的需求规
格阐明书,软件设计阶段重要任务是确定系统“怎么做〃,从软件需求规格阐明书出发,形成
软件的详细设计方案,软件设计可以采用多种措施,如构造化设计措施、面向数据构造的设
计措施、面向对象的设计措施等,构造化软件设计可以分为总体设计和详细设计两个阶段。
2、数据流图的类型
1)、变换型数据流图:具有较明显的J输入、变换、输出界面的数据流图。(参见变换型数据
流图示意图)
2)、事务型数据流图:当数据抵达一种处理T后,该处理T根据输入数据口勺类型或数据值,
在其后的若干动作序列(称为一种事务)中选出一种来执行。(参见事务型数据流图示意图)
3、设计类型(以上面两图为实例)
1)、变换设计:对应于变换型数据流图。其环节如下:
A、确定输入、变换、输出H勺边界:逻辑输入就是离物理输入端最远的,但仍被看作是系统
输入的数据流;逻辑输出就是离物理输出端最远的J,但仍被看作是系统输出H勺数据流。
B、“第一级分解〃-系统模块构造图顶层和第一层口勺设计:主模块位于最顶层,一般以所建系
统的名字命名;输入模块部分,一般有几种不一样口勺逻辑输入,就设计几种输入模块;变换
模块部分;输出模块部分,一般有几种不一样H勺逻辑输出,就设计几种输出模块。(参见变
换设计之第一级分解示意图)
C、“第二级分解〃-自顶向下,逐渐求精:输入模块部分,一般可分解为两个下属模块:一种
是接受数据模块,另一种是把接受的数据变换成它的上级模块所需的数据的模块,继之,对
下属的输入模块以同样方式进行分解,直到一种输入模块为物理输入为止;输出模块部分,
一般也可分解为两个下属模块:一种将得到的数据向输出形式转换的模块,另一种将转换后
的数据输出,对下属的模块以同样方式进行分解,直到一种输出模块为物理输出为止;中心
变换模块,一般根据数据流图的详细状况,并以功能分解的原则,考虑怎样对中心变换模块
进行分解。这样就得到了初始模块构造图。(参见变换设计之第二级分解示意图)
D、使用设计度量和启发式规则,对初始模块构造图进行精化。(参见变换设计之精化示意
图)
2)、事务设计:对应于事务型数据流图,其环节如下:
A、确定事务处理中心。
B、“第一级分解”•系统模块构造图顶层和第一层日勺设计:首先为事务中心设计一种主模块;
然后,为每一条活动途径设计一种出务处理模块;一般来说,事务型数据流图均有输入部分,
对其输入部分设计一种输入模块:假如一种事务型数据流图日勺各活动途径又集中于一种加
工,则为此设计一种输出模块;假如各活动途径是发散的,则在第•层设计中就不必为具设
计输出模块。(参见事务设计之第一级分解示意图)
C、"第二级分解〃-自顶向下,逐渐求精:有关输入模块、输出模块的细化,如同变换设计对
输入模块、输出模块的细化。有关各条活动途径的细化,则要根据详细状况进行。
D、使用设计度量和启发式规则,对•初始的模块构造图进行精化。
4、设计评价准则
1)、模块化:把一种待开发的软件分解成若干简朴的模块,即为模块化。
2)、信息隐蔽:在自顶向下逐渐求精时,其较低层的设计细节都被〃隐蔽"起来,只给出模块
的接口,这样不仅使功能向执行机制被隐蔽起来,并且控制流程H勺细节和某些数据也被隐蔽
起来。
3)、模块:是执行一种特殊任务或实现一种特殊的抽象数据类型的一组例程和数据构造。一
般由两部分构成:接口和实现模块功能的执行机制。
4)、评价软件设计的基本谯则是“高内聚〃、“低耦合〃。
5)、耦合:是对不一样模块之间互相依赖程度的度量。紧密耦合是指两个模块之间存在着很
强的]依赖关系;松散耦合是指两个模块之间存在某些依颇关系,但它们之间口勺连接比较弱;
无耦合是指模块之间主线没有任何连接。
A、耦合日勺强度依赖的原因
①一种模块对另一种模块的引用。
②一种模块向另一种模块传递日勺数据量。
③•种模块施加到另•种馍块I为控制的数量。
④模块之间接口II勺复杂程度。
B、耦合从强到弱分类
①内容耦合:一种模块直接修改或操作另一种模块的数据,就发生了内容耦合,被修改U勺模
块完全依赖于修改它的模块。
②公共耦合:两个以上的模块共同引用一种全局数据项就称为公共耦合,对全局数据项U勺修
改作用于所有访问该数据项的模块,因此模块间的依赖关系仍旧存在。
③控制耦合:一种模块在界面上传递一种信号控制另一种模块,接受信号的模块的动作根据
信号值进行调整,称为控制耦合。
④标识耦合:若两个模块至少有一种通过界面传递的公共参数包括内部构造,则为标识耦合。
⑤数据耦合:模块间通过参数传递基本类型的数据飞
C、原则:假如模块间必须存在耦合,就尽量使用数据耦合,少用控制耦合,限制公共耦合
的范围,坚决防止使用内容耦合。
6)、内聚:度量H勺是一种模块内部各成分之间互相关联II勺强度。
A、从低到高分类
①偶尔内聚:一种模块的各成分之间亳无关系。
②逻辑内聚:几种逻辑上有关日勺功能被放在同一模块中。
③时间内聚:假如一种模块完毕H勺功能必须在同一时间内执行(如初始化系统或一组变量),
但这些功能只是由于时间原因关联在一起。
④过程内聚:假如一种模块内部的I处理成分是有关的,并且这些处理必须以特定日勺次序进行。
⑤通信内聚:假如一种模块的所有成分都操作同一数据集或生成同一数据集。
⑥次序内聚:假如一种模块的I各个成分和同一种功能亲密有关,并且•种成分的输出作为另
一种成分的输入,则称为次序内聚。
⑦功能内聚:模块的所有成分对于完毕单一的功能都是基本的。
5、启发式规则
1)、改善软件构造提高模块独立性。
2)、模块规模应当适中。
3)、深度、宽度、扇出和扇入应适中。
A、深度:表达软件构造中控制口勺层数。
B、宽度:软件构造同一种层次上的模块总数的最大值。
C、扇出:一种模块直接控制(调用)的下级模块数目。
D、扇入:表明有多少个上级模块直接调用它。
4)、模块口勺作用域应当在控制域之内。
A、作用域:受该模块内一种鉴定影响的所有模块H勺集合。
B、控制域:这个模块自身以和所有直接或间接附属于它的模块H勺集合。
5)、力争减少模块接口的复杂性。
6)、模块功能应当可以预;则。
6、总体设计
1)、重要任务:把系统的功能需求分派给软件构造,形成软件的模块构造图(MSD)。
2)、表达工具
A、层次图:用来描绘软件的I层次构造,很适合于在自顶向下设计软件口勺过程中使用。
B、HIPO图:由H图(层次图)和IPO图(输入/处理/输出图)两部分构成。
C、构造图:一般用带注释的箭头表达模块调用过程中来回传递的信息,尾部是空心圆表达
传递的J是数据,实心圆表达传递口勺是控制信息。
3)、措施:首先对需求规约所产生依JDFD分类,然后将不一样类型的DFD,采用不一样措
施进行映射,将DFD转换为初始模块构造图,再根据基本的模块化设计原则,高内聚,低
耦合〃,精化初始模块构造图,使之成为最终可供详细设计使用的模块构造图。
7、构造化程序设计:构造化程序设计技术采用自顶向下逐渐求精的设计措施和单入口单出
口的控制构造,并且只包括次序、选择和循环三种构造,构造化程序设计的目的之一是使程
序的控制流程线性化,即程序口勺动态执行次序符合静态书写构造,构造化程序设计的观点是
规定设计好构造口勺程序。
8、详细设计
1)、目的:确定怎样详细实现所规定口勺系统。
2)、详细设计包括实现对应的总体设计的模块所需要H勺处理逻辑,重要有,详细的算法;数
据表达和数据构造,实行的功能和使用的数据之间日勺关系。
3)、工具
A、程序流程图(程序框图,参见程序流程图示意图)
B、盒图(N-S图,参见盒图示意图)
C、PAD图(参见PAD图示意图)
D、类程序设计语言(PDL)(伪码)
9、软件措施学:是以软件措施为研究对象的学科。重要涉和指导软件设计的原理和原则,
以和基于这些原理、原则内措施和技术。狭义口勺软件措施学也指某种特定的软件设计指导原
则和措施体系。
面向对象措施
1、构造模块的四种基本观点
1)、以“过程〃或〃函数"为基点,使每一模块实现一项功能;
2)、以一-种"数据构造〃为基点,使每一模块实现该数据构造上的操作功能;
3)、以“事件驱动〃为基点,使每一模块识别一种事件并对该事件作出响应:
4)、以“问题域中U勺一种成分"为基点,使每一模块对应现实世界中的一种事物。
2、用况图
1)、概述:就是由参与者、用况以和它们之间H勺关系所构成的图。作用:重要用来明确需求;
用来辅助分析;用来辅助设计,尤其是顾客界面的设计;用来指导测试。
2)、概念
A、系统边界:一种系统所包括口勺所有系统成分与系统以外多种事物口勺分界线。
B、参与者:在系统边界以外,与系统进行交互口勺事物-人员、设备、外系统。一种参与者定
义了一组功能上亲密有关的角色,当一种事物与系统交互时,该事物可以饰演这样的角色。
C、用况:对参与者使用系统H勺一项功能时所进行H勺交互过程的描述。
3)、关系
A、参与者之间日勺关系
①泛化(继承):假如一组参与者具有共同的性质,可以把这些性质抽取出来放在另一种参
与者中,它们再从中继承。
B、用况之间的关系
①泛化(继承):子用况继承父用况的行为和含义;子用况可以增长或覆盖父用况的行为;
子用况可以出目前父用况出现口勺任何位置。
②扩展:从用况A到用况B的扩展关系是指,用况8的实例是可以被用况A指定欧I行为扩
充(服从于在力,展中指定的特定条件),行为被插入到由B中的力,展点定义的J位置。
③包括:从用况A到用况B的包括关系表明,用况A的一种实例也包括了用况B所指定日勺
行为,在用况A中定义日勺位置包括该行为。
④扩展与包括H勺异同
同:都是不完整H勺;都离不开基本用况;都可实现为子程序。
异:方向不一样;1对多选包括关系;多对1选扩展:包括处理一般日勺状况;扩展处理特殊
的状况。
C、参与者与用况之间日勺关系
①关联:连接参与者与用况之间H勺线段,表达参与者实例与用况实例之间H勺交互。
4)、实例(参见用况图实例)
3、类图
I)、概述:类图用以表达模型的静态构造,即表达静态元素和其之间多种静态关系。为了控
制信息组织日勺复杂性,可以把类图组织成包,但这并不表达而构成模型日勺基本元素的划分。
2)、概念
A、类:是具有相似构造、行为和关系的一组对象曰勺描述符。
B、属性:是某些有着确定值日勺、用于描述对象状态信息的数据。
C、服务:为了完毕某一任务,一种对象所提供口勺、并体现其责任口勺操作。
D、1寸象:在系统分析和系统构造中,对象是对客观世界事物口勺一种抽象,是由数据(属性)
和其上操作(行为)构成的封装体,是类的一种实例。对象的特点:自治性,对象具有一定
口勺独立计算能力;封闭性,对象具有信息隐蔽的能力;通信性,对象具有与其他对象通信时
能力。
E、接口:是指描述类中提供应另一种类使用日勺一组操作。
总结:上述五个概念围绕一种问题,即怎样描述客观事物,对象”展开日勺:怎样抽象对象H勺"构
造":属性,操作;怎样描述一组具有相似性质日勺对象:类;怎样抽象并描述在特定环境中
对象的功能:接口。
F、关联:把对一组具有相似构造特性、行为特性和语义的链日勺描述称为关联。
G、聚合:是一种特殊口勺美联,表达整体类和部分类之间日勺“整体-部分〃关系,其中的整体类
称为汇集。
H、组合:是一种关联,是聚合H勺一种形式,其部分和整体之间具有很强的“属于"关系,并
且他们的生存期是一致的,这种汇集称为构成。
I、链:是对象引用R勺元组(列表),是关联的一种实例。
J、泛化:是一般元素(父亲)和特殊元素(儿子)之间的一种分类关系,其中特殊元素日勺
构造完全与一般元素一致,并附加了某些信息、。
K、依赖:一种依赖规约了两个模型元素(或两个模型元素集合)之间U勺一种语义关系,即:
对目的元素的变化也许需要变化该依赖中的源元素。
总结:给出了体现客观事物之间关系的基本概念:链;给出了关联的语义;还给出r某些特
定的关联(分类),重要包括:二元关联与N元关联、聚合与组合、泛化、依赖。
L、包:模型元素的一种分组。
M、访问依赖:目的包的内容可以被客户包引用,或被递归嵌套在客户包中的其他包引用。
N、引入依赖:一种引入依赖获得访问,并将目"勺名字空间中的那些具有合适可见性的名字
引入到客户包(即对它们的引用可不需要一种途径名)。
总结:包是控制文档组织复杂性的机制;包也可以作为“模块化〃、“构件化”机制;包之间(在
包的层次上)存在两种依赖:访问和引入。
O、注释:是一种符号项,用以表达某一语义元素打勺某些文本信息。
3)、表达法
A、类(参见类的J表达法)
B、属性:可见性名称[多重性]:类型体现式=初始值{性质串}。
C、服务:可见性名字(参数列表):返回类型体现式(性质字符串}。
D、对象(参见对象的表达法)
E、接口(参见接口的表达法)
F、关联
①二元关联(参见二元关我的表达法)
②N元关联(参见N元关联的表达法)
G、聚合(参见聚合的表达法)
H、组合(参见组合的表达法)
I、链(参见链的表达法)
J、泛化(参见泛化的表达法)
K、依赖(参见依赖的表达法)
L、包(参见包时表达法)
4、次序图
I)、概述:是一种体现对象间交互的图,由一组对象(参与者)以和其间次序发送的消息构
成。
2)、概念和表达法
A、对象生命线:在次序图中,对象生命线表达饰演特定角色的对象。"对•象生命线”表达为
垂直虚线。
B、激活(控制焦点):表达一种对象直接或者通过附属例程执行一种行为H勺时期。它既表
达了行为执行H勺持续时间,也表达了活动和它口勺调用者之间的控制关系。用一种窄长的矩形
表达激活(活化)。
C、消息:是两个对象间的通讯,这样日勺通讯用于传播将产生aJ动作所需要的信息。一种消
息会引起一种被调用的操作,产生一种信号,或者引起一种对象被创立或者被消除。在次序
图中,把消息表达为从一种对象生命线到另一种对象生命线的一种水平实线箭头。
D、转换时间:消息可以指定几种不•样的时间(例如,发出时间和接受时间)。这些时间
可以用在约束体现式中。顾客可•以按需要为特定的目日勺给出时间体现,如elapscdTime(占
用时间)和startExccutionTime(开始执行时间)。可以在约束中使用这些体现式,以给消息
指派有效的详细时间约束。可以赋予消息一种名字。把汨间约束写成为一种基于消息名字的
体现式。例如,假如消息的名字是stim»用stim.sendTimeO表达发送时间,用stini.rcceivcTime
O体现接受时间。可以把时间约束表达在与箭头对齐的图日勺左边上,也可以通过把布尔体
现式(也许包括时间体现式)放在括号中表达约束。
3)、实例(参见次序图实例)
5、状态图
I)、概述:通过描述对事件实例接受的响应,状态图描述了具有动态行为能力H勺实体之行为。
一般用状态图描述类的行为,也可以用它描述其他模型实体(如用况、参与者、子系统、操
作或措施)口勺行为。
2)、概念与表达法
A、状态:一种状态是对象(类)生命期日勺一种阶段,在该阶段中该对象要满足某些特定日勺
条件,并可从事特定的活动。把一种状态表达成一种四用均为圆角的矩形。
B、事件:是指可以引起状态转换打勺所发生的事情。事件有信号事件、调用事件、时间事件、
条件事件。
C、转换:是两个状态之间日勺关系,表达当一种特定事件出现时,假如满足一定口勺条件,对
象就从第一种状态进入第二个状态,并执行一定小J动作。把转换表达成从源状态出发并在目
的状态上终止H勺带箭头的实线。
3)、举例(参见状态图实例)
6、面对对象措施
1)、派别
A、“措施驱动H勺措施J在给出符号体系H勺基础上,明确规定进行H勺“环节”,并在每一步中
给出“实现方略"。如Coad-Yourdon措施。
B、“模型驱动的措施":给出模型化概念,即符号体系以和目的模型;而不明确规定实现目
的的"环节",但给出某些必要FI勺指导。如的OSA措施和J.Rumbaugh的OMT措施。
2)、同构造化措施的比较
A、构造化措施:强调过程抽象和模块化,将现实世界映射为数据流和加工,加工之间通过
数据流进行通信,数据作为被动的实体被积极地操作所加工,是以过程(或操作)为中心来
构造系统和设计程序的。
B、面向对象措施:把世界当作是独立对象口勺集合,对象将数据和操作封装在一起,提供有
限的接口,其内部的实现细节、数据构造和对•它们的操作是外部不可见口勺。能很好日勺适应复
杂大系统不停发展和变化的规定。长处:更好的刻画问题域,减少映射误差,控制变化性,
便于同顾客交流,消除或减少了软件开发各个阶段口勺鸿沟,便于兔用。
7、Coad-Yourdon措施
1)、概述:该措施认为,人类在认识和理解现实世界的过程中,普遍运用着下面三个构造法
则:辨别对象和其属性;辨别整体对象和其构成部分;不一样对象类的形成和辨别。
2)、00A:运用五个层次和活动定义和记录系统行为,输入和输出。
A、发现类和对象:描述怎样发现类和对象。从应用领域开始识别类和对象,形成整个应用
的基础,然后,据此分析系统的责任。两层矩形表达类和对象:内层矩形表达类,分为三部
分,类名、属性名、服务名,外层矩形表达该类欧I对象。
B、识别构造:该阶段分为两个环节。第一,识别一般/特殊构造,该构造捕捉了识别出H勺类
的层次构造;第二,识别整体/部分构造,该构造用来表达一种对象怎样成为另一-种对象的
一部分,以和多种对象怎样组装成更大的对象。
C、定义主题:主题由一组类和对象构成,用于将类和对象模型划分为更大日勺单位,便于理
解。精炼主题可以从问题域和接口复杂性入手。
D、定义属性:具中包括定义类H勺实例(对象)之间的实例连接。可以从四方面标识属性:
原子概念,规范化,标识机制,保持一种可导出的属性。
E、定义服务:其中包括定义对象之间的消息连接。
总结:在面向对象分析阶段,通过五个层次的活动后"勺成果是一种提成五个层次的问题域
模型,包括主题、类和对象、构造、属性和服务五个层次,由类和对象图表达。五个层次活
动的次序并不重要。
3)、00D:面向对象设计模型需要深入辨别如下四个部分。
A、问题域部分(PDC):面向对象分析U勺成果直接放入该部分。
B、人机交互部分(HIC):这部分的活动包括对顾客分类,描述人机交互的脚本,设计命令
层次构造,设计详细的交互,生成顾客界面的原型,定义HIC类。
C、任务管理部分(TMC):这部分I内活动包括识别任务(进程)、任务所提供的服务、任务
的优先级、进程是事件驱动还是时钟驱动、以和任务与其他进程和外界怎样通信。
D、数据管理部分(DMC):这一部分依赖于存储技术,是文献系统,还是关系数据库管理
系统,还是面向对象数据库管理系统。
8、OSA措施
1)、OSA模型
A、对象关系模型:对象、关系、对象类、关系集合、约束。
B、对象行为模型:状态、触发与转换、动作。
C、对象互相作用模型。
2)、特殊的关系集合
A、一般关系(isa):一种对象类中口勺每一种对象是另一对象类的一种对象.
B、聚合关系(ispartof):由某些称之为成分的对象构成称之为聚合的对象。
C、联合关系(ismemberof):该关系用于生成一种由对象构成日勺集合,并把该集合看作是
一种对象。
9、UML
I)、UML简介:UML是一种通用日勺可视化建模语言,用于对软件进行描述、可视化处理、
构造和建立软件系统的文档。UML融合了许多面向对•象开发措施H勺基本概念和长处,具有
一致的图形表达法和语义,同步也出现了许多UML工具,可以很好地支持软件开发,例如
UML於J开发工具RationalRose提供了面向对象时分析和设计和()OD)到面向对
象编程(OOP)的平滑过渡机制,完整地体现了面向对象日勺软件工程思想。
2)、UML的静态建模机制和动态建模机制:静态构造定义了系统中重要对象的属性和操作
以和这些对象之间的互相关系;动态行为定义了对象的时间特性和对象为完毕目的任务而互
相进行通信欧I机制。UML定义了9种图用于系统建模,分为两类:静态构造图和动态行
为图。
A、静态构造图:可用于对系统的静态方面进行可视化、详述、构造和文档化。可以把系统
的静态方面看作是对■系统的相对稳定口勺骨架的表达,它由类、接口、协作、构件和节点等事
物的布局构成。构造图包括:
类图(Classdiagram)描述系统中类的静态构造,它定义了系统中类日勺内部构造以和类之间
的联络,用来捕捉信息和事件中的对象;对象图(Objectdiagram)是类日勺实例化图;构件
图(Componentdiagram)描述程序代码H勺物理构造;布署图(Deploymentdiagram)描述系
统中软、硬件H勺物理体系构造,用于捕捉系统硬件和软件构件的布署关系。
B、动态行为图:用于对系统的动态方面进行可视化、详述、构造和文档化。可以把系统的
动态方面看作是对系统变化部分的表达,它由诸如随时间变化的信息流和在网络上构件的
物理运动之类II勺事物构成,行为图包括:
用例图(UseCasediagram)从顾客的角度描述系统的功能,并指出各功能的执行者,阐明
执行者与提供的用例之间的某种联络:次序图(Sequencediagram)描述几种对象之间U勺动
作协作关系;协作图(Collaborationdiagram)从另一种免度展示对象之间的动作协作关系。
它可以和次序图互相转换。在RationalRose中可以由次序图生成协作图;状态图(State
diagram)描述一类对象具有II勺所有也许的状态以和状态转移关系;活动图(Activediagram)
描述系统中多种活动的执行次序。
10、RUP(参见RUP示意图)
I)、概述:RUP,即Rational统一过程,是一种适应UML的软件生命周期措施,是一种通
用的过程框架,可用于多种不一样类型的软件系统、多种不一样的应用领域、多种不一样类
型的组织、多种不一样的功能级别以和多种不一•样欧I项目规模。它是UseCase驱动的、以
体系构造为中心H勺、迭代、增量欧J开发。
2)、阶段:初始、细化、构造、移交。
3)、关键工作流:捕捉需求、分析、设计、实现、测试。
软件测试
I、软件测试
1)、软件产品与其他产品不一样,其最大的成本是检测软件错误、修正错误的成本,以和为
了发现这些错误所进行的设计测试程序和运行测试程序H勺成本。
2)、软件测试可定义为:按照特定规程,发现软件错误的过程。
3)、软件测试口勺目的:一是防止错误;二是发现错误。
2、软件测试和软件调试日勺区别
I)、测试从一种侧面证明程序员曰勺“失败〃,而调试是为了证明程序员的对日勺。
2)、测试以已知条件开始,使用预先定义的程序,且有预知的成果,不可预见的仅是程序与
否通过测试。调试一般是以不可知H勺内部条件开始,除记录性调试外,成果是不可预见的h
3)、测试是有计划的I,并要进行测试设计,而调试是不受时间约束的。
4)、测试是•种发现错误、改正错误、重新测试的过程,而调试是•种推理过程。
5)、测试日勺执行是有规程时,而调试的执行往往规定程序员进行必要推理以至知觉的T飞跃
6)、测试常常是由独立的测试组在不理解软件设计日勺条件下完毕的I,而调试必须由理解详细
设计的程序员完毕。
7)、大多数测试的执行和设计可由工具支持,而调试时,程序员能运用的工具重要是调试器。
3、测试过程模型(参见测试过程模型示意图)
1)、程序环境包括支持其运行口勺硬件、固件和软件。一般来说,程序环境通过了生产厂家日勺
严格测试,出现错误MJ概率比较小,软件可靠性很好。因此,对环境口勺抽象一一环境模型,
只考虑计算机指令系统、悭作系统宏指令、操作系统命令以和高级语言语句等。
2)、此外,为了测试,必须简化程序概念,形成被测试对象的简化版本,即程序模型。不一
样测试技术,对同一被测对象一一程序,可产生不一样日勺程序模型。这一简化或着重于程序
的控制构造,或着重于处理过程,于是形成了所谓的“白盒〃测试和“黑盒〃测试。假如程序日勺
简朴模型不能解释未料到的行为,则必须修改程序模型,使其包括更多B勺事实和细节。假如
尚有问题,则要考虑与否修改程序。
3)、由于参与软件开发的人员众多,且各有各的侧重面,因此,他们对"什么是错误〃往往在
认识上是不一致的I。为了统一认识,必须定义“什么是错误〃,即给出"错误模型
4)、在建立了环境模型、程序模型、以和错误模型U勺基础上,才能执行测试和测试成果U勺比
较。假如预料成果与实际成果不符,就要考虑与否是环境模型、程序、程序模型和错误模型
的问题。
4、软件测试技术
I)、软件测试技术大体上可分为两大类:一类是白盒测试技术,经典口勺是途径测试技术;一
类是黑盒测试技术,又称为功能测试技术,包括事务处理流程技术、状态测试技术、定义域
测试技术等。
2)、白盒测试技术根据的是程序日勺逻辑构造,而黑盒测试技术根据的是软件行为的描述。
3)、软件错误可分为构造错误、数据错误、编程错误和接口错误。
4)、测试用例指H勺是为了发现程序中口勺故障而专门设计II勺一组或多组数据。
5、途径测试技术
1)、基本概念
A、控制流程图:是程序控制构造的图形表达,其基本元素是过程块、结点、鉴定。过程块
是既不能由鉴定,也不能由结点分开的一组程序语句,其基本属性是:假如过程块中的某个
语句被执行,那么块中的所有语句都被执行。鉴定是一种程序点,此处控制流可以分叉。结
点是程序中日勺一种点,此处控制流可以结合。控制流程图与程序流程图之间的差异是在控制
流程图中,不显示过程块的细节,而在程序流程图中,着重于过程属性H勺描述。
B、途径:是一串指令或语句。它在一种入口、结点、鉴定处开始,在另一入口(或同一入
口)、结点、鉴定或出口处结束。显然一条途径可一次或多次地穿过几种结点、过程块或鉴
定。
2)、基本方略
A、途径测试(PX)和ICO%途径覆盖率:执行所有也许的穿过程序U勺控制流程途径。该方
略最强,但一般不可实现,
B、语句测试(P1)和100%语句覆盖率(C1):至少执行程序中所有语句一次。最弱的逻辑
覆盖准则。
C、分支测试(P2)和100%分支覆盖率(C2):至少执行程序中每一分支一次。
D、条件组合测试:设计足够的用例,使每个鉴定的所有也许的条件取值组合至少执行一次。
3)、途径测试的目的:执行足够的测试,以保证最小的C1+C2覆盖率。
4)、途径选用的一般规则
A、选择最简朴的、具有一定功能含义的入口/出口途径:
B、对已选的途径进行演化,选用无循环欧I途径;选用短途径、简朴途径;
C、选用没有明显功能含义的I途径,此时要研究这样H勺途径为何存在,为何没有通过功能上
合理的途径得到覆盖。
5)、对于循环的J途径选用
A、单循环
①最小循环次数为0,最大次数为N,且无“跳跃”值:选用"旁通循环”(零次循环)的途径;
对循环控制变量指定为负数;一次通过循环;经典的I反复次数;反复次数为N-1;反复次数
为N:反复:次数为N+1。
②非零最小循环次数,且无“跳跃”值:反复次数为最小次数减1;反复次数为最小次数;反
复次数为最小次数加1;一次通过循环,除非已覆盖:二次通过循环,除非已覆盖;经典II勺
反复次数;反复次数为最大次数减1;反复次数为最大次数;反复次数为最大次数加1。
③具有跳跃的单循环:除把每“跳跃〃边界,按"最小循环次数"和"最大循环次数''处理外,其
他均同前两种循环的途径选用规则。
B、嵌套循环
①在最深层11勺循环开始,设定所有外层循环取它的最小值;
②测试最小值,最小值加1,经典值,最大值减1,最大值,与此同步,测试最小值减1,
最大值加1以和“跳跃值”边界;
③设定内循环在经典值处,按②测试处层循环,直到覆盖所有循环。
C、级联循环:假如在退出某个循环后来,抵达另一种循环,且还在同一入口/出口途径上,
则称这两个循环是级联的,其中,假如在退出某个循环后来,抵达另一种循环,且循环的反
更值与另一种循环的反更值有关,该循环还在同一入11/出口途径上,则可认为是嵌套循环。
假如两个循环不在同一入口/出口途径上,则可认为它们是单循环。
6)、举例
例如:如下为一种程序流程图(参见程序流程图实例),其中该例子中有两个判断,每个判
断都包括复合条件的逻辑体现式。
其控制流程图为:(参见控制流程图实例)
A、途径测试
该控制流程图有4条不一样的途径。4条途径可表达为:
LI(a^c->e)简写ace、L2(a->b->d)简写abd
L3(a->b^e)简写abe、L4(a—d)简写acd
要想实现途径覆盖,可选择如下一组测试用例(规定测试用例的设计格式为:【输入II勺(A,
B,X),输出U勺(A,B,X)]):
测试用例覆盖途径
[(2,0,4),(2,0,3)】
[(LL1),(1,h1)1L2
[(1,L2),(1,1,3)]L3
[(3,0,3),(3,0,1)]L4
B、语句测试(Pl):
[(2,0,4),(2,0,3)]LI
C、分支测试(P2):
假如选择途径L1和L2,就可得到实现分支覆盖时测试用例:
【(2,0,4),(2,0,3)]L1
[(1,1,1),(1,1,1)]L2
假如选择途径L3和L4,还可得另一组可用日勺测试用例:
[(2,1,1),(2,1,2)]L3
【(3,(),3),(3,1,1)]L4
D、条件组合测试:
要满足条件组合覆盖,设计的测试用例必须满足如下16种条件组合:
(1)(A>l),(B=0),(A=2),(X>1),可标识为Tl、T2、T3、T4;
(2)(A>1),(B=0),(A=2),(XR),可标识为Tl、T2、T3、F4;
(3)(A>1),(B=0),(AH2),(X>1),可标识为Tl、T2、F3、T4
(4)(A>1),(B=0),(A工2),(XG),可标识为ThT2、F3、F4。
(5)(A>1),(BwO),(A=2),(X>1),可标识为TkF2、T3、T4;
(6)(A>1),(BNO),(A=2),(XS1),可标识为ThF2>T3、F4;
(7)(A>l),(B*0),(AH2),X>1),可标识为T1、F2、F3、T4;
(8)(A>l),(B*0),(AH2),(X<1),可标识为Tl、F2、F3、F4。
(9)(AG),(B=0),(A=2),(X>1),可标识为Fl、T2、T3、T4;
(10)(A<1),(B=0),(A=2),(X<1),可标识为Fl、T2、T3、F4;
(11)(A<1),<B=0),(A*2),(X>1),可标识为Fl、T2、F3、T4:
(12)(A<1),(B=0),(Aw2),(X<I),可标识为Fl、T2、F3、F4。
(13)(A<1),(B*0),(A=2),(X>1),可标识为Fl、F2、T3、T4:
(14)(A<1),(B*0),(A=2),(X<1),可标识为Fl、F2、T3、F4:
(15)(A<1),(B*0),(A、2),X>1),可标识为Fl、F2、F3、T4;
(16)(A<1),(B=0),(A*2),X<1),可标识为Fl、F2、F3、F4o
可以采用如下四组测试数据,从而实现条件组合覆盖:
测试用例覆盖条件覆盖组合号通过途径
【(20,4),(2,0,3)1T1T2T3T41、5L1
【(2,1,1),(2,1,2)]T1F2T3F42、6L3
【(1,0,3),(1,0,4)]F1T2F3T43、7L3
【(1,1,1),(I,1,1)1F1F2F3F44、8L2
6、事务处理流程测试技术
I)、基本概念
A、事务:是从系统顾客的角度出发所见到的一种工作单元。
B、事务处理流程:是系统行为的|一种表达措施,为功能测试建立了程序的动作模式。
C、事务处理流程图:一种系统的行为体现为多种事务日勺执行,这一行为可抽象为事务处理
流程图。
2)、事务处理流程图与控制流程图口勺异同
A、相似之处:两者使用了相似打勺概念成分,例如处理(对应于过程块)、分支、结点。
B、不一样之处:事务流程图是一种数据流程图,即从操作应用日勺历史,观测数据对象;事
务流程图中日勺鉴定“抽象〃了一种复杂的过程;事务流程图存在“中断”,把一种过程等价地变
换为具有繁多出口的I链支。
3)、测试环节
A、获取事务流程图,即建立被测对象模型;
B、浏览与复审,重要对事务进行分类,为设计用例奠定基础;
B、用例设计
4)、要处理的I问题:途径选用;激活;测试设备;测试数据库。
7、具他功能测试技术
1)、等价类划分
A、等价类划分是把所有也许的输入数据即程序的输入域划提成若干(即若干等价类),然
后从每一部分中选用数据作为测试用例。
B、有效等价类:指对于程序11勺规格阐明来说,是合理的、故意义U勺输入数据构成的集合:
无效等价类:指对于程序规格阐明来说,是不合理II勺、无意义的输入数据构成的集合。
C、测试环节:首先划分等价类,然后确定测试用例。
D、确定等价类的参照原则
①假如某个输入条件规定了输入数据口勺取值范围,则可以确立一种有效等价类和两个无效等
价类;
②假如某个输入条件规定了输入数据的个数,则可划分一种有效等价类和两个无效等价类。
③假如输入条件规定了输入数据的一组也许取的值,并且程序可以对每个输入值分别进行处
理,则可为每一种输入值确立一种有效等价类,而针对这组值确定一种无效等价类。
④假如输入条件是一种布尔量,则可以确立一种有效等价类和一种无效等价类。
⑤假如某个输入条件规定了必须符合日勺条件,则可划分一种有效等价类和一种无效等价类。
⑥若在已划分H勺某一等价类中各元素在程序中的处理方式不一样,则应将此等价类深入划分
为更小的I等价类。
E、确立测试用例
①为每一种等价类规定一种惟一日勺编号;
②设计一种新日勺测试用例,使其尽量多地覆盖尚未被覆盖的有效等价类,反复这一步,直到
所有的有效等价类都被覆盖为止:
③设计•种新H勺测试用例,使具仅援盖•种尚未被覆盖的无效等价类,反复这•步,直到所
有的无效等价类都被覆盖为止。
2)、边界值分析
A、重要思想:经验表明,大量的错误常常发生在输入或输出范围II勺边界上。因此,使用等
于、不不小于或不小于边界值II勺数据对程序进行测试,发现错误的概率较大。
B、测试原则
①假如某个输入条件规定了输入值U勺范围,则应选择恰好等于边界值的数据,以和刚愀.超过
边界值的数据作为测试数据。
②假如某个输入条件规定了值II勺个数,则可用最大个数、最小个数、比最大个数多1、比最
小个数少1的数作为测试数据。
③根据规格阐明的每个输出条件,使用前面的原则①。
④根据规格阐明IJ勺每个输出条件,使用前面的原则②。
⑤假如程序的规格阐明中,输入域或输出域是有序集合,则选用集合的第一种元素,最终一
种元素以和经典元素作为测试用例。
⑥假如程序中使用了内部数据构造,则应当选择这个内部数据构造H勺边界上的值作为测试用
例。
⑦分析规格阐明,找出其他也许H勺边界条件。
3)、因果图:是设计测试用例的)一种工具,它着重检查多种输入条件的)组合。
8、软件测试环节
1)、合理欧I测试序列:单元测试、集成测试、有效性测试和系统测试。
2)、单元测试:重要检查软件设计H勺最小单位一一模块。•般采用白盒测试技术。在单元测
试期间,一般考虑模块的四个特性:模块接口;局部数据构造;“重要U勺〃执行途径;错误执
行途径。单元测试环节分四部分:首先测试穿过模块接口的数据流;继之进行数据构造U勺测
试;还要进行执行途径11勺选择测试;边界测试是单元测试中的最终工作,也是最重要的工作。
3)、集成测试:是软件组装的一种系统化技术,其目"勺是发现与接口有关的错误,将通过单
元测试的模块构成一种满足设计规定的软件构造。分为自顶向下的集成测试和自底向上U勺集
成测试。
4)、有效性测试:目的是发现软件实现U勺功能与需求规格阐明书不一致"勺错误,有效性测试
一般采用黑盒测试技术。
软件过程与改善
1、软件过程
1)、软件过程是软件生存周期中的一系列有关过程,又称为软件生存周期过程。过程是活动
的集合,活动是任务的集合,任务是将输入变换为输出II勺操作。活动B勺执行可以是次序的J,
可以是反堂日勺,可以是并行的,也可以是嵌套的。
2)、按照不一样人员的工作内容来分,软件过程可分为三类:基本过程、支持过程和组织过
程。
2、基本过程
1)、指那些与软件生产直接有关的过程,包括获取过程、供应过程、开发过程、运行过程和
维护过程。
2)、获取过程:是获取者为了得到一种软件系统或软件产品所进行的一系列活动。它从确定
获取该系统或软件产品的需求定义开始,通过招原则备,协议的准备和修改,对供应方的监
督,直到验收完毕方告结束。
3)、供应过程:是供应者为获取者提供软件产品的一系列活动。它从理解系统或软件产品口勺
需求开始,通过投原则备,签订协议,制定计划,实行和控制,评审和评价等活动,直到交
付完毕。
4)、开发过程:是软件开发者所从事打勺一系列活动,其E的是根据协议成功地开发并交付软
件。包括日勺活动有需求分析、设计、编码、集成、测试、安装以和验收支持等。
5)、运行过程:是顾客和操作人员在顾客的业务运行环境中为了使系统或软件产品投入运行
所进行的一系列活动。目内是在软件开发过程完申后,将该系统从开发口勺环境转移到顾客日勺
业务运行环境中运行;在运行时对顾客的规定提供协助和征询;并对运行效果作出评价。
6)、维护过程:是软件维护人员所从事日勺一系列活动,其目的是在保持软件整体性能的同步
修改它,使它到达某一需求,直到其退伍才告终止。从维护方式上讲有三种维护:改正性维
护(诊断并校正一种或多种错误)、适应性维护(适应变化的I环境)、完善性维护(增长新H勺
能力或改善既有功能)。
3、支持过程
1)、是有关各方按他们H勺支持目的所从事H勺一系列有关活动。包括文档过程、配置管理过程、
质量保证过程、验证过程、确认过程、联合评审过程、审计过程、问题处理过程。
2)、文档过程:是一种记录由某一过程或活动所产生的I信息的过程。作用是设计、开发、制
作、编辑、发行和维护各类文档。
3)、配置管理过程:是一种应用管理和技术环节来完毕下列工作的过程:确定、定义一种系
统中的软件配置项和基线;控制配置项的修改与交付:记录和汇报配置项的完毕状况和修改
祈求;保证配置项的完整性、相容性和对的性;以和控制配置项的存储、处理和提交。
4)、质量保证过程:是一种为使软件过程和软件产品符合所规定的需求,并按所制定的计划
完毕提供合适保证的过程,
5)、验证过程:RU勺是确
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 48132.9-2026绿色矿山建设规范第9部分:水泥用灰岩矿山
- 报表系统课程设计片
- Nodejs在线投票教程总结课程设计
- 产品运营课程设计
- 成人口才培训课程设计
- 送料装置定制设计课程设计
- 模拟退火优化车间调度方法详解课程设计
- 城堡线条创意课程设计
- 采血化验课程设计
- Snort数据加密设计课程设计
- 2025年澳洲amc9年级竞赛题库及答案
- 2025-2026学年统编版语文二年级上册第一单元早读课件
- 钢丝绳安全使用培训课件
- 六堡茶课件教学课件
- 挡墙重点难点施工方案
- 电工电焊工安全培训课件
- 2025年贵州省初、中级专业技术资格考试(给排水)历年参考题库含答案详解(5卷)
- 2025年秋季小学六年级上册语文教学计划及教学进度表
- 测绘服务质量保障措施及方案
- 反走私宣传课件教案
- 手术室的时间管理
评论
0/150
提交评论