系统架构设计说明书Word下载.docx

上传人:b****5 文档编号:17511661 上传时间:2022-12-06 格式:DOCX 页数:9 大小:255.45KB
下载 相关 举报
系统架构设计说明书Word下载.docx_第1页
第1页 / 共9页
系统架构设计说明书Word下载.docx_第2页
第2页 / 共9页
系统架构设计说明书Word下载.docx_第3页
第3页 / 共9页
系统架构设计说明书Word下载.docx_第4页
第4页 / 共9页
系统架构设计说明书Word下载.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

系统架构设计说明书Word下载.docx

《系统架构设计说明书Word下载.docx》由会员分享,可在线阅读,更多相关《系统架构设计说明书Word下载.docx(9页珍藏版)》请在冰豆网上搜索。

系统架构设计说明书Word下载.docx

巡检模块

数据访问层Model

OCIOCI

数据库

ORACLE

操作系统LINUX

系统总体架构图

系统总体架构如上图所示,按功能可以分为公共管理、设备管理、巡检管理、机房出入等模块;

系统根据功能特点与业务需求采用基于web的B/S架构模式,项目基于PHP代码实现,运用CI开源框架,可以运行于Linux和Windows平台;

3.WEB系统架构设计

用户层Web浏览器(IE、Google)

Web服务器

NginxServer

层htmlJsonView

DTODTO

务PHPController

数据访问层

ORM

Oracle

操作系统RedHatLinux

从架构图中可以看出系统分为四层:

用户层:

浏览器

表示层:

借助html框架及json数据实现

业务层:

借助PHP进行业务流程开发。

数据持久层:

ORM模型操作数据库

为什么采用这样的四层架构?

通过成熟的开源产品实现各层,同自己编写代码实现,相比之下能缩短开发周期,且架构所用到的开源产品均有很广泛的用户群,经受过实践的考验,质量和性能更有保障。

层与层之间松散耦合,增加代码重用率。

各层分工明确,这样也利于团队的明确分工。

系统的总体架构从结构上分为用户层、表示层、业务层、数据访问层以及在层间传递数据的数据传输对象。

下面针对各层加以描述。

1).用户层

用户层作为客户端程序,用来与用户交互,并把来自系统的信息显示给用户。

系统的用户层采用的是IE浏览器作为交互方式。

2).表示层表示层主要控制页面外观,产生页面逻辑以及对用户输入的数据进行合法性验证。

系统中主要包括基于Bootstrap框架的JavaScript脚本及基于CI框架的表单验证。

其中JavaScript脚本可以增强用户体验,PHP负责视图的功能,由HTML、PHP程序片断和JSON数据构成。

3).业务层

业务层处理应用的核心业务逻辑。

业务逻辑对象把业务规则、约束、活动和数据结合在一起,Controller负责对这些业务对象的管理。

4).数据访问层

数据访问对象把底层的数据访问操作和上层的商务逻辑分开。

CI框架规范定义了Web应用程序的类和文件存放的目录结构。

该层次结构由三个层次构成。

第一层是上下文,它是一个目录或者是多个目录,用来查找与客户请求关联的Web应用程序。

在上下文中存在一个/Application目录,该目录存放应用程序,它包含MVC三层目录,用来实现系统的业务逻辑。

/public包含所有样式文件,js文件和图片。

CI框架采用但入口方式访问系统,即入口文件只有一个,通过参数控制(c=控制器名&

m=方法名)访问不同控制器的方法以打开不同的页面。

表1-1系统目录结构表

目录名

说明

/data_center

应用上下文根目录

/public

Css样式表文件,js文件和图片等目录

/uploads

上传的文件目录

/system

框架系统目录

/downloads

可下载的文件存放目录

/Application

/config

系统配置文件目录

/controllers

业务逻辑层目录(控制器)

/models

模型层目录(模型)

/views

视图层目录(视图)

index.php

系统入口文件

controllers目录下的系统PHP文件的结构说明见表1-2。

表1-2系统PHP文件结构说明表

包名

作用说明

com_*.php

系统管理模块相关控制器

sys_*.php

公共管理模块相关控制器

equipment_*.php

设备模块相关控制器

interface_*.php

接口模块相关控制器

check_*.php

巡检模块控制器

room_*.php

机房出入模块控制器

4.WEB子系统架构总体功能设计

4.1CI框架

CI是一个实现了MVC模式的框架,对Model、View和Controller都提供了对应的实现组件。

如下图所示:

CI入口文件

Brower

Controller

Model

Action

View

1.控制器(Controller)

控制器的作用是从客户端接受请求,并且通过模型层和和数据库交互,然后选择执行相应的业务逻辑,然后把响应结果返回到客户端(视图层)。

2.模型(Model)

MVC系统中的Model部分从概念上可以分为两类--系统的内部状态,和改变系统状态的动作。

CI为Model部分提供了default对象:

所有的Action处理器对象都是开发者从Struts的Action类派生的子类。

Action处理器对象封装了具体的

处理逻辑,调用业务逻辑模块,并且把响应提交到合适的View组件以产生响应。

3.视图(View)

View通过html+php技术实现,view层提供了丰富的组件库,例如下拉框,列表、翻页等,可以非常好的和系统的controller交互,通过这些标签组件实现数据的录入和展现。

4.2表单验证

对Web应用来说,由于用户的行为是无法预测的,在表单数据在传递给业务类之前,必须保证数据的合法性及有效性,而表单验证是保证数据合法性及有效性的重要手段。

对于基于CI框架的表单验证一般有两种方式:

基于JavaScript的表单验证(前端验证)及基于php的表单验证(后端验证)。

前端验证:

可以针对基本类型(汉字、英文、整型、数字、日期、邮编)的有效性及合法性开发出一些共同JavaScript函数,以备整个系统统一调用。

后端验证:

主要采用基于CIform组件的表单验证。

由于前端验证不需要提交服务器,直接在客户端完成,从而减少了服务器的压力,

所以我们优先采用前端验证。

4.3日志处理

规范合理的日志记录能让开发人员和维护人员事半功倍,在记录日志时主要考虑对数据的一些敏感操作,如增加和删除修改等,并且日志易读。

CI作为一个开源的强大的php框架,有自己的日志处理方式,运行日志主要保存在/home/wwwroot/default/data_center/application/logs

在application/config/config.php中设置$config['

log_threshold'

1/2/3/4,如果为0表示不输出错误日志,可自定义日志输出的级别;

另外,为了方便维护,系统还开发了操作日志记录功能(调用setLog(‘日志内容’)方法),用中文的方式记录主要的操作信息,操作日志目录在 

/appxj/data_cenetr/logs

5.共同组件

5.1分页组件

数据列表是页面的一种常见页面表现形式,而分页功能又是列表的一个不可缺少的功能,分页组件主要为各种形式的数据列表提供一个共同的分页功能。

技术上实现为首先查询出总的符合条件的数据记录数,然后每次只查询出一页的数据记录,这种方法对于大数据量的情况性能很好。

本系统页面表现基于Ajax技术,实现无刷新效果,组件调用接口要求简洁明了。

分页组件主要通过前台js+ajax实现,后台控制器只需按ajax提交的参数返回总的条数和对应页面的数据即可,此处用的组件是基于jquery的datatable组件。

5.2树形组件

树形结构一般用于组织机构等具有层次结构的数据,也是页面常见的表现形式,树形组件为各种形式的层次结构数据提供一个共同的分页功能。

技术上可以分两种实现方法:

一是查询出所有的层次节点的符合条件的数据记录,在html页面进行分层显示。

考虑到层次结构数据一般数据量不大的特点,我们采用第一种方法。

此组件主要用户巡检模块的参数设置,基于jquery的zTree树形组件。

5.3下拉框组件

对于下拉选项比较多的情况,我们采用基于jquery的下拉组件select2,实现可以在下拉框中模糊搜索匹配,从而快速筛选出想要的下拉选项。

5.4model基类(CI_Model)

针对模型层的model基类继承CI的CI_Model类,实现数据对象的增删改查数据库操作,通过实现query()方法来执行SQL语句,通过result_array()方法来设定返回的数据为二维数组。

5.5controller基类(CI_Controller)

该类作为业务层Controller类的基类,所有业务层Controller类必须继承该类。

该类实现

6.Web子模块基于架构的开发流程

6.1编写model类

6.2编写页面

6.3编写controller类

引入相应model类

$this->

load->

model('

db_table_model'

);

调用相应页面

publicfunctionindex(){

$html=$this->

view("

index.html"

'

'

true);

echo$html;

}

6.4添加模块名称

在“系统管理”->

“模块类别管理”和“模块管理”里面增加相应模块名称,模块名称是要在左侧菜单显示的名称,并设置此模块对应的控制器名称和方法名称。

6.5设置用户权限

刚添加的模块功能需要赋权限给用户才能访问,编辑“系统管理”->

“角色管理”中的角色,将添加的模块权限赋给对应的角色,此角色下的用户将能访问到新模块。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1