我希望您的指导如何从我的USE案例图中准确地创建类及其关系(泛化,关联,聚合和组合)(请参阅下文)。
我正在尝试创建此类图,以便我可以使用它创建一个简单的在线PHP应用程序,允许用户注册帐户,登录和注销,以及存储,搜索和检索MySQL数据库中的数据。
我的课程是否正确?或者我应该创建更多的课程?如果是这样,缺少哪些课程?将register,login,logout,search_database和add_to_database连接到用户时,我应该使用什么关系?
我是设计模式和UML类图的新手,但根据我的理解,关联关系将一个对象与另一个对象相关联;聚合关系是一种特殊的关联,它允许“一个部分”属于一个以上的“整体”(例如信用卡及其PIN - PIN类也可用于借记卡类);组合关系是一种特殊的聚合形式,它允许每个部分一次只属于一个整体。
我觉得我遗漏了一些课程或某些东西,因为我似乎无法从对理解人际关系中找到关系。
任何帮助都将非常感谢。提前谢谢。
使用案例图
USE案例说明:
注册 任何用户都可以通过注册创建帐户。系统将验证用户名和密码,如果缺少用户名或密码,将拒绝用户名和密码。
登录 任何用户只有在已经注册的情况下才能登录。他们的用户名和密码将以与注册帐户时相同的方式进行验证。
搜索数据库 任何用户都可以输入数据类型字符串的searchkey,系统将打开数据库,搜索searchkey,并根据是否找到searchkey返回true或false,并关闭数据库。
向数据库添加数据 所有用户都可以输入一些数据,系统将打开数据库,存储数据,根据数据是否存储返回true或false,并关闭数据库。
注销 用户将按下注销按钮,系统将注销用户
从数据库中删除 只有管理员才能从数据库中删除数据。
删除常规用户 只有管理员才能删除常规用户
课程图
答案 0 :(得分:11)
首先,如果您决定沿着建模路径走下去,那么我会推荐一本Rosenberg和Stephens的书,Use Case Driven Object Modeling with UML。这完全符合您所描述的过程:如何编写好的用例,从中构建类图,从中构建序列图,以及(ta-da!)将其编码为工作软件。您可以使用Google进行ICONIX流程并在线查找详细信息。
一些随意的评论:
Add_data_to_database
,Logout
,...)是类而不是方法。
User
和这些数据类之间的关系。答案 1 :(得分:2)
似乎UC图没有问题。
我同意戴夫的评论。此外,我还想向您展示我的想法,为这样的UC图制作相应的类图。 (只是显示的要点。)
答案 2 :(得分:1)
为什么不下载EssWork。 Esswork是开源的,它是由Ivar Jacobson Int创建的敏捷实践,他创建了用例...他们是一个名为Essential Use case practice的实践,它描述了你如何将一个需求带到了类...... < / p>
答案 3 :(得分:0)
您需要绘制上述场景的对象模型(类图) 识别类,其属性和相关功能 你应该展示不同的关系 像Composition,Aggregation和Inheritance这样的类。