【#第一文档网# 导语】以下是®第一文档网的小编为您整理的《系统分析师论文范文-论软件性能的优化设计》,欢迎阅读!

论软件性能的优化设计
【摘要】
笔者于2010年8月参与了某地级市市级机关的电子政务信息系统的建设工作,该电子政务系统分为三个模块,分别是政府办公自动化模块、政企信息查询模块、公共信息发布模块,笔者在该项目中担任系统分析师和项目经理一职,主要负责系统的架构设计、优化和项目的日常管理工作。 在该系统的开发过程当中,由于用户对该系统的性能提出了较高的要求,因此我们在实际的开发过程中,对系统进行了优化设计,具体从三个方面着手:一、软件的业务流程设计,主要针对电子政务信息系统的业务流转方式,对业务流程进行优化设计,压缩和裁减冗余流程,提高作业流程的流转速度;二、数据组织的优化设计,通过采用高性能DBMS,优化数据库基本表结构,对常检索的表和字段建立索引等方式来优化数据组织,三、软件的结构组织优化,通过高度模块化、采用大量成熟构件的手段来进行优化。该系统上线运行后,整体表现出色,基本实现了用户需求,但也存在一些尚待解决的问题。 【正文】
笔者于2010年8月参与了某地级市市级机关的电子政务信息系统的建设工作,该电子政务系统是当地政府的数字化政府工程的关键部分,该政务信息系统主要分为三个子模块,分别是政府办公自动化模块、政企信息查询模块、公共信息发布模块,笔者在该项目中担任系统分析师和项目经理一职,主要负责系统的架构设计、优化和项目的日常管理工作。 在对该市级机关原有的政务信息系统进行调研时,笔者发现该机关原有的政务信息系统存在种种性能上的不足,主要表现在:一、业务流程繁琐,单项业务的流转速度较慢,业务分支过于复杂;二、数据库版本陈旧,性能较差,数据的读写操作速度较慢;三、软件系统本身的运行速度较慢,很多时候其响应时间甚至超过10秒的基线时间,并且经常出现因兼容性问题而导致的系统出错甚至崩溃。 综上所述,由于上述问题的存在,该机关信息化委员会在制定新的电子政务系统开发规划方案时,将业务流程的优化、数据结构组织的优化、软件结构的优化三点列为新版电子政务系统的三项主要性能指标。经过反复的讨论,项目组最终决定采用对业务流程进行优化设计、压缩和裁减冗余流程、提高作业流程的流转速度等方法来优化电子政务系统的业务流程;通过采用ORACLE数据库等高性能数据管理系统、优化数据库基本表结构、对常检索的表盒字段建立索引等方式来优化数据组织结构;通过采用高度模
块化的设计方式进行软件模块设计,采用大量成熟构件的开发手段来对系统的组织结构进行优化。 在对业务流程的优化过程中,我们对业务流程进行了规划、分解、组合,尽可能将业务流程梳理清楚,每一条业务流程的中间环节原则上不超过5~7个,并且每一个业务流程所完成的工作尽可能清减,尽量避免在一项业务流程中完成过多的业务工作,造成业务流程的运行速度变慢,对冗余的业务流程进行裁减、压缩,将多余、不必要的业务流程删除,将可以合并的业务流程进行合并和整合,使其整合为一个流程,减少在系统中流转的业务模块,提高系统的运作速度,加快业务的流转。经过上述的规划与设计,有效地提高了业务的流转速度,根据后期的测试和运行结果,在处理同一项业务流程的时候,新系统比旧系统的速度提高了25~30%。 在对数据组织结构进行优化的过程中,我们主要采用了三种方式对数据组织结构进行优化:1、采用ORACLE大型数据库管理系统替换原有的ACCESS数据库,ORACLE数据库拥有出色的性能、完善的厂商服务支持、强大的扩展性和丰富的支持接口,尤其是ORACLE数据库具有优秀的网络环境支持能力,这是ACCESS数据库所不能比拟的,由于该机关的电子政务系统运行在网络环境中,对网络的要求较高,因此ORACLE数据库有效地提高了该系统的性能。2、对数据库的基本表结构进行优化,在对新版政务信息系统的基本表结构进行设计的时候,以3NF的表结构为主,并且采用垂直分片的数据分割方式,将容量较大的几个主表分布存放在不同的数据库服务器上,以减轻查询负担,加快查询速度,特别需要说明的是,对于一些查询量较大,而更新频率相对较小的数据表,我们采用了基于2NF的设计方式,适当提高数据的冗余,以加快数据表的查询速度。3、对常检索的数据表和字段,建立了索引以加快检索的速度,为了避免因索引过多反而导致性能下降的情况出现,我们仅在查询量较大、更新频率较低的表上建立索引,并且索引字段选择为主键或常用字段。 在对软件结构进行优化的设计过程当中,我们主要采用了模块化设计方法和构件化设计方法来提高软件结构的性能。其中模块化设计方法主要是通过将系统的功能组织为一个个高度内聚、低度耦合、大粒度行为的模块,每个模块完成的工作尽可能单一,尽可能杜绝一个模块完成多项业务工作的情况,模块与模块之间的联系被降低到最低程度,彼此之间的相互通信由集中式控制模块进行统一的调度与控制。构件化设计方法主要指在设计和开发的过程中,我们大量采用性能成熟的构件进行开发,构件的获取方式主要有从现有的构件库中检索和提取、外购商业化构建、自行开发等,通过大量采用构件进行开发,有效地提高了该系统的性能和可靠性,并提高了该系统的扩展性。 在系统的开发工作完成之后,我们对该系统开展了测试工作,测试工作主要围绕三个方面进行,其中业务流程的测试主要测试系统流程的顺畅程度,一项业务流程的处理时间能否达到理想的要求;数据读写操作的测试主要测试数据
的大批量读取和写入的操作速度,和响应时间是否达到性能要求,系统在高负荷运行的状态下,数据的读写速度是否让人可以接受,以及系统的负载均衡能力等;软件结构的测试主要是测试该系统在实际运行时的速度、健壮性等指标是否达标,系统的业务处理速度和响应速度是否令人满意等。测试工作结束后,我们将测试结果编制为测试结果报告书,并上报该机关的信息化建设委员会,经该委员会的审核,该报告书最终得以通过。 该系统上线后,运行情况出色,经用户反映,有效地提高了系统性能,基本满足了用户的需求。在项目总结大会上,我们对项目进行了总结,会议认为,该项目整体上是成功的,但是也存在着一些问题,主要有以下两点:一是在对业务流程进行优化和压缩时,有的业务部门基于自己部门的利益,对业务清减和压缩工作有所抵制,二是在采用第三方厂商所提供的构件进行构件化开发时,由于第三方厂商所提供的构件为通用化构件,给个性化定制工作带来了困难。对于第一个问题,笔者认为应当由该机关的高层领导牵头,召开相关的工作会议,在会议上对业务的清减、压缩、改造等牵扯到部门业务整合改造的工作作出统一的部署,对于第二个问题,笔者认为在购买第三方厂商所开发的商业化构件时,应当采购可扩展性较好,售后服务支持较完善的构件产品。 结束语: 软件的性能优化设计对于提高软件的性能、可用性、易用性等质量属性有着举足轻重的作用,笔者认为,在软件的设计和开发阶段做好软件的性能优化设计工作,可有效地提高项目的成功率,增强系统的质量属性。
本文来源:https://www.dy1993.cn/c8A.html