建设工程信息管理第7章管理信息系统设计7.1系统设计的目标与原则7.2系统概要设计7.3系统详细设计建设工程信息管理系统设计的任务主要是解决“怎么做”的问题。其目标是进一步实现系统分析阶段提出的系统模型,详细地确定新系统的结构、应用软件的研制方法和内容。第7章管理信息系统设计建设工程信息管理7.1系统设计的目标与原则系统工作效率(处理能力、处理速度、响应时间)系统的可靠性(抗干扰、平均无故障时间、平均修复时间)系统的工作质量(准确及时性、用户友好性)系统的可变性(可修改性、易维护性)系统的经济性(直接、间接经济效益、社会效益)7.1.1系统设计的目标建设工程信息管理系统性(代码统一,设计规范标准,数据一次输入多次利用)灵活性(开放性和结构可变性,尽量采用模块化结构,提高模块的独立性)可靠性(安全保密性、查错及纠错能力等)经济性(硬件投资应以满足需要为前提,系统设计应尽量避免不必要的复杂化,各模块应尽量简洁)7.1.2系统设计的原则7.1系统设计的目标与原则建设工程信息管理系统概要设计也就是对系统进行总体结构设计,它是根据系统分析的结果对新系统的总体结构形式和可利用的资源进行大致的设计,它是一种宏观、总体上的设计和规划。通过总体结构设计划分出子系统并对系统功能模块进行描述,给出系统平台的设计方案。划分子系统系统功能模块设计系统平台设计7.2系统概要设计建设工程信息管理按功能划分7.2.1划分子系统根据对系统业务流程、数据流程以及数据/功能(U/C矩阵)分析的结果,结合系统设计要求,进行子系统的划分。要作到功能独立、数据完整、规模适中。如:项目系统:进度、质量、合同等。应考虑的因素:①子系统在功能上应有相对的独立性;②子系统在数据上应有较好的数据完整性;③子系统在规模上应有一定的适中性,可以根据功能独立性、数据完整性综合考虑。例如:工程项目管理信息系统可以分为进度控制子系统、成本控制子系统、质量控制子系统、合同管理等子系统等。将系统划分成若干个子系统,再把子系统划分为若干个模块。每一个子系统或模块,无论是设计或是调试、修改或扩充,基本上可以互不干扰地进行。7.2系统概要设计建设工程信息管理采用系统输入输出图划分按输入输出的独立性划分子系统。格子中的“×”号表示输出文件来自哪个输入文件。图中可分为两个子系统:其中ACD-245构成一个子系统,BE-136构成另一个子系统。在这两个子系统之间,输入输出不发生关系。因此可以独立开发和维护。××E××D×C××B×××A654321输出输入7.2系统概要设计7.2.1划分子系统建设工程信息管理结构化设计(StructuredDesign,SD)方法SD方法是由美国IBM公司的W.Stavens,G.Myers,L.Constantinl等人提出的,适用于任何软件系统的软件结构设计。SD方法通常与系统分析阶段的SA方法衔接起来使用,借助SA方法得到用数据流图和数据词典描述的系统分析报告,SD方法则以数据流图为基础得到软件的模块结构。是将系统设计成由相对独立、单一功能的模块组成的结构,从而简化研制工作,防止错误蔓延,提高系统的可靠性。在这种模块结构中,模块之间的调用关系非常明确与简单,每个模块可以单独地被理解、编写、调试、查错与修改。模块结构整体上具有较高的正确性、可理解性与可维护性。基本思想7.2系统概要设计7.2.2功能模块设计建设工程信息管理在从数据流图导出初始模块结构图时采用一组基本的设计策略—变换分析与事务分析。在对初始模块结构图改进和优化方面有一组基本的设计原则—耦合小、内聚大,和一组质量优化技术。模块结构图模块结构图由五种基本符号组成:模块转接符号调用数据控制信息可以组合、分解和更换的单元,是组成系统、易于处理的基本单位。系统中的任何一个处理功能都可以看作是一个模块。也可以理解为用一个名字就可以调用的一段程序语句。调用模块可以把数据传送到被调用模块处供处理,而被调用模块又可以将处理的结果数据送回到调用模块。模块间传送某些控制信息,以指导程序下一步的执行。7.2系统概要设计7.2.2功能模块设计建设工程信息管理相关概念:①统帅与从属②深度③宽度④扇出数⑤扇入数AGHIJKLMN总深度总宽度BCDEFA扇出5B扇出3F扇出2宽度5宽度2M扇入2N扇入3A统帅B、C、D、E、FB、C、D、E、F从属A模块结构图7.2系统概要设计7.2.2功能模块设计建设工程信息管理(1)事务分析以事务为中心的转换方法。一个抽象的高层数据流图CYAXBZF1F2ABCSYSTEM分解后的系统结构图范围:一般用于转换高层数据流图。优点:能把一个大的、复杂的系统分解成若干个小的、简单的子系统。模块结构图的导出7.2系统概要设计7.2.2功能模块设计建设工程信息管理123654ABCDEFGH输入主加工输出范围:一般用于转换低层数据流图转换成系统模块结构图。如下面的图A转换为图B。(2)变换分析以变换为中心的转换方法。模块结构图的导出7.2系统概要设计7.2.2功能模块设计建设工程信息管理SYSTEMGETCMAKECINTOD&EPUTEPUTDD&ECCEDGETBMAKEBINTOCMAKEEINTOGPUTGMAKEDINTOFPUTFBBCEGGDFFGETAMAKEAINTOBMAKEGINTOHPUTHAABGHH123654ABCDEFGH输入主加工输出模块结构图的导出7.2系统概要设计7.2.2功能模块设计建设工程信息管理模块结构图改进首先应按照“块间联系小、块内联系大”的质量标准进行检查和修改。其次应注意以下几个问题:(1)合理确定模块的扇入和扇出扇入数为1的模块一般可以合并到它的上层模块。扇入数较大时,不能向上合并。一个模块具有多个功能时,应考虑进一步分解(扇出)。对扇出数过少(例如1和2)的模块,也应进行检查。一般说来,模块的扇出数应在七个以内。(2)模块的大小适中为了提高可读性和方便修改,一个基本模块的程序量以能印在一张纸上为宜,但不是绝对的。模块的功能决定模块的大小。模块结构图的改进7.2系统概要设计7.2.2功能模块设计建设工程信息管理同一功能的程序多次出现会浪费编码时间,并不易调试和维护,应予以合并。YXYXQQ1*Q2*QX*Y*QQQ1Q2YXYXQQQQ1Q2正确的合并错误的合并模块结构图的改进7.2系统概要设计(3)消除重复的功能7.2.2功能模块设计建设工程信息管理(4)减少块间传递参数的个数(5)消除管道性的模块管道性指没有实质性的工作,只是传递数据。(6)整体考虑问题研究整张结构图,而不是由几个人分别研究一张图的各个部分。(7)合理设置模块的作用范围和控制范围作用范围:模块中包含的判定处理所影响到的其他模块集。控制范围:模块本身及其所有的下属模块。模块结构图的改进7.2系统概要设计7.2.2功能模块设计建设工程信息管理好的模块结构应满足以下要求:①判定的作用范围应该在判定所在模块的控制范围之内。②判定所在模块在模块层次结构中的位置不能太高。当出现作用范围不在控制范围之内时,可采取如下纠正方法:①把判定所在的模块合并至上层模块中,或从低层模块移到高层模块,使判定的位置提高。②把受判定影响的模块下移到控制范围之内。模块结构图的改进7.2系统概要设计7.2.2功能模块设计建设工程信息管理图例:判定判定的作用范围判定的作用范围不在控制范围内顶XYABB1B2顶XYABB1B2顶XYABB1B2顶XYABB1B2判定太高,需多次传递基本合适耦合最小模块结构图的改进7.2系统概要设计7.2.2功能模块设计建设工程信息管理系统平台选择(1)单项业务系统。选用各类PC机、数据库管理系统为平台(2)综合业务管理系统。以计算机网络为系统平台,如Novell网络和关系型数据库管理系统(3)集成管理系统。综合性更强,规模更大,系统平台也更复杂,涉及异型机、异种网络、异种库之间的信息传递和交换计算机处理方式选择根据系统功能、业务处理的特点、性能/价格比等因素,选择批处理、联机实时处理、联机成批处理、分布式处理等方式。计算机网络系统的设计包括中小型主机方案与微机网络方案的选取、网络互连结构及通信介质的选型、局域网拓扑结构的设计、网络应用模式及网络操作系统的选型、网络协议的选择、网络管理、远程用户等工作。在信息处理模式上常采用客户机/服务器(Client/Server)模式或浏览器/服务器(Browser/Server)模式。7.2系统概要设计7.2.3系统平台设计建设工程信息管理代码的概念代码是客观实体或属性的一种表示符号。在管理信息系统中,代码是人与计算机的共同语言,起着沟通人与计算机的作用。代码设计的目的采用代码,可以使数据表达标准化,简化程序设计,加快输入,减少出错,便于计算机处理(记录、检索、排序等),节省存储空间,提高处理速度。代码设计的意义代码设计是一项重要的基础工作,设计质量的好坏,不仅关系到计算机的处理效率,而且直接影响MIS的推广与使用。7.3系统详细设计7.3.1代码设计建设工程信息管理代码设计的原则唯一确定性每一代码仅代表唯一的实体或属性,每一实体和属性都用一个确定的代码来表示。标准化与通用性尽可能利用国际、国内、部门的标准代码。可扩充性考虑系统的发展与变化,当增加新的实体(或属性)时,不需要变动原代码体系。简明性尽可能简短、统一。系统性代码要有规律,逻辑性强。这样既便于计算机处理,也便于识别和记忆及人工处理使用。易修改性这是代码具有标准化又具有灵活性的一面,当系统条件发生某些变化时,代码应容易进行修改。7.3系统详细设计7.3.1代码设计建设工程信息管理明确代码目的;确定代码对象;确定代码的使用范围和期限;分析代码对象特征。包括代码使用频率、变更周期、追加及删除情况等;决定采用何种代码,确定代码结构及内容;编制代码表;编制相应的代码使用管理维护制度,保证代码使用。代码设计步骤7.3系统详细设计7.3.1代码设计建设工程信息管理按文字种类分数字代码、字母代码、数字字母混合码按功能划分顺序码、层次码、十进制码、助记码代码的种类用连续数字表示编码对象。例如企业职工代码可以编为“0001,0002,0003等。顺序码简单明了,易扩充,但不便于分类汇总,删除数据易造成空码。作为顺序码的一个特例是分区顺序码,它将顺序码分为若干个区,给每个区以特定的意义,并可在每个区预留些空码,为以后插入之用。例如课程分区顺序码:01~09公共课(如公共课只有6门,从01~06,预留3个位置)10~29基础课;30~39专业基础课;40~60专业课这种码在使用中预留多少备用码不好估计。顺序码层次码也称区间码。按位被分成若干个区间,每个区间有不同的意义,这样每位码本身和其所在的位置都代表一定的意义。层次码7.3系统详细设计7.3.1代码设计建设工程信息管理例:我国公民身份证代码的含义123456789101112131415161718所在省市所在地区所在县区年月日出生日期户口所归属的派出所性别:男为奇数女为偶数校验码优点:是分类基准明确,码中的数字(或字母)与位置都代表一定的意义,因而检索、分类或排序都很方便。缺点:有时会造成代码过长。层次码7.3系统详细设计7.3.1代码设计建设工程信息管理先把整体分成十份,进而把每一份再分成十份,这样继续不断。十进制码助记码将编码对象的名称、规格等用汉语拼音或英文缩写等形式编成代码,可帮助记忆。以上几种主要代码,在实际应用中,可根据需要进行选择,或将几种编码方法结合起来使用。例如:“SX-2”表示2厘米直径的石硝建材;“YSZE”表示预算总额;“PMIS”表示项目管理信息系统。助记码适用于数据较少的情况,否则容易引起联想错误。7.3系统详细设计7.3.1代码设计建设工程信息管理部门代码一般采用区间码或分组码。2位部门码又可以采用区间码。例如:00~49表示基本生产部门50~99表示管理科室。人员代码采用部门代码加顺序码。代码设计示例班组码部门码****班组码部