事物与系统角色
1601字,阅读需时6分钟
来自专栏
课程/专栏

在前面的课程中,我们识别出了人脉项目V1.0系统的事物。在这节课中,我们将分析人脉项目V1.0系统的角色。

前面课程识别的系统事物就是我们要分析的系统角色。

系统角色并不是指具体的外部实体和参与者,而是系统中相互交互的对象。一个角色可能会对应多个外部实体或参与者,一个外部实体或参与者也可能会对应多个角色。

例如人脉系统有用户和名片角色,用户角色在系统中有属性和行为,属性有昵称、年龄、性别、姓名等,行为有登录、注册等。在系统实际运行过程中,当用户张三登录系统时,此时用户角色就会对应张三这个人,当李四通过系统注册账号时,此时用户角色就会对应李四这个人。因此一个角色可能会对应多个外部实体与参与者。

一个外部实体或参与者也可能会对应多个角色。

例如在图书管理系统中有图书管理员和借书者两个系统角色。小张是图书管理员,他对应系统的图书管理员角色,当小张从图书馆借书时,他又对应系统的借书者角色。因此,一个外部实体或参与者也可能会对应多个角色。

系统角色除了对应外部实体或参与者外,也会对应系统内部的功能对象。

例如在人脉系统中,数据库对象用于存取其它角色的信息,因此数据库对象也是系统角色。

不同的角色在系统中有不同的工作。就如同一个软件项目开发团队,团队成员在项目团队中担任不同的角色,每个角色有不同的分工。项目经理角色负责项目的整体规划和进度管理;系统分析员角色负责项目的需求分析工作;系统设计师角色负责项目的技术架构和系统设计工作;编码人员角色负责项目的编码工作;测试人员角色负责项目的单元测试和系统测试工作。

在人脉项目V1.0系统中,有用户、名片和数据库三个系统角色。用户角色负责名片的管理工作,包括名片的录入、编辑、删除、查询、查看等工作。因为每个用户角色只能管理与自己相关的名片,因此用户角色还有在系统注册账号和登录系统的工作;名片角色负责名片信息的存取、查询和展现,在系统的后续版本中,还有对纸质名片信息的自动识别工作;数据库角色负责名片角色信息和用户角色信息在数据库的存取和查询工作。

image.png                                          

图 1 人脉V1.0系统各角色间的关系

上图描述了人脉V1.0系统各角色间的关系。用户角色和名片角色是单向关系,用户角色调用名片角色的工作来完成对名片的管理工作;用户角色和数据库角色是双向关系,一方面用户角色调用数据库角色的工作来完成用户角色信息的存取工作,另一方面数据库角色需要从用户角色处获取需要存储的用户角色信息;名片角色和数据库角色也是双向关系,一方面名片角色调用数据库角色的工作来完成名片角色信息的存取和查询工作,另一方面数据库角色需要从名片角色处获取需要存储的名片角色信息。

前面分析了系统角色间的关系,下面我们再来看看角色的属性和行为。角色的属性就是系统要存储的信息,角色的行为就是角色在系统中担负的工作。

用户角色的属性有昵称(用户账号)、登录密码、年龄、性别、头像、公司、职务、联系电话、邮箱、微信号。用户角色的行为有用户注册、用户登录、添加名片、编辑名片、删除名片、查看名片、翻阅名片。

名片角色的属性有姓名、公司名称、公司地址、职务、联系电话、邮箱、微信号、用户标识(标识该名片隶属于哪个用户)。名片角色的行为有存储名片、获取名片、查询名片、删除名片、展示名片。

数据库角色的属性有数据库服务地址、端口号、用户名、用户登录密码。数据库角色的行为有存储用户角色信息、存储名片角色信息、获取用户角色信息、获取名片角色信息、名片查询。

下表是人脉项目V1.0系统的角色表,角色编号可以采用字母R开头加序号的编号规则,例如R1,R2等。


image.png

这节课我们主要讨论了人脉V1.0系统的角色及角色间的关系,也讨论了角色的属性和行为。下节课我们将讨论角色建模。

我要评论
全部评论