版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、湘 潭 大 学第三章第三章 结构化分析与设计结构化分析与设计概述概述结构化结构化系统分析系统分析结构化系统设计结构化系统设计模块化设计模块化设计3.1 3.1 概述概述 结构化分析与设计的由来 结构化分析与设计最初系由结构化程序设计扩展而来。 20世纪70年代先后提出结构化设计(SD)的软件设计技术,以及结构化分析(SA)技术。合称为结构化分析与设计方法。是第一代软件工程时期最有代表性的应用系统开发方法。 结构化分析与设计的由来结构化分析与设计的由来 瀑布模型的首次实践瀑布模型的首次实践 瀑布模型由传统的生存周期过程演变而来。作为一种系统开发方法,结构化分析与设计是瀑布模型的首次实践。该模型一
2、般可划分为以下阶段: 需求定义与分析总体设计详细设计编码测试使用维护结构化分析与设计的由来结构化分析与设计的由来 SASA与与SDSD的流程的流程 系统的整个开发流程可简明表示为: 结构化分析(工具:DFD、PSPEC) 分析模型(分层DFD图)+ SRS 结构化设计(工具:SC图) 映射 初始设计模型(初始SC图) 初始设计模型(初始SC图) 优化 最终设计模型(最终SC图) SA与SD的流程是为待开发系统建立分析模型和设计模型的过程。 结构化分析与设计的由来结构化分析与设计的由来 基本任务与指导思想基本任务与指导思想 结构化分析 建立分析模型:功能模型、数据模型、行为模型 编写需求说明:软
3、件需求规格说明书(SRS)标准的主要内容为引言、信息描述、 功能描述、行为描述、质量保证、接口描述等。 SRS标准强调SRS应具有准确性、应防止二义性、应直观易改。 主要指导思想:抽象与分解。 结构化设计 软件设计 = 总体设计 + 详细设计 软件结构图(SC)须分两步完成 :初始SC,优化后的最终SC。 指导思想:分解和细化。结构化分析模型的描述工具结构化分析模型的描述工具SA模型的描述工具: DFD、DD和PSPEC:这是早期SA模型的基本组成部分; CFD、CSPEC和STD:是早期SA模型的扩展成分,适应实时软件的建模需要; E-R图:适用于描述具有复杂数据结构的软件数据模型;加工加工
4、规规格格说说明明PSPECPSPEC数数据据对对象象说说明明STDSTD图图DFDDFD图图E-RE-R图图DDDD控制控制规规格格说说明(明(CSPECCSPEC)分析模型分析模型结构化分析模型的描述工具结构化分析模型的描述工具 数据流图数据流图(DFD) 指明数据在系统中移动时如何被变换,描述对数据流进行变指明数据在系统中移动时如何被变换,描述对数据流进行变换的功能和子功能。换的功能和子功能。 组成符号组成符号 圆框代表加工;圆框代表加工; 箭头代表数据的流向,数据名称总是标在箭头的边上;箭头代表数据的流向,数据名称总是标在箭头的边上; 方框表示数据的源点和终点;方框表示数据的源点和终点;
5、 双杠(或单杠)表示数据存储(数据文件或数据库)双杠(或单杠)表示数据存储(数据文件或数据库) 数据字典数据字典(DD) 对软件中的每个数据规定一个定义条目。对软件中的每个数据规定一个定义条目。 加工说明加工说明(PSPEC) 对数据流图中出现的每个加工对数据流图中出现的每个加工/处理的功能描述处理的功能描述 主要工具:结构化语言,判定树或判定表主要工具:结构化语言,判定树或判定表 SDSD模型的组成与描述模型的组成与描述 包含数据设计数据设计、体系体系结构设计结构设计、接口设计接口设计与过程设计过程设计。 体系结构设计是用来确定软件结构的,其描述工具为结构图结构图,简称SCSC图图。 过程设
6、计过程设计主要指模块内部的详细设计 过过程程设计设计接口接口设计设计体系体系结构设计结构设计数数据据设计设计SDSD模型的模型的组组成成结构化设计模型的描述工具结构化设计模型的描述工具 Yourdon提出的SC图的组成符号 矩形框矩形框来表示模块,带箭头的连线带箭头的连线表示模块间的调用,并在调用线的两旁标出传入和传出模块的数据数据流流 ABCDABCABC(a)简单调用 (b)选择调用 (c)循环调用 SCSC图图中模中模块调块调用用关关系的表示系的表示层次图和层次图和HIPOHIPO图图 通常使用层次图描绘软件的层次结构。在层次图中一个矩形框代表一个模块,框间的连线表示调用关系(位于上方的
7、矩形框所代表的模块调用位于下方的矩形框所代表的模块)。图4.4 正文加工系统的层次图HIPOHIPO图图 是美国IBM公司发明的“层次图加输入/处理/输出图”的英文缩写。为了使HIPO图具有可追踪性,在H图(即层次图)里除了顶层的方框之外,每个方框都加了编号。数据流图的编号方法相同,例如,把图4.4加了编号之后得到图4.5。 对应与H图中的每个方框,应有一张IPO图描绘这个方框代表的模块的处理过程。图4.5 正文加工系统的H图图4.6 IPO图的一个例子(主文件更新)图4.7 改进的IPO图(IPO表)的形式3.2 3.2 结构化系统分析结构化系统分析 T.DeMarco的定义 结构化分析就是
8、使用DFD、DD、结构化英语、判定表和判定树等工具,来建立一种新的、称为结构化说明书的目标文档 结构化分析的基本步骤 自顶向下对系统进行功能分解,画出分层DFD图 由后向前定义系统的数据和加工,编制DD和PSPEC 最终写出SRS 数据流图的层次结构数据流图的层次结构数据流图的层次结构数据流图的层次结构 在多层数据流图中,顶层流图仅包含一个加工(处理) ,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据。 底层流图是指其加工不需再做分解的数据流图,它处在最底层。 中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。-画分层数据流图画分层数据流图 教材购
9、销系统的顶层DFD 学生教材购销系统书 库保 管员-画分层数据流图画分层数据流图 教材购销系统的第二层DFD 领书单 进书通知 进书通知 购书单缺书单 1销售 2采购书库保管员学生F1教材存量表 F2缺书登记表 -画分层数据流图画分层数据流图 教材购销系统的第三层DFD采购子系统 . .修改修改教教材材库库存和待存和待购购量量. .按按书号书号汇总汇总缺缺书书 . .按出版社按出版社统计统计缺缺书书书库书库保管保管员员F2F2缺缺书书登登记记表表 F1F1教教材存量表材存量表 F5 F5待待购教购教材表材表 F6F6教教材一材一览览表表 进书进书通知通知 进书进书通知通知 缺书单 1销售数据字
10、典数据字典 数据字典包含的信息: 名字:数据、控制项、数据存储或外部实体的主要名称。 别名:第一项中对象的其他名字。 使用地点与方式:使用数据或控制项的处理的列表,以及使用这些对象的方式(例如作为处理的输入,从处理输出,作为数据存储,作为外部实体)。 内容描述:描述数据或控制项内容的符号。 补充信息:关于数据类型、预置值、限制等的其他信息。数据字典数据字典 数据字典中的定义是对数据自顶向下的分解。当数据字典中的定义是对数据自顶向下的分解。当分解到不需要进一步定义,每个与工程有关的人分解到不需要进一步定义,每个与工程有关的人也都清楚其含义的元素时,分解过程就结束。也都清楚其含义的元素时,分解过程
11、就结束。 由数据元素组成数据的方式只有由数据元素组成数据的方式只有3 3种基本类型。种基本类型。1)1)顺序顺序 即以确定次序连接即以确定次序连接2 2个或多个分量;个或多个分量;2)2)选择选择 即从即从2 2个或多个可能的元素中选取一个;个或多个可能的元素中选取一个;3)3)重复重复 即把指定的分量重复即把指定的分量重复0 0次或多次。派生出:次或多次。派生出:4)4)可选可选 即一个分量是可有可无的(重复即一个分量是可有可无的(重复0 0次或次或1 1次)次)数据字典数据字典 虽然可以使用自然语言描述由数据元素组成数据的关系,但是为了更加清晰简洁起见,建议用下列符号: 意思是等价于(或定
12、义为); 意思是和(即,连接两个分量); 意思是或(即,从方括弧内列出的若干个分量中选择一个),通常用“”号分开供选择的分量; 意思是重复(即,重复花括弧内的分量); ( )意思是可选(即,圆括弧里的分量可有可无)。 例子:在数据字典中定义标识符。 标识符=字母字符+字母数字串 字母数字串=0字母或数字7 字母或数字=字母字符|数字字符 字母字符=A|Z|a|z 数字字符=0|1|9-确定数据定义与加工策略确定数据定义与加工策略 从数据的终点开始定义数据和加工 数据定义DD 例如:发票 发票发票 学号姓名书号单价数量总学号姓名书号单价数量总价书费合计价书费合计 加工策略PSPEC 分层DFD图
13、产生了系统的全部数据和加工,通过对这些数据和加工的定义,常常对分析员提出一些新问题,促使新的调查和思考,并可能导致对DFD的修改。画DFD,定义加工和数据,再画,再定义,如此循环,直至产生一个为用户和分析员一致同意的文档SRS。 -需求分析的复审需求分析的复审 复审人员 用户和系统分析员共同进行复审,并吸收设计人员参加 复审的重点 尽量多地发现文档中存在的矛盾、冗余与遗漏 ,尽可能确保DFD、DD、加工说明等文档的完整性、一改性和易读性,3.3 3.3 结构化系统设计结构化系统设计 SD概述概述 面向数据流设计和面向数据设计面向数据流设计和面向数据设计 面向数据流:数据流是考虑一切问题的出发点
14、 面向数据:以数据结构作为分析与设计的基础 从分析模型导出设计模型从分析模型导出设计模型 结构化设计的描述工具:结构化设计的描述工具:SCSC图图 从分析模型导出设计模型从分析模型导出设计模型PSPEC数据对象描述CFDDFDE-RDDCSPEC过程设计 接口设计体系结构设计数据设计数据流图的类型数据流图的类型 数据流图的类型数据流图的类型 变换(变换(transformtransform)型结构)型结构 传入路径 变换中心 传出路径 事务(事务(transactiontransaction)型结构)型结构 一条接受路径 一个事务中心 若干条动作路径 变换结构的变换结构的DFDDFD变换中心传
15、入传出信息传入流传出流 变换流时间事务型结构事务型结构DFDDFD事务中心接收路径动作路径同时存在两类结构同时存在两类结构T传入变换传出事务中心SDSD方法的步骤方法的步骤 SDSD方法的步骤方法的步骤 复审DFD图,必要时可再次进行修改或细化 鉴别DFD图所表示的软件系统的结构特征,确定它所代表的软件结构是属于变换型还是事务型 按照SD方法规定的一组规则,把DFD图变换为初始的SC图。变换型DFD图 初始SC图 事务型DFD图 初始SC图 按照优化设计的指导原则改进初始的SC图,获得最终SC图变换映射事务映射变换映射变换映射 变换过程1. 划分DFD图的边界 2. 建立初始SC图的框架 顶层
16、都只含一个用于控制的主模块 第一层包括传入、传出和中心变换三个模块 3. 分解SC图的各个分支 分解实质上是“映射”例子例子划分划分DFDDFDPEDCBAWRUVQabcdeprwuv传入部分变换中心传出部分第一级分解第一级分解MEMTMCMAc,ec,eu,wu,w传入分支的分解传入分支的分解GetEAtoBReadDDtoEReadABtoCGetBGetC MAc,ecebbcaabddb传出分支的分解传出分支的分解 WriteW UtoV Write V PutU MEw,uwuuvv变换中心的分解变换中心的分解 MT R P Qepc,prrw,u初始初始SCSC图图 MC MT
17、Q P R MEWriteW P u tU Uto VWriteV A to BRead A GetB DtoERead D BtoC GetC G e t E MA事务映射事务映射 映射过程1. 在DFD图上确定边界 事务中心 接受部分(包括接受路径) 发送部分(包括全部动作路径) 2. 画出SC图框架 DFD图的三个部分分别映射为事务控制模块,接受模块和动作发送模块 3. 分解和细化接受分支和发送分支 例子例子划分划分DFDDFD传入 T变换传出接受部分事务中心动作部分第一层分解第一层分解发送事务控制接收顶层第一层混合结构混合结构C1AC3BC2DLFGEKJabb1b2b3c1c2c3d
18、efghjklm优化结构设计的指导规则优化结构设计的指导规则 对模块划分的指导规则 提高内聚,降低耦合后 简化模块接口 少用全局性数据和控制型信息 保持高扇入/低扇出的原则 扇入高则上级模块多,能够增加模块的利用率 扇出低则表示下级模块少,可以减少模块调用和控制的复杂度 扇入和扇出扇入和扇出MM M的扇入M的扇出例子:扇出例子:扇出计算实发工资取得工资数据编外人员扣款编外人员工资编外人员税收薪金制工资额计时制工资额常规扣款税收扣款煎饼形结构不可取!例子:扇出例子:扇出常规扣款编外人员实发工资 计算实发工资取得工资数据计时工人实发工资计薪工人实发工资编外人员扣款编外人员税收编外人员工资税收扣款计
19、时制工资额薪金制工资额塔型结构3.4 3.4 模块设计模块设计 模块设计也称详细设计 目的 为SC图中的每个模块确定算法和数据结构,用选定的表达工具给出清晰的描述 主要任务 编写软件的“模块设计说明书” 模块设计的原则与方法模块设计的原则与方法 清晰第一的设计风格清晰第一的设计风格 结构化的控制结构结构化的控制结构 仅用这三种控制结构来构成仅用这三种控制结构来构成程序程序 a) a) 顺序结构,先执行顺序结构,先执行A A再执再执行行B B; (b) IF-THEN-ELSE(b) IF-THEN-ELSE型选择型选择( (分分支支) )结构;结构; (c)DO-WHILE(c)DO-WHILE型循环结构型循环结构 每个控制结构只应有一个入口和一个出口 逐步细化的实现方法逐步细化的实现方法 常用的表达工具常用的表达工具 程序流程图程序流程图 N NS S图(盒图)图(盒图) 判定表判定表 判定树判定树 伪代码伪代码 PDLPDL语言语言N-SN-S图图 S1 S2顺序 C T FS1 S2 选择While C S SUntil C 循环判定表判定表 当算法中包含多重嵌套的条件选择时,用程序流程图、盒图、PAD图或后面即将介绍的过程设计语言(PDL)都不易清楚地描述。然而判定表却能够
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026绵阳汇鑫人力资源服务有限公招聘6人模拟试卷附答案详解【研优卷】
- 2026北京公共交通控股(集团)有限公司社会招聘2人模拟试卷含完整答案详解【名师系列】
- 2026-2027广东湛江吴川市银龄讲学教师招募65人考前冲刺密卷【预热题】附答案详解
- 2026浙江杭州市西溪实验学校诚聘中学语文、英语、科学、社会老师(非事业)7人考前冲刺试卷带答案详解(研优卷)
- 2026下半年北京市房山区事业单位招聘33人笔试题库带答案详解(预热题)
- 2026浙江台州市中医院招聘后勤保障部-保安编外人员2人笔试题库【考试直接用】附答案详解
- 2026贵州两山文旅集团有限公司第二批就业见习人员招聘6人备考题库附参考答案详解(精练)
- 2026云南临沧云县零工市场临沧市易成实验学校医生招聘1人笔试题库及完整答案详解【典优】
- 2026年上海市嘉定区迎园中学编外教师招聘考前冲刺试卷附完整答案详解【易错题】
- 2026年镇赉县事业单位面向下半年应征入伍高校毕业生公开招聘工作人员模拟试卷及参考答案详解(精练)
- 上海市2026年中考数学试题(附答案)
- 浙江省劳动合同
- 2026天津石油职业技术学院招聘20人笔试题库带答案详解(B卷)
- 2026年交管12123驾驶证学法减分试题(含参考答案)
- 《自我保护免受伤害》教学课件 - 2026-2027 学年统编版(新教材)小学道德与法治四年级上册
- 2026年船舶驾驶员考试题库及答案
- 预防接种规范培训课件教学
- 项目技术标述标
- 睡眠呼吸障碍合并哮喘的诊疗策略-1
- TCNAS53-2025抗肿瘤药物静脉给药技术学习解读课件附送标准全文可编辑版
- 非现场执法课件
评论
0/150
提交评论