《软件工程》教案-05-结构化分析与设计(共12页).doc
《《软件工程》教案-05-结构化分析与设计(共12页).doc》由会员分享,可在线阅读,更多相关《《软件工程》教案-05-结构化分析与设计(共12页).doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上山东轻工业学院教师授课教案课程名称:软件工程课程代码:学 分:3课程类别:选修课开课单位:信息科学与技术学院授课班级:计科07-12授课教师:赵培英山东轻工业学院教务处制授课时间2009年 10 月 16 日 星期 五 第 34 节2009年 10 月 21 日 星期 三 第 34 节2009年 10 月 23 日 星期 五 第 34 节授课内容概要第五章 结构化分析与设计第一节 结构化分析第二节 结构化设计本章小结、部分习题选讲目的要求了解结构化分析模型;了解DFD的审查;掌握DFD画法;掌握DD内容;掌握DFD到结构图的变换。重 点分层DFD画法;DFD到结构图的
2、变换。难点分层DFD画法;DFD到结构图的变换。作业布置1.请说明结构化分析模型的结构?2.简述画分层数据流图的步骤?3.简述如何进行分层数据流图的审查。4.简述如何将DFD映射到结构图? 参考书1. 软件工程钱乐秋等 清华大学出版社2.软件工程导论(第四版),张海藩主编,清华大学出版社,2003年。3.面向对象与经典软件工程(第5版)(英文影印版),(美)Stephen R.Schach主编,机械工业出版社,2002年。课 型理论课学时分配复 习 5 分钟主要教具多媒体讲 授 35 分钟教学方法多媒体课件指 导 2 分钟教学手段讲授结合实例总 结 3 分钟备注授课:双周周三34,每周周五34
3、,轻化B507 答疑:每周四78节,机电C415学时分配:指本章节每节课(45分钟)的平均分配情况第五章 结构化分析与设计一、结构化分析概述1. 主要思想: 抽象: 从作为整体的软件系统开始, 每一抽象层次上只关注于系统的输入输出 分解: 自顶向下逐层分解, 不断分解为子系统, 模块 随着分解层次的增加,抽象的级别越来越低,也越接近问题的解( 算法和数据结构)2. 结构化分析过程 获得当前系统的具体模型(物理模型) 抽象出当前系统的逻辑模型 分析建立目标系统的逻辑模型 为目标系统的逻辑模型作补充3. 结构化分析模型 DD:核心,包含所有数据的描述 DFD:用于功能建模,描述系统的输入数据流如何
4、经过一系列的加工变换逐步变换成系统的输出数据流 ERD:用于数据建模,描述DD中数据之间的关系 状态转换图:用于行为建模,描述系统接收哪些外部事件,以及在外部事件的作用下的状态迁移情况二、数据流图1. Data Flow Diagram(简称DFD): 描述输入数据流到输出数据流的变换(即加工)过程,用于对系统的功能建模。 基本元素包括:p88图示例:图书订购系统DFD 数据流图的扩充符号:描述一个加工的多个数据流之间的关系 星号():表示数据流之间存在“与”关系 加号():表示数据流之间存在“或”关系 异或():表示数据流之间存在“异或”(互斥)关系2. 对数据流图进行分层 George M
5、iller在著名的论文“神奇的数字7加减2:我们处理信息的能力的某种限制”中指出:人们在一段时间内的短期记忆似乎限制在59件事情之内 根据自顶向下逐层分解的思想将数据流图画成层次结构 每个层次画在独立的数据流图中,加工个数可大致控制在“7加减2”的范围中3. 数据流图的各个层次 顶层图只有代表整个软件系统的1个加工,描述了软件系统与外界(源或宿)之间的数据流 顶层图中的加工经分解后的图称为0层图(只有1张) 中间层图中至少有一个加工(也可以有多个)在下层图中分解成一张子图 处于最底层的图称为底层图,其中所有的加工不再分解成新的子图4. 图和加工的编号 顶层图只有一个代表整个软件系统的加工,该加
6、工不必编号。 0层图中的加工编号分别为1,2,3, 子图号:若父图中的加工号x分解成某一子图,则该子图号记为“图x” 子图中加工的编号:若父图中的加工号为x的加工分解成某一子图,则该子图中的加工编号分别为x.1、x.2、x.35. 分层数据流图画法示例资格和水平考试的考务处理系统 简化的资格和水平考试的考务处理系统 分成多个级别,如初级程序员、程序员、高级程序员、系统分析员等,凡满足一定条件的考生都可参加某一级别的考试 考试的合格标准将根据每年的考试成绩由考试中心确定 考试的阅卷由阅卷站进行,因此,阅卷工作不包含在软件系统中资格和水平考试的考务处理系统功能需求1). 对考生送来的报名单进行检查
7、2). 对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站3). 对阅卷站送来的成绩清单进行检查,并根据考试中心制订的合格标准审定合格者4). 制作考生通知单送给考生5). 进行成绩分类统计(按地区、年龄、文化程度、职业、考试级别等分类)和试题难度分析,产生统计分析表资格和水平考试的考务处理系统部分数据流的组成 报名单地区序号姓名文化程度职业考试级别通信地址 正式报名单准考证号报名单 准考证地区序号姓名准考证号考试级别考场 考生名单准考证号考试级别,其中w表示w重复多次 考生名册正式报名单 统计分析表分类统计表难度分析表 考生通知单准考证号姓名通信地址考试级别考试成绩
8、合格标志(1).画系统顶层图确定源或宿 确定加工 确定数据流 顶层图通常没有文件(2).画系统0层图 以下确定加工、数据流、文件、源或宿的一般方法适用于0层图及其各层子图 确定加工:指父图中某加工分解的子加工 根据功能分解来确定加工:将一个复杂的功能分解成若干个较小的功能,较多应用于高层DFD中的分解 根据业务处理流程确定加工:父图中待分解加工的业务处理流程中的每一步都可能是一个子加工,较多应用于低层DFD中的分解 特别要注意在业务流程中数据流发生变化或数据流的值发生变化的地方,应该存在一个加工,例如:图5.6 确定数据流 在父图中某加工分解而成的子图中,父图中相应加工的输入/输出数据流都是且
9、仅是子图边界上的输入/输出数据流 分解后的子加工之间应增添相应的新数据流表示加工过程中的中间数据 如果某些中间数据需要保存以备后用,那么可以成为流向文件的数据流 同一个源或加工可以有多个数据流流向一个加工,如果它们不是一起到达和一起加工的,那么可以将它们分成若干个数据流,例如:图5.7 确定文件 如果父图中该加工存在读写文件的数据流 ,则相应的文件和数据流都应画在子图中 在分解子图中,如需要保存某些中间数据以备后用,则可将这些数据组成一个新文件 新文件( 首次出现的文件) 至少应有一个加工为其写入记录,同时至少存在另一个加工来读该文件的记录 注意:从父图中继承下来的文件在子图中可能只对其进行读
10、,或只进行写 确定源和宿 0层图和其它子图中通常不必画出源和宿 有时为了提高可读性,可以将顶层图中的源和宿画在0层图中 案例分析:最终得到考务处理系统0 层图 根据功能分解方法识别出两个加工:考试报名、统计成绩 数据流u 继承顶层图中的输入数据流和输出数据流u 定义二个加工之间的数据流:由于这二个加工分别在考试前后进行,因此登记报名单所产生的结果“考生名册”应作为文件保存以便考试后由统计成绩加工引用(3).加工细化(1n层图) 复杂的加工可以继续分解成1张DFD子图,分解方法 将该加工看作一个小系统,该加工的输入/输出数据流就是这个假设的小系统的输入/输出数据流 然后采用画0层图的方法,画出该
11、加工的子图 以0层图中加工1(考试报名)为例 根据业务处理流程 来确定由加工1 的分解 与加工1 相关的业务流程:首先检查考生送来的报名单,然后编准考证号,并产生准考证,最后产生考生名单和考生名册( 文件) 加工1(考试报名)子图u 3个子加工:检查报名单、编准考证号、登记考生u “合格报名单”和“正式报名单”是新增加的数据流,其它数据流都是加工1原有的u 在加工1的分解中没有新的文件产生 加工2(统计成绩)子图总结:画分层数据流图的步骤 1画系统的输入和输出,得顶层图 2画系统内部,得0层图 3画加工内部,得到各级子图 4重复第3步,直至每个尚未分解的加工都足够简单(即不必再分解)三、分层数
12、据流图的审查 分层数据流图的一致性和完整性 一致性:分层DFD中不存在矛盾和冲突 完整性:分层DFD本身的完整性,即是否有遗漏的数据流、加工等元素 需注意的问题 分解的程度1.分层数据流图的一致性1). 父图与子图平衡:任何一张DFD子图边界上的输入/输出数据流必须与其父图中对应的加工的输入/输出数据流保持一致2). 数据守恒u 一个加工所有输出数据流中的数据,必须能从该加工的输入数据流中直接获得,或者能通过该加工的处理而产生u 多余的数据流:加工未使用其输入数据流中的某些数据项 3). 局部文件:考虑分层数据流中一个文件应画在哪些DFD中,而不该画在哪些DFD中u 任何一个文件都应同时包含读
13、和写该文件的数据流,除非该文件是当前系统与另一个软件系统所共享(应在需求说明中指明)u 在一张DFD中当一个文件作为若干个加工之间的交界面(一个写另一个读)时该文件应画出u 在一张DFD中当一个文件仅与一个加工进行读写操作,并且在该DFD的父(祖先)图中未出现过该文件则该文件是相应加工的内部文件,在当前DFD中不应画出u 一个文件一旦在某张DFD中画出,那么在它的子孙图中应根据父图与子图平衡的原则画出该文件u 在子孙图中,这个文件可能只有读或写文件中的一种数据流4). 一个加工的输出数据流不能与该加工的输入数据流同名案例分析: 父图与子图不平衡的实例:加工2的输入数据流有M和N,输出数据流是T
14、;而子图(右图)边界上的输入数据流是N,输出数据流是S和T 父图与子图平衡的实例:如果父图某加工的一个数据流,对应于子图中几个数据流,而子图中组成这些数据流的数据项全体正好等于父图中的这个数据流,那么它们仍算是平衡的 数据不守恒的实例:由于“正式成绩清单”中缺少“考生通知单”中的姓名、通信地址等数据,这些数据也无法由加工2.3自己产生,因此,加工2.3不满足数据守恒的条件 局部文件示例:“试题得分清单”文件是加工2的局部文件,根据抽象原则不应该将这类表示加工细节的局部文件画在其父图(如图c)中,正确的画法是图a和b2.分层数据流图的完整性 每个加工至少有一个输入数据流和一个输出数据流 在整套分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 教案 05 结构 化分 设计 12
限制150内