软件工程自考复习资料Word格式.docx

上传人:b****7 文档编号:22315444 上传时间:2023-02-03 格式:DOCX 页数:24 大小:35.62KB
下载 相关 举报
软件工程自考复习资料Word格式.docx_第1页
第1页 / 共24页
软件工程自考复习资料Word格式.docx_第2页
第2页 / 共24页
软件工程自考复习资料Word格式.docx_第3页
第3页 / 共24页
软件工程自考复习资料Word格式.docx_第4页
第4页 / 共24页
软件工程自考复习资料Word格式.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

软件工程自考复习资料Word格式.docx

《软件工程自考复习资料Word格式.docx》由会员分享,可在线阅读,更多相关《软件工程自考复习资料Word格式.docx(24页珍藏版)》请在冰豆网上搜索。

软件工程自考复习资料Word格式.docx

编码;

测试;

维护。

软件生存周期模型是描述软件开发过程中各种活动如何执行模型。

瀑布模型是将软件生存周期各个活动规定为依线性顺序连接若干阶段模型。

增量模型是一种非整体开发模型。

瀑布模型是一种整体开发模型 

螺旋模型将瀑布模型与增量模型结合起来,加入了风险分析,用于复杂大型软件开发;

分为几种螺旋周期:

第一,制定筹划;

第二,风险分析;

第三,开发实行;

第四,顾客评估。

喷泉模型是一种以顾客需求为动力,以对象作为驱动模型,适合于面向对象开发办法。

喷泉模型使开发过程具备迭代性和无间隙性。

基本知识模型又称智能模型,它把瀑布模型和专家系统结合在一起。

变换模型是一种适合于形式化开发办法模型。

从软件需求形式化阐明开始,通过一系列变换,最后得到系统目的程序。

软件开发办法:

构造化办法由构造化分析、构造化设计、构造化程序设计构成。

它是一种面向数据流开发办法。

构造化办法总指引思想是自顶向下、逐渐求精。

它基本原则是功能分解与抽象,它是软件工程中最早浮现开发办法,特别适合于数据解决领域问题。

Jackson办法是一种面向数据构造开发办法。

维也纳开发办法(VDM)是一种形式化开发办法,软件需求用严格形式语言描述。

面向对象开发办法涉及面向对象分析、面向对象设计、面向对象实现。

面向对象开发办法有 

Booch办法、Coad办法 

第2章 

软件可行性研究目就是用最小代价在尽量短时间内拟定该软件项目与否可以开发,与否值得去开发。

注意,可行性研究目不是去开发一种软件项目,而是研究这个软件项目与否值得去开发,其中问提能否解决。

可行性研究实质上是要进行一次简化、压缩了需求分析、设计过程,要在较高层次上以较抽象方式进行需求分析和设计过程。

可行性研究任务 

技术可行性:

对要开发项目功能、性能、限制条件进行分析,拟定在既有资源条件下,技术风险有多大,项目与否能实现。

涉及:

开发风险;

资源有效性;

技术;

开发人员在评估技术可行性时,一旦预计错误,将会浮现劫难性后果。

经济可行性涉及成本――效果分析、公司经营长期方略、开发所需成本和资源、潜在市场前景。

社会可行性涉及:

合同、责任、侵权、顾客组织管理模式及规范,其她某些技术人员经常不理解陷阱等。

典型可行性研究有下列环节:

拟定项目规模和目的;

研究正在运营系统;

建立新系统高层逻辑模型;

导出和评价各种方案;

推荐可行方案;

编写可行性研究报告。

可行性研究报告重要内容:

引言;

可行性研究前提;

对既有系统分析;

所建议系统技术可行性分析;

所建议系统经济可行性分析;

社会因素可行性分析;

其她可供选取方案;

结论意见。

成本――效益分析一方面是估算将要开发系统开发成本,然后与也许获得效益进行比较和权衡。

效益分有形效益和无形效益两种。

有形效益可以用货币时间价值、投资回收期、纯收入等指标进行度量;

无形效益重要从性质上、心理上进行衡量,很难直接进行量比较。

投资回收期就是使合计经济效益等于最初投资费用所需时间。

项目纯收入,也就是在整个生存周期之内合计经济效益(折合成当前值)与投资之差。

项目开发筹划:

项目概述;

实行筹划;

人员组织及分工;

交付期限。

第3章 

在进行可行性研究和软件筹划后来,如果确认开发一种新软件系统是必要并且是也许,那么就进入需求分析阶段。

需求分析是指,开发人员要精确理解顾客规定,进行细致调查分析,将顾客非形式需求陈述转化为完整需求定义,再由需求定义转换到相应形式功能规约(需求规格阐明)过程。

它难点重要体当前如下几种方面:

问题复杂性;

交流障碍;

不完备性和不一致性;

需求易变性。

需求分析基本任务是要精确地定义新系统目的,为了满足顾客需要,回答系统必要“做什么”问题。

本阶段要进行如下几方面工作:

问题辨认:

功能需求;

性能需求;

环境需求;

顾客界面需求 

分析与综合:

导出软件逻辑模型 

编写文档:

需求规格阐明书;

初步顾客使用手册;

确认测试筹划;

修改完善软件开发筹划。

构造化分析(SA)是面向数据流进行需求分析办法。

SA办法运用图形等半形式化描述方式表达需求,简要易懂,用它们形成需求阐明书中重要某些。

这些描述工具是:

数据流图;

数据字典;

描述加工逻辑构造化语言,鉴定表、鉴定树。

“数据流图(DFD)”描述分解,即描述系统由哪几某些构成,各某些之间有什么联系等等。

“数据字典”定义了数据流图中每一种图形元素。

构造化语言、鉴定表或鉴定树则详细描述数据 

流图中不能被再分解每一种加工。

数据流是数据在系统内传播途径,因而由一构成分固定数据项构成。

加工(又称数据解决)。

对数据流进行某些操作或变换。

数据存储(又称文献),指暂时保存数据,它可以是数据库文献或任何形式数据组织。

数据源点或终点:

是本软件系统外部环境中实体,统称外部实体。

数据字典(DD)就是用来定义数据流图中各个成分详细含义,它和数据流图共同构成了系统逻辑模型,是需求规格阐明书重要构成某些。

数据字典内容及格式 

数据项是构成数据流和数据存储最小元素。

数据流条目;

数据存储条目;

数据项条目;

加工条目数据字典中加工逻辑重要描述该加工“做什么”,即实现另工方略,而不是实现加工细节,它描述如何把输入数据流变换为输出数据流加工规则。

加工逻辑也称为“小阐明”,描述加工逻辑普通用如下三种工具:

构造化语言、鉴定表、鉴定树。

构造化语言是介于自然语言和形式语言之间一种半形式语言。

它构造可提成外层和内层两层:

外层用来描述控制构造,采用顺序、选取、重复三种基本构造;

内层对于顺序执行和循环执行动作,用构造化语言描述。

对于存在各种条件复杂组合判断问题,用鉴定表和鉴定树。

IDEF0:

用来描述系统功能活动及其联系,建立系统功能模型。

IDEF1:

用来描述系统信息及其联系,建立系统信息模型。

IDEF2:

用来进行系统模仿,建立系统动态模型。

老式SA办法重要用于数据解决方面问题,重要工具DFD体现了系统“做什么”功能,但它仅是一种静态模型,没有反映解决顺序,即控制流程。

形式化办法是将需求规格阐明用形式规约语言来描述。

典型有基于模型Z语言及VDM开发办法。

第4章

在软件需求分析阶段,已经弄清晰了软件“做什么”问题,并把这些需求通过规格阐明书描述了出来,这也是目的系统逻辑模型。

进入了设计阶段,要把软件“做什么”逻辑模型变换为“怎么做”物理模型,即着手实现软件需求,并将设计成果反映在“设计规格阐明”文档中,软件设计是一种把软件需求转换为软件表达过程,最初这种表达只是描述了软件总体系构造,称为软件概要设计或构造设计。

然后对构造进一步细分,称为详细设计或过程设计。

概要设计基本任务:

1设计软件系统构造(简称软件构造)――采用某种设计办法,将一种复杂系统按功能划提成模块;

拟定每个模块功能;

拟定模块之间接口,即模块之间传递信息;

评价模块构造质量。

软件构造设计是以模块为基本,在需求分析阶段,已经把系统分解为层次构造。

设计阶段,以需求分析成果为根据,从实现角度进一步划分为模块,并构成模块层次构造。

2数据构造及数据库设计

数据库设计指数据存储文献设计(概念设计、逻辑设计、物理设计)

数据库“概念设计”、“逻辑设计”分别相应于系统开发中“需求分析”与“概要设计”,而数据库“物理设计”与模块“详细设计”相相应。

3编写概要设计文档(概要设计阐明书、数据库设计阐明书、顾客手册、修订测试筹划,对测试方略、办法、环节提出明确规定。

4评审:

对设计某些与否完整地实现了需求中规定功能、性能等规定,设计方案可行性,核心解决及内外部接口定义对的性、有效性,各某些之间一致性等等都一一进行评审。

模块基本属性:

接口指模块输入与输出;

功能指模块实现什么功能;

逻辑描述内部如何实现规定功能及所需数据;

状态指该模块运营环境,即模块调用与被调用关系。

功能、状态与接口反映模块外部特性,逻辑反映它内部特性。

模块化是指解决一种复杂问题时自顶向下逐级把软件系统划分为若干模块过程。

模块完毕一种特定子功能,所有模块按某种办法组装起来,成为一种整体,完毕整个系统所规定功能。

开发一种大而复杂软件系统,将它进行恰当分解,不但可减少其复杂性,还可减少开发工作量,从而减少开发成本,提高软件生产率,这就是模块化根据。

抽象是结识复杂现象过程中使用思维工具,即抽出事物本质共同特性而暂不考虑它细节,不考虑其她因素。

通过抽象,可以拟定构成软件过程实体。

通过信息隐蔽,可以定义和实行对模块过程细节和局部数据构造存取限制。

信息隐蔽指在设计和拟定模块时,使得一种模块内部包括信息(过程或数据),对于不需要这些信息其她模块来说,是不能访问。

模块独立性指每个模块只完毕系统规定独立子功能,并且与其她模块联系至少且接口简朴,两个定性度量原则――耦合性和内聚性。

耦合性也称块间联系。

指软件系统构造中各模块间互相联系紧密限度一种度量。

模块之间联系越紧密,其耦合性就越强,模块独立性则越差。

模块间耦合高低取决于模块间接口复杂性、调用方式及传递信息。

无直接耦合数据耦合标记耦合控制耦合公共耦合内容耦合(低――高)

1无直接耦合

2数据耦合指两个模块之间有调用关系,传递是简朴数据值,相称于高档语言值传递。

3标记耦合指两个模块之间传递是数据构造,如高档语言中数组名、记录名、文献名等这些名字即标记,其实传递是这个数据构造地址。

4控制耦合指一种模块调用另一种模块时,传递是控制变量(如开关、标志等),被调模块通过该控制变量值有选取地执行块内某一功能。

5公共耦合指通过一种公共数据环境互相作用那些模块间耦合。

公共耦合复杂程序随耦合模块个数增长而增长。

6内容耦合:

这是最高限度耦合,也是最差耦合。

当一种模块直接使用另一种模块内部数据,或通过非正常入口而转入另一种模块内部。

内聚性又称块内联系。

指模块功能强度度量,即一种模块内部各个元素彼此结合紧密限度度量。

若一种模块内各元素(语名之间、程序段之间)联系越紧密,则它内聚性就越高。

偶尔内聚逻辑内聚时间内聚通信内聚顺序内聚功能内聚(低――高)

1偶尔内聚指一种模块内各解决元素之间没有任何联系。

2逻辑内聚指模块内执行几种逻辑上相似功能,通过参数拟定该模块完毕哪一种功能。

3时间内聚:

把需要同步执行动作组合在一起形成模块为时间内聚模块。

4通信内聚指模块内所有解决元素都在同一种数据构造上操作(有时称之为信息内聚),或者指各解决使用相似输入数据或者产生相似输出数据。

5顺序内聚指一种模块中各个解决元素都密切有关于同一功能且必要顺序执行,前一功能元素输出就是下一功能元素输入。

6功能内聚:

这是最强内聚,指模块内所有元素共同完毕一种功能,缺一不可。

与其她模块耦合是最弱。

耦合性与内聚性是模块独立性两个定性原则,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块独立性,为设计高质量软件构造奠定基本。

软件构造图重要内容有:

模块、模块控制关系、模块间信息传递、两个附加符号

构造图形态特性:

深度指构造图控制层次;

宽度指一层中最大模块个数;

扇出指一种模块直接下属模块个数;

扇入指一种模块直接上属模块个数。

如果若干模块之间耦合强度过高,每个模块内功能不复杂,可将它们合并,以减少信息传递和公共区引用。

若有各种有关模块,应对它们功能进行分析,消去重复功能。

一种模块作用范畴应在其控制范畴这内,且鉴定所在模块应与受其影响模块在层次上尽量接近。

一种模块作用范畴指受该模块内一种鉴定影响所有模块集合。

一种模块控制范畴指模块自身以及其所有下属模块(直接或间接从属于它模块)集合。

要把数据流图(DFD)转换成软件构造,一方面必要研究DFD类型,普通可分为变换型和事务型两类。

变换型DFD是由输入、变换(或称解决)和输出三某些构成。

变换型数据解决工作过程普通分为三步:

获得数据、变换数据和给出数据,这三步体现了变换型DFD基本思想。

变换是系统主加工,变换输入端数据流为系统逻辑输入,输出端为逻辑输出。

而直接从外部设备输入数据称为物理输入,反之称为物理输出。

若某个加工将它输入流分离成许多发散数据流,形成许多加工途径,并依照输入值选取其中一种途径来执行,这种特性DFD称为事务型数据流图,这个加工称为事务解决中心。

基于iDEF0图设计也是构造化设计技术之一,它以系统功能模型和信息构造为基本设计系统软件构造。

HIPO图是表达软件系统构造工具。

它既可以描述软件总模块层次构造-H图(层次图),又可以描述每个模块输入/输出数据、解决功能及模块调用详细状况-IPO图。

第5章

详细设计是软件设计第二阶段,重要拟定每个模块详细执行过程,故也称“过程设计”

详细设计基本任务:

1.为每个模块进行详细算法设计;

2.为模块内数据构造进行设计;

3.对数据库进行物理设计,即拟定数据库物理构造;

4.其她设计(代码设计、输入输出格式设计、人机对话设计)

5.编写详细设计阐明书

6.评审

解决过程设计中采用典型办法是构造化程序设计(SP)办法。

详细设计目的不但是逻辑上对的地实现每个模块功能,还应使设计出解决过程清晰易读。

构造化程序设计是实现该目的核心技术之一,它指引人们用良好思想办法开发易于理解、易于验证程序。

构化程序设计办法基本要点是:

1采用自顶向下、逐渐求精程序设计办法

2使用三种基本控制构造构造程序

任何程序都可由顺序、选取、重复三种基本控制构造构造。

这三种基本构造共同点是单入口、单出口。

3主程序员组组织形式。

详细描述解决过程惯用三种工具:

图形、表格和语言。

程序流程图又称为程序框图,都应由三种基本控制构造顺序组合和完整嵌套而成,不能有互相交叉状况,这样流程图是构造化流程图。

PAD图指问题分析图,它是一种自左往右展开二维树型构造。

控制流程为自上而下、从左到右执行。

由机器自动通过走树办法生成相应源代码,大大提高了软件生产率。

过程设计语言(PDL),也称程序描述语言,又称伪码。

它是一种用于描述模块算法设计和解决细节语言。

伪码构造普通分为内外两层,外层语法应符合普通程序设计语言惯用语法规则,而内层语法则用某些简朴句子、短语和通用数学符号,来描述程序应执行功能,具备严格核心字外层语法,用于定义控制构造、数据构造和模块接口,而它表达实际操作和条件内层语语法又是灵活自由,使用自然语言词汇。

JACKSON办法是面向数据构造设计办法,70年代中期出了“面向数据构造”设计办法,其中有代表性是由英国M.JACKSON提出JACKSON办法和由法国人J.WARNIER提出WARNIER办法。

JACKSON在JSP基本上扩展成了一种系统开发办法,简称JSD。

JSD重要以活动事件为中心,通过由一串活动顺序组合构成进程,建立系统模型,最后实现该模型。

JSP办法定义了一组以数据构造为指引映射过程,它依照输入、输出数据构造,按一定规则映射成软件过程描述,即程序构造,而不是软件体系构造,因而该办法合用于详细设计阶段。

JACKSON办法提供了自己描述工具――-JACKSON构造图。

无论数据构造还是程序构造,都限于三种基本构造(顺序构造、选取构造、重复构造)及它们组合。

JACKSON构造图特点:

1能对构造进行自顶向下分解,因而可以表达层次构造。

2构造易读,形象直观。

3既能表达数据构造也能表达程序构造,且表达是构成关系。

JSP办法普通通过如下五个环节来完毕设计:

1分析并拟定输入数据和输出数据逻辑构造,并用JACKson构造图表达这些数据构造。

2找出输入数据构造和输出数据构造中有相应关系数据单元。

“相应关系”指这些数据单元在数据内容上、数量上和顺序上有直接因果关系,对于重复数据单元,重复顺序和次数都相似才有相应关系。

3按一定规则由输入、输出数据构造导出程序构造

4列出基本操作与条件,并把它们分派到程序构造图恰当位置。

5用伪码写出程序。

第6章

将详细设计得到解决过程描述转换为基于某种计算机语言程序,即源程序代码。

程序设计语言特性:

1心理特性指影响程序员心理语言性能,许多此类特性是作为程序设计成果而浮现。

歧义性:

有些语法规则容易使人用不同方式来解释语言,这就产生了心理上二义性。

简洁性,人们必要记住语言成分数量越多,简洁性越差。

局部性和顺序性:

局部性是指语言联想性,在编码过程中,由语句组合成模块,由模块组装成系统构造,并在组装过程实现模块高内聚,低耦合,使局部性得到加强。

老式性:

老式性容易影响人们学习新语种积极性。

2工程特性

可移值性:

指程序从一种计算机环境移植到另一种计算机环境容易限度。

开发工具可运用性

软件可重用性

可维护性。

3技术特性

为开发一种特定项目选取程序设计语言时,必要从技术特性、工程特性和心理特性几方面考虑。

普通,考虑选用语言因素有:

1项目应用领域:

科学工程计算(需要大量原则库函数,以便解决复杂数值计算,可供选用语言有:

FORTRANPascalCPL/1);

数据解决与数据库应用(CoBolSQL4GL);

实时解决(汇编语言Ada);

系统软件(汇编语言C语言Pascal语言和Ada语言);

人工智能(Lisp是一种函数型语言Prolog是一种逻辑型语言)

2软件开发办法:

有时编程语言选取依赖于开发办法,如果要用迅速原形模型来开发,规定能迅速实现原形,宜采用4GL。

如果是面向对象办法,宜采用面向对象语言编程(C++JAVA)

3软件执行环境

4算法和数据构造复杂性

5软件开发人员知识。

程序设计风格指一种编制程序时所体现出来特点、习惯、逻辑思想等。

语句构造原则是:

简朴直接,不能为了追求效率而使代码复杂化。

效率指解决机时间和存储空间使用:

效率是一种性能规定,目的在需求分析给出;

追求效率建立在不损害程序可读性或可靠性基本之上;

提高程序效率主线途径在于选取良好设计办法、良好数据构造与算法,而不是靠编程时对程序语句做调节

第7章

软件测试目:

1.软件测试是为了发现错误而执行程序过程;

2.一种好测试用例可以发现至今尚未发现错误;

3.一种成功测试是发现了至今尚未发现错误测试。

测试阶段基本任务应当是依照软件开发各阶段文档资料和程序内部构造,精心设计一组“高产”测试用例,运用这些实例执行程序,找出软件中潜在各种错误和缺陷。

软件测试中,应注意如下指引原则:

测试用例应由输入数据和预期输出数据两某些构成;

测试用例不但选用合理输入数据,还要选取不合理输入数据。

这样能更多发现错误,提高程序可靠性。

对不合理输入数据,程序应回绝接受,并给出相应提示。

软件测试办法普通分为两大类:

动态测试办法与静态测试办法。

静态测试指被测试程序不在机器上运营,而是采用人工检测和计算机辅助静态分析手段对程序进行检测。

动态测试指通过运营程序发现错误,分为黑盒测试法和白盒测试法。

黑盒法:

把被测试对象当作一种黑盒子,测试人员完全不考虑程序内部构造和解决过程,只在软件接口处进行测试,根据需求规格阐明书,检查程序与否满足功能规定。

因而,黑盒测试又称为功能测试或数据驱动测试。

白盒法:

把测试对象看作一种打开盒子,测试人员须理解程序内部构造和解决过程,以检查解决过程细节为基本,对程序中尽量多逻辑途径进行测试,检查内部控制构造和数据构造与否有错,实际运营状态与预期状态与否一致。

由于白盒测试是构造测试,因此被测对象基本上是源程序,以程序内部逻辑为基本设计测试用例。

1.逻辑覆盖

语句覆盖是指设计足够测试用例,使被测程序中每个语句至少执行一次,语句覆盖是比较弱覆盖原则。

鉴定覆盖指设计足够测试用例,使得被测程序中每个鉴定表达式至少获得一次“真”值和“假”值,从而使程序每一种分支至少都通过一次,因而鉴定覆盖也称分支覆盖。

条件覆盖指设计足够测试用例,使得鉴定表达式中每个条件各种也许值至少浮现一次。

鉴定/条件覆盖指设计足够测试用例,使得鉴定表达式中每个条件所有也许取值至少浮现一次,并使每个鉴定表达式所有也许成果也至少浮现次。

条件组合覆盖是比较强覆盖原则,它是指设计足够测试用例,使得每个鉴定表达式中条件各种也许值组合至少浮现一次,满足条件组合覆盖测试一定满足“鉴定覆盖”、“条件覆盖”和“鉴定/条件覆盖”。

途径覆盖是指设计足够测试用例,覆盖被测程序中所有也许途径。

语句覆盖发现错误能力最弱。

鉴定覆盖包括了语句覆盖,但它也许会使某些条件得不到测试。

P87

2.循环覆盖

3.基本途径测试是在程序控制流程图基本上,通过度析控制构造环路复杂性,导出基本途径集合,从而设计测试用例,保证这些途径至少通过一次。

独立途径是指涉及一组此前没有解决语句或条件一条途径。

从程序图来看,一条独立途径是至少包具有一条在其她独立途径中未有过边途径。

P89

黑盒测试是功能测试,因而设计测试用例时,需要研究需求规格阐明和概要设计阐明中关于程序功能或输入、输出之间关系等信息,从而与测试后成果进行分析比较。

黑盒技术:

1等价类划分:

它将输入数据域按有效或无效(也称合理或不合理)划分为若干个等价类,测试每个等价类代表值就等于对该类其她值测试。

用等价类划分办法设计测试用例环节为:

划分等价类

拟定测试用例环节:

为每一种等价类编号;

设计一种测试用例,使其尽量多地覆盖尚未被覆盖过合理等价类。

重覆这步,直到所有合理等价类被测试用例覆盖;

设计一种测试用例,使其只覆盖一种不合理等价类。

重覆这一步,直到所有不合理等价类被覆盖。

2边界值分析

使用边界值分析办法设计测试用例时普通与等价类划分结合起来。

但它不是从一种等价类中任选一种例子作为代表,而将测试边界状况作为重点目的,选用正好等于、刚刚不不大于或刚刚不大于边界值测试数据。

3错误推测:

在测试程序时,人们也许依照经验或直觉推测程序中也许存在各种错误,从而有针对性地编写检查这些错误测试用例,这就是错误推测法。

4因果图:

因果图能有效地检测输入条件各种组合也许会引起错误。

因果图基本原理是通过画因果图,把用自然语言描述功能阐明转换为鉴定表,最后为鉴定表每一列设计一种测试用例。

5综合方略

软件测试时需要三类信息:

1软件配备:

指需求规格阐明书、设计阐明书、源程序等。

2测试配备:

指测试方案、测试用例、测试驱动程序等

3测试工具:

指计算机辅助测试关于工具。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1