软件工程基础(胡思康)第4章课件.pptx
《软件工程基础(胡思康)第4章课件.pptx》由会员分享,可在线阅读,更多相关《软件工程基础(胡思康)第4章课件.pptx(77页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、SEY结构化设计方法结构化设计方法SEY结构化设计方法概述结构化设计方法概述1面向数据流的设计方法面向数据流的设计方法2面向数据的设计方法面向数据的设计方法3结构化详细设计的工具结构化详细设计的工具4结构化设计(结构化设计(SDSD)的基础是)的基础是模块模块,结构化设计的,结构化设计的基本思想是:基于模块独立性和信息隐藏性原则,基本思想是:基于模块独立性和信息隐藏性原则,自顶向下,逐步求精,分解与抽象相结合,并应用自顶向下,逐步求精,分解与抽象相结合,并应用结构化程序设计技术而进行的软件设计。结构化程序设计技术而进行的软件设计。结构化设计结构化设计分为面向分为面向数据流的设计方法数据流的设计
2、方法和和面向数据的设计面向数据的设计方方法。法。面向数据流的设计面向数据流的设计方法根据方法根据对数据流图理解的不同,对数据对数据流图理解的不同,对数据流图自动化边界划分的不同,分为流图自动化边界划分的不同,分为变换分析法变换分析法、事务分析法事务分析法和和混合分析法混合分析法。面向面向数据的设计方法在基于数据的设计方法在基于系统数据结构系统数据结构的基础上,分析系的基础上,分析系统统输入输入、输出输出的数据间的的数据间的映射关系映射关系,进而得到系统结构的设,进而得到系统结构的设计方法。计方法。SEY结构化设计方法概述结构化设计方法概述1面向数据流的设计方法面向数据流的设计方法2面向数据的设
3、计方法面向数据的设计方法3结构化详细设计的工具结构化详细设计的工具4面向数据流的设计(面向数据流的设计(DOFDDOFD)是基于数据流图自顶)是基于数据流图自顶向下,逐层分解的过程。它将各级数据流图映射为向下,逐层分解的过程。它将各级数据流图映射为软件结构图中对应的各层次模块,体现了结构化设软件结构图中对应的各层次模块,体现了结构化设计与结构化分析的相互衔接,也体现了自顶向下的计与结构化分析的相互衔接,也体现了自顶向下的模块化设计思想。模块化设计思想。表示软件系统结构设计的图形工具:表示软件系统结构设计的图形工具:层次图层次图和和结构图结构图。层次图(层次图(Hierarchy Diagram
4、Hierarchy Diagram,HDHD)用于描绘软件系统的层)用于描绘软件系统的层次结构。次结构。层次图中的编号,清楚的反映了上下层间的调用隶属关系,层次图中的编号,清楚的反映了上下层间的调用隶属关系,这与数据流图的分层编号一致。这与数据流图的分层编号一致。层次图只反映上下层间的调用关系,不反映系统的组成关系,层次图只反映上下层间的调用关系,不反映系统的组成关系,也不反映系统执行过程也不反映系统执行过程。论文格式论文格式论文格式论文格式1.01.0打开论文文件打开论文文件打开论文文件打开论文文件2.02.0关闭论文文件关闭论文文件关闭论文文件关闭论文文件3.03.0编辑编辑编辑编辑3.1
5、3.1章节标题章节标题章节标题章节标题3.23.2段落段落段落段落3.33.3文字文字文字文字3.43.4节节节节4.04.0目录目录目录目录5.05.0检索检索检索检索另另一个表示软件系统结构的图形工具:一个表示软件系统结构的图形工具:结构图结构图。结构图与结构图与层次图类似,也是以方框表示模块,方层次图类似,也是以方框表示模块,方框间的连线表示调用关系。框间的连线表示调用关系。与层次结构图不同的与层次结构图不同的是,它是,它增加了对连线的数据流描述增加了对连线的数据流描述。不加区分的数据不加区分的数据数据信息数据信息控制信息控制信息编辑编辑学生学生学生学生记录记录读学生记录读学生记录读学生
6、记录读学生记录学生数据学生数据无此学生无此学生学号学号系系统控制控制MNA A A AB B B BC C C Ca,bcca,b,c为模块间传递的数据或控制信号为模块间传递的数据或控制信号系统控制模块可以细分为系统控制模块可以细分为传入模块传入模块、传出模块传出模块、变换模块变换模块和和协调模块协调模块。传传入模入模入模入模块块AA传传出模出模出模出模块块BB变换变换模模模模块块BA协调协调模模模模块块BAAB变换分析法是以变换分析法是以数据流图数据流图为基为基础,并根据数据流的特征进行软础,并根据数据流的特征进行软件系统结构设计的方法。无论是件系统结构设计的方法。无论是变换分析法还是事务分
7、析法,它变换分析法还是事务分析法,它们的设计过程都如下图所示:们的设计过程都如下图所示:复审的目的是再次强调数据流图的各注意事项复审的目的是再次强调数据流图的各注意事项(1)命名时尽量使用有明确含义的词、短语、)命名时尽量使用有明确含义的词、短语、术语和领域词汇,减少数据流图的歧义。术语和领域词汇,减少数据流图的歧义。(2)上下层图(父子图)输入、输出,以及访)上下层图(父子图)输入、输出,以及访问数据流的平衡。问数据流的平衡。(3)上)上下层图(父子图下层图(父子图)的层次编号要一致,)的层次编号要一致,正确反应数据流图的分解过程。正确反应数据流图的分解过程。(4)对于每层数据流的分解,可以
8、用逻辑运算)对于每层数据流的分解,可以用逻辑运算符符*(与)、(与)、+(或)和(或)和(异或)怎加数据流(异或)怎加数据流图中个变换部分间的语义。图中个变换部分间的语义。(5)精化数据流图,使其能正确、完整地描述)精化数据流图,使其能正确、完整地描述用户需求,因为这将决定系统结构图的逻辑框用户需求,因为这将决定系统结构图的逻辑框架正确与否。架正确与否。划分自动化边界,确定数据流特征,判划分自动化边界,确定数据流特征,判断数据流是断数据流是变换流变换流还是还是事物流事物流。变换流的特征是有明显输入、处理和输变换流的特征是有明显输入、处理和输出过程,在处理部分出过程,在处理部分没有过多的控制和判
9、没有过多的控制和判断断。这里的输入和输出是指对应子系统或。这里的输入和输出是指对应子系统或模块数据模块数据的输入的输入、输出部分,并非一定对、输出部分,并非一定对应系统外部的直接输入和输出。应系统外部的直接输入和输出。事事物流的特征是在数据的输入、处理和物流的特征是在数据的输入、处理和输出过程中,处理部分输出过程中,处理部分有明显的控制或判有明显的控制或判断中心断中心,后续的数据流有较多活动路径,后续的数据流有较多活动路径数据输入输出边界的划分与系数据输入输出边界的划分与系统结构的处理无关,仅表示系统统结构的处理无关,仅表示系统与外部数据的交换。与外部数据的交换。执行一级分解,导出系统逻辑结构
10、的最上两执行一级分解,导出系统逻辑结构的最上两层关系。顶层为关系主控模块,第二层根据边层关系。顶层为关系主控模块,第二层根据边界的划分,分为三个模块(子系统)界的划分,分为三个模块(子系统)输入模块:包括所有输入部分,以及经过简输入模块:包括所有输入部分,以及经过简单变换的数据和信息;输出模块:包括所有输单变换的数据和信息;输出模块:包括所有输出部分,以及经过简单变换的数据和信息;控出部分,以及经过简单变换的数据和信息;控制模块:除输入输出部分以外的变换操作制模块:除输入输出部分以外的变换操作二级二级分解把一层分解得到的各子系统模块按分解把一层分解得到的各子系统模块按照各层数据流图逐层细分,得
11、到系统结构图的照各层数据流图逐层细分,得到系统结构图的原型。原型。为了明确说明各模块间的调用关系,形成接为了明确说明各模块间的调用关系,形成接口设计说明书的部分内容,还需要为每个模块口设计说明书的部分内容,还需要为每个模块编写一个简要说明:编写一个简要说明:l模块的输入、输出数据接口定义模块的输入、输出数据接口定义l模块内部结构信息模块内部结构信息l模块功能的主要流程描述,特别是主要的判模块功能的主要流程描述,特别是主要的判断、异常处理断、异常处理l对模块调用时的相关约束关系,以及特别的对模块调用时的相关约束关系,以及特别的说明(如说明(如I/O操作,共享约束等)操作,共享约束等)采用启发式规
12、则,精化所得到的初步软件结采用启发式规则,精化所得到的初步软件结构,以模块独立性为原则,合并、分解、抽取构,以模块独立性为原则,合并、分解、抽取各模块,得到一个高内聚、低耦合、易实现、各模块,得到一个高内聚、低耦合、易实现、易测试、易维护的软件系统结构图易测试、易维护的软件系统结构图ABCDEFGHJKMabdcejkmf示意性数据流图示意性数据流图hMCMIMTMO主控模块:完成对整个主控模块:完成对整个系统的调用、数据传递、系统的调用、数据传递、I/O操作等功能。操作等功能。输入流模块:接受并初输入流模块:接受并初步转换所有输入数据。步转换所有输入数据。输出输出流模块:产生符合流模块:产生
13、符合用户需求的输出数据。用户需求的输出数据。变换流模块:对系统内部形变换流模块:对系统内部形式的数据进行加工、处理。式的数据进行加工、处理。ABCDEabdceMIEc,eDdeAbBaCcJKMjkmMOKMkjJmkjFGHcejkf示意性数据流图示意性数据流图MTGFHc,ej,kefhc,fj,khhMTGFHc,ej,kcfhc,fj,khMC(主控模(主控模块)MIEc,eDdeAbBaCcMOKMkjJmkjMTGFHc,ej,kec,ehfj,khMC(主控模(主控模块)MIEc,eDdeAbBaCcMOKMkjJmkj如果数据例图中具有事物特征,即能如果数据例图中具有事物特征
14、,即能找到事物找到事物中心中心和对应的和对应的多条活动路径多条活动路径,则用事物分析法更,则用事物分析法更能体现以能体现以事物为主事物为主的处理过程。的处理过程。TMC(事物分析)(事物分析)MIT(调度事物中心)(调度事物中心)路径路径1路径路径2路径路径3MIMTMO事物事物层:各事物控制中心:各事物控制中心MCMIH(调度)度)ABCDEFGHJKMabdcejkmf事物中心事物中心hhhMCMIH(调度)度)hhFhCGBEADcbafedJKFckm第一步求精:第一步求精:1 1层层DFDDFD图图部部门用用户部部门用用户F1 原始原始简历库F2 简历库简历文件文件简历查询信息信息登
15、登录信息信息简历1登录登录F3 用用户信息信息库权限限2自动获自动获取简历取简历信息信息权限限3 查询查询查询信息信息简历逐步求精:对各系统进一步精化逐步求精:对各系统进一步精化F1 原始原始简历库F2 简历库简历文件文件2.1电子收电子收集电子集电子简历简历2.2读取电读取电子简历子简历权限限2.3 分析分析关键词关键词简历简历文件文件简历文件文件2.4 自动获自动获取简历取简历信息信息关关键词逐步求精:对各系统进一步精化逐步求精:对各系统进一步精化F2 简历库3.1分析查分析查询信息询信息3.2查询查询查询信息信息3.3 生成查生成查询结果询结果简历关关键词权限限关关键词简历划分数据输入输
16、出边界,分离出处理部分划分数据输入输出边界,分离出处理部分执行一级分解执行一级分解执行执行二二级分解级分解H精化所得到的初步软件结构精化所得到的初步软件结构HH划分数据输入、输出边界,分离出事物中心划分数据输入、输出边界,分离出事物中心一级分解一级分解H二二级级分解分解从组织结构上分析,变换分析法符合一般意义上从组织结构上分析,变换分析法符合一般意义上对软件的理解,即输入、输出和变换。对软件的理解,即输入、输出和变换。事物分析法符合系统用户的操作过程,由用户操事物分析法符合系统用户的操作过程,由用户操作选项(事物中心)决定各活动路径。作选项(事物中心)决定各活动路径。从模块独立性,特别是耦合度
17、上分析,案例中变从模块独立性,特别是耦合度上分析,案例中变换分析法的控制模块将第二部分第三部分的模块都换分析法的控制模块将第二部分第三部分的模块都混合在控制模块中。混合在控制模块中。而事物分析法,不同的活动路径通过事物中心各而事物分析法,不同的活动路径通过事物中心各自独立,没有耦合关系,更符合模块独立性原则。自独立,没有耦合关系,更符合模块独立性原则。从符合用户需求的角度上分析,事物分析法更接从符合用户需求的角度上分析,事物分析法更接近于用户需求的描述。活动路径和需求有较好的对近于用户需求的描述。活动路径和需求有较好的对应关系。应关系。因此建议采用事物分析法所得到的二级分解图作因此建议采用事物
18、分析法所得到的二级分解图作为软件系统结构图。为软件系统结构图。在大规模和复杂系统的数据流图中,常常需要将在大规模和复杂系统的数据流图中,常常需要将变换分析法和事物分析法结合使用,共同构建软件变换分析法和事物分析法结合使用,共同构建软件系统结构图。系统结构图。ABCDEFGHJKMabdcejkmfh输入流输入流变换流变换流事物中心事物中心活动路径活动路径ABCDEFGHJKMabdcejkmfh输入流输入流变换流变换流事物中心事物中心活动路径活动路径如果模块如果模块A A、B B、C C、D D、E E是顶层数据流图是顶层数据流图的外部数据交换部分,则变化分析法的设的外部数据交换部分,则变化分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 基础 胡思康 课件
限制150内