呼呼ozZ 2010-01-22
一、总体结构设计方法
1、系统模块(功能)结构图(相当课本第三节)
结构化设计方法,采用类似于结构化分析的“由大到小”、“自顶向下,逐层分解”的基本思想描述(分解)系统。结构化设计方法,首先以数据流图为基础导出系统模块(功能)结构图。在导出系统模块(功能)结构图的过程中,以独立性、低耦合性、高内聚性、公共模块作为模块划分的原则。先将系统数据流图中的加工转换成模块,再将各大模块继续划分为较小的模块,直到每一模块都是功能单一的模块。
第二节系统设计的方法
1、总体结构设计方法
模块结构图是用流线连接矩形框组成的有层次关系的图形,其中矩形框里标明模块的名字,也可以在矩形框内指明模块的功能或功能名称,如图2.10所示。第二节 系统设计的方法
例:首先以计算机银行对账数据流图(下图)为基础,将加工转换成模块,导出银行对账模块结构图2.11。
第二节系统设计的方法
例:运用结构化设计方法,将银行对账模块结构图2.11向下分解,得到2层银行对账模块结构图2.12。
第二节系统设计的方法
第二节系统设计的方法
结构化设计是将一个大系统划分为若干个功能模块,每个功能模块再划分为若干个子模块,自顶向下,层层分解,完成系统的全部功能。
模块究竟如何划分,到目前为止,没有一个严格的、绝对的标准,好的模块划分方法不是唯一的,同一个问题由不同的设计人员考虑,可能得到不同的结果。但是评价模块结构图模块划分的质量高低,也就是评价标准,主要看模块的划分是否符合下面四项基本原则。
第二节系统设计的方法
模块划分的四项基本原则:
⑴模块间的独立性
⑵模块间的低耦合性
①数据耦合:两个模块之间是调用关系,相互传递的信息以参数形式给出。它是模块耦合性最弱的一种形式。
②特征耦合:两个模块都与同一数据结构有关,这种状态可以转化为数据耦合。
第二节系统设计的方法
⑵模块间的低耦合性
③控制耦合:上级模块向下属模块传递的数据,控制了下属模块的内部逻辑,下属模块做出判断,向上级模块反馈一个“开关标识”或者“逻辑状态”。
④公共耦合:一些模块需引用全局变量,使得使用全局变量的模块相互依赖,相互影响。
⑤内容耦合:一个模块对另一模块内容作直接引用,也许通过非正常入口进入另一模块,或对另一模块的内容作直接的修改。这样的耦合关系使得模块间的联系过分紧密,常常给后期的开发和维护工作带来不便。
第二节系统设计的方法
⑶模块的高内聚性
指一个模块的内部各处理步骤之间的联系程度,联系紧密则为聚合性高。在进行模块划分时,可能遇到的模块聚合有以下几种:
①功能聚合:一个模块内各组成部分为执行同一功能而存在,并且只执行一种功能。
②顺序聚合:一个模块内部各组成部分中,前一个处理动作产生的输出,是后一个处理动作的输入数据。
③通讯聚合:模块内部各组成部分的处理功能都能使用同一输入数据或相同的输出数据。第二节 系统设计的方法
⑶模块的高内聚性
④过程聚合:模块内各组成部分的处理动作,虽不相同,但没有什么联系,且都受同一控制源的支配。
⑤时间聚合:模块内各组成部分的处理动作只和时间有关。
⑥逻辑聚合:模块内各组成部分的处理动作在逻辑上相似,但其功能彼此无关,也不相同。
⑦机械聚合:模块内各组成部分的处理动作彼此没有任何关系。
聚合性既然表示了模块内部各个处理步骤间的联系紧密程度,也就反映了模块内部各个处理步骤组合强度。图2.14给出几种聚合性的强弱比较。
第二节系统设计的方法
第二节系统设计的方法
模块划分的四项基本原则:
⑴模块间的独立性
⑵模块间的低耦合性
⑶模块的高内聚性
⑷建立公共模块
建立公共模块的目的减少冗余,减少不必要的重复工作,划出某项功能成为一个能被几个模块共同利用的模块。也就模块结构图的形态是中层宽大上下小的。第二节 系统设计的方法
例:在工资管理中,处理调出人员和查询工资都要显示人员的各项工资数据,我们把“显示某人的各项工资数据”定为一个独立的公共模块,写成一个屏幕格式文件,如图2.15所示。
第二节系统设计的方法
2、信息系统流程图(P138第四节)
功能(模块)结构图主要从功能的角度描述了系统的结构,但并未表达各功能之间的数据传递关系,而信息系统流程图是表达功能模块之间的数据传递关系。事实上,系统中许多业务或功能都是通过数据文件联系起来的。例如,某一功能模块向某一数据文件中存入数据,而另一个功能模块则从该数据文件中取出数据。再比如,虽然在数据流程图中的某两个功能模块之间原来并没有通过数据文件发生联系,但为了处理方便,在具体实现中有可能在两个处理功能之间设立一个临时的中间文件以便把它们联系起来。
第二节系统设计的方法
2、信息系统流程图(P138第四节)
信息系统流程图是以新系统的数据流程图为基础绘制的。可以按下述思路来绘制信息系统流程图:首先为数据流程图中的处理功能画出数据关系图。课本P139图6.2是数据关系图的一般形式,它反映了数据之间的关系,即输入数据、中间数据和输出信息之间的关系。
最后,把各个处理功能的数据关系图综合起来,形成整个系统的数据关系图,即信息系统流程图。
绘制信息系统流程图应当使用统一符号。目前国际上所用的符号日趋统一,我国国家标准CB1526-79信息处理流程图图形符号和国际标准化组织标准ISO1028、2636以及美国国家标准协会ANSI的图形符号大致相同,常用的符号(图例)见课本P139图6.3。
第二节系统设计的方法
设计工资管理(功能)模块结构图的信息系统流程图如下:
第二节系统设计的方法
二、详细设计方法
通过总体设计阶段,采用结构化设计方法,以数据流图为基础导出了系统模块结构图,给出了模块与模块之间的联系以及相关的数据库,而详细设计则是要给出模块结构中各个模块的内部过程的具体描述。
详细设计的表示形式种类和方法很多,如流程图、N—S图、IPO图、Warnier-Orr图、PAD图、判断树、伪码(类××语言)等。我们采用流程图结合类数据库(FoxBASE+)语言(伪码)的方法来表达模块的具体算法。
第二节系统设计的方法
(1)流程图
流程图是使用得最广泛的描述过程方法,流程图中方框代表一个处理步骤,一个菱形框代表一个逻辑判断条件,箭头表示一个控制流,如下图展示了结构化设计的三种基本控制结构图。
第二节系统设计的方法
第二节系统设计的方法
(1)流程图
①顺序:他是一种按语句排列的先后顺序依次执行的控制结构。如图2.16(a)中方框里的X1,X2可以是一个语句,也可以是一组语句。
②分支:或称判断、选择结构,他根据判断条件成立与否,而选择程序的执行方向,判断条件用菱形框表示,在某一时刻只执行其中某一个分支。如图2.16(b)所示。
③循环:循环结构又称为重复结构。根据判断条件成立与否,决定是否执行循环结构中的某一功能,直到条件不成立,退出循环结构为止。如图2.16(c)所示。
第二节系统设计的方法
(2)类数据库(FoxPro)语言(伪码)
类××语言是一种自然语言和结构化程序设计语言共同组成的混合表达方式。如类PASCAL语言,就是用一些能够标明程序结构的关键字(语句)和简单的语法规则和自然语言相结合,概括、简练地描述模块的算法。而类数据库(FoxPro)语言,就是用数据库语言的语法规则,能标明结构的关键语句,如PROCEDURE(过程)、IF\ELSE\ENDIF(分支)、DOCASE\ENDCASE(多分支)、DOWHILE\ENDDO(循环)等,结合自然语言来描述算法。类似于第三章讲的关系数据库标准语言P76、结构英语表示法P119和P173
第二节系统设计的方法
例2.4.4在总体设计中有一个模块涉及到从大到小的排序问题,现在运用流程图结合类数据库(FoxPro)语言对排序进行详细设计,如图2.17所示。
在总体设计时,只是提到从大到小的排序,并没有考虑采用什么样的排序方法,排序方法有很多,如插入排序、冒泡排序、分划交换排序、希尔排序、直接选择排序、堆排序、归并排序等。在此我们采用直接选择排序法,并设有n个元素,其值已放在数组X中。
第二节系统设计的方法
第三节系统设计的步骤
一、总体结构设计
1、系统功能结构图
采用结构化设计方法,以数据流图为基础导出系统模块结构图。在导出系统模块结构图的过程中,以独立性、低耦合性、高内聚性、公共模块作为模块划分的原则。先将系统数据流图中的加工转换成模块,再将各大模块继续划分为较小的模块,直到每一模块都是功能单一的模块。
模块结构图较直观,全面反映了整个模块的结构及功能组成,也是详细设计和程序设计的一个总依据,因此模块设计是关键。
第三节系统设计的步骤
一个模块之下划分多个子模块,每个子模块划分多少个更下层的子模块,其基本原则是要划分到模块结构图中每一路径最下端的那个子模块都是一个功能相对比较独立、单一的子模块,可以用一个聚合程度较高的程序文件来实现它。一般来说,在模块结构图中,只有每条路径最下端的那个子模块才是实质性的功能子模块,其它子模块都显示某一功能“菜单”、选择所需功能的“菜单”子模块。
一个模块划分多少层子模块,最下层设置什么样的功能子模块,这个问题既要熟悉手工的业务处理过程,又要有设计和编程经验,同时还要把握好模块划分的四项基本原则,才能设计得恰当。
例2.4.5工资子系统可以划分为如图2-18的7个2级子模块和28个3级子模块,也可以划分为如图2-19的7个2级子模块和27个3级子模块。
第三节系统设计的步骤
图2-18 工资子系统框图第三节 系统设计的步骤
图2-19
第三节系统设计的步骤
2、信息系统流程图
根据功能模块结构图和系统数据流程图设计出信息系统流程图。(前面已经讲过,这里略去)第三节 系统设计的步骤
二、系统软硬件配置设计
管理信息系统应根据系统的目标,系统的性能,如信息存储及吞吐量、响应时间、可靠性、可维护性和兼容性、保密性等,确定物理配置的方案。
⑴体系结构
适合管理信息系统的配置方案及体系结构有以下几种:
①批处理方式
②联机处理方式
③分布式处理方式
分布式处理最典型的体系结构就是局域网结构。第三节 系统设计的步骤
⑴体系结构
网络拓扑结构。网络拓扑结构一般有总线型、星型、环形、混合型等。在网络选择上应根据应用系统的地域分布、信息流量进行综合考虑。一般来说,应尽量使信息流量最大的应用放在同一网段上。
网络的逻辑设计。通常首先按软件将系统从逻辑上分为各个分系统或子系统,然后按需要配备设备,如主服务器、主交换机、分系统交换机、子系统集线器(HUB)、通讯服务器、路由器和调制解调器等,并考虑各设备之间的连接结构。
第三节系统设计的步骤
⑴体系结构
大中型企业都可以采用这种局域网结构,主机应选用具有快速处理能力和较大存储能力的高档微机或超级微、小型机等。由于这种处理方式实现了资源的共享和设备功能的分散,形成了以下的特点:
???可靠性高:某一个终端设备故障,对全局影响不大;
???响应及时:管理信息数据可就地处理,响应时间快;
???资源共享:系统组成了通信网络,可共享数据文件,共享硬件设备资源;
???灵活性高:系统组成模块化,便于更新和扩充。
此外,系统操作简便、造价低廉,经济性好,便于推广使用。
第三节系统设计的步骤
⑴体系结构
⑵硬件配置
硬件系统由主机和外部设备组成。主机包括运算器、控制器和内存储器三部分,外部设备包括输入/输出设备和外存储器等几部分。按照系统体系结构的要求,可配置不同档次的计算机。
目前可以购置的,国产机有联想、方正、长城、浪潮、实达、TCL等PⅢ,P4微机,进口机有AST、Compaq、IBM等PⅢ、P4微机,在选购时,需仔细了解机器性能指标(CPU频率、内存、硬盘容量等)是否能满足系统配置结构的要求。
第三节系统设计的步骤
⑴体系结构
⑵硬件配置
⑶软件配置
软件系统包括系统软件和应用软件。这里系统软件主要指操作系统软件和数据库管理系统软件两类。
目前微机上常用的操作系统有WINDOWS95/98/2000、LINUX,网络操作系统有WINDOWSNT、Netware、XENIX、UNIX,LINUX等。微机上数据库管理系统最先是采用dBase,后来有FOXBASE到FOXFRO、ACCESS以及VisualFoxPro等,网络数据库管理系统有Oracle、Sybase、SQLServer、Informix等。
若硬件配制为超级微机、小(或中、大)型机或网络体系结构,则应考虑使用相应的网络操作系统和网络数据库。
第三节系统设计的步骤
⑶软件配置
应用软件的选择应考虑以下三点:
①软件是否能够满足用户的需求。根据系统分析的结果,在软件功能上应注意以下问题:
I、系统必须处理哪些事件和数据?软件能否满足数据表示的需要?如记录长度、文件最大长度等。
II、系统必须能够产生哪些报告、报表、文档或其他输出?
III、系统要储存的数据量及事件数?
IV、系统必须满足哪些查询需求?
V、系统有哪些不足之处,如何解决?
②软件是否具有足够的灵活性。
③软件是否能够获得长期、稳定的技术支持?
第三节系统设计的步骤
三、数据库文件设计
在进行数据库文件设计时应认真考虑以下几方面的问题。
⑴需要建立的文件。
根据系统分析的数据流图和数据词典的要求和特点,建立文件,一般分有:
①数据库文件:该模块输入与输出必定用到,而又要长期保存的数据文件。
②辅助性数据库文件:为管理数据处理服务的文件。
③临时工作文件:在数据处理过程中,进行分类、汇总等工作、需要建立一些临时工作库文件存放中间结果。
第三节系统设计的步骤
⑵ 数据库文件的组织形式。
数据库文件的组织形式指一个文件中记录的排列方式,它决定了文件的存取方式(读写方式),文件的组织形式主要有:
①顺序组织方式:其内部的记录按建立时间先后顺序排列,按先后顺序处理,即按记录存储的物理顺序处理。具有这种组织方式的文件叫顺序文件。当数据量大时,顺序文件的存取速度比较慢。任何一个数据库,都可以按他的顺序组织方式使用。
②索引组织方式:为了实现快速操作,我们对数据库文件按需要的关键字建立索引。具有这种组织方式的文件叫索引文件。按索引关键字在索引文件中能实现快速查询,就好像在图书馆利用索引卡查找书籍一样。因此在数据库文件设计时,应根据每项业务对文件使用上的特点和要求,选择适宜的存取方法和文件组织形式。
第三节系统设计的步骤
⑶ 文件的存取区域设计。
一般来说,计算机管理信息系统的数据库文件应放在存取速度很高的硬盘上。文件的存储区域设计就是确定文件应放在硬盘的什么区域、什么目录,使得文件既存取方便,又具有共享性、安全性。为安全或共享等的需要,是否要在软盘、光盘或磁带等介质上存储。
第三节系统设计的步骤
⑷ 数据库文件结构设计。
管理信息系统数据库文件结构设计中,要考虑以下问题:
①数据的可扩充性:如科目编码字段的长度定义,充分考虑新增加科目的需要,定义一个合适的长度。
②数据处理的效率:如字段名、变量名、文件名虽然可以使用汉字,但若使用拼音字母或英文命名,在处理时效率会大为提高,如借方金额和贷方金额字段,可定义成借贷记号和金额两个字段,这样的描述简单明了,便于处理。
③数据的一致性及完整性:定义字段应以数据词典及代码体系为依据,使数据在存取和传递时,保持数据格式等的一致性和完整性。
第三节系统设计的步骤
例2.4.6对计算机银行对账文件进行数据库文件结构设计如表2.6所示。我们以拼音字母定义字段名,以提高程序的录入速度和程序的处理速度,同时也节省存储空间。并且像科目代码、摘要、借方金额、贷方金额字段的命名、类型、宽度和整个子系统中其他文件都是统一的。
第三节系统设计的步骤
第三节系统设计的步骤
第三节系统设计的步骤
⑸ 数据库文件的属性设计。
当数据库文件设计好之后,我们应该根据管理数据核算的要求,确定文件的属性。
①安全性:对重要的库文件应有安全保密措施,不是每个数据库任何人都可以操作的,不同的数据库由不同的人操作管理,同一个数据库,不同的人也有不同的操作权限。对有权限操作的人,也要设置保密口令、进行数据加密。
②读写特性:确定哪些数据库文件,对哪些人只允许读,对哪些人只允许写,哪些人可以读写。
③共享特性:在网络计算机管理信息系统中或多用户管理信息系统中,确定每个数据库文件允许哪些工作站(终端)或哪些人可以使用,是共享使用还是独占使用等。
第三节系统设计的步骤
四、系统代码设计
代码也称为编码,他是用数字、字母或其他符号代表事物或概念的名称、属性或状态。
⑴ 代码设计的原则
代码是对事物或概念唯一性的一种约定。因此代码设计必须遵守一定的规则。
① 唯一性:每一代码唯一标识某个事物或概念。
② 科学性:编码的结构也应该是一个合理的科学体系,能客观反映信息体系的有序性。
③ 规范性:代码设计要与国际、国家或部门及行业的标准靠拢,同一种类对象的编码应该统一。
④ 实用性:编制代码既便于人们识别,又利于计算机处理。
⑤ 扩充性:需留出足够的备用编码位。
第三节系统设计的步骤
⑵ 代码设计方法与步骤
① 代码设计方法
按代码的结构通常可分为两大类,一种是顺序码,它以连续数字来标识事物的编码。
另一种是分组码,它是按事物的从属层次关系为排列次序的编码。一般与分类对象相应,将编码分为若干层次级别的代码,每层由一位或几位编码表示该层级的属性分类。这实际上是一种分区间进行的编码,编码的左边是高层级,最右边是低层级,如对物资材料编码可采用三层的层次码,第一层使用两位自然数表示材料的大类,第二层用两位自然数表示该类材料的品种,第三层用两位自然数表示该品种的规格等,这样一共使用六位自然表示了物资材料的代码结构。
第三节系统设计的步骤
② 代码设计步骤
代码设计大致按以下步骤进行:
◆首先选定代码化的对象。
◆其次按照代码对象的特性,设计出代码结构。这些特征有代码使用频率、范围和期限及处理要求等等。
◆再次编写代码设计书。设计书中应填写的项目内容有:代码对象、编码目的、使用范围、使用期限、编码件数、代码结构等。
◆最后代码管理。代码设计书是一种设计文档,汇集起来便拥有一套完整的编码资料,应建立代码管理制度,方便代码的使用,加强代码的增、删等维护工作。
第三节系统设计的步骤
⑶例会计信息系统代码体系
在会计信息系统中的代码体系有会计科目、部门、人员、固定资产和事项等的代码,为便于计算机处理,我们可以采用以下的设计方案:
会计科目代码设计。这是代码体系中最重要的设计,各企业和单位都应根据财政部的统一规定编制一级科目代码,二级科目和三级科目可根据企业经济业务情况自行编制,图2.18给出一个会计科目代码结构,定义了一个四级科目代码,一级科目代码为三位,其余级代码都是2位。第三节 系统设计的步骤
第三节系统设计的步骤
其他代码。如摘要码、往来客户码等。对记账凭证和日记账、明细账中的常用摘要都需代码化,通常在给出汉字摘要的同时,给出助记码,助记码可用与汉字摘要相应的拼音字母表示,以便于记忆和存取;如:
第三节系统设计的步骤
五、输入、输出设计
(一)输入设计(课本P149)
1、输入设计的原则
(1)控制输入量。
(2)减少输入延迟。
(3)减少输入错误。
(4)避免额外步骤。
(5)输入过程应尽量简化。
第三节系统设计的步骤
2、数据输入设备的选择
输入设计首先要确定输入设备的类型和输入介质,目前常用的输入设备有以下几种:
(1)读卡机。
(2)键盘一磁盘输入装置。
(3)光电阅读器。
(4)终端输入。第三节 系统设计的步骤
3、输入检验
(1)输人错误的种类。
①数据本身错误。
②数据多余或不足。
③数据的延误。
(2)数据出错的校验方法。
①重复校验法或称二次输入校验法。
②视觉校验法或称静态校验法。
③检验位校验法或称校验码校验法。
④控制总数校验。采用控制总数校验时,工作人员先用手工求出数据的总值,然后在数据的输入过程中由计算机程序累计总值,将两者对比校验。
第三节系统设计的步骤
(2)数据出错的校验方法。
⑤数据类型校验。校验是数字型还是字母型。
⑥格式校验。即校验数据记录中各数据项的位数和位置是否符合预先规定的格式。例如,姓名栏规定为18位,而姓名的最大位数是17位,则该栏的最后一位一定是空白。该位若不是空白,就认为该数据项错位。
⑦逻辑校验。即根据业务上各种数据的逻辑性,检查有无矛盾。例如,月份最大不会超过12,否则出错。
⑧界限校验。
⑨顺序校验。即检查记录的顺序,例如,要求输入数据无缺号时,通过顺序校验,可以发现被遗漏的记录。又如,要求记录的序号不得重复时,即可交出有无重复的记录。第三节 系统设计的步骤
(2)数据出错的校验方法。
⑩记录计数校验。这种方法通过计算记录个数来检查记录有否遗漏和重复。不仅对输入数据,而且对处理数据、输出数据及出错数据的个数等均可进行计数校验。
11平衡校验。平衡校验的目的在于检查相反项目间是否平衡。例如,会计工作中检查借方会计科目合计与贷方会计科目合计是否一致。又如银行业务中检查普通存款定期存款等各种数据的合计,是否与日报表各种存款的分类合计相等等。
12对照校验。对照校验就是将输入的数据与基本文件的数据相核对,检查两者是否一致。例如,为了检查销售数据中的用户代码是否正确,可以将输入的用户代码与用户代码总表相核对。当两者的代码不一致时,就说明出错。当然,凡是出现新的用户,都应该先补入用户代码总表。
第三节系统设计的步骤
(3)出错的改正方法。
①原始数据错。将原始单据送交填写单据的原单位修改.
②机器自动检错。当由机器自动检错时,出错的恢复方法有以下几种:
I、待输人数据全部校验并改正后,再进行下一步处理。
II、舍弃出错数据,只处理正确的数据。
III、只处理正确的数据,出错数据待修正后再进行同法处理。
IV、剔出出错数据,继续进行处理,出错数据留待下一运行周期一并处理。
第三节系统设计的步骤
(4)出错表的设计。
为了保证输入数据正确无误,数据输入过程中需要通过程序对输入的数据进行严格的校验。发现有错时,程序应当自动地打印出出错信息一览表(即出错表)。出错表可由两种程序打出:一种是以数据校验为目的的程序,另一种是边处理、边作数据校验的程序。第三节 系统设计的步骤
4、原始单据的格式设计
设计原始单据的原则是:
(1)便于填写。
(2)便于归档。
(3)单据的格式应能保证输入精度。
5、输入屏幕设计