数据结构-软件工程.ppt
9.3.2结构化分析方法(SA,StructuredAnalysis)SA方法的主导思想:采用“分解”和“抽象”的基本手段,自顶向下逐层分解,使复杂的问题得以有效地控制。主要描述工具:数据流图和数据字典。数据流图表示了软件的信息流向和信息的加工;数据字典是对这些信息和加工进行更详细的描述。SA方法与设计阶段的SD方法联合使用,能够较好地实现一个软件系统的研制。数据流图是描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出以及把逻辑输入转换为逻辑输出所需要的加工。数据流图由四种基本成分组成,如下图所示:9.3.3数据流图数据流图的组成01020304数据存储。它是数据流在加工过程中产生的临时文件或加工过程中需要查找的信息。数据流表现的是动态数据特征;而数据存储表现的是静态数据特征。源点和终点。表达不必很严格,它只是起到注释作用,补充说明系统与其它外界环境的联系。示例:学生档案管理系统数据流图数据流图的结构复杂软件系统的数据流图通常采用分层的方式进行描述,分别为顶层、中间层和底层数据流图:顶层。决定系统的范围、输入输出数据流,说明了系统的边界,把整个系统的功能抽象为一个加工。顶层数据流图只有一张,如下图所示。STEP3STEP2STEP1中间层。顶层之下是若干中间层,某一中间层既是它上一层加工的分解结果,又是它下一层若干加工的抽象,即它又可进一步分解。底层。底层数据流图的加工是由基本加工构成的,所谓基本加工是指不能再进行分解的加工。在画各层数据流图时,要注意父图与子图的平衡,各层数据流图及其加工的编号和数据守恒问题。019.3.4数据字典05数据字典的作用:建立一组一致的定义,避免模块接口和系统接口的不一致性。03数据字典是SA方法重要工具之一,与数据流图配套,缺一不可。02SA方法使用数据字典对数据流图描述的各个成分进行详细说明。04数据字典中有四种条目:数据流、数据存储、数据项和基本加工。(数据流图中的非基本加工、源点、终点都不必描述)030201“+”表示与。例如:登记表=姓名+专业+班级+年龄+性别+籍贯;“|”表示或。例如:存期=[1|2|3|5],表示银行存期可有1年,2年,3年,5年,而“[]”表示选择项。}”表示重复。例如:发票={发票行},表示一张发票有若干行。符号约定数据字典示例加工逻辑的描述01结构化语言介于自然语言和形式语言之间,其结构分为内、外两层,外层语法比较具体,内层语法比较灵活。外层语法描述操作的控制结构,如顺序、选择和循还等,这些控制结构将加工中的各个操作连起来。03加工逻辑是基本加工条目中的一项重要内容,有三种工具来描述加工逻辑:结构化语言,判定表,判定树。0201判定表是用表格的形式列出在什么条件下作什么处理,一目了然。02判定树是以一棵从左向右生长的树型表示来描述在各种条件下要作的事情,树的各个分支表示某种条件,分支的端点表示该分支对应的条件下要作的处理。示例:“检查订货单”的加工逻辑是如果金额超过500元,又未过期,则发出批准单和提货单;如果金额超过500元,但过期了,则不发批准单;如果金额低于500元,则不论是否过期都发出批准单和提货单,在未过期情况下不需发出通知单。可以用下表所示的判定表表示这个加工逻辑。判定表示例金额状态>500且未过期>500且已过期≤500且未过期≤500且已过期发出批准单发出提货单发出通知单√√?√√√√√已过期——不发批准单01金额>50002未过期——发出批准单、提货单03检查订购单04已过期——发出批准单、提货单和通知单05金额≤50006未过期——发出批准单、提货单07判定树描述示例19.4.1软件设计概述2目标和任务:3需求分析阶段是解决软件系统“做什么”的问题,设计阶段是解决软件系统“如何做”的问题(关键!),也就是软件系统的功能、性能如何实现,可靠性如何体现,…最后应得到软件设计说明书。4设计阶段分为两步:总体设计和详细设计。9.4软件的设计总体设计是为软件系统定义一个逻辑上一致的结构:进行模块划分,建立模块层次结构及模块间的调用关系,设计全局数据结构及数据库,设计系统接口及人机界面等。01总体设计的方法:模块化方法、功能分解方法、面向数据流的方法、面向数据结构的方法、面向对象的方法、面向组件的方法、面向服务的方法,等等。02STEP5STEP4STEP3STEP2STEP1详细设计是根据每个模块的功能描述,设计出每个模块的实现算法