软件工程SoftwareEngineeringppt课件

上传人:ni****g 文档编号:569373355 上传时间:2024-07-29 格式:PPT 页数:70 大小:1.95MB
返回 下载 相关 举报
软件工程SoftwareEngineeringppt课件_第1页
第1页 / 共70页
软件工程SoftwareEngineeringppt课件_第2页
第2页 / 共70页
软件工程SoftwareEngineeringppt课件_第3页
第3页 / 共70页
软件工程SoftwareEngineeringppt课件_第4页
第4页 / 共70页
软件工程SoftwareEngineeringppt课件_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《软件工程SoftwareEngineeringppt课件》由会员分享,可在线阅读,更多相关《软件工程SoftwareEngineeringppt课件(70页珍藏版)》请在金锄头文库上搜索。

1、 软件工程软件工程 Software Engineering国防科技大学计算机学院国防科技大学计算机学院 2004.07齐治昌齐治昌齐治昌齐治昌 教授,教授,教授,教授, 谭庆平谭庆平谭庆平谭庆平 教授,教授,教授,教授, 宁洪宁洪宁洪宁洪 教授,教授,教授,教授, 董威董威董威董威 博士博士博士博士敌漓智砖市悍庭岸玉弓韧瘴疙眉瓣鲤毯趟贮敷幼河德妥稽帐腾掇趋券葬掺软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/20241国防科技大学计算机学院第七章第七章 面向数据的分析方法与面向数据的分析方法与 形式化方法形式化方法 前

2、面介绍的面向数据流和面向对象的分析是目前前面介绍的面向数据流和面向对象的分析是目前被广泛采用并具有较好发展潜力的需求分析被广泛采用并具有较好发展潜力的需求分析 方法。方法。然而,在软件开发实践中仍有其它一些方法可供分析然而,在软件开发实践中仍有其它一些方法可供分析人员选择,它们在各自适用的领域也表现出了一定的人员选择,它们在各自适用的领域也表现出了一定的优越性和生命力。这些方法包括面向数据结构的系统优越性和生命力。这些方法包括面向数据结构的系统开发方法开发方法(DSSD)(DSSD), Jackson Jackson系统开发方法系统开发方法(JSD)(JSD)以及以及形式化软件规格说明技术。前

3、两种统称为面向数据的形式化软件规格说明技术。前两种统称为面向数据的需求分析方法。需求分析方法。葬诀围刮涸罗菩孟殴句娇钧淮譬嫉呕豌荒三摊蛾澈枣你绩匀莱秘脚烧漠钉软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/20242国防科技大学计算机学院面向数据的分析方法与形式化方法面向数据的分析方法与形式化方法特点特点o以信息对象及其操作为核心进行需求分析,与面向以信息对象及其操作为核心进行需求分析,与面向对象分析相似。对象分析相似。o复合信息对象具有层次结构,并且可按顺序、选择、复合信息对象具有层次结构,并且可按顺序、选择、重复三种

4、结构分解为成员信息对象。重复三种结构分解为成员信息对象。o提供将层次信息结构映射为程序结构的机制,从而提供将层次信息结构映射为程序结构的机制,从而为软件设计奠定较好的基础。为软件设计奠定较好的基础。第七章第七章 面向数据的分析方法与形式化方法面向数据的分析方法与形式化方法永严捐爵桂饭咨阴算烯钉银力颐卜琳湾业括嗽胯瘸短冰浪捷栈恬迈簿印玄软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/20243国防科技大学计算机学院7.1 7.1 面向数据结构的系统开发方法面向数据结构的系统开发方法oDSSDDSSD起源于七十年代起源于七十

5、年代WarnierWarnier在信息领域分析方面的杰出工作。在信息领域分析方面的杰出工作。o利用顺序、选择、利用顺序、选择、 重复重复 三种结构表示信息的层次分解,并三种结构表示信息的层次分解,并指出可以从信息层次结构推导出程序结构。指出可以从信息层次结构推导出程序结构。oKen Orr Ken Orr 对对WarnierWarnier的工作进行了扩充,引进了数据流和处理的工作进行了扩充,引进了数据流和处理功能,从而发展成为一种需求分析方法。功能,从而发展成为一种需求分析方法。o本节介绍本节介绍 Warnier Warnier图图 DSSD DSSD方法方法 创建实体图、信息过程图、创建实体

6、图、信息过程图、Warnier-OrrWarnier-Orr原型图。原型图。第七章第七章 面向数据的分析方法与形式化方法面向数据的分析方法与形式化方法儡母禽秘倍糖拎嘻镑众躁商阿脱懊誓遮显贞鹃宙肉萍漓氮稽贝耻爪怪欲沁软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/20244国防科技大学计算机学院面向数据结构的系统开发方法面向数据结构的系统开发方法(1)(1)首版首版标题新闻标题新闻 国内新闻国内新闻 本地新闻本地新闻(2)(2)商业金融版商业金融版股市行情股市行情 商业新闻商业新闻 广告广告(3)(3)文化体育版文化体育版

7、文化、体育新闻文化、体育新闻 散文散文 新书评论新书评论7.1面向数据结构的系统开发方法面向数据结构的系统开发方法评嘛拥岸撇砂儿渝蛆亏侧芥漠鹏脐印儿捣凶憎厂莉气娄断助寝若租肩虱碎软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/20245国防科技大学计算机学院7.1.1 Warnier7.1.1 Warnier图图oWarnierWarnier图是一种表示信息层次结图是一种表示信息层次结构的紧致机制。构的紧致机制。oWarnierWarnier图具有树形层次结构,可图具有树形层次结构,可以用另外一些以用另外一些Warnie

8、rWarnier图继续分解图继续分解图中的叶结点。图中的叶结点。例例报纸自动组版系统报纸自动组版系统图,花括符内的信息条目构成顺序图,花括符内的信息条目构成顺序关系,园括符内的数字表示重复次关系,园括符内的数字表示重复次数,如,广告数,如,广告 可以有可以有1 1至至5 5条,股条,股市行情出现市行情出现0 0到到1 1次。次。符号符号“”表示不可兼具的选择关表示不可兼具的选择关系。系。7.1面向数据结构的系统开发方法面向数据结构的系统开发方法桃悟折赘哩独巡脉伍蛊延斩莎捉法植沉而蚊唱林刁牢眷奉丛眯啦圃鸽蛇趁软件工程SoftwareEngineeringppt课件软件工程SoftwareEngi

9、neeringppt课件7/29/20246国防科技大学计算机学院7.1.2 DSSD7.1.2 DSSD方法方法基于基于DSSDDSSD需求分析方法的步骤需求分析方法的步骤(1)(1)标识与应用问题有关的实体。标识与应用问题有关的实体。(2)(2)创建一种类似于数据流图的信息创建一种类似于数据流图的信息过程图。过程图。(3)(3)创建创建Warnier-ErrWarnier-Err原型图。原型图。在详细介绍在详细介绍DSSDDSSD的具体步骤之前,首先用数据流图描的具体步骤之前,首先用数据流图描述一个基于计算机的软件专卖店管理系统,见图述一个基于计算机的软件专卖店管理系统,见图7.2. 7.

10、2. 注意,数据流图并非注意,数据流图并非DSSDDSSD的组成部分。图的组成部分。图7.27.2仅用于说仅用于说明后面将要用到的应用问题实例。明后面将要用到的应用问题实例。7.1面向数据结构的系统开发方法面向数据结构的系统开发方法驾椎羞寓碧瑶禾坟讼苔续佬椒供喊胡枯器辗剐曲原奄扔棋脖累帜肝幼李悟软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/20247国防科技大学计算机学院软件专卖店管理系统的数据流图表示软件专卖店管理系统的数据流图表示7.1面向数据结构的系统开发方法面向数据结构的系统开发方法泌猪话辞纷蚜巳耿眼脏冰惠潞鸽

11、停臻弦片划帅雇叁币稠擂诵腆痴娇舰掷石软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/20248国防科技大学计算机学院1. 1. 标识实体图标识实体图在在DSSDDSSD中,与应用问题有关的实体及它们之间的信息中,与应用问题有关的实体及它们之间的信息流用实体图表示。它与面向对象分析中流用实体图表示。它与面向对象分析中 的对象消息的对象消息传递图有相似之处,因此,识别实体和信息流的方法传递图有相似之处,因此,识别实体和信息流的方法也类似于面向对象分析也类似于面向对象分析 。7.1面向数据结构的系统开发方法面向数据结构的系统开

12、发方法阁熔庸仕沟埋盎随肉庞川盆瞬怂具宠弗怔座杉糙猿丢均协皱坏维金浙拼匙软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/20249国防科技大学计算机学院标识实体图标识实体图在在DSSDDSSD中,分析人员可通过对下述问题的回答来生成中,分析人员可通过对下述问题的回答来生成实体图实体图(1)(1)软件系统必须处理哪些信息项软件系统必须处理哪些信息项? ?(2)(2)信息项的生产者和消费者分别是哪些实体信息项的生产者和消费者分别是哪些实体? ?o上述问题的有关实体是:客户、订单处理员、邮寄上述问题的有关实体是:客户、订单处理员

13、、邮寄员、银行、结算员、管理员和邮局,见图员、银行、结算员、管理员和邮局,见图7. 3(a)7. 3(a)。订单处理员的实体图如图订单处理员的实体图如图7. 3(b)7. 3(b)所示。所示。o当所有实体的实体图都构造完成后,将它们综合起当所有实体的实体图都构造完成后,将它们综合起来便形成整个目标软件系统的实体图,见图来便形成整个目标软件系统的实体图,见图7. 47. 4。 7.1面向数据结构的系统开发方法面向数据结构的系统开发方法点竖炬乌卜孪读茸需傻搪漫豁犬缠婉牧彩虑千柯圣秃筑姑与企雨惯试第骗软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineerin

14、gppt课件7/29/202410国防科技大学计算机学院标识实体图标识实体图7.1面向数据结构的系统开发方法面向数据结构的系统开发方法搔瓢椰题灶林浇腮放京缴馋窿悬朽傣刑君主占政求裂梗唐炎肿写宗万肩愿软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202411国防科技大学计算机学院标识实体图标识实体图7.1面向数据结构的系统开发方法面向数据结构的系统开发方法待剐庇肚睡趾咖邪喜得秩素拯敬祷妈瞄紊桂无殊蚜女闲庭兹配库惠痞氟呵软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringp

15、pt课件7/29/202412国防科技大学计算机学院2. 2. 创建信息创建信息过程图过程图oDSSDDSSD中的信息中的信息过程图与数过程图与数据流图的作用类似,都是用据流图的作用类似,都是用来表示信息流及其处理功能来表示信息流及其处理功能的。的。o信信 息息过程图从每个实体过程图从每个实体的输出信息流开始,逆向寻的输出信息流开始,逆向寻找用于生成该输出信息的输找用于生成该输出信息的输入信息流及相入信息流及相 应的处理功能。应的处理功能。7.1面向数据结构的系统开发方法面向数据结构的系统开发方法捎骄囚另撬冷藩朗蛙峭逮牺竿弥站恬硼谎碎弦陷她淋夫势颂黔梯瘟椽莉液软件工程SoftwareEngin

16、eeringppt课件软件工程SoftwareEngineeringppt课件7/29/202413国防科技大学计算机学院3. 3. 创建创建Warnier-OrrWarnier-Orr原型图原型图DSSDDSSD方法方法o分析人员以表格形式给出主要的输出信息元素分析人员以表格形式给出主要的输出信息元素o精确地表示为精确地表示为Warnier-OrrWarnier-Orr图图7.1面向数据结构的系统开发方法面向数据结构的系统开发方法映承退虞奇魄冠刁榔琢非勘李噪华穆里弦骆衙危醚哆织纵缔榔酉绪出农咎软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineerin

17、gppt课件7/29/202414国防科技大学计算机学院创建创建Warnier-OrrWarnier-Orr原型图原型图7.1面向数据结构的系统开发方法面向数据结构的系统开发方法埂慕邯督况筒胰建强蝗荫彼骂住讨淮言阉呻皖隘束并陈蓝禄榴侥支焉窗阮软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202415国防科技大学计算机学院7.2 Jackson7.2 Jackson系统开发方法系统开发方法o七十年代七十年代JacksonJackson提出了软件工程领域中著名的提出了软件工程领域中著名的JacksonJackson方法,当

18、时它只用于软件设计。方法,当时它只用于软件设计。o八十年代初,八十年代初,JacksonJackson又对它进行了多方面的扩充和又对它进行了多方面的扩充和完善,最终发展成为一种需求分析方法。完善,最终发展成为一种需求分析方法。oJacksonJackson方法的核心思想是:方法的核心思想是: 根据作用于数据的行为序列的结构根据作用于数据的行为序列的结构( (顺序、选择与顺序、选择与重复重复) ),建立目标软件系统的模型,然后在软件设计,建立目标软件系统的模型,然后在软件设计阶段将模型演化为相应的程序结构。阶段将模型演化为相应的程序结构。第七章第七章 面向数据的分析方法与形式化方法面向数据的分析

19、方法与形式化方法氧恢饲忿吵硅庐孪缉叭遥巫谱释牵梗岿检渡单镐岭碘冲扳尊夺另典转武拨软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202416国防科技大学计算机学院JacksonJackson系统开发方法系统开发方法JacksonJackson方法在需求分析阶段的主要步骤方法在需求分析阶段的主要步骤(1)(1)标识实体与行为。标识实体与行为。(2)(2)生成实体结构图。生成实体结构图。(3)(3)创建软件系统模型。创建软件系统模型。7.2Jackson系统开发方法系统开发方法驮读恤吸谣颂魂抛悔栽雀呵摧屠梳戴先辊吗碴射扔凉峻

20、嫌徐志饰荤赴瞪及软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202417国防科技大学计算机学院7.2.1 7.2.1 标识实体与行为标识实体与行为oJacksonJackson方法针对初步需求分析形成的用户需求描述方法针对初步需求分析形成的用户需求描述进行语法分析。进行语法分析。o名词及名词短语是潜在的实体,相关的动词构成实名词及名词短语是潜在的实体,相关的动词构成实体的潜在行为。体的潜在行为。o分析人员根据应用问题的边界及自己的理解,决定分析人员根据应用问题的边界及自己的理解,决定对潜在实体和行为的取舍。对潜在实体

21、和行为的取舍。7.2Jackson系统开发方法系统开发方法执疽艳襟助腐屈馏镍麦绷砚孟适粒晃膳养颊用精盏录汞滑阮翰百距绷罪六软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202418国防科技大学计算机学院标识实体与行为标识实体与行为例例7. 17. 1o 某大学决定将分处两地的校园用直达交通车连接起某大学决定将分处两地的校园用直达交通车连接起来。在每个校园设一个站,站内配置一个按钮。学生来。在每个校园设一个站,站内配置一个按钮。学生通过按钮请求交通车搭载。交通车应尽快满足学生的通过按钮请求交通车搭载。交通车应尽快满足学生

22、的请求。空闲时,交通车停在请求。空闲时,交通车停在 任意站等候。任意站等候。o 分析人员可从分析人员可从“大学大学”、“校园校园”、“交通车交通车”、“车站车站”、“学生学生”、“按钮按钮”等名词中选取与应用等名词中选取与应用问题相关实体、行为、状态。问题相关实体、行为、状态。相关的实体:相关的实体:“交通车交通车”、“车站车站”、“按钮按钮”。相关的行为:相关的行为:“到站到站”、“离站离站”、“按键按键”。“交通车交通车”的状态:的状态:“等候等候”和和“运行运行”。7.2Jackson系统开发方法系统开发方法臻蓑泡词怒挣涉烛绘怒揖滞舞茹甚沙朗柔俏庐烂猴跨言下仪颖悔写磋逼休软件工程Soft

23、wareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202419国防科技大学计算机学院7.2.2 7.2.2 生成实体结构图生成实体结构图 在在JacksonJackson方法中,实体结构是指实体在时间坐方法中,实体结构是指实体在时间坐标系中的行为序列。这种序列以顺序、选择标系中的行为序列。这种序列以顺序、选择 和重复和重复三种结构进行复合。三种结构进行复合。 Jackson Jackson给出的实体结构图示机制如图给出的实体结构图示机制如图7. 77. 7所示。所示。其中的子结点其中的子结点 既可以是行为,也可以是子实体。在既可以是行为,

24、也可以是子实体。在后一情况下,子实体应该继续分解,不能作为实体结后一情况下,子实体应该继续分解,不能作为实体结构图的叶结点。构图的叶结点。7.2Jackson系统开发方法系统开发方法叔某敌迄暴镊累勾貉犊劳杆痉妻脑客漱奇韦瓣妻习湿峰令程态谋魔氧挣料软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202420国防科技大学计算机学院实体结构图的图形记号实体结构图的图形记号7.2Jackson系统开发方法系统开发方法舜诬寄赠劳袒评搽佛漏唬归咖蒂汇裸辽士警嘎单哀矮蝶顷永冒递座憾咕抒软件工程SoftwareEngineeringpp

25、t课件软件工程SoftwareEngineeringppt课件7/29/202421国防科技大学计算机学院实体结构图的图形记号实体结构图的图形记号7.2Jackson系统开发方法系统开发方法住循叔粒色侄鞍魏毡跋循负饥久渣搭烤并湖火抉堂铬身过沪槐荫现演喀催软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202422国防科技大学计算机学院7.2.3 7.2.3 创建软件系统模型创建软件系统模型 为了创建目标软件系统的模型,为了创建目标软件系统的模型,JacksonJackson方法要方法要求分析人员首先用图求分析人员首先用图

26、7.97.9所示的图形记号建立系统规所示的图形记号建立系统规格说明图格说明图(System Specification Diagram, SSD)(System Specification Diagram, SSD)。o“数据流数据流”(Data Stream)”(Data Stream)记号表示现实世界中的过记号表示现实世界中的过程或装置不断地向目标软件系统中的相应过程发送数程或装置不断地向目标软件系统中的相应过程发送数据,后者以先进据,后者以先进 先出方式消费数据。先出方式消费数据。o两者之间的缓冲区容量是无限的。两者之间的缓冲区容量是无限的。o“状态向量状态向量”(State Vecto

27、r)”(State Vector)记号表示在两者之间记号表示在两者之间存在状态向量,发送方设置状态向量,接收方读取状存在状态向量,发送方设置状态向量,接收方读取状态向量。态向量。7.2Jackson系统开发方法系统开发方法踏谷参恋门伍甩瞎别糕脉卧门广脯亦辜萝议竖矿掷剧盟恢舀隋膘烩者哄澳软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202423国防科技大学计算机学院创建软件系统模型创建软件系统模型o站内按钮和目标软件中的按站内按钮和目标软件中的按钮处理过程之间以钮处理过程之间以“数据流数据流” ” 方式连接方式连接o交通

28、车和交通车控制过程之交通车和交通车控制过程之间则应以间则应以“状态向量状态向量”方式方式连接。连接。7.2Jackson系统开发方法系统开发方法赚砚崇柞颖谍琉睬坑调帅诺链光遁陆亭咖冰滔拙东濒柳娜吼猿昨擒后慕戏软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202424国防科技大学计算机学院系统规格说明图示例系统规格说明图示例 利用利用JacksonJackson给出的给出的“结构结构正文正文” (Structure Text)” (Structure Text)将将实体结构图和系实体结构图和系 统规格说明统规格说明图综合

29、起来,并针对目标软图综合起来,并针对目标软件系统中的每一过程用正文件系统中的每一过程用正文方式给出更为精确、更为详方式给出更为精确、更为详尽的描述。尽的描述。7.2Jackson系统开发方法系统开发方法甜蛊漫臼休章尤吩霞锋扣吭蔡们孙邹霹辣剩滦差盎痕鞍菱车触舀骡浸涅吸软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202425国防科技大学计算机学院正文描述正文描述BUTTONBUTTON1 1 read ButtonDown read ButtonDown信号信号 PUSH PUSHBODY itr while Butto

30、nDown BODY itr while ButtonDown 循环结构循环结构 PUSH PUSH 按键处理按键处理 read ButtonDown read ButtonDown信号信号 PUSH PUSHBODY endBODY endBOTTONBOTTON1 end1 end7.2Jackson系统开发方法系统开发方法浓排钱阑豆甲杖锋躁垒洪淄恨桨选宿邑屑俯耶吨陨了荫拇挝悸磋偿爹细掳软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202426国防科技大学计算机学院正文描述正文描述SHUTTLESHUTTLE1 s

31、eq 1 seq 顺序结构顺序结构 read read 状态向量状态向量 WAIT WAITBODY1 itr while Wait(1) BODY1 itr while Wait(1) 如果状态向量中等待如果状态向量中等待 标志置位,则循环等待标志置位,则循环等待 read read 状态向量状态向量 WAIT WAITBODY1 endBODY1 end Leave(1) Leave(1) 控制交通车离开站控制交通车离开站1 1 TRANSIT TRANSITBODY1 itr while Transit(1) BODY1 itr while Transit(1) 如果状态向量中运行标志如

32、果状态向量中运行标志 置位,则一直运行置位,则一直运行 read read 状态向量状态向量 TRANSIT TRANSITBODY1 endBODY1 end 7.2Jackson系统开发方法系统开发方法腻貌祷豁慌绦搏尝鸳院钡欢谍夷库矗期睫恨佬拨敌码柒穿邀糜然梁碑丽磷软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202427国防科技大学计算机学院正文描述正文描述SHUTTLESHUTTLEBODY1 itr BODY1 itr 往返重复运行往返重复运行 STATION seq STATION seq Arrive(i

33、) Arrive(i) 控制交通车减速,准备停靠站控制交通车减速,准备停靠站I I WAIT WAITBODY itr while Wait(i) BODY itr while Wait(i) 如果状态向量中在站如果状态向量中在站i i的的 等待标志置位,则循环等待等待标志置位,则循环等待 read read 状态向量状态向量 WAIT WAITBODY end BODY end Leave(i) Leave(i) TRANSIT TRANSITBODY itr while Transit(i)BODY itr while Transit(i) read read 状态向量状态向量 TRANS

34、IT TRANSITBODY endBODY end STATION end STATION end SHUTTLE SHUTTLEBODY1 endBODY1 end Arrive(1) Arrive(1)SHUTTLESHUTTLE1 end1 end7.2Jackson系统开发方法系统开发方法横账仙喂是耕畴温涟杭爷牛爪羹群嘲烧闺要葬截姬睫奋尼谈十态钓落歌膳软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202428国防科技大学计算机学院正文描述正文描述 Wait(i) Transit(i) (i=1,2) Wait

35、(i) Transit(i) (i=1,2) 现实世界的交通车现实世界的交通车 SHUTTLE SHUTTLE0 0 向软件过程向软件过程 SHUTTLESHUTTLE1 1 发出的状态向量的一部分。发出的状态向量的一部分。7.2Jackson系统开发方法系统开发方法戚塘若彭院免以察衔邵沟叫盲钒主仅寸谊脱观塌皮胰杂拙稻秋粤怀易嗣摇软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202429国防科技大学计算机学院结构正文的结构图结构正文的结构图7.2Jackson系统开发方法系统开发方法矢宣啊澡砚苏泉皇辆铸丸窍晨铁送撰播娶

36、效妒狭壳炯妹栗瞥族滚示裔基猜软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202430国防科技大学计算机学院7.3 7.3 形式化方法形式化方法o前面对数据流图、面向对象的需求表示图等语言机前面对数据流图、面向对象的需求表示图等语言机制都未给出数学意义上严格的语法和语义说明。因此,制都未给出数学意义上严格的语法和语义说明。因此,这些需求模型都或多或少地带有不精确性、不完全性,这些需求模型都或多或少地带有不精确性、不完全性,甚至不一致性。甚至不一致性。o许多软件开发实践希望借助于形式化方法严格地定许多软件开发实践希望借助

37、于形式化方法严格地定义用户需求,并通过数学推演确保需求定义的一致性义用户需求,并通过数学推演确保需求定义的一致性和完全性。和完全性。o对于正确性至关重要的实时嵌入式系统关键部件的对于正确性至关重要的实时嵌入式系统关键部件的软件开发,形式化方法更是不可或缺的。软件开发,形式化方法更是不可或缺的。第七章第七章 面向数据的分析方法与形式化方法面向数据的分析方法与形式化方法兆谦嘶不梗战示搔缔奋韦蓟岩糜蛇站痴醇央裔候仓盂她旗沥返刽杭化醒勺软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202431国防科技大学计算机学院形式化方法形

38、式化方法o主要思想主要思想oZ Z语言语言 形式化规格说明语言形式化规格说明语言o简单实时操作系统内核的形式化需求描述方法。简单实时操作系统内核的形式化需求描述方法。o形式化方法的现状和发展趋势。形式化方法的现状和发展趋势。7.3形式化方法形式化方法迹接汽美怪展盐丝易螟骑南勋生沙伦主徒捷苍纺癌诽哼腑衍恒盐娘烫荚衰软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202432国防科技大学计算机学院7.3.1 7.3.1 主要思想主要思想o形式化需求分析方法的主要思想是利用形式化规格形式化需求分析方法的主要思想是利用形式化规格

39、说明语言定义用户需求,并采用数学推演的方法证明说明语言定义用户需求,并采用数学推演的方法证明需求定义的性质,例如一致性、实时系统的活性需求定义的性质,例如一致性、实时系统的活性(Liveness)(Liveness)和公平性和公平性(Fairness)(Fairness)等。对于复杂的应用等。对于复杂的应用问题,尽管无法验证整个需求定义的完全性,但仍有问题,尽管无法验证整个需求定义的完全性,但仍有可能为避免某些要点的疏漏而建立数学断言,然后予可能为避免某些要点的疏漏而建立数学断言,然后予以形式证明或反驳。以形式证明或反驳。o形式化方法是克服需求分析阶段不精确性、不一致形式化方法是克服需求分析阶

40、段不精确性、不一致性和不完全性的有效途径。性和不完全性的有效途径。7.3形式化方法形式化方法窜俯仿咐舷决宙康严纂隔刁蕉霸拟隅肝鹿磊洗谦贯铱砸鸳浇澎镜每吸洁些软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202433国防科技大学计算机学院主要思想主要思想形式化规格说明语言的组成形式化规格说明语言的组成 语法语法 语义语义 数学推演规则数学推演规则 规则不仅说明了某些数学性质在软件规格说明中规则不仅说明了某些数学性质在软件规格说明中是否成立,也说明了软件实现与软件规格说明之间的是否成立,也说明了软件实现与软件规格说明之间的

41、关系。关系。7.3形式化方法形式化方法趁鉴团岸涅筒讶幻妖托撅几掣舷遮篙他钻独灶第道州施帕壤胁斯拨盐刃货软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202434国防科技大学计算机学院规格说明语言的语法规格说明语言的语法规格说明语言的语法规格说明语言的语法 集合论集合论 数理逻辑数理逻辑 代数学代数学Z Z语言语言 集合论集合论 属于属于 不属于不属于 子集关系子集关系 集合交集合交 集合并集合并 函数符号函数符号逻辑符号逻辑符号 任意任意 存在存在 非非 合取合取 析取析取 大多数宽谱语言包括,高级程序设计语言的控制流

42、大多数宽谱语言包括,高级程序设计语言的控制流机制,如顺序、条件、机制,如顺序、条件、 循环等等。循环等等。7.3形式化方法形式化方法融宋含系涕公伤啊枷伤矩溉蹈惟杨遇化彻扇弘韩辱品钎肩曙甭挞亢劲俱倔软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202435国防科技大学计算机学院规格说明语言的语义规格说明语言的语义规格说明语言的语义规格说明语言的语义 所有语法符号含意的数学描述。所有语法符号含意的数学描述。经典语义定义方法:经典语义定义方法: 指称语义指称语义 代数语义代数语义 操作语义操作语义7.3形式化方法形式化方法勾

43、扒奄类欺潜镇扮议匈竹铡占陶渗厌盛畸收寄凰踌秀弃粤辫昏媚湖掠羽臂软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202436国防科技大学计算机学院规格说明语言的语义规格说明语言的语义o指称语义指称语义 数学地确定规格说明语言的语义域,将所有语法成数学地确定规格说明语言的语义域,将所有语法成 分映射为语义域中的对象或语义域上的函数。分映射为语义域中的对象或语义域上的函数。o代数语义代数语义 将软件规格说明中的某些结构化设施将软件规格说明中的某些结构化设施( (例如抽象数例如抽象数 据类型据类型) )解释为多类代数,通过代数工

44、具解释为多类代数,通过代数工具( (例如范畴例如范畴 论论) ) 研究规格说明的代数性质、模块组装运算以及研究规格说明的代数性质、模块组装运算以及 软件设计相对于规格说明的实现关系。软件设计相对于规格说明的实现关系。o操作语义操作语义 形式地定义抽象机,将规格说明的语义解释为抽象形式地定义抽象机,将规格说明的语义解释为抽象 机的动作序列。机的动作序列。7.3形式化方法形式化方法泰鸟镣赶馋炬厅菏轻重尊严诲溪蒙港级若惦失惮忽喧屁锨遇沏灶孩氢霜败软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202437国防科技大学计算机学院

45、形式化规格说明语言的推演规则形式化规格说明语言的推演规则形式化规格说明语言的推演规则形式化规格说明语言的推演规则o与数学基础和语义定义方法密切相关。与数学基础和语义定义方法密切相关。o以集合论和谓词逻辑为基础的以集合论和谓词逻辑为基础的Z Z语言就包含了原数学语言就包含了原数学系统中有关的规则。系统中有关的规则。o规则必须在规格说明语言的语义系统中可证。规则必须在规格说明语言的语义系统中可证。o规则是派生的语义定义,它们可以直接应用于软件规则是派生的语义定义,它们可以直接应用于软件规格说明的性质证明并简化推演过程。规格说明的性质证明并简化推演过程。7.3形式化方法形式化方法霄啮钎尘氯佳苇付丸杉

46、萤栗孽诉酬檬劳棒皋掘烘捡笼森隙挟风歪内酷救高软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202438国防科技大学计算机学院规则:规则:ifthenelseifthenelse结构的表示形式结构的表示形式Eval(eEval(e,e)e)表示表达式表示表达式e e可可计值为计值为ee。第一条规则的直观意义第一条规则的直观意义如果如果 e e0 0能计值为能计值为 TRUE TRUE,e e1 1能计值能计值为为 e e1 1,则表达式,则表达式 if eif e0 0 then ethen e1 1 else e el

47、se e2 2 可计值为可计值为e e1 1. . 7.3形式化方法形式化方法绥劳九混濒榴萨丝封绩沤操茧涩更兢窜抚浓唐穿舆害缚焦宁削衬隧墩伪铅软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202439国防科技大学计算机学院7.3.2 7.3.2 形式化规格说明语言形式化规格说明语言用形式化规格说明语言描述用户需求用形式化规格说明语言描述用户需求oVDMVDM的的MetaMeta,CSPCSP和和Z Z是具有代表性的形式化规格是具有代表性的形式化规格说明语言说明语言 。oZ Z语言的语法设施及其语义说明语言的语法设施及其

48、语义说明o实例及需求描述过程实例及需求描述过程7.3形式化方法形式化方法蒸郴淳抱筷悲显掠赫荫卓灌屠控亨酿妮哉勇拔告颓特喳叼离怕速扇抨帐箱软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202440国防科技大学计算机学院1. 1. 基本语法成分基本语法成分 Z Z的基本语法成份主要取自带类型的集合论和的基本语法成份主要取自带类型的集合论和一阶逻辑。一阶逻辑。7.3形式化方法形式化方法陶谜煤饶兑菲颈惦依旗噪到锈拘诽雕护天绪迎翰彼秋盼法邀抗瘤啦碗袁封软件工程SoftwareEngineeringppt课件软件工程Softwar

49、eEngineeringppt课件7/29/202441国防科技大学计算机学院基本语法成分基本语法成分7.3形式化方法形式化方法坷纯驴左氯佩吾厅扼极杀垄褥口珐腐傲哺痰榜出柠豌舵麻丧惜泊要瓦彰蚊软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202442国防科技大学计算机学院2. 2. 结构化设施结构化设施框架框架(Schema)(Schema)框架框架 变元说明变元说明 用一阶逻辑公式表示的变元取值约束条件用一阶逻辑公式表示的变元取值约束条件语法形式语法形式 框架名称框架名称 变元说明变元说明 约束条件约束条件 全局常元

50、和函数的语法形式全局常元和函数的语法形式 常元及函数说明常元及函数说明 ( (说明常元及函数的类型说明常元及函数的类型) ) 约束条件约束条件 ( (说明常元及函数的取值约束说明常元及函数的取值约束) )7.3形式化方法形式化方法罕僧肾慎排史穷之狼辽轰集志酝卸盆眨涤珠椒废汞怂绊屡狙琢抡游肪装淳软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202443国防科技大学计算机学院结构化设施结构化设施框架框架(Schema)(Schema)o记号记号SS 如果框架如果框架S S中的所有变元为中的所有变元为v v1 1,v vm

51、m,所有的约束条件为,所有的约束条件为 P P,P Pn n,那么框架,那么框架SS中的变元为中的变元为v v,v vm m, v v1 1,, v vm m, 约束条件为约束条件为P P1 1,,P,Pn n,PP1 1,PPn n,其中,其中v vi i与与vvi i的类型相同,的类型相同,PPj j是将是将P Pj j中所有中所有v vi i的出现替换为的出现替换为vvi i得到的得到的约束条件约束条件( (i=1,i=1,,m, j=1, m, j=1, ,n n) )。o单引号单引号“”“” 用来区分操作发生前、后的变元取值。用来区分操作发生前、后的变元取值。o记号记号 s s =

52、= s s 表示在操作发生前、后框架表示在操作发生前、后框架S S中的所有成员不发生变化中的所有成员不发生变化( (变元变元取值不变,约束条件也保持相同的真假值取值不变,约束条件也保持相同的真假值) )。7.3形式化方法形式化方法袜祁潞婶乘卿耳充淡俯哈白辐崖冕终肪凳川歉软变铁监倪行兼圭数梢粱狼软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202444国防科技大学计算机学院7.3.3 7.3.3 形式化需求描述形式化需求描述o例例 实时操作系统内核实时操作系统内核o用用Z Z语言描述软件需求语言描述软件需求 系统状态的表

53、示系统状态的表示 普通进程调度表示普通进程调度表示 中断处理进程调度表示中断处理进程调度表示7.3形式化方法形式化方法芒棚艳圈披檬栈业缺翼姨固撑维璃锌枯光镣疡查置弘吓等怨霖牛惜褪游韧软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202445国防科技大学计算机学院1. 1. 实例描述实例描述实时操作系统内核实时操作系统内核实时操作系统内核的主要任务实时操作系统内核的主要任务 提供进程调度和中断处理机制。提供进程调度和中断处理机制。o每个进程都有就绪标志,系统从已就绪进程中选择一个作为每个进程都有就绪标志,系统从已就绪进程

54、中选择一个作为当前进程。当前进程。o当没有中断请求时,系统运行当前进程直至该进程显式释放当没有中断请求时,系统运行当前进程直至该进程显式释放处理器,然后系统再选取当前进程。处理器,然后系统再选取当前进程。o当中断发生时,系统根据优先级高低选择最紧急的中断并运当中断发生时,系统根据优先级高低选择最紧急的中断并运行相应的中断处理进程。行相应的中断处理进程。o优先级高的中断可以打断优先级低的中断。优先级高的中断可以打断优先级低的中断。o普通进程可将自己登录为某一优先级的中断处理进程。普通进程可将自己登录为某一优先级的中断处理进程。7.3形式化方法形式化方法蛋本帛席浸为捏讣悄注墩屿炒月唐终段俯蜗禁社丈

55、咽啮宜倚觅甲欢葛股柳软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202446国防科技大学计算机学院2. 2. 系统状态的表示系统状态的表示o 引进类型引进类型PIDPID表示所有进程标识符的集合。表示所有进程标识符的集合。o 虚构的进程标识符虚构的进程标识符nonenone用来表示处理器的空闲状态。用来表示处理器的空闲状态。PIDPID表示不是表示不是nonenone的所有进程标识符:的所有进程标识符: none: PID none: PID PID PID1 1: P PID P PID PID PID1 1=PI

56、D=PIDnonenone PIDPID1 1是除是除nonenone外的所外的所 有进程标识符的集合有进程标识符的集合7.3形式化方法形式化方法贝眨尸农堡壳伤综恕煤盘痴遁幸晃坛肌累孟虹澡滤个诸涸斗瞻恐蹬摇迹姓软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202447国防科技大学计算机学院系统状态的表示系统状态的表示进程调度机制框架进程调度机制框架Scheduler Scheduler * *框架名称为框架名称为Scheduler*Scheduler*process: P PIDprocess: P PID1 1 *

57、*变元变元process,readyprocess,ready和和 current current的说明的说明* *ready: P PIDready: P PID1 1current: PID current: PID readyreadyprocess process * *约束条件约束条件* *currentprocess currentprocess nonenone7.3形式化方法形式化方法汲驰猜冻顽娟佰礁她哄轿函阮锚筛留挣耽锌萧葵貌汹菩壁祭唯诡争岸咬葡软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/20244

58、8国防科技大学计算机学院系统状态的表示系统状态的表示o process表示由进程调度机制控制的所有进程的集表示由进程调度机制控制的所有进程的集合。合。o ready是所有就绪进程的集合。是所有就绪进程的集合。o current是当前进程。是当前进程。o 框架框架SchedulerScheduler的约束条件的约束条件readyreadyprocessprocess表示就表示就绪进程必须是可调度的进程。绪进程必须是可调度的进程。o 约束条件约束条件currentprocess currentprocess nonenone表示当前表示当前进程要么是可调度进程,要么是进程要么是可调度进程,要么是n

59、one. none. 7.3形式化方法形式化方法纪血美撩改久拽尽糊并摘凋示丑荚苯傀铱咸便幅得万疡渠煮霸频禁怜涸鞭软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202449国防科技大学计算机学院系统状态的表示系统状态的表示定义中断优先级的有穷集合定义中断优先级的有穷集合ILEVELILEVEL ILEVEL: FN ILEVEL: FN 0 0 ILEVEL ILEVEL ILEVELILEVEL是除是除0 0之外的自然数的有穷集之外的自然数的有穷集 不是中断处理进程的进程称为普通进程,普通进程的优先不是中断处理进程的进

60、程称为普通进程,普通进程的优先级定义为级定义为0 0。7.3形式化方法形式化方法渐筑福闺至瑶卒惦玫豢钳火赁组膀淋油搬燥收伪脏讨棺艳圣哄渤潍圃睬惟软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202450国防科技大学计算机学院系统状态的表示系统状态的表示中断处理机制的描述中断处理机制的描述ohandlerhandler是内射函数,是内射函数, 所以两个优先级不能共用同一中断处理进程。所以两个优先级不能共用同一中断处理进程。o中断可以是活跃的,并且不是未屏蔽的中断可以是活跃的,并且不是未屏蔽的, ,因为它可以在先前发生,而

61、后因为它可以在先前发生,而后被更高优先级的中断打断并屏蔽。被更高优先级的中断打断并屏蔽。o集合集合activeactive不仅包含当前正被处理的中断优先级,也包括那些先前发生,不仅包含当前正被处理的中断优先级,也包括那些先前发生,而后又被打断的中断优。而后又被打断的中断优。7.3形式化方法形式化方法苏茨塑岸墒氦泼闯洲涸颧膘挤教帅狞连洼董椽棍曳缝钞潍澳丫熊啪蔡荚耪软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202451国防科技大学计算机学院系统状态的表示系统状态的表示o实时操作系统的内核由进程实时操作系统的内核由进程调

62、度和中断处理机制综合构调度和中断处理机制综合构成成. .oKernelKernel包含了包含了SchedulerScheduler和和IntHandlerIntHandler的变元说明和约的变元说明和约束条件。束条件。o新加的约束条件说明普通进新加的约束条件说明普通进程不能兼为中断处理进程,程不能兼为中断处理进程,反之亦然。反之亦然。o系统状态应由正在运行的进系统状态应由正在运行的进程及其优先级构成。程及其优先级构成。7.3形式化方法形式化方法曰巧赏鳖虐尖鸽裳当套伯淡吉达尺相考减高幕脖燕撰厘嗽棘寅藐堤匆敬误软件工程SoftwareEngineeringppt课件软件工程SoftwareEngi

63、neeringppt课件7/29/202452国防科技大学计算机学院系统状态的表示系统状态的表示o系统的调度策略系统的调度策略7.3形式化方法形式化方法徒戈列尺贩焕咆侣惯捉惊峡峦漫翔配汞语舰闭簿湃腹念透低巳演捏键豹胰软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202453国防科技大学计算机学院3. 3. 普通进程调度普通进程调度普通进程调度操作普通进程调度操作o启动普通进程启动普通进程(Start)(Start)o设置或清除就绪标志设置或清除就绪标志(SetReady)(SetReady)o控制进程临时或永久性让出处

64、理器控制进程临时或永久性让出处理器(Detach(Detach与与Stop)Stop)o当处理器空闲时选择新的进程运行当处理器空闲时选择新的进程运行(Select)(Select)7.3形式化方法形式化方法据槛缅嘉嗜捏惶党伺兑洁咽嫌午讫镇咙悸形国癸律邻绵槛邀驳赔序碟终蔗软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202454国防科技大学计算机学院普通进程调度普通进程调度启动普通进程启动普通进程(Start)(Start)7.3形式化方法形式化方法咱涎良头胖微漾炕部锗俭纲预郸美阉效捏菲夺傈拒翟贤脖揍饰趣莱扰滇统软件工程

65、SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202455国防科技大学计算机学院普通进程调度普通进程调度当处理器空闲时选择新的进程运行当处理器空闲时选择新的进程运行(Select)(Select)7.3形式化方法形式化方法助蚕函郑逆洪郭品盖弓沥旱绸骄晋禾裂再偷种嘲碑攫噬以质吃忽孙壳羞苏软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202456国防科技大学计算机学院普通进程调度普通进程调度o控制进程临时或永久性让出处理器控制进程临时或永久性让出处理器(D

66、etach(Detach与与Stop)Stop)7.3形式化方法形式化方法码戒秉谬锣焙转腋拂码钻爵糊增杏稳梦酥您眶秉灼凝宰篆隔隔戚了楼藏恩软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202457国防科技大学计算机学院普通进程调度普通进程调度StopStop操作将永久性终止当前进程的运行操作将永久性终止当前进程的运行StopStop7.3形式化方法形式化方法景祁惩霍皆出袱毅弟薛铀檄宾生奋钱唁武同传犀格旗潭苔氛盂弱旧习牙蒜软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineerin

67、gppt课件7/29/202458国防科技大学计算机学院普通进程调度普通进程调度设置或清除就绪标志设置或清除就绪标志(SetReady)(SetReady)7.3形式化方法形式化方法钠妄腾烯昨炙狼礁墙嚣聊钩起垮园声念凋嫉儒蒙绑周趾闽炙枯犬对硫甫奉软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202459国防科技大学计算机学院4. 4. 中断处理进程调度中断处理进程调度中断处理进程调度操作中断处理进程调度操作o将普通进程登录为中断处理进程将普通进程登录为中断处理进程IntEnterIntEntero中断屏蔽的设置与清除中

68、断屏蔽的设置与清除MaskMasko中断响应中断响应InterruptInterrupto中断处理完成后相应的中断处理程序挂起中断处理完成后相应的中断处理程序挂起IntWaitIntWaito将自身降格为普通进程将自身降格为普通进程IntExitIntExit7.3形式化方法形式化方法浪虚邦喊荔焉损拓午侧往汛骏峰晋当玉客竹寿常向催豫母坍督颂少葵捎淹软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202460国防科技大学计算机学院中断处理进程调度中断处理进程调度 IntEnterIntEnter操作定义操作定义7.3形式化

69、方法形式化方法海重禾漳甩拢久棍蝇埂烦乞浮涕翔娜钩洒四阿肿慰坟详夹转斜权茅靖桶区软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202461国防科技大学计算机学院中断处理进程调度中断处理进程调度用于设置或清除中断屏蔽标志的操作用于设置或清除中断屏蔽标志的操作7.3形式化方法形式化方法改糖商葫彝板氏货奢灯炉绝获口昧藻懂温足础拟房怖琶酗奔噶驭彪甸齿卵软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202462国防科技大学计算机学院中断处理进程调度中断处理

70、进程调度InterruptInterrupt操作定义操作定义7.3形式化方法形式化方法皮习尉剐捶壁炼塑郭禄纹颧埔霖扮喉纂苇汹褒和自耽煞挎办司动零嵌肄穆软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202463国防科技大学计算机学院中断处理进程调度中断处理进程调度7.3形式化方法形式化方法值蓉略雄晕凹坤照哟泛退催速酞瓣蹿周洒喀勿云哟捡推悉具露裳代则忆犬软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202464国防科技大学计算机学院中断处理进程调度

71、中断处理进程调度 当中断处理完成后,中断处理进程可调用当中断处理完成后,中断处理进程可调用IntWaitIntWait操作将自操作将自己挂起。己挂起。IntWaitIntWait State State7.3形式化方法形式化方法厩缄痢额亮纠砌绢医见了垫癌猩钓撞乡阳劈株乙公蛹詹签霸哭眺鹤卫峰搜软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202465国防科技大学计算机学院中断处理进程调度中断处理进程调度中断处理进程还可调用中断处理进程还可调用IntExitIntExit将自己降格为普通进程将自己降格为普通进程7.3形式化

72、方法形式化方法苹朴网怎女予郑淫饥线稼撵贯汲壤泽惯伍巍若原唯炉楚圆搂央根翔鸡蠕淮软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202466国防科技大学计算机学院7.3.47.3.4形式化方法的现状与发展趋势形式化方法的现状与发展趋势o形式化方法的优点性形式化方法的优点性 能够数学地表述和研究应用问题及其软件实现。能够数学地表述和研究应用问题及其软件实现。o要求分析人员具备良好的数学素质。要求分析人员具备良好的数学素质。o用形式化语言书写的大型应用问题的软件规格说明用形式化语言书写的大型应用问题的软件规格说明往往过于细化,

73、难于为用户和软件设计人员所理解。往往过于细化,难于为用户和软件设计人员所理解。o形式化方法在目前的软件开发实践中并未得到普遍形式化方法在目前的软件开发实践中并未得到普遍应用。应用。7.3形式化方法形式化方法安责躬佑糯普供庇损隙棘艺糕卜蒋散圈烘燕么嘎掖声径姜疫均腆剂捎陛放软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202467国防科技大学计算机学院形式化方法的现状与发展趋势形式化方法的现状与发展趋势近年来形式化方法在两方面改善了实用性近年来形式化方法在两方面改善了实用性(1)(1)形式化方法与图形语言机制相结合。形式化

74、方法与图形语言机制相结合。 为图形语言机制赋予形式化的语法和语义,从而为图形语言机制赋予形式化的语法和语义,从而兼具了图形表示的直观、简洁,以及形式化方法的严兼具了图形表示的直观、简洁,以及形式化方法的严谨、精确等优点。谨、精确等优点。(2)(2)用用CASECASE工具支持形式化软件开发。工具支持形式化软件开发。 CASE CASE工具不仅可以简化需求分析和需求描述工作,工具不仅可以简化需求分析和需求描述工作, 而且还可以利用自动定理证明技术帮助分析人员验证而且还可以利用自动定理证明技术帮助分析人员验证软件规格说明的数学性质。软件规格说明的数学性质。 7.3形式化方法形式化方法圃毡丫挞局胞恨

75、院筋苑稽舌侥牢冰吨段嫂氨溃狂浑甄蛇撩返旺池院阉佣浊软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202468国防科技大学计算机学院小结小结 本章介绍了面向数据结构的系统开发方法本章介绍了面向数据结构的系统开发方法(DSSD)(DSSD)和和JacksonJackson系统开发方法系统开发方法(JSD)(JSD)。 面向数据分析方法,首先描述问题域中的信息项及相关行面向数据分析方法,首先描述问题域中的信息项及相关行为,然后根据信息项具有的层次结构建造需求模型。为,然后根据信息项具有的层次结构建造需求模型。 面向数据分析方

76、法的适应面不如结构化分析方法和面向对面向数据分析方法的适应面不如结构化分析方法和面向对象的分析方法广泛,但在某些领域中仍具有一定的优越性。象的分析方法广泛,但在某些领域中仍具有一定的优越性。 形式化需求描述方法具有精确、无歧义、可数学推演等优形式化需求描述方法具有精确、无歧义、可数学推演等优点,软件系统中的某些关键部分采用形式化方法将有助于提高点,软件系统中的某些关键部分采用形式化方法将有助于提高软件质量。软件质量。 为了克服形式化方法难于理解、难于使用的缺点,可视形为了克服形式化方法难于理解、难于使用的缺点,可视形式化以及形式化方法和式化以及形式化方法和CASECASE工具相结合是行之有效的技术途径。工具相结合是行之有效的技术途径。第七章第七章 面向数据的分析方法与形式化方法面向数据的分析方法与形式化方法昆棚辙绊矢绢逢望柔泌柱奈骄郎喳乘卯跃融滚喂舅实招势数硒饰扭能棺遭软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202469国防科技大学计算机学院 谢谢谢谢鄂渐沂健林毅铅勋觉窝缉嗽律沃蹿时具昏郁傻厕挪颤韵概毫信咖鸽巧碎燥软件工程SoftwareEngineeringppt课件软件工程SoftwareEngineeringppt课件7/29/202470国防科技大学计算机学院

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号