- 1、本文档共61页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第5章需求分析;本章学习目标;;需求分析的主要任务;创建需求分析模型原则;需求建模方法;需求建模方法;5.1.1半形式化分析技术;5.1;在绘制分层数据流图时应注意以下事项:
⑥编号。
⑦保持数据守恒。
⑧局部数据存储的隐蔽性。
⑨保持父图与子图平衡。
⑩只绘制所描述的系统稳定工作情况下的数据流图。
?画数据流而不要画控制流。
;(2)判定树和判决表
判定树又称决策树(decisiontree),是一种描述加工的图形工具,适合描述问题处理中具有多个判断,并且每个决策与若干条件有关,导致不同的结果。;例如有关退票改签费有如下规定:
开车前8天(不含)以上退票的,不收取退票费;票面乘车站开车时间前48小时以上的按票价5%计,24小时以上、不足48小时的按票价10%计,不足24小时的按票价20%计。
办理车票改签时,新车票票价高于原车票的,收取票价差额。新车票票价等于原车票,不收取费用。新车票票价低于原车票的,退还差额。;图5-1判定树表示购票;表5-2购买火车票判定表;(3)数据字典
数据字典是元数据(metadata)的结构化存储库,它提供所用数据的全面描述。其主要目的是提供一种共同的语言,以帮助软件项目的涉众理解数据、数据的含义以及数据与其他数据元素的关系。
在结构化分析中,数据字典的作用是给数据流图中每个成分加以定义和说明,数据流图和数据字典共同构成系统的逻辑模型。;;5.1.2Gane和Sarsen结构化系统分析;分析过程分为以下9个步骤:
(1)在需求初步获取的基础上运用逐步求精的方法画数据流图,数据流图分层描述。
(2)决定软件系统实现数据流图中哪些部分。
(3)确定数据流图中数据流的细节。
(4)定义数据流图中加工的处理逻辑。
(5)定义数据流图中涉及的数据存储。
(6)定义满足项目需要的物理资源。
(7)确定项目需要满足的输入-输出规格说明。
(8)确定系统中输入数据、中间计算结果、输出数据的大小。
(9)根据步骤(8)中的计算结果,确定硬件要求和约束。;5.2;图5-3第一次细化数据流图;图5-4课堂管理细化数据流图;图5-5人脸考勤管理细化数据流图;5.2.2定义数据字典;5.2.3建造实体-关系模型;面向对象分析;面向对象分析;面向对象分析;面向对象分析;面向对象分析;面向对象分析;面向对象分析;面向对象分析;面向对象分析;面向对象分析;面向对象分析;面向对象分析;面向对象分析;面向对象分析;5.4.1功能建模;5.4.1功能建模;面向对象分析实例;5.4.2类建模;5.4.2类建模;5.4.2类建模;5.4.2类建模;5.4.3动态建模
(1)状态图
;5.4.3动态建模
;5.4.3动态建模
(1)状态图
;5.4.3动态建模
(2)顺序图
;5.4.3动态建模
(2)顺序图
;5.4.3动态建模
(2)顺序图
;5.4.3动态建模
(3)协作图
;5.4.3动态建模
(3)协作图
;形式化分析技术;形式化方法可以分为以下五类:
(1)基于模型的方法:通过明确定义状态和操作来建立一个系统模型,显式说明系统如何从一个状态转换到另一个状态,例如Z语言、VDM和B方法等。
(2)基于网络的方法:采用具有形式语义的图形语言,例如Petri网、状态机等。
(3)进程代数方法:通过限制所有容许的可观察的进程间通信来表示系统行为,允许并发进程的显式表示,例如通信顺序进程CSP、通信系统演算CCS、时序排序规约语言LOTOS、计时通信顺序进程TCSP、计时可能性演算TPCCS等。
;形式化方法可以分为以下五类:
(4)基??逻辑的方法:用逻辑描述系统底层规约、时序和行为等,采用与所选逻辑相关的公理系统证明系统达到预期目标。利用具体的编程构造扩充逻辑,通过保持正确性的细化步骤集来开发系统。这类方法有各类时序逻辑TL、hoare逻辑、WP演算、模态逻辑等。
(5)代数方法:通过将未定义状态下不同的操作行为相联系,给出操作的显式定义。这类方法有OBJ、Larch族代数规约语言等。;汽车无钥匙进入系统CSP模型;//模型需要的变量定义
varowner[N]={far,far};//人的位置,编号分别是0和1,初始时2人都离车很远
varengine=off;//发动机状态,初始时关闭
vardoor=lock;//车门的状态,初始时门是锁住的
varkey=0;//车钥匙归属,初始时在0号人处
varmoving=0;//汽车移动状态,0是停止,1是移动
varfuel=10;//发动机油耗
您可能关注的文档
- 软件工程:理论、技术及实践 课件 第1章 软件工程概述.pptx
- 软件工程:理论、技术及实践 课件 第2章 软件工程发展.pptx
- 软件工程:理论、技术及实践 课件 第3章 软件过程.pptx
- 软件工程:理论、技术及实践 课件 第4章 理解需求.pptx
- 软件工程:理论、技术及实践 课件 第6章 软件设计.pptx
- 软件工程:理论、技术及实践 课件 第7章 软件实现与测试.pptx
- 软件工程:理论、技术及实践 课件 第8章 软件维护与演化.pptx
- 软件工程:理论、技术及实践 课件 第9章 软件项目管理.pptx
- 软件工程:理论、技术及实践 课件 第10章 软件创新.pptx
- 软件工程:理论、技术及实践 课件 第11章 软件工程与社会.pptx
文档评论(0)