原文分析法(Textual Analysis),是在用例说明与流程分析的基础上进行的业务领域分析,是一项在需求研讨会后整理和分析需求的工作。当我们完成了用例图的绘制,为每个用例编写出用例说明以后,原文分析的工作就可以开始了。要讲解原文分析,我们还是用一个实例更简单明了:
这是一个实际项目的用例说明。在进行原文分析的时候,我们首先要做的事情就是对用例说明中事件流部分的文字描述,提取其中的名词。在这个实例中都有些什么名词呢?这些名词我在用例中用蓝色标注了出来,经过整理就是这些:触发器、考核指标(简称指标)、执法行为、指标定义、过错标准(过错判断标准)、过错行为、考核结果、年度、月份、机关、分子数、分母数、过错数、正确率。
领域模型中的实体,往往就在我们通过原文分析提取出来的这些名词中,但需要我们进行进一步分析。并不是所有名词都可以成为实体,那么哪些可以呢,而哪些又不能呢?首先,系统外的参与者不能。系统外的参与者是触发本系统某个事件的人或者物,但它本身存在于系统之外,比如用户使用鼠标点击了一个按钮,而领域模型是描述系统之内的事物,因此系统外的参与者应当被排除。本例中的触发器就是系统外的参与者(参见《功能角色分析与用例图》),它应当被排除。
其次,系统之内的事物转化到领域模型中,可能会变成两种东西:实体与实体中的属性。什么变成实体而什么变成实体中的属性呢?自身有自己的属性,可以成为系统中行为的执行者或施与者的,才是实体。比如考核指标就是实体,因为它有它的考核标准、过错行为、分子数、分母数、过错数、正确率等属性,它在系统中会去执行考核,所以是实体;分子数是不是实体呢?它仅仅是一个数据,没有自己的属性和方法。另一个判断是实体还是属性的方法就是判断它将如何持久化。如果一个事物被持久化到数据库中时是一个表,则是一个实体;如果仅仅是表中的一个字段,则是一个属性。
然而,是实体还是属性并不是那么绝对,关键看系统对这个事物进行怎样的处理。比如过错标准是一个实体还是一个属性呢?如果我们在系统中仅仅是一个文字描述则是考核指标中的一个属性,如果需要对它进行分解,有它的判断公式,需要让它去执行判断,则应当是一个实体。在需求分析的初期,可以先将其设计成一个属性,待日后的细化阶段再进行调整。
另外一个非常重要、值得我们着重关注的地方是名词的多义性。在本例中,我们考察一下“过错行为”这个名词。“一种过错行为”与“一个过错行为”显然不是一个概念。“一种过错行为”代表的是一种类型,有它的过错定义与判断标准;“一个过错行为”则代表的是一个实例,一个执法行为中的某个错误的行为。正因为它们概念上的差异,我们在领域模型中将其分为“过错类型”与“过错行为”。
经过一番分析,我们绘制出了一个基本的领域模型。毫无疑问,这个领域模型使用的是一个类图,实体在图中就是一个个的类。同时,我们将各个类之间的关系标注出来:一对一、一对多、多对多、聚集、组合、继承,等等。为了提高模型的可读性,我们在必要时可以标注关系的名称。如考核指标与执法行为之间是类型与实例的关系,等等。
现在,让我们重新回到原文分析。这次要分析的不是用例说明中的名词,而是动词,在本例中我用红色标注出来。最后,我们整理出这些动词:触发、执行考核、预警、采集、判断、是过错、是正确、打分、统计。
对用例说明中的动词分析,是为了定义各个实体之间的各种行为。同样,并不是所有动词都是实体的行为。参与者的行为显然不是实体的行为,应该被排除掉,如:实例中的“触发”。还有一些动词是某个行为的一个细节,如:“是过错”、“是正确”,被合并到“过错判断”中。最后,将行为添加到行为的执行者中。最后绘制出这样一个领域模型:
领域模型有别于后期的分析模型,其中最关键的就是目的,它的目的仅仅是分析需求,因此在很多地方会比较模糊而不考虑技术实现,比如本例中的“指标定义”、“过错标准”。另外一个比较关键的地方就是,系统中的行为到底由谁来执行,这个标准常常是说起来容易做起来难。我给大家的建议是参考GRASP中的“信息专家”模式。
GRASP是一种职责驱动设计的系统分析方法,它的“信息专家”模式是这样描述的:应当将系统中的行为交给信息专家去执行,而信息专家就是掌握着执行该行为所需数据的实体。在本例中,由于考核指标掌握着指标的定义,还有那些执法行为,所以它可以执行考核,而过错类型则掌握着过错标准,因此可以执行过错的判断。注意,这里的“执行”什么行为,是软件意义上的概念,即一个类可以拥有什么行为,而非现实世界的概念。要知道现实世界中的事物是不可能有主动执行什么操作的能力的。
过去我们拿到需求不知道该怎样去业务领域分析。有了原文分析方法,给了我们一个简单可行、易于操作的方法,让我们准确而高效地完成业务领域分析。
我们应当怎样做需求分析
我们应当怎样做需求调研:初识
我们应当怎样做需求调研:拜访
我们应当怎样做需求调研:研讨会
我们应当怎样做需求调研:需求研讨
我们应当怎样做需求调研:迭代
我们应当怎样做需求调研:需求捕获(上)
我们应当怎样做需求调研:需求捕获(下)
我们应当怎样做需求分析:功能角色分析与用例图
我们应当怎样做需求分析:业务流程分析(上)
我们应当怎样做需求分析:业务流程分析(下)
我们应当怎样做需求分析:用例说明
我们应当怎样做需求分析:查询报表分析
我们应当怎样做需求分析:子用例与扩展用例
我们应当怎样做需求分析:行动图和状态图
我们应当怎样做需求分析:业务领域分析
我们应当怎样做需求分析:原文分析法
我们应当怎样做需求分析:领域驱动设计
我们应当怎样做需求分析:非功能需求
我们应当怎样做需求确认:需求列表
我们应当怎样做需求确认:一个需求列表的实例
我们应当怎样做需求确认:快速原型法
我们应当怎样做需求确认:需求规格说明书
我们应当怎样做需求确认:评审与签字确认会
(续)
- 大小: 332.8 KB
- 大小: 48.3 KB
分享到:
相关推荐
我们应当怎样做需求分析:原文分析法 35 我们应当怎样做需求分析:领域驱动设计 39 我们应当怎样做需求分析:非功能需求 44 我们应当怎样做需求确认:需求列表 46 我们应当怎样做需求确认:一个需求列表的实例 48 ...
- **题目原文**:“《特种设备安全法》规定,特种设备生产、经营、使用单位应当按照安全技术规范的要求向特种设备检验、检测机构及其检验、检测人员提供特种设备相关资料和必要的检验、检测条件,并对资料的真实性...
P-N学习法通过一对正负约束来评估错误,正约束用于判断目标是否丢失,负约束则用于判断检测器的错误警告。学习过程被视为一个独立的动态过程模型,这有助于发现学习器带来的性能提升。 3. 检测(Detection):检测...
- **科研交流十原则法:** 通过十个步骤系统地分析问题,明确研究方向。 - 已知条件与数据的梳理。 - 问题背景及专业术语的理解。 - 问题实质与目标的确定。 - 必要条件与数据的补充。 - 解决问题的关键点识别...
- **解析:** 工作岗位分析法是通过对岗位职责和工作内容的分析来确定培训需求的方法,而非收集培训需求信息的方法之一。常见的培训需求收集方法包括重点团队分析法、观察法和面谈法等。 **7. 培训课程的实施是达到...
《担保法》第4条第1款规定了反担保的法律依据,但原文仅提及债务人为反担保提供者,实际上应当扩大解释,包括第三人提供反担保的情况。 5. **保证人的权益** - 保证人在提供担保时往往面临风险,缺乏直接的利益...
其中,分析方法涵盖了光谱法(如X射线荧光光谱法、原子吸收光谱法)、色谱法(如气相色谱、液相色谱)以及质谱法等多种现代化学分析技术。这些方法的选择和应用需要根据待测物质的特性以及实际样品的状态进行。 ...
这种学习法注重背诵和记忆,旨在通过熟读经典,逐渐领悟和应用原文思想。 2. **信息时代阅读方式的变迁**:随着信息技术的发展,传统阅读方式逐渐被“读图”和“速读”等快速获取信息的方式所替代。这些新的阅读...
根据给定文件的信息,我们可以从中提炼出多个知识点,主要涉及逻辑推理、法律常识、生物学基础知识、企业文化理论等方面。下面将详细展开这些知识点。 ### 1. 生物学基础知识 **题目1**: 人体必需的六类营养素中有...
电商英语翻译任务型教学模式初探 随着经济全球化进程的加快,电子商务在外贸领域的...未来,更多的教学工作者应当关注并探索任务型教学法在不同教学领域的应用,不断优化和完善教学模式,以适应不断变化的社会需求。
- **个人本位教育目的**:福禄贝尔、卢梭和泰勒等人提出的观点,强调教育应当关注个体的需求和发展。 - **教学目标分类法**:布卢姆提出的分类体系,将教学目标分为认知、情感和技能三个领域。 以上内容概括了教师...
文献检索的基本步骤包括:明确研究需求和分析主题,选择合适的检索系统,确定检索途径和策略,实施检索并根据结果调整策略,最后获取原文。 【文献分类与检索途径】 分类途径是通过文献所属的学科门类和分类号进行...
### 2022年高中语文新高考情景默写必修下册 #### 《谏太宗十思疏》 1. **海纳百川的道理**:在《谏太宗十思疏》中,...通过对这些文章的分析,我们可以更好地理解中国古代社会的政治智慧以及对历史教训的深刻总结。
与合作伙伴关系的供应商谈判时,双方都希望达成一个长期的合作关系,因此谈判应当着眼于总成本的优化,并努力实现双方的利益最大化。 **13. 在谈判会议的验证阶段应该做的事情是:** - **A. 双方都应该对协议草案...
首先,我们可以关注“考研英语真题研究6遍法(目标65分).pdf”。这份资料详细阐述了一种系统性的真题研究方法,分为六个阶段,旨在逐步提升考生的阅读理解能力。第一遍通常是熟悉文章大意,了解文章结构;第二遍...