电子商务应用系统设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第5章电子商务应用系统设计徐天宇本章内容5.1应用系统体系结构风格5.2模块设计及子系统划分5.3数据流图导出结构图5.4代码设计5.5计算机处理过程设计5.6数据层设计5.7用户界面设计5.8系统设计说明书电子商务系统的一般体系框架电子商务应用系统设计应用系统设计阶段要根据新系统逻辑模型建立应用系统的物理模型,也即根据新系统逻辑功能的要求,根据实际的技术条件、经济条件和社会条件,以及系统的规模和复杂程度等实际条件,进行若干具体设计,确定应用系统的实施方案,解决系统“怎么做”的问题。物理模型给出处理功能和数据结构的实际表示形式应用系统设计基本任务应用系统设计基本任务大体包括总体(概要)设计和详细设计两大部分。总体设计是描述应用系统的总体结构,其内容有:①将系统划分成子系统,子系统进一步划分成模块②确定每个模块的功能③确定模块间调用关系应用系统详细设计详细设计是为各个具体任务选择适当的技术手段和处理方法,其内容有:①代码设计;②数据库设计;③用户界面设计;④处理流程设计。5.1应用系统体系结构风格软件体系结构描述了构成系统的成分,这些成分之间的相互作用、指导其组合的风格(惯用模式),以及对这些风格的描述。软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。模式是人们根据以往的经验总结出来的,可重复使用的设计方案。5.1应用系统体系结构风格描述一个体系结构风格涉及四个方面:风格的名称该风格所能解决的问题解决方案使用该风格后的结果5.1应用系统体系结构风格5.1.1MVC体系结构模型-视图-控制(model-view-control,简称MVC)结构是目前最常见的J2EE应用所基于的体系结构,MVC主要适用于交互式的Web应用,MVC体系结构视图(View)绘制和显示Model的数据,提交由Controller提供的数据。模型(Model)维护应用程序的状态和数据,可以接受来自View的查询并做出响应。同时当Model的数据发生变化时,它把变化通知给View,View根据Model的数据发生来更新自己。控制器(Controller)定义了抽象的业务逻辑,用于控制业务流程。用于描述Model如何对用户的动作做出反应,即处理事件。MVC关系图模型(Model)视图(View)控制(Control)模型查询更改通知视图选择用户事件模型更改方法调用事件2.MVC在Web系统中的应用电子商务系统,适合采用MVC体系结构。可以将一个应用的成分分为三类。一类负责显示,一类包含业务规则和数据,一类接收请求,控制业务逻辑的完成。3.MVC的优点⑴将数据建模、数据显示和用户交互三者分开,使得程序设计的过程更清晰,提高了可复用程度;⑵可开展并行开发,从而提高了开发效率;⑶可以很方便地用多个视图来显示多套数据;⑷各部分的责任划分得很清楚;⑸提高了系统灵活性;⑹对系统的测试及维护带来了相当的便利。5.1.2二层C/S体系结构响应客户机服务器用户界面应用逻辑数据库服务器请求数据库二层C/S体系结构其主要缺点是:⑴客户端程序设计复杂;⑵开发成本高;⑶软件维护和升级困难;⑷难以扩展至大型企业广域网或Internet;⑸数据安全性不好。5.1.3三层体系结构响应客户机应用服务器用户界面数据库服务器请求数据库请求响应应用逻辑浏览器/服务器(Bowser/Server,B/S)三层结构响应客户机基于web的应用服务器浏览器数据库服务器请求数据库请求响应应用逻辑多层结构多层结构的优点是:⑴可实现高度的可伸缩性。⑵可增强整个系统的模块化程度,提高系统的灵活性。⑶可以使开发工作在具有不同专长的人员之间进行合理分工。便于分配适合的开发人员以完成相应的开发任务。⑷可以实现高度的代码重用。5.1.5体系结构的选择选择上述体系结构应考虑以下因素:⑴被开发的系统特点。⑵网络协议。⑶可用的软件产品。⑷建设成本等。此外开发人员对所选体系结构风格实现技术掌握的熟练程度,以及实现所选体系结构风格所需的工期也是应考虑的因素。5.2结构化设计原理结构化方法设计思想是基于:①自顶向下把一个大系统分解成多个分层次的、规模比较小的被称之为模块的一些部分;②系统划分模块是按层次进行,划分工作进行到模块功能都十分简单,并易于修改;③模块应尽可能独立,应尽可能减少模块间的调用关系和数据交换关系;④模块间的关系应阐明,以便追踪和控制。通过分别实现这些模块的设计,而最终实现整个系统的设计。子系统划分功能/数据分析进行这种划分的有力工具之一就是功能/数据分析。功能/数据分析法是通过U/C矩阵的建立和分析来实现的。1.U/C矩阵的求解U/C矩阵的求解过程是通过表上作业完成的。其具体操作方法是:调换表中的行变量或列变量,使得“C”元素尽量地朝对角线靠近。U/C矩阵的建立表上移动作业过程系统功能划分系统逻辑功能的划分:在求解后的U/C矩阵中划出一个个的方块;每一个小方块即为一个子系统。划分时应注意:沿对角线一个接一个地画,既不能重叠,又不能漏掉任何一个数据和功能;小方块的划分是任意的,但必须将所有的“C”元素都包含在小方块内。子系统划分5.2模块设计4.2.1模块结构图模块(Module)是可以组合、分解和更换的单元,是组成系统、易于处理的基本单位。模块设计主要描述系统的模块结构及模块间的联系,它是软件总体设计的主要内容。模块设计的结果用模块结构图表示。模块结构图又称层次模块结构图模块模块通常有以下4个特点:①模块具有输入和输出;②具有把输入转换成输出的功能;③仅供模块引用的内部数据;④用以实现模块功能的程序代码。模块结构图的基本符号数据转换符号控制调用模块图4-模块结构图的基本符号①模块:模块用矩形框表示,并用模块的名字标记。②模块的调用关系:模块的调用关系:模块之间用单向箭头联结,箭头从调用模块指向被调用模块,表示调用模块调用了被调用模块。通讯伴随着模块调用而发生的模块间的信息交换称为模块间的通讯。模块间的通讯有两种方式:⑴数据通讯⑵控制通讯☆模块间的信息传递:当一个模块调用另一个模块时,调用模块把数据或控制信息传送给被调用模块,以使被调用模块能够运行。而被调用模块在执行过程中又把它产生的数据或控制信息回送给调用模块③模块间的信息传递:例:“查找成功信号”就是控制信息查职工档案读人事文件档案数据职工号无此职工☆控制信息模块结构图可以描述的几个问题⑴如何将系统划分成一个个模块⑵模块间传递什么数据⑶模块间组成层次的调用关系模块间的调用关系模块间的调用关系有以下三种:⑴直接调用⑵条件调用⑶循环调用☆⑴直接调用最简单的调用关系,指一个模块无条件地调用另一个模块。ABC☆⑵条件调用也称为选择调用。如果一个模块是否调用另一个模块取决于调用模块内部的某个条件,则把这种调用称为条件调用。用菱形符号◇表示,其含义是:根据条件满足情况决定调用哪一个模块。ABCD☆⑶循环调用也称为重复调用。如果一个模块内部存在一个循环过程,每次循环中均需调用一个或几个下属模块,则称这种调用为循环调用或重复调用。用符号表示,含义是:上层模块对下层模块的多次反复的调用。MABC☆3.模块调用和通讯的规则⑴上层模块可以有一个或多个直属下层模块;⑵下层模块可以有一个或多个直属上层模块;⑶同一层模块不能相互调用;⑷每个模块只能调用其直属的下层模块,不能调用非直属的下层模块;⑸模块间的通讯只限于直属的上下层模块之间进行,可以是单向或双向,但不能越层进行。☆5.2.2聚合聚合是用于衡量模块内部各个组成部分彼此结合的紧密程度的指标。模块的聚合方式,一般可分为七种,不同聚合方式其聚合度不同:⑵聚合的形式①功能聚合②顺序聚合③通讯聚合④过程聚合⑤时间聚合⑥逻辑聚合⑦偶然聚合尽量使用尽量避免使用☆①功能聚合指一个模块内部的各个组成部分的处理功能全部为执行同一个功能而存在,并且只执行一个功能。功能聚合模块的优点是与其它模块联系低,易修改和维护,故其聚合度高最理想的聚合方式,独立性最强。②顺序聚合如果一个模块内部各个组成部分执行几个处理功能,且一个处理功能所产生的输出数据直接成为下一个处理功能的输入数据,则该种聚合为顺序聚合。例:一个顺序聚合模块,它先执行合同输入功能,然后再执行合同汇总功能,而且前者的输出正是后者的输入。合同输入汇总☆③通讯聚合指一个模块内部各个组成部分执行的处理功能,都使用相同的输入数据或产生相同的输出数据,且其中各个处理功能是无序的。例:使用相同的输入数据,即配件编号,分别完成两个处理功能,一是按配件编号检索获得配件牌价;另一个是按配件编号检索获得该配件的当前库存量。获得配件牌价和库存量配件编号库存量牌价☆④过程聚合如果一个模块内部各个组成部分的处理功能各不相同,彼此也没有什么关系,但它们都受同一个控制流支配,决定它们的执行次序,则该种聚合为过程聚合。在该种聚合模块中,效率是唯一重要的,这种次序可能是顺序、判断或循环。⑤时间聚合如果一个模块内各个组成部分的处理功能和时间有关,则称该种聚合为时间聚合。例:初始化模块是典型的时间聚合模块初始模块要为各种变量赋初值,并同时打开若干个文件。。⑥逻辑聚合如果一个模块内部各个组成部分的处理功能彼此无关,但处理逻辑相同,则称该种聚合为逻辑聚合。例:将所有的输入操作:读磁带文件、读磁盘文件、接收键盘输入都放在一个模块中。例A、B、C均为输出报表模块,即从逻辑上讲它们是功能类似,将它们组合到一个模块中,则为逻辑组合。在调用逻辑组合的模块时,必须知道如何调用模块内部的某一报表模块。逻辑组合模块和其他模块之间有相当复杂的块间耦合,其修改性差,维护困难。☆⑦偶然聚合机械聚合。如果一个模块的构成是由若干个毫无关系的功能偶然组合在一起的,则称该种聚合为偶然聚合。聚合度最低,可修改性最差。c模块聚合功能聚合顺序聚合通信聚合过程聚合时间聚合逻辑聚合偶然内聚高聚合性强弱低模块独立性在模块设计时,应尽量使模块成为功能聚合模块,避免偶然聚合模块。5.2.3耦合耦合是用来衡量一个系统内模块之间联系程度的指标。模块间的耦合方式通常有四种:①数据耦合②控制耦合③公共环境耦合④内容耦合①数据耦合如果两个模块间彼此通过参数交换信息,而且交换的信息仅仅是数据,则这种耦合被称为数据耦合。是一种理想的耦合,耦合度最低,因为一个模块与其它模块之间的联系全部是数据联系,这个模块就是一个黑箱。例:数据耦合开发货单计算金额单价数量金额②控制耦合如果两个模块间交换的信息除了传递数据信息外,还包括控制信息,则这种耦合被称为控制耦合。此种耦合是中等程度耦合。例:控制耦合③公共环境耦合公共耦合;如果两个模块或多个模块都通过同一个公共数据环境相互作用时,则这种耦合被称为公共耦合。公共数据环境可以是全程变量,内存的公共覆盖区,任何存储介质上的文件等。④内容耦合如果一个模块的执行需要另一个模块的内部信息(程序或内部数据)支持,则这种耦合被称为内容耦合。该耦合方式的耦合度最高。内容耦合的两个模块间是病态联结,在修改其中一个模块时,将直接影响到另一个模块,产生波动现象,影响整个系统。因此,在系统设计时,应完全避免内容耦合。例如:①一个模块访问另一个模块内部的数据;②一个模块调用另一个模块中间的部分程序代码;c模块耦合低耦合性弱强高模块独立性在模块设计时,应尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合数据耦合控制耦合公共耦合内容耦合降低模块间的耦合度的好处①耦合度越低,模块间相互影响就越小,产生连锁反应的概率就越低;②耦合度越低,可以使修改范围控制在最小限度;③一个模块修改时对系统其它部分正常运行的影响小。☆模块的聚合度和耦合度模块的聚合度和耦合度成反方向变化,即高聚合能带来低耦合,高耦合则将导致低聚合。5.2.4模块设计的原则模块设计的经验原则有以下几点。⑴模块的独立性原则模块的独立性

1 / 156
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功