在需求迁移里,IBM DOORS Next最容易出问题的不是导不进去,而是导进去以后结构不对,原来在表格里看着整齐的父子关系,进到模块后却变成同级排列,后面再整理会非常费时间。IBM官方资料里对这件事说得很明确,表格导入到模块时,是否保住层级,取决于导入位置选的是模块还是文件夹,以及源文件里是否准备了层级字段和类型字段。
一、IBM DOORS Next怎么导入需求
IBM DOORS Next怎么导入需求,实际操作不要直接拿现成表格就往里塞,先把导入目标和字段准备好,后面成功率会高很多。
1、先确定是导入到模块还是导入到文件夹。
如果这批需求后面要按章节、条目、子条目来管理,就优先导入到模块,不要图省事直接导入文件夹。IBM官方说明里提到,导入时可以选择导入到文件夹或模块,而模块本身就是带层级结构的载体。
2、进入【Artifacts】页面发起导入。
在【Artifacts】页面中,从【Create】或【More Actions】里点击【Import Artifact】,再选择从CSV或电子表格导入需求文件,然后按向导选择目标位置和导入方式。这个入口是官方给出的标准导入路径。
3、先用系统导出的文件做模板再回填内容。
IBM建议先从现有视图导出一份CSV或表格,再按那份文件的列结构去整理待导入数据。这样做的好处是字段顺序、列名和内容格式更贴近系统要求,能减少导入时报错。
4、提前检查类型和枚举值。
如果表里有需求类型、状态、优先级这类字段,要先确认目标项目里已经有对应的Artifact Type和枚举值,否则导入会失败。IBM文档明确提到,类型不匹配和枚举值未定义都会导致导入问题。
5、导入前把文件格式也校正好。
CSV和电子表格不仅要符合行列规则,CSV还要按UTF-8编码处理;而且IBM说明里还提到,只要CSV里某一行或某一列有错误,整个导入都会失败,不是只跳过错误行。
二、IBM DOORS Next导入后层级乱了怎么修复
IBM DOORS Next导入后层级乱了怎么修复,核心不是事后一点点拖动,而是先判断层级是不是在导入文件里就没建对,再决定是回源文件重导,还是在模块里直接修。
1、先检查源文件有没有层级关键列。
IBM官方要求,CSV导入模块时至少要有【isHeading】、【parentBinding】和【Artifact Type】这几列;另外模块相关导入里,Identifier也会用于建立父子关系。少了这些列,系统能导入内容,但层级大概率不会按预期落下来。
2、父子关系乱了时,优先回表格修正后重导。
parentBinding本质上就是子项指向父项的绑定关系,若这一列填错、漏填,或者父项编号不稳定,导入后就容易全变平级。比起在模块里一条条手工改,通常更稳的做法是先修表,再重新导入。
3、若只是少量错位,可直接在模块里调整层级。
IBM说明里写明,模块层级可以通过移动条目,或执行提升、降级来修复。实际操作时,选中条目后从行菜单里使用【Promote Artifact】或【Demote Artifact】,也可以先【Cut Artifact】再用【Paste Special】调整到正确位置。
4、拖动修层级时先看目标章节是否展开。
官方特别提醒,拖动条目时,如果目标章节是折叠状态,放下去会变成同级;如果目标章节是展开状态,放下去才会成为子级。很多“越拖越乱”的情况,不是数据坏了,而是拖放位置判断错了。
5、若删过父项却保留子项,要先处理断开的层级。
IBM文档说明,如果你导出的模块层级里删掉了父项,但保留了子项,再拿这份文件去导入,导入会失败。修复办法是把子项从原父项下移出,或者把这些子项提升到最近的有效父级后再导入。
三、IBM DOORS Next模块层级怎么导得更稳
要想后面少返工,关键不是修得快,而是第一次导入就把结构带对。IBM DOORS Next模块层级怎么导得更稳,重点就在准备方式。
1、先拿一份已存在模块导出做对照。
这样能直接看到系统实际接受哪些列、哪些类型名和哪些层级写法,比自己凭经验猜格式更稳。
2、把大文件拆成几段分批导入。
IBM文档里建议遇到类型或内容复杂的情况时,可以把大CSV拆小处理。需求量一大,任何一列的小错误都会拖垮整批导入,分批更容易定位问题。
3、导完先在模块里展开几级结构复核。
可以在模块页通过页面设置控制显示的层级级数,先把关键章节展开,看父子关系、编号和缩进是否正确,再决定是否继续批量导入下一批。IBM也说明模块支持按层级显示和后续调整。
4、把手工修正留给少量异常,不要把它当主方案。
如果导入后大面积层级错乱,通常说明源文件结构就有问题;这时继续在模块里硬拖,只会把后续编号和章节关系越改越乱。真正省时间的做法,还是回到源文件把绑定关系修准后再导。
总结
IBM DOORS Next怎么导入需求IBM DOORS Next导入后层级乱了怎么修复,这两个问题其实是一件事的前后两面。前面导入时选对模块、准备好层级列和类型列,后面就不容易乱;如果已经乱了,就先分清是源文件父子关系错了,还是模块里少量层级放错,再决定重导还是在模块内做提升、降级和粘贴修复。
