软件工程第09章_第1页
软件工程第09章_第2页
软件工程第09章_第3页
软件工程第09章_第4页
软件工程第09章_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

道德讲堂第一讲:道德理论专题——继承和弘扬中华民族优良道德传统修德明道

锦心绣行锦绣讲堂软件工程第09章软件工程第09章9.1面向数据设计的概念JSD方法是Jackson于1989年对软件设计中广为使用的Jackson结构程序设计(JacksonStructuredProgramming,简称JSP)方法的扩展。DSSD方法,也称为Warnier‑Orr方法,是对Warnier程序逻辑构造(LogicalConstructionofProgram,简称LCP)方法的扩充,除了设计能力以外,还加强了分析能力。9.1面向数据设计的概念面向数据设计方法一般都包括下列任务:1.确定数据结构特征;2.用顺序、选择和重复三种基本形式表示数据;3.把数据结构表示映射为软件的控制结构;4.用与具体方法配套的设计指南进一步精化控制结构;5.开发软件的过程性描述。9.1面向数据设计的概念JSD和DSSD方法的软件总体结构设计与软件过程性设计的分界并不明显,都能很快地过渡到过程性描述。这也是易于理解和易于维护的重要表现之一。JSD和DSSD也是分析与设计一体化的,本章侧重于讨论与设计有关的技术。面向数据的设计方法,要求信息结构用层次图表示,在软件需求规格说明中与信息域的描述相对应。9.1面向数据设计的概念面向数据的设计方法的适用场合具有明显的层次信息结构的应用:企事业的信息管理系统;系统软件(如操作系统);科学与工程计算;计算机辅助教学;组合问题求解等领域。例如:CAD/CAE/CIM类应用软件。9.2Jackson系统开发方法用JSD方法开发一个软件的步骤:1)标识实体与动作:用与面向对象方法类似的分析技术识别出系统中的实体(包括人、对象、产生或使用信息的组织)和动作(客观世界中影响系统实体的那些事件);2)生成实体结构图:针对每一实体,将影响它的所有动作按发生的时间顺序用Jackson结构图(Jacksondiagrams)表示出来。为了描述时间约束,同一动作必须出现在多张结构图中;用JSD方法开发一个软件的步骤:3)初建系统模型:将实体和动作统一用一个过程模型表示,并定义该模型中的过程与客观世界中的过程之间的联系。所用描述工具为系统规格说明图(SystemSpecificationDiagram,简称SSD);4)扩充功能性过程:在过程模型中扩充交互型功能和信息型功能,分别产生内部输入信息和系统输出信息;5)系统定时:确定实现必须满足的时间约束;6)实现:确定系统中所有软硬件成分,形成一个完整设计方案。前三个步骤主要在需求分析阶段完成,后三步是软件设计的任务。9.2.1JSD分析技术回顾我们曾以大学校园内直达交通车系统USS为例进行需求分析,结果得出“交通车”和“按钮”两实体及其动作对应的实体结构图如下图所示。9.2.1JSD分析技术回顾初建系统模型后,得到USS的系统规格说明图(图7‑2‑4)。其中后缀为“_0”的过程表示客观世界中的过程(或外部过程),后缀为“_1”的过程表示系统模型内的过程(或模型过程)。图7-2-4USS的系统规格说明图9.2.1JSD分析技术回顾将实体结构图与初建系统模型(系统规格说明图)综合起来,可导出目标软件系统中每个过程内部细节的结构正文表示,如6.2.3节过程BUTTON_1和SHUTTLE_1所描述。上述结构正文也可对应地用Jackson结构图表示。图6‑2‑5是与模型过程SHUTTLE_1的结构正文对应的Jackson结构图。细细品味《去年的树》,一种哀婉动人的心绪会萦绕在我们心头,久久挥之不去。究竟是什么打动了我们的心?《去年的树》是一个关于友谊的故事,但它的构思却与众不同:故事刚交待了鸟儿和树的友谊,树就从故事中退出了。作者的叙述主线完全落在了鸟儿身上,让鸟儿信守诺言,去追寻树的踪迹。故事的结局让我们心灵震颤——鸟儿找到的已经不是当年枝叶繁茂的大树,而是朋友的躯体点燃的灯火,尽管这样,鸟儿还是对灯火唱起了这个故事打动我们的不只是鸟儿的信守诺言,而是一种生死不渝的友谊。当友谊超越了生死的界限,就成为感人肺腑的永恒情怀,成为巨大的精神力量。我觉得这是这个童话人文内涵的主导倾向,它有别于其他歌颂友谊的课文,具有独到的教育价值。当我第一遍读文本时,我觉得这篇作品的主旨在“环保”上:要爱护树木,保护树木,不应该乱加砍伐。但再读几遍后,我认为作为文学作品,这篇童话更为重要的,在于非常生动地叙写并歌颂了人与人之间存在的深厚的爱意、纯真忠诚的友谊。小鸟对着灯火歌唱着,树变成火柴,这是有形的,可是当变成火光,就是无形的,小鸟为什么还要歌唱?小鸟对着不可触摸的,已经飘逝的火光唱歌,明明知道它已经不会回答了。这是尽心,这是牵挂,这是深厚的爱意,这是纯真的友谊,这是对自己的爱负责。”虽然我对文本的解读是到位的,但在教学中,对引导学生体会小鸟的信守诺言做得不到位,感觉太突兀了,学生还不明白。二、重视整体把握和时间的安排对要进行的每一个教学环节先进行估计,想想这一个步在课堂中我试图把学生带入文本,带入作者的心灵。因此,我把指导学生朗读作为重点,让学生带着忧伤,带着对大树的同情深深的去体会,去感悟。因为方法到位,大胆放手,课堂基本达到了自己想要的那种境界。珍视学生独特的感受。在最后3个自然段的学习中,我提出问题:小鸟深情地注视着油灯的火苗,然后为火苗唱起了去年的那支歌。那是什么朋友一生一起走,那些日子不再有。一句话一辈子,一生情一杯酒。朋友不曾孤单过,一声朋友你会懂。还有伤还有痛,还要走还有我。同学们畅所欲言,有的说,有的唱,课堂气氛达到了高潮。朋友一生一起走,那些日子不再有。一句话一辈子,一生情一杯酒。朋友不曾孤单过,一声朋友你会懂。还有伤还有痛,还要走还有我。同学们畅所欲言,有的说,有的唱,课堂气氛达到了高潮。歌,你能知道吗?朋友一生一起走,那些日子不再有。一句话一辈子,一生情一杯酒。朋友不曾孤单过,一声朋友你会懂。还有伤还有痛,还要走还有我。同学们畅所欲言,有的说,有的唱,课堂气氛达到了高潮。9.1面向数据设计的概念在许多应用领域中,信息有着清晰的层次结构,输入数据、存储信息(即数据库)及输出数据都有各自的组织形式。一般说来,顺序出现的数据可以用顺序控制结构的程序处理;选择出现的数据用分支控制结构的程序处理;重复出现的数据用循环控制结构的程序处理。因此可以根据数据的组织形式确定使用和处理这些数据的程序的组织形式。9.1面向数据设计的概念面向数据的设计就是根据数据结构的表示获得软件表示。本章重点讨论:1.Jackson系统开发方法

JacksonSystemDevelopment,简称JSD2.基于结构化数据的系统开发方法

DataStructuredSystemDevelopment,简称DSSD9.1面向数据设计的概念JSD方法是Jackson于1989年对软件设计中广为使用的Jackson结构程序设计(JacksonStructuredProgramming,简称JSP)方法的扩展。DSSD方法,也称为Warnier‑Orr方法,是对Warnier程序逻辑构造(LogicalConstructionofProgram,简称LCP)方法的扩充,除了设计能力以外,还加强了分析能力。9.1面向数据设计的概念面向数据设计方法一般都包括下列任务:

1.确定数据结构特征;

2.用顺序、选择和重复三种基本形式表示数据;

3.把数据结构表示映射为软件的控制结构;

4.用与具体方法配套的设计指南进一步精化控制结构;

5.开发软件的过程性描述。9.1面向数据设计的概念JSD和DSSD方法的软件总体结构设计与软件过程性设计的分界并不明显,都能很快地过渡到过程性描述。这也是易于理解和易于维护的重要表现之一。JSD和DSSD也是分析与设计一体化的,本章侧重于讨论与设计有关的技术。面向数据的设计方法,要求信息结构用层次图表示,在软件需求规格说明中与信息域的描述相对应。9.1面向数据设计的概念面向数据的设计方法的适用场合具有明显的层次信息结构的应用:企事业的信息管理系统;系统软件(如操作系统);科学与工程计算;计算机辅助教学;组合问题求解等领域。例如:CAD/CAE/CIM类应用软件。9.2Jackson系统开发方法用JSD方法开发一个软件的步骤:

1)标识实体与动作:用与面向对象方法类似的分析技术识别出系统中的实体(包括人、对象、产生或使用信息的组织)和动作(客观世界中影响系统实体的那些事件);2)生成实体结构图:针对每一实体,将影响它的所有动作按发生的时间顺序用Jackson结构图(Jacksondiagrams)表示出来。为了描述时间约束,同一动作必须出现在多张结构图中;用JSD方法开发一个软件的步骤:3)初建系统模型:将实体和动作统一用一个过程模型表示,并定义该模型中的过程与客观世界中的过程之间的联系。所用描述工具为系统规格说明图(SystemSpecificationDiagram,简称SSD);4)扩充功能性过程:在过程模型中扩充交互型功能和信息型功能,分别产生内部输入信息和系统输出信息;5)系统定时:确定实现必须满足的时间约束;6)实现:确定系统中所有软硬件成分,形成一个完整设计方案。前三个步骤主要在需求分析阶段完成,后三步是软件设计的任务。9.2.1JSD分析技术回顾我们曾以大学校园内直达交通车系统USS为例进行需求分析,结果得出“交通车”和“按钮”两实体及其动作对应的实体结构图如下图所示。ShuttleShuttle*bodyStation(i)Arrive(i)°Leave(i)°Arrive(1)ButtonPush*Leave(1)9.2.1JSD分析技术回顾初建系统模型后,得到USS的系统规格说明图(图7‑2‑4)。其中后缀为“_0”的过程表示客观世界中的过程(或外部过程),后缀为“_1”的过程表示系统模型内的过程(或模型过程)。图7-2-4USS的系统规格说明图Button‑1DSShuttle‑0Shuttle‑1SV数据流联系Button‑0状态向量联系9.2.1JSD分析技术回顾将实体结构图与初建系统模型(系统规格说明图)综合起来,可导出目标软件系统中每个过程内部细节的结构正文表示,如6.2.3节过程BUTTON_1和SHUTTLE_1所描述。上述结构正文也可对应地用Jackson结构图表示。图6‑2‑5是与模型过程SHUTTLE_1的结构正文对应的Jackson结构图。图6‑2‑5对应于结构正文的结构图Shuttle‑1Station(i)*Arrive(1)Leave(1)Shuttle‑body1TRANSit‑body1wait‑body1Transit(i)*Transit(1)*Arrive(i)Leave(i)Wait(1)*TRANSit‑bodywait‑bodyWait(i)*9.2.2扩充功能性过程这一步骤以初建系统模型为基础,通过数据流和状态向量两种方式将新定义的功能性过程与原有的模型过程联系起来。具体考虑两类功能:1.信息型功能(informationfunction):从模型过程产生的数据流和状态向量中提取信息并生成输出信息。嵌入型功能只需在原有模型过程的结构正文中插入一些操作;2.交互型功能(interactivefunction):监视模型过程的状态向量,在输出结果的同时产生内部输入信息,反过来影响模型化过程的动作。图10‑2‑1两类功能性过程与系统模型的关系外部过程系统模型信息型功能过程交互型功能过程客观世界系统9.2.2扩充功能性过程假设在交通车上有一块发光板,专门显示车到站的信息,发光板“亮”说明车到站,“暗”说明车离开。此板或亮或暗受LON(i)、LOFF(i)两命令的控制。在过程SHUTTLE_1中可嵌入一个新功能:当交通车到达站(i)时,发出命令LON(i);离开站(i)时,发出命令LOFF(i)。交通车在两站之间往返运行过程中,输出“开关发光板”的命令数据流,图10‑2‑2为增加这一功能后的SSD,结构正文修改为:9.2.2扩充功能性过程图10‑2‑2修改后的SSDLAMPCMDS—LampcommandsButton‑0BDSVButton‑1Shuttle‑0Shuttle‑1LAMPCMDSSHUTTLE_1seqLON(1)/*控制发光板“亮”,说明交通车正停在站1上*/read状态向量WAIT_BODY1itrwhileWait(1)read状态向量WAIT_BODY1endLOFF(1)/*交通车即将离站;控制发光板“暗”*/LEAVE(1)TRANSIT_BODY1itrwhileTransit(1)read状态向量TRANSIT_BODY1endSHUTTLE_BODY1itrSTATIONseqARRIVE(i)LON(i)/*交通车已停靠站(i)*/WAIT_BODYitrwhileWait(i)read状态向量WAIT_BODYendLOFF(i)/*交通车将离开站(i)*/LEAVE(i)TRANSIT_BODYitrwhileTransit(i)read状态向量TRANSIT_BODYendSTATIONendSHUTTL_BODY1endARRIVE(1)SHUTTL_1end9.2.2扩充功能性过程第二个功能是产生关于启动(START)和关闭(STOP)发动机的命令,以此控制交通车的运行。下达STOP命令的条件是,传感器显示车已到站,而下达START命令的条件是乘客压下按钮招呼交通车并恰好交通车在某个站上等待。为此引入一个功能性过程mcontrol,它从SHUTTLE_1和BUTTON_2两过程接收数据,适时地发出START和STOP两种命令。过程SHUTTLE_1与过程mcontrol之间用数据流“S1D”连接。因此SHUTTLE_1的结构正文进一步修改为:SHUTTLE_1seqLON(1)read状态向量WAIT_BODY1itrwhileWait(1)read状态向量WAIT_BODY1endLOFF(1)LEAVE(1)TRANSIT_BODY1itrwhileTransit(1)read状态向量TRANSIT_BODY1endSHUTTLE_BODY1itrSTATIONseqARRIVE(i)

writearrivetoS1D/*向mcontrol发送数据流,说明车已到站(i)*/LON(i)WAIT_BODYitrwhileWait(i)read状态向量WAIT_BODYendLOFF(i)LEAVE(i)TRANSIT_BODYitrwhileTransit(i)read状态向量TRANSIT_BODYendSTATIONendSHUTTLE_BODY1endARRIVE(1)

writearrivetoS1D/*发送数据流,说明车已到站1*/SHUTTLE_1end9.2.2扩充功能性过程过程SHUTTLE_1执行“read状态向量”操作和过程mcontrol对“S1D”的访问都必须有足够快的频率,否则交通车将不能及时停下来。为完成USS实例,还需进一步考虑实体BUTTON模型。过程BUTTON_1是对按钮动作的精确描述(即每次压下都对应过程push的一次调用),实际上系统应把第一次压下按钮招呼交通车的动作与一次运行未开始之前乘客压下按钮招呼交通车的请求区分开来。用已有实体无法描述和区分动作之间的时间约束,常常引入额外的实体——为此设计过程BUTTON_2,结构图如图10‑2‑3所示图10‑2‑3button‑2的结构图Button‑2Pushgroup*ExtraArrivalbodyExtrapushbodyRequestpushArrivalExtraArrival*Extrapush*9.2.2扩充功能性过程功能性过程mcontrol既负责检查BUTTON_2的状态向量“B2V”,确定是否有未满足的请求,又负责把从SHUTTLE_1处(S1D)获取的信息(即交通车已到达发出请求的车站)传递给BUTTON_2(MBD流)。在此定义了一个交互型功能。BUTTON_2的结构正文描述如下:BUTTON_2seq

request:=no/*置初值*/readMBDandB1D/*检查是否有未满足请求和交通车是否停在站上*/BUTTON_BODYitrPUSH_GROUPseqEXTRA_AR_BODYitrwhile(ARRIVAL)/*交通车已靠站但尚无请求,或既无请求交通车也未靠站*/readMBDandB1DEXTRA_AR_BODYendRQ_PUSHseq/*首次请求到达,置请求标志*/

request:=yes

readMBDandB1DRQ_PUSHendEXTRA_RQ_PUSHitrwhile(REQUEST)/*因交通车尚未靠站,请求暂不满足,循环等待*/readMBDandB1DEXTRA_RQ_PUSHendARRIVALseq/*请求满足,清请求标志*/

request:=noreadMBDandB1DARRIVALendPUSHGROUPendBUTTON_BODYendBUTTON_2end9.2.2扩充功能性过程图10‑2‑4给出的系统规格说明图反映了在此步骤完成的所有工作。我们在SHUTTLE_1中嵌入了一个功能,产生开、关发光板的命令,增加了一个功能性过程mcontrol,它除了负责完成BUTTON_2上的交互型功能外,还产生启动、关闭发动机的命令。至于mcontrol过程的内部结构可采用传统的JSP技术导出,关于JSP技术我们将在9.2.4和9.2.5节讨论。图10‑2‑4扩充功能1和2后的系统规格说明图Button‑0BDSVButton‑1Shuttle‑0Shuttle‑1LAMPCMDSB1DButton‑2S1DMBDMcontrolB2VMOTORCMDS9.2.3施加时间约束经过前几个步骤,获得一个由若干顺序过程组成的系统,它们通过数据流或状态向量进行通信,但对这些处理过程的执行速度尚未考虑。所以,对于输出流,定义输出速度和更新频率;对于输入流,要求子系统保证及时收集所有输入信息并保持它们的到达顺序不变。在USS实例中,关于时间方面的约束包括:

1.停车命令允许的最大延迟时间;

2.开、关发光板命令的响应时间。目前在JSD方法中,时间约束的描述仍采用非形式化的方式。一种解决办法是引入时间标志流(timemarkerstream)作为模型过程的输入,时间标志流由特定的时钟过程产生。9.2.4实现与JSP技术实现是JSD方法的最后一个步骤,它将系统功能说明配置到给定的软硬件环境上,并满足性能方面的约束。这一步骤主要考虑:过程在多处理机上的调度(scheduling)、根据SSD和Jackson结构图进行过程变换(transformation)、过程状态向量的存储和访问(storageandaccessofstatevectors)以及借助JSP技术描述功能性过程。因篇幅所限,本节及下节仅讨论最后一个问题。9.2.4实现与JSP技术JSP技术是一种详细设计技术,它由问题所固有的数据结构导出过程的内部结构。所用的基本工具称为数据结构图,是Jackson结构图的变种,专门用于描述数据元素之间的逻辑关系。例如在图10‑2‑5中,数据集合A由若干个B结构(“*”表示重复)组成,而每个B由若干个C结构后跟一个D结构组成(同级分叉表示顺序),D结构或为数据项E或为F(“°”表示选择),这种层次信息结构的表示方法同样适用于输入、输出和数据库中的数据。图10‑2‑5数据结构图AB*C*DE°F°图10‑2‑6信用卡记帐系统OutstandingbalCNO主文件YYYY1749.30CNODATEAMTXXXX9.1725.30XXXX9.27108.20XXXX9.3065.40YYYY9.13158.00YYYY9.28307.90………支付文件支付记录*CNO分组*CNOCNO主文件顾客记录*余款额支付文件XXXX2373.50……简化的信用卡付帐系统如图10‑2‑6所示。系统的输入是支付文件和顾客主文件。支付文件的每个记录由顾客号(CNO)、支付日期(DATE)和支付金额(AMT)三个数据项组成,并假定已按顾客号预先分组。顾客主文件由顾客号(CNO)和余款额(Outstandingbal)两项组成。两个文件分别对应图10-2-6中所示数据结构图。假设该系统输出报表如下图所示。AccountingReport

CNODateAmtOldbalNewbal

XXXX

YYYY

Grandtot图10‑2‑7系统输出报表所对应的数据结构图记帐报表情况汇总顾客数据总付款额总余额CNO组*CNO支付记录*付款总数平帐数据原余额现余额9.2.5产生过程表示JSP方法通过综合、对照过程的输入/输出数据结构的层次关系导出对应的过程性表示——程序。具体步骤如下:1.找出输入与输出数据结构中有对应关系的数据元素,即有直接因果关系者,它们在程序中可一并处理。2.依据下述三条规则从数据结构图导出Jackson结构图。1)在Jackson结构图中,为有对应关系的每对数据元素画一个处理框,该框所处层次取这两个数据元素在各自数据结构图中层次较低者。2)参照输入数据结构图中剩余的每个数据元素所处层次,在Jackson结构图的相应层次上画一个处理框。3)参照输出数据结构图中剩余的每个数据元素所处层次,在Jackson结构图的相应层次上画一个处理框。9.2.5产生过程表示3.列出所有操作和条件(包括分支和循环条件),并把它们分配到Jackson结构图中。4.根据Jackson结构图,产生结构正文描述。将上述第1步骤用于信用卡付帐系统发现,输入数据结构“支付文件”中的“CNO组”、“支付记录”分别与输出数据结构中的“CNO组”、“支付记录”对应,输入数据结构“顾客主文件”中的“顾客记录”与输出数据结构中的“CNO组”对应。参照上述第2步骤得到该系统的结构图(图10‑2‑8)。图10‑2‑8导出Jackson结构图(程序结构)信用卡付帐系统情况汇总处理顾客数据总付款额总余额处理CNO组*处理CNO处理支付记录*计算顾客支付总额平帐数据原余额现余额执行完3、4两步骤后,该结构图中

“处理顾客数据”一框对应的结构正文应为:PROCESS_CUST_DATAseqopenPAY_FILE;openCNO_MASTER_FILE;PROCESSCNO_GROUPitruntileof:PAY_FILE;readPAY_FILE;PROCESS_CNO;/*读顾客总文件,找出原余额*/PROCESS_PAY_RECitruntilend:CNO_GROUP;writereportline;computertotalpayments;readPAY_FILE;endPROCESS_PAY_RECCOMPUTE_CUST_TOTAL;COMPUTE_BALANCEseqPROCESS_OLD_BAL;COMPUTE_NEW_BAL;writereportline;endCOMPUTE_BALANCEendPROCESS_CNO_GROUPendPROCESS_CUST_DATA课程名称:软件工程第18讲班级:日期:教室:教学题目:9.3DSSD方法教学目的:掌握DSSD方法,了解复杂过程逻辑的描述。教学重点:DSSD方法。教学难点:DSSD方法。教具:多媒体教室、电子教案作业:习题49.3基于结构化数据的系统开发(DSSD)方法DSSD需求分析阶段产生的需求规格说明,将作为设计过程的输入信息。设计过程的输出为设计规格说明,具体包括输出数据结构、过程描述和设计约束三方面内容。DSSD设计分为逻辑设计和物理设计两个步骤,逻辑设计着重考虑软件的输出、界面及过程性表示,物理设计则在逻辑设计的基础上考虑如何满足性能、可维护性和其他一些设计约束。基本工具:Warnier‑Orr图,既可描述程序结构,又可描述数据结构。这里介绍一种简化的DSSD方法。9.3.1DSSD设计步骤DSSD的逻辑设计步骤主要有两个:1.推导输出数据的逻辑结构(LogicalOutputStructure,简称LOS);2.由LOS导出处理过程的逻辑结构(LogicalProcessStructure,简称LPS)。9.3.1DSSD设计步骤按下述简化方法,LOS可分四步导出:1)从问题描述本身或其他相关需求信息中找出所有不同的原子数据项(即不可再分的数据项);2)说明每个原子数据项的出现频率;3)找出那些可再分的一般数据项;4)用Warnier-Orr图表示LOS。【例9.1】产生如图10-3-1所示的“机器使

用情况日报表”系统。Daily_Machine_Tool_Usage_ReportDate:DATE

ToolcategoryToolIDstatusNO.partsproducedTool_CATTIDSNO_PARTS

CATEGORYTOTALPARTS:CAT_TOT_PARTS

CATEGORYTOTALPARTS:TOTALPARTSPRODUCEDTHISDATE:MANUF_TOTAL9.3.2推导输出数据的逻辑结构输出数据结构表现为数据项的一种层次结构。按照LOS推导步骤:1)首先从问题描述(例9.1所给报表原型)中找出原子数据项;2)确定每个原子数据项出现的频率(图10‑3‑2)。图10‑3‑2原子数据项及出现频率原子数据项频率细节HEADING(标题)DATE(日期)COLUME_HEAD(列标题)TOOL_CAT(工具类名称)TID(工具标志)S(状态)NO_PARTS(产品件数)SUB_TOTAL_HEAD(按类汇总小标题)CAT_TOT_PARTS(按类汇总)TOTAL_HEAD(按目汇总标题)MANUF_TOTAL(每日产品总计)1/报表1/报表1/报表1/工具类1/工具1/工具1/工具1/工具类1/工具类1/报表1/报表每日机器使用情况报表若干类,每类有若干项按类汇总按日汇总9.3.2推导输出数据的逻辑结构3)找出一般数据项,有:报表(出现一次)、工具类(每报表出现t次)、工具(每类出现s次)。4)用Warnier-Orr图表示LOS9.3.2推导输出数据的逻辑结构图10‑3‑3LOS的Warnier‑Orr图示标题日期标题日期工具类名称工具标识列标题工具状态工具类(1,s)产品件数(1,t)按类汇总小标题每日汇总标题按类汇总每日产品总计生产日报表9.3.3推导处理过程的逻辑结构(LPS)LPS是软件的过程性表示,推导步骤如下:1)从LOS的Warnier‑Orr图示中去掉所有原子数据项;生产日报表图10‑3‑4去掉所有原子数据项

工具工具类(1,s)(1,t)2)对每个一般数据项加上“.BEGIN、.END”分隔符;.BEGIN

.BEGIN工具工具类(1,s)(1,t)

.END.END生产日报表3)定义所有初始、终止的指令或过程;

4)说明所有数值计算和非数值处理;.BEGIN置MANUF_TOTAL为0.BEGIN

置CAT_TOTALPARTS为0

工具类工具(1,t)(1,s)把NO_PARTS加到CAT_TOTAL_PARTS上

.END.END生产日报表把CAT_TOTAL_PARTS加到MANUF_TOTAL上5)说明所有输出指令或过程;

6)说明所有输入指令或过程。图10‑3‑6完整的LPS生产日报表.BEGIN工具类(1,t).END输出标题、日期标题、日期、列标题置MANUF_TOTAL为0取一条逻辑记录.BEGIN工具(1,s).END输出TOOL_CAT置CAT_TOTAL_PAR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论