本发明是关于一种自动化软件系统的产生系统,尤其是关于一种提供给自动化软件产出系统使用的结构化数据结构的产生方法。
背景技术
程序产品(softwareprogramproduct)是现在社会生活不可缺少的一部分,企业的运作或系统所以能够运作多数都必须靠整合完成的程序驱使其运行,达成全自动化运行与控制的目的。现在的程序设计流程通常必须通过系统分析人员(sa,systemanalyst)先了解使用者的需求之后,以一系统说明书表达客户的需求,并交给系统设计师(sd,systemdesigner)进行系统的详细设计(detaildesign),提供书面的详细设计规格书,让程序开发团队所有成员可以了解详细设计的细节,并以指定的程序语言来撰写该设计规格书所要求的程序(softwareprogram)。
现有的软件系统设计说明书的编撰主要使用传统文书编辑器或配合流程图编辑器以文字描述与流程图的方式呈现,这些图表与说明性文字通常只能提供给下游的程序设计师阅读之用。然而,软件系统说明书供软件设计师团队成员阅读,即使该说明书如何详尽,仍然会发生设计师团队成员对信息解读的完整性不足或甚至错误解读的问题。而且,因为阅读式数据传递错误或认知错误,引发后续需求端、系统分析端、设计端三方来回反复沟通与确认,造成拖延软件开发的时程,降低系统发展的生产力。
技术实现要素:
为了解决现有程序设计由需求建立至设计完成的形式容易产生误解进而造成延长开发时间,导致可能提高成本等技术问题,本发明提出一种可以作为自动程序产生模块的输入信息的一结构化设计规格书档案,让整个开发程序由一开始完成规格书确定规划之后,可产生可执行的软件,解决现有技术反复沟通修正、以及延迟开发的技术问题。
本发明的物料表形式的结构化设计规格书产生方法,包括如下步骤:
宣告系统架构与执行流程;
宣告多个组件,该组件为一可编程单元;
以一料号产生器,产生每个组件对应不重复的一料号,多个该组件的组合形成一窗体,其中,该系统架构与执行流程是为窗体与窗体之间的关联性;
定义每个组件的组件特性关系,该组件特性关系为逻辑运算定义、文字、数值、数值范围、属性、输出入链接互动关系或从属关系;以及
产生物料表形式的结构化设计规格书。
其中,该结构化设计规格书的格式为xml或数据库。
其中,每个组件依据从属关系以阶层式编列该料号。
其中,该宣告系统架构与执行流程步骤以一规格书编辑接口,提供一项目结构、一资源列表、一规格编辑区,其中该项目结构定义一项目的流程,该资源列表定义与提供多个该组件,该规格编辑区定义每个组件的组件特性关系。
藉由前述说明可知,本发明所公开的技术特征与方案,达成下列技术效果:
1.所有的人为沟通于设定、产生该结构化设计规格书过程均已经完成,因此,当确认完成该结构化设计规格书之后,即可确定所产生的结果系统执行的结果如该结构化设计规格书所指定,如果程序执行结果非所需或执行动作产生问题,则代表结构化设计规格书的错误而非程序编撰错误。如此,本发明公开的该自动化软件的产生系统可以解决传统程序设计过程需要客户、系统分析师产生程序设计师(programmer)可以理解阅读的流程说明、多组程序设计师阅读流程说明分组编撰程序模块等多级沟通过程,导致信息遗漏、理解错误进而造成开发流程延迟与成本上升的问题。
2.在完成规格设计后即可要求将整个物料表(bom)送至软件工厂予以自动化加工,最终产出对应此项目设计规格内容的应用系统,以供设计者测试与验收。软件工厂的软件程序读取此项目的物料表的内容,完整且正确地解译系统设计师的设计细节,并依此内容全自动地产出可运行的应用系统,而免除了程序设计师(programmer)的介入,不但节省了大量的人力与时间,并且可以控制交期与产出的质量。
附图说明
图1为一自动化软件产生系统的系统方块示意图;
图2为一结果系统显示接口示意;
图3为一规格书产生模块提供的一需求输入用户接口示意图;
图4为该规格书产生模块的功能步骤方块图;
图5为自动化软件产生系统的架构与流程范例示意图。
附图标记说明:
10规格书产生模块
12组件
20系统产生模块
a用户需求
b结果系统。
具体实施方式
请参考图1-2,其为一种自动化软件的产生系统的方块示意图,该自动化软件的产生系统包含一规格书产生模块10以及一系统产生模块20。该规格书产生模块10基于一用户需求a的信息输出一结构化设计规格书,该结构化设计规格书输入该系统产生模块20之后,经过一规格汇入、一组码以及一解编译程序后,输出可以执行的一结果系统b。该结果系统b为一可执行的程序系统,种类不限定,例如是进销存、项目管理、人力资源系统等。该结构化设计规格书的格式可为xml、数据库格式(database)等。
该规格书产生模块10包含默认的多个组件12,每种该组件12对应一料号,每个该组件12所对应的料号于该结构化设计规格书产生之时即产生对应于该每个组件12,其中,该组件12为具有不同功能与目的的一可编程单元。该结构化设计规格书为定义所选择或使用的各组件12的一组件特性关系,该组件特性关系可包含:
(1)组件12的功能:举例而言,该规格书产生模块10所提供的该组件12可以是一运算逻辑、一功能对象等。系统设计师可以选择适当的组件12的组合,产生一窗体、一数据库或一用户接口等。该功能对象可以是一按键、一图形显示单元、一绘图单元等。
(2)组件12的值:可为一文字、一数值、一数值范围等。
(3)组件12的属性:不同组件12可以具有一个以上相同或不同的属性,属性可以依据不同的组件12有所不同,例如,如果是数据型态的组件12,该属性可以是名称、单位、规格等。例如为功能按键的组件12,该属性可以是定义该按键的名称、输入参数、输出参数或执行动作种类等。
(4)组件12的输出入:不同形式的该组件12之间可能具有输出入功能,基于组件12之间的输出入,可定义该组件12与该组件12之间的一链接互动关系,使各组件12之间产生一输出入链接互动关系。所谓的输出入链接互动关系,可以是组件12与组件12之间的数值输出入关系、演算关系或控制关系。
请参考图1-2,图2揭示产生该结构化设计规格书的实施范例,该实施范例先将该用户需求a以一流程架构呈现。举例而言,使用者需求一套进销存系统,必然需要可以进行库存查询的功能的展现需要的流程架构可能包含:
(step1)需求选择项目;
(step2)提供单据查询、供需查询、零件库存查询、库存异动选项;以及
(step3)针对上列step2程序的每个选项提供进一步的功能与程序,例如产生报表或选单或输出结果。
完成前述的流程规划,一系统设计师即可以宣告或定义方式决定所使用的各组件12的该组件特性关系(即功能、属性、输出入链接互动关系),组装与定义该结构化设计规格书所定义的所有组件12,产生输入、处理、输出的关系定义。基于此,当该结构化设计规格书完成正确的定义后,解决现有程序产生过程信息完整度不佳与容易产生误解的问题,除去不必要的上下游沟通,加速软件程序的发展。
请参考图3,为了让结构化设计规格书可以顺利产生,可提供一规格书编辑接口让系统设计师可以选择并有效编辑各组件12的相关定义,该编辑接口可以提供一项目结构、一资源列表、一规格编辑等区块,该项目结构用于定义与宣告执行流程与从属关系架构。该资源列表为每个项目所需要的组件12;该规格编辑区为指定组件12的特性与关系,指定各组件12的功能、属性、数值及/或输出入关系。
请参考图4-5,产生该结构化设计规格书时,该规格书产生模块10可基于步骤流程如下:
s1)宣告系统架构与执行流程:依据用户需求a建立所需要的执行流程与系统架构,所谓的执行流程是指用户未来执行该结果系统b时,希望执行的程序流程。以实际范例说明,以一库存管理系统的一新零件进料功能为范例,用户期待的流程是:
(流程1)产生一新增零件窗体;
(流程2)于该新增零件窗体选择或输入“零件”、“种类”、“规格”与“数量”;及
(流程3)按下“建立”按键,依据所选的“零件”、“种类”、“规格”与“数量”更新一物料数据库。
基于前述的(流程1)~(流程3),本步骤s1必须完成数据库架构、建立上列流程次序及所需对应的组件12(可以设定数量的零件12、可以设定规格的组件12、“建立”按键的组件12等)。
s2)窗体选择与设定:依据前述的该库存管理系统的范例为例,选择默认的窗体格式或者设定窗体格式,并选择适当的组件12于该窗体内。窗体是所选的该组件12的集合。
s3)宣告数据库内容:基于需求,设定数据库的所需字段、格式,其可包含但不限于一数据表、一检视表以及一索引信息。
s4)定义组件12的功能、数值、属性与输出入链接关系:决定/宣告或定义窗体中的每个组件12之间关系;以前述库存管理系统为例,假设该“m4螺丝”的零件库存上有20个,已经低于“安全库存量”,因此进货5000个m4螺丝,因此通过“新增零件窗体”输入零件,该新增零件窗体内其中代表一现有库存的该组件12(代号a)的数值为20;另代表一进料数量的组件12(代号b)填入5000。如此,该新增零件窗体中代表一现有库存显示的组件12(代号c)与该现有库存的该组件12(代号a)、该进料数量的组件12(代号b)的输出入连结关系为c=a+b的加法逻辑关系,因此,通过定义窗体每个组件12、选择具有加法逻辑运算功能的组件12、并设定与宣告逻辑运算关系。
s5)格式转换:将设计师的输入信息转换为结构化格式后储存,完整保存各类设计信息、处理规格以及彼此的关联性。
本发明的该规格书产生模块10中,一项目内的所使用的组件12以一物料表(bom,billofmaterial)格式架构组件12与组件12之间的关系与功能、属性等特征。产生该结构化设计规格书的过程,也就是建立该物料表内部的所有组件12与其之间关系。因此,通过物料表的概念,也就是使用各组件12的宣告与定义逐步规划出此项目的整体、完整的作业架构,让各组件12产生输出入链接互动关系,形成各组件12的各作业节点(processnode)上所要投入的资源(inputresources,即前述数值、属性等)、工法(processrules,即前述的功能),以及产出项目(output)与去处(destination)(即前述的输出入)。基于此,当完成物料表的建立,即可产生物料表内所有组件12所要执行的功能、组件12与组件12的从属关系、互相之间的沟通关系,于储存该结构化设计规格书于数据库内时,即可对应产生每个组件12的对应料号。简言之,本实施例所提供的技术手段,可以让程序系统分析师在了解客户需求之后,基于客户的需求,挑选现有组件12、宣告与定义每个组件12之间的组件特性关系,以物料表的格式归纳所有组件12从属关系与规格,每个组件12均有其专属料号。产生料号的方式可为该规格书产生模块10包含一料号产生器,该料号产生器基于各组件12的从属关系,以阶层形式编排具有从属关系的料号。举例而言,属于按键的组件12可以依据输入参数型态、逻辑操作数件、输出字段等,而编列组件12及其对应的料号,例如,一“确认送出”的按键组件12料号为10000,该“确认送出”为读取“输入参数”组件12(料号10100)数值与“字符串”组件12(料号10200),使一“输出绘图”组件12(料号10300)产生一图形输出,其中,“输出绘图”组件12使用一坐标轴转换组件(料号10310)以及一色块产生组件(料号10320)而达成绘图输出。如此,每个使用的组件12可产生有阶层式关系、不重复的料号。料号的编排与关连性非限定于前述的范例,举例而言,为了确认组件12对应料号之间上、下位阶关连,可在每个组件12的属性定义或标注上一个位阶的该组件12,如此,使每个组件12与其对应料号产生从属关系,便于用于产生该结构化设计规格书。
该系统产生模块20进行下列步骤,产生结果系统:
规格汇入:由规格书产生模块10输入/汇入该结构化设计规格书。
组码:该系统产生模块20基于该结构化设计规格书中所有的该组件12的组件特性关系,解析系统架构,产生窗体、数据库、用户接口布局。其中,该系统产生模块20依据所解析的系统架构,产出一系统主选单以及相关连结;由该数据库的规划内容,产出数据库模式(databaseschema);且依据定义的各组件12,建立所定义的各窗体的数据处理需求。利用内部储存与预先定义每个组件12所对应的程序,组合成为完整的处理程序,包含数据库的指令。举例而言,组码程序基于结构化设计规格书定义每一个组件12之间的属性、运算逻辑、输出入关系、数值关系等,依据所定义的次序,组合组件12与组件12的程序段落,产生一系统程序码组合。
编译程序:该系统产生模块20取整合完成的系统程序码组合,进行编译(compile)或是演绎,产生该结果系统。
藉由前述说明可知,本发明所公开的技术特征与方案,达成下列技术功效:
1.所有的人为沟通于设定、产生该结构化设计规格书过程均已经完成,因此,当确认完成该结构化设计规格书之后,即可确定所产生的结果系统执行的结果如该结构化设计规格书所指定,如果程序执行结果非所需或执行动作产生问题,则代表结构化设计规格书的错误而非程序编撰错误。如此,本发明公开的该自动化软件的产生系统可以解决传统程序设计过程需要客户、系统分析师/系统设计师产生程序设计师可以理解阅读的流程说明、多组系统设计师阅读流程说明分组编撰程序模块等多级沟通过程,导致信息不足、信息遗漏、理解错误进而造成开发流程延迟与成本上升的问题。
2.在完成规格设计后即可要求将整个物料表(bom)送至软件工厂予以自动化加工,最终产出对应此项目设计规格内容的应用系统,以供设计者测试与验收。软件工厂的软件程序读取此项目的物料表的内容,完整且正确地解译设计师的设计细节,并依此内容全自动地产出可运行的应用系统,而免除了程序设计师(programmer)的介入,不但节省了大量的人力与时间,并且可以控制交期与产出的质量。