(内部资料 请勿外传)
编 写: | 牟宝林 | 日 期: | 20150216 |
检 查: | 日 期: | ||
审 核: | 日 期: | ||
批 准: | 日 期: |
XXXX科技有限公司
版权所有 不得复制
目 录
智慧社区系统软件系统整体架构是为了快速搭建智慧社区运营平台,将硬件数据采集并建立智慧社区应用的架构整体解决方案。
本文档是对于智慧社区应用平台进行详细设计和编码的重要依据。对该软件的整个系统的结构关系进行了详细描述,阐述了系统的总体框架,包括物理、逻辑结构,说明了体系结构所采取的设计策略和所有技术,并对相关内容做出了统一的规定。为今后的设计、编码、测试都提供了可以参考的模版并且提高效率,使整个开发过程做到资源利用最大化,减少由于需求变更而修改的时间,大大的降低了成本,节约了时间。
建立智慧社区的数据管理中心,并通过建立硬件数据标准接口,像平台中的应用子系统提供数据支撑服务。
-
- 需求边界
要做的事情:
- 定义核心数据标准,建立核心数据库;
- 建立核心数据接口,用于支撑应用系统,并能够实现对接口的权限控制;
- 定义应用数据标准,建立应用数据库;
- 建立应用数据接口,用于支撑终端系统展示。
不做的事情:
1、应用子系统的实现;
2、硬件数据的采集及数据处理;
3、终端系统的实现。
序号 | 项目 | 详细信息 |
后台软件环境 | Windows Server 2008以上 | |
前台软件环境 | Windows XP, Windows 2000, windows vista | |
数据库 | SqlServer 2008 R2 |
序号 | 项目 | 详细信息 |
1 | 操作系统 | Microsoft .NET Framework 4.0以上, 操作系统: windows系列 |
2 | 编程语言 | C# |
3 | 编程工具 | Visual Studio 2008+ |
为了降低系统耦合度,增加系统内聚性,在需求发生更改时能在较短的时间内对系统做出修改,并重新投入使用,我们决定以分层体系架构风格作为整个系统的体系风格,层与层之间严格按照RESTful风格的Web API进行接口设计,并以之为根据进行详细设计。分为数据支撑层、应用层、终端层。
整个系统顶层架构采用分层的风格,整个系统的体系结构非常清晰,使得后期易于详细设计、编码、维护以及适应需求变更。通过分层,定义出层与层之间的接口,使得在更加规范的同时拥有更为自由的接口描述,使得层与层之间的耦合度降低,增强了模块的复用型和可扩展性以及可维护性。同时,分层也有益于项目模块的划分以及任务的分配,通过明确清晰的接口,降低集成的难度,提高效率。
包架构分三层:数据支撑层、应用层、终端。每层之间通过制定接口协议对接,层内部可独立开发。
数据支撑层分三个系统:设备信息系统、基础数据管理系统、应用数据管理系统。
主要做接口通过数据提供接口将设备的数据采集到数据库中。
应用层系统虽然多,但是有些是可以合并的,而且有的可能会有现成产品。但是应用层的困难在于,必须对每一个系统的需求落实到底,每个系统到底要实现哪些功能,每个功能具体的用户体验是什么样子的。形成需求文档后才能形成外包的协议文档。这个可能需要做大量的需求调研工作。
终端层是给用户展现的东西,最重要的是用户体验和界面UI。所以终端层要外包首先要明确终端体验是什么样子,然后归纳出应用层所要提供的接口标准,制作原型图,然后将原型图和接口交给外包公司。
数据支撑层分三个系统:设备信息系统、基础数据管理系统、应用数据管理系统。
主要做接口通过数据提供接口将设备的数据采集到数据库中。
-
-
-
- 接口设计
-
-
接口主要采用RESTful形式的Web API来实现对核心数据和硬件采集数据的采集和输出功能。并通过用户权限加以控制。
-
-
- 应用层
- 描述
- 应用层
-
应用层主要是实现相应的业务功能
-
-
-
- 接口设计
-
-
接口同样采用Web API的方式来实现对数据的采集和输出功能。
-
-
- 终端层
- 描述
- 终端层
-
终端层主要是与用户交互的终端应用界面,主要包括web端网页访问,移动端手机app应用,以及室外大屏、室内定制服务终端等。
-
-
-
- 接口设计
-
-
接口同样采用Web API的方式来实现对数据的输出,主要将应用系统中的沉淀下来的基础数据通过接口方式输出到终端上面。
系统可以采用阿里云服务器部署,云服务器的优势如下:
1、云服务器的维护成本比较低,省去我们对服务器和网络的维护管理的工作量;
2、云服务器可扩展性较强,因为智慧社区应用是一个规模逐渐扩大的平台,在初期我们可以采用相对较少的服务器,随着规模增大,我们可以通过增值买服务的方式扩大规模,可以省去更新换代的成本,对服务器实现平滑升级;
系统:windows server 2008以上;
Microsoft .NET Framework 4.0以上;
内存:4G以上(可根据应用规模扩展);
硬盘:200G以上;
带宽:10M以上(可根据应用规模扩展)。