定义系统需求的重要概念——事物
1602字,阅读需时6分钟
来自专栏
课程/专栏

前面的课程主要讲述了如何调查系统相关者以及如何定义事件。通过前面的学习,我们已经具备对一个新系统开展需求调查并定义出新系统相关事件的能力。这节课我们来认识定义系统需求用到的另一个重要概念——事物。

事物不是指具体的人和事,事物是在系统中所扮演的角色。

例如图书管理系统有管理员和借书者两个角色,小张既可以是管理员角色,也可以是借书者角色,一般说来系统需要存储事物的信息。例如,在图书管理系统,系统需要存储管理员角色和借书者角色的信息。

在人脉系统中,对于使用系统的用户来说,他们处理的名片就可以看作是事物,并且是系统的一部分。另外,人脉系统还需要存储用户的信息,因此用户也可以看作是事物,这些事物类似于与系统交互的外部实体或参与者,但又不同于外部实体,而是外部实体或参与者在系统中所扮演的角色。

系统需要存储的事物信息构成了事物的属性。

例如在人脉系统中,名片事物有姓名、公司名称、职务、联系电话等信息;用户有昵称、真实姓名、头像等信息。在定义系统需求阶段,分析员需要明确每个事物的属性。一个属性可以用来唯一标识某一事物。例如,用户的昵称作为用户的唯一登录账号,在系统中是不允许重复的。

在结构化开发方法中,这些事物构成了系统存储信息的相关数据。在面向对象方法中,这些事物就是在系统中相互交互的对象。无论使用哪一种开发方法,识别和理解这些事物都是关键的理解系统需求的初始步骤。

那么,如何识别新系统中的事物呢?前面已经定义了人脉项目V1.0系统的事件表,我们可以从已定义的事件表中归纳出系统中的事物。我们先来分析用户注册事件表,下表是用户注册事件表。

image.png

事件的来源是该事件的外部实体或参与者,但不一定是系统中的事物,判断事件的来源是不是系统中的事物,关键是要看系统是否需要存储外部实体或参与者的信息。

人脉系统中用户注册事件的来源是用户,用户是人脉系统的外部实体。该事件的具体执行动作是用户在注册页面填写并提交注册信息,系统将用户填写的注册信息存储到数据库。从事件的执行动作可以看出,系统需要存储该用户填写的注册信息。因此用户是系统中的事物,不过系统中的这个用户事物不是指具体的人,而是表示人在系统中所扮演的角色。

系统中要存储的事物信息就是事物的属性。在人脉系统中,用户的属性就是用户要录入的注册信息,用户的属性有昵称、密码、年龄、性别、头像、公司、职务、联系电话、邮箱、微信号等内容。

另外,从事件的执行动作和响应可以看出,用户的注册信息需要写入到数据库。数据库也称为数据库管理系统,它是人脉系统不可缺少的角色,人脉系统所有的数据信息都要通过数据库存储起来。因此,数据库也是人脉系统的事物。数据库的属性有数据库服务地址、端口号、用户名、用户登录密码等内容。不过数据库的属性不是系统存储信息的需要,而是系统配置数据库的需要。

我们再来分析人脉系统的用户添加名片事件,下表是用户添加名片的事件表。

image.png

在用户添加名片事件表中,单从事件名称看,名片应该是系统中的事物。事件名称是名词+动词+名词的形式,一般说来这种形式的事件名称,动词前后的两个名词所指向的名字都是系统事物。

前面已经识别了用户是系统事物,我们再来看看名片是否是系统事物。该事件的执行动作是用户录入名片信息并提交给系统,然后系统存储名片信息到数据库。从事件的执行动作可以看出,系统需要存储用户填写的名片信息,因此名片也是系统中的事物。系统要存储的名片信息就是名片的属性,名片的属性有姓名、公司名称、职务、邮箱、联系电话、公司地址等内容。

人脉系统另外还有三个事件,分别是用户登录、用户查询名片、用户翻阅名片列表,这三个事件也都涉及到用户、名片、数据库事物。因此,人脉系统V1.0版的系统事物有用户、名片、数据库三种事物。

这节课我们主要从前面定义的人脉系统事件表中,归纳出了人脉系统的三个主要事物,分别是用户、名片和数据库事物。下节课我们将讨论事物的用例,也就是系统角色的用例。

我要评论
全部评论