本文是针对我们工程实践项目——工业互联网云端管理系统的分析,将会涉及项目的设计方案和软件架构,为了对项目进行完整的分析,将采用不同的视图来描述该项目。
项目介绍:关于工业物联网设备监控与管理系统服务端的设计与开发。该系统是一个集分级用户管理,设备情况监控,设备控制与数据转发于一体的多边平台。各级用户拥有不同权限,可以对所属的不同设备进行监控或操作。可以做到对设备情况进行远程诊断,远程重启等操作,减维修人员到现场的次数,大大减少人力成本,方便设备管理。
本系统的总体结构将采用MVC架构和三层架构混合使用:
MVC即为Model-View-Controller(模型-视图-控制器),其中各字母所代表的义如下:
MVC模式通常用开发具有人机交互界面的软件,这类软件的最大特点就是用户界面容易随着需求变更而发生改变,为了包容需求上的变化而导致的用户界面的修改不会影响软件的核心功能代码。
三层架构(3-tierarchitecture)通常意义上的三层架构就是将整个业务应用划分为:界面层(UserInterfacelayer)、业务逻辑层(BusinessLogicLayer)、数据访问层(Dataaccesslayer)。区分层次的目的即为了“高内聚低耦合“的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或称为领域层)、表示层。其结构见下图:
在本系统中,Controller将会由业务逻辑层和数据访问层两部分共同组成。
在C/S和B/S这两种服务模式中,我们选择了B/S模式。B/S架构的全称为Browser/Server,即浏览器/服务器结构。Browser指的是Web浏览器,极少数事务逻辑在前端实现,但主要事务逻辑在服务器端实现。
B/S架构的系统无须特别安装,只有Web浏览器即可。其实就是我们前端现在做的一些事情,大部分的逻辑交给后台来实现,我们前端大部分是做一些数据渲染,请求等比较少的逻辑。
其大概结构见下图:
相比于C/S结构,B/S架构有以下优点:
系统的整体结构如下图所示:
系统总体分为前端,展示层,业务层和数据层。前端为浏览器对服务器传送过来的html页面和json数据进行解析处理并显示给用户。
展示层通过post和get请求从服务端获取json数据并传递给前端,并把用户与前端产生的交互操作传递给服务端。
业务层对从展示层传来的数据进行处理并返回结果给展示层。
设计模式的本质是面向对象设计原则的实际运用总结出的经验模型。对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解的基础上才能准确理解设计模式。
正确使用设计模式具有以下优点:
Java设计模式总共有23种之多,其中较为常见的有单例模式,工厂模式,建造者模式,代理模式等。本项目将会根据各种设计模式的特点,结合使用,以达到开发效率的最大化。
服务端会把不同的模块功能封装在不同的Controller中,每个模块中的不同方法使用URL参数进行区分。前端端向服务端发送请求时不仅需要正确的URL来访问不同的Controller,还需要在URL后面加上“action”参数选择不同方法进行处理。
分解是构建软件架构模型的关键步骤,分解视图也是描述软件架构模型的关键视图,一般分解视图呈现为较为明晰的分解结构(breakdownstructure)特点。分解视图用软件模块勾划出系统结构,往往会通过不同抽象层级的软件模块形成层次化的结构。
本项目的分解视图如下:
执行视图展示了系统运行时的时序结构特点,比如流程图、时序图等。执行视图中的每一个执行实体,一般称为组件(Component),都是不同于其他组件的执行实体。如果有相同或相似的执行实体那么就把它们合并成一个。
由于执行视图的数量太过庞大,所以我下面将以项目中最基本的功能——设备状态查看(工厂用户的功能)的流程图为例:
实现视图是描述软件架构与源文件之间的映射关系。比如软件架构的静态结构以包图或设计类图的方式来描述。
我将通过项目的大概目录结构设计来体现项目的实现视图:
部署图描述了一个系统运行时的硬件节点,在这些节点上运行的软件构件将在何处物理运行以及它们将如何彼此通信的静态视图。部署图包括两种基本模型元素:节点和节点间的连接。每个模型中,仅包含一个部署图。
下面是本项目的大致的部署视图:
本系统将大概有4张数据表,它们分别为:
用户表:
值班员表:
执行器表:
网关表:
执行器状态表:
开发语言:Java
前端框架:Vue
后端框架:SpringBoot
开发工具:IntellijIDEA+VisualStudioCode
数据库:MySQL
数据库缓存:Redis
运行环境:Linux平台+Docker容器
概念是人对能代表某种事物或发展过程的特点及意义所形成的思维结论,是一种虚拟的、理想化的软件产品形式,其大致等于用例+数据模型。
本系统的概念原型工作机制大致如下:
本系统总共涉及5级用户:分别为全国总厂,总经销商,次级经销商,工厂管理员,值班人员。各级用户无法自行注册,只能由上级用户创建。