精华内容
下载资源
问答
  • LED 大屏幕控制系统在显示信息时,不需要经过计算机对数据进行处理,是直接读取存放在显示器缓冲区中的信息来显示的,当需要...本文利用高速数据存储和处理的技术方法,设计了一种彩色异步LED 大屏幕显示屏控制系统
  • 中国移动客户管理系统总体框架设计和实现
  • 总体设计主要包括系统功能设计系统总体结构设计、系统数据结构设计和系统安全设计等;详细设计主要包括系统数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等。最后对系统进行功能测试,并对测试结果...
  • 总体设计主要包括系统功能设计系统总体结构设计、系统数据结构设计和系统安全设计等;详细设计主要包括系统数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等。最后对系统进行功能测试,并对测试结果...
  • 系统总体结构设计

    千次阅读 2020-02-16 04:25:08
    系统总体结构设计     系统设计工作应该自顶向下地进行。首先设计总体结构,然后再逐层深入,直至进行每一个模块的设计。总体设计主要是指在系统分析的基础上,对整个系统的划分(子系统)、机器...


    系统总体结构设计

        系统设计工作应该自顶向下地进行。首先设计总体结构,然后再逐层深入,直至进行每一个模块的设计。总体设计主要是指在系统分析的基础上,对整个系统的划分(子系统)、机器设备(包括软、硬设备)的配置、数据的存贮规律以及整个系统实现规划等方面进行合理的安排。

    一、系统设计的任务

    1. 系统设计的概念

    系统设计又称为物理设计,是开发管理信息系统的第二阶段,系统设计通常可分为两个阶段进行,首先是总体设计,其任务是设计系统的框架和概貌,并向用户单位和领导部门作详细报告并认可,在此基础上进行第二阶段――详细设计,这两部分工作是互相联系的,需要交叉进行,本章将这两个部分内容结合起来进行介绍。

    系统设计是开发人员进行的工作,他们将系统设计阶段得到的目标系统的逻辑模型转换为目标系统的物理模型,该阶段得到工作成果――系统设计说明书是下一个阶段系统实施的工作依据。

    2.系统设计的主要内容

    系统设计的主要任务是进行总体设计和详细设计。下面分别说明它们的具体内容。

    (1) 总体设计

    总体设计包括系统模块结构设计和计算机物理系统的配置方案设计。

    <1>系统模块结构设计

    系统模块结构设计的任务是划分子系统,然后确定子系统的模块结构,并画出模块结构图。在这个过程中必须考虑以下几个问题:

    如何将一个系统划分成多个子系统;

    每个子系统如何划分成多个模块;

    如何确定子系统之间、模块之间传送的数据及其调用关系;

    如何评价并改进模块结构的质量。

    <2>计算机物理系统配置方案设计

    在进行总体设计时,还要进行计算机物理系统具体配置方案的设计,要解决计算机软硬件系统的配置、通信网络系统的配置、机房设备的配置等问题。计算机物理系统具体配置方案要经过用户单位和领导部门的同意才可进行实施。

    开发管理信息系统的大量经验教训说明,选择计算机软硬件设备不能光看广告或资料介绍,必须进行充分的调查研究,最好应向使用过该软硬件设备的单位了解运行情况及优缺点,并征求有关专家的意见,然后进行论证,最后写出计算机物理系统配置方案报告。

    从我国的实际情况看,不少单位是先买计算机然后决定开发。这种不科学的、盲目的做法是不可取的,它会造成极大浪费。因为,计算机更新换代是非常快的,就是在开发初期和在开发的中后期系统实施阶段购买计算机设备,价格差别就会很大。因此,在开发管理信息系统过程中应在系统设计的总体设计阶段才具体设计计算机物理系统的配置方案。

    (2) 详细设计

    在总体设计基础上,第二步进行的是详细设计,主要有处理过程设计以确定每个模块内部的详细执行过程,包括局部数据组织、控制流、每一步的具体加工要求等,一般来说,处理过程模块详细设计的难度已不太大,关键是用一种合适的方式来描述每个模块的执行过程,常用的有流程图、问题分析图、IPO图和过程设计语言等;除了处理过程设计,还有代码设计、界面设计、数据库设计、输入输出设计等。

    (3) 编写系统设计说明书

    系统设计阶段的结果是系统设计说明书,它主要由模块结构图、模块说明书和其它详细设计的内容组成。


    系统设计的方法与工具

    系统设计的工作复杂又细致,总体设计阶段需要进行系统模块结构设计,要将一个大系统分解成不同层次、多个模块组成的系统,在详细设计阶段要在模块结构设计的基础上,给出每个模块实现方法的细节,并对模块的输入、输出和处理过程作详细描述,以便在系统实施阶段进行程序设计时可以把这个描述直接“翻译”成用某种程序设计语言书写的程序。系统设计在技术上有相当的难度,为此需要有一定的设计方法和设计工具来指导。70年代以来,出现了多种设计方法,其中结构化设计方法是较为典型的方法,本章将对该设计方法进行论述并介绍几个常用的设计工具。

    一、结构化设计的方法

    结构化设计(STRUCTURED DESIGN, 简称SD)方法是使用最广的一种设计方法,由美国IBM公司的W·STEVENS、G·MYERS和L·CONSTANTINE等人提出。该方法适合于软件系统的总体设计和详细设计,特别是将一个复杂的系统转换成模块化结构系统,该方法具有它的优势。在使用过程中可将结构化设计方法与结构化分析(SA)方法及编程阶段的结构化程序设计方法(SP)前后衔接起来,SD方法具有以下特点:

    1. 相对独立、功能单一的模块结构

    结构化设计的基本思想是将系统设计成由多个相对独立、功能单一的模块组成的结构。由于模块之间相对独立,每一模块就可以单独地被理解、编写、测试、排错和修改,从而有效地防止错误在模块之间扩散蔓延,提高了系统的质量(可维护性、可靠性等)。因此,大大简化了系统研制开发的工作。

    2. “块内联系大、块间联系小”的模块性能标准

    “模块内部联系要大,模块之间联系要小”,这是结构化设计中衡量模块“相对独立”性能的标准。事实上,块内联系和块间联系是同一件事的两个方面。系统中各组成成分之间是有联系的,若把联系密切的成分组织在同一模块中,块内联系高了,块间联系自然就少了。反之,若把密切相关的一些组成成分分散在各个模块中,势必造成很高的块间联系,这将影响系统的可维护性。所以,在系统设计过程中一定要以结构化设计的模块性能标准为指导。

    3. 采用模块结构图的描述方式

    结构化设计方法使用的描述方式是模块结构图。例如,图6-2-1示了一个计算工资的模块结构图。

    图6-2-1  计算工资的模块结构图

    系统模块结构设计

    总体设计的另外一个主要内容是合理地进行系统模块结构的分析和定义,将一个复杂的系统设计转为若干个子系统和一系列基本模块的设计,并通过模块结构图把分解的子系统和一个个模块按层次结构联系起来。下面来介绍如何进行模块的分解、如何从数据流图导出模块结构图以及模块结构图的改进。

    一、模块分解的原则和依据   

    系统逻辑模型中数据流图中的模块是逻辑处理模块,模型中没有说明模块的物理构成和实现途径,同时也看不出模块的层次分解关系,为此在系统结构设计中要将数据流图上的各个逻辑处理模块进一步分解,用模块结构图确定系统的层次结构关系,并将系统的逻辑模型转变为物理模型。

    1.“耦合小,内聚大”的基本原则

    在结构化设计中,采用自顶向下,逐步细化的方法将系统分解成为一些相对独立、功能单一的模块。如何度量模块之间的独立性呢?

    在一个管理信息系统中,系统的各组成部分之间总是存在着各种联系的,将系统或子系统划分成若干模块,则一个模块内部的联系就是块内联系,而穿越模块边界的联系就是块间联系。由于模块之间的互相联系越多,模块的独立性就越少,因此,引入模块耦合和内聚的概念。

    耦合表示模块之间联系的程度。紧密耦合表示模块之间联系非常强,松散耦合表示模块之间联系比较弱,非耦合则表示模块之间无任何联系,是完全独立的。

    内聚表示模块内部各成分之间的联系程度。

    一般说来,在系统中各模块的内聚越大,则模块间的耦合越小。但这种关系并不是绝对的。耦合小使得模块间尽可能相对独立,从而各模块可以单独开发和维护。内聚大使得模块的可理解性和维护性大大增强。因此,在模块的分解中应尽量减少模块的耦合,力求增加模块的内聚。

      2.对子系统或模块进行划分的依据

    一个合理的子系统或模块划分,应该是内部联系强,子系统或模块间尽可能独立,接口明确、简单,尽量适应用户的组织体系,有适当的共用性。也就是上面所说的“耦合小,内聚大”。按照结构化设计的思想,对模块或子系统进行划分的依据通常有以下几种:

    (1)按逻辑划分,把相类似的处理逻辑功能放在一个子系统或模块里。例如,把“对所有业务输入数据进行编辑”的功能放在一个子系统或模块里。那么不管是库存、还是财务,只要有业务输入数据都由这个子系统或模块来校错、编辑。

    (2)按时间划分,把要在同一时间段执行的各种处理结合成一个子系统或模块。

    (3)按过程划分,即按工作流程划分。从控制流程的角度看,同一子系统或模块的许多功能都应该是相关的。

    (4)按通信划分,把相互需要较多通讯的处理结合成一个子系统或模块。这样可减少子系统间或模块间的通讯,使接口简单。

    (5)按职能划分,即按管理的功能。例如,财务、物资、销售子系统,或输入记帐凭证、计算机优解子系统或模块等等。

    一般来说,按职能划分子系统,按逻辑划分模块的方式是比较合理和方便的,图6-4-1表示了按这种方式划分所组成的系统。

    图6-4-1  子系统按职能、模块按逻辑划分所形成的系统

    详细设计

    进行了系统的总体设计后即可在此基础上进行系统的详细设计了,即各种输入、输出、处理和数据存储等的详细设计。下面分别介绍详细设计的内容。

    一、代码设计

    代码是用来表示事物名称、属性和状态等的符号。在管理信息系统中,代码是人和机器的共同语言,是系统进行信息分类、校对、统计和检索的依据。代码设计就是要设计出一套能为系统各部门公用的、优化的代码系统,这是实现计算机管理的一个前提条件。

    1. 代码设计的原则

    代码设计是一项重要的工作,合理的编码结构是使管理信息系统具有生命力的重要因素。设计代码的基本原则是:

    (1) 具备唯一确定性。每一个代码都仅代表唯一的实体或属性。

    (2) 标准化与通用性。凡国家和主管部门对某些信息分类和代码有统一规定和要求的,则应采用标准形式的代码,以使其通用化。

    (3) 可扩充且易修改。要考虑今后的发展,为增加新代码留有余地。当某个代码在条件或代表的实体改变时,容易进行变更。

    (4) 短小精悍即选择最小值代码。代码的长度会影响所占据的内存空间、处理速度以及输入时的出错概率,因此要尽量短小。

    (5) 具有规律性、便于编码和识别。代码应具有逻辑性强,直观性好的特点,便于用户识别和记忆。   

    2.分类方法

        目前最常用的分类方案有两种,一种是线分类方法,一种是面分类方法。在实际应用中根据具体情况各有其不同的用途。

        线分类方法:首先给定母项,然后下分若干子项,由对象的母项分大集合,由大集合确定小集合,最后落实到具体对象

        特点:结构清晰,容易识别和记忆,易查找;

              适应于手工系统;

        缺点:结构不灵活,柔性差。

              机关党政生产经营 … …

           线分类时要掌握两个原则:唯一性和不交叉性。

        例:公司生产组织结构,如图6-5-1所示。

    图6-5-1  公司生产组织结构

        面分类方法:它主要从面的角度来考虑分类

        面分类的特点:

        柔性好,面上的增、删、改很容易;

        可实现按任意组配面的信息检索,对机器处理有良好的适应性;

        缺点是不易直观识别,不便于记忆。


    系统设计报告

        系统设计阶段的成果是系统设计报告, 其主要是各种设计方案和设计图表,它是下一步系统实现的基础。

    一、系统设计的成果

        系统设计阶段的成果归纳起来一般有 (点击这里观看“各开发环节之间的关系”动画演示)

        1.系统总体结构图(包括总体结构图,子系统结构图,计算机流程图等)。

        2.系统设备配置图(系统设备配置图: 主要是计算机系统图,设备在各生产岗位的分布图,主机、网络、终端联系图等)。

        3.系统分布编码方案(分类方案、编码系统)。

        4.数据库结构图(DB的结构,主要指表与表之间的结构,表内部结构(字段、域、数据字典等)。

        5.HIPO图(层次化模块控制图、IPO图等等)。

        6.系统详细设计方案说明书

    二、系统设计说明书的组成

    1.引言

     

    (1) 摘要   系统的目标名称和功能等的说明

    (2) 背景

    l 项目开发者

    l 用户

    l 本项目和其它系统或机构的关系和联系

    (3) 系统环境与限制

    l硬件、软件和运行环境方面的限制

    l保密和安全的限制

    l有关系统软件文本

    l有关网络协议标准文本

    (4) 参考资料和专门术语说明

     

    2.系统设计方案 

    (1) 模块设计

    l系统的模块结构图

    l各个模块的IPO图(包括各模块的名称、功能、调用关系、局部数据项和详细的算法说明等)

    (2) 代码设计

    l各类代码的类型、名称、功能、使用范围和使用要求等的设计说明书

    (3) 输入设计

    l输入项目

    输入人员(指出所要求的输入操作人员的水平与技术专长,说明与输入数据有关的接口软件及其来源)

    l主要功能要求(从满足正确、迅速、简单、经济、方便使用者等方面达到要求的说明)

    l输入校验(关于各类输入数据的校验方法的说明)

    (4) 输出设计

    l输出项目

    l输出接受者

    l输出要求(所用设备介质、输出格式、数值范围和精度要求等)

    (5) 文件(数据库)设计说明

    l概述(目标、主要功能)

    l需求规定(精度、有效性、时间要求及其它专门要求)

    l运行环境要求(设备支撑软件,安全保密等要求)

    l逻辑结构设计(有关文件及其记录、数据项的标识、定义、长度和它们之间的关系)

    l物理结构设计(有关文件的存贮要求、访问方法、存贮单位、设计考虑和保密处理等)

    (6) 模型库和方法库设计(本系统所选用的数学模型和方法以及简要说明)

    (7) 安全保密设计

    (8) 物理系统配置方案报告

    l硬件配置设计

    l通信与网络配置设计

    l软件配置设计

    l机房配置设计

    (9) 系统实施方案及说明

    l实施方案

    l实施计划(包括工作任务的分解、进度安排和经费预算)

    l实施方案的审批(说明经过审批的实施方案概况和审批人员的姓名)

    3.案例   

    序号模块名称主要用途
    1无线寻呼管理信息系统-系统设计说明书    研究开发5-10万用户寻呼机管理信息系统,它可以进行普通寻呼服务;漫游寻呼服务;群呼服务;试机服务;定时服务;系统管理;运行管理。 
    2库存管理系统-系统设计说明书    研发库存控制系统的主要目的:1)为顾客订货提供更好的服务;2)控制库存水平;3)决定向厂家订货的时间和批量。
    3百货商店业务管理信息系统-系统设计

    实现登记、整理数据,处理核对顾客订货单;向经理提供各种业务统计报表;提供各级查询;销售、采购、会计各部门的业务数据处理实现自动化。

    4铁道财务会计管理信息系统-系统设计    运用系统的方法以计算机和现代通信技术为基本信息处理手段和工具的,能为全国铁道财务会计核算、管理、决策提供信息服务的人—机系统。
    5高校选课辅助决策    本选课系统能够使学生在INTERNET上自主、便捷、准确地进行全校性课程选择的一种软件。学生在选择选修课前,可以上网进行查询,当学生输入其学号与密码后,系统便调出其所有相关信息,包括已修课程、已修课程的成绩、专业培养计划、全校性可选课程,系统进行综合分析后,得到一些可行的方案,供选课学生参考,并提出合理建议。
    6条形材料选材优化    要制造器件,必须先制造一定的零件,而这些零件又由某种原材料截取而得到。例如:用某一种条形材料锯成数种需要的零件,求最少的用料数量。使用<<运筹学>>线性规划的思想和解决方法。

        


    https://blog.csdn.net/aa2397199142/article/details/50686499

    展开全文
  • J2EE分布式系统框架设计

    千次阅读 2007-04-04 22:05:00
    J2EE分布式系统框架设计 发布者: 发布时间:2007-01-01
    J2EE分布式系统框架设计
        发布者: 发布时间:2007-01-01
     

    一,导言

    框架设计(Framework Design)是系统设计的重要组成部分,一个设计优秀的框架是一个可扩展和可改变(迁移)系统的基础。本文针对常见J2EE分布式的信息系统(特别是B/S形式的系统),提出作者在框架设计上的观点和思路。

    (一)问题和解决方法

    目前应用J2EE技术构建信息系统的需求越来越复杂,开发周期越来越紧迫,同时对系统的稳定性、扩展性和可维护性要求也越来越高。那么如何满足客户对系统要求,加快我们的开发呢?信息系统需要一个持久化的存储设备(如:数据库)中存放和取回信息数据。当存储设备改变时,我们如何使系统支持这个改变,而不用重写我们的程序代码呢?已有的代码能不能在新的系统上重用呢?类似问题,给我们系统设计带来很大的挑战。
    一个有效的解决方法是把信息业务信息按照应用功能模块拆分开:业务逻辑与数据库服务器分开,用户界面与业务逻辑分开。辟此相对独立,任一方任何改变都不会影响对方。这就是我们经常提到的三层概念。
    *表示层(Presentation)
    *业务逻辑层(Business Logic)
    *数据存储层(Data)
    表示层负责提供用户界面,业务逻辑层负责实现业务逻辑,数据存储层负责业务逻辑层中所有数据的持久的存储。
    业务逻辑层在三层模型中具有很好的伸缩性,设计者往往根据系统容量、分发、部署等等情况再一步把业务逻辑层细分,从而产生了多层。这就是所谓n层体系结构。所以业务逻辑层也是我们系统设计中最重要的一块。
    引入三层模型后,我们就可以针对这三层的特点定义出一种可重用的、可扩展的类集合,它通过标准的API来先外提供服务。这些类集合的划分和定义过程就是我们所要阐述的框架设计。

    (二)框架定义及特点

    什么是框架(framework)?框架可以定义为一组关系服务的可扩展、可重用的子系统。常见的软件框架有:MFC、VCL、JDK等等。其具有以下的特点。
    *它是一个功能类的集合,类之间可以相互协作,为业务逻辑子系统提供服务。
    *它包含了具体类和抽象类,这些类定义了标准的接口、对象间的交互作用和系统的相关常量。抽象类,可以包含抽象和具体的方法。
    *为了利用、自定义或扩展框架的服务,通常需要框架的使用者去定义已存在的框架类的子类。
    *框架中定义好的类只提供给用户自定义的类调用,而从不调用用户自己定义的类。

    二,框架设计

    对于一个分布式信息系统,我们通过上面的讨论,引入了三层的设计模型,现在就可以在这个模型上进行系统的框架设计了。但是,在开始设计之前先明确一下框架设计的目标。根据系统要求和框架定义,我们的目标为:
    *类(组件、代码)最大化的重用。
    *框架结构尽可能合理、简单和明了。
    *框架要有灵活扩展性。满足用户的二次开发要求。
    *框架要安全、稳定、高效率,可维护,可升级。
    *框架中子系统(包)之间不应该存在双向性依存关系。
    分布式信息系统三层设计模型中系统类的类型(Classes-Type)体系结构图如下所示:
    图(一)
    所以此框架设计为:
    把分布式信息系统的框架总体划分为四个主体包,分别为:表示层的用户界面包(ui),业务逻辑层的业务对象包(bs),数据持久层的数据持久包(ps),系统资源层的通用实用包(su),结合公司自己的命名规范,具体的UML框架图可为如下所示:
     
    图(二)
    其中,“ProjectName”为信息系统项目的立项英文命名,如:国有资产管理系统,“ProjectName”为“sams”;“CompanyName”为公司的英文简称,如:翱拓系统集成,“CompanyName”为“auto”。
    “ui”----用户界面包(User Interface)。
    “bs”----业务逻辑包(Business Session)。
    “ps”----数据持久存储包(Persistence Store)。
    “su”----系统通用实用包(System Utility)。
    下面将结合J2EE体系结构分别详细讨论各层包的框架实现问题。

    (一)通用系统资源层框架设计

    通用系统资源层框架设计,从我们上面定义好框架来看就是系统通用包su(System Utility)的设计。从图(二)可以看出,ui包、bs包和ps包都是从su包中调用接口,su包给它们提供服务。所以本层框架的设计是系统能否实现类(组件)重用的基础,是系统能否满足可靠稳定、高效率和可维护的关键。
    既然是通用包,那么它具体提供哪些服务(或工具)呢?我们知道J2EE体系结构中也提供了许多标准的服务,如:JMS、EJB、JTA等等。那么su包是否也应该提供类似的服务呢?这些问题都没有统一的答案,这主要看项目系统分析和设计人员根据项目本身的特点和需求,应用什么样的技术和解决问题所运用什么样的设计思想和设计模式等因素有关。
    值得一提的是,“框架是骨架,设计模式是肉”。设计模式思想影响框架的构成,一个框架中应用合适的设计模式来实现,才是框架精华的所在。在这一层,常应用到的设计模式有:结构型的Bridge模式、Facade、Proxy;创建型的Factory、Singleton和行为型的Strategy等。
    根据作者的经验,结合J2EE体系结构的应用,通用系统资源层的框架可为:
    图(三)
    图(三)说明如下:
    su包包含8个子包,分别为:
    (1),resource包,包含标准接口访问J2EE中间件(应用服务器)资源的类。如:容器的JNDI服务等等。
    (2),factory包,包含创建不同类型对象的接口的类,目的是有利于控制类创建,减少一些关键对象误用的风险。
    (3),jms包,包装了有关应用J2EE消息服务的类。
    (4),ui包,针对表示层封装一些标准通用的类。
    (5),ejb包,引用Bridge设计模式,在EJB中加多一层封装,一般以后方便扩展和维护EJB,减少ejb编程的风险。根据ejb的类型,分session和entity两个子包。
    (6),db包,包含有关访问数据库的类,包括:数据库连接池、报表和序列号等标准接口。
    (7),log包,包含记录体统日志和调试应用的接口类。细分applog和appdebug两个包。
    (8),exception包,根据系统的特性,自定义一套应用异常。
    (9)tools包,包含了常用标准的系统函数类。根据这些函数的类型,分为:date、maths、format和constfunc四个包。
    以上框架仅为参考,设计人员可根据自己的实际需要,来重新定义。

    (二)表示层框架设计

    表示层框架设计对应着我们定义的ui包框架设计。在针对J2EE体系结构做系统设计时,往往应用MVC(Model-View-Controller)设计模式来实现。MVC模式根据应用的角色对应用进行分解,然后使用不同的方法解决。
    *Model,模型,系统应用的具体数据模型,不关心怎么表示和何时访问。只考虑数据的完整性和存储方式。与数据持久层对应,所以是我们数据持久层框架设计所关心的问题。
    *View,视图,只关系如何表示的问题。本层讨论。
    *Controller,控制器,控制器是解决何时访问的问题。是系统应用的业务逻辑,确定是否满足一定条件时,应用程序才能访问模型(Model)中的特定数据,然后根据情况把取得的具体数据委托给负责表示的视图(View)。与业务逻辑层对应,在业务逻辑层框架设计中讨论。
    在J2EE体系中,AWT、SWING、JSP和Servlet都是针对表示(视图)而设计的。在实际应用中,我们经常根据系统不同的功能模块写JSP和APP客户端应用程序来和用户交互,所以在框架定义中可分为两个包,jsp包和app包;同时,有时候还需要定义一些系统常量和处理一些页面逻辑,所以我们也定义一个vbn(view bean)包来存放这些页面类和常量类。所以表示层的框架设计可为:
    图(四)
    图(四)说明如下:
    (1)jsp包,按信息系统不同的功能模块存放jsp程序文件。由于jsp文件类型不是java文件类型,所以此包可以当作目录处理,把其提出来,按照系统部署的要求,单独放在一个合理的目录下。其中JFunctionModule1、JfunctionModule2、JfunctionModule3等名称为信息系统具体的功能模块名称。可根据需要来定义和安排目录。
    (2)app包,存放java客户端应用程序。其中AFunctionModule1、AfunctionModule2、AfunctionModule3等包名称为信息系统具体的功能模块包名称。根据客户端应用程序的所属关系,存放到具体的功能模块包中。
    (3)vbn包,存放信息系统表示层的常量定义类和页面处理类。
    最后,值得一提的是:在表示层的jsp页面开发中,为了避免把太多的代码和逻辑编写在同一个页码中,提高jsp程序的效率和可维护性,可以应用VC(View-Controller)设计模式,html为视图,servlet为控制器。当然还可以应用struts技术来实现,这里就不在讨论了。这应该属于具体的程序设计问题。
     

    (三)业务逻辑层框架设计

    业务逻辑层设计对应我们定义bs包的框架设计。是MVC模式的Controller(控制器),负责访问数据持久层,把返回数据提交给表示层,起到承上启下的作用。J2EE体系结构中,我们一般应用会话Bean来实现。
    业务逻辑层设计在系统设计的详细设计中是最为复杂,工作量对大的一块。需要从系统分析中提取信息系统各个功能模块的用例(Use Case),再针对每个用例,应用UML语言详细绘画出此用例的顺序图(或协作图),然后根据实际情况决定是否使用有状态还是无状态的会话Bean。但是,此层的的框架设计却简单明了,其框架可为:
    图(五)
    在bs包下直接根据信息系统的功能模块的名称来定义子包。其中,bsFunctionModule为功能模块的英文名称。
     

    (四)数据持久层框架设计

    数据持久层对应MVC设计模型中的Model,其设计是信息系统设计的最重要部分,是系统的性能和是否可平移的基础,其设计好坏直接影响到项目的成功与否。数据持久层框架设计只有详细讨论数据模型设计后,才能比较好勾画出来。故本节准备探讨持久数据模型设计后,再实现其框架设计。
    常见数据持久层设计类型
    (A)在业务逻辑层的类中,直接使用SQL代码。如下图所示:
     
    图(六)
    *优点:
    写代码的效率很高。
    *缺点:
    SQL代码到处出现在程序的类中;逻辑业务类与数据库直接耦合在一起,这意味着任何小的改动都导致程序原代码的修改。
       *结论:
    对于小型应用程序是可行的,对于企业级的系统,这种在逻辑业务类中写死SQL的方法,会导致代码难于维护和扩展。
    (B)SQL代码封装在一个或多个数据代理类中。如下图所示:
    图(七)
    *优点:
    在业务类和数据库之间加多一层封装,是系统的可维护性大为提高。这种方法包括可以利用数据库存储过程、SQLJ以及微软ADO数据访问的策略。
    *缺点:
    对数据库进行任何一点的改动都会直接影响到数据代理的代码,也就是程序原代码还必须改动。
    (C)不用写SQL代码,对数据库的访问完全通过具有鲁棒性数据持久层来实现。如图所示:
     
    图(八)
    所谓的鲁棒性数据持久层至少要满足下面的条件:
    (1),支持关系数据库的高级的特性。(如:事务、存储过程、游标)
    (2),支持对象和关系之间的映射,用户不直接用SQL与数据库交互。
    (3),支持多连接,支持数据库连接池。
    (4),支持多种体系结构,支持不同厂商的数据库。
    *优点:
    应用程序开发人员不需要了解数据库结构,甚至也没必要知道对象如何保存在数据库的。有利于组织开发大规模的针对关键业务的信息系统。系统的迁植性、可维护性和扩展性好。
    *缺点:
    由于对数据库的访问交给了持久层处理,理论上对系统的性能上有些影响。
    具体选型
    上面列出了常见的数据持久层的几种类型,那么我们究竟应用那种类型比较合适呢?这需要根据系统规模和需要的具体情况来决定。在J2EE体系结构中开发系统,我们应该选择(B)和(C)两种数据持久层比较合适。
    在J2EE体系结构中,类型(C)鲁棒性数据持久层可以应用EJB的容器管理实体Bean(CMP)来实现,在EJB2.X中CMP就是为了实现鲁棒性数据持久层而制定的标准规范。开发人员不必在CMP中编写SQL代码,一切和数据库的交互都交给EJB容器去负责。由于J2EE是开放、标准规范,所以,CMP组件可以在EJB容器与数据库之间移植。
    在实际的信息系统开发过程中,我们往往需要处理一些复杂的查询或报表,而这些查询数据往往来源于多个数据表,而且其查询结果的实体对象的观念性不强。这个时候,我们用CMP去封装它就显得有点无能为力了。因为理论上实体Bean毕竟代表了数据库表里面的一行数据。
    遇到这种情形,数据持久层的设计采用类型(B)就比较合适了。我们可以用EJB的无状态会话Bean来实现这层的封装。通常的利用Bridge设计模式来实现:
    (1)建立数据访问对象DAO(Data Access Object)接口。定义数据源的抽象操作行为,提供方便访问和维护数据的标准API结构。
    (2)实现数据访问对象接口。DAOImplementor。实现具体DAO接口的内容,根据应用的数据源类型不同,可以有针对多个数据源的实现(如:DAOImplementorSQLServer,DAOImplentorOracle等等)。然后应用Adapter设计模式,将特定的数据源驱动接口分配到DAO中去。
    (3)建立EJB调用DAOImplementor,实现业务逻辑。
    如下图所示:
     
    图(九)
     
     
    框架设计
    通过,上面的讨论,我们数据持久层(ps)包的框架可为:
     
    图(十)
    ps包下按信息系统的功能模块来划分子包(如:上图分了3个功能模块包,PfunctionModule1、PfunctionModule2和PfunctionModule3),每个功能模块包再分:
    be(business entity)包,包含业务实体对象(数据库关系映射对象),DAO定义接口等等。
    eb(entity bean)包,包含实现数据持久层的实体组件。
    sb(session bean)包,包含实现数据持久层的会话组件。
     
     

    三,概述

    系统框架设计不是一成不变的,往往根据系统设计师的对某个信息系统的见解不同,框架也有所差别。但是要设计一个好的框架,除了有明确的设计目标外,关键在于:需要调查和研究系统同类产品的状况及相关的技术特点,了解目前流行技术对此产品所能提供理论和技术支持情况,结合自己产品的特点,才能逐步勾画出整个产品项目的框架蓝图。
     
     

    四,参考书目

    《Mastering Enterprise JavaBeans》Ed Roman
    《Design of a Persistence Layer Series》
    《UML和模式应用》Craig Larman
     
     
    关于作者:
    余浩东,擅长数据集成的软件工程师。目前他和他的Boby (一只贪吃公狗)住在深圳罗湖的一个小山庄,他的兴趣包括与分布式计算和软件工程相关的一切技术,以及摄影、爬山、游泳等运动。他的e-mail 是:henryyu@163.com
     
    展开全文
  • 一简述 通过上一节的介绍,我们已经知道ROS的一些基本特点: 1–ROS—是一个开源的次级操作系统,是一些包,软件工具的集合 2–它跨机器进行通信的体系结构—提供了对系统进行实时数据分析,编程语言独立...二总体结构

    一简述
    通过上一节的介绍,我们已经知道ROS的一些基本特点:
    1–ROS—是一个开源的次级操作系统,是一些包,软件工具的集合
    2–它跨机器进行通信的体系结构—提供了对系统进行实时数据分析,编程语言独立等功能
    3–它提供了类似操作系统的服务,包括硬件抽象描述,底层驱动程序管理,公用功能的执行,
    程序间消息传递,程序发行包管理等
    二总体结构
    根据ROS系统代码的维护者和分布来表示,ROS的总体框架可以分为两部分:
    1–main–核心部分,也是主要部分,一般称为—main—主要由Willow Garage公司和一些开发者设计
    提供和维护.它提供了一些分布式计算的基本工具,以及整个ROS核心部分的程序编写
    2–universe—全球范围的代码,由不同国家的ROS社区组织开发和维护
    1–一是各种库的代码,如OpenCv(机器视觉库),PCL(点云库)等
    2–库的上一层是从功能的角度提供的代码,如人脸识别等,它们调用各种库来实现这些功能
    3–最上层的代码是–应用级别的代码,叫做apps.可以让机器人完成某一应用,如去拿啤酒,
    而这个过程则需要调用不同功能的代码进行组合,如啤酒识别,抓去啤酒等。这个一般需要
    用户下载相应的功能包,然后学习使用
    我们还可以从另外的角度来理解ROS,ROS系统有三级概念:
    1–文件系统级
    2–计算图级
    3–社区级
    除此之外,ROS也有两种类型的命名:
    1–功能包源名称
    2–计算图源名称
    三计算图级
    1–计算图—是ROS处理数据的一种点对点的网络形式.程序运行时,所有进程以及它们所进行的数据处理,将
    会通过一种点对点的网络形式表现出来.这一级主要包括几个重要的概念:
    1–节点–node
    2–节点管理器
    3–参数服务器
    4–消息–message
    5–主题–topic
    6–服务–service
    7–包
    1–节点–node—节点—就是一些直接进行运算任务的—进程,ROS利用规模可增长的方式是代
    码模块化,一个系统就是典型的—由很多结点组成的.在这里,结点也可以称之为”软件模块”
    我们使用”结点”使得基于ROS的系统在运行的时候更加形象化;当许多结点同时运行时,可以很
    方便的将端对端的通讯绘制成一个图表,在这个图表中,进程就是图中的节点,而端对端的连接
    关系就是其中弧线连接
    2–消息–message–节点之间的通过—传送消息—进行通讯的.每一个消息都是一个严格的—
    数据结构.原来.标准的数据类型(整形,浮点型,布尔型)都是支持的,同时也支持原始数据类型。
    消息可以包含任意的—嵌套结构和数组(类似于C语言的structs)
    3–topic–主题:
    消息message以一种发布/订阅的方式传递.一个节点可以在一个给定节点的主题中发布消息,一个
    节点针对某个主题关注与订阅特定类型的数据.可能同时有多个节点发布或者订阅同一个主题的
    消息。总体上,发布者和订阅者不了解彼此的存在
    4–服务–service:虽然基础主题的发布/订阅模型是很灵活的–通讯模式,但是,它广播式的路径规
    划对于可以简化节点设计的同步传输模式并不合适.在ROS中,我们称之为一个服务,用一个字符串
    和一对严格规范的消息定义:一个用于请求,一个用于回应。这种类似与Web服务器


    1--节点--node--节点是执行计算的过程---也就是执行计算的---一个进程.ROS被设计为在很精细的尺度上模
           块化,一个机器人控制系统由很多节点(进程)组成。例如:一个节点控制一个激光距离传感器,一个节点控制
           轮子的马达,一个节点执行定位,一个节点执行路径规划,一个节点提供系统的整个视图---一个ROS节点是用
           ROS客户端库(roscpp,rospy)写成的.
        2--节点管理器---节点管理器---为其他计算图提供了---ROS名称注册和查获的功能。没有节点管理器,节点讲
           不能互相找到,也不能进行消息互换或者调用服务
        3--参数服务器--参数服务器允许数据通过在一个中心位置的关键词来存储,目前它是节点管理器的一部分
        4--消息--节点之间通过消息来---相互通信
        5--主题主要用于识别消息内容的名称
        1--节点可以和其他节点直接相连,节点管理器--仅仅--提供查找表信息,像DNS域名服务器.订阅一个
           主题的节点将会请求与发布主题的节点进行连接,并确定在一种连接协议上进行连接.
        2--ROS中,最通用的协议是--TCPROS,TCPROS采用标准的TCP/IP协议套接字
    

    四–文件系统级
    ROS文件系统级—指的是可以在硬盘上查看的—ROS源代码,包括以下几种形式:
    1–功能包—功能包是ROS中组织软件的主要形式,功能包是ROS软件的元级组织形式,它可以包含任何内容:库,
    文件,工具,可执行文件等
    2–Manifest–提供关于功能包的元数据meta data,包含它的许多依赖信息,指定的编程语言信息,它是功能包
    的一种描述
    3–功能包集
    4–Stack Manifest
    5–Message(msg) Type
    6–Service/srv


    五–社区级

    展开全文
  • 智慧旅游系统总体设计方案

    千次阅读 2019-10-30 09:54:21
    4.智慧旅游系统总体设计方案 4.1智慧旅游系统的总体架构 智慧旅游系统的总体架构如下所示: 智慧旅游整体框架图 智慧景区建设内容概括起来可以分为两个层面和两个中心的建设:即基础层、应用层和指挥...

     

    4.智慧旅游系统总体设计方案

    4.1智慧旅游系统的总体架构

        智慧旅游系统的总体架构如下图所示:

     

     

              智慧旅游整体框架图

     

    智慧景区建设内容概括起来可以分为两个层面和两个中心的建设:即基础层、应用层和指挥调度中心、数据中心。

    基础层包括通讯网络设施、信息安全保障、物联网软硬件系统、视频系统、数据中心等。其中物联网硬件包括各种传感设备(射频传感器、位置传感器、能耗传感器、速度传感器、热敏传感器、湿敏传感器、气敏传感器、生物传感器等),这些设备嵌入到景区的物体和各种设施中,并与互联网连接。

    应用层包括面向各职能部门的应用信息系统,以加强资源保护管理为目的建设的环境监测系统,生物、文物资源监测系统,规划监测系统等;面向日常经营管理的OA办公系统,规划管理信息系统,GPS调度系统,视频监控系统,电子门票系统,LED大屏幕信息发布系统等;以及面向产业发展的电子商务、旅行社和酒店管理、客户关系管理系统等,以及面向游客服务的信息呈现和互动系统。

    指挥调度中心实现管理资源的整合,及对各职能部门的统一组织协调。是最重要的核心平台,它整合系统各应用支撑系统的能力,实现资源监测、运营管理、游客服务、产业整合等功能。它主要包括:

    a)     地理信息系统(GIS)同时将多媒体技术、数字图像处理、网络远程传输、定位导航技术和遥感技术有机地整合到一个平台上。

    b)     旅游电子商务平台和电子票务系统。

    c)     高峰期游客分流系统高峰期游客分流系统可以均衡游客分布,缓解交通拥堵,减少环境压力,确保游客的游览质量。景区可以通过预定分流、票务分流和交通工具实现三级分流,这其中要采用RFID、全球定位、北斗导航等技术时时感知游客的分布、交通工具的位置和各景点游客容量,并借助分流调度模型对游客进行实时分流。

    d)     其他配套系统:包括规划管理系统、资源管理系统、环境监测系统、智能监控系统、LED信息发布系统、多媒体展示系统、网络营销系统等。

    数据中心实现对各业务系统数据的集中管理和共享服务,包括地理信息(GIS)数据、GPS数据、多媒体(MEDIA)数据、游客数据、产业链商家数据,以及其他综合业务信息数据。

    总体的功能结构如下图所示:

     

     

    4.2整体技术架构

     

    资源层提供集中的数据访问,包括数据连接池控制、数据库安全控制和数据库系统。集中的数据访问能够在大量用户同时并发访问时共享有关连接等信息,从而提高效率,集中的数据库安全控制,使任何来自互联网的数据库访问都必须经过强制的安全管理,不允许直接访问数据库的行为,杜绝安全隐患。

    应用层通过提供统一的数据服务接口,为各个应用系统提供服务,应用系统的表现可以是网站、客户端系统、Web服务以及其他应用。并通过目录与负载均衡服务提供统一的负载均衡服务。任何一个应用服务器都可以同时启动多个服务,而通过目录与负载均衡服务来进行负载均衡,从而为大量用户并发访问时提供高性能服务。智慧旅游系统应用服务器提供核心智慧旅游系统服务,包括数据服务、管理服务、基本安全服务、其他业务服务等;数据同步服务器将数据有条不紊的同步到各个数据库;系统更新与版本升级服务器提供各个系统的版本升级管理,使任何一个系统都保持最新版本;Web日志分析服务提供用户访问分析,提高网站后期修改、维护、更新的针对性。

    整体技术架构图如下:

     

             整体技术架构图 

     

    4.3智慧景区系统的应用门户设计

    从智慧景区系统所面对的不同应用对象来看主要有四类用户:旅游局、景区、游客、商家。

    智慧景区系统作用于不同应用对象产生的信息流图如下所示:

     

     

         不同用户场景下的应用门户功能如下图所示:

     

     

        应用之间的关系如下图:

     

    4.4网络拓扑结构

     

      

      网络拓扑结构图

    智慧旅游网络设计采用应用数据、内部服务与外部服务分离的原则,系统的网站服务器、商务系统WWW 服务器布署在防火墙的DMZ 停火区,数据库服务器、政务网应用服务器、内部办公服务器等布署在防火墙的非军事区,严格设计访问规则,并配备入侵检测系统,以确保系统的安全。

    智慧旅游集有关旅游信息的收集、加工、发布、交流和实现旅游的网上交易和服务全程网络化为一体的综合性、多功能网络系统。参与各方为:政府主管部门, 旅游企业(宾馆、酒店、旅行社、餐馆酒楼、娱乐场所、景点公司、票务公司、租车公司等),游客(网站会员、访客、旅游客户),银行和其他机构和个人。

    本系统采用Internet/Intranet 的b/s 模式,服务器端采用WindowsServer2003 或Linux 平台。整个系统以数据中心为信息交换平台,以Internet 为数据传输通道,政府各有关部门、旅游企业、游客、银行通过专线或拨号上网与系统中心互联,实现网上数据查寻、预订、购物、交易、结算、消费等活动。

    网络中心配备若干台高性能服务器,实行应用和数据分离的原则,加强系统运行的稳定性和安全性。服务器采用WindowsServer2003或Linux 平台,后台采用MSSQLServer2005 或Oracle 数据库,前后台开发工具分别采用.Net 或J2EE 以及ezStudio 等,服务器上运行电子商务套件以支持电子交易,安装Web 服务软件,向用户提供信息浏览、查询等服务。

     


    关注我的技术公众号,每个工作日都有优质技术文章推送和电子版方案下载。

    微信扫一扫下方二维码即可关注:


     

    展开全文
  • 针对高性能服务器存在一些最基本的要求,现总结如下:  服务器基本要求  1) 满足大量请求并发的使用场景;... 4) 服务自调整的能力,框架能够更具当前系统的请求量,能够拉起更多业务处理进程
  • 2020 智慧旅游系统总体设计方案

    千次阅读 2020-10-23 16:59:49
    4.智慧旅游系统总体设计方案 4.1智慧旅游系统的总体架构 智慧旅游系统的总体架构如下所示: 智慧旅游整体框架图 智慧景区建设内容概括起来可以分为两个层面和两个中心的建设:即基础层、应用层和指挥...
  • 系统功能架构,有需要的可以参考。 有需要的可以下载,做个参考也好。 有需要的可以下载,做个参考也好。
  • 2.4 系统总体框架2.4.1系统总体框架系统总体框架 2-1 管网地理信息系统框架所示[7]。 2-1管网地理信息系统框架2.4.2系统数据库考虑到空间数据是非结构化的、不定长的,而且施加于空间数据的操作需要GIS系统...
  • ROS探索总结(一)——ROS简介 一、历史 ...2010年Willow Garage公司发布了开源机器人操作系统ROS(robot operating system),很快在机器人研究领域展开了学习和使用ROS的热潮。  
  • 一、架构总原则 1. 大中台+小前台的架构思路 2. 业务中台采用领域驱动设计(DDD),在其上构建业务能力SAAS,持续不断进行迭代演进。 3. 平台化定位,进行了业务隔离设计,方便一套系统支撑...二、系统逻辑架构...
  • VINS-Mono视觉SLAM总体设计框架解读

    千次阅读 2019-02-15 10:51:16
    从论文和工程的设计思路无不体现着这两点,从考虑周密的初始化过程,到球面相机模型的引入等等都有体现,至于中间的Keyframe、Sliding Windows 以及4-DoF Pose Graph Optimization都是为了既保证优化的性能,也兼顾...
  • ASSF(access-service(biz)-standard-fundation)模式:访问-服务(业务功能)-标准-基础,对系统架构各个层次均有表达,但部署应用模式需要有单独说明,如下方式组织系统总体架构: Location模式:适合集团级应用...
  • iOS总体框架介绍和详尽说明

    千次阅读 2015-12-18 10:31:58
    总体介绍iOS为应用程序开发提供了许多可使用的框架,并构成IOS操作系统的层次架构,分为四层,从上到下依次为:Cocoa Touch Layer(触摸UI层)、MediaLayer(媒体层)、Core Services Layer(核心服务层)、Core OS ...
  • 一、 总体结构  根据ROS系统代码的维护者和分布来标示,主要有两大部分:  (1)main:核心部分,主要由Willow Garage公司和一些开发者设计、提供以及维护。它提供了一些分布式计算的基本工具,以及整个ROS的...
  • 项目假设背景:在智慧城市总体框架下,实现智能交通系统,实时展示交通网络情况,预测交通拥堵点,辅助进行调度决策等等。可以进一步实现APP,为个人提供公交到站查询、道路通勤情况等微服务。 数据来源:安装了GPS...
  • 提出一种基于Struts框架的设备管理系统的设计方案,详细阐述了系统的功能模块,进行了系统总体需求分析和数据库E-R设计,最后给出系统实现过程和关键模块的实现流程。
  • 基于python的网络舆情系统通用框架

    千次阅读 2018-11-21 12:26:18
    一、前言 网络舆情是目前各类企业和机构研究的热点内容,舆情数据种类繁多衍生出各类舆情系统。舆情系统的数据来源可以通过数据网站进行购卖,更多的可以利用网络爬虫技术进行数据爬取。...二、 系统总体框...
  • 中央银行数字货币的总体框架

    千次阅读 2020-06-28 18:25:47
    来源 | 《深度区块链:用技术重构世界》作者 | 庞宇雄责编 | Carol封 | CSDN 付费下载自视觉中国* 文末有赠书福利区块链技术的提出对降低社会信用成本、改善社会信用环境有...
  • 基于Qt软件框架设计

    千次阅读 多人点赞 2019-04-23 11:56:01
    Qt,在很多人的认识里是一个做界面的框架,只用来做界面,而后端往往是用别的来实现。在本人的实践中, 我把界面与后端的实现都用Qt来实现了。 2、软件分层 一般来说,我们的软件架构会很成很多层,这里我们分三层...
  • Spring作为现在最优秀的框架之一,已被广泛的使用,51CTO也曾经针对...本文将从另外一个视角试图剖析出Spring框架的作者设计Spring框架的骨骼架构的设计理念。 AD:WOT2015 互联网运维与开发者大会 热销抢
  • 第一章 系统总体设计如前所述,“排水GIS地理信息系统”属于专业系统,与公众系统相比而言,公众GIS系统用户友好性是关键,而专业系统注重是专业只是的系统体现。专业系统设计时,必须考虑使用者的心理。比如:(1...
  • ROS探索总结(二)——ROS总体框架

    万次阅读 多人点赞 2013-04-12 22:23:30
    一、 总体结构  根据ROS系统代码的维护者和分布来标示,主要有两大部分:  (1)main:核心部分,主要由Willow Garage公司和一些开发者设计、提供以及维护。它提供了一些分布式计算的基本工具,以及整个ROS的...
  • 2.RT-thread 项目实战--总体框架搭建

    千次阅读 2020-01-11 19:11:47
    从今天开始就要正式开发我们的项目了,想了很多天决定做一个温度采集系统,虽然看着功能很简单,但是将会集成很多的辅助功能,包括屏幕界面显示(后期考虑用stemwin),按键温度阈值设置,远程升级,文件系统,RTC...
  • 需求调研阶段,我们将首先根据初期的会议内容考虑市场需求以及基本的市场现状,并根据以上的内容设计问卷来寻找痛点。我们准备使用第三方问卷工具,以电子问卷的方式来进行调查。初步预计会收到200份问卷。 在需求...
  • 实现这种编程环境的最佳方法实践是使用统一的固件架构体系结构,该体系结构在产品开发过程中充当框架并支持“固件模块化”,或称为子系统。 如果不采用统一的设计架构,那么其业务需求耦合关系复杂,不采用先设计-...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 64,901
精华内容 25,960
关键字:

系统总体框架设计图