首页>>技术前沿>>B/S,C/S软件系统开发
论软件开发与可持续发展的关系
作者:西安软件开发公司 | 原创 来源:西安软件开发公司 | 时间:2013年2月18日| 点击:0次 | 【评论】

1. 软件开发与可持续发展的关系
软件开发是人类社会实现可持续发展的必由之路。当今世界各国、各行业都在争先恐后地推进软件开发。这场热火朝天的软件开发革命正在深刻地改变着人类的生产和生活方式,为人类社会可持续发展开辟了新的天地。
软件开发与可持续发展的关系是相互促进和相互保障的辨证关系。我们不能忽视软件开发本身的可持续发展问题。软件开发应该随着社会需求的不断发展而持续稳定地发展。我们应该以可持续发展的思想和方法指导软件开发建设。否则,软件开发进程就会出现危机,走进死胡同,丧失其应有的活力。
然而,软件开发自身的可持续发展问题似乎还没有得到充分的认识和应有的重视,或者说可持续发展的观念和具体措施还没有普遍落到软件开发各项工作的实处,在软件开发的规划、建设、运行使用、机制保障等各方面,都还普遍存在不利于软件开发可持续发展的因素,已经开始阻碍软件开发进一步健康发展。
2. 软件开发的可持续发展
2.1. 软件开发是一个发展的概念
我们应该清楚地认识到,软件开发是一个相对的、发展的概念。我们在某一时期的软件开发建设,是相对于该时期的社会需求而进行的,社会在不同时期有不同的需求,软件开发需要随着社会需求的发展而发展。我们应该以发展、而且是可持续协调发展的眼光看待软件开发事业。
2.2. 软件开发可持续发展的内涵
软件开发可持续发展的内涵,应该包括:
1)软件开发是一个发展的概念,软件开发在满足当前社会需求、业务需求的同时,应该能够随着社会需求、业务需求的发展而持续、平稳、协调地发展。
2)软件开发发展的每一阶段都应该充分利用以前各阶段的相关成果作为本阶段发展的基础,同时本阶段的成果也应该能够成为后续发展阶段的基础而被适当利用,为后续发展阶段提供良好的条件积累。
3)软件开发建设的每一个项目都应该充分利用其它相关项目的建设成果作为本项目建设的条件,同时本项目的建设成果也应该能够成为其它相关项目建设的条件而被适当利用,为其它相关项目的建设和运行使用提供良好的支持。
4)作为软件开发项目建设技术成果的信息系统,在其生命期内应该能够随着业务需求的发展和运行条件的变化而不断完善和升级,在其生命期结束而进行更新换代时其业务应用成果尤其是信息资源应该能够得到妥善迁移和继承。
3. 影响软件开发可持续发展的常见因素
影响软件开发可持续发展的因素多种多样,贯穿于需求、规划、设计、技术实现、运行使用等各个环节,既有技术因素,也有制度因素,通常多种因素并存。以下对常见因素作初步探讨。
3.1. 对待需求的态度
社会各行业业务的需求,是软件开发的出发点和归宿点。业务的持续发展,产生对软件开发的持续需求,成为软件开发可持续发展的动因。
需求是软件开发规划和具体项目设计及开发的首要依据。不完整、不准确或不合理的需求会导致错误的规划和设计,而缺乏开放性、前瞻性和包容性的“狭隘”需求会导致不可持续发展的规划和设计。
我们在进行需求调研和需求分析的时候,不能鼠目寸光、胸怀狭隘,只盯着当前项目本身的狭义需求,而应该具备一些“大局”觉悟,以开放、前瞻、包容的态度,积极挖掘需求、引导需求和预测需求,在广泛、深入、细致地获取当前项目需求的同时,还应重视下列需求:
1)原有业务系统功能的继承、兼容需求;
2)原有信息资源和知识的迁移、继承需求;
3)业务发展将会引起的需求发展趋势;
4)对其它相关业务系统的信息共享、信息整合和功能整合需求;
5)被其它相关业务系统进行信息共享、信息整合和功能整合的需求。
不少软件开发项目尤其是不遵从规划安排而建设的项目,往往以“惟我独尊”的狭隘态度界定需求,既不考虑利用别人的成果,也不考虑让别人利用自己的成果,其结果是建成了星罗棋布、难以整合的一个个信息孤岛,直接阻碍了软件开发的可持续发展。
3.2. 规划的制定和执行
软件开发规划的重要作用之一就是指导软件开发可持续发展。一份好的软件开发规划,应该是以开放性、前瞻性和包容性需求为基础的,所规划的各个项目的建设方案和建设计划应该是符合需求发展的,而且各项目之间应该能够相互利用、相互促进,符合可持续发展要求。
在实际工作中,我们会遇到不少不按整体规划安排而建设的项目。有些本来在规划中作为一个整体项目建设的内容却被随意分拆,整体框架被随意拆散,导致信息孤岛甚至低水平重复建设;有些在规划中需要以其它项目的建设成果为基础条件的建设内容被随意提前独立建设,导致不得不单独增加基础条件重复建设而又不遵守整体框架的约定,无法与其它项目整合;有些项目为强调自身的重要性而拒绝兼顾其它业务的需求;有些项目为强调自身的迫切性而置后续发展于不顾。如此种种不遵守整体规划、部门各自为政、甚至项目组各自为政的无序建设不但造成不必要的浪费,更造就了星罗棋布、大小各异的信息孤岛,给软件开发的可持续发展造成越来越多的障碍。
这种情况的出现,固然有规划本身是否合理的问题,但更多的是规划的地位和权威性是否得到尊重的问题、每个项目的建设者持顾全大局态度还是“惟我独尊”态度的问题。
3.3. 业务流程重组与业务规则重建
软件开发的目的是规范业务行为,提升业务效率与效能,促进业务持续健康发展。用软件系统处理业务,是很讲究明确、统一的业务流程与业务规则的。从这方面讲,软件系统是“忠实”而“死板”的,远没有人那么“圆滑”。而恰好是这种“忠实”和“死板”,能够对业务处理方式以及人的行为起到规范化的作用。
现实中不少业务实际上是缺乏明确、规范的流程和规则的,甚至因人而异,人工处理业务时可以“灵活”待之,但要编成程序就显得无所适从了。还有一些传统人工方式的流程和规则,用软件程序直接实现就会显得很累赘,甚至直接降低了信息系统处理业务应有的效率与效能。
缺乏明确、统一、规范的流程和规则,软件开发无法进行;缺乏合理、优化、高效的流程和规则,软件系统效能低下。因此,软件开发项目的建设,不能只考虑简单地将人工处理业务的方式编成程序,而应该将业务流程和业务规则的梳理、重组和重建作为首要任务,使软件开发的发展与业务流程和业务规则的发展达成有机统一、相互协调。
然而,在相当多的软件开发项目建设中,似乎大家都一窝蜂热衷于网络建设、设备采购,对软件系统也只是着眼于软件开发技术的选择和软件产品的选购,而对业务流程和规则却鲜有人去考虑。即使是在业务领域具有丰富经验的人员,参与软件开发项目建设后也摇身一变成为“网络专家”、“软件专家”,而忘却了自己更应该是“业务专家”,未能在业务流程和规则方面发挥其应有的作用。甚至有不少项目,将业务流程和规则方面的事推给软件开发商去考虑,建设单位自己反而不去考虑。这样建成的信息系统往往是与实际业务相脱节的,难以推广使用,达不到预期目的,更谈不上发展。
业务流程和业务规则的梳理、重组和重建是软件开发的重点,也是难点中的难点,往往会涉及建设单位规章制度的变革,牵涉很多人各自的行为习惯和既得利益,可能需要建设单位上层领导亲自考虑并在制度上作一些必要的创新。这也是为什么软件开发被人们称作为一场“革命”的原因之一。作为决策者的领导,不应漠视之。
3.4. 设计与技术实现
“互联互通”、“预留接口”、“信息共享”、“标准化”、“开放性”等术语几乎在每一份规划书、设计书中都会被郑重地提出来。这些术语无疑都与软件开发可持续发展需求有关。但在实际系统建设中,这些需求有多少被具体描述的?又有多少被具体设计和实现的?
比较普遍的情况是,网络互联互通实现了,但信息互联互通却难以实现;网络资源共享了,但信息资源却无法共享;硬件接口预留了,但软件接口不知在何处;“信息共享”、“标准化”、“开放性”的具体形式不知道是怎么样的——有关这方面的需求往往都成了为应付立项审查而套用的口号,在设计书中没有相应的具体方案设计,在实际系统中更没有具体的技术实现。
设计和开发阶段是落实软件开发可持续发展技术措施的关键阶段。要设计和开发一个具有可持续发展特性的信息系统,就要求设计者和开发者需具有顾全大局的觉悟,具有开放、前瞻、包容的工作态度,至少应从系统架构和信息存储结构两方面采取具体措施。
3.4.1. 系统架构
系统架构尤其是软件架构的设计与实现,在很大程度上决定着整个系统在自身的生命期内的可持续发展特性。一个好的系统架构,应该能够在保持自身架构稳定的情况下,适应业务需求的发展或运行条件的变化而不断修正、扩充和完善。而要做到这样,就必须有具体的方案设计以及具体的软件开发实现,例如具体地考虑下列特性的设计与实现:
1)在同一系统平台上的不同子系统可以由不同的开发商分期建设而能够协同运行;
2)以积木式或接插件式对系统进行局部变更以实现功能修改或扩充;
3)通过修改系统配置或模板配置而无需修改程序就可以满足不同的业务需求;
4)基于技术标准设计并开发各种具体的功能接口和数据接口,并公布接口协议;
5)以积木式配置手段整合其它满足本系统功能接口和数据接口协议的系统;
6)具有具体的功能接口和数据接口让其它系统按约定的协议整合本系统;
7)不依赖特定的硬件设备平台和系统软件平台,使系统的正常运行不受硬件设备更新换代和系统软件升级影响。
一个系统对上述特性的实现程度,直接影响着其生命期的长短以及其继续发展的潜力。对小系统来说,未必会引人注意;但对于一个投资可观的大系统,这种差异是很明显的。
3.4.2. 信息存储结构
信息存储结构的可持续发展特性,表现在系统生命期内能否超越系统自身的信息存储需求而向其它相关系统提供信息共享服务,以及系统生命期结束后信息资源能否顺利迁移和继续积累。一套好的信息存储结构,其设计和实现时至少应该重视下列问题:
1)信息类型及存储不仅满足本系统需求,而且能兼顾其它系统共享数据的需求;
2)实现完善的信息共享机制,包括共享服务功能、共享方式、接口及协议、授权机制、审计机制、安全监控机制等;
3)具有标准的、可扩展的信息编码结构,采用通用的数据格式,可由通用软件对信息进行存取、解释和表现;
4)具有具体的数据导出和数据迁移手段,能够实现对数据及其关系的整体迁移。
是否考虑数据共享服务,是否考虑数据导出和迁移,信息存储结构的设计就不同。如果一个系统的信息存储结构缺乏上述考虑,无疑等于将数据存入黑盒子中,既无法让其它系统共享,也无法在系统更新换代时将信息迁入新系统——其结果是导致信息资源与设备一起被报废。
3.4.3. 措施的具体落实
概括地讲,在设计和开发阶段落实可持续发展措施,就是不仅要考虑系统自身内部的事,同时还要考虑“身外事”和“身后事”。不少系统的设计和开发人员,会认为“身外事”和“身后事”不是他们的份内事,不愿意去认真考虑。这是不符合辨证唯物观和历史唯物观的。这些工程师们有必要提高一些哲学修养和社会觉悟。
需要特别指出的是,落实这些措施需要一定的工作量,甚至需要技术攻关,所以在项目建设费用中应该得到合理的体现。“免费”是实现不了的。
3.5. 运行使用的超越
信息系统的运行使用是一项长期性的工作,其基本任务固然是维护系统长时间正常运行,积极推广使用以达到当前业务软件开发的目的。但对于软件开发的可持续发展,这样还是远远不够的,还应将下列通常容易被人忽视的任务纳入到日常工作中,并给予足够的重视:
1)积累和保护信息资源。
2)充分利用当前系统运行使用的有利时机,积极引导并深层次挖掘新的业务需求,做好分析、归纳,为日后更新改造做好需求积累。这种“主动式”的需求引导和挖掘比在新系统建设启动后才开始的“被动式”的需求调研效果要好得多。
3)评估和总结系统的技术特性,为下一阶段的升级改造作好经验积累。
4)改进和完善系统的功能,延长系统的使用寿命。
5)构思和策划新系统的建设。
此外,在运行使用过程中所积累的需求和经验,也是做好下一轮软件开发规划的重要基础。
信息系统的运行使用应该超越传统观念,积极开展上述工作,并形成运行使用阶段的文档积累。
3.6. 人才队伍与机制保障
人才队伍、资金投入、项目建设与管理制度等,都会不同程度地影响着软件开发的可持续发展。
3.6.1 人才队伍
我们会经常听到这样的感慨:“这次没有经验,下次一定做得更好”。遗憾的是,他也许没有“下次”了。软件开发的建设管理人才队伍难以得到稳定。
软件开发工作是专业性非常强的“隐蔽工程”,需要长期深入钻研并积累经验。建设管理人才队伍的稳定性对软件开发的成败尤其可持续发展至关重要。不稳定的人才队伍难以继承应有的经验,往往导致满腔热情新建设的项目只不过是在低水平重复以前的建设。
3.6.2 资金投入
在资金投入方面容易存在两个认识误区:
1)建设需要资金,但系统运行尤其是软件运行不需要资金;
2)已经“完成”软件开发建设,不需要再建设。
这两个认识误区,一方面导致不少信息系统因缺乏维护经费而缩短了应有的寿命;另一方面导致当业务需求已经发生显著变化时无法对信息系统进行更新换代。这两个误区如果不消除,软件开发就无法持续发展。
3.6.3 项目建设与管理制度
建设规划的执行、项目建设中各种有利于可持续发展的措施的贯彻落实,固然需要当事人员的修养和觉悟,但更需要靠制度来保障。人才队伍、资金投入等都需要长效的制度给予保障。在推进软件开发的过程中,我们应该把制度的建设和执行作为重要的工作来抓。一方面,软件开发建设管理制度尤其是各种有利于软件开发可持续发展的制度、技术标准和规范等需要加快制定和完善,可以考虑制定一些强制性的标准和规范,甚至通过立法确定一些关键的规定;另一方面,对已制定的制度、技术标准和规范,应加大力度监督执行。
4. 结语
软件开发是一个发展的概念。软件开发能够有效改善人类社会的可持续发展,软件开发本身应该随着社会的发展而持续、稳定、协调地发展。信息资源是国家的战略性资源,其是否能够可持续地积累和利用显得尤为重要。我们应该重视软件开发本身的可持续发展问题。影响软件开发可持续发展的因素多种多样,贯穿于软件开发的各个环节,既需要站在战略高度来认识,又需要技术创新与制度创新并重,在各个环节落实具体措施,才能有利于软件开发的可持续发展,从而为人类社会的可持续发展提供持续的有效支持。

此内容DOC下载 此内容PDF下载

【全文完】
关键词标签: 软件开发 
0 (0)
0 (0)

版权声明:

1、陕西弈聪网站内容中凡注明“来源:XXX(非陕西弈聪网站)”的作品,转载自其它媒体,转载目的在于传递更多信息,其中涉及的网站建设,网站优化,百度关键词优化,西安软件开发等技术细节并不代表本站赞同支持其观点,并不对其真实性负责。对于署名“陕西弈聪”的作品系本站版权所有,任何人转载请署名来源,否则陕西弈聪将追究其相关法律责任。

2、本站内容中未声明为“原创”的内容可能源自其它网站,但并不代表本站支持其观点,对此带来的法律纠纷及其它责任与我方无关。如果此内容侵犯了您的权益,请联系我方进行删除。