可修改性质量属性场景主要关注系统在改变功能、质量属性时需要付出的成本和难度,可 修改性质量属性场景可能发生在系统设计、编译、构建、运行等多种情况和环境下。
假设我们有一个电子商务平台,系统希望增加支持多语言的功能,以便满足全球用户的需求。
-
刺激源:
- 最终用户:全球用户的需求变化,要求平台支持更多语言。
- 开发人员:开发人员需要根据新需求对系统进行修改以支持多语言。
- 系统管理员:管理员需要确保系统架构能够支持新的语言包,并且不影响原有功能的稳定性。
-
刺激:
- 希望增加功能:例如,增加对新语言的支持。
- 质量属性:例如,增加语言支持可能会影响系统的响应速度,开发人员可能需要调整数据库或缓存策略来提升性能。
- 容量:为了支持更多的语言,系统可能需要扩大数据库容量,以存储更多的翻译内容。
-
环境:
- 系统设计时:在设计阶段,可能需要对系统架构做出调整,以便在未来扩展更多语言。
- 编译时:可能需要编译新的本地化文件或代码,确保所有语言资源都能被正确加载。
- 构建时:构建过程中,可能需要生成新的构建版本来包含新的语言支持。
- 运行时:在系统运行过程中,可能需要进行热更新,以支持新的语言设置。
-
制品:
- 系统用户界面:增加语言支持需要修改前端界面,确保界面内容可以根据用户选择的语言进行切换。
- 平台:平台本身需要能够处理不同语言的请求,进行语言包的管理。
- 与目标系统的交互:系统与其他服务或平台交互时,可能需要确保数据传输中包括语言相关的参数,以确保准确传递。
-
响应:
- 查找结构中需要修改的位置:首先,开发人员需要定位哪些部分需要修改,比如前端语言切换功能、后端多语言支持、数据库表结构等。
- 进行修改但不影响其他功能:修改过程中,开发人员需要确保新增的语言支持不会破坏现有功能。例如,语言切换功能应能平滑切换,不影响用户的购物体验。
- 进行测试:每次修改后,开发人员需要进行功能测试,确保所有语言版本都能正常工作,且没有影响其他系统功能。
-
响应度量:
- 修改的成本、努力、资金:增加语言支持可能需要开发人员花费额外的工时,测试人员也需要验证不同语言下的功能是否正常运行。
- 对其他功能的影响:新增语言支持可能影响系统的响应时间,开发人员可能需要调整后端处理速度,或优化数据库查询效率。