5.7.1 案例一 电子投票系统的的静态建模
1)确定系统对象及对象类
电子投票系统包括以下类:
①票。
②职位。
③候选人。
④投票者。
⑤投票信息。
⑥管理员。
⑦投票结果。
⑧监督员。(https://www.daowen.com)
2)定义类之间的关系
(1)“选票”类与“职位”类、“投票者”类和“候选人”类之间都是一对一的关联关系。在实际操作中,一次电子投票可能涉及一个或多个职位的竞选,每个职位的竞选涉及多个候选人。在一个具体职位的竞选时,投票人能看到该职位的名称以及相应的候选人(每个职位的候选人不超过5个),但投票者只能为该职业选中一个候选人,即一次投票表示着一个投票者为一个职位上的一位候选人投了票,该投票者、该职位和该候选人为该次投票的属性。
(2)“投票者”类和“投票信息”类之间是一对一的关系,即每个投票者都会保存此次投票活动的投票信息。
(3)“管理员”类、“投票信息”类及“投票结果”类之间的关系为一对多关系,“管理员”类与“投票”类间为共享聚集关系。即根据“投票”类,管理员生成多个投票信息和投票结果。
(4)“监督员”类和“投票结果”类之间为一对多关系,即一个监督员负责审核多个投票结果。
3)建立类图
按照以上分析,构造类图如图5-23所示(在Rational Rose中建模)。

图5-23 电子投票系统的类图