251
任务是可测量化的,大家别忘了,就是说我测试一个岗位的能力的时候,我们是有一堆题,让它去做,做题就是具体的测试能力的方式,那,我们解决的问题是什么?
就是如何把这个能力最终跟考题挂在一起,然怎么把它们关联在一起,所以,最终我们的目的是把这个课程卖给人家,推荐给人家,而不是把其中的一些知识点推荐给人家,但是呢,我们的逻辑是知识点上形成了考题,实际上你是想把一个课程卖给人家,所以你怎么组织这个知识点,这就是说,要把握知识点的粒度,从客户的角度来看到的是能力,虽然你想卖给人家,你的目的是想卖给人家课程,但在从客户的角度看,人家要的是能力,那怎么样才能把能力最终跟这个课程挂在一起,然后我们的做法,就是这个课程跟知识点挂在一起。
所以,要理解我们这之间的前后上下文的关系。
我们总的目的,肯定是想把课程卖给别人,所以说,你有课程里面有知识点,然后知识点上关联了这个能力问题,好,这是你方案空间里面的东西,但是从人家是从问题空间里面看到的是能力,所以,关键点是,这个能力跟你的课程对应在一起。
252
能力还有几个复杂的问题,熟练、精通还是了解,这是不一样的能力,这样的词语要从考题的角度来说,考题又有一些属性,从难度的角度来说,比如有高级,中级,初级的这些概念,然后从能力的角度,人家是不是精通、熟练、了解这个东西,这样我们要找到一个方法,一个流程,把它们有机地串在一起,就是我们的架构思维。
你要理解我们这个问题,岗位能力测评平台,它测评的关键点是测评。岗位上要求的能力是不是匹配,这个能力是随着时代的发展而发展的,所以我们只是测试这个人现在的能力跟这个岗位要求的能力是不是匹配。
而这个岗位要求的能力,是在这个时点上,是通过去完成一些任务来体现的。我们要找到一种办法去精确的刻画任务,从而才能导致这个系统可以被量化,能被测试,这是活动,然后我们把这个行为性的事物给它讲清楚,这需要大家,好好消化一下。
这张图对我们来说是非常重要的。在系统外部的看到的是用例,用自然语言表示的文本,这些怎么关联在一起的,然后还有一个系统的一条执行路径是一个场景,这个场景我们最终要把它放在问题空间里面,而方案空间里,既可以用来描述方案,协助这个概念,也可以描述需求分析,实际上是通过协作,交互图和序列图来描述的,只是它的层级比较比较高一点的。主要是用来进行职责的分配的,而不是如何完成这个东西的,然后到了详细设计阶段,就是软件的设计阶段,它就回答细节问题了。
253
在计算机专业里,有门课程叫面向对象的分析和设计,所以说,分析和设计是连在一起的,分析是在问题空间,方案空间里面详细设计也是用这些协作,但是它的粒度是不一样的,所以说在IBM的课程里面,就叫用例分析,用例设计,然后用例分析被归入了SR(软件需求),然后用例的设计被归入到OD(面向对象分析设计 OAOD),当然了不管是用例分析,还是用例设计,它都是面向对象的这种方式描述的。
然后所以它都是画类图和交互图。但是在分析阶段画类图的时候,定义它的职责,然后平衡它的职责,这就是在需求分析阶段做的最关键性的任务。
然后到了软件设计阶段,则是要解决的问题是怎么样把已经经过平衡好的职责,转变成它的属性和操作。注意这个问题的表述,然后这样的话我们就知道了协作,这个概念在需求分析里面也同样用在软件设计里面,而架构调节了需求分析和软件设计,所以说我们需要理解这两个层级,用例图,最主要的是平衡职责,然后后面是要把职责具体的细化,协作是它的属性和操作,这个问题的详细程度是不一样的。
254
当然,所用的方法论都是一致的,所以把我们这个方法论叫做面向对象的软件开发方法。
这是我们最主要的架构风格,分组是只有一个包,在讲架构框架的时候,大家都知道最主要的就是涉众。架构框架里面最重要的就是涉众,以及关注点的分隔,然后是视点之间的对应关系,对应规则,框架里面回答四个问题,就是视点之间的对应规则,视点里面包含涉众和它的关注点。
统一建模语言是怎么来表述这个问题的呢?
统一建模语言首先定义了一些涉众的类型,比如像用户架构师设计师开发员,这都是它的涉众的类型。然后它们有视点,比如用终端用户它有个视点,比如说行为性的视点最主要的关注点是它的行为,然后这个里面它是用什么东西去进行它的描述,比如说对用户来说,终端用户来说,它的关注点是PK(主键)表,然后具体的元素视点里面的这些元素,就是用例,这是它最关键的元素。
所以说统一建模语言中,不同的结构性的事物,都分别从这些不同的受众的角度回答了,要去用来描述它不同的关注点。
255
这八个结构性的事物,比如说我们会用例等等都合在一块说,它描述的是一个行为,这个行为是终端用户这种涉众的,可是然后也定义了一个操作性的视点,还定义了一个叫功能性的视点,问题的过程,怎么从一个问题空间走到一个方案的空间我们中间有架构的定义等等之类的。
在这个关系里面我们有四种,关联、依赖、泛化和实现,因为我们紧接着就要开始描述什么是岗位职位任务,它们之间的关系了,包括它在这个企业之间的关系,我们去怎么描述,我们除了这个定义要搞清楚它是内涵还是外延,把这个东西讲清楚,然后紧接着描述它们之间的关系吗,以及设计它们的指导原则。
再回看一下架构,架构是一个基础设想,包括主要的包括元素关系和原则,现在我们知道了怎么描述它们的关系,统一建模语言说的四种,关联、依赖、泛化和实现。
256
粗略的就用这个词描述一下,一个使用另一个,这就是一个依赖。
关联关系在绝大多数情况下描述的是有一个相互之间作用的关系密切。