技术领域
[0001] 本发明涉及计算机软件设计与开发领域,尤其涉及一种基于数据流和元件的软件设计方法、软件设计工具和软件运行平台。
相关背景技术
[0002] 目前软件设计开发需要软件开发人员根据用户的业务需求进行针对性的产品功能设计、系统架构设计、数据结构设计,然后再根据设计由开发人员进行程序编码开发,开发完成后既交付用户一个具有固定(按用户需求开发的)功能的软件系统。由于不同的用户业务需求不同,需要的软件功能也是不同的,传统的软件设计与开发方法,不能灵活适应不同用户提出的不同的业务需求。
具体实施方式
[0021] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
[0022] 如图1至图2所示,本发明提供了一种基于数据流和元件的软件设计方法,包括如下步骤,
[0023] S1、设计并开发出各种软件元件;
[0024] S2、将各种软件元件集合起来形成软件元件库;
[0025] S3、根据实际软件系统的业务需求从软件元件库中选择需要的软件元件,并将各软件元件连接在一起,动态组成完整的软件设计方案;
[0026] S4、将软件设计方案存储为文件形式的软件设计方案图;
[0027] S5、将软件设计方案图上传、部署到软件运行平台中,由所述软件运行平台运行所述软件设计方案。
[0028] 本实施例中,通过采用上述软件设计方法,可以将软件系统的开发拆分成软件元件的设计与开发、软件业务功能(软件设计方案)的设计以及软件部署运行(部署到符合本设计方法规范的通用运行平台(环境)中),同时,软件元件可以被重复的使用。随着软件元件越来越丰富,将形成丰富的软件元件库,后续的软件开发将更多的是软件设计方案图的设计工作;本发明中的软件设计方法,能够将软件元件的开发、软件系统业务功设计(软件设计方案)与软件交付(部署到软件运行平台(环境))中完全分离,极大程度上提高了软件设计、开发、交付效率。
[0029] 本实施例中,为各软件元件定义若干数据流入接口和数据流出接口;各软件元件本身的数据流入接口与其他软件元件的数据流出接口相连接,同时各软件元件本身的数据流出接口与其他软件的数据流入接口相连接。所述数据流出接口和所述数据流入接口就是设计在元件上的插槽,各软件元件之间通过插槽连接,形成软件设计方案图。
[0030] 本实施例中,所述软件元件也就是软件模块。将软件模块化,能够使其集成度更高,在使用的时候可以通过更换软件元件或者改变软件元件的连接顺序,实现软件设计方案的改变。
[0031] 如图3至图4所示,本发明还提供一种基于数据流和元件的软件设计工具,所软件设计工具包含若干数据流,所述各软件元件本身的数据流入接口经数据流与其他软件元件的数据流出口连接;所述各软件元件本身的数据流出接口经数据流与其他软件元件的数据流入接口相连。
[0032] 本实施例中,所述软件设计工具根据实际软件系统的业务需求选择相应的软件元件,之后通过数据流将各软件元件连接起来,组成完整的软件设计方案,并将软件设计方案存储为文件形式的软件设计方案图。
[0033] 本实施例中,所述软件设计工具采用现有的基本设计方法进行设计。
[0034] 本实施例中,软件设计工具是基于数据流和元件的软件设计方法的思想,辅助软件方案设计人员进行软件方案设计的软件工具,主要包括以下几个功能:
[0035] 1、元件库管理功能,实际对元件的注册、删除、更新、升级等等功能;可以将开发人员开发完成的元件注册到此软件设计工具中,并通过此工具可以很方便的查找元件、查看元件支持的功能、元件接口的介绍,以及对元件进行管理维护;
[0036] 2、图形化软件设计方案设计工作台;软件设计人员可以将元件添加到设计工作台的画布上,在工作台画布上已经添加好的元件会以图形的方式形象的展示出来,同时明显标示出元件的数据流入口与流出口,并且可随意拖动元件的位置,方便软件方案设计人员观察、设计各个元件的关系;
[0037] 3、数据流线动态联系元件功能;在此软件设计工具中提供了数据流线的设计工具,设计人员通过此数据流线工具,可以可视化的连接各个元件的数据流入/流出接口。
[0038] 本实施例中,所述数据流也就是数据线。
[0039] 本发明还提供了一种软件运行平台,所述软件运行平台用于运行软件设计方案图。
[0040] 本实施例中,将文件形式的软件设计方案图上传、部署到软件运行平台中;所述软件运行平台将根据部署在其内部的文件形式的软件设计方案图运行软件设计方案。
[0041] 本实施例中,所述软件运行平台采用现有的基本设计方法进行设计。
[0042] 本实施例中,此软件运行平台,是基于数据流和元件的软件设计方法的思想,开发出来的可供软件实际运行的环境,此环境中提供了如下功能:
[0043] 1、元件库服务,实现对元件注册、删除、更新、升级等;
[0044] 2、软件设计方案的部署、更新、升级、卸载等功能;
[0045] 3、软件运行平台环境的启动、停止、重启等平台性的功能。
[0046] 本实施例中,首先设计并开发出软件系统中需要的各种软件元件,并为这些软件元件定义数据流入接口(插槽)以及数据流出接口(插槽),将各软件元件集合起来形成软件设计时所需各种软件的元件库。之后使用软件设计工具,从元件库中选取所需的软件元件,通过软件设计工具中提供的数据流,将挑选出来的各个软件元件连接起来,最终形成一个大的软件元件组,也就是软件设计方案,并将该软件设计方案以文件的形式进行存储,以得到软件设计方案图;将文件形式的软件设计方案图上传部署到软件运行平台中,进行运软件运行平台运行所述软件设计方案。
[0047] 本实施例中,可以将软件的开发与软件业务功能设计有机的分离,使软件开发人员专注于软件元件的开发,形成丰富的元件库,软件方案设计人员则专注于用户业务功能、业务流程的设计上,根据软件业务需求设计具体的软件设计方案图;最终只需将软件设计方案图部署到基于本设计方法实现的软件运行平台上,即形成了一个完整的软件系统;最终交付客户的是一个通用的软件运行平台以及根据用户业务需求设计的软件设计方案图,后期如果业务需求发生变化需要调整,只需要改变软件设计方案图即可,解决了因为业务需求变更,需要技术人员重新开发的问题。如图3和图4所示,通过选择不同的软件元件,将其进行不同形式的连接,可以形成不同的软件设计方案。
[0048] 本实施例中,通过设计软件元件,将软件元件通过数据流进行连接形成软件设计方案,并将软件设计方案图导入运行平台去运行,将软件设计方案虚拟化,当在运行平台上运行过程中或者是客户需求变化时,可以通过更改软件设计方案,并参照运行平台的运行过程进行调整修正,避免技术人员重新开发软件。
[0049] 通过采用本发明公开的上述技术方案,得到了如下有益的效果:
[0050] 本发明通过提供一种基于数据流和元件的软件设计方法、软件设计工具和软件运行平台,解决了传统软件设计、开发方法不能灵活适应各种不同业务需求的问题;同时可以将软件的开发与软件业务功能设计有机的分离,使软件开发人员专注于软件元件的开发;软件方案设计人员则专注于用户业务功能、业务流程的设计上;交付客户的是一个通用的软件运行平台以及根据用户业务需求设计的软件设计方案图,后期如果业务需求发生变化需要调整,只需要改变软件设计方案图即可,解决了因为业务需求变更,需要技术人员重新开发的问题。
[0051] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。