图2-2-15
图书管理 —进行用例描述
图2-2-16
订单管理—使用用例图
15
图2-2-17
订单管理—使用活动图
图2-2-18
订单管理—进行用例描述
图2-2-19
在前述内容中,我们使用用例图、活动图和用例的一种结构化文档描述方法对系
16
统的需求进行了分析。
需求模型表现了业务人员眼中系统存在的状态和工作的流程,而分析工作流程的目的是在于找出实体类、控制类和边界类。这些类是业务活动中应该存在的一些实体概念,将其提取出来抽象成为类,然后再使用协作图分析它们之间的交互情况,从而不仅又一次明确了功能需求,也为在设计阶段设计出真正的可编程的类打下了基础,因此这是一个承前启后的过程。
2.3.建立分析模型概述
2.3.1筛选得到分析类
从功能结构的描述中找出可以作为分析类存在的功能实体,进而通过筛选得到分析类。发现类一般要依靠用例描述中的名词或者动宾短语。从上面的功能描述中筛选出所有的名词和动宾短语,如“图书”、“选购图书”、“用户”、“购物车”、“选书页面”等。下面分析它们的职责。 筛选得到分析类
“图书”:其职责是很好界定的,即是客观世界的图书在软件系统中的映射,用来保存图书的基本信息。
“选购图书” :其他的职责在于接收用户选择的图书信息,并将信息转移到购物车类中,是一个控制其他类运行的类。
“用户”:是客观世界中书店的顾客,在软件系统中的映射。
“购物车”:是顾客的购物车或者是顾客挑完书后拿着书的手在软件系统中的映射。
“选书页面”:从语言中可以看出它是一个用来交互的类,是用来浏览图书信息的。 筛选得到分析类
实际上,分析类可以分为实体类、控制类和边界类3类。
从名字中可以看出:实体类对应现实生活中的物体,是它们在软件系统中的映射;控制类用来对各个类之间进行协调和控制;边界类是软件系统用来与参与者进行交互的类。
下面介绍3 种类的不同表示方法。
单击创建一个类图,然后点选 创建三个类1、2、3。双击打开各自的细节选项卡(class specification),在stereotype下拉条中选择entity、control或者boundary,从而分别将其改变成实体类、控制类和边界类,如下图所示。 画出分析类图
筛选得到分析类后就要画出分析类图了。
首先要弄清楚各类之间的关系,这时采用一个小技术CRC卡片就十分有效。CRC
17
(Class Responsibility Card)是一种如下图所示的卡片。 画出分析类图
在完成了对发现的类之间的关系判断之后,就可以画出类图了。当然,在此之前还是要像上个实验一样建立体系结构。
在logic view中加入包—— “网上书店系统分析模型”,然后按照各自的功能模块分包,最终得到体系结构。
通过以上步骤,得到“图书选购”用例的分析类图,如右图所示。 进行分析模型中的用例实现
画出分析类图后,就需要进行分析模型中的用例实现了。所谓用例实现是指使用已经发现的类并进行交互,从而使其完成用例所应该完成的功能。用例实现的关键就是弄清楚分析类是怎样交互而完成任务的。
用例实现是使用交互图中的协作图来完成的,以“选购图书”为例,在“选购图书”包上创建“选购图书”协作图,如左图所示。 进行分析模型中的用例实现
在图中创建类对象以及它们之间的交互过程,如下图所示。
2.4.建立分析模型的详细步骤
用户注册—使用分析类图
图2-4-1
用户注册—使用协作图
图2-4-2
用户登录—使用分析类图
18
图2-4-3
用户登录—使用协作图
图2-4-4
图书选购 —使用分析类图
图2-4-5
图书选购 —使用协作图
19