|
|||
|
|||
|
|||
|
河南省环境保护厅
关于印发《河南省环保系统应用软件开发技术规范》的通知
各省辖市、省直管县(市)环保局,厅机关各处室、直属各单位:
为规范河南省环保系统应用软件开发部署,提高软件开发质量,确保信息安全,为建立健全全省统一的数据共享服务平台,省环保厅结合我省实际,组织编制了《河南省环保系统应用软件开发技术规范》,现印发给,请遵照执行。
2014年10月10日
河南省环保系统应用软件开发技术规范
1 总则
1.1 为规范河南省环保系统应用软件开发部署,提高软件开发质量与数据共享服务水平,保障系统稳定可靠运行,制定本规范。
1.2 环保应用软件主要是指满足环保业务管理需求、实现环保业务数据采集、统计、分析、查询等功能的应用软件,也包括实现数据传输、数据交换、数据服务等功能的软件或服务。
1.3 本规范适用于河南省环保系统新建或改建的环保应用软件。
1.4 环保应用软件开发应遵循国家现行有关标准、规范。
2 软件需求分析
2.1 对于拟开发的环保应用软件应首先做好需求分析。
2.2 确立环保应用软件开发任务后,应详细梳理环保业务需求,明确软件开发的建设内容、软件功能需求、软件操作流程、软件用户与权限、软件性能要求、运行环境要求、安全保密要求等,形成需求分析报告。
2.3 新建的环保应用软件应充分考虑与现有相关软件的衔接,做好业务协同需求分析。
2.4 软件需求分析报告应经主管领导和使用人员签字确认,作为开发建设依据。
3 软件架构体系选择
3.1 环保应用软件开发应采用当前成熟稳定的技术架构,应根据使用需求、用户并发数及安全保密要求等确定软件开发的架构模式。
3.2 环保应用软件开发应首选B/S结构,并结合以下因素综合确定。
①用户界面交互复杂或在用户界面层计算较多的环保应用软件,应采用C/S结构。例如电厂二氧化硫核算软件。
②存在保密性要求或不存在多用户共同使用的情况,应采用单机版。例如单位内部财务软件等。
4 软件运行环境与开发工具选择
4.1 应根据用户需求选择应用软件的运行环境,并结合以下原则。
①应选择便于操作维护的应用软件运行环境。建议以Windows环境为主。
②通过B/S或C/S方式实现的环保应用软件,服务器端操作系统建议选择Windows Server 2008企业版以上或Linux5.5版本以上。
③通过B/S方式实现的环保应用软件,客户端应支持当前主流的浏览器,包括IE8及以上版本、360、火狐、Chrome等。
④通过C/S方式实现的环保应用软件的客户端软件及单机版的应用软件,软件安装包应将程序、运行环境分列,用户可选择是否安装运行环境。
4.2 应根据软件架构、运行环境等选择当前主流的开发工具。
①选用Java语言时,相应工具包应采用Jdk1.5或更高版本,开发工具应采用MyEclipse6.0或以上版本。
②选用C、C#、C++语言时,组件应采用.net FrameWork3.5或以上版本,开发工具应采用Microsoft Visual Studio 2008或以上版本。
③通讯类软件开发应采用C、C++、C#、JAVA语言。
4.3 应根据数据规模及环保应用软件系统架构选择合适的数据库系统。
①在服务器上部署的应用软件应选择大型数据库系统,例如Oracle、SQL Server、DB2、Sybase等,应选择与运行环境(操作系统)相符的当前主流版本。
②对于单机版软件应选择中小型数据库系统,例如Access、My SQL、SQLite等。
5 软件设计开发
5.1 环保应用软件设计应以需求分析报告为基础,在满足用户需求的同时力求减轻用户工作量,提高软件操作使用可靠性,提高用户工作效率。开发方应提交规范的软件设计文档。
5.2 环保应用软件的数据库设计应满足以下要求。
①数据库设计应遵循国家标准及《环境数据库设计与运行管理规范》(HJ/T 419-2007)等环保行业标准,数据库的范式设计应达到第三范式(3NF)要求,数据库、表、视图、存储过程以及字段等应符合命名规范要求。
②数据库设计应综合考虑冗余与效率,应通过合理设计提高数据库运行响应速度,确保最佳用户体验。
③环保应用软件中涉及审核、校验、评价等功能时,应在数据库中设计相应规则表,并可由用户动态增加、选取相应规则,实现审核、校验、评价等功能的动态管理。
④污染源基础信息、环境质量点位基础信息等数据库基础表的设计应与现行主要环保应用软件保持一致,应征求本级环境信息管理部门意见。
⑤数据库设计涉及行政区划、行业等国家标准代码时,应选择当前最新的国家或地方标准代码;现有代码不满足本地需要时可进行扩展,但应经省级环境信息管理机构同意。河南省省辖市、省直管县(市)行政区划代码按附表1执行。
⑥应合理设置数据库用户及操作权限,应用软件层的数据库连接访问不得使用拥有DBA权限的用户。
⑦应设计日志表,记录用户操作及软件运行时产生的各种问题。
⑧海量数据存储应选择数据仓库、数据立方体等技术。
5.3 环保应用软件用户界面设计应符合环保系统行业用户的操作习惯和运行环境界面风格(如Windows),保持界面风格统一。
5.4 环保应用软件应按照实现功能合理划分、组织菜单,准确设置菜单、按钮名称,避免歧义;应为常用菜单设置快捷按钮或快捷键,方便用户操作。
5.5 环保应用软件功能设计应优先规范信息采集入库、数据审核控制流程,合理设计方便灵活的数据查询、统计评价与报表输出。
5.5.1 环保应用软件涉及在用户界面信息录入时,应在录入界面实现信息有效性校验功能,避免非法信息录入到数据库中;涉及直接通过数据通讯程序采集信息入库时,应对数据通讯协议进行明确规定,在数据发送端限制非法信息传输入库。
5.5.2 环保应用软件应设计动态灵活的数据查询功能,数据的基本属性和时间、空间范围应可作为查询条件供用户随机选择;对数据查询结果应提供排序、筛选、打印、导出等多种操作功能,导出格式通常应包括Word、Excel、PDF等。
5.5.3 环保应用软件应根据实际需求设计格式规范的统计报表功能,应实现报表统计范围、数据分类、数据项的任意选择;对统计报表结果应提供排序、筛选、打印、导出等多种操作功能,导出格式通常应包括Word、Excel、PDF等。
5.5.4环保应用软件应根据实际需求设计自动生成统计分析报告功能。统计分析报告模板应允许系统管理员自行修改。
5.5.5 环保应用软件涉及通过环境质量标准、污染物排放标准等进行达标评价、超标预警时,标准版本、执行级别等应允许用户动态选择;不同时段执行不同标准的,应在软件设计中予以体现;禁止将标准值直接写入源代码中。
5.5.6 环保应用软件应设计灵活的环保行业标准、代码等维护功能,方便用户自行维护应用新标准,保持软件连续使用。
5.5.7 环保应用软件使用用户设置应采用实名制,应提供访问控制功能,控制用户或用户组对系统功能和数据的访问,建议采用角色控制用户权限。系统管理员(Admin)仅应设置管理配置权限,不得分配环保业务模块使用权限。
5.5.8用户登录功能至少应设计为密码与验证码共同验证,重要应用软件应采用CA认证、U-Key等用户认证方式;应提供登录失败处理功能,可采取结束会话、限制非法登录次数和自动退出等措施。建议在本级环保部门的办公自动化系统、内网门户等实现软件的单点登录。
5.5.9 环保应用软件应设计在线帮助功能,方便用户随时查阅帮助文档。
5.5.10 环保应用软件应设计版本号,做好版本控制;应方便用户进行软件升级更新,C/S方式实现的客户端软件应支持在线升级;客户端软件应具备检测新版本功能,并在检测到新版本时提示“是否升级为某某版本”。
5.5.11单机版的环保应用软件应设计数据备份、恢复功能,方便用户重新安装部署。
5.6 环保应用软件编码实现应遵循以下要求。
①程序结构应清晰、简单易懂,单个函数的程序行数原则上不得超过100行。
②UI层应不用或少用逻辑判断。
③数据访问层应使用连接池。
④应使用标准库函数和公共函数,不得随意定义全局变量,应多使用局部变量。
⑤软件代码注释量不得少于30%。定义的变量、典型算法等必须添加注释,并能清晰的反映其含义。
⑥软件编码实现可利用各种成熟的控件、插件,但必须满足安全性要求;客户端软件利用第三方控件、插件的,程序中应进行相应检测,在未安装时提示用户安装。
6 数据接口服务
6.1 环保应用软件应开发数据接口服务,满足环保部门数据共享与交换需要。污染源、环境质量相关的环保应用软件应在招标采购、委托开发时明确数据接口服务开发任务。
6.2 数据接口服务开发应首选Web Service服务,通过Xml、json等格式进行数据共享或数据交换,服务或接口应具备可扩展性。
6.3 允许使用SQL视图方式提供数据共享,但应严格限制视图访问用户权限。
6.4 允许采用数据抽取方式直接从生产库(源数据库)中获取数据,但操作权限仅限于只读访问,不得对生产库(源数据库)中的数据进行增加、删除、修改等操作;为减轻系统压力,对于大数据量的抽取应在夜间进行。
7 数据通讯
7.1 数据通讯软件开发应选用规范合理的数据通讯协议,提升数据传输质量。
7.2 污染源数据通讯应采用《污染源在线自动监控(监测)系统数据传输标准》(HJ/T212-2005)、《环境污染源自动监控信息传输、交换技术规范》(HJ/T352-2007)等环保部颁发的行业标准。
7.3 已有现行数据通讯协议,因不满足本部门业务需求而需要扩展时,应提交申请,由省级环境信息管理部门统一定义,各单位不得自行定义。
7.4 数据通讯无现行国家或环保行业标准,确需定义新的数据通讯协议,可由软件需求方自行组织定义,但应征求省级环境信息管理部门意见。
7.5 数据通讯应采用校验码技术、密码技术等保证通讯过程数据完整性;应采用会话验证、敏感字段或整个通讯报文加密等保证通讯保密性;应通过应答机制等实现数据通讯完成的确认,应实现数据补传或手工调取功能。
8 软件部署
8.1 软件部署前开发单位应向该软件开发任务管理部门提供软件设计相关文档和使用指南,提供软件源代码。
8.2 软件部署使用前应通过第三方开展的软件性能、功能测试;应利用漏洞扫描设备、应用防护设备等开展安全检测,对于存在漏洞、风险、后门的应及时整改,直到安全检测通过。
8.3 部署到本级环保部门中心机房的环保应用软件,应向机房管理部门提交软件运行说明文档,告知运行环境、访问限制要求、日常维护要求等,方便做好运行保障。
8.4 发布到互联网上的环保应用软件,应通过省互联网应急管理中心、省公安厅、省工业和信息化厅等部门的安全检测,对于存在安全风险的应及时整改。
附表:
河南省行政区划扩展代码表
序号 |
行政区划代码 |
行政区划名称 |
上级行政区划代码 |
1 |
410000 |
河南省 |
- |
2 |
410100 |
郑州市 |
410000 |
3 |
410200 |
开封市 |
410000 |
4 |
410300 |
洛阳市 |
410000 |
5 |
410400 |
平顶山市 |
410000 |
6 |
410500 |
安阳市 |
410000 |
7 |
410600 |
鹤壁市 |
410000 |
8 |
410700 |
新乡市 |
410000 |
9 |
410800 |
焦作市 |
410000 |
10 |
410900 |
濮阳市 |
410000 |
11 |
411000 |
许昌市 |
410000 |
12 |
411100 |
漯河市 |
410000 |
13 |
411200 |
三门峡市 |
410000 |
14 |
411300 |
南阳市 |
410000 |
15 |
411400 |
商丘市 |
410000 |
16 |
411500 |
信阳市 |
410000 |
17 |
411600 |
周口市 |
410000 |
18 |
411700 |
驻马店市 |
410000 |
19 |
419001 |
济源市 |
410000 |
20 |
419002 |
巩义市 |
410000 |
21 |
419003 |
兰考县 |
410000 |
22 |
419004 |
汝州市 |
410000 |
23 |
419005 |
滑县 |
410000 |
24 |
419006 |
长垣县 |
410000 |
25 |
419007 |
邓州市 |
410000 |
26 |
419008 |
永城市 |
410000 |
27 |
419009 |
固始县 |
410000 |
28 |
419010 |
鹿邑县 |
410000 |
29 |
419011 |
新蔡县 |
410000 |