版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2022-4-121 软件工程软件工程 Software Engineering2004.072022-4-122第十一章第十一章 面向数据的设计方法面向数据的设计方法 o讨论信息处理系统的信息结构讨论信息处理系统的信息结构(称为数据结构称为数据结构)与算与算法的效率和复杂性的关系,以及与软件结构和软法的效率和复杂性的关系,以及与软件结构和软件处理过程的关系。件处理过程的关系。o面向数据的设计方法的基本特点是以数据结构作面向数据的设计方法的基本特点是以数据结构作为软件设计的基础。为软件设计的基础。2022-4-12311.1 面向数据设计面向数据设计o在诸多应用领域中,信息有清晰的层次结构,输
2、入在诸多应用领域中,信息有清晰的层次结构,输入数据、存储信息数据、存储信息(即数据库即数据库)及输出数据都有各自的及输出数据都有各自的组织形式。组织形式。o一般说来,重复出现的数据用循环控制结构的程序一般说来,重复出现的数据用循环控制结构的程序处理,选择出现的数据用分支控制结构的程序处理。处理,选择出现的数据用分支控制结构的程序处理。o可以根据数据的组织形式确定使用和处理这些数据可以根据数据的组织形式确定使用和处理这些数据的程序的组织形式。的程序的组织形式。o面向数据的设计就是根据数据结构的表示获取软件面向数据的设计就是根据数据结构的表示获取软件表示。表示。第十一章第十一章 面向数据的设计方法
3、面向数据的设计方法2022-4-124重点讨论重点讨论oJackson系统开发,系统开发,JSDo基于结构化数据的系统开发,基于结构化数据的系统开发,DSSD11.1面向数据设计面向数据设计2022-4-125目标和任务目标和任务o面向数据的软件设计方法的目标是产生软件的过面向数据的软件设计方法的目标是产生软件的过程性描述,而对程序的模块化结构不予特殊考虑。程性描述,而对程序的模块化结构不予特殊考虑。o一般都包括下列任务:一般都包括下列任务:(1)确定数据结构特征;确定数据结构特征;(2)用顺序、选择和重复三种基本形式表示数据;用顺序、选择和重复三种基本形式表示数据;(3)把数据结构表示映射为
4、软件的控制结构;把数据结构表示映射为软件的控制结构;(4)用与具体方法配套的设计指南进一步精化控制结构;用与具体方法配套的设计指南进一步精化控制结构; (5)开发软件的过程性描述。开发软件的过程性描述。11.1面向数据设计面向数据设计2022-4-12611.2 Jackson系统开发方法系统开发方法oJSD方法的步骤:方法的步骤:(1)标识实体与动作标识实体与动作(2)生成实体结构图生成实体结构图(3)初建系统模型初建系统模型(4)扩充功能性过程扩充功能性过程(5)系统定时系统定时(6)实现实现o前三个步骤主要在需求分析阶段完成,后三步是前三个步骤主要在需求分析阶段完成,后三步是软件设计的任
5、务。软件设计的任务。第十一章第十一章 面向数据的设计方法面向数据的设计方法2022-4-12711.2.1 JSD分析技术回顾分析技术回顾o7.2.1节大学校园直达交通车系统节大学校园直达交通车系统USS为例进行为例进行的需求分析;的需求分析;o初建系统模型后,得到初建系统模型后,得到USS的系统规格说明图;的系统规格说明图;o将实体结构图与初建系统模型将实体结构图与初建系统模型(系统规格说明图系统规格说明图)综合起来,可导出目标软件系统中每个过程内部综合起来,可导出目标软件系统中每个过程内部细节的结构正文表示;细节的结构正文表示;o上述结构正文亦可对应地用上述结构正文亦可对应地用Jackso
6、n结构图表示。结构图表示。11.2Jackson系统开发方法系统开发方法2022-4-12811.2.2 扩充功能性过程扩充功能性过程o这一步骤以初建系统模型这一步骤以初建系统模型为基础,通过数据流和状为基础,通过数据流和状态向量两种方式将新定义态向量两种方式将新定义的功能性过程与原有的模的功能性过程与原有的模型过程联系起来。型过程联系起来。oJSD方法具体考虑二类功方法具体考虑二类功能:能:(1)信息型功能信息型功能(2)交互型功能交互型功能11.2Jackson系统开发方法系统开发方法2022-4-129示例:嵌入新功能后的示例:嵌入新功能后的SSD11.2Jackson系统开发方法系统开
7、发方法2022-4-1210示例:示例:button 2的结构图的结构图11.2Jackson系统开发方法系统开发方法2022-4-1211示例:扩充功能示例:扩充功能1和和2后的后的SSD11.2Jackson系统开发方法系统开发方法2022-4-121211.2.3 施加时间约束施加时间约束o经过前几个步骤,获得一个由若干顺序过程组成经过前几个步骤,获得一个由若干顺序过程组成的系统,它们通过数据流或状态向量进行通信,的系统,它们通过数据流或状态向量进行通信,但对这些处理过程的执行速度尚未考虑。但对这些处理过程的执行速度尚未考虑。o这里主要讨论实现时必须满足的各种时间限制。这里主要讨论实现时
8、必须满足的各种时间限制。o对于输出流定义输出速度和更新频率,对于输入对于输出流定义输出速度和更新频率,对于输入流,要求输入子系统保证及时收集所有输入信息流,要求输入子系统保证及时收集所有输入信息并保持它们的到达顺序不变。并保持它们的到达顺序不变。11.2Jackson系统开发方法系统开发方法2022-4-1213示例示例o在在USS实例中,关于时间方面的约束包括:实例中,关于时间方面的约束包括:(1)停车命令允许的最大延迟时间,这与交通车的行进速停车命令允许的最大延迟时间,这与交通车的行进速度和制动装置有关度和制动装置有关;(2)开、关发光板命令的响应时间。开、关发光板命令的响应时间。o目前在
9、目前在JSD方法中,时间约束的描述仍采用非形方法中,时间约束的描述仍采用非形式化的方式,一种解决办法是引入时间标志流式化的方式,一种解决办法是引入时间标志流(Time Marker Stream)作为模型过程的输入,作为模型过程的输入,时间标志流需由特定的时钟过程产生。时间标志流需由特定的时钟过程产生。11.2Jackson系统开发方法系统开发方法2022-4-121411.2.4 实现与实现与JSP技术技术o实现是实现是JSD方法的最后一个步骤,它将系统功能方法的最后一个步骤,它将系统功能说明适配到给定的软、硬件环境上,使其能高效说明适配到给定的软、硬件环境上,使其能高效运行并满足性能方面的
10、约束。运行并满足性能方面的约束。o这一步骤主要考虑:过程在多处理机上的调度、这一步骤主要考虑:过程在多处理机上的调度、根据根据SSD和和Jackson结构图进行过程变换、过程结构图进行过程变换、过程状态向量的存储和访问以及借助状态向量的存储和访问以及借助JSP技术描述功能技术描述功能性过程。性过程。o本节及下节仅讨论最后一个问题。本节及下节仅讨论最后一个问题。11.2Jackson系统开发方法系统开发方法2022-4-1215JSP技术技术oJSP技术是一种详技术是一种详细设计技术,它由细设计技术,它由问题固有的数据结问题固有的数据结构导出过程的内部构导出过程的内部结构。结构。o所用的基本工具
11、称所用的基本工具称为数据结构图,是为数据结构图,是Jackson结构图的结构图的变种,专门用于描变种,专门用于描述数据元素之间的述数据元素之间的逻辑关系。逻辑关系。o示例:图示例:图11.511.2Jackson系统开发方法系统开发方法2022-4-1216示例:简化的信用卡付帐系统示例:简化的信用卡付帐系统11.2Jackson系统开发方法系统开发方法2022-4-1217示例示例:系统输出报表系统输出报表及对应的数据及对应的数据结构图结构图2022-4-121811.2.5 产生过程表示产生过程表示oJSP方法通过综合、对照过程的输入方法通过综合、对照过程的输入/输出数据结输出数据结构的层
12、次关系导出对应的过程性表示构的层次关系导出对应的过程性表示(即程序即程序),具体步骤如下:具体步骤如下:(1)找出输入数据结构与输出数据结构中有对应关系的数找出输入数据结构与输出数据结构中有对应关系的数据元素,即有直接因果关系者,它们在程序中可一并处据元素,即有直接因果关系者,它们在程序中可一并处理。理。(2)依据下述三条规则从数据结构图导出依据下述三条规则从数据结构图导出Jackson结构图。结构图。Jackson结构图为有对应关系的每对数据元素画一个处理框,结构图为有对应关系的每对数据元素画一个处理框,该框所处层次取这两个数据元素在各自数据结构图中层次较该框所处层次取这两个数据元素在各自数
13、据结构图中层次较低者。低者。参照输入数据结构图中剩余的每个数据元素所处层次,在参照输入数据结构图中剩余的每个数据元素所处层次,在Jackson结构图的相应层次上画一个处理框。结构图的相应层次上画一个处理框。参照输出数据结构图中剩余的每个数据元素所处层次,在参照输出数据结构图中剩余的每个数据元素所处层次,在Jackson结构图的相应层次上画一个处理框。结构图的相应层次上画一个处理框。11.2Jackson系统开发方法系统开发方法2022-4-1219产生过程表示(续)产生过程表示(续)(3)列出所有操作和条件列出所有操作和条件(包括分枝和循环条件包括分枝和循环条件),并把它,并把它们分配到们分配
14、到Jackson结构图中。结构图中。(4)根据根据Jackson结构图,产生结构正文描述。结构图,产生结构正文描述。o若考虑多个数据结构、或数据结构之间存在冲突若考虑多个数据结构、或数据结构之间存在冲突(包括顺序冲突、边界冲突和结构冲突包括顺序冲突、边界冲突和结构冲突),其处理,其处理过程更加复杂,在此不展开讨论。过程更加复杂,在此不展开讨论。11.2Jackson系统开发方法系统开发方法2022-4-1220示例:信用卡付帐系统的导出示例:信用卡付帐系统的导出Jackson结构图结构图11.2Jackson系统开发方法系统开发方法2022-4-122111.3 基于结构化数据的系统开发基于结
15、构化数据的系统开发(DSSD)方法方法oDSSD方法与方法与JSD方法一样,是覆盖需求分析与软件设计方法一样,是覆盖需求分析与软件设计两个阶段的方法和技术,两个阶段的方法和技术,DSSD需求分析阶段产生的需求需求分析阶段产生的需求规格说明,即应用背景、功能描述和应用结果,将作为设规格说明,即应用背景、功能描述和应用结果,将作为设计过程的输入信息。计过程的输入信息。o设计过程的输出为设计规格说明,具体包括输出数据结构、设计过程的输出为设计规格说明,具体包括输出数据结构、过程描述和设计约束三方面内容。过程描述和设计约束三方面内容。oDSSD设计分为逻辑设计和物理设计两个步骤,逻辑设计设计分为逻辑设
16、计和物理设计两个步骤,逻辑设计着重考虑软件的输出、界面及过程性表示,物理设计则在着重考虑软件的输出、界面及过程性表示,物理设计则在逻辑设计的基础上考虑如何满足性能、可维护性和其他一逻辑设计的基础上考虑如何满足性能、可维护性和其他一些设计约束。些设计约束。o值得注意的是,值得注意的是,WarnierOrr图作为图作为DSSD的基本工具,的基本工具,象象JSD中中Jackson图一样,既可描述程序结构,又可描述图一样,既可描述程序结构,又可描述数据结构。数据结构。第十一章第十一章 面向数据的设计方法面向数据的设计方法2022-4-122211.3.1 DSSD设计步骤设计步骤oDSSD的逻辑设计步
17、骤主要有两个:的逻辑设计步骤主要有两个:(1)推导输出数据的逻辑结构推导输出数据的逻辑结构LOS(2)由由LOS导出处理过程的逻辑结构导出处理过程的逻辑结构LPSo按下述简化方法,按下述简化方法,LOS可分四步导出:可分四步导出:从问题描述本身或其他相关需求信息中找出所从问题描述本身或其他相关需求信息中找出所有不同的原子数据项有不同的原子数据项(即不可再分的数据项即不可再分的数据项);说明每个原子数据项的出现频率;说明每个原子数据项的出现频率;找出那些可再分的一般数据项;找出那些可再分的一般数据项;用用Warnier图表示图表示LOS。11.3基于结构化数据的系统开发基于结构化数据的系统开发(
18、DSSD)方法方法2022-4-1223示例:示例:“机器使用情况日报表机器使用情况日报表”系统系统11.3基于结构化数据的系统开发基于结构化数据的系统开发(DSSD)方法方法2022-4-122411.3.2 推导输出数据的逻辑结构推导输出数据的逻辑结构o输出数据结构表现为数据项的一种层次结构。按输出数据结构表现为数据项的一种层次结构。按照照LOS推导步骤,首先从问题描述中找出原子数推导步骤,首先从问题描述中找出原子数据项,然后确定每个原子数据项出现的频率。据项,然后确定每个原子数据项出现的频率。o下一步找出一般数据项,得到下一步找出一般数据项,得到WarnierQrr图。图。11.3基于结
19、构化数据的系统开发基于结构化数据的系统开发(DSSD)方法方法2022-4-1225示例:原子数据项及出现频率示例:原子数据项及出现频率11.3基于结构化数据的系统开发基于结构化数据的系统开发(DSSD)方法方法2022-4-1226示例:示例:LOS的的WarnierOrr图示图示11.3基于结构化数据的系统开发基于结构化数据的系统开发(DSSD)方法方法2022-4-122711.3.3 推导处理过程的逻辑结构推导处理过程的逻辑结构oLPS是软件的过程性表示,可按下述步骤导出:是软件的过程性表示,可按下述步骤导出:(1)从从LOS的的WarnierOrr图示中去掉所有原子数据图示中去掉所有
20、原子数据项;项;(2)对每个一般数据项加上对每个一般数据项加上“BEGIN、END”分隔符;分隔符;(3)定义所有初始、终止的指令或过程;定义所有初始、终止的指令或过程;(4)说明所有数值计算和非数值处理;说明所有数值计算和非数值处理;(5)说明所有输出指令或过程;说明所有输出指令或过程;(6)说明所有输入指令或过程。说明所有输入指令或过程。11.3基于结构化数据的系统开发基于结构化数据的系统开发(DSSD)方法方法2022-4-122811.3.4 复杂过程逻辑的描述复杂过程逻辑的描述o为了处理那些复杂的计算和分枝情况,为了处理那些复杂的计算和分枝情况,DSSD提提供了一种称为复杂过程逻辑的专门工具供了一种称为复杂过程逻辑的专门工具.o例:假设某邮购系统按下面算法计算顾客购物的总费用,即货物本身例:假设某邮购系统按下面算法计算顾客购物的总费用,即货物本身的价格加上运费减去折头,按下表计算:的价格加上运费减去折头,按下表计算:11.3基于结构化数据的系统开发基于结构化数据的系统开发(DSSD)方法方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数控冲筛行业深度研究报告
- 湿度数据记录仪行业深度研究报告
- 中国地质钻探用钢管行业市场前景预测及投资价值评估分析报告
- 2026年年中国自动磨刀机行业市场研究及投资战略预测报告
- 双发生体涡街流量计行业深度研究报告
- 2026年中国防水耐候多功能密封胶行业市场前景预测及投资价值评估分析报告
- 2026年中国防水卷行业市场前景预测及投资价值评估分析报告
- 玉林龙潭产业园白平片区排水干渠工程建设项目环境影响报告表
- 后处理系统零部件生产制造项目环境影响报告表
- 天然气管网监控系统设计方案
- 2025西南有色昆明勘测设计(院)股份有限公司专业技术人员招聘(9人)考试笔试备考试题及答案解析
- 完整版2025年一级建造师《公路实务》考试真题及答案解析
- 青年创业培训课件
- 超市散货干货知识培训
- DB37∕T 5156-2020 既有居住建筑加装电梯附属建筑工程技术标准
- 2025公安机关人民警察(高级)执法资格等级考试自测试题及答案
- 农村冬季防火消防知识培训
- 2025年度济南市工会社会工作专业人才联合招聘(47人)笔试参考题库附答案解析
- 【必背】三级政务服务办事员备考题库宝典-2025核心题版
- 《城市轨道交通 场站及周边土地综合开发评价》编制说明
- 临床医学三基三严培训
评论
0/150
提交评论