✅ 操作成功!

系统设计说明书

发布时间:2023-06-05 作者:admin 来源:文学

系统设计说明书

系统设计说明书

娃娃家游戏教案-网赚网盘

2023年2月19日发(作者:激动英语)

。1

设备及巡检系统架构设计说明书

版本号:V0.1

2015年11月

。2

1.目的

本说明书的编写目的是描述系统的架构设计方案,包括系统的软件总体架构

设计及使用的框架说明,以及基于该架构的开发流程,并作为指导开发人员、测

试人员进行系统开发及测试的依据。

2.系统架构设计

整个软件架构方案采用分层、分布式的部署结构,明确地分离了表现层和业

务逻辑,能够保证应用服务逻辑的一致性和稳定性、结构的开放性、功能的可扩

展性和可维护性、开发的可并行性,同时采用一些开源的框架,兼顾了经济性。

框架是一种特殊的软件,它为软件开发带来了高度的重用性,是无数软件开发人

员的多年项目开发经验的总结。在一个优秀的框架上开发应用,而不是从零开始,

可以大量缩短项目的开发周期、降低开发风险、增强应用系统的稳定性。

。3

用户层

平板客户端WEB浏览器(IE)

公共模块

表示层View

设备模块

WEB应用

服务器

业务层Controller

巡检模块

数据访问层Model

OCI

OCI

数据库

ORACLE

操作系统

LINUX

系统总体架构图

系统总体架构如上图所示,按功能可以分为公共管理、设备管理、巡检管

理、机房出入等模块;系统根据功能特点与业务需求采用基于web的B/S架构模

式,项目基于PHP代码实现,运用CI开源框架,可以运行于Linux和Windows

平台;

。4

DAOiBatis

Model

系统架构设计

用户层

Web浏览器(IE、Google)

Web服务器

NginxServer

htmlJsonView

DTODTO

PHPController

DTODTO

数据访问层

OCIOCI

数据库

Oracle

操作系统

RedHatLinux

ORM

。5

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

用户层:浏览器

表示层:借助html框架及json数据实现

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

数据持久层:ORM模型操作数据库

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

通过成熟的开源产品实现各层,同自己编写代码实现,相比之下能缩短开发

周期,且架构所用到的开源产品均有很广泛的用户群,经受过实践的考验,质

量和性能更有保障。

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

各层分工明确,这样也利于团队的明确分工。系统的总体架构从结构上分

为用户层、表示层、业务层、数据访问层以及在层间传递数据的数据传输对象。下面

针对各层加以描述。

1).用户层

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

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

式。

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

性验证。

系统中主要包

括基于Bootstrap框架的JavaScript脚本及基于CI框架的表单验

证。其中JavaScript脚本可以增强用户体验,PHP负责视图的功能,由HTML、PHP

程序片断和JSON数据构成。

3).业务层

业务层处理应用的核心业务逻辑。业务逻辑对象把业务规则、约束、活动和数据

结合在一起,Controller负责对这些业务对象的管理。

4).数据访问层

数据访问对象把底层的数

据访问操作和上层的商务逻辑分开。

。6

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

视图层目录(视图)

系统入口文件

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

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

包名作用说明

com_*.php

系统管理模块相关控制器

sys_*.php

公共管理模块相关控制器

equipment_*.php

设备模块相关控制器

interface_*.php

接口模块相关控制器

check_*.php

巡检模块控制器

room_*.php

机房出入模块控制器

。7

子系统架构总体功能设计

4.1CI框架

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

的实现组件。如下图所示:

CI入口文件

Brower

Controlle

r

Model

Action

View

1.控制器(Controller)

控制器的作用是从客户端接受请求,并且通过模型层和和数据库交互,然后选择执

行相应的业务逻辑,然后把响应结果返回到客户端(视图层)。

2.模型(Model)

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

状态的动作。CI为Model部分提供了default对象:所有的Action处理器对象都

是开发者从Struts的Action类派生的子类。Action处理器对象封装了具体的

。8

处理逻辑,调用业务逻辑模块,并且把响应提交到合适的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['log_threshold']=1/2/3/4,如果为0表示不输出错误日

志,可自定义日志输出的级别;

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

录主要的操作信息,操作日志目录在/appxj/data_cenetr/logs

5.共同组件

5.1分页组件

数据列表是页面的一种常见页面表现形式,而分页功能又是列表的一个不可缺少的

功能,分页组件主要为各种形式的数据列表提供一个共同的分页功能。技术上实现为

首先查询出总的符合条件的数据记录数,然后每次只查询出一页的数据记录,这种方

法对于大数据量的情况性能很好。本系统页面表现基于Ajax技术,实现无刷新效

果,组件调用接口要求简洁明了。分页组件主要通过前台js+ajax实现,后台控制器

。9

只需按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.1编写model类

。10

6.2编写页面

6.3编写controller类

引入相应model类

$this->load->model('db_table_model');

调用相应页面

publicfunctionindex(){

$html=$this->load->view("",'',true);

echo$html;

}

6.4添加模块名称

在“系统管理”->“模块类别管理”和“模块管理”里面增加相应模

块名称,模块名称是要在左侧菜单显示的名称,并设置此模块对应的控制器

名称和方法名称。

6.5设置用户权限

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

“角色管理”中的角色,将添加的模块权限赋给对应的角色,此角色下的用

户将能访问到新模块。

。11

欢迎您的下载,

资料仅供参考!

致力为企业和个人提供合同协议,策划案计划书,学习资料等等

打造全网一站式需求

👁️ 阅读量:0