编写有效用例_阅读笔记02
第四章开始讲了一个简短而真实的故事,讲述的是一个项目中,公司的系统制作人员几乎完全忽略了系统中的项目相关人员及其利益。某种程度上可以这么概括,程序员们过于注重了系统或者说软件的功能而忘记了那些沉默的执行者(比如一些管理人员,他们并不需要直接的使用这个系统,但是他们需要这个系统所使用之后带来的数据分析等等)。在这里,加强对这些“沉默的执行者”的注意可以大大提高用例的质量。同时,在做王老师的“河北省重大技术需求分析系统”时,我们就可以深深体会这一点。我们不仅要做到需求的征集,同时也需要做到对这些征集的数据的一些归类总结,以便向上级部门的汇报。从另一个角度来说,倘若数字只是数字,那么便没有征集的意义,我们所需要的是这些数据背后隐藏的数据,而数据的来源必须经过对一堆数字的相关处理。
然后,我们开始从正常的角度开始分析,我们需要从主执行者开始分析。主执行者是指请求系统提供一项服务的项目相关人员,主执行者经常(但不一直)是触发用例的执行者。某种程度上主执行者是一个项目中最需要关注的人。但是,问题再次抛出,“如果我们执行这一步骤时找到的主执行者是错误的,其危害性将会由多大?”答案是,“没多大”。
某种程度上来说,主执行者有时是不重要的,而有时又是重要的。在项目开始的时候,列举出主执行者有助于短时间内能对系统在整体上有一个全局的把握,而在详细的开发用例时,主执行者就开始变得无关紧要了,但是在设计完成之后,准备实施系统时,主执行者又变得重要。简单的说,开始时,多考虑些方面无可非议,而在项目深入的时候,项目本身就已经很深入甚至非常的概括性,对于同一个问题,已经能够有更好的解决办法,而无需执着于原来本身的一个细节,但是,在最后将递交的是主执行者,所以再递交之前必须做好相关设置。
多数情况下,我们把设计系统作为一个黑盒对待,我们看不到盒子里面的东西,我们经常回避内部执行者,这才能使我们能够合理的使用用例去命名一个还没有被设计出来的系统的需求。
第五章,讲述的是“三个命名的目标层次”,即从用户目标、概要目标、子功能三个方面来讲述。我们首先最感兴趣的就是用户目标,即主执行者努力使工作得以完成的目标。这个相当于业务过程中的“基本业务过程”。通常,使用蓝色海平面来代表用户目标,其含义为“天空和海水的交汇面”(即最基础的层次,而非天空之上,海底之下)。而概要目标和子功能用白色云朵和鱼或蛤来表示,这个特别的生动形象,用天空中的代表为物和海平面下的代表物,分别来表示将短时间不能实现的和必须实现的内容。