软件设计在金融软件开发时的作用

作者:adminy 发布时间:2019-10-21 浏览量:

  软件设计是以全局观点将金融软件开发系统的需求具体实现用陈述方式描述出来,使之接近源代码。设计过程分为两个基本步骤:第一步是初步设计,关注于如何将需求转化成数据和软件框架;第二步是详细设计,用数据结构和算法来细化框架的实现。


  在软件设计的步骤中包括以下四个要素,这四个要素既包含了软件设计的内容,又体现了设计的价值:


  1、结构设计:确定并定义软件系统各个功能模块之间的关系。


  2、数据设计:将模型转换成数据结构的定义。通俗地说,就是用数据库或程序中专有名词或属性来实例化生活中抽象的概念或事物。


  3、接口设计:定义软件内部、软件和操作系统之间、软件和用户之间的通信接口。


  4、过程设计:用形象的图形和简单的代码来预设功能的交互以及用户的操作流程。


  金融软件开发和其它耗费人力、物力、财力的工程一样,需要对客户的需求和要求进行全面的设计,以满足客户的需求,并保证软件持续良好地运作。从设计的具体内容中可以看出,软件设计在金融软件开发过程中扮演着承上启下、牵动全局的角色。


  1、实现需求的蓝图


  在金融软件开发过程中,需求是决定做什么,而设计是决定要怎么做。充分的软件设计可以精细地描述实现思路、实现方法、功能的关联与衔接。在实际情况中,客户的需求存在多样性和变动性,而良好的设计架构和模式很大程度上可以应对多种需求。


  2、编码的基础和前提


  编码过程是严谨的逻辑思维过程,页面展示与后台数据之间的关联、各个功能模块之间的跳转等等,这些功能的实现需要基于整体框架。软件设计就是基于整体框架的模块化设计,在逻辑上将软件分割成各个部分,用以实现特定的功能和子功能,在各个功能独立的前提下,降低模块之间及其与外部环境的连接复杂性,使得层次结构分明,软件各部分之间的控制更加明智。另外,软件设计中不仅描述着清晰且可分离的数据和过程,还定义了满足软件需求的可重复方法。充分合理的设计就是编码的基础,有助于节省编码时间、提高编码质量。


  3、软件运行和维护的重要保证


  软件运行和维护的实质是向客户提供软件服务,软件发布的开始就是真正验证开发成果的时候。随着后期客户需求的不断变更以及新需求的提出,在现有的软件基础上很难更新已有的功能,或是延展出新型的功能。可见,优质的软件设计是软件运行和维护的重要保证。因为软件设计就是对具体需求的设计和实现,直接关系到需求的传递和渗透、编码的合理性和有效性、软件的可扩展性和可移植性。


  软件开发人员在反馈客户的问题时,经常抱怨软件设计本身就存在缺陷或漏洞,而软件的不规范会直接给软件造成一些不好的影响。


  1、引发时间成本。错误或不合理的设计导致开发结果不符合需求,需要修正设计、更改或重写代码。开发人员投入了很多无效的劳动时间,整个软件开发周期也受到影响;


  2、影响软件质量。很多软件问题会在交付后,或者多次功能更新后产生。由于当初设计的不够全面,或者耦合度太高,导致各个功能直接匹配不上或是相互影响;


  3、影响开发团队的士气。开发团队的时间受到压缩,质量受到质疑,打击了团队开发的积极性,并产生恶性循环;


  4、资金损失。项目周期有限,在错误或不合理的软件设计下开发完成并按时交付的软件产品,将得不到客户的认可。客户会要求更正错误,自然会带来新开发的成本。更重要的是,产品将很难销售出去,得不到投资回报;


  5、名声受损。由于从设计到开发,再到产品交付,周期很长。反复更新设计,软件质量长时间内难以满足客户的要求。致使业务客户失去耐心,必然将怀疑项目的团队能力,公司的名声也会受到影响。


  由于不规范的软件设计会造成上述诸多严重的后果,说明软件设计对于软件开发来说,是至关重要的环节,它直接影响着需求实现、产品质量和研发成本。所以,重视软件设计,对于软件公司是极有必要的。在金融软件开发过程中软件设计应该注意以下几点:


  (1)建立更改控制过程来应对用户的典型的变动。用户的需求是多变的,但是变化的形式不可能超出指定的行业或业务。基于业务的纯熟度,制定各种控制过程和方法,应对变动的业务需求;


  (2)拟定模块测试方案。再好的理论都需要实践检验,制定相应的测试方案和需要测试的功能点才能检验出设计的逻辑性、合理性、适应性;


  (3)分类软件开发的各个过程切莫过于精细。过于细致的划分会使得各项工作过于紧凑,没有弹性,很容易出现报告的任务完成进度跟不上实际的项目进度,从而导致项目的延期。


  随着时代的发展,软件设计方法在不断进化,并且经过反复的测试和细化,可以良好地将信息领域的表达转换为软件设计的表达机制,最终实现以友好界面的形式与客户进行交互。在设计模式和设计方案符合实际用途的基本前提下,优良的软件设计将带来多方面的益处:便于程序评价和技术交流、提高研发人员之间的沟通效率,从而减少误差错;使得软件开发过程更易管理;缩短软件开发周期;提高软件的可靠性、可维护性和可移植性;提高软件的生产率;降低软件产品的研制成本和运行维护成本。正因为软件设计的好坏对整个软件开发过程有着至关重要的影响,所以软件项目实施过程中,一定要认真关注软件的设计,为制作出优秀产品打下坚实的基础。