资源预览内容
第1页 / 共38页
第2页 / 共38页
第3页 / 共38页
第4页 / 共38页
第5页 / 共38页
第6页 / 共38页
第7页 / 共38页
第8页 / 共38页
第9页 / 共38页
第10页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
结构化分析与设计n 结构化技术的发展n 什么是结构化技术n 结构化分析与建模技术n 结构化设计技术n 与面向对象技术的比较结构化技术的发展 摘自维基百科结构化技术n结构化分析与建模n结构化程序设计自顶向下逐步求精、分而治之自顶向下逐步求精、分而治之结构化分析与建模技术n数据建模(E-R图)n数据流程图n状态转换图n数据字典实体联系图(E-R图)概念模型n实体:矩形n属性:椭圆n联系:菱形E-R图的相关概念n联系的种类,n属性,不知实体有相关特征,联系亦有n主键,能唯一确定该实体其他属性n外键,依赖于其他实体的主键n属性域,除简单属性外,可为多域组合n属性值,可单值,亦可多值分层画法为使图形更加清晰、易读易懂,可将实体和实体属性分开画出(可对实体进行编号)数据流程图(DFD)nDFD是是描述系统中数据流程的一种图形工具,它标志了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换逻辑输出所需的加工处理。 nDFD不是不是传统的流程图或框图,数据流也不是控制流。数据流图是从数据的角度来描述一个系统,而框图是从对数据进行加工的工作人员的角度来描述系统。 一个简单的数据流图数据流与加工的关系数据流与加工的关系DFD 的画法的画法(一一)确定系统的输入输出确定系统的输入输出由于系统究竟包括哪些功能可能一时难于弄清楚,可使范围尽量大一些,把可能有的内容全部都包括进去。此时,应该向用户了解“系统从外界接受什么数据”、“系统向外界送出什么数据”等信息,然后,根据用户的答复画出数据流图的外围。(二二)由外向里画系统的顶层数据流图由外向里画系统的顶层数据流图首先,将系统的输人数据和输出数据用一连串的加工连接起来。在数据流的值发生变化的地方就是一个加工。接着,给各个加工命名。然后,给加工之间的数据命名。最后,给文件命名。(三三)自顶向下逐层分解,绘出分层数据流图自顶向下逐层分解,绘出分层数据流图对于大型的系统,为了控制复杂性,便于理解,需要采用自顶向下逐层分解的方法进行,即用分层的方法将一个数据流图分解成几个数据流图来分别表示。画数据流程图的基本原则 数据流程图上所有图形符号必须是前面所述的四种基本元素。数据流程图的主图必须含有前面所述的四种基本元素,缺一不可。数据流程图上的数据流必须封闭在外部实体之间,外部实体可以是一个,也可以是多个。处理过程至少有一个输入数据流和一个输出数据流。任何一个数据流子图必须与它的父图上的一个处理过程对应,两者的输入数据流和输出数据流必须一致,即所谓“平衡”。数据流程图上的每个元素都必须有名字DFD示例DFD分层 绘制分层DFD图的原则一般是:先全局后局部,先整体后细节,先抽象后具体先全局后局部,先整体后细节,先抽象后具体。 绘制分层DFD图的步骤一般是:1.先确定整个系统的范围和功能,绘制顶层的DFD图。2.绘制出顶层的DFD图之后,然后逐层分解顶层DFD图,获得若干中间层DFD图。3.根据获得的中间层DFD图绘制各个底层的DFD图。DFD示例2:销售管理系统销售管理系统1.初始起点2.转换3.状态4.判断点5.终止点(一个或多个)状态转换图用于表现从一个状态到另一个状态的控制流控制流。 一个状态图表示一个状态机状态机状态机示例1状态机的几个概念n在某个时刻只能处理一个事件n任何时候都存在一个活动状态n可定义组成状态(子状态,被分解成顺序的或并发的子状态的状态)状态机示例2数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合. n过程描述n数据流定义n数据元素定义n数据存储定义作业1n参考教材Page63对ATM机的功能描述,试画出ATM机的状态转换图作业2:看图答问某图书管理系统的主要功能是图书管理和信息查询。对于初次借书的读者,系统自动生成读者号,并与读者基本信息(姓名、单位、地址等)一起写入读者文件。 系统的图书管理功能分为四个方面:购入新书、读者借书、读者还书以及图书注销。1、购入新书时需要为该书编制入库单。入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期,将这些信息写入图书目录文件并修改文件中的库存总量(表示到目前为止,购入此种图书的数量)。(此括号内不是试题部分。欢迎访问软件考试网www.hbsoft.net)2、读者借书时需填写借书单。借书单内容包括读者号和所借图书分类目录号。系统首先检查该读者号是否有效,若无效,则拒绝借书;若有效,则进一步检查该读者已借图书是否超过最大限制数(假设每位读者能同时借阅的书不超过5本),若已达到最大限制数,则拒绝借书;否则允许借书,同时将图书分类目录号、读者号和借阅日期等信息写入借书文件中。3、读者还书时需填写还书单。系统根据读者号和图书分类目录号,从借书文件中读出与该图书相关的借阅记录,标明还书日期,再写回到借书文件中,若图书逾期,则处以相应的罚款。4、注销图书时,需填写注销单并修改图书目录文件中的库存总量。 系统的信息查询功能主要包括读者信息查询和图书信息查询。其中读者信息查询可得到读者的基本信息以及读者借阅图书的情况;图书信息查询可得到图书基本信息和图书的借出情况。图书管理系统的顶层图如图1-1所示;图书管理系统的第0层DFD图如图1-2所示 其中,加工2的细化图如图1-3所示。 图1-1图书管理系统顶层图 图1-2图书管理系统第0层DFD图 图1-3 加工2的细化图问题n数据流图1-2中有两条数据流是错误的,请指出这两条数据流的起点和终点。 n数据流图1-3中缺少三条数据流,请指出这三条数据流的起点和终点。 n根据系统功能和数据流图填充下列数据字典条目中的(1)和(2)查洵请求信息=查询读者请求信息|查询图书请求信息读者情况=读者号+姓名+所在单位+借书情况管理工作请求单=_(1)_入库单=_(2)_ 结构化设计原则与方法n模块化n层次图n系统结构图n数据结构n程序流程图n问题分析图n结构化设计与面向对象设计的比较模块化n一个模块执行一个功能(功能性内聚)n每个模块用过程(函数)方式调用其它模块n模块间使用参数传递数据n模块间共用的信息应尽量少层次图描述整体与局部间的关系一个矩形框代表一个模块,连线表示调用关系。系统结构图1、系统模块及其互相关系2、常用树状或网状图表示数据结构数据结构(data structure)是计算机中存储、组织数据的方式。通常情况下,精心选择的数据结构可以带来最优效率的算法。二叉树程序流程图(PFD)流程程序图是程序分析中最基本、最重要的分析技术,是人们对解决问题的方法、思路或算法的一种描述。案例:求100-200内的素数问题分析图 - PADProblem Analysis Diagram自1973年由日本日立公司发明以来,已经得到一定程度的推广。它用二维数形结构的图表示程序的控制流,将这种图转换为程序代码比较容易。PAD图与流程图的比较案例:从PAD 到 CodeBEGIN FIRST:=K1; SECOND:=0; FOR I:=2 TO N DO BEGIN IF K1SECOND THEN BEGIN IF KIFIRST THEN BEGIN SECOND:=FIRST; FIRST:=KI END ELSE SECOND:=KI END ENDEND 结构化程序设计与OOP的比较结构化程序设计:以过程为中心面向对象程序设计:以数据为中心结构化编程语言中的数据只定义了类型,即其存储方式,以及在其上的可基本操作集。面向对象编程语言中的类,不只包括了数据的定义,还包括了丰富的操作方法的定义,即,既定义内容数据,也定义了过程行为。作业n设计 P63 ATM机的软件结构和模块划分,以及各模块间的调用流程。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号