软件工程第四章-形式化说明技术剖析课件

上传人:沈*** 文档编号:241809815 上传时间:2024-07-26 格式:PPT 页数:39 大小:1.33MB
返回 下载 相关 举报
软件工程第四章-形式化说明技术剖析课件_第1页
第1页 / 共39页
软件工程第四章-形式化说明技术剖析课件_第2页
第2页 / 共39页
软件工程第四章-形式化说明技术剖析课件_第3页
第3页 / 共39页
点击查看更多>>
资源描述
软件工程中南大学Central South University2024/7/26第四章 形式化说明技术1.1.非形式化方法:自然语言描述非形式化方法:自然语言描述2.2.半形式化方法:数据流图或实体联系图半形式化方法:数据流图或实体联系图3.3.形式化方法:基于数学技术描述形式化方法:基于数学技术描述2024/7/262本讲内容1.概述2.有穷状态机3.Petri网4.Z语言5.小结软件工程中南大学Central South University2024/7/264.1 概述2024/7/2644.1.1 非形式化方法的缺点非形式化方法的缺点自然语言书写的系统规格说明书可能存在:自然语言书写的系统规格说明书可能存在:1 1)矛盾;)矛盾;2 2)二义性;)二义性;如如:“操操作作员员标标识识由由操操作作员员姓姓名名和和密密码码组组成成,密密码码由由6 6位位数数字字构成,当操作员登陆系统时它被存储在注册文件中。构成,当操作员登陆系统时它被存储在注册文件中。”3 3)含糊性;)含糊性;4 4)不完整性;)不完整性;5 5)抽象层次混乱。)抽象层次混乱。2024/7/2654.1.2 形式化方法的形式化方法的优点点(1 1)数数学学是是理理想想的的建建模模工工具具,适适合合于于表表示示系系统统状状态态和和描描述述系系统需求;统需求;(2 2)用数学表达的需求可在不同开发阶段平滑过渡。)用数学表达的需求可在不同开发阶段平滑过渡。2024/7/2664.1.3 应用形式化方法的准用形式化方法的准则(1 1)选择合适的形式化方法)选择合适的形式化方法;适用于当前项目适用于当前项目(2 2)需需要要形形式式化化,但但不不能能过过渡渡形形式式化化,不不能能放放弃弃传传统统的的需需求求表达方法;表达方法;(3 3)应该估算成本;)应该估算成本;(4 4)应该)应该有形式化方法的专家提供有形式化方法的专家提供指导指导;(5 5)不应该放弃传统的开发方法;)不应该放弃传统的开发方法;2024/7/2673.1.1确定确定对系系统的的综合要求合要求(2)5.5.接口需求接口需求 用户接口、硬件接口、软件接口、通信接口、等。用户接口、硬件接口、软件接口、通信接口、等。6.6.约束约束 精度、工具和语言、设计约束、硬件约束、标准,等。精度、工具和语言、设计约束、硬件约束、标准,等。7.7.逆向需求逆向需求 8.8.将来可能提出的要求将来可能提出的要求 2024/7/2683.1.2 分析系分析系统的数据要求的数据要求 任任何何一一个个软软件件系系统统都都是是信信息息处处理理系系统统,系系统统必必须须处处理理的的信信息息和和系系统统应应该该产产生生的的信信息息在在很很大大程程度度上上决决定定了了系系统统的的面面貌貌,对对软软件件设设计计有有深深远远影影响响,因因此此,必必须须分分析析系系统统的的数数据要求,这是软件需求的一个重要任务。据要求,这是软件需求的一个重要任务。通通过过建建立立数数据据模模型型来来分分析析,如如数数据据字字典典、层层次次方方框框图图、Warnier图,并将数据结构规范化。图,并将数据结构规范化。2024/7/2693.1.3 导出系出系统的的逻辑模型模型 导出系统的详细的逻辑模型,通常导出系统的详细的逻辑模型,通常包括数据流图、实包括数据流图、实体联系图、状态转换图、数据字典、主要的处理算法体联系图、状态转换图、数据字典、主要的处理算法(IPO图)等。图)等。2024/7/26103.1.4 修正系修正系统开开发计划划 修订前期制定的开发进度计划、等。修订前期制定的开发进度计划、等。软件工程中南大学Central South University2024/7/263.2 与用户沟通获取需求的方法2024/7/26123.2.1 访谈1.1.正式访谈正式访谈2.2.非正式访谈非正式访谈 当当需需要要调调查查大大量量人人员时,分发调查表员时,分发调查表情景分析技术情景分析技术n 能在某种程度上演示目标系统的行为,从而便于用户理解,而且还能进一步揭示出一些分析员目前不知道的需求。n 较易为用户所理解,能保证用户在需求分析过程中始终扮演一个积极主动的角色。2024/7/2613 观察用户工作流程或者实践2024/7/2614用户和开发人员共同组成联合小组n加强联系n促进交流n增进合作2024/7/2615分析追踪数据分析追踪数据流图流图用户复查用户复查细化细化数据流图数据流图有补充修正有补充修正无补充修无补充修正正需要分解需要分解不需分解不需分解图图3.1 需求分析基本过程需求分析基本过程 借助数据流图、数据字典、借助数据流图、数据字典、IPO图等,细化、完善详图等,细化、完善详细的数据流图,等到各处理环节对应的功能。细的数据流图,等到各处理环节对应的功能。3.2.2 面向数据流自顶向下求精面向数据流自顶向下求精2024/7/26163.2.3 简易的易的应用用规格格说明技明技术 面向团队的需求收集法面向团队的需求收集法:(用户与开发者配合)(用户与开发者配合)u初步访谈;初步访谈;u开发者和用户分别写出开发者和用户分别写出“产品需求产品需求”;u开会讨论,各自展示需求列表;开会讨论,各自展示需求列表;u得出一致意见,为需求列表制定小型规格说明;得出一致意见,为需求列表制定小型规格说明;u根据会议成果,起草完整的软件需求规格说明。根据会议成果,起草完整的软件需求规格说明。2024/7/26173.2.4 快速建立快速建立软件原型件原型 快快速速原原型型就就是是快快速速建建立立起起来来的的旨旨在在演演示示目目标标系系统统主主要要功功能能的可运行的程序。的可运行的程序。u第一个特性是快速;第一个特性是快速;u第二个特性是容易修改。第二个特性是容易修改。快速建立能演示目标系统主要功能的程序。快速建立能演示目标系统主要功能的程序。u第四代技术第四代技术u可重用的软件构件可重用的软件构件u形式化规格说明和原型环境形式化规格说明和原型环境软件工程中南大学Central South University2024/7/263.3 分析建模与规格说明3.3.1 分析建模 所谓模型,就是为了理解事物而对事物做出的一种抽所谓模型,就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。简单地说,模型就象,是对事物的一种无歧义的书面描述。简单地说,模型就是某一事物的抽象表示方式。是某一事物的抽象表示方式。为了开发复杂的系统,应从不同角度(模型)抽象出目为了开发复杂的系统,应从不同角度(模型)抽象出目标系统的特性(数据模型、功能模型、行为模型)。标系统的特性(数据模型、功能模型、行为模型)。2024/7/2619n实体联系图:建立数据模型,描述数据对象及数据对象之间的实体联系图:建立数据模型,描述数据对象及数据对象之间的 关系;关系;n数据流图:建立功能模型的基础;数据流图:建立功能模型的基础;n状态转换图:描绘系统的状态和状态间转换的方式状态转换图:描绘系统的状态和状态间转换的方式。3.3.2 软件需求件需求规格格说明明 为了把用户的数据要求清楚、准确的描述出来,为了把用户的数据要求清楚、准确的描述出来,系统分析员通常建立一个概念性的数据模型。包含三系统分析员通常建立一个概念性的数据模型。包含三种相互关联的信息:数据对象、数据对象的属性及数种相互关联的信息:数据对象、数据对象的属性及数据对象彼此间相互连接的关系。据对象彼此间相互连接的关系。2024/7/26202024/7/2621 数数据据对对象象可可以以是是外外部部实实体体、事事物物、行行为为、事事件件、角角色色、单单位位、地地点、结构等。点、结构等。属性属性定义了数据对象的性质。定义了数据对象的性质。联系联系是数据对象之间相互连接的方式。是数据对象之间相互连接的方式。(1)一对一联系()一对一联系(1:1););(2)一对多联系()一对多联系(1:N););(3)多对多联系()多对多联系(M:N)。)。数据对象3.4 实体实体-联系图联系图属性联系2024/7/2622实体实体-联系图联系图教师学生课程学号姓名系年级职务性别职称性别姓名教工号教学成绩学分学时课名课程号图3.2 某校教学管理ER图MN1N2024/7/2623通通常常用用范范式式定定义义消消除除数数据据冗冗余余的的程程度度。第第一一范范式式(1 NF)数数据据冗冗余余度度最最大大,第第五五范范式式(5 NF)数数据据冗冗余余度度最最小小。但但范范式式级级别别越越高高,(1)存存储储同同样样多多数数据据需需要要分分解解成成更更多多张张表表,“存存储储自自身身”的的过过程程越越复复杂杂;(2)数数据据存存储储结结构构与与基基于于问问题题域域的的结结构构间间的的匹匹配配程程度度也也随随之之下下降降,需需求求变变化化时数据稳定性下降;时数据稳定性下降;(3)需要访问的表增多,性能下降。需要访问的表增多,性能下降。(第三范式第三范式)n 第一范式:第一范式:每个属性都是原子值每个属性都是原子值n 第二范式:第二范式:满足第一范式条件,每个关键字属性都仅有关键字决定满足第一范式条件,每个关键字属性都仅有关键字决定n 第第三三范范式式:符符合合第第二二范范式式条条件件,每每个个非非关关键键字字属属性性都都仅仅有有关关键键字字决决定,并且一个非关键字属性值不依赖于另一个非关键字属性值定,并且一个非关键字属性值不依赖于另一个非关键字属性值 3.5 数据规范化数据规范化2024/7/2624第第一一范范式式(1 NF)数数据据冗冗余余度度最最大大,第第五五范范式式(5 NF)数数据据冗冗余余度度最最小小。但但范范式式级级别别越越高高,(1)存存储储同同样样多多数数据据需需要要分分解解成成更更多多张张表表,“存存储储自自身身”的的过过程程越越复复杂杂;(2)数数据据存存储储结结构构与与基基于于问问题题域域的的结结构构间间的的匹匹配配程程度度也也随随之之下下降降,需需求求变变化化时时数数据据稳稳定定性性下下降降;(3)需需要要访访问问的的表表增增多,性能下降。多,性能下降。(第三范式第三范式)n 第一范式:第一范式:每个属性都是原子值每个属性都是原子值n 第二范式:第二范式:满足第一范式条件,每个关键字属性都仅有关键字决定满足第一范式条件,每个关键字属性都仅有关键字决定n 第第三三范范式式:符符合合第第二二范范式式条条件件,每每个个非非关关键键字字属属性性都都仅仅有有关关键键字字决决定,并且一个非关键字属性值不依赖于另一个非关键字属性值定,并且一个非关键字属性值不依赖于另一个非关键字属性值 3.6 状状态转换图2024/7/2625 状状态态是是任任何何可可以以被被观观察察到到的的系系统统行行为为模模式式,一一个个状状态态代代表表系系统统的的一一种行为模式。状态图中定义的状态主要有:初态、中态、中间状态种行为模式。状态图中定义的状态主要有:初态、中态、中间状态 事事件件是是某某个个特特定定时时刻刻发发生生的的事事情情,它它是是引引起起系系统统做做动动作作或或状状态态转转换换的控制信息。的控制信息。3.6 状状态转换图2024/7/2626闲置闲置拨号音拨号音do:响拨号音响拨号音超时超时do:响蜂鸣音响蜂鸣音存储的信息存储的信息do:播放信息播放信息接通中接通中do:试接通试接通振铃振铃do:振铃振铃拨号拨号通话通话断线断线忙音忙音do:响忙音响忙音挂断电话挂断电话挂断电话挂断电话拿起话筒拿起话筒超时超时无效号码无效号码有效号码有效号码超时超时数字数字数字数字占线占线已接通已接通受话人回话受话人回话受话人挂断电话受话人挂断电话信信息息播播完完软件工程中南大学Central South University2024/7/263.7 其他图形工具3.7.1 层次方框次方框图2024/7/2628 例如,描绘一家计算机公司全部产品的数据结构可以用图中的层次方框图表示 层层次次方方框框图图用用树树形形结结构构的的一一系系列列多多层层次次的的矩矩形形框框描描绘绘数数据据的的层层次次结结构构。树树形形结结构构的的顶顶层层是是一一个个单单独独的的矩矩形形框框,它它代代表表完完整整的的数数据据结结构构,下下面面的的各各层层矩矩形形框框代代表表这这个个数数据据的的子子集集,最最底底层层的的各各个个框框代代表表组组成成这这个个数数据的实际数据元素(不能再分割的元素)。据的实际数据元素(不能再分割的元素)。3.7.1 层次方框次方框图2024/7/2629n随随着着结结构构的的精精细细化化,层层次次方方框框图图对对数数据据结结构构的的描描绘绘也也越越来来越越详详细细,这这种种模模式式非非常常适适合合于于需需求求分分析析阶阶段段的需要。的需要。n统统分分析析员员从从对对顶顶层层信信息息的的分分类类开开始始,沿沿图图中中每每条条路路径反复细化,直到确定了数据结构的全部细节为止。径反复细化,直到确定了数据结构的全部细节为止。3.7.2 Warnier图2024/7/2630n 法法国国计计算算机机科科学学家家Warnier提提出出了了表表示示信信息息层层次次结结构构的的另另外外一一种种图图形形工工具具。和和层层次次方方框框图图类类似似,Warnier图图也也用用树树形形结结构构描描绘绘信信息息,但但是是这这种图形工具比层次方框图提供了更丰富的描绘手段。种图形工具比层次方框图提供了更丰富的描绘手段。n 用用Warnier图图可可以以表表明明信信息息的的逻逻辑辑组组织织,也也就就是是说说,它它可可以以指指出出一一类类信信息息或或一一个个信信息息量量是是重重复复出出现现的的,也也可可以以表表示示特特定定信信息息在在某某一一类类信信息息中中是有条件地出现的。是有条件地出现的。n 因因为为重重复复和和条条件件约约束束是是说说明明软软件件处处理理过过程程的的基基础础,所所以以很很容容易易把把Warnier图转变成软件设计的工具。图转变成软件设计的工具。3.7.2 Warnier图2024/7/2631n 花花括括号号:区区分分数数据据结结构构的的层层次次,在在一一个个花花括括号号内内的的所所有有名名字字都都属属于同一类信息。于同一类信息。n 异异或或符符号号:表表明明一一类类信信息息或或一一个个数数据据元元素素在在一一定定条条件件下下才才出出现现,而且在这个符号上、下方的两个名字所代表的数据只能出现一个。而且在这个符号上、下方的两个名字所代表的数据只能出现一个。n 圆圆括括号号:中中间间的的数数字字指指明明了了这这个个名名字字代代表表的的信信息息类类(或或元元素素)在在这个数据结构中重复出现的次数。这个数据结构中重复出现的次数。3.7.3 IPO图2024/7/2632n IPOIPO图图是是输输入入/处处理理/输输出出图图的的简简称称,它它是是美美国国IBMIBM公公司司发发展展完完善善起起来来的的一一种种图图形形工工具具,能能够够方方便便地地描描绘绘输输入入数数据据、数数据据处处理理和和输输出出数数据之间的关系。据之间的关系。n 左框:左框:列出输入数据。列出输入数据。n 中框:中框:列出主要的处理列出主要的处理 (次序暗示了执行的顺序)。(次序暗示了执行的顺序)。n 右框:右框:列出输出数据列出输出数据n 粗大箭头:粗大箭头:指出数据通指出数据通 信的情况。信的情况。用IPO图描绘主文件更新功能3.7.3 IPO图2024/7/2633n 建建议议使使用用一一种种改改进进的的IPO图图(也也称称为为IPO表表),这这种种图图中中包包含含某某些些附附加加信信息息,比比原原始始的的IPO图更有用。图更有用。n 改改进进的的IPO图图中中包包含含的的附附加加信信息息,主主要要有有系系统统名名称称,图图的的作作者者,完完成成本本图图的的日日期期,本本图图描描述述的的模模块块的的名名字字,模模块块在在层层次次图图中中的的编编号号,调调用用本本模模块块的的模模块块清清单单,本本模模块块调调用用的的模模块块的的清清单单,注注释释,以以及及本本模模块块使使用用的局部数据元素等。的局部数据元素等。3.7.3 IPO图2024/7/2634n 在在需需求求分分析析阶阶段段可可以以使使用用IPO图图简简略略地地描描述述数数据据流流图图中中各各个个处处理理的基本算法(着重说明处理功能而不是具体实现功能的算法)。的基本算法(着重说明处理功能而不是具体实现功能的算法)。n 当当然然,在在需需求求分分析析阶阶段段,IPO表表中中的的许许多多附附加加信信息息暂暂时时还还不不具具备备。但但是是,在在软软件件设设计计阶阶段段可可以以进进一一步步补补充充、修修正正这这些些表表,继继续续作作为为设设计计阶阶段段的的文文档档。这这正正是是在在需需求求分分析析阶阶段段用用IPO表表作作为为描描述述基基本本算算法法的工具的重要优点。的工具的重要优点。软件工程中南大学Central South University2024/7/263.8 验证软件需求3.8.1 从哪些方面从哪些方面验证软件需求的正确性件需求的正确性2024/7/2636n 需求分析阶段的工作结果是开发软件系统的重要基础;需求分析阶段的工作结果是开发软件系统的重要基础;n 统计表明,软件系统中统计表明,软件系统中15%15%的错误起源于错误的需求;的错误起源于错误的需求;n 需求的正确性从四个方面验证:需求的正确性从四个方面验证:n 一致性一致性n 完整性完整性n 现实性现实性n 有效性有效性3.8.2 验证软件需求的方法件需求的方法2024/7/2637n 验证需求的一致性验证需求的一致性n 人工技术审查软件系统规格说明书的正确性;n 人工审查的效果难以保证,进行形式化描述,用软件工具验证。n 验证需求的现实性验证需求的现实性n 参照以往开发类似系统的经验,分析用现有的软、硬件技术实现目标系统的可能性。n验证需求的完整性和有效性验证需求的完整性和有效性n 开发原型系统,通过用户试用,提出符合实际的要求。3.8.3 用于需求分析的用于需求分析的软件工具件工具2024/7/2638n用于需求分析的软件应该满足下列要求:用于需求分析的软件应该满足下列要求:n 必须有形式化的语法n 使用这个软件工具能够导出详细的文档n 必须提供分析规格说明书的不一致性和冗余性的手段n 使用这个软件工具后,应该能够改进通信状况nPSL/PSA系统系统nRSL(需求陈述语言):信息集ASSMPASCAL模拟程序nPSL/PSA(问题陈述语言/问题陈述分析程序)系统 2024/7/2639Thanks
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!