《软件工程》第5章-数据驱动的软件设计方法.ppt
- 文档编号:1136863
- 上传时间:2022-10-17
- 格式:PPT
- 页数:28
- 大小:221KB
《软件工程》第5章-数据驱动的软件设计方法.ppt
《《软件工程》第5章-数据驱动的软件设计方法.ppt》由会员分享,可在线阅读,更多相关《《软件工程》第5章-数据驱动的软件设计方法.ppt(28页珍藏版)》请在冰豆网上搜索。
第5章数据驱动的软件设计方法,邢承杰北京大学计算中心管理信息中心E-mail:
数据驱动的软件设计方法,面向数据结构的设计方法,其核心思想是以输入/输出数据结构以及内部存储信息的结构作为设计的出发点,按照特定的变换规则,逐步将数据结构的描述变换为对软件结构的描述。
5.1面向数据结构的设计方法介绍5.2Jackson设计方法5.3Jackson与SD方法的比较,5.1面向数据结构的设计方法介绍,面向数据结构的设计方法是特殊的结构化的设计方法,它没有明确地划分总体设计和详细设计阶段,而是以数据结构为出发点来设计软件。
典型的面向数据结构的设计方法有:
Jackson方法70年代英国人Jackson倡导的。
LCP方法:
(逻辑构造程序方法)。
70年代法国人Warnier首先倡导的Warnier图。
例如,处理一批订货单这个过程:
订货单是一个数据结构,可表示为:
订货单=商品号+商品名+定货数+金额,其中:
商品号,商品名用于处理过程的归类;定货数,金额用于累计;表示结构是重复的,因而决定程序必须以循环方式来实现。
5.2Jackson方法,一、Jackson图:
虽然程序中实际使用的数据结构繁多,但是它们的基本数据元素之间的逻辑关系却只有顺序、选择和重复三类。
Jackson方法中把这三类基本逻辑关系表示成三种基本的层次结构,并用Jackson图给出表示。
注意:
(i)方框不代表模块,代表数据元素。
(ii)上下层关系是组成关系,不反映调用和被调用。
1、三种基本结构的描述,Jackson图的优点如下:
表达层次结构的能力特别强,尤其适合对结构进行自顶向下地逐层分解表达。
用Jackson图表达的结构关系形象直观,可读性好Jackson图不仅可以用来表达数据结构关系,还能用于表达程序的控制结构,因为结构程序设计也使用上述三种基本结构。
Jackson图的缺点在于,在表达选择或重复数据结构时,图中不能直接表示选择的条件或重复的条件,从而影响了图的表达能力,也影响了直接把图翻译成程序过程的能力。
为了解决上述问题,有人提出了允许在图上直接标示相应的条件而给出了改进型的Jackson图。
改进的Jackon图:
2、数据结构的Jackson图,三种基本数据结构可以组合成为更复杂的数据结构,例:
制作教职工名册:
数据描述如下:
教职工名册,津贴由类别确定教龄津贴;工龄津贴,3、程序结构的表示方法,数据结构的Jackson图转化为程序结构的Jackson图,二、Jackson方法的设计步骤,步骤1、画出输入,输出结构的Jackson图。
可省略与解题无关的信息。
请看例子:
将高考后考生的基本情况文件和考生高考成绩文件合并成一个新文件。
从已知条件可以得出如右边的三个基本文件结构图,相应的Jackson图:
二、Jackson方法的设计步骤(续),步骤2、从输入输出的数据结构中找出有对应关系的数据单元。
所谓“对应关系”是指类型,结构相似并在程序中可以同时处理的数据单元。
本例中输出结构和输入结构完全可以找到对应的数据单元。
根据步骤2、3导出程序的Jackson图如下:
步骤3、导出程序结构的Jackson图,原则如下:
)有对应关系的数据单元画一个处理框。
)为输入数据剩余的单元画一处理框。
)为输出数据剩余的单元画一处理框。
)所有的处理框应与它处理的数据单元在Jackson图的层次相对应。
例子中输入输出都没有剩余数据单元如果输出增加一个数据单元“分数段”:
此时输出结构的Jackson图为:
如果输出结构与输入结构不存在对应关系。
这种情况属结构冲突,这种情况就不能简单地使用Jackson方法。
二、Jackson方法的设计步骤(续),步骤4、列出程序处理中将涉及到的操作和条件(包括分支条件和循环结束条件),并且把它们分配到程序结构中它们应该在的适当位置。
停止;打开两个输入文件;建立输出文件;从输入文件中读一条记录;生成一条记录;将新记录写入输出文件;关闭全部文件;文件结束。
二、Jackson方法的设计步骤(续),步骤5、按Jackson图的程序结构转换成伪代码。
Jackson方法中定义了一种称为伪代码的语句表达形式,这种伪码和Jackson图是完全对应的,下面给出三种基本结构的Jackson图对应的伪码表示:
三种基本结构的伪码表示,产生新文件Seq打开两个输入文件;建立输出文件;从输入文件中各读入一条记录;分析考生记录iteruntil文件结束处理考生记录seq产生准考证号;产生姓名;产生通讯地址;产生考分;生成一条新记录;将新记录写入输出文件;处理考生记录end关闭全部文件停止产生新文件end,停止;打开两个输入文件;建立输出文件;从输入文件中读一条记录;生成一条记录;将新记录写入输出文件;关闭全部文件;文件结束。
5.3Jackson与SD方法的比较,比较说明,不同的出发点导出的目标不同SD方法由DFD图导出SC图,目标是模块设计,分两个阶段进行,先结构设计,再作详细设计Jackson方法是由数据结构导出程序结构,这种程序结构即可直接用伪代码描述,不分结构设计和详细设计,它只适合于规模较小的数据处理系统(如数据库系统)。
两种方法都遵循结构程序设计的原则:
自顶而下逐步细化的策略。
结构化方法,结构化方法(StructuredMethod)是强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法。
结构是指系统内各个组成要素之间的相互联系、相互作用的框架。
结构化开发方法提出了一组提高软件结构合理性的准则,如抽象与分解、模块独立性、信息隐藏等。
针对软件生存周期各个不同的阶段,它有结构化分析(SA)、结构化设计(SD)和结构化程序设计(SP)等方法。
结构化方法的产生,结构化分析和设计方法(StructuedAnalysis&Design)起源于结构化程序设计方法(StructuedProgramming)早期人们为提高机器的运行效率频繁使用GOTO语句,迫使程序变得十分复杂。
后来,在构造算法语言时,人们提出了使用三种基本结构即可完成任何复杂的程序结构。
顺序结构判定结构循环结构,结构化方法的产生(续),Bohm等人证明了这种说法。
由此而提出了结构程序设计方法。
由此发展了结构化设计技术,进而发展了结构化分析技术。
结构化分析方法是20世纪70年代中期由美国E.Yourdon等人提出,此后得到迅速而广泛的应用。
最早用于数据处理类型软件的需求分析。
后用于描述实时控制问题。
结构化方法的特点,自顶向下,逐层分解。
结构化方法的基本思想是自顶向下逐层分解,把一个问题分解成若干个小问题,每个小问题再分解成若干个更小的问题,经过多次逐层分解,每个最低层的问题都是足够简单、容易解决的,这个过程就是分解的过程。
采用的方法是“抽象”和“分解”。
以此控制系统的复杂性。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 数据 驱动 软件设计 方法