本科毕业设计事故树数据文件辅助生成系统.docx
《本科毕业设计事故树数据文件辅助生成系统.docx》由会员分享,可在线阅读,更多相关《本科毕业设计事故树数据文件辅助生成系统.docx(54页珍藏版)》请在冰豆网上搜索。
本科毕业设计事故树数据文件辅助生成系统
毕业设计(论文)诚信声明书
本人声明:
本人所提交的毕业论文《事故树数据文件辅助生成系统》是本人在指导教师指导下独立研究、写作的成果,论文中所引用他人的无论以何种方式发布的文字、研究成果,均在论文中加以说明;有关教师、同学和其他人员对本文的写作、修订提出过并为我在论文中加以采纳的意见、建议,均已在我的致谢辞中加以说明并深致谢意。
本论文和资料若有不实之处,本人承担一切相关责任。
论文作者:
(签字)时间:
年月日
指导教师已阅:
(签字)时间:
年月日
西安电子科技大学
毕业设计(论文)任务书
学生姓名刘明学号06021055指导教师龚小军职称副教授
学院经济管理学院专业信息管理与信息系统
题目名称事故树数据文件辅助生成系统
任务与要求
1,搜集并阅读相关的资料,熟悉事故树的相关理论和技术。
2,应用VisualStutio2005Express以及SQLServer2000对系统进行初步开发,其中,事故树数据描述使用XML进行设计。
界面采用树形结构,事故信息存入数据库中。
3,撰写论文,完成答辩。
开始日期2006年3月完成日期2006年6月
院长(签字)年月日
注:
本任务书一式两份,一份交学院,一份学生自己保存。
西安电子科技大学
毕业设计(论文)工作计划
学生姓名刘明学号6021055
指导教师龚小军职称副教授
学院经济管理学院专业信息管理与信息系统
题目名称事故树数据文件辅助生成系统
一、毕业设计(论文)进度
起止时间
工作内容
2005年3月
学习使用相关软件
2005年4月
系统需求分析,结构和功能设计
2005年5月
程序设计,编写代码
2005年6月
撰写论文,准备答辩
二、主要参考书目(资料)
[1]孔小玲译,XML技术手册,中国电力出版社,2001。
[2]吴洁等,XML应用教程,清华大学出版社,2005。
[3]美.艾特肯,微软XML技术指南,中国电力出版社,2003。
[4]dinardalvijoegray,.NETXML高级编程,清华大学出版社,2002。
[5]MSDN与TECTNET网站
三、主要仪器设备及材料
Internet,计算机,VisualStudio,SQLServer
四、教师的指导安排情况(场地安排、指导方式等)
每周一下午,指导、检查毕业设计工作。
平时随时答疑。
地点:
经济管理学院电子商务实验室。
五、对计划的说明
注:
本计划一式两份,一份交学院,一份学生自己保存(计划书双面打印)
西安电子科技大学毕业设计(论文)中期检查表
学院
经济管理学院
专业
信息管理与信息系统
学生姓名
刘明
学号
06021055
班级
06021
导师姓名
龚小军
职称
副教授
单位
工业工程系
题目名称
事故树数据文件辅助生成系统
检查内容
检查结果
题目是否更换及更换原因
否
学生出勤情况
按时出勤
进度评价
(完成总工作量的百分比)
60
质量评价、进度描述
进度描述:
已熟悉C#编程环境;建立了软件总体结构;实现了XML文档读取和保存操作;掌握了数据库建表、查询、更新等基本操作和存储过程的使用;并完成5000多字的翻译工作。
总体评价
(按优、良、中、及格、不及格五挡评价)
良
存在的问题与建议
无
学院审核(盖章)
注:
此表由指导教师填写,5月15日前交学院办公室,中期检查成绩将作为毕业设计总成绩的一部分;此表装订入毕业设计(论文)中。
西安电子科技大学
毕业设计(论文)成绩登记表
编号:
学院
经济管理学院
专业
信息管理与信息系统
姓名
刘明
学号
06021055
成绩
题目名称
事故树数据文件辅助生成系统
指导教师
龚小军
职称
副教授
指导教师评语及对成绩的评定意见
签名年月日
评阅人评语及成绩评定意见
签名年月日
答辩小组意见
签名年月日
学院答辩委员会
意见
答辩委员
会主任签名(学院盖章)年月日
注:
学院、专业名均写全称;成绩登记表双面打
摘要
本文首先对几种现有计算机辅助建树方法进行了研究,提出采用XML来描述事故树数据文件的设想。
然后,通过对事故树及XML文档结构的分析,我们设计了一类用以描述事故树数据结构的XML文档,对其设定了一些限制。
为了能在实际应用中验证输入的XML文档是否符合这些限制条件,我们进一步讨论了XMLSchema文件的结构,并设计了一组XSD文档,该组文档主要用于验证XML文档的有效性。
在此基础上,我们设计并实现了一个事故树数据文件计算机辅助生成系统。
该系统采用微软最新版可视化编程工具VisualStudio2005编写,由VisualC#编程语言实现。
系统中采用XML文件描述事故树的数据结构,采用树状层次结构显示该结构,使用“与图标”和“或图标”来表示事件间的与或关系,并使用SQLServer2000数据库来存储事故树基本事件的详细信息。
关键词:
事故树XMLSchemaADO.NETC#
Abstract
Inthispaper,severalkindsofexistingcomputer-aidedmethodsforbuildingfaulttreeareanalyzedfirst,andthentheideaofintroducingXMLtodepictthedatafileofthefaulttreeisputforward.Secondly,throughtheanalysisofthestructureofthefaulttreeandtheXMLdocument,akindofXMLdocumentisdesignedtodepictthedatafileofthefaulttreeandalotoflimitsaresetedonit.Inordertovalidatewhetherthedocumentinputedmeetstheselimitsinpractice,thestructureofXMLSchemadocumentisdicussedandasetofXSDdocumentswhicharemainlyusedtovalidatetheXMLdocumentdesigned.Onthisbasis,acomputer-aidedsystemusedforbuildingthedatafileofthefaulttreeautomaticallyisdesignedandimplemented.
ThesystemiswrittenwithMicrosoft'sVisualStudio2005programmingtools,andisprogrammedwithVisualC#providedbyVisualStudio2005.Inthissystem,theXMLdocumentwhichwedesignedisusedtodepictthedatafileofthefaulttree,hierarchicaltreeisappliedtoshowthedocument,twoiconswhichrepresent“and”and“or”separatelyareemployedtodenotetherelationsofthefaultevents.Finally,SQLServer2000isusedtostorethedetailsofthebasicevents.
Keywords:
FaulttreeXMLSchemaADO.NETC#
第一章绪论
1.1论文的研究背景
1.1.1事故树分析法
事故树分析方法(FaultTreeAnalysis,简称FTA)是安全系统工程的主要分析方法之一,它能对各种系统的危险性进行辨识和评价,不仅能分析出事故的直接原因,而且能深入地揭示出事故的潜在原因。
用它描述事故的因果关系直观、明了、思路清晰、逻辑性强,既可定性分析,又可定量分析[1]。
因此,该方法广泛应用于各种领域。
实际应用中,由于系统十分复杂,事故树的规模往往很庞大,事故树生成存在工作量大、耗时、难于理解等困难,尤其是生成较复杂的事故树时,人工系统往往难以胜任。
因此,采用计算机来辅助生成事故树是必不可少的。
随着计算机科学的发展,计算机技术在事故树生成方面的应用也越来越受到人们的重视。
1.1.2事故树分析法的现状与发展
1961年,美国贝尔电话研究所的H.A.Watsion首先提出事故树分析法[2],用于民兵式导弹发射控制系统的安全性研究,为预测导弹发射的随机失效概率做出了贡献。
其后,波音公司对其进行了改进,使之能够利用计算机进行模拟,事故树分析法开始被应用于航天航空工业及核动力工业的危险性识别和定量安全评价。
1974年美国原子能委员会将事故树分析法运用到核电站事故的危险性评价中,发表了关于核电站的危险性评价报告(即著名的拉斯姆逊报告(N.C.Rasmussen))[3],该报告用事故树分析法从数量上说明了核电站的安全性,引起了世界各国的广泛关注。
此后,事故树分析法迅速在许多国家和企业得到应用和推广。
近年来,我国也在许多行业和企业中使用和推广了该方法,取得了不少成果。
1976年,清华大学核能技术研究所首先将事故树分析法应用于核反应堆的安全评价,取得了成功[4]。
1978年,天津东方红化工厂将事故树分析法用于高氯酸生产过程中的危险性分析,有效地减少和预防了事故的发生[4]。
80年代末,铁路运输系统开始采用事故树分析法,并应用在安全生产和劳动保护上,也取得了较好的效果。
目前,事故树分析法已被广泛应用于电子、电力、交通、机械等领域,作为系统安全分析的一种常用方法,来预测和诊断事故,分析系统的薄弱环节,为事故的有效预防和及时处理提供了可靠的依据。
1.1.3现有计算机辅助事故树建树方法
1.1.3.1传递函数法
传递函数法(TransferFunctions),又称合成法(SyntheticTreeMethod,简称STM)。
这种事故树自动生成方法由美国的J.B.Fussell在1973年提出。
其基本思想是引入事故传递函数的概念,针对每一个部件,建立一组相应的事故传递函数。
每一个事故传递函数用来表征一种部件的事故模式。
事故树生成时,首先要确定系统的顶事件,然后通过事故传递函数找到能形成这一顶事件的事故事件,将其合并为下一级事件,反复应用此规则,直到所有的事故事件均发展为基本事件为止。
实质上,该方法就是一个通过事故传递函数找到相应的事故事件,将其从数据库中调出,进行组合的过程,因此又称合成法。
1.1.3.2决策表法
决策表法(DecisionTables)又称计算机辅助建树方法,由美国加利福尼亚大学的Salem等人于1976年提出。
该方法的基本思想是根据所分析系统的工艺流程,将其划分为若干相对独立的“部件”;对每个部件的输入与输出赋予一组事件,认为每个部件都是通过部件的输入、输出与其它部件相互联系的;为每一个部件建立一个决策表,该决策表用于说明每一组输入事件怎样组合才能得到相应的输出事件;然后根据这些决策表得出所分析系统的事故树图[5]。
在这种方法中,决策表的建立,部件的输入输出关系图和事故树图的绘制均可由计算机辅助完成,充分利用了计算机的优势,因此,又称其为计算机辅助建树方法。
1.1.3.3人工智能法
随着人工智能的发展,相关的领域知识和技术也应用到事故树建树的研究当中。
在这其中,专家系统特别地引起了广泛的关注。
典型的专家系统包括两部分:
知识库和推理机。
其中知识库中包含领域知识(往往采取产生式规则的形式)和求解特殊问题的数据(事实);而推理机是一种计算机程序,用来应用规则和知识库中的信息,推理得到新的知识,并求解问题。
对于事故树建树这一问题而言,所要求解的问题就是要得到针对顶事件的事故树。
知识库中的信息包括系统部件的通用特性、在正常状况下和事故情况下的部件行为以及分析人员的实际经验。
推理机主要进行逻辑推理,在知识库的基础上得到最终的事故树[6][7]。
然而,实际上,人工智能法所用到的专家系统内核,依然是前面所提到的两种建树方法,唯一的不同仅仅在于将先前两种方法中所用到的部件模型(即决策表,最小树)重新以产生式规则的形式表达。
上面讲到的三种方法均是基于表的方法。
实际上,对于这类方法来说,已经在先前的大量工作中把事故树的信息推导出来,并存储在数据库中,最后的自动建树只是从数据库中提取信息,进行连接的一个工作。
1.1.3.4符号定向图法
除了基于表的方法外,事故树自动建树还有一类基于图的方法,这类方法以符号定向图法为典型代表。
符号定向图法(SignedDirectedGraph,简称SDG)由美国卡耐基·梅隆大学的Steven.A.Lapp和Gary.J.Powers于1977年提出。
该方法利用符号定向图描述系统状态,在此基础上决定过程的状态和事故模式,从而生成事故树。
符号定向图给出了过程变量、人为错误与装备事故之间定性关系的显示描述。
基于符号定向图方法,Lapp和Powers开发了事故树合成程序FTS,此算法被后人称为Lapp&Powers算法。
此算法分为五个步骤:
(1)部件建模(SDG模型建立的前期准备);
(2)建立符号定向图模型;(3)定义顶事件;(4)识别系统回路结构;(5)合成事故树。
1.2论文研究的主要内容和意义
1.2.1论文研究的主要内容
事故树是树状结构,XML也是树状结构,能否采用XML文件来描述事故树的数据结构呢?
针对这一问题,本文将对事故树及XML文档结构进行分析,设计一类用以描述事故树数据结构的XML文档。
为了能验证一个XML文档是否符合这类文档的要求,本文还会进一步讨论XMLSchema文件的结构,并设计出一组XSD文档,该组文档主要用于验证XML文档的有效性。
最后,我们还将设计并实现一个事故树数据文件计算机辅助生成系统。
在该系统中,我们将采用XML文件来描述事故树的数据结构,并通过在可视化界面中建立的一个树状层次结构对其进行各项操作。
此外,我们还将使用“与图标”和“或图标”来表示事故事件间的与或关系,使用数据库表来存储事故树的基本事件的详细信息。
在整个操作过程中,用户只需选择菜单项即可,事故树的数据文件将由系统自动生成。
1.2.2论文研究的意义
XML是目前全球范围内描述数据和交换数据的一种标准方式,自出现以来,发展非常迅速,因在许多领域内得到广泛的支持而有着广阔的应用前景。
但是,在事故树建树的相关文献中,我们却很少看到它在该领域的应用。
事实上,事故树是树状结构,而XML本身也为树状结构,所以用它来描述事故树结构将更加简便易行。
因此,本文中,我们将探索XML作为数据结构在事故树建树领域中的应用。
此外,VisualStudio2005是微软2005年底推出的最新版本可视化编程工具,系统中内置了大量Windows窗体控件,功能强大,我们也将探索该工具在可视化编程中的实际应用。
第二章XML技术
2.1XML概述
2.1.1XML简介
XML(eXtensibleMarkupLanguage)是W3C组织1997年提出的可扩展标记语言。
1998年2月10日,XML成为W3C的正式规范。
此后的20年里,XML凭借其在许多领域内受到的广泛支持而得以迅速发展。
XML由SGML(StandardGeneralizedMarkupLanguage,标准通用标记语言)衍生而来,可以认为它是一种元语言,即一种定义标记语言的语言。
SGML和XML都是基于文本的格式,提供了一种使用标记(文字由‘<’和‘>’括起)描述文档结构的机制。
XML最初用于为Web定义新文档格式,但是随着XML应用的普及,人们普遍意识到XML不仅有助于为Web描述新文档格式,也适用于描述结构化数据。
此外,XML还可以轻松地表示表格式数据和半结构化数据。
因此,XML作为信息交换的通用语言被广泛接受。
2.1.2XML的特点
(1)XML是可扩展的[23]:
首先,XML中没有固定的词汇表。
相反,用户使用XML定义特定的应用程序或行业专用的词汇表。
其次,与使用其它格式的应用程序相比,使用XML的应用程序对于格式的更改有更强的适应性。
只要这些更改是附加的,使用XML的应用程序通常不会被破坏,而这在使用其它格式的应用程序中是很少见的。
(2)XML是与平台无关的:
XML不依赖于任何编程语言、操作系统及计算平台。
任何计算平台使用文本编辑器都可以方便地开发和使用XML文档。
而平台独立性使得XML可以在不同编程平台和操作系统间实现互操作。
(3)XML是自描述的:
XML文档不仅带有数据,还带有相应的数据描述,所以XML格式的数据发送给用户后,用户使用应用软件在本地就可以分析和处理数据,不再需要请求服务器分析处理数据本身。
此外,因为数据本身和数据显示是分离的,用户还可以根据不同的显示要求灵活的显示XML数据。
(4)XML是国际化的:
XML支持多语言文档和Unicode编码,使信息交换不但可以在不同计算机间进行,而且能在跨越国界和不同文化背景的情况下进行。
(5)XML是标准化的:
为了保障XML规范的标准性,不被某个厂商所独占,W3C(WorldWideWebConsortium)制定了XML标准,该标准目前已被业界广泛采用。
2.2基于XML的事故树数据结构
2.2.1事故树示例
以要预防的事故为顶端事件,将不同层次的事故原因事件作为节点,节点间的因果逻辑关系用逻辑门符号及输入输出的连线表示,这样形成的事故原因树状模型称为事故树[11]。
图2.1“触电伤亡”事故树示意图
事故树建树步骤[12]如下:
(1)确定事故树的顶事件(即事故树的根)。
确定顶事件是指确定所要分析的对象事件。
根据事故调查报告分析其损失大小和事故频率,选择易于发生且后果严重的事故作为事故的顶事件。
(2)调查与顶事件有关的所有原因事件,将其作为第二层事件。
从人、机、环境和信息等方面调查与事故树顶事件有关的所有事故原因,确定事故原因并进行影响分析。
(3)对于第二层的每个事件,调查与其有关的所有原因事件,将其作为该事件的下一层事件填记在第三层。
层层向下,直到所有的事件均为基本事件为止。
(4)对于每个基本事件,说明与其有关的详细信息。
图2.1为一棵“触电伤亡”事故树的示意图。
其中,
表示与门,
表示或门。
“触电伤亡”事故树的事件含义如下:
(1)顶事件:
T:
触电伤亡;
(2)原因事件:
A1:
设备及设施带电; A2:
安全用具不起作用;
A3:
保护接地失效; A4:
电源设备带电;
A5:
设备外壳带电;
(3)基本事件:
X1:
开关漏电; X2:
线路漏电;
X3:
热元件变形带电; X4:
电机漏电;
X5:
导物造成电源与设备相接; X6:
控制电器漏电;
X7:
没有使用; X8:
因脏湿绝缘失效;
X9:
保护接地不合格; X10:
接地不良;
X11:
未接地;
关于基本事件的说明信息,我们这里不再展开。
由以上的介绍可知:
事故树是典型的树状结构,而XML也是树状结构的,所以用XML文档来描述事故树的数据结构更加合理。
下面我们就来看一下如何用XML文档来描述“触电伤亡”事故树的数据结构。
2.2.3XML文档示例
格式正规的XML文档由三个主要部分构成:
可选的序言(prolog)、文档的主体(body)和可选的尾声(epilog)[13]。
(1)序言:
XML文档是以序言开头的,用以标记XML数据的开始,它描述数据的字符编码,并为XML解析器和应用程序提供一些其它的配置线索。
序言的组成包括:
一个XML声明,文档类型声明,注释和PI(处理指令)等。
(2)主体:
这是XML文档最主要的内容。
它由元素、属性、字符数据组成,还可以包括注释、PI等。
元素:
元素是XML内容的基本容器,它可以包括字符数据、其它元素以及其它标记(注释、PI、实体引用等等),元素是XML中的名词。
任何格式正规的XML文档都必须是一个简单的层次树,有且仅有一个根节点;XML中的其他元素都是文档元素的后代(也称“孩子”)。
为了保证元素数据的正确,XML要求元素必须被正确的嵌套。
属性:
属性是XML中的形容词,它与元素绑定在一起,用以对元素进行进一步的说明。
属性只能出现在元素的开始标记和空元素中。
字符数据:
字符是一种纯文本,它包含字符和实体引用,不包括元素标记和其它的标记。
XML使用的文本字符指的是Unicode编码字符。
(3)尾声:
可能包括注释、PI和空白。
以下为用XML文档描述的“触电伤亡”事故树的数据结构:
//序言
xmlversion="1.0"encoding="utf-8"?
>
//主体
在以上XML文档的主体部分,我们共定义了三种元素:
根元素t,用于存储一个数据库表的表名,该表用于存储基本事件的详细信息;枝干元素n,用于表示顶事件和原因事件;叶子元素leaf,用于表示基本事件。
我们把n元素和leaf元素放在一起,统称为事件元素。
对于每个元素,我们都给它们定义了两个属性c属性和a属性,它们对于不同的元素有不同的含义:
对于t元素而言,c属性用于表示数据库表名,a属性用于表示这是一个表名;