精选优质文档-倾情为你奉上软件需求分析之约束对约束的理解:a) UML和模式应用(第2版)一书对约束的理解:约束不是行为,是设计或项目的某些限制条件,这些限制条件也属于需求,但通常被称为“约束”来强调其限制性,例如:i. 必须使用Oracle(我们硬件签署过使用许可证了);ii. 必须在Linux上运行(成本低)b) 一线架构师实践指南一书对约束的总结:约束需求=业务环境因素 + 使用环境因素 + 构建环境因素 + 技术环境因素第一,业务环境因素(来自客户或出资方的约束性需求)1、 架构师必须充分考虑客户对上线时间的要求、预算限制、以及集成需要等非功能需求。2、 客户所处的业务领域为哪些?有什么业务规则和业务限制?3、 是否需要关注相应的法律法规、专利限制?第二,使用环境因素(来自用户的约束性需求)1、 软件将人提供给何阶层用户?2、 用户的年龄及使用偏好是哪些?3、 用户是否遍及多个国家?4、 使用期间的环境有电磁干扰、车船移动等国因素吗?第三,构建环境因素(来自开发者和升级维护人