中国OA软件系统市场,从酝酿、概念、导入、发展到成为刚性需求,历经了二十多年的时间。下面是小编整理的关于OA软件系统开发设计的原则,欢迎大家参考!
众多知名厂商如微软、IBM、九思软件(www.jiusi.net)、浪潮软件(www.inspur.cn),以及全国超过成千上万个大大小小的软件公司,参与过OA软件系统的设计和开发,然而不幸的是几千套OA软件系统的研发,其结果缺失高达70%的客户失败率!幸运的是,中国的OA软件系统架构师们,在这个过程中得到了理念的提炼、经验的积累和技术的沉淀,并逐步在前人的基础上,提炼出OA软件系统开发的九大原则,基于这些原则上构建的OA软件系统,在交付的成功率上得到了大幅攀升。
1. OA软件系统开发设计应遵循“可行性和适应性”原则
OA软件系统的开发设计,应确保技术上的可行性,适合招标人的核心需要,满足主要功能需求,适应需求变化时的系统的免代码自定义和功能模块加减、调整。
OA软件系统核心需求的吻合度是信息化建设价值体现的保障,用户在工作流程、公文管理等方面的核心需求的满足度是保障项目成功的基础,同时,因信息化建设不是一蹴而就的事,因此需求也会日新月异,为能够适应需求的变化,OA软件系统从架构上应采用平台技术,从扩展上增加功能模块自定义功能,从而可以免代码,自定义新功能模块,适应未来的发展需要。
2. OA软件系统开发设计应遵循“前瞻性和实用性”原则
OA软件系统的开发设计,即要考虑到最大限度的增加系统的价值,最大限度的吻合各应用者的需求,充分考虑系统今后功能扩展、应用扩展、集成扩展多层面的延伸,实施过程应始终贯彻面向应用,围绕应用,依靠应用部门,注重实效的方针。同时又要兼顾到成本控制、项目周期控制等因素,因此在功能的部署上也需要遵循实用主义。
3. OA软件系统开发设计应遵循“先进性和成熟性”原则
OA软件系统的开发设计,既要采用先进的管理理念、计算机技术和方法,又要注意软件系统、硬件设备、开发工具、软件产品的相对成熟。
OA软件系统的开发设计,从设计思路、开发原则、系统架构、网络拓扑、实施软件系统、硬件设备、开发工具等各种角度考虑整体解决方案的先进性,所选主体产品的技术架构具有先进及前瞻性,可以跨平台应用或配置,确保所选主体产品在技术上处于领先水平,充分考虑系统今后的延伸,保证系统5年内保持不落后。
产品设计中建议有限选择J2EE技术架构,在产品开发过程中融入WEB2.0等众多先进的技术。使系统具备国内同业领先的地位;保证IT投资的有效性和延续性。
产品采用了构件的思想进行设计,从而能够做到快速的产品开发和随需应变。
系统采用了纯B/S的图形化流程编辑器等,确保核心应用的客户化程度。
4. OA软件系统的开发设计应遵循“开放性和标准性”原则
OA软件系统的底层应支持各个层次的多种协议,支持与业务系统的互通、互联,应用系统采用标准的数据交换方式,保证数据共享。
优良的体系结构设计,对于系统是否能够适应将来新业务的发展至关重要。本系统采用J2EE规范,遵循SOA标准,采用JAVA语言编写,具有良好的开放性,支持跨平台、跨数据库、跨中间件、兼容各种应用软件的特性。
在设备选择及网络方案上也坚持开放性原则,使系统对各种硬件设备的互连互通;在软件上支持跨平台和开放数据接口,便于与其它系统软件互相集成,未来支持与业务系统、门户等系统的单点登录集成,在可获得相应系统的数据结构情况下,实现与这些系统的应用、门户、数据等各层面上无缝连接。
系统除支持本约定的设计规范外,还提供标准化的WEBSERVICE外部接口,遵循SOA功能架构规范,遵循工作流标准WFMC;遵循W3C XForm表单标准(XML定义表单数据,数据和逻辑分离,独立于平台和设备),支持JSR168和WSRP等Portal标准。
因此,系统可以轻松与各种操作系统、中间件、数据库、业务系统及工具软件进行平滑对接,这些在当前主流的厂商如九思软件、东软股份等都已经成功实现。
5. OA软件系统的开发设计应遵循“可靠性和稳定性”原则
OA软件系统必须是可靠的,一般的人为和外部的异常事件不会引起系统的崩溃;同时系统有较高的可用性,当系统出现问题后能在较短的时间内恢复,而且系统的数据是完整的,不会引起数据的不一致。
1000人同时在线的情况下,系统登陆(包括整个主界面加载)不大于10秒。数据浏览不大于10秒;数据查询不大于8秒;数据统计不大于30秒。
主机系统能够保持7*24稳定的不间断运行,从系统软硬件平台及网络等方面来保证系统的稳定性;对于所采用的主备服务器方式,若主服务器宕机时,可实时地切换到备用服务器上,用户的应用不受影响。笔者曾对九思软件的产品和IBM的产品做过测试,基本上可以做到以下几点:
平均无故障运行时间:大于30000小时;
可用率:系统总体平均可用率在99.99%以上;
稳定性:主机系统能够保持7*24稳定的不间断运行
6. OA软件系统的开发设计应遵循“安全性和保密性”原则
OA软件系统的开发设计既考虑信息资源的充分共享,更要注意信息的保护和隔离,因此系统应分别针对不同的应用、不同的网络通信环境和不同的存储设备,采取不同的措施,包括系统安全机制、数据存取的权限控制等以确保系统的安全性。
其中,采取的措施包括但不限于以下
平台安全:架构设计考虑安全性要求,平台软件达到安全设计标准。
应用安全:权限控制、支持身份认证接口、防篡改、防暴力破解等措施完善,并且可以跟USBkey、CA、IP地址限制等各种安全措施进行方案组合。
数据安全:支持文档安全软件整合技术,从而做到数据传输加密、远程安全访问、数据存储加密,并且可以VPN等各种安全方式进行绑定,支持入侵检测与防御系统、防火墙的应用。
容灾备份:支持各种容灾的软硬件设备的使用等。
管理安全:提供完善的日志功能,能够记录系统使用人员的关键操作,保证系统应用的安全
密码策略:初始密码强制更改、启用图形验证码、支持USBkey接口、密码过期控制、密码错误次数控制、密码强度设置等,从而防止暴力破解和恶意攻击。
系统网卡MAC和IP的绑定;
支持CA认证、数字签名加密技术;
支持电子钥匙(Ukey)技术和指纹Ukey技术;
支持安全套接(SSL)技术;
软件系统严密、灵活的访问安全控制,功能授权与数据范围授权结合;
系统有整体的用户/权限管理体系,可统一进行用户/权限的管理,实现到字段级的查询、修改、管理权限控制;
系统提供用户认证、数据传输、数据存储、数字签名等安全手段接口,可在各个环节提供对第三方安全认证系统的支持;
7. OA软件系统的开发设计应遵循“可扩展性和易维护性”原则
为了适应未来的业务拓展和项目的功能扩展,必须充分考虑以最简便的方法、最低的投资,实现软件系统的扩展和维护扩展。
因此,在OA软件系统的开发设计中,需要考虑到应用及系统不断扩展的要求,以形成一个易于管理、可持续发展的体系结构。未来业务的扩展只须在现有机制的基础上,增加新的应用与服务模块。一方面当应用量增加,用户数增加时系统可以平滑增加服务器的方式来支撑新的压力要求发;一方面,当新的技术和产品出现进行升级时,系统能够平滑过渡而不影响用户的使用;另一方面,产品有新的功能增加时,可以通过插件和模块定制平台的方式,轻松实现业务的扩展。
在设备选择及网络方案上坚持开放性原则,使系统对各种硬件设备的互连互通;在软件上支持跨平台和开放数据接口,便于与其它系统软件互相集成,未来支持与业务系统、门户等系统的单点登录集成,在可获得相应系统的数据结构情况下,实现与这些系统的应用、门户、数据等各层面上无缝连接。
系统的管理和维护,应该采用集权和分权相平衡的思想,如九思软件的iThink产品设置了系统管理、应用管理和个人管理对系统进行分层授权和分层维护。
利用系统提供的工具,无须编写代码,方便用户自行进行客户化功能改造,方便用户自行定制界面数据项的显示;同时在网络或系统出现问题时能及时、快速地恢复系统的正常运行,保证系统的可恢复性,具有较高网络系统的抗干扰能力。
采用各种免代码的模块定制平台,帮助用户实现功能的DIY设计等。
8. OA软件系统的开发设计应遵循“美观性和易用性”原则
系统用户界面的设计采用Web2.0用户界面设计技术,界面根据用户需求灵活更改(增强标签分类特性),注重用户体验,使系统各项功能易见、易学、易用。
作为全员应用系统,易用性和用户体验是项目成败的关键要素。所提供的产品采用B/S的登录方式、可以采用电脑、手机等各种方式下登录,采用了AJAX、图形化编辑器等各种新技术,并且易读、易理解、易操作,用户界面简洁、美观、友好,易于用户掌握、操作和使用;系统管理的使用及管理也以简便、易于操作、方便实用为准则。
严格遵循易用性六原则,实现从产品的部署、登录、使用、维护、升级、扩展的全方位易用,从而提升系统的黏着度;
提供统一的访问地址,便于用户使用。在登录页为用户提供加入收藏、设为首页等操作,方便用户以后快速访问系统;
具备风格一致的友好的用户界面,图形显示直观,工作流程从设计到使用全程图形化
遵循20/80原则,设置办理中心,使常用功能高度融合,即方便用户快速学习,又大大提升了使用效率。
遵循人机交互原则,对用户的错误输入尽早发现并给出提示,对复杂的功能操作,提供操作向导;
客户端全面兼容性,操作系统全面兼容win2000/ win2003 xp//vista/win7等。浏览器全面兼容IE6/IE7/IE8主流浏览器、并支持支持office2003/2007。
9. OA软件系统的开发设计应遵循“大并发能力支撑”的原则
OA软件系统的开发设计,应该支持应用和数据库等多重负载均衡能力,支持附件服务器和数据库服务器分离技术,从而支持数万用户同时在线和同时操作的能力,不会因为用户数的增长或者信息量的增长,而导致系统响应能力下降。
系统并发能力:通过集群方式,在技术上没有并发上限,因此能完全保障用户未来的人员扩张需要。