静态结构建模
在该系统中主要的参与类有用户(user)类、聊天记录类(message)、公告信息类(announce)。在这每一项的操作中还需要与数据库进行数据的交互,因此设计了一个接口DBBase提供数据库的一般的增、删、改、查操作。对于每一类的与数据库的交互,每一项都有自己的操作类,但都必须实现DBBase接口。
(1)用户、聊天记录、公告信息的类如下:
其中用户类有唯一的id号、用户名(username)、密码(password)、是否是管理员的属性。
聊天记录类有唯一的id标识号、用户名(username)、发言内容(msg)、及时时间(nowtime)的属性。
公告信息类有信息的唯一id号、管理员姓名(admin)、公告信息(announce)、天气信息(weather)。
(2)与数据库交互的类及其关系如下图所示:
接口DBBase定义了基本的数据库的增、删、改、查方法。对用户、聊天记录、公告栏里的的相关信息的操作都定义了各自的类来完成相应的操作。实现类只需要根据需要去实现接口中定义的方法以满足特殊的要求。
由于用户包括了普通用户和管理员,对于普通用户和管理员都有一个系统登录和退出的类,提供用户的身份的合法验证。该类通过传入的用户的用户名(username)和密码(password)通过confirm方法查询数据库进行身份验证,最终返回身份的合法信息。
除了共有的类,管理员还有个管理的类,能对用户进行信息管理、聊天记录管理及公告栏的信息等管理。
动态结构建模
一、状态图建模
登录的状态机图如下所示:
用户开始为要登录状态,当验证了用户名与密码之后当成功时,才是登录成功状态;当不成功时,可能是用户名本身不存在,因此,需要注册,当注册成功时,就会直接进入登录成功状态,否则将会进行重新登录或重新注册或离开的状态。
管理员与普通用户的状态图如下:
普通用户状态是第一个注册的才会默认为转换成管理员状态(因为暂时没有添加管理员的功能,因此把第一个用户默认为管理员)。
二、业务流程图建模
用户想要网上会议或闲聊的时候进入这个聊天室,但是要注册后才能登录,没有访客的身份浏览聊天室,登录成功后,默认第一个用户为管理员,因此该用户拥有普通用户和管理员的双重身份。普通用户可以查看公告栏、可以聊天发言、可以退出,管理员继承了普通用户的权利,还拥有管理用户的权利,查看用户信息、删除用户、编辑公告栏、查看聊天记录、删除聊天记录等权利。