使用案例到类图 - 我如何?

Ant*_*ony 14 oop uml design-patterns class-design

我希望您的指导如何从我的USE案例图中准确地创建类及其关系(泛化,关联,聚合和组合)(请参阅下文).

我正在尝试创建此类图,以便我可以使用它创建一个简单的在线PHP应用程序,允许用户注册帐户,登录和注销,以及存储,搜索和检索MySQL数据库中的数据.

我的课程是否正确?或者我应该创建更多的课程?如果是这样,缺少哪些课程?将register,login,logout,search_database和add_to_database连接到用户时,我应该使用什么关系?

我是设计模式和UML类图的新手,但根据我的理解,关联关系将一个对象与另一个对象相关联; 聚合关系是一种特殊的关联,它允许"一个部分"属于一个以上的"整体"(例如信用卡及其PIN - PIN类也可以用于借记卡类); 组合关系是一种特殊的聚合形式,它允许每个部分一次只属于一个整体.

我觉得我遗漏了一些课程或者某些东西,因为我似乎无法从我对关系的理解中找到关系.

任何帮助将非常感谢.提前致谢.

使用案例图

替代文字

使用案例说明:

注册 任何用户都可以通过注册创建帐户.系统将验证用户名和密码,如果缺少用户名或密码,将拒绝用户名和密码.

登录 任何用户只有在已经注册的情况下才能登录.他们的用户名和密码将以与注册帐户时相同的方式进行验证.

搜索数据库 任何用户都可以输入数据类型字符串的搜索键,系统将打开数据库,搜索searchkey,并根据是否找到searchkey返回true或false,然后关闭数据库.

向数据库添加数据 所有用户都可以输入一些数据,系统将打开数据库,存储数据,根据数据是否存储返回true或false,并关闭数据库.

注销 用户将按下注销按钮,系统将注销用户

从数据库中删除 只有管​​理员才能从数据库中删除数据.

删除常规用户 只有管​​理员才能删除普通用户

类图

替代文字

lee*_*777 11

首先,如果您决定沿着建模路径走下去,那么我建议使用 Rosenberg和Stephens的一本书,用UML进行用例驱动对象建模.这完全符合您所描述的过程:如何编写好用例,从中构建类图,从中构建序列图,以及(ta-da!)将其编码为工作软件.您可以使用Google进行ICONIX流程并在线查找详细信息.

一些随意的评论:

  • 任何用例图的"图表"都是用例中最实用的方面.图中的每个椭圆代表一段或两段文字,讲述发生了什么的故事.这是真正有用的文本.
  • 通常,您的用例中有名词的类,以及动词的方法.你的一些动词(Add_data_to_database,, Logout...)是类而不是方法.
    • 如果您使用鼓励命令模式的框架,有时您会遇到这种情况.即使这样,命令对象也可以/应该只调用真实类的方法.
    • 我会说你缺少一些名词(你在数据库中存储什么类型的数据?).如果你有,那么你会发现User's和那些数据类之间的关系.