结构化分析方法.pdf
- 文档编号:3214729
- 上传时间:2022-11-20
- 格式:PDF
- 页数:33
- 大小:330.34KB
结构化分析方法.pdf
《结构化分析方法.pdf》由会员分享,可在线阅读,更多相关《结构化分析方法.pdf(33页珍藏版)》请在冰豆网上搜索。
四软件开发方法学四软件开发方法学概念概念:
软件方法学软件方法学-指导软件开发的原理指导软件开发的原理/原则、过程和规程的体系原则、过程和规程的体系.是以软件方法为研究对象的学科。
主要涉及指导软件设计的原理和原则,以及基于这些原理、原则的方法和技术。
狭义的软件方法学也指某种特定的软件设计指导原则和方法体系。
是以软件方法为研究对象的学科。
主要涉及指导软件设计的原理和原则,以及基于这些原理、原则的方法和技术。
狭义的软件方法学也指某种特定的软件设计指导原则和方法体系。
掌握并能正确运用开发方法掌握并能正确运用开发方法,具有事半功倍的作用具有事半功倍的作用.From:
计算机科学技术百科全书计算机科学技术百科全书(第二版第二版)软件开发本质软件开发本质软件生存周期过程软件生存周期过程定义定义软件生存周期模型软件生存周期模型软件工程生存周期过程软件工程生存周期过程支持过程方向支持过程方向(活动与定序活动与定序)的建立的建立形成形成软件开发方法学软件开发方法学?
结构化方法?
面向对象方法?
面向数据结构方法?
维也纳开发方法(?
结构化方法?
面向对象方法?
面向数据结构方法?
维也纳开发方法(VDM)给出实现开发过程的途径给出实现开发过程的途径支持支持/管理技术与方法管理技术与方法作用于作用于(一一)结构化方法结构化方法-一种特定的软件开发方法学一种特定的软件开发方法学1结构化分析方法结构化分析方法1)何谓分析何谓分析分析的三要素分析的三要素:
?
需要使用哪些信息?
需要使用哪些信息?
如何系统化的使用信息?
如何系统化的使用信息?
估算算法?
估算算法一般地说一般地说,分析是系统化地使用信息分析是系统化地使用信息,给出一个问题的估算给出一个问题的估算.何谓结构化分析何谓结构化分析就软件需求分析而言就软件需求分析而言,即为即为:
系统化地使用问题域术语系统化地使用问题域术语,给出该问题的模型给出该问题的模型,即即:
需求需求-一个抽象一个抽象该系统的概念模型或称系统的需求规约该系统的概念模型或称系统的需求规约问题域问题域-客观事物系统客观事物系统形形分析分析(映射映射)可见,需求分析作为一种活动,其目标为:
在一个确定的抽象层(即需求层)上为客观事物系统施加了一个结构可见,需求分析作为一种活动,其目标为:
在一个确定的抽象层(即需求层)上为客观事物系统施加了一个结构,形成待开发软件系统(产品)的概念模型,即需求规约(规格说明书),作为开发人员和客户间技术契约的基础,并作为而后开发活动的一个基本输入形成待开发软件系统(产品)的概念模型,即需求规约(规格说明书),作为开发人员和客户间技术契约的基础,并作为而后开发活动的一个基本输入2)实现软件需求分析的目标对方法学的需求实现软件需求分析的目标对方法学的需求
(1)提供一组术语(符号)提供一组术语(符号),指导抽象中需要关注的主要方,指导抽象中需要关注的主要方面,并用于表达分析中所使用的信息.面,并用于表达分析中所使用的信息.这些术语形成一个特定的抽象层,即需求层.这些术语形成一个特定的抽象层,即需求层.这组术语应体现软件设计的某些这组术语应体现软件设计的某些“原理原理/原则原则”!
(2)依据这些术语所形成的“空间”,
(2)依据这些术语所形成的“空间”,给出表达模型的工具给出表达模型的工具.(3)(3)给出过程指导给出过程指导,以支持系统化地使用相关信息建造系统型.,以支持系统化地使用相关信息建造系统型.3)需求层的确定需求层的确定一个抽象层是由一组确定的术语定义的,为支持需求分析中有关要使用的那些信息的表达,给出了以下五个术语符号一个抽象层是由一组确定的术语定义的,为支持需求分析中有关要使用的那些信息的表达,给出了以下五个术语符号:
?
数据流:
?
加工:
?
数据存储:
?
数据源:
?
数据潭:
?
数据流:
?
加工:
?
数据存储:
?
数据源:
?
数据潭:
其中:
?
数据流、数据存储-支持数据抽象,加工-支持过程/功能的抽象,用于表达系统内涵?
数据源、数据潭支持系统边界抽象,用于表达系统外延其中:
?
数据流、数据存储-支持数据抽象,加工-支持过程/功能的抽象,用于表达系统内涵?
数据源、数据潭支持系统边界抽象,用于表达系统外延.?
是完备的。
?
是完备的。
4)模型表达工具模型表达工具这些术语形成一个特定的术语空间这些术语形成一个特定的术语空间,即即:
?
它们之间是?
它们之间是”正交正交”的的.?
每一个术语所要表达的信息,形成了该术语的?
每一个术语所要表达的信息,形成了该术语的”值域值域”,并且是一个偏序集,并且是一个偏序集;例如例如,假定在一个学籍管理系统中假定在一个学籍管理系统中,数据流数据流-“学生各科成绩学生各科成绩”:
数学数学85分分,软件工程软件工程90分分,操作系统操作系统86分分,编译编译83分等分等,构成了该数据流的构成了该数据流的“值域值域”.?
这些术语确定了所建系统的形态?
这些术语确定了所建系统的形态.如果是一个三维空间如果是一个三维空间,那些所建系统的形态只能是那些所建系统的形态只能是:
?
或是一条直线?
或是一条直线;或是一条曲线或是一条曲线;?
或是一个平面?
或是一个平面,或是一个曲面或是一个曲面;?
或是一个立方体?
或是一个立方体,或是一个多形体或是一个多形体.现在,是由五个术语所确定的一个五维空间,因此该方法只能采用数据流图来表达各种现在,是由五个术语所确定的一个五维空间,因此该方法只能采用数据流图来表达各种“形态形态”的系统的系统.数据流图又称为数据流图又称为DFD图,是一种描述数据变换的图形工具,它包含的元素可以是数据流、数据存储、加工、数据源和数据潭等。
例如,图,是一种描述数据变换的图形工具,它包含的元素可以是数据流、数据存储、加工、数据源和数据潭等。
例如,旅行社旅行社订票单订票单预机预机准机准机记费用航班机票记帐文件航班目录记费用航班机票记帐文件航班目录帐单帐单旅行社旅行社5)过程指导5)过程指导1建立系统的功能模型1建立系统的功能模型-使用的工具为数据流图DFD-使用的工具为数据流图DFD首先:
建立系统环境图(顶层数据流图),确定系统边界首先:
建立系统环境图(顶层数据流图),确定系统边界继之:
自顶向下,逐步求精,建立系统的层次数据流图继之:
自顶向下,逐步求精,建立系统的层次数据流图2建立数据字典2建立数据字典-使用的工具为结构符-使用的工具为结构符定义数据流定义数据存储定义数据流定义数据存储定义数据项定义数据项3给出加工小说明:
3给出加工小说明:
集中描述一个加工“做什么”,即加工逻辑,也包括其它一些与加工有关的信息,如执行条件、先级、执行频率、出错处理等。
集中描述一个加工“做什么”,即加工逻辑,也包括其它一些与加工有关的信息,如执行条件、先级、执行频率、出错处理等。
-使用的工具可以为判定表判定树-使用的工具可以为判定表判定树问题:
建立一个简化的商业自动化系统,其中:
问题:
建立一个简化的商业自动化系统,其中:
营业员通过该系统记录每日销售的商品(营业员通过该系统记录每日销售的商品(商品名,商品编号,单价,数量,销售时间););收款员通过该系统记录收到的现金数额以及购物余额;收款员通过该系统记录收到的现金数额以及购物余额;商店经理每日统计销售额,并在必要时查看某种商品的商店经理每日统计销售额,并在必要时查看某种商品的销售情况(商品名,商品编码,金额)销售情况(商品名,商品编码,金额)结构化分析方法应用实例结构化分析方法应用实例简化的商业自动化系简化的商业自动化系营业员收款员经理销售的商现金现金余销售情日销售查询要销售的商现金现金余销售情日销售查询要1建立系统的功能模型首先:
建立系统环境图,确定系统边界-顶层DFD1建立系统的功能模型首先:
建立系统环境图,确定系统边界-顶层DFD其中:
1数据流为:
销售的商品,日销售额等其中:
1数据流为:
销售的商品,日销售额等3个输入流,3个输出流3个输入流,3个输出流数据源为:
营业员,经理,收款员数据源为:
营业员,经理,收款员数据潭为:
经理,收款员数据潭为:
经理,收款员2加工名为:
要建立的系统名字2加工名为:
要建立的系统名字录入、修改或删除商品信息录入、修改现金额,并计算余额查询商品销售情况计算日销售额312继之:
自顶向下,逐层分解继之:
自顶向下,逐层分解A、按人或部门的功能要求,将加工“打碎”,形成:
A、按人或部门的功能要求,将加工“打碎”,形成:
注:
需给每一加工编号;注:
需给每一加工编号;B、”分派”数据流,形成:
B、”分派”数据流,形成:
录入、修改或删除商品信息2录入、修改现金额,并计算余额查询商品销售情况计算日销售额销售的商销售的商现金现金余现金现金余查询要查询要销售情日销售销售情日销售31其中:
要根据特定的加工要求进行分派;其中:
要根据特定的加工要求进行分派;保持与顶层数据流的一致;保持与顶层数据流的一致;可以不引入数据源和数据潭。
可以不引入数据源和数据潭。
录入、修改或删除商品信息录入、修改现金额,并计算余额查询商品销售情况计算日销售额销售的商品销售的商品现金额现金余额现金额现金余额查询要求查询要求销售情况日销售额销售情况日销售额销售文件销售文件123C、引入文件,使之形成一个有机整体系统:
C、引入文件,使之形成一个有机整体系统:
注:
到一个文件,既有输入流,又有输出流,则可简化为,并可不给出标识。
至此,体现精化,形成0层数据流图。
注:
到一个文件,既有输入流,又有输出流,则可简化为,并可不给出标识。
至此,体现精化,形成0层数据流图。
查询商品销售情况计算日销售额查询要求查询要求销售情况日销售额销售情况日销售额销售文件销售文件3继续A、B、C:
自顶向下,逐层分解。
例如:
加工3继续A、B、C:
自顶向下,逐层分解。
例如:
加工3可分解为:
可分解为:
判定要求查询要求查询要求3.1统计销售情况3.2计算日销售额销售文件销售文件查询要求查询要求2查询要求查询要求1销售情况日销售额销售情况日销售额加工3:
*其中为什么要引入*其中为什么要引入加工“判定要求”?
加工“判定要求”?
2建立数据字典2建立数据字典定义数据流定义数据存储定义数据项定义数据流定义数据存储定义数据项引入:
结构符|引入:
结构符|用于定义数据结构用于定义数据结构AAABCB0C0B*(a)顺序结构)顺序结构(b)选择结构)选择结构(c)重复结构)重复结构引入:
一些逻辑操作符用于定义数据结构引入:
一些逻辑操作符用于定义数据结构操作符含义描述=+|()()m.n等价于(定义为)等价于(定义为)与(顺序结构)与(顺序结构)重复(循环结构)重复(循环结构)或(选择结构)或(选择结构)任选任选界域界域数据字典数据字典:
?
、数据流?
、数据流:
销售的商品=商品名+商品编号+单价+数量+销售时间现金额=余额=日销售额=非负实数查询要求=商品编号|日期查询要求1=商品编号查询要求2=日期销售情况=商品名+商品编号+金额?
、数据存贮?
、数据存贮:
销售文件=销售的商品?
、数据项(数据流及数据存储的组成成分)3给出加工小说明-使用的工具可以为判定表判定树判断表条件类别条件组合操作操作执行例如:
考试总分=620=620=620=620620单科成绩有满分有不及格有满分发升级通知书yyn发留级通知书nny发重修通知书nyn6)建模中应注意的问题建模中应注意的问题结构化分析方法是一种半形式化的规约方法,给出了一组结构化分析方法是一种半形式化的规约方法,给出了一组特定的术语表和标准化的表达格式-数据流图,在表达上均特定的术语表和标准化的表达格式-数据流图,在表达上均必须遵循一些约定,即应以一种准确和一致方式使用之。
例如:
必须遵循一些约定,即应以一种准确和一致方式使用之。
例如:
-加工:
其标识应使用领域术语,采用动宾结构;-加工:
其标识应使用领域术语,采用动宾结构;必须有输入和输出;必须有输入和输出;-数据流:
其标识应使用领域术语,采用名词或名词短语;-数据流:
其标识应使用领域术语,采用名词或名词短语;特别,应注意模型平衡问题和信息组织的复杂性控制问题,特别,应注意模型平衡问题和信息组织的复杂性控制问题,即:
即:
1模型平衡问题1模型平
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 结构 化分 方法