书签 分享 收藏 举报 版权申诉 / 70
上传文档赚钱

类型总体设计课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:2337887
  • 上传时间:2022-04-05
  • 格式:PPT
  • 页数:70
  • 大小:644KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《总体设计课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    总体 设计 课件
    资源描述:

    1、第四章 总体设计目的和任务:掌握总体设计的目的及任务、分析过程和方法,能够区分目的和任务:掌握总体设计的目的及任务、分析过程和方法,能够区分不同类型的数据流并完成软件结构的设计。(共不同类型的数据流并完成软件结构的设计。(共10学时)学时)重点:重点:1、模块化、抽象、信息隐蔽和局部化、模块独立的概念;、模块化、抽象、信息隐蔽和局部化、模块独立的概念;2、2、启发式原则;、启发式原则;3、3、面向数据流的两种分析方法;、面向数据流的两种分析方法;4 4、能够根据需求分析获得的数据流图进行软件结构的设计;、能够根据需求分析获得的数据流图进行软件结构的设计; 教学内容:教学内容:总体设计的任务总体

    2、设计的任务总体设计的基本目的:是回答“概括地说,系统应该如何实现?”;因此总体设计又成为概要设计或初步设计。重要的工作:设计数据结构:通过本阶段的设计工作面将划分出组成系统的物理元素-程序、文件、数据库、人工过程和文档等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在详细设计中设计。设计软件结构:是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成,以及这些模块相互间的关系。总体设计的必要性:可以站在全局高度上,花较少的成本,从抽象的层次上分析对比多种可能的系统实现方案和软件结构,从中选出最佳方案和最合理的软件结构,从而用较低成本开发出较高质量的软件系统。4.1 总体设计

    3、的过程总体设计过程通常由两个主要阶段组成: 系统设计:确定系统的具体实现方案; 结构设计:确定软件结构典型的过程如下:一、设想供选择的方案从数据流图出发,划分不同的自动化边界,处理分组的各种可能,抛弃技术上行不通的分组方法,设想出供选择实现的物理实现方案,但不评价这些方案。二、选取合理的方案一般来说,从上一步得到的一系列供选择的方案中选取若干个合理的方案,通常至少选取低成本、中等趁本和高成本的三种方案。在判断哪些方案合理时应该考虑在问题定义和可行性研究阶段确定的工程规模和目标,有时可能还需要进一步征求用户的意见。对每个合理的方案分析员都应该准备下列四份资料:(1)系统流程图(2)组成系统的物理

    4、元素清单;(3)成本/效益分析;(4)实现这个系统的进度计划;三、推荐最佳方案分析员应该综合分析对比各种合理方案的利弊,推荐出一个最佳的方案,并为推荐的方案指定详细的实现计划。四、功能分解为确定软件结构,首先需要从实现角度把复杂的功能进一步分解。分析员结合算法描述仔细分析数据流图中的每个处理,如果一个处理的功能过分复杂,必须把它的功能适当地分解成一系列比较简单的功能。一般来说,经过分解之后应该使每个功能对大多数程序员而言都是明显易懂的。功能分解导致数据流图的进一步细化,同时还应该用IPO图或其它适当的工具简要描述细化后每个处理的算法。五、设计软件结构通常程序中的一个模块完成一个适当的子功能,应

    5、该把模块组织成良好的层次系统,顶层模块调用它的下层模块以实现程序的完整功能,每个下层模块再调用更下层的模块,从而完成程序的一个子功能,最下层的模块完成最具体的功能。软件结构可以使用层次图或结构图来描述。如果数据流图已经细化到适当的层次,则可以直接从数据流图映射出软件结构。六、数据库设计对需要数据库的应用领域,分析员应该在需求分析阶段对系统数据要求所做的分析的基础上进一步设计数据库,数据库设计通常包含以下四个步骤:1、模式设计:目的是确定物理数据库结构。第三范式形式的实体及关系数据模型是模式设计过程的输入,模式设计的主要问题是处理具体的数据库管理系统的结构约束。2、子模式设计:用户使用的数据视图

    6、3、完整和安全性设计4、优化:主要目的是改进模式和子模式以优化数据的存取。七、制定测试计划在软件开发的早期阶段考虑测试问题,能促使软件设计人员在设计时注意提高软件的可测试性。八、书写文档1、系统说明:主要内容包含:用系统流程图描述的系统构成方案,组成系统的物理元素清单,成本/效益分析;对最佳方案的概括描述,精化的数据流图,用层次图或结构图描绘的软件结构,用IPO图或其它工具简要描述的各个模块的酸法,模块间的借口关系以及需求、功能和模块三者之间的交叉参照关系等。2、用户手册根据总体设计阶段的结果,修正更改在需求分析阶段产生的初步的用户手册。3、测试计划包括测试策略,测试方案,预期的测试结果,测试

    7、进度计划等。4、详细的实现计划5、数据库设计结果九、审查和复审4.2软件设计的概念和原理4.2.1模块化1、模块的概念模块是数据说明、可执行语句等程序对象的集合,它是单独命名的而且可通过名字来访问。如过程、函数、子程序、宏等都可以作为模块。2、模块化的概念模块化就是把程序划分成若干个模块,每个模块完成一个子功能,把这些模块集总起来组成一个整体,可以完成指定的功能满足问题的要求。模块化的根据:把复杂的问题分解成许多容易解决的小问题,原来的问题也就容易解决。原因:(论证)设函数C(x)定义问题x的复杂程度,函数E(x)确定解决问题x需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)C(P

    8、2) 显然:E(p1)E(P2)根据人类解决一般问题的经验,一个规律是:C(P1+P2)C(P1)+C(P2) (复杂度)即是说,如果一个问题由P1和P2两个问题组合而成,那么它的复杂程度大于分别考虑每个问题时的复杂程度之和。总上所述,得E(P1+P2)E(P1)+E(P2)因此这个不等式导致“各个击破”的结论。根据以上结论,是否可以将模块无限地划分下去,软件开发工作是否就小得忽略不记?否,原因是当模块数量多了,但设计模块间接口所需要的工作两增加,因此开发工作两由这两个因素决定。4.2.2 抽象抽象:抽出事物的本质特性而暂时不考虑它们的细节。在任何问题的模块化解法时,可以提出许多抽象的层次,在

    9、抽象的最高层次使用问题环境的语言,以概括的方式叙述问题的解法;在较低抽象层次采用更过程化的方法,把面向问题的术语和面向实现的术语结合起来叙述问题的解法;最后,在最低的抽象层次用可以直接实现的方式叙述问题的解法。软件工程就是采用的这种方法,采用自顶向下由抽象到具体逐步求精的方法。4.2.3 信息隐蔽和局部化信息隐蔽原理:在设计和确定模块时,应使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。局部化:是指把一些关系密切的软件元素物理地放得彼此靠近。如在模块中使用局部数据元素。4.2.4 模块独立模块独立是模块化、抽象、信息隐蔽和局部化概念的直接结果。开发具有独立功能

    10、而且和其他模块之间没有过多的相互作用的模块,就可以作到模块独立。换句话说,希望这样设计软件结构,使得每个模块完成相对独立的特定子功能,并且和其他模块之间的关系很简单。为什么模块独立很重要?(1)有效的模块化的软件比较容易开发出来;(2)独立的模块比较容易测试和维护;模块独立程度的度量标准:耦合:衡量不同模块彼此之间的相互依赖(连接)的紧密程度;内聚:衡量一个模块内部各个元素彼此结合的紧密程度。一、耦合耦合是对一个软件结构内不同模块之间连接程度的度量。耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过借口的数据。在软件设计中对模块耦合的要求:在软件设计中应该追求尽可能松散耦合的

    11、系统。原因是:(1)在这样的系统中可以研究、测试或维护任何一个模块,而不需要对系统的其他模块有很多的了解;(2)模块间的联系简单,发生在一处的错误传播到整个系统的可能性小。因此,模块减的耦合程度强烈影响系统的可理解性、可测试性、可靠性和可维护性。怎样具体区分模块见耦合程度的强弱?1、数据耦合:如果两个模块彼此间通过参数交换信息,而且交换的信息仅仅是数据;是低耦合,系统中至少必须存在着重耦合,因为只有当某些模块的输出数据作为另一个模块的输入数据时,系统才能完成有价值的功能。一般来说,一个系统内可以只包含数据耦合。2、控制耦合:如果两个模块传递的信息中有控制信息;属于中等程度的耦合,它增加了系统复

    12、杂程度,控制耦合往往是多余的,在把模块适当分解之后通常可以用数据耦合代替它。3、公共环境耦合:当两个或多个模块通过一个公共数据环境相互作用时;公共环境耦合可以是全程变量、共享的通信区、内存的公共覆盖区、任何存储介质上的文件、物理设备等。该耦合的复杂程度随耦合的模块个数而变化,当耦合的模块个数增加时复杂程度显然增加。如果只有两个模块有公共环境耦合,则有下面两种可能:(1)一个模块往公共环境送数据,另一个模块从公共环境中取数据。这是数据耦合的一种形式,是比较松散的一种耦合。(2)两个模块都既往公共环境中送数据又从里面取数据,着重耦合比较紧密,介于数据耦合和控制耦合之间。如果两个模块共享的数据很多,

    13、都通过参数传递可能不方便,这时可以利用公共环境耦合。4、内容耦合:如果出现下列情况之一,则两个模块间属于内容耦合:(1)一个模块访问另一个模块的内部数据;(2)一个模块不通过正常入口而转到另一个模块的内部;(3)两个模块有一部分程序代码重叠(一般来说在汇编语言中出现);(4)一个模块有多个入口(即一个模块有集中功能);应该避免使用内容耦合,事实上很多高级程序设计语言已经设计成不允许在程序中出现任何形式的内容耦合。总之:耦合是影响软件复杂程度的一个重要因素。应该采取下述设计原则:尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合。二、内聚内聚标志一个模块内各元素彼此结合的紧

    14、密程度,它是信息隐蔽和局部化概念的自然扩展.简单地说,理想内聚的模块只做一件事.设计时应该力求作到高内聚,通常中等程度的内聚也是可以采用的,而且效果和高内聚差不多;但是,低内聚很坏,不要使用.内聚和耦合是密切相关的,模块内的高内聚往往意味着模块间的松耦合。内聚和耦合都是进行模块化设计的有利工具,但是实践表明内聚更重要,应该把更多的精力放在内聚上。内聚的种类:1、低内聚:(1)偶然内聚:如果一个模块完成一组任务,这些任务彼此间即使有关系,关系也是很松散的。有时在写完一个程序之后,发现一组语句在两处或多处出现,于是把这些语句作为一个模块以节省内存,这样就出现了偶然内聚的模块。(2)逻辑内聚:如果一

    15、个模块完成的任务在逻辑上属于相同或相似的一类(如:一个模块产生各种类型的全部输出)。(3)时间内聚:如果一个模块包含的任务必须在同一段时间内执行(如,模块完成各种初始化工作)。三种内聚的比较:(1)在偶然内聚的模块中,各种元素之间没有实质性联系,很可能在一种应用场合需要修改这个模块,在另一种场合又不允许着重修改,从而陷入困境。事实上,偶然内聚的模块出现修改错误的概率比其他类型的模块高得多;(2)在逻辑内聚的模块中,不同功能混在一起,合用部分程序代码,即使局部功能的修改有时也会影响全局。因此着类模块的修改也比较困难;(3)时间关系在一定程度上反映了程序的某些实质,所以时间内聚比逻辑内聚好一些。2

    16、、中内聚:(1)过程内聚:如果一个模块内的处理元素是相关的,而且必须以特定次序执行。使用程序流程图作为工具设计软件时,常常通过研究流程图确定模块的划分,这样得到的往往是过程内聚的模块。(2)通信内聚:如果模块中所有元素都使用同一个输入数据和(或)产生同一个输出数据。3、高内聚(1)顺序内聚:如果一个模块内的处理元素和同一个功能密切相关,而且这些处理必须顺序执行(通常一个处理元素的输出数据作为下一个处理元素的输入数据)。根据数据流程图划分模块时,通常得到顺序内聚的模块,着重模块彼此间的连接比较简单。(2)功能内聚:如果模块内所有处理元素属于一个整体,完成一个单一的功能,功能内聚是最高程度的内聚。

    17、耦合和内聚的概念是Constantine,Yourdon,Myers和Stevens等人提出来的。按照他们的观点,如果给上述七种内聚的优劣评分,将得到如下结果:功能内聚 10分 时间内聚 3分顺序内聚 9分 逻辑内聚 1分通信内聚 7分 偶然内聚 0分过程内聚 5分在设计时,没有必要精确确定内聚的级别。重要的是设计时力争作到高内聚,并且能够辨认出低内聚的模块,有能力通过修改设计提高模块的内聚程度降低模块间的耦合程度,从而获得较高的模块独立性。4.3 启发式规则在长期开发计算机软件的长期实践中积累了丰富的经验,总结出了一些启发式规则。一、改进软件结构提高模块独立性设计出软件的初步结构之后,应该审

    18、查分析这个结构,通过模块分解或合并,力求降低耦合提高内聚。二、模块规模应该适中经验表明,一个模块的规模不应该过大,最好写在一页纸内(通常不超过60行语句);有人从心理角度研究得知,当一个模块包含的语句超过30以后,模块的可理解程度迅速降低。;过小的模块开销大于有效操作,而且模块树木过多将使系统接口复杂。因此,过小的模块有时不值得单独存在,特别是只有一个模块调用它时,通常可以把它合并到上一级模块中而不单独存在。三、深度、宽度、扇出和扇入都应适当深度:表示软件结构中控制的层数,它往往能初略地标志一个系统的大小和复杂程度。宽度:是软件结构内同一个层次上的模块总数的最大值,一般来说,宽度越大系统复杂度

    19、越大。扇出:一个模块直接控制(调用)的模块数目;经验表明,一个设计得好的典型系统的平均扇出通常是3或4(扇出的上限是5-9)。扇入:表示有多少个上级模块直接调用它,扇入越大则共享该模块的上级模块树木越多。四、模块的作用域应该在控制域内模块的作用域定义为该模块内一个判定影响的所有模块的集合;模块的控制域是这个模块本身以及所有直接或间接从属于它的模块的集合。五、力争降低模块接口的复杂度六、设计单入口和单出口的模块七、模块功能应该可以预测4.4 图形工具一、层次图和HIPO图1、层次图层次图在前面用来描述了软件的数据结构,而本节使用它来描述系统的模块的调用图,一个矩形表示一个模块,矩形间的连线表示模

    20、块的调用关系。2、HIPO图是层次图加输入/处理/输出图的英文简写。在模块的调用的同时还加上编号,以增加可追踪性。二、结构图结构图和层次图一样,用来表示软件结构设计的工具,一个矩形表示一个模块,箭头表示模块的调用关系,但在结构图中,在箭头上加注释,表明模块间传诵的信息,一般来说,传送的信息有两种类型:数据或控制信息。这样表示的模块调用图更加清晰一些。4.5面向数据流的设计方法面向数据流的设计方法面向数据流的设计方法的目标是给出设计软件结构的一个系统化的途径。可以将数据流图映射成为软件结构,任何系统都可以采用数据流图来表示,所以面向数据流的设计方法,理论上可以设计任何软件的结构。而通常用的SA(

    21、结构化设计方法),就是基于数据流的设计方法。一、概念根据数据流图中的信息流类型,决定了有两种不同的映射方法。信息流的分类:变换流和事务流1、变换流:在基本系统模型(即顶级数据流图)中,信息通常以“外部世界”所具有的形式进入系统,经过处理后又以这种形式离开系统。输入信息沿传入路径进入系统,同时由外部形式变换为内部形式,经系统变换中心加工、处理,作为输出信息流沿传出路径离开系统,并还原为外部形式。如果数据流图所描述的信息流具有上述特征,则称为变换流。如下图:输入流输出流变换流时间信息流-变换流2、事务流基本系统模型意味着变换流,因此原则上所有的信息流都可以归结为这一类。但是,如果数据流有一个明显的

    22、事务处理中心,也就是说数据沿着输入通路到达一个处理T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行,这种类型的数据流被划分到一种特殊的数据流,称为事务流。在该类型的数据流图中,处理T为处理中心,它完成的任务是:(1)接收输入数据(输入数据又称为事务)(2)分析每个事务以确定它的类型;(3)根据事务类型选取一条活动路径。事务流图如下:T事务活动路径事务中心二、将数据流图转换为软件结构的步骤:SD方法能方便地将数据流图转换为软件结构,其步骤为:(1)确定信息流的类型;(2)划定流界;(3)将数据流图映射为程序结构;(4)提取层次控制结构;(5)通过设计复审和使用启发式策略进一步精化所

    23、得的结果。注意:在大型系统中变换流和事务流常常是交叉使用。三、面向数据流的设计过程精化数据流图流类型确定事务中心和各种动作路径确定输入输出流界映射为事务结构映射为变换结构提取控制结构利用启发式策略精化软件结构描述接口和全局数据结构复审详细设计变换分析事务分析三、变换分析步骤:1、复审基本系统模型基本信息模型指顶级DFD和所有由外部提供的信息;2、复审和精化DFD3、确定DFD的特性,判定它为变换流还是数据流一般来说,系统内部的信息流总可以用变换流表示,倘若具有明显的事务特性,还应该针对事务流的映射方法。因此,设计人员首先要判定DFD中占主导地位的信息流并确定其特性,然后孤立具有变换特性或事务特

    24、性的支流,这些支流将用于精化由主导数据流推出的程序结构。如例子,传感器检测子系统,数据沿一个传入路径进来,沿三个传出路径离开,无明显的事务中心,因此为变换流。如图44、划定输入流和输出流的边界,孤立变换中心输入、输出流边界的划分可能因人而异,不同的设计人员可能把边界沿着数据通道向前推进或后退一个处理,不对软件结构影响不大。 如图45、执行一级分解一级分解的目标是到处具有三个层次的程序结构,顶层为主控模块;低层模块执行输入、计算和输出功能;中层模块控制、协调低层的工作。如图的一级分解的上两层模块,即主控模块和下面几个中层控制模块:(1)输入流控制模块,接受所有输入数据;(2)变换流控制模块,对内

    25、部形式数据进行加工、处理;(3)输出流控制模块,产生输出数据。一级分解的总原则:在完成控制功能并保持低耦合度、高内聚度的前提下尽可能减少模块数。主控模块输入流控制模块变换流控制模块输出流控制模块一级分解示意图 6、执行二级分解二级分解的任务是把数据流图中每个处理框映射成程序结构中一个适当的模块,二级分解过程是从变换中心的边界开始沿输入、输出通道向外移动,把遇到的每个处理框映射为程序结构中的一个模块。DFD的处理框与程序结构模块一一对应,但按照软件设计原则进行设计时可能需要把几个处理框合为一个模块,或者把一个处理框变为几个模块。总之,应根据“良好”设计的标准,进行二级分解。二级分解示意图见下:A

    26、C输入流控制模块二级分解示意图BD主控模块DBCA7、采用启发式设计策略,精化所得程序结构雏形,改良软件质量对于程序结构的雏形,以“模块独立”为指导思想,对模块或合或分,旨在追求高内聚、低耦合,易实现、易测试、易维护的软件结构。以保安系统为例。家庭保安系统的顶级数据流图控制面板传感器显示器报警器电话线家庭保安系统软件用户命令传感数据显示信息报警类别电话拨号音频家庭保安系统的第一级DFD控制面板传感器显示器报警器电话线用户命令处理1用户命令传感数据显示信息报警类别电话拨号音频系统配置2配置命令d1配置信息口令核对3口令显示信息和状态4有效口令启动/ 停止系统5停止/ 启动命令启动/ 停止消息配置

    27、信息配置信息原口令传感器监测6读取传感信息1传感数据异常数据判别2传感器标独嘈1配置信息配置数据显示格式3传感器标志的类型和位置传感器信息产生警告信号4警告数据警告类别电话拨号5电话号码电话拨号音频传感器监测子系统的第二级DFD读取传感信息1.1传感数据获取响应信号1.2置传感器标志1配置信息配置数据格式化显示3.1传感器标志的类型和位置传感器信息产生警告信号4警告数据警告类别产生拨号脉冲5.2电话号码电话拨号音频传感器监测子系统的第三级DFD建立警报条件2.1报警条件码传感器定时信息产生显示3.2传感器标志的类型和位置选择电话号码2.2号码表连通电话网5.1电话号码配置数据配置数据读取传感信

    28、息1.1传感数据获取响应信号1.2置传感器标志1配置信息配置数据格式化显示3.1传感器标志的类型和位置传感器信息产生警告信号4警告数据警告类别产生拨号脉冲5.2电话号码电话拨号音频传感器监测子系统的第三级划分边界 DFD建立警报条件2.1报警条件码传感器定时信息产生显示3.2传感器标志的类型和位置选择电话号码2.2号码表连通电话网5.1电话号码配置数据配置数据90主控模块传感器输入控制模块警报条件控制模块警报输出控制模块传感器监测子系统一级分解结果主控模块传感器输入控制模块警报条件控制模块警报输出控制模块传感器监测子系统输出流部分导出的程序结构格式化显示生成显示产生警报信号连通电话网产生拨号脉

    29、冲配置信息主控模块传感器输入控制模块警报条件控制模块警报输出控制模块传感器监测子系统程序结构“雏形”格式化显示生成显示产生警报信号连通电话网产生拨号脉冲建立警报条件选择电话号码获取响应信息读传感数据精化程序结构:1、因只存在唯一一条路径,故输入控制模块可删除;2、由变换中心产生的整个子结构可归并为“建立警报条件”一个模块(选择电话号码的功能纳入其中),变换控制模块不再需要;3、格式化显示和生成显示两个模块归并为产生显示一个模块。因此结果如下图。主控模块警报输出控制模块传感器监测子系统精化后程序结构生成显示产生警报信号连通电话网产生拨号脉冲建立警报条件获取响应信息读传感数据四、事务分析当数据流具

    30、有明显的事务特征,即能找到一个事务(亦称触发数据项)和一个事务中心,采用事务分析更合适。事务分析的设计步骤和变换分析的设计步骤大部分相同或类似,主要差别仅在于由数据流图到软件结构的映射方法不同。由事务映射成的软件结构包括:(1)一个接收分支(2)一个发送分支映射方法:(1)映射出接收分支结构的方法与变换分析相似,从事务中心的边界开始,把沿着接收流通路的处理映射成模块;(2)发送分支的结构包括一个调度模块,它控制下层的所有活动模块;然后把数据流图中的每个活动通路映射成与它的流特征相对应的结构。下面以家庭保安系统的用户交换子系统为例。abdpqrs事务控制abd散转c1qrsp事务流映射模型用户交

    31、互子系统繁荣一级数据流图控制面板传感器显示器报警器电话线用户命令处理1用户命令传感数据显示信息报警类别电话拨号音频系统配置2配置命令d1配置信息口令核对3口令显示信息和状态4有效口令启动/ 停止系统5停止/ 启动命令启动/ 停止消息配置信息配置信息原口令传感器监测6读用户命令1用户命令数据启动命令处理2读系统数据3读口令4启动停止系统5读配置文件6显示信息和状态7比较口令和文件8产生无效的信息9命令类型配置命令原始配置数据1配置信息格式化的培植数据系统参数和数据确认口令启动停止命令启动停止消息显示畔配置数据四位数口令无效口令再试信息有效口令配置数据用户交互子系统的二级数据流图读用户命令1用户命

    32、令数据启动命令处理2读系统数据3读口令4启动停止系统5读配置文件6显示信息和状态7比较口令和文件8产生无效的信息9命令类型配置命令原始配置数据1配置信息格式化的培植数据系统参数和数据确认口令启动停止命令启动停止消息显示畔配置数据四位数无效口令再试信息有效口令配置数据用户交互子系统确定流界用户交互执行读用户命令启动命令处理系统配置控制模块启动停止系统口令处理控制模块用户交互子系统的一级分解用户交互执行读用户命令启动命令处理系统配置控制模块启动停止系统口令处理控制模块用户交互子系统的程序结构雏形读系统数据建立配置文件读口令核对口令口令输出控制模块显示信息和状态输出无效消息现在成立一个开发小组完成销

    33、售子系统的分析和设计。经过该小组的调查研究、信息流程分析和数据收集,明确了该子系统的主要功能是:处理顾客和销售员送来的定单;工厂根据定货安排生产;交出货物同时开出发票;收到顾客付款后,根据发票存根和信贷情况进行应收款处理。请设计数据流图,并设计软件结构。实例顾客主管部门生产部门1.0送进定单2.0处理定单3.0开发票5.0提供应收帐款4.0支付过帐定单数据批准/不批准核对定单数据主管部门批准/不批准产品描述当前价格应收帐款顾客帐目情况已批准定单生产通知单定单记录本定单细节准备发货细节包装通知单应收帐款报表应收帐款发票未付差额调整调整财务费用变动顾客1.1核对定单1 。2核对帐目情况1。3批准定

    34、单主管部门定单数据产品描述应收帐款当前价格已核对价格的定单帐目状况已核对的定单核对定单数据主管部门批准/不批准已批准的定单顾客帐目情况批准/不批准接受定单2.1登记定单已批准的定单2.2分配工种号2.3准备定单卡已登记的定单编好号的定单定单记录本定单的细节工种号待完成定单清单定货卡2。4准备待完成定单报表待完成定单报表生产部门生产通知单准备发货细节处理定单开发票3。1开发票生产部门顾客3。2分配发票号包装通知单应收帐款发票准备发票细节发票发票主清单发票发票记录本编过号的发票支付过帐4。1送进结算顾客4。2记入贷方余额结算数据支付发票应收帐款调整4。3批准信贷4。4记入贷方余额已批准的信贷调整发票v概要设计说明书作业:作业:根据第三章作业的分析,完成整个系统的根据第三章作业的分析,完成整个系统的软件结构的设计。软件结构的设计。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:总体设计课件.ppt
    链接地址:https://www.163wenku.com/p-2337887.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库