软件工程之系统建模篇【设计实体类模型】
本文主要介绍实体类模型的设计过程,首先识别类及类之间的关系,然后画出类图和包图,最后识别类的属性和操作。类是面向对象方法的一个全新概念,类模型是面向对象分析的核心,实体类位于系统结构的商业规则服务层。实体类是系统需要持久保存的对象最终要映射到数据库。实体类模型用类图和包图描述。
1、类的识别
1.1 类的识别
识别类币识别用例要困难的多,实体世界中,一切都是对象,识别起来并非易事。我们在程序设计过程中,一般是用名词识别方法,然而你也可以用其他的方法。用名词识别法时,从系统中找出名词、名词短语或名词性代词,他们往往对应着类。其中单数名词可以识别为对象,而复数名词则可以识别为类。并不是每个名词都对应着一个对象或类,可能有的名词是其他对象的一个属性,也可能几个名词对应着一个对象或类。
1.2 识别过程示例
第一步,从系统描述中找出描述问题域实体的名词。如:草拟人、草搞文件、办理人、公文、机关领导、办理意见、审核意见、复核人、签发人、分发人、发文登记表等
第二步,从候选对象或类中筛选去掉一部分名词。如:公文比较笼统,可以去掉。办理人、复核人、签发人、分发人等可以识别为一个类“用户(User)”。
2、类的关联
要建立类模型,不仅要识别出类,还要识别出类与类之间的关系。显示的关系可以从用例中找到,如:用户(User)涉及会议参加人(Attendee),而隐式的关系在用例中没有明确说明,这需要项目分析员进一步去分析。
3、类图
通过以上步骤可以识别出系统的类以及类之间的关系,现在可以画出类图。先画出单个类图,分析每一个类与其他类的关系,再画出系统类图,从而建立实体类模型。
4、包图
在结构化方法中,划分子系统最常用的方法是功能分解。与此相对应,UML则提供了按用例类实现对问题域的分解,并用包图来管理模型元素。包是一种分组机制,它将UML模型元素中紧密相关的部分放置在同一个包中,实行集中管理,以减小系统的规模。
5、类属性
类的属性一般用于描述类的特征,在识别属性时,要从类的语义完整性的角度来斟酌取舍。所谓语义完整性,是指类的属性能够在一起完整地描述一个类所具有的特性和特征。从系统找出的名词,并不都对应着一个对象或类,有的名词可能是其他对象的一个属性。类的属性最后映射到数据库中的数据表的列,与类的识别一样,类属性的识别也需要往复多次才能完成。
与用户相关的信息中,本系统只关心姓名、部门、职务、用户唯一标识、访问权限、密码对应的属性分别为name、department、occupation、account、accessAuthority、password。
6、类操作
类的操作定义了类支持的行为。如用户(User)类应该具有登录操作,草拟公文等你操作。