开发平台和体系结构(理解开发环境和体系架构之间的区别)

本文目录
理解开发环境和体系架构之间的区别
开发环境包含开发平台、硬件设施(电脑及其配置)、操作系统以及与之相关的软件。而开发平台只是单纯的软件的编写程序,比如windows vs2003 满意请采纳
体系结构与开发平台选择
原型系统架构分硬件架构、软件架构和部署方式3个方面。硬件部分描述了系统在部署的时候会涉及的服务器角色、不同角色之间的关联关系和网络连接方式;软件架构描述了系统各软件组件之间的层次关系;部署方式说明系统在不同用户环境下的配置形式。
5.2.5.1 硬件体系结构
按照原型系统的功能要求,根据数据处理流程,从多种数据源输入开始,到数据存储和处理,再到面向最终用户的不同形式展现,分来源/控制、存储/处理,以及运算/发布3个层次来设计系统硬件体系结构。硬件体系结构的设计需要根据系统对多数据源、多种数据处理方式、多种展现方式和多用户等功能要求,将不同的功能模块独立部署于不同的硬件平台,以满足系统的多种功能要求,支持负载均衡控制,提高系统的可扩展性(左美云等,2006)。系统的硬件体系结构见图5.24。
图5.24 系统硬件体系结构
(1)第一层次:来源/控制
系统的数据来源有Internet自动抓取、人工输入、模型运算输入等。数据下载服务器(Data Download Server)负责从Internet自动抓取数据,其中抓取的数据类型包括不同网站来源的石油价格数据以及影响石油价格的事件等;模型运算服务器(Model Server)负责模型的运算执行,并生成模型运算的结果数据。数据下载和模型运算的数据将存储到中心数据库服务器(Center Database Server)中,由中心数据库来完成数据归一、合并、错误数据检测等任务。
(2)第二层次:存储/处理
第二层次包含的中心数据库是整个系统的核心。通过设置中心数据服务器,完成存储在中心数据库中的数据增加、修正、计算、展现等任务。中心数据库除了由第一层次的数据下载服务器和模型运算服务器获取数据之外,还需要提供数据的人工输入,并为模型运算服务器提供中间数据接口任务。
除此之外,考虑到数据量规模,中心数据库服务器可以兼备数据仓库服务器(Data Warehouse Server)的角色。中心数据库服务器对数据仓库数据的生成、转换进行控制,提供具有星型架构的多维数据源。
(3)第三层次:发布/展现
第三层次负责完成对中心数据库中的数据进行提取,按照不同的应用进行展现。第三层次包括GIS展现服务器(GIS Server)、数据发布服务器(Data Deployment Server)等,这些服务器由独立的W eb服务器(Web Server)向网络用户提供单一的用户访问接口。GIS展现服务器负责对系统的GIS展现部分提供支持,包括国家风险、运输风险等。数据发布服务器则包含了所有二次开发的系统数据处理内容,包括各个风险模块中的指标体系定义和评价、基本数据的维护和展现等。此外,第三层次还提供对系统中心数据库的多维数据的展现功能,提供数据的切片、旋转、上钻、下卷等多维操作,并可以对结果数据进行导出。
GIS展现服务器从中心数据库服务器处获得的数据包括展现对象的基本信息、风险值等;数据发布服务器从中心数据库服务器处获得的数据包括石油价格、汇率、影响油价的事件等,另外数据发布服务器还从数据仓库服务器(中心数据库服务器)读取多维数据源。
5.2.5.2 软件体系结构
在软件体系结构设计方面,通过对系统关于国家风险、运输风险、市场风险、需求风险和供应风险的功能需求进行分析,抽象出共性的功能,依照三层设计的原则进行系统软件体系结构的设计,如图5.25所示,包括数据层、中间层和用户层。
图5.25 系统软件体系结构
在系统的软件体系结构中,系统运行管理模块具有贯穿全局的作用,负责对系统各个层次功能的运行参数进行配置,控制系统的权限等(左美云等,2006)。此外,系统的主体可以划分为数据层、中间层和用户层3个相互作用的软件层次结构。
(1)数据层
系统的数据层以中心数据库为核心。图5.26展示了处于数据层中的中心数据库里面的相关数据信息类别。可见,中心数据库是整个系统的基础,提供了所有数据的存储空间。在中心数据库层和程序代码之间设置了数据访问中间层,用来抽象程序对数据库的访问,提供统一的数据访问接口,提高程序代码对数据库平台的独立性。
图5.26 中心数据库内容
(2)中间层
系统的中间层包括数据抓起模块、图库管理模块、指标管理模块、模型运算模块和基础信息维护模块。
数据抓取模块负责对Internet数据进行抓取和更新。数据抓取模块自动连接不同的数据源网站,将网站上的数据经过下载、转换和过滤等处理,更新到中心数据库中,其中还要求留有处理各个阶段的详细日志。在数据抓取到本地的中心数据库之后,多个数据源的数据需要合并到一起,向数据使用者提供单一的数据出口。
图库管理模块为系统中国家、港口等模块中涉及的图片进行集中管理,完成图片的更新控制等。
指标管理模块将多个功能中所包含的指标归类形成一个共享模块。指标管理模块主要包括评价对象定义、评价指标维护、评价方法审核、评价值录入、评价指标存储、评价指标体系展现等功能。指标管理模块按照树形方式提供评价指标的定义功能,并可以提供按照时间版本进行管理的历史评价指标,同时为展现模块提供指标的查询和显示接口。
模型运算模块主要处理系统要求的数据计算模型,模型数据来源和数据输出需要经过数据访问中间层连接到中心数据库。在这个过程中,模型运算模块调用数据处理模块获得数据输入,并将模型运算结果依据模型本身的要求输入到中心数据库中。如油价预测模型以及石油市场风险预测模型就是模型运算模块中非常重要的组成部分。油价预测模型读取数据抓取模块获得的原始油价数据,在客户端进行计算预测,并显示预测结果;石油市场风险预测模型读取进行结构转换后的中间油价数据,接受用户输入的参数,计算并输出结果和报告。模型运算模块需要定义统一的模型结构,为多单位联合开发提供一致的接口,便于集成。
基础信息维护模块主要负责完成系统内实体对象相关属性信息的修改维护功能,主要包括国家、港口和航线等对象。
(3)用户层
用户层负责用户和系统接口的交互,包括GIS、价格数据、数据仓库、指标等多种展现形式完成交互。GIS展现和指标展现是最终用户界面的主要显示内容,主要功能包括多个风险的GIS展现、风险对象详细信息的查询显示和风险评价指标的显示等以及模型运输结果的展示等;价格展现模块则主要提供石油价格数据和影响油价事件的查询显示和导出;数据仓库展现模块从数据仓库读入数据,按照用户的要求进行国际石油价格的多维展现,包括价格按照市场、油品、价格类型和时间等多个维度的分析。
5.2.5.3 系统部署方式
在海外油气资源利用的风险管理系统中,系统的用户分为普通用户和管理员用户,这些用户的分布位置分散,特别是最终用户,包括了不同单位、不同地理位置,以及不同的访问终端等。为了最大程度地提高系统的灵活性和兼容性,在部署上主要采取了B/S(浏览器/服务器)的结构形式,以降低系统对客户端的要求,提高系统的可维护性。考虑到部分功能模块的特殊需求,采用了C/S(客户机/服务器)结构,这些主要是数据抓取和部分需要独立运行的模型程序。
5.2.5.4 开发平台选择
开发平台采取具有较高开发效率的.net平台为主体。Microsoft.net是一种全新的运算平台,其核心内容之一就是要搭建第三代互联网平台,以最大限度保护用户的现有投资和适应未来发展的需要。Microsoft为促进.net应用程序的开发而推出的Visual Studio.net集成开发环境中包含了许多强大的工具,并且支持多种编程语言,如 C#,Visual Basic.net,ASP.net等,这些编程语言可以实现代码级的无缝链接。
整个开发平台的选型如下:
1)服务器操作系统:Microsoft Windows Server 2003;
2)数据库管理系统:Microsoft SQL Server 2008;
3)内容管理系统:Microsoft Sharepoint Service 3.0,Microsoft Office Sharepoint Design 2007;
4)工作站操作系统:IE/FireFox/Opera等主流浏览器,Windows/Linux平台;
5)应用系统开发环境:Microsoft Visual Studio 2008;
6)应用系统开发语言:C#,ASP.NET,VB.net,框架为.net Framework 2.0;
7)GIS开发软件:MapInfo MapXtreme 2008;
8)数据仓库软件:QlikTech QlikView 9.0。
基于构件的软件开发包括哪些要素(软件结构的设计是以什么为基础)
与传统的软件开发方式相比,基于构件的软件开发方法有什么突破呢?
一、体系结构
软件体系结构代表了系统公共的高层次的抽象,它是系统设计成败的关键。其设计的核心是能否使用重复的体系模式。传统的应用系统体系结构从基于主机的集中式框架,到在网络的客户端上通过网络访问服务器的框架,都不能适应目前企业所处的商业环境,原因是:
企业过分地依赖于某个供应商的软件和硬件产品。这种单一供应商使得企业难以利用计算供应商的免费市场,将计算基础设施的重要决定交给第三方处理,这显然不利于企业在合作伙伴之间共享信息。
不能适应远程访问的分布式、多层次异构系统。
封装的应用系统在出现某种组织需要时,难以用定制来维护系统,从而难以满足多变的需求。
不能实现分析、设计核心功能重用,最多只能实现代码重用。
如今,应用系统已经发展成为在Intranet和Internet上的各种客户端可远程访问的分布式、多层次异构系统。CBSD为开发这样的应用系统提供
了新的系统体系结构。它是标准定义的、分布式、模块化结构,使应用系统可分成几个独立部分开发,可用增量方式开发。
这样的体系结构实现了CBSD的以下几点目标:
能够通过内部开发的、第三方提供的或市场上购买的现有构件,来集成和定制应用软件系统。
鼓励在各种应用系统中重用核心功能,努力实现分析、设计的重用。
系统都应具有灵活方便的升级和系统模块的更新维护能力。
封装最好的实践案例,并使其在商业条件改变的情况下,还能够被采用,并能保留已有资源。
由此看出,CDSD从系统高层次的抽象上解决了复用性与异构互操作性,这正是分布式网络系统所希望解决的难题。
二、开发过程
传统的软件开发过程在重用元素、开发方法上都与CBSD有很大的不同。虽然面向对象技术促进了软件重用,但是,只实现了类和类继承的重用。在整个系统和类之间还存在很大的缺口。为填补这个缺口,人们曾想了许多方法,如系统体系结构、框架、设计模式等。
自从构件出现以来,软件的重用才得到了根本改变。CBSD实现了分析、设计、类等多层次上的重用。图1显示了它的重用元素分层实现。在分析抽象层上,重用
元素有子系统、类;在设计层上重用元素有系统体系结构、子系统体系结构、设计模式、框架、容器、构件、类库、模板、抽象类等。
在软件开发方法上,CBSD引导软件开发从应用系统开发转变为应用系统集成。建立一个应用系统需要重用很多已有的构件模块,这些构件模块可能是在不同的时
间、由不同的人员开发的,并有各种不同的用途。在这种情况下,应用系统的开发过程就变成对构件接口、构件上下文以及框架环境一致性的逐渐探索过程。例如,在J2EE平台上,用EJB框架开发应用系统,主要工作是将应用逻辑,按sessionBean、entity
Bean设计开发,并利用JTS事务处理的服务实现应用系统。其主要难点是事务划分、构件的部署与开发环境配置。概括地说,传统的软件开发过程是串行瀑布
式、流水线的过程;而CBSD是并发进化式,不断升级完善的过程。图2显示了它们的不同。
三、软件方法学
软件方法学是从各种不同角度、不同思路去认识软件的本质。传统的软件方法学是从面向机器、面向数据、面向过程、面向功能、面向数据流、面向对象等不断创新
的观点反映问题的本质。整个软件的发展历程使人们越来越认识到应按客观世界规律去解决软件方法学问题。直到面向对象方法的出现,才使软件方法学迈进了一大
步。但是,高层次上的重用、分布式异构互操作的难点还没有解决。CBSD发展到今天,才在软件方法学上为解决这个难题提供了机会。它把应用业务和实现分
离,即逻辑与数据的分离,提供标准接口和框架,使软件开发方法变成构件的组合。因此,软件方法学是以接口为中心,面向行为的设计。图3是其开发过程。
归纳起来,CBSD的软件开发方法学应包括下面几方面:
对构件有明确的定义。
基于构件的概念需要有构件的描述技术和规范,如UML、JavaBean、EJB、Servlet规范等。
开发应用系统必须按构件裁剪划分组织,包括分配不同的角色。
有支持检验构件特性和生成文档的工具,确保构件规范的实现和质量测试。
总之,传统的软件方法学从草稿自顶向下进行,对重用没有提供更多的辅助。CBSD的软件方法学要丰富得多,它是即插即用,基于体系结构,以接口为中心,将构件有机组合,它把自顶向下和自底向上方法结合起来进行开发。
四、开发组织机构
传统软件的开发组织一般由分析员、设计员、程序员和测试员组成。对一个小的应用系统来说,一个熟练的开发人员,可能兼顾以上多个角色。但对CBSD来说,因为构件开发与应用系统集成往往是分开进行的,因此整个开发过程由六个角色来完成,他们是:
构件开发者也是构件供货商,这些大多数是中间件构件提供者。
应用构件集成者针对某应用领域将已有构件组合成更大的构件模块或容器,作为系统部署的基本单元。
应用系统部署者将系统部署基本单元放入选定的平台环境或基本框架中,完成软件定制的要求。
开发平台服务器供应商提供服务器、操作系统和数据库等基本软件。
应用系统开发工具供应商提供构件公共设施服务。
系统管理员配置硬件、网络和操作系统,监督和维护应用系统者。
这六个角色的工作专业性很强,要兼顾成为多面手很不容易。目前已形成构件开放市场,而且还很火红。这也是当今软件人才大战所遇的
一个困惑。因此,在CBSD中,如何组织好开发队伍尤为重要,必须按本企业所具备人才来组织。特别重要的是:开发初期必须选好标准框架,以及统一的开发指
导方针,保证在整个开发过程中,各角色能随时互相沟通。一般来说,CBSD的人员素质决定了构件的重用率。
五、构造方法
传统应用软件的构造是用白盒子方法,应用系统的实现全在代码中,应用逻辑和数据粘结在一起。而CBSD的构造是用白盒子和黑盒子相结合的方法。基于构件的框架是用两个概念来支持演变:第一个概念是构件有很强的性能接口,使构件逻辑功能和构件模型的实现都隐藏起来。这样,只要接口相同,构件就可以被替换。
第二个概念是隐式调用,即在基于构件的框
架中,从来不直接给构件的接口分配地址,只在识别构件用户后才分配地址。因此,构件用户只要了解接口要求和为构件接口提供的引用后的返回信息
(该引用可能是一个构件,也可能是一个构件代理。对构件用户来说,构件代理就是构件,不用区分)。
构件接口的信息并不存入构件内,而是存入构件仓库或注册处。这样才能保证构件替换灵活,并很容易利用隐式调用去重新部署构件。由于构件的实现对用户透明,因此也使构件能适应各种不同的个性化要求。为此,构件提供自检和规范化两个机制。自检保证在不了解构件的具体实现时,就能获得构件接口信息。例
如,JavaBean提供的自检机制是Reflection和BeanInfo,通过Reflection
可直接获得Bean构件的全部方法,通过BeanInfo可直接获得构件的许多复杂信息。
规范化允许不访问构件就可以修改它,如JavaBean提供的规范化是propertysheet和customizer(定制器)。通过propertysheet提供一组简单参数,修改Bean的属性。复杂的修改由用户通过定制器设置参数完成。
一个好的低代码开发平台应该具备哪些功能呢
低代码开发通过模块化,可视化,拖拽等方式减少了开发过程中冗繁,重复性的编码工作,有效降低人工成本;同时在实际应用场景中,开发人员无法准确理解业务人员真实需求,通过低代码开发平台,业务人员可以自定义demo,开发人员针对业务人员的产品原型进行开发交付,有效降低沟通成本,看到楼下有提天翎的平台,之前的公司也是用的他们家的平台,还不错,可以有效的降低人工成本,提升开发效率:支持跨平台部署,可以同时为多个平台构建应用程序

本文相关文章:
html5开发工程师(一文解读:什么是HTML5全栈开发工程师)
2026年5月16日 01:21
最新软件开发国家标准(国家标准GB8566-88《计算机软件开发规范》将软件生存期分为哪几个阶段)
2026年5月15日 18:00
西安网站开发排行榜(西安哪家软件开发公司比较好(西安比较好的软件公司))
2026年5月15日 14:35
建委网站资质证书查询(如何进行房地产开发企业资质信息查询,房地产开发企业资质信息怎么查看)
2026年5月15日 13:59
更多文章:
优秀网视频剪辑(可以接单的视频剪辑软件有哪些免费学视频剪辑的软件推荐)
2026年5月3日 17:26
英语 建设 建立 建设同义词的辨析build construct found establis?建立英语怎么说
2026年5月9日 04:20
谷歌seo和新站如何快速排名:谷歌seo和新站如何快速提升排名
2026年6月22日 05:30

















