第4章 结构化软件设计PPT讲稿.ppt

上传人:石*** 文档编号:44667892 上传时间:2022-09-22 格式:PPT 页数:74 大小:3.11MB
返回 下载 相关 举报
第4章 结构化软件设计PPT讲稿.ppt_第1页
第1页 / 共74页
第4章 结构化软件设计PPT讲稿.ppt_第2页
第2页 / 共74页
点击查看更多>>
资源描述

《第4章 结构化软件设计PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第4章 结构化软件设计PPT讲稿.ppt(74页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第1页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计4.1 4.1 概要设计的任务与过程概要设计的任务与过程 概概要要设设计计的的目目标标是是概概要要地地说说明明软软件件应应该该怎怎样样实实现现,即即解解决决软软件件系系统统总总体体结结构构设设计计的的问问题题,包包括括软软件件系系统统的的结结构构、模模块块划划分分、模模块块功功能能和和模模块间的联系等。块间的联系等。第2页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计4.1 4.1 概要设计的任务与过程概要设计的任务与过程 4.1.1 4.1.1 概要设计的任务概要设计的任务(1 1)建

2、立目标系统的总体结构)建立目标系统的总体结构(2)给给出出每每个个功功能能模模块块的的功功能能描描述述,数数据据接接口口描描述述和和调调用用关关系系,规规定定设设计计限制,外部文件及全局数据定限制,外部文件及全局数据定义义。(3 3)设计数据库及数据结构)设计数据库及数据结构 (4 4)编写文档)编写文档 第3页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计4.1.2 4.1.2 概要设计的过程概要设计的过程 1 1制定规范制定规范 2 2系统架构设计系统架构设计 3 3软件结构设计软件结构设计 4 4公共数据结构设计公共数据结构设计 5 5安全性设计安全性设计 6

3、 6故障处理设计故障处理设计 7 7编写文档编写文档 8 8概要设计评审概要设计评审 第4页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计4.2 4.2 系统架构设计系统架构设计 4.2.1 4.2.1 系统架构设计与风格系统架构设计与风格 系统架构设计可按以下步骤进行:系统架构设计可按以下步骤进行:定定义义子子系系统统。根根据据需需求求分分析析中中有有关关系系统统的的业业务务划划分分情情况况,将系统分解成多个具有独立功能的子系统。将系统分解成多个具有独立功能的子系统。定义子系统外部接口。定义子系统外部接口。定定义义系系统统物物理理架架构构。包包括括硬硬件件设设备备

4、、软软件件环环境境、网网络络结结构构、数数据据库库结结构构等等,并并将将子子系系统统按按照照子子系系统统所所选选的的物理架构进行合理部署与优化。物理架构进行合理部署与优化。第5页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计4.2.2 4.2.2 常见的软件体系架构风格常见的软件体系架构风格 1 1数据流风格数据流风格 管道管道/过滤器风格的软件体系结构过滤器风格的软件体系结构 第6页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计管道管道/过滤过滤器器风风格的格的软软件体系架构的件体系架构的优优点点使使得得软软构构件件具具有有良良好好的的

5、隐隐蔽蔽性性和和高高内内聚聚性性、低低耦耦合合度的特点;度的特点;允允许许设设计计者者将将整整个个系系统统的的输输入入/输输出出行行为为看看成成是是多多个个过滤过滤器的行器的行为为的的简单简单合成;合成;支支持持软软件件复复用用,如如果果任任何何两两个个过过滤滤器器达达成成了了在在它它们们之之间间交交流流的的数数据据格格式式,这这两两个个过过滤滤器器就就可可被被连连接接起起来;来;维维护护这这种种系系统统和和增增强强系系统统其其功功能能很很简简单单,新新的的过过滤滤器器可可以以添添加加到到现现有有系系统统中中来来,旧旧的的过过滤滤器器可可以以被被改改进进的的过过滤滤器替器替换换掉;掉;第7页,

6、共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计允允许对许对一些如吞吐量、死一些如吞吐量、死锁锁等属性的分析;等属性的分析;支支持持并并行行执执行行,每每个个过过滤滤器器是是作作为为一一个个单单独独的的任任务务实实现现,因此可与其他任因此可与其他任务务并行并行执执行。行。缺点:缺点:通常导致进程成为批处理的结构。通常导致进程成为批处理的结构。不适合处理交互的应用。不适合处理交互的应用。因因为为在在数数据据传传输输上上没没有有通通用用的的标标准准,每每个个过过滤滤器器都都增增加加了了解解析析和和合合成成数数据据的的工工作作,这这样样就就导导致致了了系系统统性能下降,并增加

7、了编写过滤器的复杂性。性能下降,并增加了编写过滤器的复杂性。第8页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计2 2层次系统风格层次系统风格 第9页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计层次系统的优点:层次系统的优点:支支持持基基于于抽抽象象程程度度递递增增的的系系统统设设计计,使使设设计计者者可可以以把一个复杂系统按递增的步骤进行分解。把一个复杂系统按递增的步骤进行分解。支支持持功功能能增增强强,因因为为每每一一层层至至多多和和相相邻邻的的上上下下层层交交互,因此功能的改变最多影响相邻的上下层。互,因此功能的改变最多影响相邻的

8、上下层。支支持持复复用用。只只要要提提供供的的服服务务接接口口定定义义不不变变,同同一一层层的的不同实现可以交换使用。不同实现可以交换使用。不足之处:不足之处:并不是每个系统都可以很容易地划分为分层的模式;并不是每个系统都可以很容易地划分为分层的模式;很难找到一个合适的、正确的层次抽象方法。很难找到一个合适的、正确的层次抽象方法。第10页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计3 3虚拟机风格虚拟机风格 例例:解解释释器器,通通过过虚虚拟拟机机特特定定模模块块的的解解释释步步骤骤如如下下:解解释释引擎从被解引擎从被解释释的模的模块块中中选择选择一条指令;一条指

9、令;基于基于这这条指令,引擎更新虚条指令,引擎更新虚拟拟机内部的状机内部的状态态;上述过程反复执行。上述过程反复执行。第11页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计特点:特点:在在虚虚拟拟机机环环境境中中运运行行的的代代码码不不必必须须了了解解虚虚拟拟机机的具体的具体细节细节。一一旦旦运运行行环环境境发发生生变变化化,只只需需要要重重写写虚虚拟拟机机本本身身,而不是整个系而不是整个系统统。通通常常虚虚拟拟机机会会限限制制在在其其中中运运行行的的软软件件的的行行为为,特特别别是是那那些些以以实实现现跨跨平平台台为为目目的的的的虚虚拟拟机机,如如Java虚虚拟拟

10、机和机和.NETCLR。能能够够使使系系统统的的结结构构更更具具层层次次性性,使使用用虚虚拟拟机机提提供供的的设设施施编编写写的的代代码码,可可以以不不考考虑虑虚虚拟拟机机以以外外的的实实际际环环境境,而而在在正正确确地地实实现现了了这这种种虚虚拟拟机机的的环环境境中中执执行。行。第12页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计4 4独立构件风格独立构件风格 独独立立构构件件风风格格的的体体系系结结构构由由很很多多独独立立的的、通通过过消消息息交交互互的的过过程程或或者者对对象象组组成成。这这种种软软件件体体系系结结构构通通过过对对各各自自部部分分计计算算的的

11、解解耦耦操操作作来来达达到到易更改的目的。易更改的目的。第13页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计特点:特点:系系统统由由松松耦耦合合的的一一些些独独立立运运行行的的计计算算单单元元构构成成,这这些些单单元元之之间间通通过过消消息息传传递递信信息息。一一般般情情况况下下,这这些些独独立立的的计计算算单单元元能能够够自自主主地地完完成成一一些些计计算算任任务务。消消息息的的发发出出者者通通常常并并不不知知道道谁谁会会接接收收并并处处理理这这些些消消息,更不了解息,更不了解这这些消息是如何被些消息是如何被处处理的。理的。由由于于系系统统基基于于消消息息,因因

12、此此有有较较好好的的并并发发性性能能、容容错错性性和可伸和可伸缩缩性。性。独立构件系统中通常不存在比较明显的主独立构件系统中通常不存在比较明显的主/从结构。从结构。第14页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计5 5仓库风格仓库风格第15页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计5 5仓库风格仓库风格(1 1)知知识识源源:知知识识源源中中包包含含独独立立的的、与与应应用用程程序序相相关关的的知知识识,知知识识源源之之间间不不直直接接进进行行通通讯讯,它它们们之之间的交互只通过黑板来完成。间的交互只通过黑板来完成。(2 2)

13、黑黑板板数数据据结结构构:黑黑板板数数据据是是按按照照与与应应用用程程序序相相关关的的层层次次来来组组织织的的解解决决问问题题的的数数据据,知知识识源源通通过过不断地改变黑板数据来解决问题。不断地改变黑板数据来解决问题。(3 3)控控制制:控控制制完完全全由由黑黑板板的的状状态态驱驱动动,黑黑板板状状态态的改变决定使用的特定知识。的改变决定使用的特定知识。第16页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计4.3 4.3 软件结构设计软件结构设计4.3.1 4.3.1 模块化概念模块化概念1.1.模块化模块化 模模块块是是一一个个独独立立命命名名的的,拥拥有有明明

14、确确定义的输入、输出和特性的程序实体。定义的输入、输出和特性的程序实体。模模块块化化设设计计可可以以简简化化软软件件的的设设计计和和实实现现,提提高高软软件件的的可可理理解解性性和和可可测测试试性性,并使软件更容易得到维护。并使软件更容易得到维护。第17页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计2 2抽象化抽象化 在在解解决决复复杂杂的的具具体体问问题题时时,人人们们往往往往先先忽忽略略其其细细节节和和非非本本质质的的方方面面,而而集集中中注注意意力力去去分分析析问问题题的的本本质质和和主主要要方方面面,搞搞清清所所要要解解决决的的问问题题的的本本质质所所在在

15、;同同时时人人们们在在总总结结认认识识和和实实验验规规律律时时,也也往往往往突突出出各各类类问问题题的的共共性性,找找出出各各种种客客观观事事物物、状状态态和和过过程程间间的的联联系系和和相相似似性性,加加以以概概括和提取,即抽象。括和提取,即抽象。第18页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计3 3信息隐蔽信息隐蔽 信信息息隐隐藏藏是是指指在在设设计计和和确确定定模模块块时时,应应使使一一个个模模块块内内包包含含的的信信息息(过过程程和和数数据据)对对于于不不需需要要这这些些信信息息的的模模块块来来说说是是不可访问的。不可访问的。信信息息局局部部化化是是指

16、指将将一一些些关关系系密密切切的的成份,设计时放得彼此靠近。成份,设计时放得彼此靠近。第19页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计4.3.2 4.3.2 模块的独立性模块的独立性 1 1耦耦合合度度:模模块块同同模模块块的的联联系系称称为为块块间间的联系(模块的耦合度)的联系(模块的耦合度)2 2内内聚聚度度:一一个个模模块块内内部部各各成成份份的的联联系系称称为块内的联系(模块的内聚度)为块内的联系(模块的内聚度)第20页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计耦合度按从强到弱的顺序可分为几种类型:耦合度按从强到弱的顺序

17、可分为几种类型:(1 1)内内容容耦耦合合:当当一一个个模模块块直直接接修修改改或或操操作作另另一一个个模模块块的的数数据据或或者者直直接接转转入入另另一一个模块时,就发生了内容耦合个模块时,就发生了内容耦合 (2 2)公公共共耦耦合合:两两个个以以上上的的模模块块共共同同引引用用一个全局数据项一个全局数据项(3 3)控控制制耦耦合合:一一个个模模块块在在界界面面上上传传递递一一个个信信号号(如如开开关关值值、标标志志量量等等)控控制制另另一一个个模模块块,接接收收信信号号的的模模块块的的动动作作根根据据信号值进行调整,称为控制耦合。信号值进行调整,称为控制耦合。第21页,共74页,编辑于20

18、22年,星期一第第4章章结构化软件设计结构化软件设计(4 4)数据耦合:指两个模块彼此交换数据)数据耦合:指两个模块彼此交换数据(5)独独立立耦耦合合:模模块块间间没没有有信信息息传传递递时时,属于非直接耦合属于非直接耦合 耦合性与模块属性的关系耦合性与模块属性的关系 对修改的敏感性对修改的敏感性可重用性可重用性可修改性可修改性可理解性可理解性内容耦合内容耦合很强很强很差很差很差很差很差很差公共耦合公共耦合强强很差很差中中很差很差控制耦合控制耦合一般一般差差差差差差数据耦合数据耦合不一定不一定好好好好好好第22页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计内聚度按

19、强度从低到高有以下几种类型:内聚度按强度从低到高有以下几种类型:(1 1)偶偶然然内内聚聚:模模块块内内的的各各个个任任务务没没有有什什么么有有意意义义的的联联系系,它它们们之之所所以以能能构构成成一一个个模模块块完完全全是是偶偶然然的的原原因。因。(2)逻逻辑辑内内聚聚:几几个个逻逻辑辑上上相相关关的的功功能能被被放放在在同同一一模模块中,则称为逻辑内聚。块中,则称为逻辑内聚。(3)时时间间内内聚聚:如如果果一一个个模模块块完完成成的的功功能能必必须须在在同同一一时时间间内内执执行行(如如系系统统初初始始化化),但但这这些些功功能能只只是是因因为为时时间间因因素素关关联联在在一一起起,则则称

20、称为为时时间间内内聚。聚。第23页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计(4)过过程程内内聚聚:如如果果一一个个模模块块内内部部的的处处理理成成份份是是相相关关的的,而而且且这这些些处处理理必必须须以以特特定定的的次次序序执执行行,则则称称为为过过程程内内聚。聚。(5)通通信信内内聚聚:如如果果一一个个模模块块的的所所有有成成份份都都操操作作同同一一数数据集或生成同一数据集,则称为通信内聚。据集或生成同一数据集,则称为通信内聚。(6)顺顺序序内内聚聚:如如果果一一个个模模块块的的各各个个成成份份和和同同一一个个功功能能密密切切相相关关,而而且且一一个个成成份

21、份的的输输出出作作为为另另一一个个成成份份的的输输入,则称为顺序内聚。入,则称为顺序内聚。(7)功功能能内内聚聚:模模块块的的所所有有成成份份对对于于完完成成单单一一的的功功能能都是必须的,则称为功能内聚。都是必须的,则称为功能内聚。第24页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计内聚与模块属性的关系内聚与模块属性的关系 表4.2 内聚与模块属性的关系 内部联系内部联系清晰性清晰性可复用可复用性性可修改性可修改性可理解性可理解性偶然内聚偶然内聚很差很差差差很差很差很差很差很差很差逻辑内聚逻辑内聚很差很差很差很差很差很差很差很差差差时间内聚时间内聚差差中中很差很

22、差中中中中过程内聚过程内聚中中好好差差中中中中通信内聚通信内聚中中好好差差中中中中顺序内聚顺序内聚好好好好中中好好好好功能内聚功能内聚好好好好好好好好好好第25页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计4.3.3 4.3.3 结构化设计建模结构化设计建模 1 1软件结构图软件结构图 (1 1)软件结构图的基本图形符号:)软件结构图的基本图形符号:模块:模块:调用:调用:模块间通讯:模块间通讯:数据信息:数据信息:控制信息:控制信息:第26页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计 选择调用:选择调用:循环调用:循环调用:第27

23、页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计(2 2)举例:举例:第28页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计2 2HIPOHIPO图图(1)H图图也也叫叫层层次次图图:用用于于描描述述软软件件结结构构上上的的分分层层调调用用关关系系,作作用用类类似似于于软软件件结结构构图图,但但不不涉涉及及调调用用时时的的数数据据流流、控控制制流等附加信息。流等附加信息。(2 2)IPOIPO图:输入图:输入输出输出处理图的简称处理图的简称第29页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计大学教务管理系统大

24、学教务管理系统H H图图 第30页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计(3 3)IPOIPO图图第31页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计IPOIPO图描述:图描述:系统名称:教务管理系统 模块名称:选课处理 模块编号:3输入数据:有效申请单数据输出数据:选课表处理步骤:1根据选课课程号与选课学期,检索课程2确定所选的课程号3根据课程号输出打印选课表第32页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计4.3.4 4.3.4 软件设计准则软件设计准则 1 1模块规模应该适中模块规模应该适中

25、 2 2改进软件结构提高模块独立性改进软件结构提高模块独立性 第33页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计4.3.4 4.3.4 软件设计准则软件设计准则 3 3深度、宽度、扇入和扇出都应适当深度、宽度、扇入和扇出都应适当 第34页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计4.3.4 4.3.4 软件设计准则软件设计准则 4 4模块的作用域应该在控制域之内模块的作用域应该在控制域之内 5 5力争降低模块接口的复杂程度力争降低模块接口的复杂程度 6 6设计单入口单出口的模块设计单入口单出口的模块 7 7模块功能应该可以预测模块

26、功能应该可以预测 第35页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计4.4 4.4 面向数据流图的设计方法面向数据流图的设计方法 4.4.1 4.4.1 基本概念基本概念1 1变换流变换流 第36页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计2 2事务流事务流 第37页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计4.4.24.4.2变换流分析与设计变换流分析与设计步步骤骤:(1)确定)确定变换变换流、流、输输入流和入流和输输出流部分出流部分(2 2)设计模块结构的顶层和第一层)设计模块结构的顶层和第一层

27、 (3 3)设计中下各层)设计中下各层 第38页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计举例举例第39页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计举例举例第40页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计4.4.3 4.4.3 事物流分析与设计事物流分析与设计步步骤骤:(1)根据事)根据事务务功能功能设计设计一个一个顶层总顶层总控模控模块块;(2)将将事事务务中中心心的的输输入入数数据据流流对对应应为为一一个个第第一一层层的的接收模接收模块块及及该该模模块块的下的下层层模模块块;(3)将事)将事务

28、务中心中心对应为对应为一个第一一个第一层层的的调调度模度模块块;(4)对对每每一一种种类类型型的的事事务务处处理理,在在调调度度模模块块下下设设计计一一个个事事务务处处理理模模块块;然然后后为为每每个个事事务务处处理理模模块块设设计计下下面面的的操操作作模模块块及及操操作作模模块块的的细细节节模模块块,每每一一处处理的理的对应设计对应设计可用可用变换变换分析方法。分析方法。第41页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计举例举例第42页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计举例举例第43页,共74页,编辑于2022年,星期一

29、第第4章章结构化软件设计结构化软件设计4.4.4 4.4.4 混合流分析与设计混合流分析与设计基本思路:基本思路:(1)(1)首首先先利利用用变变换换分分析析方方法法把把软软件件系系统统分分为为输输入入、变变换换和和输输出出三三部部分分,由由此此设设计计出出软软件件系系统统的的上上层层构构架架,例例如如,顶顶层层和和第第一层模块;一层模块;(2)(2)然然后后根根据据数数据据流流程程图图各各个个部部分分的的结结构构特特点点,适适当当地地选选择择变变换换分分析析或或事事务务分分析析,由此设计出软件系统的下层结构。由此设计出软件系统的下层结构。第44页,共74页,编辑于2022年,星期一第第4章章

30、结构化软件设计结构化软件设计混合数据流混合数据流 第45页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计混合型数据流程图映射的软件结构图混合型数据流程图映射的软件结构图 第46页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计4.5 4.5 面向数据结构的设计方法面向数据结构的设计方法 4.5.1 Jackson4.5.1 Jackson(JSDJSD)方法)方法 1 1JacksonJackson图图 第47页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计2 2JSDJSD方法设计步骤方法设计步骤 (1 1)分

31、分析析并并确确定定输输入入数数据据和和输输出出数数据据的的逻逻辑辑结结构构,并用并用JacksonJackson结构图表示这些数据结构。结构图表示这些数据结构。(2 2)找找出出输输入入数数据据结结构构和和输输出出数数据据结结构构中中有有对对应应关关系系的的数数据据单单元元。“对对应应关关系系”指指这这些些数数据据单单元元在在数数据据内内容容上上、数数量量上上和和顺顺序序上上有有直直接接的的因因果果关关系系,对对于于重重复复的的数数据据单单元元,重重复复的的次次序序和和次次数数都相同才有对应关系。都相同才有对应关系。(3 3)按按一一定定的的规规则则由由输输入入、输输出出的的数数据据结结构构导

32、导出出程程序序结构结构 第48页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计2 2JSDJSD方法设计步骤方法设计步骤 (4 4)列列出出基基本本操操作作与与条条件件,并并把把它它们们分分配配到程序结构图的适当位置。到程序结构图的适当位置。(5 5)用伪码写出程序。)用伪码写出程序。第49页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计举例举例(1 1)绘制)绘制JacksonJackson数据结构图。数据结构图。第50页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计(2 2)找出对应关系)找出对应关系(3

33、3)导出程序结构)导出程序结构 第51页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计(4 4)列出基本操作与条件)列出基本操作与条件 第52页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计(5 5)写出伪码)写出伪码第53页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计4.5.2 Warnier4.5.2 Warnier(LCPLCP)方法方法1 1WarnierWarnier图图例:例:第54页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计3 3Warnier(LCP)Warni

34、er(LCP)方法设计步骤方法设计步骤(1 1)分分析析和和确确定定输输入入数数据据和和输输出出数数据据的的逻逻辑辑结结构构,用用WarnierWarnier图描绘这些数据结构;图描绘这些数据结构;(2 2)依依据据输输入入数数据据结结构构导导出出程程序序结结构构,并并用用WarnierWarnier图描绘程序的处理层次;图描绘程序的处理层次;(3 3)将将程程序序结结构构图图改改成成程程序序流流程程图图,并并自自上上而而下下依依次次给流程图的每个处理框编序号;给流程图的每个处理框编序号;(4 4)列出每个处理框的操作细节,分类写出伪代码;)列出每个处理框的操作细节,分类写出伪代码;(5 5)

35、得得到到的的程程序序伪伪代代码码序序列列,即即为为所所设设计计程程序序的的过过程程性性描述。描述。第55页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计举例举例第56页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计4.6 4.6 数据库结构设计数据库结构设计 4.6.1 4.6.1 概念结构设计概念结构设计E-RE-R图:图:第57页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计E-RE-R图的基本概念图的基本概念1 1实实体体:是是指指客客观观存存在在并并相相互互区区别别的的事事物物,实体可以是具体的,也可以

36、是抽象的。实体可以是具体的,也可以是抽象的。2 2联系:实体之间可能会有各种关系。联系:实体之间可能会有各种关系。3 3属属性性:实实体体一一般般具具有有若若干干个个特特征征,这这些些特征就称为实体的属性。特征就称为实体的属性。第58页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计4.6.2 4.6.2 逻辑结构设计逻辑结构设计 1 1设计数据表设计数据表(1 1)数数据据关关系系模模型型中中的的每每一一个个实实体体应应该该映映射射为为数数据据库库逻逻辑辑结结构构中中的的一一个个数数据据表表。另另外外,实实体体的的属属性性对对应应于于数数据据表表的的字字段段,实实体

37、体的的主主关关键键字字作作为为数数据据表的主键。表的主键。(2 2)数数据据关关系系模模型型中中的的每每一一个个n n:m m关关系系也也应应映映射射为为数数据据库库逻逻辑辑结结构构中中的的一一个个数数据据表表。另另外外,与与该该关关系系相相连连的的各各实实体体的的关关键键字字以以及及关关系系本本身身的的属属性性,应应该该映映射射为为数数据据表表的的字字段段;而而与与该该关关系系相相连连的的各各个个实实体体的的主主关关键键字,则需要组合起来作为关系数据表的主键。字,则需要组合起来作为关系数据表的主键。第59页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计(3 3)数

38、数据据关关系系模模型型中中的的每每一一个个1 1:n n关关系系也也可可映映射射为为一一个个独独立立的的数数据据表表。但但在在更更多多的的情情况况下下,这这1 1:n n关关系系则则是是与与它它的的n n端端对对应应的的实实体体组组合合起起来来映映射射为为一一个个数数据据表表。当当1 1:n n关关系系是是与与n n端端对对应应的的实实体体合合并并组组成成一一个个数数据据表表时时,组合数据表的字段中需要含有组合数据表的字段中需要含有1 1端实体的主关键字。端实体的主关键字。(4 4)数数据据关关系系模模型型中中的的每每一一个个1 1:1 1关关系系可可映映射射为为一一个个独独立立的的数数据据表

39、表,也也可可以以与与跟跟它它相相连连的的任任意意一一端端或或两两端端的的实实体体合合并并组组成成数数据据表表。实实际际上上,两两个个依依靠靠1 1:1 1关关系系联联系系的的数数据据表表可可以以设设置置相相同同的的主主键键,为为了了减减少少数数据据库库中中数数据据表表的的个个数数,可可合合并并为为一一个个数数据据表表。合合并并方方法法是是将将其其中中的的一一个个数数据据表表的的全全部部字字段段加加入入到到另另一一个个数数据表中,然后去掉其中意义相同的字段。据表中,然后去掉其中意义相同的字段。第60页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计2 2规范数据表规范数

40、据表(1 1)第第一一范范式式:每每个个属属性性值值都都必必须须是是原原子子值值,即即仅仅是一个简单值而不含内部结构。仅仅是一个简单值而不含内部结构。(2 2)第第二二范范式式:满满足足第第一一范范式式条条件件,而而且且每每个个非非关关键键字字属性都由整个关键字决定。属性都由整个关键字决定。(3 3)第第三三范范式式:符符合合第第二二范范式式的的条条件件,每每个个非非关关键键字字属属性性的的进进一一步步描描述述,即即一一个个非非关关键键字字属属性性值值不不依依赖于另一个非关键字属性值。赖于另一个非关键字属性值。第61页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计3

41、 3关联数据表关联数据表 将将数数据据关关系系模模型型中中数数据据实实体体之之间间的的关关系系,在在数数据据库库逻逻辑辑结结构构中中明明确确体体现现出出来来,它它们们将将作作为为建建立立数数据据表表之之间间参参照照完完整整性性规规则的依据。则的依据。4 4设计数据视图设计数据视图 第62页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计4.6.3 4.6.3 物理结构设计物理结构设计1 1数据存储结构数据存储结构 2 2数据索引与聚集数据索引与聚集 3 3数据完整性数据完整性 第63页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计4.7 4

42、.7 软件详细设计软件详细设计 4.7.14.7.1结构化程序设计结构化程序设计基本原基本原则则:采用自采用自顶顶向下,逐步求精的向下,逐步求精的设计设计方法;方法;用用顺顺序序、选选择择和和循循环环3种种基基本本控控制制结结构构实实现单现单入口和入口和单单出口的程序。出口的程序。第64页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计4.7.1 4.7.1 详细设计工具详细设计工具 1 1程序流程图程序流程图方框:表示一个方框:表示一个处处理,理,处处理内容写于框内。理内容写于框内。菱形框:表示一个判断,菱形框:表示一个判断,判断条件写于框内。判断条件写于框内。椭圆

43、椭圆框:表示开始或框:表示开始或结结束。束。箭头:表示程序流程。箭头:表示程序流程。第65页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计2 2PADPAD图图 第66页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计PAD图图具有以下特点:具有以下特点:具具有有强强烈烈的的结结构构化化特特征征,支支持持自自顶顶向向下下、逐逐步步求精的求精的设计设计方法;方法;逻逻辑辑清清晰晰,易易懂懂、易易用用,PAD图图是是二二维维树树形形结结构构图图形形,程程序序从从图图中中最最左左竖竖线线上上端端结结点点开开始始执执行行,自自上上而而下下、从左向右

44、从左向右顺顺序遍序遍历历所有所有结结点;点;即可表示即可表示设计设计程序程序逻辑逻辑,又可表示数据,又可表示数据结结构;构;容易将容易将图图直接直接转换为转换为高高级语级语言程序;言程序;既可以用于程序既可以用于程序逻辑逻辑,也可用于描,也可用于描绘绘数据数据结结构。构。第67页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计3 3盒图盒图 第68页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计盒盒图图具有以下特点具有以下特点:过过程的作用域明确;程的作用域明确;盒盒图图没有箭没有箭头头,不能随意,不能随意转转移控制;移控制;容易区分全局容

45、易区分全局变变量和局部量和局部变变量;量;容易表示嵌套关系和容易表示嵌套关系和层层次关系;次关系;强强烈的烈的结结构化特征。构化特征。第69页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计4 4过程设计语言(过程设计语言(PDLPDL)PDLPDL应该具有下述特点:应该具有下述特点:关关键键字字的的固固定定语语法法,它它提提供供了了结结构构化化控控制制结结构构、数数据据说说明和模明和模块块化的特点;化的特点;自然自然语语言的自由言的自由语语法,它描述法,它描述处处理特点;理特点;数数据据说说明明的的手手段段,应应该该既既包包括括简简单单的的数数据据结结构构(例例如如

46、,数数组组),又又包包括括复复杂杂的的数数据据结结构构(例例如如,链链表表或或层层次次的数据的数据结结构);构);模模块块定定义义和和调调用用的的技技术术,应应该该提提供供各各种种接接口口描描述模式。述模式。第70页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计4.7.34.7.3人机界面设计人机界面设计 1 1人机界面设计过程人机界面设计过程 建立界面需求规格模型;建立界面需求规格模型;以界面需求模型为依据创建界面原型;以界面需求模型为依据创建界面原型;评价界面原型。评价界面原型。第71页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计2

47、 2界面设计中应考虑的因素界面设计中应考虑的因素(1 1)用户工作环境与工作习惯)用户工作环境与工作习惯 (2 2)界界面面的的风风格格的的“一一致致性性”与与“个个性性化化”(3 3)界面信息反馈)界面信息反馈 (4 4)界面的合适性)界面的合适性 (5 5)容错性)容错性 (6 6)审美性和可用性)审美性和可用性 第72页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计3 3界面功能特征界面功能特征 (1 1)用户与界面之间的交互)用户与界面之间的交互直接操纵直接操纵菜单选择菜单选择表格填写表格填写命令语言命令语言自然语言自然语言 (2 2)系统信息在界面上的表示)系统信息在界面上的表示 第73页,共74页,编辑于2022年,星期一第第4章章结构化软件设计结构化软件设计(3 3)系统对新用户的学习指导)系统对新用户的学习指导 错误消息错误消息联机帮助联机帮助第74页,共74页,编辑于2022年,星期一

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁