需求建模(I) 建模和分析(I) 通用的建模问题 建模目的、组织 和非功能需求
需求建模(I) 建模和分析(I) 通用的建模问题 建模目的、组织 和非功能需求
建模的动机 想象一下我们已经与一些投入者进行过交谈 主要执行官 餐饮经理 航班如果取消,VIP首先要被升仓 机上带的食物由乘坐特定的仓位的旅 打折机票应该向政治家们提供,因为 客的数量决定 他们制订影响航线的决定 乘坐飞机的预计的旅客数必须在起飞 关于常旅客的信息不能透露给外面的 以前24小时给出 客户 要求特殊食物的旅客必须在起飞前24 主要的保密方面的官员 小时指明他们的要求 飞机运载的行包数与机上乘客的名单 机票销售经理 相符合 机票只有在付费的时候才出 旅客名单不应该向外界公开 对某种票价,机票可以一直保留并不 旅客应该只能检票一次 需要确认 旅行代理 当一种折扣票被预订,正常的提前预 代理负责预订的维持和取消 订的需求不再有效 个代理提供的票有不同的票价,需 所有的票都要有涉及条款和出票条件 要和航线销售部门协商 的背书 我们怎么样从这里产生一个被一致接受的规格说明呢?
建模的动机 主要执行官 ◼ 航班如果取消,VIP首先要被升仓 ◼ 打折机票应该向政治家们提供,因为 他们制订影响航线的决定 ◼ 关于常旅客的信息不能透露给外面的 客户 主要的保密方面的官员 ◼ 飞机运载的行包数与机上乘客的名单 相符合 ◼ 旅客名单不应该向外界公开 ◼ 旅客应该只能检票一次 旅行代理 ◼ 代理负责预订的维持和取消 ◼ 一个代理提供的票有不同的票价,需 要和航线销售部门协商 餐饮经理 ◼ 机上带的食物由乘坐特定的仓位的旅 客的数量决定 ◼ 乘坐飞机的预计的旅客数必须在起飞 以前24小时给出 ◼ 要求特殊食物的旅客必须在起飞前24 小时指明他们的要求 机票销售经理 ◼ 机票只有在付费的时候才出 ◼ 对某种票价,机票可以一直保留并不 需要确认 ◼ 当一种折扣票被预订,正常的提前预 订的需求不再有效 ◼ 所有的票都要有涉及条款和出票条件 的背书 想象一下我们已经与一些投入者进行过交谈… 我们怎么样从这里产生一个被一致接受的规格说明呢?…
建模有什么用? ◆建模能指导抽取 ■建模过程帮助你想岀要问什么问题吗? ■建模过程帮助将隐含的需求显式化吗? ●即,它帮助你问正确的问题吗? ◆建模能提供对进展的度量 模型的完整性蕴涵了抽取的完整性吗? ●即,如果我们填好了模型的每个部分,我们就做 完了吗?
建模有什么用? 建模能指导抽取 ◼ 建模过程帮助你想出要问什么问题吗? ◼ 建模过程帮助将隐含的需求显式化吗? ⚫ 即,它帮助你问正确的问题吗? 建模能提供对进展的度量 ◼ 模型的完整性蕴涵了抽取的完整性吗? ⚫ 即,如果我们填好了模型的每个部分,我们就做 完了吗?
建模有什么用? 建模能帮助发现问题 ■模型中的不一致性揭示什么有趣的事吗? ●比如:不一致性可能对应为矛盾的或不可行的需求 ●比如:不一致性可能意味着术语、范围等的混乱 ●比如:不一致性可能揭示投入者之间的不同意见 ◆建模能帮助我们检査我们对问题的理解 ■我们能检测模型具有我们期望的特性吗? 我们能根据模型的推理去理解它的结论吗? ■我们能模拟这个模型,以便帮助我们将需求可视化/检验需求的 有效性吗?
建模有什么用? 建模能帮助发现问题 ◼ 模型中的不一致性揭示什么有趣的事吗? ⚫ 比如:不一致性可能对应为矛盾的或不可行的需求 ⚫ 比如:不一致性可能意味着术语、范围等的混乱 ⚫ 比如:不一致性可能揭示投入者之间的不同意见 建模能帮助我们检查我们对问题的理解 ◼ 我们能检测模型具有我们期望的特性吗? ◼ 我们能根据模型的推理去理解它的结论吗? ◼ 我们能模拟这个模型,以便帮助我们将需求可视化/检验需求的 有效性吗?
建模技术分类 为企业建模(本讲的内容) 信息建模:ERD 目标和目的 组织建模:I*、SSM、ISAC 组织结构 目标建模:KAOS、 CREWS 活动、过程、生产 主体和工作角色 为功能需求建模 结构化分析:SADT、 SSADM、JSD 结构视点(数据的结构) 面向对象分析: 行为视点 OOA、OOSE、OMT、UML 时间需求 形式化方法:Z、VDM ◆为非功能需求建模 产品需求 质量交易:QFD、win-win 过程需求 特殊的非功能需求 外部需求 时间 Petri网(性能) 任务模型(可用性) 概率MTTF(可靠性)
建模技术分类 为企业建模(本讲的内容) ◼ 目标和目的 ◼ 组织结构 ◼ 活动、过程、生产 ◼ 主体和工作角色 为功能需求建模 ◼ 结构视点(数据的结构) ◼ 行为视点 ◼ 时间需求 为非功能需求建模 ◼ 产品需求 ◼ 过程需求 ◼ 外部需求 信息建模:ERD 组织建模:I*、SSM、ISAC 目标建模:KAOS、CREWS 结构化分析:SADT、SSADM、JSD 面向对象分析: OOA、OOSE、OMT、UML 形式化方法:Z、VDM 质量交易:QFD、win-win 特殊的非功能需求: 时间Petri网(性能) 任务模型(可用性) 概率MTTF(可靠性)