一种文档与代码一体化的管理系统和方法与流程

文档序号:16529137发布日期:2019-01-05 10:35阅读:225来源:国知局
一种文档与代码一体化的管理系统和方法与流程

本发明涉及软件开发技术领域,具体地是涉及一种文档与代码一体化的管理系统和方法。



背景技术:

随着社会的不断进步,市场竞争的激烈程度不断增强,软件系统的逐渐复杂化,传统的软件过程管理系统已不再适应于当前大部分的软件开发流程,其主要缺陷如下:

1)文档在更新过程中未能即时归档,导致需求方、协调方、开发方、测试方信息不对等的风险,增加了沟通成本。

2)文档未与代码建立完全关联,导致文档与代码分化各成体系,不便于追述需求的产生、变更到最终实现的版本及原由。

因此,本发明的发明人亟需构思一种新技术以改善其问题。



技术实现要素:

本发明旨在提供一种文档与代码一体化的管理系统和方法,其通过建立需求与代码一一对应、版本一致的管理方式,为需求方、协调方、设计方、开发方、测试方、运维方等建立不同角度的视图,从而使各方便捷的掌控项目进度,降低沟通成本;同时有利于更好的管理、控制整个项目的进度、成本、质量和对外服务水平。

为解决上述技术问题,本发明的技术方案是:

一种文档与代码一体化的管理系统,包括:

需求管理模块,用于供需求方发起需求,协调方进行进一步整理,并由需求方进行确认,形成最终确认需求;

系统设计模块,用于供设计方根据最终确认需求,进行系统设计,所述系统设计包括但不限于任务拆分、工期评估、模块设计和任务分配;

编码管理模块,用于供开发人员按照系统设计的要求进行编码和改进;

测试管理模块,用于供测试人员对代码进行测试;

运维管理模块,用于供运维方对代码进行在线发布并对外提供服务;

关联关系建立模块,用于建立需求管理模块、系统设计模块、编码管理模块和/或测试管理模块之间的关联关系;

存储模块,用于对需求管理模块、系统设计模块、编码管理模块、测试管理模块和/或关联关系建立模块中产生的文档和代码进行保存。

优选地,所述系统设计模块具体包括:

任务拆分单元,用于将最终确认需求根据业务相关性和可拆分性进行任务拆分,拆分出的任务包括但不限于编码任务和测试任务;

工期评估单元,用于根据任务拆分情况至下而上进行工期汇总,由设计人员进行整体评估,并确认其合理性;

模块设计单元,用于供设计人员根据模块相关性,定义业务结构;

任务分配单元,用于进行任务分配。

优选地,所述编码管理具体包括:

编码任务接收单元,用于供开发人员收到被分配的编码任务后,参考最终确认需求进行理解和确认;在此过程中若产生疑问,通过在线或离线的方式与协调人员进行沟通,并进行记录;

任务编码单元,用于根据模块设计单元提供的业务结构,对其进行填充和业务实现;当实现过程中出现疑惑时可与设计人员进行沟通,并进行补充完善;

bug修订单元,用于对测试过程反馈回的bug进行修订;

任务提交单元,用于完成任务编码或bug修订后,进行检查确认,并提交给测试人员。

优选地,所述测试管理模块具体包括:

测试任务接收单元,测试人员收到被分配的测试任务后,参考最终确认需求需求进行理解和确认;在此过程中若产生疑问,通过在线或离线的方式与协调人员进行沟通,并进行记录;

用例编写单元,用于根据模块设计单元提供的业务结构,进行测试用例的编写,并保存;

系统测试单元,用于根据开发人员提交的测试任务进行常规系统测试,并在系统中记录bug,并对开发人员发起bug修订通知;

系统上线单元,用于当所有bug修订完成或经确认无需修订,由测试人员发起系统上线流程。

优选地,所述需求确认模块具体包括:

需求发起单元,用于供需求方将需求进行简单描述,并发起需求申请;

需求整理单元,用于供协调方根据需求申请,与需求方进一步沟通,并将相关内容进行文字化、图形化、原型化,清晰、明确的表达需求细节;

需求确认单元,用于供需求方对协调方提供的需求细节进行确认和补充,并形成最终确认需求;

资源协调单元,用于根据最终确认需求,协调相关资源并将其数量、使用时间等相关信息录入至存储模块中,其中相关资源包括但不限于人力资源、软件资源、硬件资源。

一种文档与代码一体化的管理方法,包括如下步骤:

需求管理步骤,由供需求方发起需求,协调方进行进一步整理,并由需求方进行确认,形成最终确认需求;

系统设计步骤,设计方根据最终确认需求,进行系统设计,所述系统设计包括但不限于任务拆分、工期评估、模块设计和任务分配;

编码管理步骤,开发人员按照系统设计的要求进行编码和改进;

测试管理步骤,测试人员对代码进行测试;

运维管理步骤,运维方对代码进行在线发布并对外提供服务;

关联关系建立模块,建立需求管理步骤、系统设计步骤、编码管理步骤和/或测试管理步骤之间的关联关系;

存储步骤,用于对需求管理步骤、系统设计步骤、编码管理步骤、测试管理步骤和/或关联关系建立步骤中产生的文档和代码进行保存。

优选地,所述系统设计步骤具体包括:

s21:将最终确认需求根据业务相关性和可拆分性进行任务拆分,拆分出的任务包括但不限于编码任务和测试任务;

s22:根据任务拆分情况至下而上进行工期汇总,由设计人员进行整体评估,并确认其合理性;

s23:设计人员根据模块相关性,定义业务结构;

s24:进行任务分配。

优选地,所述编码管理步骤具体包括:

s31:开发人员收到被分配的编码任务后,参考最终确认需求进行理解和确认;在此过程中若产生疑问,通过在线或离线的方式与协调人员进行沟通,并进行记录;

s32:根据业务结构,对其进行填充和业务实现;当实现过程中出现疑惑时可与设计人员进行沟通,并进行补充完善;

s33:对测试过程反馈回的bug进行修订;

s34:完成任务编码或bug修订后,进行检查确认,并提交给测试人员。

优选地,所述测试管理步骤具体包括:

s41:测试人员收到被分配的测试任务后,参考最终确认需求需求进行理解和确认;在此过程中若产生疑问,通过在线或离线的方式与协调人员进行沟通,并进行记录;

s42:根据业务结构,进行测试用例的编写,并保存;

s43:根据开发人员提交的测试任务进行常规系统测试,并在系统中记录bug,并对开发人员发起bug修订通知;

s44:当所有bug修订完成或经确认无需修订,由测试人员发起系统上线流程。

优选地,所述需求管理步骤具体包括:

s11:需求方将需求进行简单描述,并发起需求申请;

s12:协调方根据需求申请,与需求方进一步沟通,并将相关内容进行文字化、图形化、原型化,清晰、明确的表达需求细节;

s13:需求方对协调方提供的需求细节进行确认和补充,并形成最终确认需求;

s14:根据最终确认需求,协调相关资源并将其数量、使用时间等相关信息录入至存储模块中,其中相关资源包括但不限于人力资源、软件资源、硬件资源。

采用上述技术方案,本发明至少包括如下有益效果:

本发明所述的文档与代码一体化的管理系统和方法,通过建立需求与代码一一对应、版本一致的管理方式,为需求方、协调方、设计方、开发方、测试方、运维方等建立不同角度的视图,从而使各方便捷的掌控项目进度,降低沟通成本;同时有利于更好的管理、控制整个项目的进度、成本、质量和对外服务水平。

附图说明

图1为本发明所述的文档与代码一体化的管理系统的结构示意图;

图2为本发明所述的文档与代码一体化的管理方法的流程图;

图3为本发明所述的需求管理步骤的流程图;

图4为本发明所述的系统设计步骤的流程图;

图5为本发明所述的编码管理步骤的流程图;

图6为本发明所述的测试管理步骤的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

如图1所示,为符合本实施例的一种文档与代码一体化的管理系统,包括:

需求管理模块,用于供需求方发起需求,协调方进行进一步整理,并由需求方进行确认,形成最终确认需求;

系统设计模块,用于供设计方根据最终确认需求,进行系统设计,所述系统设计包括但不限于任务拆分、工期评估、模块设计和任务分配;

编码管理模块,用于供开发人员按照系统设计的要求进行编码和改进;

测试管理模块,用于供测试人员对代码进行测试;

运维管理模块,用于供运维方对代码进行在线发布并对外提供服务;

关联关系建立模块,用于建立需求管理模块、系统设计模块、编码管理模块和/或测试管理模块之间的关联关系;

存储模块,用于对需求管理模块、系统设计模块、编码管理模块、测试管理模块和/或关联关系建立模块中产生的文档和代码进行保存。

优选地,所述系统设计模块具体包括:

任务拆分单元,用于将最终确认需求根据业务相关性和可拆分性进行任务拆分,拆分出的任务包括但不限于编码任务和测试任务;

工期评估单元,用于根据任务拆分情况至下而上进行工期汇总,由设计人员进行整体评估,并确认其合理性;

模块设计单元,用于供设计人员根据模块相关性,定义业务结构;

任务分配单元,用于进行任务分配。

优选地,所述编码管理具体包括:

编码任务接收单元,用于供开发人员收到被分配的编码任务后,参考最终确认需求进行理解和确认;在此过程中若产生疑问,通过在线或离线的方式与协调人员进行沟通,并进行记录;

任务编码单元,用于根据模块设计单元提供的业务结构,对其进行填充和业务实现;当实现过程中出现疑惑时可与设计人员进行沟通,并进行补充完善;

bug修订单元,用于对测试过程反馈回的bug进行修订;

任务提交单元,用于完成任务编码或bug修订后,进行检查确认,并提交给测试人员。

优选地,所述测试管理模块具体包括:

测试任务接收单元,测试人员收到被分配的测试任务后,参考最终确认需求需求进行理解和确认;在此过程中若产生疑问,通过在线或离线的方式与协调人员进行沟通,并进行记录;

用例编写单元,用于根据模块设计单元提供的业务结构,进行测试用例的编写,并保存;

系统测试单元,用于根据开发人员提交的测试任务进行常规系统测试,并在系统中记录bug,并对开发人员发起bug修订通知;

系统上线单元,用于当所有bug修订完成或经确认无需修订,由测试人员发起系统上线流程。

优选地,所述需求确认模块具体包括:

需求发起单元,用于供需求方将需求进行简单描述,并发起需求申请;

需求整理单元,用于供协调方根据需求申请,与需求方进一步沟通,并将相关内容进行文字化、图形化、原型化,清晰、明确的表达需求细节;

需求确认单元,用于供需求方对协调方提供的需求细节进行确认和补充,并形成最终确认需求;

资源协调单元,用于根据最终确认需求,协调相关资源并将其数量、使用时间等相关信息录入至存储模块中,其中相关资源包括但不限于人力资源、软件资源、硬件资源。

优选地,还包括一分析模块,用于在项目过程中随时自动总结经验教训。需求变更原因,设计变更原因,编码变更原因,bug记录等信息自动总结、汇总、周期性呈报。

实施例2

如图2所示,为符合本实施例的一种文档与代码一体化的管理方法,包括如下步骤:

需求管理步骤,由供需求方发起需求,协调方进行进一步整理,并由需求方进行确认,形成最终确认需求;

系统设计步骤,设计方根据最终确认需求,进行系统设计,所述系统设计包括但不限于任务拆分、工期评估、模块设计和任务分配;

编码管理步骤,开发人员按照系统设计的要求进行编码和改进;

测试管理步骤,测试人员对代码进行测试;

运维管理步骤,运维方对代码进行在线发布并对外提供服务;

关联关系建立模块,建立需求管理步骤、系统设计步骤、编码管理步骤和/或测试管理步骤之间的关联关系;

存储步骤,用于对需求管理步骤、系统设计步骤、编码管理步骤、测试管理步骤和/或关联关系建立步骤中产生的文档和代码进行保存。

优选地,所述系统设计步骤具体包括:

s21:将最终确认需求根据业务相关性和可拆分性进行任务拆分,拆分出的任务包括但不限于编码任务和测试任务;

s22:根据任务拆分情况至下而上进行工期汇总,由设计人员进行整体评估,并确认其合理性;

s23:设计人员根据模块相关性,定义业务结构;

s24:进行任务分配。

优选地,所述编码管理步骤具体包括:

s31:开发人员收到被分配的编码任务后,参考最终确认需求进行理解和确认;在此过程中若产生疑问,通过在线或离线的方式与协调人员进行沟通,并进行记录;

s32:根据业务结构,对其进行填充和业务实现;当实现过程中出现疑惑时可与设计人员进行沟通,并进行补充完善;

s33:对测试过程反馈回的bug进行修订;

s34:完成任务编码或bug修订后,进行检查确认,并提交给测试人员。

优选地,所述测试管理步骤具体包括:

s41:测试人员收到被分配的测试任务后,参考最终确认需求需求进行理解和确认;在此过程中若产生疑问,通过在线或离线的方式与协调人员进行沟通,并进行记录;

s42:根据业务结构,进行测试用例的编写,并保存;

s43:根据开发人员提交的测试任务进行常规系统测试,并在系统中记录bug,并对开发人员发起bug修订通知;

s44:当所有bug修订完成或经确认无需修订,由测试人员发起系统上线流程。

优选地,所述需求管理步骤具体包括:

s11:需求方将需求进行简单描述,并发起需求申请;

s12:协调方根据需求申请,与需求方进一步沟通,并将相关内容进行文字化、图形化、原型化,清晰、明确的表达需求细节;

s13:需求方对协调方提供的需求细节进行确认和补充,并形成最终确认需求;

s14:根据最终确认需求,协调相关资源并将其数量、使用时间等相关信息录入至存储模块中,其中相关资源包括但不限于人力资源、软件资源、硬件资源。

优选地,还包括一分析步骤,用于在项目过程中随时自动总结经验教训。需求变更原因,设计变更原因,编码变更原因,bug记录等信息自动总结、汇总、周期性呈报。

下面具体阐述本发明。

一、需求管理,参见图3:由需求方发起需求,协调方进行进一步整理,并最终由需求方确认的过程。最终确认的的需求作为后续设计方、开发方、测试方进行相关工作的依据。

1.发起需求,需求方在该模块将需求进行简单描述,并发起申请。

2.整理需求,协调方根据发起需求的相关申请,与需求方进一步沟通,并将相关内容进行文字化、图形化、原型化以便能够清晰、明确的表达需求所述内容。需求根据业务整理为不同规模和等级的具备需求层级关系的需求树。

3.需求确认,需求方根据协调方整理的需求细节,给予确认,要求其进行后续操作。或针对细节提出补充,要求完善。整个过程至下而上进行(由末级节点开始确认)。

4.资源协调,根据需求方确认后的需求,协调相关资源,包括但不限于:人力资源、软件资源、硬件资源等,并将其数量、使用时间等相关信息录入至系统中。

二、系统设计,参见图4:由设计方根据需求管理模块中提供的经确认的需求,进行相关任务拆分、工期评估、模块设计、任务分配等工作。

1.任务拆分:将需求根据业务相关性和可拆分性进行任务拆分。拆分粒度最终达到0.25至1个工作日为宜(任务树的末级节点),在此不做限制。其中拆分过程中可包括风险项,在此不做限制。任务拆分与需求相关联。最终形成层级分明的任务树状结构。可将一个需求拆分为一个或多个任务。

2.工期评估:根据任务拆分情况进行至下而上进行工期汇总,由设计人员进行整体评估,确认其合理性。

3.模块设计:设计人员根据模块相关性,定义出业务结构,如业务对应的模块的名称,业务模块对外公布的方法名称等(即:公有类、属性、方法、常量、枚举等)。具体地,包括创建、修改,具体类和方法的对外公用部分(public部分)的名称,参数(不必完成内部业务的编码),可在其内部进行标记(如:todo,fixme等在此不做限制)。装置通过编译、反射或文本解析等方式获取类、方法等信息用于装置可视化展示设计结构以及用于进度跟进等其他相关业务。

编码人员进行编码时按照此业务结构进行填充并实现具体业务。最后将所有的内容形成一份完整的代码(以需求、说明为注释,设计、编码为业务逻辑)。测试通过后将完整代码进行发布。4.任务分配:根据拆分任务所需技能、人员技能、人员空闲程度等进行相关任务分配。使人、事、文档相互关联。

三、编码管理,参见图5:开发人员对所分配任务进行确认、编码、改进、提交的过程。

1.任务接收:开发人员收到被分配的任务后,参考需求进行理解,并确认的过程。在此过程中若产生疑问,通过在线或离线的方式与协调人员进行沟通,并在系统中进行补充、备注,最后确认。

2.任务编码:根据模块设计提供的系统框架,对其进行填充和业务实现。当实现过程中出现疑惑时可与设计人员进行沟通,并进行补充完善。(将具体的编码保存到系统中)

3.bug修订:根据测试管理内系统测试中提供的bug列表修正现有系统存在问题。在此过程中存在不能理解、不能重现的问题可与测试人员沟通。

4.任务提交:完成任务编码或bug修订后,进行检查确认,并提交给测试进行相关验证工作。

四、测试管理,参见图6:

1.任务接收:测试人员收到被分配的任务后,参考需求进行理解,并确认的过程。在此过程中若产生疑问,通过在线或离线的方式与协调人员进行沟通,并在系统中进行补充、备注,最后确认。

2.用例编写:测试人员根据模块设计提供的系统框架,进行测试用例的编写,并存于系统中。

3.系统测试:测试人员根据开发人员提交的任务进行常规系统测试,并在系统中记录bug,并对开发人员发起bug修订通知。

4.系统上线:当所有bug修订完成或经确认无需修订,由测试人员发起系统上线流程。(具体流程在此不做限制)

五、关联关系建立和存储:

1.任务分解后与对应的需求建立关联关系。

2.模块设计与对应的任务建立关联关系。

3.编码内容与对应的模块设计建立关联关系。

4.测试与模块设计建立关联关系。

5.模块设计、编码都以原文件保留至系统中。

六、运维管理:提供代码在线发布,代码在测试通过后直接在线发布并对外提供服务。测试与上线时系统将源文件进行编译,形成对应二进制信息,系统动态调用二进制信息对外提供服务。确保运行系统与代码一致性。

直接在线发布即:设计的结构、开发的编码这些都是组织成一个在线的代码库的,测试通过后直接在线发布(在线编译、加载、对外提供服务),能够方便的查看当前在线运行的代码,并能够在线调整再次发布。这个一体化是从需求、设计、开发、测试、运维的一体化,一个完整的持续运维的过程。

发布之后,有变更,可重新进行整个流程,而此时可能不需要改动设计只需要拆分任务、评估工期等由编码人员适时改动原有逻辑,衍生新的版本。每次代码保存都对应一个临时版本,通过此版本可以查看代码变更过程。代码发布时将发布代码的版本号进行锁定,该版本称作发布版本。临时版本在一定条件下会进行清除。而发布版本将进行永久保留。整个过程可脱离原有的桌面环境ide进行,在此不作限制。

即本案所述重点为一体化管理文档和代码:

1、需求、设计、编码、bug进行关联,历史版本可追述,各版本相互关联的对应关系。一条需求可拆多个任务(从而决定工期),多个任务可汇总到一个设计(即:一个类,从而决定对外公布的公共接口),一个设计对应多段编码(即:类中各方法的具体实现),一段编码可以有多个bug。当进行一个新版本时陆续进行各业务(需求、设计、编码、测试)的开启和关闭工作。开启后方可执行此段业务,关闭后即对应版本结束。其中存在:一个需求版本对应多个设计版本的情况;一个设计版本对应多个编码版本的情况;一个编码版本对应多个测试用例版本。

2、项目过程中随时自动总结经验教训。需求变更原因,设计变更原因,编码变更原因,bug记录等信息自动总结、汇总、周期性呈报。

3、测试管理模块中的用例编写,并非传统意义的测试用例编写,而是通过设定参数和预期返回值的方式,编写测试用例。而使用例能够在系统自动进行验证。

4、测试管理模块中的系统上线,并非将编码经过传统意义的编译、打包、上线。而是通过测试的编码进行发布,使得系统能够直接利用此编码对外提供服务。

本发明通过将需求、任务、编码、测试等相关信息关联,并将代码进行在线维护、发布以建立文档、编码的一致性关系。并实时反馈项目实施情况。由于需求、任务、编码、测试记录、修订记录形成关联,增强信息一致性,降低沟通成本。整个项目过程可回述、便于总结经验教训,便于无形资产的保留。另外进度、成本、质量,可通过不通视图对不同角色展示有利于实时掌控项目,降低项目风险。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1