用例图的优点和缺点
用例图的优势: 以下是用例图在实践中的一些优势。在需求建模练习开始时意识到这些优势对于提高问题空间模型(MOPS)的质量最有帮助:
◾用例图模拟了参与者和系统之间的通信,并提供了系统使用和行为的摘要视图。此摘要视图提供了对总体需求的直接理解 - 然后读者可以深入了解特定参与者并使用感兴趣的案例。
◾用例图可以通过显示系统的预期行为来组织需求。
它们有助于确定系统的核心要求及其变体。在用例图中对这些要求的演练有助于在软件开发项目的生命周期早期阐明并改进这些要求。
◾用例图可以有效地总结用户(参与者)与将为企业提供价值的系统之间所需的交互。
◾用例图以图形方式显示重用用例的机会;此重用处于需求级别,并通过包含和扩展机制在用例图中建模。
◾用例图可以帮助将大型系统划分为多个模块。每个模块本身可以由用例图表示。 (但请注意,用例图中没有级别。)
◾用例图的边界特征有助于隔离系统的内部和外部元素 - 演员都在外面,系统内部的用例。
◾评估和确定需求的优先级:用例图可用于评估需求。借助用例图,可以确定一组业务流程,这些业务流程代表一些重要的核心功能,可以归类为高优先级的工作。剩余的业务流程(或功能)可能不会优先于重要业务流程(或功能)。
◾促进项目估算:用例图可用于估计项目规模和复杂性,因为它们显示了用例存在的上下文,并与其他用例和参与者相关。例如,涉及简单用户界面并且需要最少数据库交互的用例可以被归类为简单任务。另一方面,涉及复杂用户界面和多个数据库交互的复杂用例可以被归类为复杂任务,并在时间尺度中分配最高值。
用例图的弱点
以下是用例图在实践中的一些弱点。在需求建模练习开始时意识到这些弱点也非常有助于提高MOPS的质量:
◾与用例类似,用例图不是面向对象的,也没有为解决方案的开发提供面向对象概念的任何主动应用。
◾不精确的关系:用例图中显示的两个用例之间的关系(即<< include >>,<< extends >>和<< inherits >>)在UML中没有严格的定义。这些关系提供了用例如何相互关联的一般描述。实际软件项目不像严格定义那样使用这些关系,而是指示两个用例之间的联系。需要注释来为关系提供价值。
使用 用例图中的粒度是一个美学问题。用例图很容易因用户使用太多或太少而失去其美学质量。此外,系统可以具有不同的粒度级别,因此在创建,阅读和理解用例图方面产生复杂性。
◾用例图不显示系统中的任何流或依赖关系。它们仅提供系统的高级图片,并且没有表示操作顺序和替代操作的功能。