智能硬件阿里云服务器端应用开发论文

上传人:QQ40****828 文档编号:403817 上传时间:2018-08-04 格式:DOC 页数:78 大小:2.57MB
返回 下载 相关 举报
智能硬件阿里云服务器端应用开发论文_第1页
第1页 / 共78页
智能硬件阿里云服务器端应用开发论文_第2页
第2页 / 共78页
智能硬件阿里云服务器端应用开发论文_第3页
第3页 / 共78页
点击查看更多>>
资源描述
本 科 毕 业 设 计 ( 论 文 )智能硬件阿里云服务器端应用开发学院专业学生姓名学生学号指导教师提交日期I摘 要智能硬件是继智能手机之后的一个新的科技概念,通过智能手机与硬件结合的方式,对传统硬件设备进行改造。硬件通过无线蓝牙通信与智能手机进行通讯,进而与云端服务器进行数据交互,实现互联网服务的加载,形成“云服务器+客户端”的典型架构。服务器端存储用户数据及其硬件设备的使用数据,具备了大数据等附加价值。该平台构建了以智能硬件产品为核心,通过产品线连接各硬件用户、销售方和经销商的业务网络,从而实现产品涉众通过网络进行数据分析,实现资源共享。该平台涉及多种类的用户,用户基数较大,用户权限关系复杂而且变动大。需要访问控制的资源种类多,分布广。既要保证平台信息资源的安全性,同时又要保证系统的灵活性与易访问性。为此,本文专门研究并实现了该平台的用户管理 B/S 子系统和智能硬件管理 C/S子系统。用户管理 B/S 子系统为管理员提供用户管理、角色管理、权限管理、资源文件管理等功能。为所有的用户提供单点登录功能。应用 RBAC(基于角色的访问控制策略) ,设计了一套角色结构与访问规则,以便快速地对用户进行权限授予与权限回收,高效地管理用户与控制访问权限。登录方面,应用基于经纪人的单点登录模型,使用基于 Session 作为 Ticket 认证设计了单点登录功能,方便用户访问多个平台服务的内容,在经过首次登录身份认证之后可以避免累赘的重复登录。智能硬件管理 C/S 子系统为用户提供智能硬件使用数据上传与数据查询共享功能。硬件与服务器之间通过智能手机进行通讯,从而让硬件与云端服务器进行数据交互。本系统基于 WAMP 的 Web 应用程序平台实现了上述功能。通过 ThinkPHP 的Web 应用开发框架实现 MVC 和 AOP(面向切面编程)的系统架构,将用户管理与硬件管理子系统的基本功能封装为基本服务模块,使其能被系统中的其他模块使用,达到较高的复用性。关键词:智能硬件;用户管理;访问控制;单点登录;AOP 面向切面编程;ThinkPHP ;IIAbstractIntelligent hardware is a new concept of science and technology after the smart phone, through the combination of smart phones and hardware, the transformation of traditional hardware equipment. Hardware through wireless Bluetooth communications with smart phone communications, and cloud servers for data interaction, to achieve the load of Internet services, the formation of the cloud + end of the typical architecture. Server side storage users and the use of the hardware device data contains the additional value of large data.The platform constructed with intelligent hardware products as the core, through the product line connecting the user hardware, sales and dealer network, so as to realize the product stakeholders through the network to carry on the data analysis, realize the sharing of resources. Because the platform involves multiple agencies of the user, the user base is large, the user rights relationship is complex and large changes. Need to access control of the resources, distribution. It is not only to ensure the security of information resources of the platform, but also to ensure the flexibility and accessibility of the system.To this end, this paper studies and implements the platform of user management B/S subsystem and intelligent hardware management C/S subsystem. User management B/S subsystem to provide users with user management, role management, rights management, resource file management, etc For all users to provide a single sign on function. Application of RBAC (role-based access control strategy based on), the design of a set of role structure and access rules to quickly to the user permissions grant and recovery permission and efficiently manage users and access control. Login, application single sign on model of agent based on using session as part of a ticket authentication design single point login function, convenient for users to access the contents of the platform services in after after the first authentication can avoid cumbersome duplication login. Intelligent hardware management C/S subsystem to provide users with intelligent hardware data upload and data query sharing. IIIHardware and server through the smart phone for communication, and then the hardware and the cloud server data interaction.The system based on the Web WAMP application platform to achieve the above functions. Through ThinkPHP web application development framework to achieve MVC and AOP (AOP) system architecture, the user management and hardware management subsystem integrated package as the basic service module, so that it can be used by other modules of the platform, and achieve higher reusability.Keywords: Intelligent hardware; user management; access control; single sign on; AOP aspect oriented programming; ThinkPHP; IV目 录摘 要 .IAbstract II目 录 IV第一章 绪论 .11.1 课题背景 .11.2 课题意义 .11.3 主要研究内容 .21.4 论文结构 .3第二章 相关基础知识和关键技术介绍 .52.1 WAMP 与 ThinkPHP52.1.1 WAMP 的 Web 应用程序平台 .52.1.2 ThinkPHP.52.2 面向切面编程(Aspect Oriented Programme) .62.3 访问控制策略 .72.4 单点登录技术 .82.5 本章小结 .9第三章 用户管理与智能硬件管理子系统需求分析 .103.1 系统设计概述 .103.1.1 系统需求目标103.1.2 系统需求描述103.2 功能性需求 .113.2.1 用户管理123.2.2 角色权限管理133.2.3 资源文件管理15V3.2.4 智能硬件管理163.3 非功能性需求 .173.4 本章小结 .18第四章 系统设计 .194.1 系统结构设计 .194.2 基于角色的用户管理模块设计 .214.2.1 用户权限管理模型设计.214.2.2 类图设计.224.3 智能硬件管理模块设计 .234.3.1 智能硬件数据交互架构设计.234.3.2 智能硬件数据交互模块分解.234.4 数据库设计 .254.4.1 E-R 图设计 .254.4.2 数据库表设计.254.5 登录认证模块设计 .294.5.1 基于 Session 的单点登录架构设计 304.6 本章小结 .31第五章 系统实现 .325.1 面向切面的软件架构实现 .325.1.1 “获得用户角色”的 Behavior 封装 325.1.2 “获得用户角色”的 Behavior 调用。 .335.2 用户管理模块的实现 .345.3 角色权限资源管理模块实现 .415.3.1 角色管理模块415.3.2 权限管理模块455.3.3 资源管理模块495.4 登录认证模块的实现 .515.4.1 基于 Session 的单点登录实现 .51VI5.4.2 基于 Session 的单点登录实现演示 .545.5 智能硬件管理模块的实现 .555.5.1 智能硬件使用数据上传555.5.2 智能硬件使用数据查询605.6 本章总结 .60第六章 系统测试 .616.1 测试方法及测试环境 .616.2 测试用例 .616.2.1 用户管理模块测试616.2.2 角色权限资源管理功能测试636.2.3 智能硬件管理模块测试646.2.4 单点登录模块测试656.3 本章小结 .66总结与期望.671. 论文工作总结.672. 工作展望.67参考文献.69致谢.70第一章 绪论1第一章 绪论1.1课题背景为了提高智能硬件的使用服务水平,有效利用用户对产品的使用数据,需要建立一个智能硬件信息公共服务的平台,积极探索云端服务器与智能硬件的全面深度融合,以信息化促进智能硬件服务水平的改善,充分发挥云端服务器在智能硬件数据交互的桥梁作用。该平台构建以产品为核心,通过产品线连接各级硬件用户、销售方和经销商的业务网络,从而实现产品涉众通过网络进行数据分析,实现资源共享。建设覆盖全智能硬件产品和各级用户的公共信息服务平台,实现用户分级管理,落实智能硬件信息资源的共建共享,实现产品数据的信息化。目前智能硬件端存在如下问题:用户分布广泛分散,由于缺乏云端服务器联系,彼此独立,信息相对封闭,数据共享机制尚未建立,各系统之间缺乏协调,导致信息相对封闭,基本上处于“信息孤岛”状态。1.2课题意义由于该平台将会被多级的用户所使用(从销售方超级管理员、销售方普通管理员到生产商管理员、智能硬件基础用户) ,用户结构比较复杂、用户基数较大,因此用户组织结构的管理十分重要。另外,由于智能硬件云端平台中的信息资源对于这些不同级别的用户的保密性有所不同,负责不同工作内容的用户所要使用的服务也有所不同,因此用户访问平台的权限的管理与控制同样十分重要。基于以上背景,本课题将研究该平台的用户管理与智能硬件管理子系统,设计一套完善的机制,既方便用户的管理,又保证平台信息资源的安全性,让用户方便地与云端同步数据和访问数据。这对于研究系统的信息化管理、信息安全保护具有切实、重要的意义。本次毕业设计将开发该系统的用户管理与智能硬件管理子系统,包括其分析、设华南理工大学学士学位论文2计与实现,包含以下重要功能:1. 用户管理:包括编辑用户分组、分配用户角色等功能。2. 角色权限管理:提供管理员管理本用户权限的方法与机制,包括新增角色、编辑角色权限;新增权限、编辑权限等功能。3. 资源文件管理:提供管理员添加、编辑、删除产品资源等功能。4. 用户认证登录:提供单点登录验证机制,保护系统安全5. 智能硬件管理:提供移动端数据上传和查看数据功能。1.3主要研究内容文本关键词汇及其解释如表 1-1 所示:表 1-1 本文术语表术语 解 释ThinkphpThinkPHP 是一个快速、兼容而且简单的轻量级的 PHP 开发框架,使用面向对象的开发结构和 MVC 模式,融合了 Struts 的思想和TagLib(标签库) 、RoR 的 ORM 映射和 ActiveRecord 模式。AOP Aspect Oriented Programming, 面向切面编程,通过提取业务处理过程中的通用的功能切面实现程序功能的统一维护的一种技术。RBAC Role Based Access Control,基于角色的访问控制,将用户的访问权限与“角色”绑定的新型访问控制策略。SSO Single Sign On,单点登录,用户在一次登录之后,可以访问多个已互相信任的服务系统。Ticket 票据,指用户登录时的认证凭证信息,一般是用户名、用户 ID 等,有了票据才可访问应用。管理员 有权限进行用户管理、角色管理、权限管理、资源管理等操作的用户智能硬件用户 泛指使用智能硬件产品并使用该云平台的访问者用户管理 管理员进行查看用户列表、分配用户角色等操作角色管理 管理员进行查看角色列表、创建角色、修改角色、删除角色等操作智能硬件管理 用户通过移动端进行与云端的数据同步操作本文主要研究智能硬件云端平台的用户管理与智能硬件管理子系统的设计与实现。从软件工程的生命周期来叙述,将覆盖该子系统的需求分析、系统设计、系统实现、系统测试等各个阶段,本文将会给出该子系统在以上各个阶段的详细记录。技术应用方面,在系统架构上本文将涉及 AOP(面向切面编程)以及 WAMP 组合 ThinkPHP 应用程序开发框架。在用户管理上将侧重研究用户的访问权限问题,探讨第一章 绪论3基于角色的用户访问控制。该系统是一个 Web 应用系统,本文将涉及其认证登录问题,平衡易用性与安全性,实现基于 Session 的单点登录。智能硬件管理上主要研究服务器如何跟移动端进行准确的数据交互,将数据信息合理地分配给用户角色。本次 Web 应用的开发在 Microsoft Windows 7 操作系统上完成,使用 Eclipse 开发工具,apache2.4.9 服务器,数据库采用 mysql5.6.17。图 1-1 系统部署图本系统的部署如图 1-1 所示:Pc 客户端运行环境的要求:Windows 操作系统,浏览器 IE6.0 或以上。服务器端运行环境要求:搭建 wamp 环境,Windows 操作系统,apache2.4.9 服务器,mysql5.6.17 或以上数据库,php5.5 或以上。1.4论文结构本论文将分为六章,各章的安排如下:第一章介绍本课题研究背景以及课题意义,同时大致地描述了本项目将要设计与实现的功能,以及将会采用的技术方案。第二章介绍本次课题研究涉及的关键技术知识,架构上包括 ThinkPHP 与AOP(面向切面编程) ,子模块技术包括 RBAC(基于角色的访问控制) 、单点登录技华南理工大学学士学位论文4术。第三章详细阐述用户管理与智能硬件管理子系统的需求分析,包括功能性描述(将会用具体的用例来定义)以及非功能性需求。第四章阐述该子系统的设计,包括应用 ThinkPHP、AOP 的架构设计,分模块包括用户管理、角色管理、权限资源文件管理、智能硬件管理的模块设计。第五章叙述关键技术在本次研究中如何得被应用,系统如何实现第六章是对本次开发的系统进行测试,记录了详细的测试用例以及测试结果。第二章 相关基础知识和关键技术介绍5第二章 相关基础知识和关键技术介绍2.1 WAMP 与 ThinkPHP2.1.1 WAMP 的 Web 应用程序平台WAMP 是指在 Windows 系统上集成 Apache、MySQL 和 PHP 的环境,可以搭建配置 Web服务应用。WAMP 平台是由几个组件组成的分层结构。每一层都提供了整个应用服务的一个关键部分:windows:是操作系统,是最基本的组件,为其他组件提供了运行环境。Apache:是一个 Web 服务器。Apache 提供可让用户获得 Web 页面的一款稳定的服务器,PHP 组件部署在是在 Apache 容器中,通过 Apache 和 PHP 结合创建动态页面。MySQL:是提供数据存储端的数据库。在 Web 服务应用程序中,所有产品、帐户和角色权限的数据信息都存放在这个数据库中,实现数据的持久化,php 动态页面通过服务器使用 SQL 语言可以很容易地对数据库中的数据进行查询和更改的操作。PHP:PHP 是一种通用开源的脚本语言,可以速地执行动态网页,将 WAMP 系统所有其他的组件粘合在一起。2.1.2 ThinkPHPThinkPHP 是一个轻量级 PHP 开发框架,适用于轻量的和敏捷的 web 服务应用开发。该框架使用面向对象的开发结构和 MVC 分层模式,继承了 Struts 的思想和融合TagLib、RoR 的 ORM 映射和 ActiveRecord 模式。华南理工大学学士学位论文6ThinkPHP 中的 MVC 分层大致体现在:模型(M):模型的定义由 Model 类来完成,负责对后台数据库数据进行操作。控制器(C):应用控制器(核心控制器 App 类)和 Action 控制器结合,作为 Web 系统的控制器,Action 控制器完成业务过程处理,而应用控制器负责调度 Action。视图(V):由 View 类和页面模板文件组成,可以独立预览和制作。图 2-1 MVC 架构ThinkPHP 引入了 CBD(核心 Core+行为 Behavior+驱动 Driver)架构模式,提供了面向切面编程的功能,可以在行为层(Behavior)添加“行为”逻辑,在应用层(Action)添加自己的标签位置来调用“行为” 。而标签位置相当于 AOP 概念中的“切面” ,行为都是围绕这个“切面”来进行编程。AOP 的概念将在下一节中详细说明。2.2 面向切面编程(Aspect Oriented Programme)面向切面编程(Aspect Oriented Programming,AOP)是一种编程思想。AOP 主要是提取业务处理过程中的通用的功能,是业务逻辑中处理过程中的某个步骤或阶段,将其包装成一个切面,从而降低逻辑过程中各部分之间的耦合程度。例如应用程序有迭代的需求,在 AOP 的架构下就只需要更改对应包装好的功能,而不用再所有调用到该功能的地方都进行更改代码。有了 AOP,我们可以定义应用于跨模块的应用功能模型。AOP 同时还可以让我们将功能从切面进行分层,从而使得代码有更好的可读性和易于维护。AOP 包含以下几个基本概念:aspect(切面):实现了 cross-cutting 功能,是针对切面的模块。jointpoint(连接点):连接点是切面插入应用程序的地方,该点能被方法调用。连接点是应用程序提供给切面插入的地方,可以添加新的方法。advice(处理逻辑):advice 是我们切面功能的实现,它通知程序新的行为。第二章 相关基础知识和关键技术介绍7pointcut(切点):pointcut 可以控制你把哪些 advice 应用于 jointpoint 上去。图 2-2 AOP 基本概念关系图2.3 访问控制策略访问控制的定义是根据用户被预定义的权限来限制用户对某些信息的的访问。访问控制的功能可以分成以下三种类型叙述:1.防止非法的主体进入被保护的系统;2.允许合法的主体进入受保护的系统;3.防止合法的主体进行未授权的访问。基于角色的访问控制策略RBACRBAC 的主要目的是为了防止用户无限制地访问系统资源。为了达到目的,这个模型引入了角色的概念,同时把用户与角色联系起来;访问的权限与角色相关联。结合智能硬件云端服务器平台的当前应用情况,更适合于应用 RBAC 的策略。如图 2-3 所示,RBAC 由四个基本要素构成,即用户(User) 、角色(Role) 、会话(Session) 、许可权(Permission) 。在一个系统中,存在着多个用户、角色,同时对每个角色设置多个授权关系。在 RBAC 中,用户和角色,角色和权限的关系是多对多的关系。通过定义角色分离了用户与权限之间的直接关联,方便管理员进行用户权限管理。授权机制可以视之为在系统内通过特定的操作(Action)将主体与客体联系起来。在一个系统中,根据系统的不同,资源的种类也不同,在该智能硬件云端服务器平台中,资源主要分为访问页面资源和文件资源两种。RBAC 模型中授权就是将这些资源的访问权限在可靠的控制下连带角色所需要的操作一起提供给那些角色所代表的用户。通过授权的管理机制,可以给一个角色分配多个访问权限,一个访问权限也可以分配给多个角色,同时一个用户可以拥有多个角色。华南理工大学学士学位论文8图 2-3 RBAC 模型2.4 单点登录技术单点登录(SSO,Single Sign On)目前被广泛应用于产品线级别的 web 服务应用中,在同一产品线中的应用程序之间,用户只需要在认证服务器上进行一次登录,就可以访问全部的应用程序。该方法具有以下两个优势:1.用户减少了登录认证的次数,免去反复输入用户信息进行用登录的繁琐步骤,能大大提升用户体验;2.对系统而言,各系统之间采用同一体系的认证规则,减少用户信息的管理成本。单点登录技术对于提高系统的易用性、安全性有重要意义,但对于设计、开发上的难度上相对提高。从可实施性、管理型、安全性和易用性等维度综合考量各种模型的优缺点,结合智能硬件云端服务器平台的当前应用情况,本文采用基于经纪人的模型,设计了该平台的用户身份认证模块。基于经纪人的单点登录模型维护了一个专门用于管理用户账号以及用户身份认证的服务器。该模型可以描述成三个部分:客户端、认证服务器、应用服务器。认证服务器相当于模型中的“经纪人” ,用户访问 web 应用服务的身份验证都由认证服务器来完成。基于经纪人的单点登录模型工作流程如下:1.用户访问应用服务器前被定位至认证服务器进行验证登录;2.认证服务器完成身份验证,并且保存用户本次访问信息;3.应用服务器从认证服务器获得用户的认证;4 用户使用该认证身份访问应用服务器。基于经纪人的单点登录模型中一个关键概念是 Ticket.Ticket 是用户记录用户登录状态的数据结构。智能硬件云端服务器平台采用基于 Session 的单点登录,Session 由第二章 相关基础知识和关键技术介绍9服务器端维护,记录用户登录信息。2.5 本章小结本章介绍了本文研究的“智能硬件云端服务器平台”所涉及的关键知识:包括开发框架,架构使用的 PHP 与 ThinkPHP 以及面向切面编程( AOP);访问控制策略,着重介绍本文将会用到的基于角色的访问控制(RBAC) ;单点登录技术着重介绍基于经纪人的模型,以及认证票据 ticket 的概念。华南理工大学学士学位论文10第三章 用户管理与智能硬件管理子系统需求分析3.1系统设计概述3.1.1 系统需求目标为了提高智能硬件的使用服务水平,需要建立一个智能硬件信息公共服务的平台。该平台构建了以智能硬件产品为核心,通过产品线连接各硬件用户、销售方和经销商的业务网络,从而实现产品涉众通过网络进行数据分析,实现资源共享。由于该平台涉及多机构的用户,用户基数较大,用户权限关系复杂而且变动大。需要访问控制的资源多,分布广。对资源的操作复杂。既要保证平台信息资源的安全性,同时又要保证系统的灵活性与易访问性。为此,本文设计并实现用户管理与智能硬件管理子系统,以满足上述需求。3.1.2 系统需求描述通过对“智能硬件服务器端应用”的调研,总结出“用户管理与智能硬件管理”子系统可以分为以下几个子模块:用户管理、角色权限管理、资源文件管理、智能硬件管理、单点登录。表 3-1 中给出了对用户的每一个功能需求的描述。表 3-1 用户需求说明表业务需求 需求优先级 模块名称 功能描述查看用户列表 1 用户管理 管理员查看系统中所有的用户修改用户 1 用户管理 管理员修改某个用户的信息查看角色列表 1 角色权限管理 管理员查看全部角色创建角色 1 角色权限管理 管理员创建一个新的角色修改角色 1 角色权限管理 管理员修改某一个角色的权限删除角色 1 角色权限管理 管理员删除已存在的角色实体创建权限 1 角色权限管理 管理员创建一个新的权限修改权限 1 角色权限管理 管理员修改某一个权限的资源文件的操作第三章 用户管理与智能硬件管理子系统需求分析11权限删除权限 1 角色权限管理 管理员删除已存在的权限实体查看文件列表 1 资源文件管理 管理员、用户查看已存在的资源文件新增资源文件 1 资源文件管理 管理员新增资源文件文件删除资源文件 1 资源文件管理 管理员删除已存在的资源文件数据上传 1 智能硬件管理 服务器接收移动端上传的硬件数据查看数据 1 智能硬件管理 用户查看智能硬件数据登录 1 单点登录 用户通过输入用户名和密码登录网站注册 1 单点登录 用户通过输入用户名和密码注册账号注销 1 单点登录 用户通过注销来退出登录状态上表列出的各项业务需求的模块从属之间的关系如图 3-1 所示:图 3-1 功能模块关系图3.2功能性需求针对上一节所描述的业务需求,本系统的用例图如图 3-2 所示:华南理工大学学士学位论文12图 3-2 用户管理与智能硬件管理子系统用例图本系统各个用例的说明表如表 3-2 至 3-15 所示。3.2.1 用户管理表 3-2 查看用户列表用例表用例名称: 查看用户列表用例 ID: 001参与者: 管理员用例说明: 管理员查看已存在的所有用户前置条件: 管理员已登录基本事件流: 1. 管理员点击进入用户管理界面2. 系统以“序号”为排序依据列出用户列表其它事件流: 无异常事件流: 无后置条件: 无表 3-3 修改用户用例表用例名称: 修改用户信息用例 ID: 002参与者: 管理员用例说明: 管理员修改用户的角色等信息前置条件: 管理员已登录,存在一名或以上用户基本事件流:1. 管理员点击进入用户管理界面2. 机构管路员点击其中一名用户的分配按钮,系统返该用户的用户角色信息页面3. 管理员修改用户的角色等信息,点击保存第三章 用户管理与智能硬件管理子系统需求分析134. 系统返回修改后该用户的用户角色信息页面其它事件流: 无异常事件流: 无后置条件: 无3.2.2 角色权限管理表 3-4 查看角色列表用例表用例名称: 查看角色列表用例 ID: 003参与者: 管理员用例说明: 管理员查看已存在的所有角色前置条件: 管理员已登录基本事件流: 1. 管理员点击进入角色权限管理界面2. 系统以“序号”为排序依据列出角色列表其它事件流: 无异常事件流: 无后置条件: 无表 3-5 创建角色用例表用例名称: 创建角色用例 ID: 004参与者: 管理员用例说明: 管理员创建新的角色前置条件: 管理员已登录基本事件流:1. 管理员点击进入角色管理页面2. 管理员点击“创建角色”按钮3. 管理员输入角色名称,点击“创建”按钮4. 系统返回保存结果其它事件流: 无异常事件流: 无后置条件: 无表 3-6 修改角色用例表用例名称: 修改角色用例 ID: 005参与者: 管理员用例说明: 管理员修改已存在角色的角色权限前置条件: 管理员已登录,角色列表内有 1 个或以上“角色”基本事件流: 1. 管理员点击进入角色管理页面华南理工大学学士学位论文142. 机构管理员点击某一角色的“分配”按钮,系统返回其角色-权限页面3. 管理员修改角色添加或取消某些权限4. 管理员点击“保存”按钮5. 系统返回保存成功与否的提示信息其它事件流: 无异常事件流: 无后置条件: 无表 3-7 查看权限列表用例表用例名称: 查看权限列表用例 ID: 006参与者: 管理员用例说明: 管理员查看已存在的所有权限前置条件: 管理员已登录基本事件流: 1. 管理员点击进入角色权限管理界面2. 系统以“序号”为排序依据列出权限列表其它事件流: 无异常事件流: 无后置条件: 无表 3-8 创建权限用例表用例名称: 创建权限用例 ID: 007参与者: 管理员用例说明: 管理员创建新的权限前置条件: 管理员已登录基本事件流:1. 管理员点击进入角色权限管理页面2. 管理员点击“创建权限”按钮3. 管理员输入权限名称,点击“创建”按钮4. 系统返回保存结果其它事件流: 无异常事件流: 无后置条件: 无表 3-9 修改权限用例表用例名称: 修改权限用例 ID: 008参与者: 管理员用例说明: 管理员修改已存在权限的权限操作前置条件: 管理员已登录,权限列表内有 1 个或以上“权限”第三章 用户管理与智能硬件管理子系统需求分析15基本事件流:1. 管理员点击进入权限管理页面2. 机构管理员点击某一权限的“分配”按钮,系统返回其权限-资源页面3. 管理员修改权限添加或取消某些资源4. 管理员点击“保存”按钮5. 系统返回保存成功与否的提示信息其它事件流: 无异常事件流: 无后置条件: 无3.2.3 资源文件管理表 3-10 查看资源列表用例表用例名称: 查看资源列表用例 ID: 009参与者: 管理员用例说明: 管理员查看已存在的所有资源前置条件: 管理员已登录基本事件流: 1. 管理员点击进入资源管理界面2. 系统以“序号”为排序依据列出资源列表其它事件流: 无异常事件流: 无后置条件: 无表 3-11 创建资源用例表用例名称: 创建资源用例 ID: 010参与者: 管理员用例说明: 管理员创建新的资源前置条件: 管理员已登录基本事件流:1. 管理员点击进入资源管理页面2. 管理员点击“创建资源”按钮3. 管理员输入资源名称,点击“创建”按钮4. 系统返回保存结果其它事件流: 无异常事件流: 无后置条件: 无华南理工大学学士学位论文16表 3-12 删除权限用例表用例名称: 删除资源用例 ID: 011参与者: 管理员用例说明: 管理员修改已存在资源的资源操作前置条件: 管理员已登录,资源列表内有 1 个或以上“资源”基本事件流:1. 管理员点击进入资源管理页面2. 机构管理员点击某一资源的“删除”按钮,系统返回其资源列表页面3. 系统返回保存成功与否的提示信息其它事件流: 无异常事件流: 无后置条件: 无3.2.4 智能硬件管理表 3-13 数据上传用例表用例名称: 数据上传用例 ID: 012参与者: 产品用户用例说明: 产品用户上传移动端中的智能硬件使用数据前置条件: 产品用户已拥有云端账号且拥有硬件使用数据并将其上传基本事件流:1. 云端服务器接收到移动端的上传数据请求,处理数据后保存到云端的数据库中。2. 服务器返回结果的操作码到移动端其它事件流: 无异常事件流: 无后置条件: 无表 3-14 查看硬件产品列表用例表用例名称: 查看硬件产品列表用例 ID: 013参与者: 产品用户用例说明: 产品用户查看属于自己的所有硬件产品前置条件: 产品用户已登录基本事件流: 1. 用户点击进入智能硬件管理界面2. 系统以“序号”为排序依据列出资源列表第三章 用户管理与智能硬件管理子系统需求分析17其它事件流: 无异常事件流: 无后置条件: 无表 3-15 查看硬件产品数据列表用例表用例名称: 查看硬件产品数据列表用例 ID: 014参与者: 产品用户用例说明: 产品用户查看属于自己的其中一个硬件产品的所有使用数据前置条件: 产品用户已登录基本事件流:1. 用户点击进入智能硬件管理界面2. 用户点击某一硬件的“查看”按钮,系统返回其使用数据列表页面3. 系统以“序号”为排序依据列出该硬件产品的使用数据列表其它事件流: 无异常事件流: 无后置条件: 无3.3非功能性需求与本文系统相关的非功能性需求包括运行期和开发期两个质量属性方面。本文以这些质量属性驱动本文的软件体系结构设计。提出了基于 AOP 的系统和基于 RBAC 的访问控制架构系统实现方案。1.运行期的质量属性(1)性能。性能是指软件系统及时提供相应服务的能力。具体而言,性能包括速度、吞吐量和持续高速性这三方面的要求。(2)安全性。指软件系统同时兼顾向合法用户提供服务,保证用户个人信息不泄露,又阻止非授权使用功能的能力。(3)易用性。指软件系统易于使用的程度。(4)可用性。可用性与易用性不相同。可用性指系统长时间无故障运行的能力。(5)可伸缩性。指当用户增加时,软件系统维持正常服务的能力。(6)互操作性。指本软件系统与其他系统交换数据的准确程度。(7)可靠性。软件系统在一定时间内无故障运行的能力。华南理工大学学士学位论文182、开发期的质量属性(1)易理解性。是指系统设计能被其他开发人员理解以便迭代开发的难易程度。(2)可扩展性。为适应新需求或者需求变化,为软件增加功能的迭代的能力。有些时候,称之为灵活性。(3)可重用性。重用软件系统或其中一部分的能力的难易程度。(4)可测试性。对软件测试以证明其满足需求规约的难易程度。在实际的项目中,主要指进行单元测试等难易程度。(5)可维护性。修改 Bug,增加功能,提高质量属性。(6)可移植性。将软件系统从一个运行环境转移到另一个不同的运行环境的难易程度。3.4本章小结本章描述了在“智能硬件云服务器”的背景下,开发用户管理与智能硬件管理子系统的详细需求分析。本章第一节给出了目前该平台的情况,同时给出了整体的系统需求描述。第二节描述了功能性需求,以具体的用例的形式描述了不同用户在该系统中所需要的操作。第三节从开发期到运行期不同的角度考量本系统,给出了非功能需求,阐述了具体功能以外的需求。经过本章的分析,提出了开发用户管理与智能硬件管理的不同维度的要求,意在指导该系统的设计与实现。第四章 系统设计19第四章 系统设计4.1系统结构设计该系统采用 MVC(模型-视图-控制器)结合 AOP(面向切面编程)的架构系统,利用了 thinkphp 框架的多层 MVC 架构控制前台业务逻辑处理,CBD(核心 Core+行为 Behavior+驱动 Driver)的行为控制整合后台提供的服务,MVC 通过行为标签调用后台 Behavior,完成为用户所提供的功能。图 4-1 智能硬件云端服务器 用户管理与智能硬件管理子系统系统框架图用户管理作为智能硬件云端服务器的一个子服务,作用一是用于维护智能硬件云端服务器平台信息与用户信息,二是用于管理这些用户对整个平台的控制访问。如前文所说,该智能硬件云端服务器是以产品为核心,通过产品线连接各硬件用户、销售方和经销商的业务网络。在这样的应用背景下,设计该平台的用户管理系统必须要考虑模块之间的复用性。因此该系统采用 AOP(面向切面编程)的架构,将功华南理工大学学士学位论文20能模块作为“切面”来包装开发,将模块间共用的功能集成到 CBD 层的“行为”中,以便这些行为能被平台中其他子系统所使用。该架构大致可以分为四个部分:1.View 视图层视图层是直接与用户进行数据交互的组件,通过调用 Action 层中各个模块的功能,实现查询数据及更新数据。ThinkPHP 的框架提供了 U 方法,用于 URL 的动态生成,方便将 View 层的 Tpl 视图模板绑定到 Action 层的具体模块中的功能,确保项目在移植过程中不受环境的影响。2.Action 层Action 层按系统功能模块划分,功能模块即系统所实现的功能集合,每个功能模块维护各自的服务执行流程以及服务操作的数据。例角色管理维护了角色管理所包含的操作逻辑以及角色信息数据库,在角色管理中进行功能的开发或者优化都只需要在本模块中进行。Action 层更加关注业务逻辑的流程,具体的实现方法通过调用 CBD 层中的Behavior 实现,Action 只需要知道这些 Behavior 所提供的标签接口,通过标签调用的方法使用这些功能。例如角色管理模块提供了角色权限查询服务,则仅需要利用标签接口调用对应 Behavior,给出定义的查询参数,Behavior 即可以用规定的格式返回查询的结果。3.CBD 层CBD 层是整个平台的核心,提供所有后台服务,定义了核心功能的具体实现方法。行为既可以独立调用,也可以绑定到某个标签中进行侦听,在 Action 层的重要位置设置了标签用以标记,当应用程序运行到这个标签的时候,就会被拦截下来,统一执行相关的行为,相当于 AOP 编程中的“切面” ,给某一个标签绑定相关行为就成了一种类 AOP 编程的思想。通常一个 Behavior 可能是 Action 层的多个模块共同使用的功能,增加了系统功能的可复用性,并且认为 Behavior 是各共用的,所以并不需要分模块。4.Model 层Model 层定义了系统具体的数据模型实体,每一个模型里定义了具体字段及与第四章 系统设计21数据库字段的映射。ThinkPHP 的框架提供了 M 方法,CBD 层通过 M 方法调用Model,动态生成 SQL 语句,防止了 SQL 语句的注入,提高了系统的安全性。4.2基于角色的用户管理模块设计本节包含用户权限管理模型,设计,类图设计结果。4.2.1 用户权限管理模型设计如第一章所说,该智能硬件服务平台的用户管理问题中,对于用户访问平台权限的管理与控制十分的重要。访问控制控制的主要目的是防止用户无限制地访问平台内的信息,通过这样的机制来保证平台内信息的安全性。但是又考虑到该平台的用结构相对复杂、用户基数较大等因素,如果采用传统的访问控制模型,将可能出现的问题是:超级管理员需要单独管理平台内全部用户的每一项权限,不堪重负。为了解决这个问题,系统引入了 RBAC 的概念。RBAC 实现了这样一种权限控制体制:利用角色这一个中间元素,把细粒度的权限与角色关联起来,再将角色指派给特定的用户,因此用户便可以获得角色内特定的权限,对平台进行访问。图 4-2 基于角色的用户权限管理模型结构图华南理工大学学士学位论文22图 4-2 所示的 RBAC 模型可以分以下几点描述:1. 权限:操作与要操作的资源关联,定义为权限,描述了获得该权限的角色能对资源文件的具体操作,权限是保证信息资源安全性的一个重要元素,通过规定权限,资源便有了最基本的访问控制。2. 角色与权限分配:角色与权限是多对多的关系,由产品管理员管理权限分配,将特定的权限分配给特定的角色。在“角色权限”列表中,以“角色”为列维度,以“权限”为行维度,映射成对应的二维表,则二维表中每一个元素决定了某角色是否具备某权限。二维表中每一个元素的值由产品管理员赋予。3. 用户与角色指派:角色指派操作模型化了用户能够扮演的角色,由产品管理员进行操作,在编辑用户信息时分配用户的角色。在本系统中,用户与角色为多对多关系,一个用户可以拥有多个角色。鉴于本系统还涉及用户组的概念,当用户组被指派了角色之后,用户组下的所有成员都将具有该角色的权限,为了方便管理,用户组与角色为一对一的关系,即一个用户组只能扮演一种角色。4. 会话(Session ):RBAC 模型包含了一系列的会话,每个会话关系在一个用户与其角色之间。当用户访问平台时,会建立一个会话,该会话记录该用户所有拥有的角色。每个会话与单独的用户关联。5. 约束:约束描述了将权限分配给角色时、角色被分配给用户时以及 Session 激活用户角色时的应当遵守的限制条件。4.2.2 类图设计本系统的用户管理类图如 4-3 所示:图 4-3 基于角色的用户管理类图在该智能硬件云端服务器平台中,资源和产品是最基本的要素。当系统中拥有了资源后,可以将资源分配给权限,权限再跟角色关联,再对具体的用户进行角色的分配。
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸设计 > 毕设全套


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!