1、第 五 章管理信息系统的设计系统设计的目的是:根据系统分析阶段所提出的逻辑方案,产生一个合理的和稳定的体系结构,为管理信息系统实现提供一个具体的、可实现的蓝图。主要任务是:从管理信息系统的总体目标出发,考虑到经济、技术、和运行环境方面条件,将系统分析阶段所提出的逻辑方案转换成可以实施的基于计算机与通讯系统的物理方案。就是物理设计、建立物理模型、怎么做?系统设计阶段的主要活动内容:系统总体设计 系统架构设计;软件系统总体结构的设计;系统物理配置方案设计;详细设计 代码设计 数据库的的设计 输出设计 输入设计 人机界面设计 计算机处理过程设计 系统设计说明书的编写第5章 管理信息系统的设计5.1
2、5.1 系统设计概述系统设计概述 5.2 5.2 总体设计总体设计5.3 5.3 详细设计详细设计 一、系统设计的依据 系统分析的结果系统分析说明书。充分理解逻辑功能是系统设计关键。现行技术计算机硬件、软件技术、数据库管理技术、数据通讯和计算机网络技术。现行信息管理和技术的标准、规范和有关法律制度 用户需求尊重和理解用户的要求,特别是在操作上的要求。系统运行环境尽可能保护现有的投资;既要适应当前工作环境,还要考虑计算机硬件、软件、管理与技术环境的发展趋势;有较强的应变能力,以适应未来的发展需要。5.1 系统设计概述二、系统设计的原则 系统性信息系统作为一个整体,代码要统一,设计规范要标准,传递
3、的语言要一致,数据一致性,一次采集,全局使用。灵活性对环境的变化要有很强的适应性。采用结构化的模块设计方法,模块的独立性要好。可靠性可靠性的指标是平均故障时间和平均维护时间。系统具有受到外界干扰时的抵御能力及系统的恢复能力。经济性满足要求条件下,节省开销,不要太追求硬件先进性。三、系统设计的内容系统设计的内容包括技术方面和管理方面1.制定规范为了便于开发小组合作、协调地工作,要制定各种原则和纪律。制定管理规则:包括操作流程、交流方式、工作纪律等;设计文档的编制标准:包括文档体系、文档格式、图表样式等;确定信息编码形式,命名规则等;2.系统架构设计系统架构设计就是根据系统的需求框架,确定系统的基
4、本结构,以获得有关系统创建的总体方案。将系统划分为哪几个部分,选择采用什么样网络体系,操作系统,什么样类型数据库等。3.软件结构设计按照结构化设计的原则和方法,将应用软件设计为一个分层的模块结构。可以从数据流程图直接导入为模块结构图。4.公共数据库设计数据库中的表结构、视图结构以及数据完整性等;公共数据变量的数据结构与作用范围;输入、输出文件的结构;5.安全性设计系统安全性设计包括:操作权限管理设计;操作日志管理设计;文件与数据加密设计;特定功能的操作校验设计等。6.故障处理设计考虑对各种可能出现的、来自于软件、硬件以及网络通信方面的故障做出专门处理措施。例如,提供备用设备、设置出错处理模块、
5、设置数据备份模块等;7.编写文档应该完成的文档通常包括:系统总体设计说明书、详细设计说明书、详细的实现计划等;8.系统设计评审5.2 5.2 总体设计总体设计系统的架构设计,将系统划分为不同的构件,确定构件之间的联系,选择和定义系统的架构模式。系统架构设计的步骤:定义子系统外部接口分析子系统之间的通信与协作,确定子系统外部接口。一、系统架构设计 定义子系统子系统的独立性要好,系统的划分要使系统的数据冗余度最小,并适合管理的发展和分阶段实施。定义系统物理架构根据系统的逻辑结构、技术和应用特点以及系统开发的资金投入等情况,选择合适的系统物理架构。包括硬件设备、软件环境、网络结构、数据库结构等 系统
6、划分系统划分的一般原则是:自顶向下逐层分解原则。保证系统整体功能。子系统要具有相对独立性。便于系统实施和维护。子系统之间接口联系简单、数据依赖性尽量小。系统划分结果使数据冗余最小。避免子系统之间数据频繁交换、重复进行相同计算。子系统的设置要便于系统分阶段实现。确定系统架构根据应用环境选择合适的软件架构模式。二、软件结构设计结构化的方法中,软件结构设计就是模块化设计。将整个系统分解成相对独立的若干模块,通过对模块的设计和模块之间关系的协调来实现整个软件系统的功能。结构化方法规定了一系列技术、评价标准、模块分解协调原则。从数据流图到结构图技术:变换流分析和事务流分析;评价模块独立性标准:模块内聚性
7、和耦合性;模块分解原则:高内聚、低耦合;作用范围在控制范围内;合理扇入和扇出;模块大小适中;模块的基本概念模块:指独立命名,拥有明确定义的输入、输出和特性的程序实体。系统设计中一个模块,实施中可能是一组程序语句、一个子程序、一个程序。模块有四种属性:输入与输出:一个模块一般都有输入和输出信息,输入信息来源与输出信息去向一般都是同一个调用者。处理功能:做什么。将输入信息加工为输出。内部数据:为了完成加工,定义属于模块内的数据。程序代码:指实现模块功能的程序。在系统设计中,考虑的是外部属性,既模块的处理功能与输入输出。模块化 模块化模块化(模块化设计):采用自顶向下的方法把系统化分 为多层结构的若
8、干个模块,每个模块完成一个特定的 功能,然后将这些模块汇集起来组成一个整体,用以 完成指定功能。采用模块化设计的优点是:使整个系统设计简易,结构清晰,可读性、可维护性增强,提高了系统的可行性,也有助于系统开发的组织和管理。希望得到一个好的模块结构,就是模块的独立性要好。所谓独立的模块,指每个模块完成一个相对独立的特定功能。它与其它模块之间没有过多的相互联系,两个模块彼此独立,其中一个模块在运行时,与另一个模块的存在完全无关。独立性好的模块便于实现、修改和维护。模块的独立性评价模块独立程度的两个定性标准:块间的耦合度:是不同模块之间相互联系程度的度量。追求块间耦合松散系统。它取决于模块间联接形式
9、和复杂程度。块内的内聚性:是一个模块内各个元素彼此结合的紧密程度。希望越紧密越好。模块之间仅仅是上下级调用和被调用关系。他们之间没有任何信息的传递,耦合程度最低。这种情况很少。耦合度:模块间耦合程度按照从简单到紧密(好到坏)分为:数据耦合 模块间通过数据进行通讯,比较理想的耦合,希望数据量尽量的少。计算计算阶乘NN!控制耦合在模块的通讯中出现了控制信息。有时是不可避免的,可以接受。查阅学生成绩读学生成绩学号成绩无记录公共耦合多个模块使用公共的数据区域(全局变量),这是不好的耦合。共用数据的模块越多,复杂程越大。int i=4;a1 ()i=9;main()a1();i+=1;printf(%d
10、n,I);内容耦合一个模块与另一模块的内容有联系,形成内容耦合。如:一个模块使用另一模块的数据;一个模块调用另一模块部分内容;内容耦合联系紧密,必须坚决避免。系统设计时,做到:尽量使用数据耦合;必要时采用控制耦合;限制使用公共耦合;决不使用内容耦合。独立耦合 内聚性:块内聚合,按紧密程度从强到弱(好到差)分别是:功能内聚模块内的各组成部分都是为了完成一个任务,功能单一。例如:计算阶乘;写借书记录;功能模块一般是暗盒模块,是我们追求的组合。判断是否功能模块,就看功能是否单一,能简单、自然、准确地命名往往就是功能模块。顺序内聚一个模块由几个部分组成。前一个部分的输出是后一个部分的输入。例如,借书管
11、理模块。它包括:审核借阅证;审核借阅资格;办理借书事务;顺序组合模块的组合程度比较高的,与其它模块的联系程度比较低。通信内聚一个模块的几个部分都使用同一数据或产生同一数据。例如,办理借阅事务模块。它包括:写借阅记录;写图书记录;通信组合属于中等程度组合。过程内聚一个模块内的几个部分的动作彼此之间没有任何关系,但都受同一控制流的支配。例如,借阅证管理。各个部分都受处理类别的控制,形成条件过程组合。过程组合也属中等程度组合,但组合强度低于通信组合。时间内聚一个模块的各组成部分,它们的处理动作必须在同一时间内执行。例如,系统的初始化模块,所有的操作都必须在开机后首先执行。时间组合模块的联系程度很低,
12、维护起来较困难。逻辑内聚一个模块内的各组成部分的处理动作,从功能上相互无关,但在逻辑上相似。例如,出错信息处理模块。这类模块的内部组合强度很差,维护起来相当困难,是完全透明的箱子。偶然内聚模块内的各个部分的处理动作没有任何关系,因为偶然因素组合在一起。A偶然模块的组合程度为0,可读性极低,维护起来非常困难。应杜绝使用。在系统设计时,我们应该尽量做到提高模块的内部组合性,使每一个模块执行单一功能。块间耦合与块内聚合是两个相辅相成的原则。模块内元素的紧密联系就意味着块间松散的耦合;反过来,块间耦合松散就意味块内联系紧密。我们往往是把注意力集中到提高块内的内聚性上。结构化设计建模模块结构图(控制结构
13、图、系统结构图、结构图)描述模块层次结构和它们之间联系的工具。控制结构图中的符号:模块 模块间的调用直接调用AB选择(判断)调用AB重复(循环)调用AB 模块间的通信数据流控制信号(状态标志)计算计算阶乘NN!查阅学生成绩读学生成绩学号成绩无记录计算各班成绩获取班号班号读学生成绩学号成绩打印年级成绩年级成绩控制结构图既描述了模块间的层次结构,又表达了它们之间的控制、通信联系,便于系统设计员分析、设计、修改系统总体结构方案,以获得最合适模块结构。模块结构图举例:从数据流程图导出模块结构图从数据流图中导出模块结构图有两种技术:以(变换流分析)变换为中心的分析;以(事务流分析)事务为中心的分析;。变
14、换流分析(以变换为中心):数据流图呈一种线状结构,可明显分为输入、主加 工、输出三部分。方法分为三步:第一步:找出变换中心,确定出主加工凡是有数据流汇合或一个数据流有分流处,可定义为变换中心,主加工。第二步:设计出模块结构图的顶层和第一层注意第一层模块同主模块之间传送数据与数据流图相对应。主控模块输入变换输出输入输出第三步:设计中、下层模块按自顶向下、逐步细化,将输入、变换、输出模块逐步分解。事务流分析(以事务为中心):在数据流图中,明显存在一个事务中心,它具有以下四种功能:获取原始事务记录;分析每一个事务,确定事务类型;为不同事务选择相应的处理路径,确保每一个事务得到完全的处理;原始事务记录
15、确定事物类型A类事务编辑A类事物合格A类事务B类事务编辑B类事物合格B类事务C类事务编辑C类事物合格C类事务对于这类数据流图,一般即可产生结构图:事务处理获取事务类型读事务文件分析事物类型调度处理处理A类事务处理B类事务处理C类事务编辑A类事务编辑B类事务编辑C类事务事务记录事务记录类型标志事务记录类型标志类型标志事务记录A事务B事务C事务练习:按事务文件修改主文件事务记录编辑事务记录不合格合格记录检索主文件记录主文件无记录事务主记录修改主文件记录写主文件记录主记录排列事务记录事务打印事务记录模块结构图:修改主文件获取事务记录和主文件记录主记录事务记录EOF修改主文件记录主记录事务记录新主记录
16、写主文件和打印事务记录新主记录事务记录编辑事务记录读事务记录事务记录EOF事务记录EOF不合格检索主文件事务记录主记录无记录写主文件新主记录排列事务记录事务记录打印事务记录事务记录优化结构图:修改主文件获取事务记录事务记录EOF修改主文件记录主记录事务记录新主记录输出事务记录新主记录事务记录编辑事务记录读事务记录事务记录事务记录EOF不合格检索主文件编号主记录无记录写主文件排列事务记录事务记录打印事务记录排后事务记录获取主文件记录显示错误事务事务记录排后事务记录 模块划分(设计)的原则 低耦合,高内聚原则(提高模块独立性)对于初步得到的系统结构,要通过对模块的不断分解和合并,降低块间的耦合程度,提高块内的内聚程度,改进系统结构。一般方法是:若干模块都共有一个子功能,应抽出作为单独模块。通过分解,尽量将控制耦合转变为数据耦合;强调以功能划分模块;强调系统的整体最优性与局部的最优性,而不是一个模块最优;合理的模块扇出和扇入数模块的扇出:一个模块控制的直属下级模块的个数。模块的扇入:一个模块的直接上级模块的个数。pABA1A2B1B2B3B4C2C1模块的扇出一般是3或4,不应超过7。扇出过
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1