第十一讲:结构化系统设计(1):系统的总体结构设计
- 格式:ppt
- 大小:1.44 MB
- 文档页数:25
一、系统设计的原则1、系统性从整个系统的角度进行考虑,系统的代码要统一,设计规范要标准,传递语言要尽可能一致,对系统的数据采集要做到数出一处、全局共享,使一次输入得到多次利用。
2、灵活性系统应具有较好的开放性和结构的可变性,采用模块化结构,提高各模块的独立性,尽可能减少模块间的数据偶合,使各子系统间的数据依赖减至最低限度。
3、可靠性可靠性是指系统抵御外界干扰的能力及受外界干扰时的恢复能力。
一个成功的管理信息系统必须具有较高的可靠性,如安全保密性、检错及纠错能力、抗病毒能力等。
4、经济性经济性指在满足系统需求的前提下,尽可能减小系统的开销。
一方面,在硬件投资上不能盲目追求技术上的先进,而应以满足应用需要为前提;另一方面,系统设计中应尽量避免不必要的复杂化,各模块应尽量简洁,以便缩短处理流程、减少处理费用。
二、系统设计的主要内容1、系统总体结构设计系统总体结构设计包括两方面的内容:系统网络结构设计;系统模块化结构设计。
2、代码设计代码设计就是通过设计合适的代码形式,使其作为数据的一个组成部分,用以代表客观存在的实体、实物和属性,以保证它的唯一性便于计算机处理。
3、数据库(文件)设计根据系统分析得到的数据关系集和数据字典,再结合系统处理流程图,就可以确定出数据文件的结构和进行数据库设计。
4、输入/输出设计输入/输出设计主要是对以纪录为单位的各种输入输出报表格式的描述,另外,对人机对话各式的设计和输入输出装置的考虑也在这一步完成。
5、处理流程设计处理流程设计是通过系统处理流程图的形式,将系统对数据处理过程和数据在系统存储介质间的转换情况详细地描述出来。
6、程序流程设计程序流程设计是根据模块的功能和系统处理流程的要求,设计出程序模框图,为程序员进行程序设计提供依据。
7、系统设计文档系统标准化设计是指各类数据编码要符合标准化要求,对数据库(文件)命名、功能模块命名也要标准化。
描述系统设计结果是指系统设计说明书,程序设计说明书,系统测试说明书以及各种图表等,要将他们汇集成册,交有关人员和部门审核批准;拟定系统实施方案设计是在系统设计结果得到有关人员和部门认可之后,拟定系统实施计划,详细地确定出实施阶段的工作内容、时间和具体要求。
结构化设计方法结构化设计方法是指在设计过程中,通过对系统进行合理的分解和组合,使得系统的结构更加清晰、简单、易于理解和维护的一种设计方法。
结构化设计方法的核心在于对系统进行合理的分析和设计,以及对系统结构进行合理的组织和管理。
下面我们将详细介绍结构化设计方法的相关内容。
首先,结构化设计方法的核心在于对系统进行合理的分析和设计。
在设计过程中,我们需要对系统进行充分的分析,了解系统的功能、性能、接口等方面的要求,然后根据这些要求进行合理的设计。
在设计过程中,我们需要充分考虑系统的模块化、接口设计、数据结构设计等方面,确保系统的结构能够满足系统的要求。
其次,结构化设计方法需要对系统结构进行合理的组织和管理。
在设计过程中,我们需要对系统的结构进行合理的组织和管理,确保系统的结构能够清晰、简单、易于理解和维护。
在组织和管理系统结构时,我们需要充分考虑系统的模块划分、模块之间的接口设计、数据结构设计等方面,确保系统的结构能够满足系统的要求。
最后,结构化设计方法需要充分考虑系统的可扩展性和可维护性。
在设计过程中,我们需要充分考虑系统的可扩展性和可维护性,确保系统的结构能够满足系统的未来发展和维护的需要。
在考虑系统的可扩展性和可维护性时,我们需要充分考虑系统的模块划分、模块之间的接口设计、数据结构设计等方面,确保系统的结构能够满足系统的未来发展和维护的需要。
总之,结构化设计方法是一种通过对系统进行合理的分析和设计,对系统结构进行合理的组织和管理,充分考虑系统的可扩展性和可维护性的设计方法。
通过结构化设计方法,我们能够设计出结构更加清晰、简单、易于理解和维护的系统,满足系统的要求,同时也能够满足系统的未来发展和维护的需要。
结构化设计方法对于提高系统的质量、降低系统的开发和维护成本具有重要的意义。
结构化开发方法中,模块结构图(功能结构图)的设计,可以先从业一、系统分析概述系统分析:一种问题求解技术,将系统分解,并研究各部分的工作和交互,从而实现系统目标,系统分析强调业务问题,而非技术或实现,要求用户参与;侧重业务全过程的角度进行分析,分析业务和数据的流程是否通畅合理,数据、业务和组织管理之间的关系;并研究系统开发的可行性;最后提出信息系统的各种设想和解决方案系统分析的步骤:对当前系统进行详细调查、收集数据;建立当前系统的逻辑模型;对现状进行分析,提出改进意见和新系统应达到的目标;建立新系统的逻辑模型;编写系统方案说明书1、系统设计的基本原理系统设计的基本原理:抽象、模块化、信息隐蔽、模块独立(耦合、内聚)2、系统总体结构设计系统总体结构设计:根据系统分析的要求和组织的实际情况对系统的总体结构形式和可利用的资源进行大致设计,这是一种宏观、总体上的设计和规划系统结构设计原则:分解-协调原则;自顶向下的原则;信息隐蔽、抽象的原则;一致性原则;明确性原则;模块之间的耦合尽可能小,内聚尽可能高;模块的扇入、扇出系数合理;模块的规模适当子系统划分原则:子系统要具有相对独立性;子系统之间数据的依赖性尽量小;子系统划分结果应使数据冗余小;子系统的设置要考虑未来管理发展的需要;子系统的划分应便于系统分阶段实现;子系统的划分应考虑到各类资源的充分利用子系统的设计:确定划分后的子系统模块机构,需要考虑,每个子系统如何划分成多个模块;如何确定子系统之间、模块之间传送的数据及其调用关系;如何评价并改进模块结构的质量;如何从数据流图导出模块结构图模块:组成系统的基本单位,可以组合、分解和更换,依据功能具体化的程度,可以将模块分为逻辑模块和物理模块模块的要素:输入和输出、处理功能、内部数据、程序代码结构设计遵循原则:模块独立性强;模块连接存在上下级之间,不能同级之间;系统呈树状结构,不允许网状和交叉;所有模块都严格分类编码并建立归档文件模块结构图:结构化设计中描述系统结构的图形工具,主要关心模块的外部属性,即上下级模块、同级模块之间的数据传递和调用关系,不关心内部结构,由模块、调用、数据、控制信息和转接符号组成数据存储设计:数据结构组织和数据库或文件设计,就是要根据数据的不同用途、使用要求、统计渠道和安全保密性来决定数据的整体组织形式、表或文件的形式,以及决定数据的结构、类别、载体、组织方式、保密级别等;做好数据资源分布和安全保密性的协调3、系统文档系统文档:是建设过程的痕迹,是系统维护人员的指南,是开发人员与用户交流的工具,是保证系统可维护、可升级的基础;包括开发过程汇总产生的文档,也包括采购网络设计中形成的文档;还包括建设过程中的各种来往文件、会议纪要、会计单据等4、结构化分析方法结构化分析与设计方法:是一种面向数据流的传统软件开发方法,以数据流为中心内构建软件的分析模型和设计模型,结构化分析、结构化设计和结构化程序设计构成完整的结构化方法5、结构化分析方法概述结构化方法:将一个复杂的问题,逐步奉节成若干个足够简单的、容易解决的小问题,这种自顶向下逐层奉节的思想就是结构化方法的基础6、数据流图数据流图:是便于用户理解、分析系统数据流程的图形工具,其摆脱系统物理内容,精确的在逻辑上描述系统的功能、输入、输出和数据存储,是系统逻辑模型的重要组成部分基本图形元素:数据流、加工、数据存储和外部实体数据流:由一组固定成分的数据组成,表示数据的流向(一个加工向另一个加工;加工流向数据存储;数据存储流向加工;从外部实体流向加工;从加工流向外部实体),数据流需要定义名臣,以反映数据流的含义加工:描述输入数据流到输出数据流之间的变换,即处理;具备名字和编号数据存储:用来存储数据;具有名字标识;可以由文件实现也可以用数据库实现,介质可以是磁盘、磁带或其他存储介质外部实体:存在于软件之外的人员或组织,指出数据的源和宿扩充符号:星号(*)表示数据流之间的“与”关系;加号(+)表示“或”;异或表示“互斥”层次结构:顶层图(描述了软件凶弹与外界的数据流)、0层图、中间图(至少有一个加工被分解)、底层图(所有加工不能奉节)、基本加工分层数据流图的步骤:画系统的输入和输出;画系统的内部(确定加工、确定数据流、确定数据存储、确定源和宿);画加工的内部分层数据流图的审查:审查一致性和完整性(一致性,分层结构图中不存在矛盾和冲突;完整性,分层结构图本身的是否有遗漏的数据流、加工等)构造分层结构图需要注意的问题:适当命名;画数据流而不是控制流;避免一个加工有过多的数据流;分解尽可能均匀;先考虑确定状态,忽略琐碎的细节;随时准备重画分解的程度:1+-2;分解应自然,概念上应合理、清晰;不影响理解性,可以增加子加工,减少层数;上层分解快,下层分解慢;分解要均匀7、数据字典数据字典:为数据流图中的每个数据流、文件、加工以及组成数据流或文件的数据项作出说明数据字典条目:数据流、数据项、数据存储和基本加工数据流条目:给出数据流图中数据流的定义,通常列出该数据流的各组成数据项数据存储条目:是对数据存储的定义数据项条目:是不可在分解的数据单位基本加工条目:说明数据流图中基本加工的处理逻辑词典管理:将词典条目按照某种格式组织后存储在词典中,并提供排序、查找和统计加工说明方法:结构化语言、判定表和判定树8、结构化设计方法结构化设计方法:一种面向数据流的设计方法,可以与结构化分析方法衔接,基本思想为将系统设计成由相对独立、功能单一的模块组成的结构结构图:用来描述软件系统的体系结构,指出软件由那些模块组成,以及模块间的调用关系9、结构化设计的步骤设计步骤:建立初始结构图;改进初始结构图;书写设计文档;设计评审10、数据流图到软件体系结构的映射结构化设计是将结构化分析的结果映射成软件的体系结构,依据信息流的特点可以将数据流图分为变换型数据流图和事务型数据流图,对应的映射分别为变换分析和事务分析变换流:信息沿输入通路进入系统,将信息的外部形式转换成内部表达,通过变换中心处理,再沿输出通路转换成外部形式离开系统事物流:信息沿输入通路进入事务中心,事务中心依据输入信息的类型在若干动作序列中选择一个来执行,有明显的事务中心变换分析:从变换流型的数据流图中导出程序结构图;确定输入流和输出流,分离出变换中心(物理输入到逻辑输入构成输入流、逻辑输出到物理输出构成输出流,输入流至输出流之间构成变换中心);第一级分解(顶层--第一层);第二级分解(中层、下层)事务分析:从事务型数据流图导出程序结构图;确定事务中心和每条活动六的流特性;将事务流型数据流图映射成高层的程序结构;进一步分解结构化设计的步骤:复查并精化数据流图;确定数据流图的信息流类型;依据流类型分别实施变换分析和事务分析;依据系统设计原则对程序结构图进行优化。
一、系统设计的原则1、系统性从整个系统的角度进行考虑,系统的代码要统一,设计规范要标准,传递语言要尽可能一致,对系统的数据采集要做到数出一处、全局共享,使一次输入得到多次利用。
2、灵活性系统应具有较好的开放性与结构的可变性,采用模块化结构,提高各模块的独立性,尽可能减少模块间的数据偶合,使各子系统间的数据依赖减至最低限度。
3、可靠性可靠性就是指系统抵御外界干扰的能力及受外界干扰时的恢复能力。
一个成功的管理信息系统必须具有较高的可靠性,如安全保密性、检错及纠错能力、抗病毒能力等。
4、经济性经济性指在满足系统需求的前提下,尽可能减小系统的开销。
一方面,在硬件投资上不能盲目追求技术上的先进,而应以满足应用需要为前提;另一方面,系统设计中应尽量避免不必要的复杂化,各模块应尽量简洁,以便缩短处理流程、减少处理费用。
二、系统设计的主要内容1、系统总体结构设计系统总体结构设计包括两方面的内容:系统网络结构设计;系统模块化结构设计。
2、代码设计代码设计就就是通过设计合适的代码形式,使其作为数据的一个组成部分,用以代表客观存在的实体、实物与属性,以保证它的唯一性便于计算机处理。
3、数据库(文件)设计根据系统分析得到的数据关系集与数据字典,再结合系统处理流程图,就可以确定出数据文件的结构与进行数据库设计。
4、输入/输出设计输入/输出设计主要就是对以纪录为单位的各种输入输出报表格式的描述,另外,对人机对话各式的设计与输入输出装置的考虑也在这一步完成。
5、处理流程设计处理流程设计就是通过系统处理流程图的形式,将系统对数据处理过程与数据在系统存储介质间的转换情况详细地描述出来。
6、程序流程设计程序流程设计就是根据模块的功能与系统处理流程的要求,设计出程序模框图,为程序员进行程序设计提供依据。
7、系统设计文档系统标准化设计就是指各类数据编码要符合标准化要求,对数据库(文件)命名、功能模块命名也要标准化。
描述系统设计结果就是指系统设计说明书,程序设计说明书,系统测试说明书以及各种图表等,要将她们汇集成册,交有关人员与部门审核批准;拟定系统实施方案设计就是在系统设计结果得到有关人员与部门认可之后,拟定系统实施计划,详细地确定出实施阶段的工作内容、时间与具体要求。
结构化系统设计方法的基本思想是以系统的逻辑功能设计和数据流关系为基础,根据数据流程图和数据字典,借助于标推的设计淮则和图表工具,通过“自上而下”和“自下而上”的反复,逐层把系统划分为多个大小适当,功能明确,具有一定独立性,并容易实现的模块,从而把复杂系统的设计转变为多个简单模块的设计。
从目前大多数信息系统的开发现状来看,结构化系统设计方法是运用最为普遍,同时也是最为成熟的一种开发方式。
简单地说,结构化系统设计方法可以用三句话进行概括;自上而下;逐步求精;模块化设计。
首先,自上而下,就是在管理信息系统的设计与系统分析阶段,必须采用整体大于局部、上级优于下级的设计思路。
优先考虑如何满足领导层的管理需求,其次才考虑中层与底层的管理需求。
其次,对客户的需求分析应做到逐步求精。
在深入调研的基础上力图在编写程序之前就清晰地了解客户的实际运作过程,从而制定出切实可行的开发方案,并且为将来可能的功能扩展留有充分的余地。
最后阶段才进入程序编写阶段。
在进行软件设计时采用模块化的设计思路,并且采用自下而上的实施方法,即先开发一些能够独立运行并完成某些功能的小型程序模块,而后将这些模块进行组合。
采用这种设计方法,在所有功能模块开发完成之后,只需将所有模块进行有机组合,就能够获得一个完善的系统。
二、结构化系统设计方法的由来与发展在数据处理领域,“结构化”…词最早出现于程序设计,即结构化程序设计。
“结构化”的含义是指用一组标准的准则和工具从事某项工作。
在结构化程序设计之前,每一个程序员都按照各自的习惯和思路编写程序,没有统一的标准,也没有统一曲技术方法,因此,程序的调试、维护都很困难,这是造成软件危机的主要原因之一。
1966年,Bohn和Jacopinl提出了有关程序设计的新理论.即结构化程序设计理论。
这个理论认为,任何——个程序都可以用三种基本逻辑结构来编制,而且只需这三种结构。
这三种结构分别是顺序结构、判断结构和循环结构,其特点是每种结构只有一个入口点和一个出口点。
结构化系统设计的主要任务和内容1. 什么是结构化系统设计结构化系统设计是指在软件开发过程中,将一个大型系统划分为多个模块或组件,并定义它们之间的接口和关系,以实现系统的整体功能。
通过结构化系统设计,可以提高系统的可维护性、可扩展性和可重用性,减少系统的复杂度,使系统更易于理解和修改。
2. 结构化系统设计的主要任务结构化系统设计的主要任务是确立系统的模块结构,将系统划分为多个模块,并定义它们之间的接口和关系。
具体的任务包括:2.1 分析需求在进行结构化系统设计之前,需要对系统的需求进行全面的分析,了解系统需要实现的功能和性能要求。
通过需求分析,可以确定系统的功能模块和模块之间的关系,为后续的模块划分和接口设计提供依据。
2.2 划分模块根据需求分析的结果,将系统划分为多个模块,每个模块负责实现一部分功能。
模块的划分应该遵循职责单一原则,确保每个模块的功能清晰明确,避免功能的重复或交叉。
2.3 定义接口模块之间的通信通过接口来实现。
在结构化系统设计中,定义接口是非常重要的任务。
接口应该清晰明确,包括输入参数、输出参数和返回值的类型和格式,以及模块之间的数据流和控制流。
合理设计接口可以降低模块之间的耦合度,提高系统的可扩展性和可维护性。
2.4 设计模块内部结构每个模块内部也有一定的结构,包括数据结构、算法、函数和过程等。
设计模块的内部结构时,需要考虑模块内部功能的划分和组织,以及模块内部的数据共享和数据传递方式。
2.5 确立模块之间的关系模块之间的关系包括依赖关系、调用关系和层次关系等。
在结构化系统设计中,需要明确每个模块之间的关系,确保模块之间的协调工作和数据交换能够顺利进行。
2.6 验证和优化设计在完成结构化系统设计之后,需要对设计进行验证和优化。
验证设计的正确性和可行性,通过模拟和测试来检查系统是否满足要求。
同时,还可以对设计进行优化,提高系统的性能和效率。
3. 结构化系统设计的内容结构化系统设计的内容可以分为以下几个方面:3.1 系统规格说明书系统规格说明书是结构化系统设计的主要成果之一,它包括系统的功能需求、性能需求、接口需求、数据需求等详细信息。