ImageVerifierCode 换一换
格式:DOCX , 页数:34 ,大小:1.08MB ,
资源ID:12752812      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12752812.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《数字化智能评估系统》需求说明书.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《数字化智能评估系统》需求说明书.docx

1、数字化智能评估系统需求说明书数字化智能评估系统需求说明书路璐2016/10/12一、 目的编写详细设计说明书是软件开发过程必不可少的部分,其目的是为了使开发人员在完成概要设计说明书的基础上完成概要设计规定的各项模块的具体实现的设计工作。二、 软件总体设计1、 软件需求概括本软件采用传统的软件开发生命周期的方法,采用自顶向下,逐步求精的结构化的软件设计方法。本软件主要有以下几方面的功能:创建管理知识库;创建管理风评项目;项目评分与上传;评分结果汇总和导出;账号管理和权限控制。定义本项目定义为一个风险评估软件。它将实现知识库的创建、项目的评分和评分汇总整个风险评分流程的功能。2、 需求概述 基于M

2、ongoDB的数据的持久化存储; 知识库满足上传文件导入和后台直接编辑修改的需求; 权限职责划分清晰,用户管理完善; 汇总统计结果能进行评分筛选和项目筛选。3、 条件与限制系统开发的条件是普通PC以及相对应的系统,本次程序server端所用的系统是WINDOW SERVER2003。Client端需要win7及以上的64位处理器的环境。4 、技术架构服务端:本系统服务端基于node进行开发,使用express作为后端框架,使用MongoDB数据库进行数据的持久化存储。Node.js 是一个基于Chrome V8引擎的JavaScript运行环境。Node.js使用了一个事件驱动、非阻塞式I/O

3、的模型,轻量而高效。Express 是一个基于 Node.js 平台的极简、灵活的开源后端开发框架。有丰富的 HTTP 快捷方法和任意排列组合的 Connect 中间件,能快速构建简洁、健壮的API。MongoDB是一个开源的基于分布式文件存储的数据库。由 C+ 语言编写。是目前最流行的非关系型数据库。拥有稳定、高效、可拓展等诸多特性。客户端:本系统客户端采用React+ Flux架构,并使用Electron打包为多平台桌面应用。Electron是流行的跨平台应用开发平台,基于Node.js和Chromium。操作系统支持情况如下: MacOS:10.9及以上,64位处理器; Windows:

4、win7及以上,32位及64位处理器; Linux:ubuntu 12.04及以上;Fedora 21及以上;Debian 8及以上; MacOS:10.9及以上,64位处理器; Windows:win7及以上,32位及64位处理器; Linux:ubuntu 12.04及以上;Fedora 21及以上;Debian 8及以上。ReactReact是 Facebook 推出的一个用来构建用户界面的 JavaScript 库。实现了单向响应的数据流以及组件化开发。从而减少了重复代码。Flux是facebook推出的应用程序架构库。适用于复杂应用的开发。5、模块功能逻辑关系 系统详细的模块信息所示

5、:本系统采用C/S架构。客户端(client)由知识库编辑模块、专家评分模块、账号管理模块和汇总统计模块组成;服务端(server)由业务模块、数据库模块组成。6、设计和描述本软件的主要功能是依据知识库实现项目评分和结果的汇总导出。三、 软件功能描述1、 登陆功能流程描述使用本软件需要首先进行登陆操作,输入项为用户名和密码,账号信息的验证在后端进行,将验证结果返回客户端后,客户端执行相应操作。在本系统中,用户名可以看做是唯一标识,不同用户之间的用户名不可重复。但是在客户端与后台进行交互通信时,使用的是用户账号的uid来进行的。2、账号管理功能流程描述本软件账号系统为封闭性,只能通过管理员操作进

6、行用户管理。在用户管理界面,管理员可以进行用户的创建、修改和删除操作。在用户执行修改操作时,即使对用户名进行了修改,该用户与其评分的关联仍然存在(如果该用户为专家用户)。删除用户后并不会删除该用户提交过的评分数据。3、知识库创建操作本软件中知识库的创建时非常重要的工作,知识库是所有功能和操作的基础。在知识库管理界面可以点击创建按钮建立新的知识库,知识库的指标数据可通过规定格式的csv文件上传导入,也可以手动编写。需保证所有指标的权重之和为100才能通过数据验证并在server端保存。此外还需要填写等级描述和元信息。点击知识库列表项即可进入知识库修改的界面,进行修改后不会保存为新的知识库记录而是

7、覆盖原有的知识库记录。4、 风险评分项目创建操作流程评分项目的创建在项目管理界面进行,项目名为必填项,密码为选填项,项目名并不是唯一标识。项目在删除之后,不会影响该项目收到的评分,但是会同时删除该项目之前获得评分的统计结果。5、项目配置在创建完项目后还需要进行项目配置工作。首先要选择唯一的知识库与项目相关联,知识库与项目的关联是一对多的关联,即可能多个项目公用一个知识库。此外还需要上传定量指标的预处理得分,上传完后点击开启评分的开关按钮即完成项目配置工作。6、项目评分操作流程在创建好项目后专家即可对项目开始评分。在进入评分界面时,如果项目设有密码需要对项目密码进行验证操作,在对项目评分时,只有

8、填写完所有的评分项才能进行提交或者对结果进行汇总查看。专家可以在评分结束后直接上传评分结果,也可以在汇总统计界面确认统计结果后再提交结果。7、项目评分汇总查看操作流程在收到专家评分后,管理员和项目管理可在项目界面对项目评分的所有结果进行汇总查看,同时可以筛选专家评分和项目对统计结果进行筛选修改。筛选专家能修改本次评分分数,筛选项目能对排行榜和图表的结果产生影响。四、 接口设计1、人机接口本系统的人机接口即用web制作的人机交互界面。在封装打包成可执行应用程序之后,用户能够在pc端打开运行。因为web的交互友好性,用户能够方便的通过鼠标键盘进行操作。此外本程序对原生点击和滑动事件进行了优化,对弹

9、出层和提示层等UI组件进行了优化。在UI 和布局上使用了Material设计,以React为视图层框架进行开发。2、内部接口本程序客户端与后台之间通过RESTFUL API进行通信,完成数据存储和调用。主要api接口如下:接口名请求类型功能返回类型getProjectListPOST获取所有项目列表ArraysaveProejctPOST保存项目ObjectupdateProjectPOST更新项目数据ObjectsaveLibPOST保存知识库ObjectupdateLibPOST更新知识库ObjectdeleteLibPOST删除知识库ObjectgetLibsPOST获取所有知识库数据A

10、rrayLoginPOST登陆ObjectsaveUserPOST创建用户ObjectdeleteUserPOST删除用户Object3、安全与稳定出错输出信息本程序在运行出错时会通过弹出框的方式对用户进行提醒,同时记录日志,后台程序运行故障时会自动重启。最大可能保证程序的稳定性。程序视图层有错误提示交互组件,配个后台api返回信息进行错误提醒。安全性:本应用从防止SQL注入、XSS、CSRF三个方面来保证应用安全性。SQL注入 SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序

11、没有细致地过滤用户输入的数据,致使非法数据侵入系统。根据相关技术原理,SQL注入可以分为平台层注入和代码层注入。前者由不安全的数据库配置或数据库平台的漏洞所致;后者主要是由于程序员对输入未进行细致地过滤,从而执行了非法的数据查询。基于此,SQL注入的产生原因通常表现在以下几方面: 不当的类型处理; 不安全的数据库配置; 不合理的查询集处理; 不当的错误处理; 转义字符处理不合适; 多个提交处理不当。本程序采取的措施如下: 对用户的输入进行校验,通过正则表达式,限制长度,对单引号和双”-进行转换等,防止在输入环节嵌入恶意代码。 不使用动态拼装sql,本次采用参数化的sql进行数据查询存取。 不使

12、用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。 不直接存放机密信息,对关键信息进行加密,hash掉密码和敏感的信息。 应用的异常信息应该给出简短提示,对错误信息进行了自定义封装。 检查Referer字段 HTTP头中有一个Referer字段,这个字段用以标明请求来源于哪个地址。在处理敏感数据请求时,通常来说,Refere字段应和请求的地址位于同一域名下。 添加校验token 由于CSRF的本质在于攻击者欺骗用户去访问自己设置的地址。可维护性:本应用以下面几个方面来控制代码的可维护性。可理解性:其他人可以接手代码并理解它的意图,无需原开发人员花太多时间解释。可读性性:代码中

13、可以让人快速上手,尽管其操作过程复杂。可适应性:代码以一种数据上的变化不要求完全重写方法。可扩展性:在代码架构上可对核心功能的扩展。可调式性:出错时,代码可以给你足够的信息来直接确定问题所在。函数和方法 :描述其目的和参数代表,返回值等。Hack :因各浏览器的差异,javascript的hack用于解决的问题进行描述。 变量和函数的命名变量名以名词开始:如car,person函数名以动词开始:如getName(),返回布尔类型值的函数一般以is开头,如: isEnable();此外,本程序在开发过程中保持松散耦合原则: 解耦HTML/JavaScript 在web应用中,html专注于展示数

14、据,css专注于样式,javascript专注于行为交互; 解耦CSS/Javascript在现代web应用中常常需要javascript来更改样式,我们采用修改CSS类名的方式来控制样式的改变; 解耦应用逻辑和事件处理程序。五、系统说明硬件环境:CPUP3 800 MHz 以上,建议P4 1.8GHz内存 256 MB以上,建议512MB显卡 标准VGA,24位真彩色 其它 键盘、鼠标、网卡、能连通互联网。软件环境:Windows2000及以上;编程语言:开发: nodejs 和 javascript;打包编译:electron;源程序量:8000行。主要功能和技术特点:行业风险动态评估系统

15、是针对行业的风险而开发的一款动态评估软件,是国内首个智能风评系统,主要服务于多个行业的量化风险评估、风险点跟踪监测、执行方案决策。1、模块说明本系统主要由四个功能模块组成:专家评分模块,知识库管理模块,项目管理模块,用户管理模块。专家评分模块主要功能是进行项目评分,专家在选择一个待评项目进入后通过勾选选项的方式对该项目的定性指标进行评分,评分结束后可以查看汇总结果和进行提交。知识库管理模块负责知识库的创建、修改和删除。知识库创建的时候可以上传CSV文件导入知识库;已保存知识库在进行修改时会覆盖原有的知识库。项目管理模块负责项目的创建、删除以及项目评分流程的控制。项目创建的时可以选设密码;项目创

16、建后需要选择知识库和上传定量指标结果,并勾选开启评分,之后专家方可对该项目进行评分和提交操作。再汇总统计中对结果进行保存之后方可开启下一轮平分。用户管理模块负责用户账号的创建和修改删除。该系统为封闭系统。账号完全由管理员后台创建。在账号创建后可以对其用户名、权限和密码进行修改。2、权限说明本系统登陆账号有三种权限角色:管理员、项目管理和专家。管理员在本系统中没有功能限制,能够访问所有的功能模块。项目管理在本系统中可以访问知识库管理模块和项目管理模块。专家在本系统中仅可以访问专家评分模块。六、操作说明1、知识库管理操作在本系统的业务流程中,知识库的创建是最初始的操作。进入知识库管理模块后会看到一

17、个知识库管理的按钮和已经创建的知识库的列表。新建用户点击按钮可创建新的知识库,点击知识库可进入相应知识库的编辑页面。填写、删除知识库在进入创建知识库页面后,会看到如下界面。知识库由四部分组成:定量指标、定性指标、评级描述和元信息(基础信息),每一部分都有单独的编辑区域。点击长传指标,可以上传准备好的定量指标和定性指标数据。在编辑页面下方是保存和删除按钮。2、项目管理操作在知识库创建完毕后,可以在项目管理界面进行项目的创建和配置。新建项目点击【新建工程】会弹出新建表单。项目名称为必选项,项目密码为可选项。本界面还有一个按钮是显示筛选,可以对列表中的项目显示进行筛选。项目设置在创建完毕后,需要进行

18、三部操作:选择知识库、上传定量指标结果、开启评分。完成这三个步骤后,该项目会出现在专家评分列表中。项目统计在收到评分后可以进行项目评分统计,点击评分统计按钮,选择相应的评分次序,进入统计页面。在统计汇总界面有三个主按钮:评分筛选、项目筛选和保存结果,进行筛选后下面的汇总结果会进行相应改变。统计结果导出项目结果汇总界面的排行榜和三个图表都能够进行导出。排名会导出为表格文件,而图表能够分别导出单独的图片。3、专家评分操作选择评分项目在专家评分项目列表里点击项目后,可进入相应评分界面。专家评分点击顺序评分可进行自动逐个评分,点击确定按钮后即进入下一评分项。点击任意左侧指标可对相应指标进行评分和再评。

19、评分结束后可查看汇总结果和提交,每个项目每轮每专家仅能评分一次切不可修改。4、用户管理操作用户管理界面点击新建能创建新用户,点击用户列表单一用户能对其进行修改删除。新建用户修改删除用户5、其他操作点击右上角的图表后能进西个人账号的信息修改和注销选项。7、页面设计评估系统人机交流的操作平台的开发设计。 知识库编写窗口:知识库编写窗口 导入知识库窗口:导入知识库窗口评估过程窗口:评估过程窗口 结论窗口:结论窗口 结论导出窗口:结论导出窗口8、部分源代码/ App.jsexport default class App extends Component constructor(props, cont

20、ext)super(props, context)this.state = message: open: false, text: this.handleRequestClose = this.handleRequestClose.bind(this) componentWillMount() const pathname = this.props.location.pathname const data = this.props.dataif(pathname != / & pathname !=/login) if(!data | !data.userLogin | !data.userL

21、ogin.username) AppDispatcher.dispatch( action: ADD_SNACKBAR, data: text: 请先登陆 )this.context.router.push(/) return false console.log(will)injectTapEventPlugin() componentDidMount() console.log(did) AppStore.addChangeListener(this._onChange.bind(this)this.getStore()document.querySelector(#app-loading)

22、.style.display = nonedocument.querySelector(#app-loading).innerHTML = componentWillReceiveProps() componentDidUpdate() componentWillUnmount() AppStore.removeChangeListener(this._onChange.bind(this) _onChange()this.setState(AppStore)console.log(compoent state updated) getStore()console.log(get appsto

23、re) AppDispatcher.dispatch( action: GET_APP_STORE ) handleRequestClose() AppDispatcher.dispatch( action: REMOVE_SNACKBAR ) render() console.log(rendering) const data = AppStore.data const message = data.message const styles = container: width: 100%, height: 100%, margin: 0, padding: 0 , snackbar: le

24、ft: 40%, width: 20%, textAlign: center , if(!data.ready) return ( ) const Routes = React.cloneElement(this.props.children, data: data ) let nav = if(data.userLogin & data.userLogin.username) styles.container.padding = 40px 20px 0 styles.container.boxSizing = border-box nav = () const loading = data.

25、loading ? ( 载入中) : return ( loading nav Routes ) App.contextTypes = router: React.PropTypes.object/登陆const styles = root: display: flex, flexWrap: wrap, justifyContent: space-around, , gridList: width: 100%, overflowY: auto ;export default class Login extends Component constructor(props, context)sup

26、er(props, context)this.state = open: false, message: , status: normal, colors: 62,35,255, 60,255,60, 255,35,98, 45,175,230, 255,0,255, 255,128,0 , step: 0, colorIndices: 0,1,2,3, gradientSpeed:0.002, this.confirm = this.confirm.bind(this)this.handleRequestClose = this.handleRequestClose.bind(this)th

27、is.updateGradient = this.updateGradient.bind(this) updateGradient() console.log(rendering) const colors = this.state.colors let step = this.state.step let gradientSpeed = this.state.gradientSpeed let colorIndices = this.state.colorIndices let c0_0 = colorscolorIndices0; let c0_1 = colorscolorIndices

28、1; let c1_0 = colorscolorIndices2; let c1_1 = colorscolorIndices3; let istep = 1 - step; let r1 = Math.round(istep * c0_00 + step * c0_10); let g1 = Math.round(istep * c0_01 + step * c0_11); let b1 = Math.round(istep * c0_02 + step * c0_12); let color1 = rgb(+r1+,+g1+,+b1+); let r2 = Math.round(istep * c1_00 + step * c1_10); let g2 = Math.round(istep * c1_01 + step * c1_11); let b2 = Math.round(istep * c1_02 + step * c1_12); var color2 = rgb(+r2+,+g2+,+b2+);

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

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