通过技术规定提高软件质量
作者:王幸贤 发布时间:[ 2012/2/24 11:36:00 ] 推荐标签:
2009年初,信息中心建立了统一的配置库,并组织对所有的应用系统进行普查,整理原有的所有资料,并请各开发公司协助补充缺失文件,基本建立了覆盖全部应用系统的配置库。
内容包括文档、软硬件配置、网络配置、源代码和目标代码等资料,新建系统所有文档纳人配置管理。
3.3数据库设计规范
该子规范规定应用系统数据库使用统一的国土资源基础数据库,数据库的版本为Oracle 9i Rlease 2,数据库字符集为WE81S08859P1,字符集为A1.16UTF16。设计方面必须符合3NF,如果不能符合,
必须说明理由,经信息中心主管部门同意后方能执行。所有的数据库对象命名必须遵循驼峰命名法,即类型一子系统一对象名。
性能方面,系统支持的低并发用户数不低于30个,页面响应时间短于5秒。对于常用的且记录数超过50万的表,必须对相关字段建立索引,单一表索引数目不得多于5个。此外还对SQL语句的书写格式予以明确规定。
2008年末为了进一步加强对数据库的管理,制定了《数据库数据修改规定》,后台修改数据必须走严格的流程,业务部门通过传真提交申请,软件开发公司生成SQL语句,经项目负责人和数据库管理员审核后,
由专门的数据修改I:程师执行并将结果反馈给软件开发公司。结合原有的《系统上线/调整申请表》《数据库结构修改规定》和((数据导人/导出规定》等形成完整数据库使用管理体系。
3.4数据服务和数据交换规范
该子规范规定应用系统之间数据交换必须使用统经验交流
存在会话中的对象后要调用setAttribute通知服务器进行会话复制,设置页面缓冲区大小为32KB等。后是关于代码性能和安全方面的编码要求,访问数据库只能使用PreparedStatement和CallableStatement。要检查所有输人数据的有效性,必须具有防范SQL注人攻击和脚本攻击的能力等。
考虑到应用安全的复杂性和重要性,系统维护科专门邀请从事计算机安全的柏安资讯公司来对软件开发公司进行应用安全培训,并针对我局现状编写了《上海房屋土地资源局信息中心应用开发安全规范》。
3.5 J2EE代码规范
本子规范主要Java代码方面予以规范,如软件系统的目录结构、包(package)的命名规则、源文件的命名规则以及源代码格式规范、代码风格等。为了支持WebLogic集群、针对常见服务错误而作的规定,如保存在会话中的对象不能超过1KB,修改保文字长度等都有详细规定。
3.6 WebLogic部署规范
本子规范对WebLogic应用服务器的部署予以规范,主要包括两点,一是生产环境服务器必须以生产模式(ProductionMode)部署,二是管理端口和应用端口必须分开。
3.7用户交互规范
该子规范主要对系统的用户界面和交互方式予以规范,内容包括界面的设计原则、系统必须支持1024x768的屏幕分辨率、界面配色以及字体、字号和一数据服务平台,内外网之间的数据交换可以使用网闸和数据库镜像,数据库镜像为T+1,网闸目前可以做到30分钟/次或更短。
4规定的实施
4.1制定操作要点
技术规定经专家论证后定稿后,又组织人员编写规范的解释文档,和规范编制说明一起付印并装订成册,以局发文的方式正式发布。为了让技术规定得以贯彻执行,系统架构小组制定了《技术规范执行操作要经验交流点》,
确定了软件开发过程中检查《规定》执行情况的几个关键节点和相关检查人,具体如上表。每一个新进来的软件开发公司,都会领到这样一本小册子,电子版本以及其他的相关管理文档由配置库发布。实行至今,对于提高应用系统质量的确起到了一定的作用。
4.2结合流程实施《规定》
《规定》要真正落地实施,还必须结合相关的信息化流程。我局信息化流程主要由《局信息化管理规定实施细则(试行稿)》定义。需求的审查在新建、升级项目立项管理阶段进行,对市信息委核准的项目,由业务部和信息中心共同成立项目组,
组织进行需求调研和可行性分析,并形成《项目可行性分析报告》,市局信息办对项目可行性分析报告进行内部评估或专家论证,出具论证评估意见。由项目组填写《信息化建设项目立项报告》,内容包括项目可行性分析,论证评估意见,项目投资预算,
项目组成员名单及计划进度安排等,向市局信息办提出立项申请。未列人年度计划或市信息委未核准而急需建设的信息化项目,由各单位(部门)向市局信息办提出申请,由市局信息办报局信息化领导小组审议,审议通过后,按照上述办理。
其余阶段对应《实施细则》的开发管理部分。设计审查主要通过召集相关人员举行设计评审会,参与人员有软件开发科和系统维护科的相关人员,其中系统维护科重点负责对数据库设计方面进行检查,软件开发科则侧重于系统设计方面。任何系统上线都要提交上线申请,此时是进行上线阶段审查的时点。
4.3实施中的问题
几乎任何项目都会面临时间方面的压力,在软件开发公司和项目负责人心中,如何早日把需要功能完成总是放在首位,很多时候技术规定是个碍手碍脚的东西,而且很多开发公司人员流动性很强,新来的人暂时还不熟悉规定,于是做了一些违反规定事肯定是难?国土贵源信息化免的。
很多时候即便发现有问题,也没时间整改,而一旦既成事实,今后改正付出的代价会更大。为此需要将检查点提前,在编码开始前进行数据库设计检查,但是需求会变,设计也会跟着变。开发公司提交的上线申请材料中发现设计不合理或者数据库设计有问题的情况时有发生,
通常做法是先记上一笔,日后再算帐,很多开发公司长年人手都非常紧张,日后算账更难算。要彻底解决这个问题,需要规范整个开发流程,从源头抓起,任重而道远。
5结束语
随着技术进步,以及运行环境的变化,规定的内容也需要及时不断更新。
目前,安全方面的规定过于薄弱,需要补充完善并及时更新。系统安全是一个很复杂的问题,从系统设计、编码到运维,都需要绷紧这根弦。在系统建设阶段,虽然我们要求必须能抵挡SQL注入和脚本攻击,
但是如果没有专门的代码扫描工具或者漏洞扫描工具来扫描的话,很难发现代码中的此类问题。所以如果要让该规定落实的话,还需要有必要采购相关的检查工具,定期对代码进行抽查,发现问题进行整改。
为了解决安全问题我们做了很多努力,一方面请安全咨询公司和互联网安全测评中心进行系统安全检测,另一方面请安全咨询公司对软件开发公司进行安全方面的培训,为我们编制了安全编码规范,对于安全规范的落实,仍需要有相应的检查手段。.
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南