gpt4 book ai didi

design-patterns - 从用例到类图 - 我该怎么做?

转载 作者:行者123 更新时间:2023-12-02 16:02:41 25 4
gpt4 key购买 nike

我希望您指导如何根据我的用例图(请参见下文)准确地创建类及其关系(泛化、关联、聚合和组合)。

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

我的类(class)正确吗?或者我应该创建更多类(class)?如果是这样,缺少哪些类(class)?将注册、登录、注销、search_database 和 add_to_database 连接到用户时应该使用什么关系?

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

我觉得我遗漏了一些类(class)或其他东西,因为我似乎无法从我对关系的理解中找到关系。

任何帮助将不胜感激。提前致谢。

用例图

alt text

用例说明:

注册任何用户都可以通过注册来创建帐户。系统将验证用户名和密码,如果缺少或用户名已被占用,系统将拒绝它们。

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

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

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

退出用户按下注销按钮,系统将注销该用户

从数据库中删除只有管​​理员可以从数据库中删除数据。

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

类图

alt text

最佳答案

首先,如果您决心走上模特之路,那么我会推荐 Rosenberg 和 Stephens 写的一本书,Use Case Driven Object Modeling with UML 。这经历了一个与您所描述的过程完全相同的过程:如何编写好的用例,从中构建类图,从中构建序列图,并将其编码为工作软件。您也许可以通过 Google 搜索 ICONIX 流程并在线查找详细信息。

一些随意的评论:

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

关于design-patterns - 从用例到类图 - 我该怎么做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2431025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com