2013-01-24 222 views
2

我正在尝试创建一个论坛,其中有用户在各个类别中创建主题。其他用户可以发表回复 这些都是我的下面有为网络论坛制作UML类图

categories 
    id 
    category_title 
    category_description 
    last_post_date 
    last_user_posted 

posts 
    id 
    category_id 
    topic_id 
    post_creator 
    post_content 
    post_date 

topics 
    id 
    category_id 
    topic_title 
    topic_creator 
    topic_last_user 
    topic_date 
    topic_reply_date 
    topic_views 

users 
    id 
    username 
    password 
    email 
    forum_notification 

林一个问题,我的论坛,但即时通讯样的困惑,我可以了下面一个图的用户,但我不知道如何创建一个UML类图的表我可以创建其余

┌─────────────────────────┬ 
    │ Users     │ 
    ├─────────────────────────┬ 
    |username: String   | 
    |password: String   | 
    ├─────────────────────────┼ 
    |+logIn()     | 
    |+logOut()    | 
    ├─────────────────────────┼ 

回答

3

首先,你应该知道,你需要做一些更多的“行为图”,显示应该发生在系统上的东西,给一个如何设计“结构更深层次的理解图表“,如果我应该说,它会更专业地描述系统。行为图的例子是用例图和序列图。

结构图显示正在建模的系统中的东西。在 更多技术术语中,它们显示系统中的不同对象。 行为图显示系统中应该发生什么。他们 描述了这些对象如何相互作用来创建一个功能正常的系统。

然后我们必须要经过你的问题,“类图”,在短暂的

类图显示在系统中 类,属性和各阶层和 关系的操作每班之间。在大多数建模工具中,一个类有 三个部分,顶部名称,中间属性和操作 或底部的方法。不同的 图之间的关系通过不同类型的箭头显示。

举个例子

┌─────────────────────────┬ 
    │ Users     │ 
    ├─────────────────────────┬ 
    │id: int     | 
    |username: String   | 
    |password: String   | 
    |email: String   | 
    |forum_notification: bool | 
    ├─────────────────────────┼ 
    |+logIn()     | 
    |+logOut()    | 
    |+Reqigster()    | 
    |+CreateTopic()   | 
    |+EditTopic()    | 
    |+AddNewPost()   | 
    |+EditPost()    | 
    |+DeletePost()   | 
    |+SendMessage()   | 
    |+ReportIssue()   | 
    ├─────────────────────────┼ 
      | ..1 
      | 
      | 
      | 
      | 
      | 0..* 
    ┌─────────────────────────┬ 
    │ Posts     │ 
    ├─────────────────────────┬ 
    │id: int     | 
    |category_id: int   | 
    |topic_id: int   | 
    |post_creator: int  | 
    |post_content: String  | 
    |post_date: DateTime  | 
    ├─────────────────────────┼ 
    |+PostDelete()   | 
    |+PostUpdate()   | 
    |+UpdateContent()   | 
    |+GetViewers()   | 
    |+ChangeCategory()  | 
    ├─────────────────────────┼ 

在帖类,你会继续通过链接类别和主题类等该类工作。啤酒时刻牢记,你应该考虑所有实体之间的关系。

祝你好运。

+1

另请参阅对象关系映射。 http://c2.com/cgi/wiki?ObjectRelationalMapping –

+1

@MuhammadHani,你不觉得主题和类别应该是类图中的单独类吗? –

+0

@FatimaZohra - 每个拥有自己的,指定的和独特的属性和特征的实体都应该在类图中拥有一个单独的类,在他提到的问题中,一个类可能有很多主题。此时我们可以在类别类中放置一个主题列表,但是我们需要对主题执行一些功能,并且可能会有更多的属性,因此将它们放在一个类中并不是最佳解决方案。 – MuhammadHani