约束分析
当系统中存在大量约束时,就需要强化约束分析。如果系统的规则量大、规则很复杂,就可以考虑把约束分析作为一个单独的主题来进行。
否则,在业务流程分析、业务场景分析、领域建模的时候,附带地对业务规则进行分析即可。这个任务一般不会被完全跳过或者裁减掉,要花费的时间也不多,可以根据实际项目产品的情况来决定花费多长时间。
主要是明确以下几方面的内容:
-
明确进度要求:不仅应该列出最晚交付时间,还应该说明这个交付期限背后的理由,以便更好地指导分阶段交付,以及制定未能完全满足时的预案。
-
明确资源支持:比如接口人、环境支持等。可以争取用户为每个业务主题设置相应的业务接口人,以获得更大支持。
-
明确预算需求:当然,这一点在需求分析里一般不涉及,通常直接参考合同约定即可。
-
明确技术选型:客户有时候会对开发提出具体的技术选型要求,如果是相关政策法规规定,比如国产化平台要求,这种一般是不能改的;如果是内部规范要求,这种一般也是不能改的;如果是接口人的技术偏好,这种是有协商的可能性的。
-
明确部署环境:主要包括遗留系统、用户采购的软硬件平台、用户所处的国家、文化区域、社会环境,甚至生命周期也会有影响。如果是长生命周期,会对技术的先进性要求更高。
-
明确开发环境:包括开发人员的技术能力、开发资源。但这一点在需求分析工作里通常不必明确考虑。
约束分析最终要输出两个文档:
-
项目约束描述:主要由进度要求、预算要求、资源支持以及其他约束四个部分组成。通常来说,客户的决策层也可能会关注这个文档。
-
设计约束描述:主要由技术选型、部署环境、开发环境以及其他约束四个方面组成。通常来说,信息部门会更关注。