当前位置: 首页 > news >正文

需求-扩展用例

有时,可能在两个用例之间需要另外一种连接,这种连接很像扩展机制。

考虑这样一个例子。
你正在设计一个新文字处理程序,叫做Wapp。主要的用户活动是键盘输入。然而,用户可能突然决定改变缩放尺寸或字体,运行拼写检查程序,或者进行许多与键盘输入无关的操作。实际上,你希望键盘输入活动与发生在文档中的任何其他动作都无关。
更重要的是,你希望不同的软件开发小组在对这些服务提出新建议的同时,不会因为新建议而导致基用例的修改。你希望能够在没有大变动的情况下扩展需求文档。
下面描述了上述情况的特征。
有一个主活动,主活动可以被中断。
主活动可以被多种方式中断,并且不能控制中断。
这和系统有一个主菜单的情况是有区别的,主菜单列出了用户可以选择的系统服务。主菜单控制着用户的选择,然而在我们的例子中,主活动不进行控制,而且可以被其他的活动中断。

在这个实例中,不希望基用例显式地表示出所有的中断用例。如果每个人或小组在加入一个新的中断用例的时候都修改基用例,这样将会产生非常头疼的维护问题。每次的修改可能使用例变得混乱,或者每次修改都需要更新版本、重新评审等。
可以考虑使用与描述场景扩展相同的机制,但在这里是创建新用例。新用例称为扩展用例(extensionuse case),它除了是独立的用例之外,其他都与场景扩展相同。就像场景扩展一样,扩展用例从一个条件开始,在基用例中该条件可能满足的地方被引用。应将所有的条件都放到模板的触发事件(Trigger)部分中。
为了解释清楚,我们从文字处理程序Wapp.的用例中摘录出一部分。图10-1显示了在UML图中 Wapp的情况。我特别使用了一个特殊形式的连接符(一个钩子)来指明用例扩展(或者钩到)另外一个用例。

http://www.cnnetsun.cn/news/1369971.html

相关文章:

  • 为QuickTime Player自定义快进/快退快捷键:提升观影效率的实用技巧
  • PFC GBM岩石矿物多组分模型构建与力学模拟分析
  • 开发提效利器:在快马平台一键生成配置完善的vit高效开发环境
  • ESP32开发必备:一键合并多个bin文件为完整固件的Shell脚本(附详细配置步骤)
  • 光猫桥接 vs. 路由模式怎么选?2024年最新家庭网络设置避坑指南
  • SDN进阶实战:用OpenFlow和P4手把手搭建你的第一个IBN实验环境
  • 为Spring_couplet_generation 构建自动化测试:Python单元测试与集成测试
  • AIGC内容创作新玩法:DeOldify为黑白线稿注入色彩
  • 2023最新版GEM5入门实战:从Docker编译到ARM全系统模拟(避坑指南)
  • Qwen2.5-32B-Instruct大模型部署:生产环境最佳实践
  • 基于知识库回答的智能客服系统:架构设计与工程实践
  • Dify混合检索优化实战手册(召回率提升31.5%的私有化调参矩阵首次公开)
  • Word2Vec实战:从预训练模型到自训练模型的工程化应用与避坑指南
  • python微信小程序的ai体育馆场地预约提醒系统
  • 快马AI助力:十分钟搭建小龙虾线上点餐系统原型
  • PHP工作流优化秘籍,效率提升不再难
  • CUDA 编程系列(六)《异步并行、底层控制与系统优化》
  • 告别DNS劫持:手把手教你用C/C++和libcurl实现自己的DoH客户端
  • 2026年3月哪些房源管理系统客户管理功能完善
  • CLIP ViT-H-14惊艳案例分享:基于LAION-2B训练的跨域图像匹配效果
  • Qwen3-8B助力中小企业:低成本部署私有化AI知识库方案
  • 深入解析PRJ投影文件:从WKT格式到GIS坐标系统实践
  • 如何在STM32上跑通TinyGL?嵌入式图形渲染实战指南(附源码)
  • QueryWrapper 可以指定返回字段吗
  • I2C电路设计避坑指南:OD/OC与推挽模式到底怎么选?
  • 为什么Argos Translate是离线翻译的终极解决方案?完整指南揭秘
  • 基于TIA Portal V16的智能储物柜密码锁PLC控制系统设计与实现
  • Anaconda环境管理:为SenseVoice-Small模型调用创建独立的Python虚拟环境
  • Bidili Generator助力内容创作:批量生成社交媒体配图方案
  • 敏捷测试转型策略:提升团队效率40%