Uml 扩展并包含在文件系统中

Uml 扩展并包含在文件系统中,uml,use-case,Uml,Use Case,在我们的软件中,我们希望用户打开一个项目文件,其中包含与VisualStudio项目类似的不同数量的项目,例如,他应该能够从其他项目的外部源中提取和插入这些项目。我知道用户应该打开项目、保存项目、提取和插入项目,但就UML用例图而言,我不知道如何表示最后三个用户案例: 作为第一个用户故事的扩展,只有在第一个用户故事发生后才存在。 或者将用户案例开放项目表示为其他三个项目中包含的用例。 图中有两个用例图。它们都好吗 问问自己:开放项目是一个用例吗?附加值是多少?我想根本没有。因此,如果没有附加值,

在我们的软件中,我们希望用户打开一个项目文件,其中包含与VisualStudio项目类似的不同数量的项目,例如,他应该能够从其他项目的外部源中提取和插入这些项目。我知道用户应该打开项目、保存项目、提取和插入项目,但就UML用例图而言,我不知道如何表示最后三个用户案例:

作为第一个用户故事的扩展,只有在第一个用户故事发生后才存在。 或者将用户案例开放项目表示为其他三个项目中包含的用例。 图中有两个用例图。它们都好吗


问问自己:开放项目是一个用例吗?附加值是多少?我想根本没有。因此,如果没有附加值,就不是用例。如果它不是用例,您就不需要气泡。

问问自己:OpenProject是用例吗?附加值是多少?我想根本没有。因此,如果没有附加值,就不是用例。如果它不是用例,您就不需要气泡。

我认为您的解决方案都不正确

带有extends的图表明,我们可能在打开项目时保存项目,这对我来说很奇怪

右边的图表显示了相反的情况,在保存项目的同时,我们也打开了一个项目。对我来说,这似乎又错了


从我的观点来看,这些用例都需要是独立的用例,它们之间没有扩展或包含关系。他们似乎都在同一个水平上。我可以想象,每个用例都可以由一个菜单选项触发

我认为你的两种解决方案都不正确

带有extends的图表明,我们可能在打开项目时保存项目,这对我来说很奇怪

右边的图表显示了相反的情况,在保存项目的同时,我们也打开了一个项目。对我来说,这似乎又错了


从我的观点来看,这些用例都需要是独立的用例,它们之间没有扩展或包含关系。他们似乎都在同一个水平上。我可以想象,每个用例都可以由一个菜单选项触发

您将如何表示这些用例之间的依赖关系?假设一个系统有两个用例:用例a和用例B。但是用例B只能在用例a完成后才能完成。你不应该表达用例之间的那种依赖关系,而应该使用pre和posconditions。您的用例B不依赖于用例A,而只依赖于用例A的结果。如果有一个用例C会产生相同的结果,那么对于用例B也可以。想想松耦合。你对托马斯·基里安的建议有什么看法?“打开文件”应该是为其他文件生成前提条件的用例吗?在这种情况下,将打开一个文件?这取决于实际情况以及您对其建模的原因。我可以想象你会想把它建模为一个用例是的。用例建模从来不是黑白的,总是不同的灰色。@Fleve好吧,你对开放项目的附加值有什么看法。你知道你的领域。出乎意料的是,这听起来并没有带来任何价值。那么,您将如何表示这些用例之间的依赖关系?假设一个系统有两个用例:用例a和用例B。但是用例B只能在用例a完成后才能完成。你不应该表达用例之间的那种依赖关系,而应该使用pre和posconditions。您的用例B不依赖于用例A,而只依赖于用例A的结果。如果有一个用例C会产生相同的结果,那么对于用例B也可以。想想松耦合。你对托马斯·基里安的建议有什么看法?“打开文件”应该是为其他文件生成前提条件的用例吗?在这种情况下,将打开一个文件?这取决于实际情况以及您对其建模的原因。我可以想象你会想把它建模为一个用例是的。用例建模从来不是黑白的,总是不同的灰色。@Fleve好吧,你对开放项目的附加值有什么看法。你知道你的领域。出乎意料的是,这听起来并没有带来任何价值。YMMV这是一个很好的观点。在UML规范中,很难知道如何识别用例。是否有一些关于如何知道某个东西是否是用例的特性列表?不幸的是,这是一个棘手的部分。我阅读了Spence/Bittner,这有助于我理解用例合成中的这个中心点。我非常推荐这本书给任何研究用例的人。这本书的附加值是一个很好的观点。在UML规范中,很难知道如何识别用例。有关于如何认识我的一些特征列表吗
f某个东西是否是用例?不幸的是,这是一个棘手的部分。我阅读了Spence/Bittner,这有助于我理解用例合成中的这个中心点。我非常推荐这本书给任何研究用例的人。