在多人一起维护需求文档的时候,最怕出现的情况就是两个人同时改到了同一处地方,可能一个人正在那里重新梳理对象的层级,而另一个人还在继续往里面补充属性信息,等到各自保存的时候,前面刚做好的修改就很容易被后面保存的动作给悄无声息地盖掉。所以,想要弄明白在DOORS里面怎么把正在编辑的模块给锁住,以及模块被别人占用了以后又该怎么去解除锁定,就得先分清楚当前用到的到底是整份模块独占编辑,还是按照章节来共享编辑,因为这两种模式能够锁住的范围是不一样的,解除锁定的操作方法也完全不同。
一、DOORS怎么锁定正在编辑的模块
在打开DOORS模块的时候,通常会有只读、独占编辑和共享编辑这几种方式供我们挑选;如果当前需求的数量不算太多,或者正需要对整个文档的结构做一次大的调整,那么直接把整份模块锁住会比较省事,而要是团队里好几个人分别负责不同章节的编写,那采用共享编辑的方式就会更加灵活。
1、使用独占的方式打开模块
首先,到Database Explorer里面把你要处理的模块选中,接着顺着菜单一路点开【File】→【Open】→【Exclusive Edit】,这样一来,这份模块就被你一个人独占了;这个时候,只有当前的用户可以修改里面的内容,其他人再打开的时候,就只能以只读的方式翻看,不能动手改动。像是对需求基线做整理、成批地去修改字段的值,或者把章节移来移去这类操作,最好都放在独占编辑下面来完成,免得几个人同时去改动文档的结构,导致互相冲突。
2、确认一下此刻的编辑状态
模块打开以后,可以留意一下窗口底部状态栏上显示出来的文字,如果在上面看到了Exclusive这个字样,那就说明整份模块已经被你当前的这个账号给锁住了;等到所有要改的地方都改完了,再依次点击【File】→【Save】把内容存好,然后把模块窗口关掉,这个独占类型的锁就会跟着自己释放掉,并不需要再去额外手工做些什么。
3、多人配合时改用共享编辑
假如模块里面的内容比较多,需要好几位成员分别去维护各自负责的那一部分,就可以换一种方式,改用【File】→【Open】→【Shareable Edit】来打开模块;不过,在正式进入共享编辑之前,得先把整个模块拆分成一块一块的Editable Sections,这样一来,每个人只需要把自己负责的那一段锁起来就好,不用因为一个人开着就一直把整份模块都占住,别人的活也就不会因此被耽误。
4、在共享模式下把要改的章节锁住
用共享编辑的方式打开模块以后,进到目标章节那里,把相关的对象先选中,然后去点【Edit】→【Section】→【Lock】,这一段内容就归你自己来维护了;等到改完之后,再去点击【File】→【Save and Unlock All Sections】,这时候内容会被保存下来,同时刚才锁住的那些章节也会一块儿放掉,别人就可以马上接手。
二、DOORS模块被占用后怎么解除锁定
一旦碰上模块被占用的提示,先别着急去找管理员替你做强制解锁,因为大多数时候,只不过是有其他同事还没有退出编辑而已;先把锁的来源弄清楚,处理起来才会更加稳当。
1、先联系一下原来正在编辑的同事
可以试着先用只读的方式把模块打开,看一看是不是真的还有人在里面做着维护;如果对方这会儿还在线上,就请他顺手把内容保存一下,再关掉模块窗口,一般来说,只要正常退出,独占锁就会跟着自己消失,不用再手工去后台做什么清理。
2、再查一查是不是只锁住了某个单独的章节
在共享编辑的模式下面,有时候会碰到某一段怎么也改不了,这并不代表整个模块全被别人给锁死了,很可能只是对方在改完之后忘了把锁放掉;这种时候,只要让那个同事去点一下【File】→【Save and Unlock All Sections】就好了,如果光按了一个Save,虽然内容存起来了,可那些章节锁还是会留在那里,所以一定得专门去做一次带解锁功能的保存。
3、确认有没有出现过不正常的退出
像电脑突然断电、网络忽然断掉、客户端卡死崩掉,或者有人直接关掉了程序窗口,都可能让服务器那边残留下一把没能来得及清理掉的锁;在这种情形下,原来的用户实际上早就不在编辑了,可模块还是会显示着被占用,这时候就只能让管理员出面来帮忙收拾了。
4、由管理员来清理残余的锁
在Windows环境里,管理员可以把【DOORS Database Server Admin】这个工具打开,连上对应的数据库服务器,再点一下【Refresh List】,看看当前有哪些连接和文件正被锁着;等到确认原来那位用户确实已经离线了,再选中那个锁定项,点击【Unlock File】把锁去掉,如果服务器上还挂着一些已经没用的异常会话,也可以先执行一下【Disconnect User】再来解锁,这样清理得能更干净一些。
三、DOORS模块锁定后怎样避免重复占用
模块的锁虽然被解开了,但平常的一些操作习惯还是得稍微改一改,因为很多占用的问题并不是系统本身出了故障,而是同事在改完之后忘了退出来,或者长时间用独占模式开着模块放在那里不动。
1、改完就及时退掉
如果只是想翻一翻需求里面的内容,用只读模式打开就已经绰绰有余了;等到确实需要动手修改的时候,再临时切到编辑模式里去,编辑结束以后要把内容保存好,同时别忘了把模块窗口也关掉,不要一直让它挂在后台晾着,这样别人就不会因为看到锁而不必要地干等了。
2、多人合作时提前把章节拆好
对于那些篇幅很长、内容也特别复杂的需求模块,提前规划好Editable Sections能省掉后面好多麻烦,每个人只把自己负责的那一小块区域锁起来,既减少了互相排队等待的时间,也大大降低了不小心把别人辛辛苦苦修改的内容覆盖掉的风险。
3、强制解锁之前先把现场状况看清楚
管理员在按下Unlock File之前,一定得确认清楚原来的用户是不是真的已经不再编辑了,如果文件还在往里写东西的过程中,就硬去把锁清掉,很有可能导致一部分内容直接丢失,或者让模块里的数据变得不正常,所以多花半分钟核对一下现场,总比事后花半天时间去补救要划算得多。
总结
总的来看,DOORS里锁定模块可以按照场景的不同,在独占编辑和共享编辑之间做一个选择:结构整理这类大局上的活儿用独占,多人协作时就按章节来锁定;碰到模块被占用的情况,先联系原用户正常保存退出,等到确认会话真的已经异常结束了,再由管理员去清理那些残余的锁;平时如果养成改完就及时退出的习惯,再提前把大的需求模块拆好章节,模块被人长期占用或者误改覆盖的麻烦就会少掉很多。
