作者: coffeewoo 先生
用户、业务用例以及业务场景。这三项工作成果已经形成了基本的需求框架,并圈定了业务范围。就笔者的工作习惯而言,在得到这三个成果后,就会暂停调研,而通过评审会,研讨会等形式充分论证这些成果的正确性和完备性。求得业务专家,用户代表,开发方,项目经理等各方的一致认可,将其作为第一份基线。
很久没有动笔了,这期间承蒙许多朋友的喜欢和鼓励,再不写点东西就对不住这些朋友了。
写点什么呢?按照原先的设想,应该开始动手写如何从业务用例转化到概念用例和系统用例,不过老实说这一步需要的是经验居多,而很难找出一个普适的步骤来。先暂时放一放吧,以后一定会写到的。上一篇讲到用例分析的一般步骤和方法,也给出了一个实例,不过没有做更进一步的说明,所以这一篇,笔者决定先罗嗦罗嗦之前的内容,说说业务建模中各种图的用法,以及它们对需求的贡献。
在说明实例之前,再重复一下的需求,并提醒读者下载实例,本文下面只会从实例中挑选很少一部分来说明,对照实例读者将能更好的理解。好了,让我们先回头看看需求吧,图书馆主任是这么说的:
我们原本是一个传统的图书馆,传统的借书方式要求读者亲自来到图书馆,这显得非常不方便,而且随着藏书的增加和读者群的增长,尤其而且大量的读者到图书馆,使得图书馆的场地不足,工作人员也不够了。所以想到借助网络,让读者通过网络借/还书,这样可以省掉大量的场地维护和工作人员成本支出,同时计算机可以方便的检索目录,让读者可以足不出户借到需要的书。为了把书送到借阅人手里,我们已经联系了A特快专递公司和B城市物流公司,初步达成协议,由他们往返借阅人和图书馆之间把图书送出和收回。读者在网上出示和验证借书卡,找到他们需要的书,提交申请,图书管理员确认后,就会通知物流公司来取书,当读者拿到书之后,物流公司需要把读者的签单拿回来以证明读者已经拿到了书。当然这个过程中,读者是需要付费的。还书也是基本同样的过程。
还记得上一篇是怎么说的吗?第一步骤是从涉众中找出用户。并定义这些用户之间的关系。 这里的用户是指将与要建设的系统发生关系的那些涉众。通过下图表示。这张图里要绘出所有用户,以及它们之间的关系。需要说明的是,这里的用户指的是业务用户,并非将来系统中的“角色”,虽然将来它们可能就是。这张图的意义在于,清楚的表明将来的系统是为谁在服务,他们都是干什么的,有什么特点,有什么关系。对用例方法来说,这是最基本的出发点。用例,是以人为本的。
第二步,找出每个用户要做的事,即业务用例。业务用例来自于系统分析员对上一步中所有用户的访谈,总结和归纳(笔者正在考虑写一写系统分析员调研技巧方面的文章,会对访谈技巧,归纳方法有所描述)。笔者建议从每个用户的角度以及从每项业务的角度来绘制业务用例图,就象下面这样:
用户视角:
从用户视角查看每个用户在系统中将参与什么业务。这个视图的意义在于,调研对象一眼就能看出来,这个模型是否已经涵盖了他所有需要做的事。
业务视角:
从业务的视角查看每项业务是由哪些用例和哪些角色参与完成的。这个视图的意义在于,需求研讨会上业务专家可以一眼看出这个模型是否已经能够完整的表达业务。
第三步,针对每项业务视图,应该绘制业务场景图,用活动图详细描述这些用户、用例是如何交互来完成这项业务的。就象下面这样:
借阅图书业务过程:
业务场景图可能不止一个。同样一项业务,会有很多种不同的业务实现方式,例如借阅图书业务,就有可能第一次借书,又还书又借书,VIP客户借书,借书时借证已经到期....等等许多种场景。对于这些场景来说,每一个都不能漏掉或省略,至少必须在文档中体现出来,除非已经很明确这个业务场景不包括在系统范围之内。这些业务场景图的意义在于,它已经绘制出了一份系统蓝图,将来的系统建设很大程度将依据这些场景图进行。
经过上面的三个步骤,我们得到了用户、业务用例以及业务场景。这三项工作成果已经形成了基本的需求框架,并圈定了业务范围。就笔者的工作习惯而言,在得到这三个成果后,就会暂停调研,而通过评审会,研讨会等形式充分论证这些成果的正确性和完备性。求得业务专家,用户代表,开发方,项目经理等各方的一致认可,将其作为第一份基线。笔者很少在这个基线形成之前深入细化需求,因为需求过程,或说用例过程是一个自顶向向下的过程,RUP中的每一个迭代实际上仍然是一个瀑布模型,大家都知道,如果上一步没有形成基线就进行下一步,对瀑布模型来说是无法控制的。
好了,这一篇就到此为止,下一篇继续讨论用例场景,用例文档等建模过程。
分享到:
相关推荐
【OO系统分析员之路--用例分析系列】是一组关于用例分析的教程,适合初学者和有一定经验的系统分析员。本系列共八篇文章,旨在深入解析面向对象(OO)系统分析中的用例分析技术,帮助读者理解和掌握用例在需求分析中...
(5)--用户、业务用例和业务场景写点什么呢?按照原先的设想,应该开始动手写如何从业务用例转化到概念用例和系统用例,不过老实说这一步需要的是经验居多,而很难找出一个普适的步骤来。先暂时放一放吧,以后一定...
在面向对象(Object-Oriented,简称OO)设计中,鲁棒分析是一种评估和增强系统鲁棒性的方法。它帮助设计师识别系统的组成部分,即实体对象、控制对象和边界对象,并通过构建这些对象间的逻辑关系,确保系统设计的...
- **业务用例框图**:描述了系统的功能和服务,包括客户管理子系统、订单管理子系统、销售统计子系统、产品管理子系统和系统管理子系统。 2. **系统设计**:基于业务用例框图,可以进一步设计系统的持久对象。例如...
本文通过一个具体的案例,展示了如何利用UML来分析和设计广告管理系统。 1. **业务建模**:首先需要对系统的业务背景进行深入分析,明确系统的目标用户、主要功能和服务范围。通过绘制业务用例框图,可以清晰地展示...
用例视图从外部用户的角度捕获系统的行为,划分系统功能为对活动者具有意义的事务。这些功能片被称为用例。用例通过系统与一个或多个活动者之间的一系列消息描述了与活动者的交互。 在静态建模部分,概念模型(包括...
建模的参与者包括领域专家、需求分析人员、系统分析员、架构师和开发人员,他们在不同阶段和不同模型中扮演不同角色。 UML适用于多种建模领域,如业务建模、需求建模、设计建模和实现建模。这些模型由不同的专业...
用例通过系统与一种或多种活动者之间的一系列消息描述了与活动者的事务。 在招聘管理系统中,定义相应的概念模型(涉及对象、类),绘制相应类图,显示出类间的关系。招聘管理系统分为硬件和逻辑两部分——子系统,...
2. **系统设计**:基于用例模型,设计核心业务对象及其关系,如图2所示,这有助于明确系统的主要实体和它们的关联。 3. **实现与测试**:根据设计模型,编写代码实现每个UseCase,并进行单元测试和集成测试,确保...
### 实战OO交互建模:从理论到实践的深度解析 #### 引言与背景 ...通过熟练掌握交互建模技巧,开发者可以有效提升软件设计的质量与效率,确保最终实现的系统既满足用户需求,又具备良好的可维护性和可扩展性。
这些扩展功能的用例分析同样重要,可以确保系统能够满足未来的业务需求。 **系统整体功能描述** 系统整体功能的描述涵盖了所有基本和扩展功能,形成一个完整的系统视图。这有助于全面理解系统的范围和能力。 ####...
6. **结构化信息系统分析与设计方法适用性**:描述正确的有Ⅰ、Ⅲ和Ⅳ,即适用于结构化程度较高的事务处理系统、用户需求可以事先冻结的信息系统以及业务流程稳定、规模适中的信息系统。 7. **SDLC阶段**:系统开发...
### 学生成绩记录系统用例图解析 ...这有助于我们在实际项目中更加高效地进行需求分析和设计。在未来,随着技术的不断发展,相信会有更多创新的方法和技术应用于教育信息化领域,为师生提供更加便捷高效的服务。
- **解析**: 可行性研究是对项目的初步调查和分析,以确定项目的可行性,这相当于一次压缩简化的系统分析和设计过程。故正确答案为A:大大压缩简化了的系统分析和设计过程。 **12. 实现单入口单出口程序的基本控制...
2. **业务建模**是对问题领域的分析,主要关注用户需求,通常使用**用例图**和**业务场景描述**(如活动图、时序图和文字说明)来呈现。在这个例子中,储户的功能需求是提取现金,而用例脚本详细描述了这个过程的...
5. **系统活动图**:描绘了各种业务活动的工作流程,如顾客购买商品、生成订货单和订单的活动流程。 6. **系统状态图**:例如商品状态图,展示了商品从入库到售出的各个状态及转换。 7. **系统组件图**:展示了...