1、按图索骥 需求分析的核心线索,软件需求最佳实践:SERU,需求分析的核心线索,软件需求最佳实践:SERU,一张凳子的故事,需求的源起:拿块板,下面钉两个木头桩子,软件需求最佳实践:SERU,问题:放花盆,上下文:花盆的种类 摆放位置,需求是什么?,软件需求最佳实践:SERU,业务需求=目标+范围,目标的价值:(教堂与小屋) 目标表述现状:言而无物、空洞、难以捉摸 目标表述方法:1)场景法:2)目标(What)+优势(Why)+度量(How much) +合理性(成本/效益)+可行性,软件需求最佳实践:SERU,业务需求=目标+范围,范围表述现状:用程序功能搭出的纸老虎(装修报价单)范围的表述方
2、法: 人:Stakeholder + End User 事:业务事件 + 管理控制点,软件需求最佳实践:SERU,用户需求,用户原始需求 零散:盲人摸象 冲突:不同层次、类型 矛盾:不同角度、侧面 不完整:难以系统 多类:功能、质量、数据、接口、约束 表述形式:一句话 主要麻烦:粒度不均匀管理困难,分类不够系统验证困难,软件需求最佳实践:SERU,软件需求,规约化:经过了分析 分解:业务驱动、层次(子问题域事件活动) 抽象:行为(功能)+结构(数据) 消除:歧义、矛盾 业务需求 用户需求 软件需求,需求定义,需求捕获,需求分析,软件需求最佳实践:SERU,需求的类型,约束,功能需求的要点在于组
3、织!,质量需求重在有效传递!,约束的主要类型:,1)非技术因素决定的技术选型文字,2)预期的软硬件环境部署图,3)预期的使用环境文字,软件需求最佳实践:SERU,冰山模型,收集,分析,挖掘,软件需求最佳实践:SERU,需求分析的核心线索,软件需求最佳实践:SERU,需求开发与管理,软件需求最佳实践:SERU,迭代开发是趋势,软件需求最佳实践:SERU,需求与设计,软件需求最佳实践:SERU,ICONIX,RUP,需求与测试,软件需求最佳实践:SERU,场景分析:业务测试失败案例资料:S2-1 流程图 生成树用例流 生成树,需求分析的核心线索,软件需求最佳实践:SERU,需求分析,分析本质动作:
4、分解、抽象、消除(歧义) 分析本质线索:人、事(流程)、物(数据)、接口 分析方法: 第一代:数据结构+算法=程序 第二代:结构化分析法(E/R+DFD) 第三代:面向对象分析法 Use Case + Class + Activity + Component 发展中:面向问题域分析法 分析是本质,建模是手段,软件需求最佳实践:SERU,模型是对现实的简化,软件需求最佳实践:SERU,建模的目的与原则,建模目的:对系统进行可视化;详细说明系统的结构或行为;对决策进行文档化 仅当需要模型时,才构建它 选择什么模型:解决的问题、强调的内容 模型的精度级别:读者对象 单个模型是不充分:各有侧重,软件需
5、求最佳实践:SERU,业务建模-Zachman框架,RUP中的业务建模,软件需求最佳实践:SERU,UML发展历程,软件需求最佳实践:SERU,UML定义的图,信息系统的基本类型,软件需求最佳实践:SERU,联机事务处理系统,目标:1)流程电子化固化流程效率提升2)完成数据采集 传统问题:过早考虑程序结构方向:业务事件为主线,软件需求最佳实践:SERU,管理信息系统,目标:辅助业务的管理与控制(进度、异常、数据) 传统问题:报表需求滞后(报表二次开发量巨大) 方向:管控点为线索,软件需求最佳实践:SERU,软件需求最佳实践:SERU,其他信息系统,专家系统 目标:个人知识转换为企业知识 方向:
6、工作场景为线索 决策支持系统 目标:解决非结构化问题 方向:决策场景为线索 步骤+数据为细化 狭义OA 目标:有效支持协作 方向:并行工作流为出发点,软件需求最佳实践:SERU,需求复用流程级,软件需求最佳实践:SERU,场景分析:产品线失败案例资料:S2-2,需求复用流程内,软件需求最佳实践:SERU,嵌入式系统的需求视角,面向直接用户:Mobile Application Subject Area :功能类型 Use Case :使用场景(考虑Event) 互动、交互、体验 面向特定设备:设备监测器 Interface :不同设备间 Action :触发点 S/E :上层应用 综合应用:CT 二者兼有之,软件需求最佳实践:SERU,基于场景的行为分析,软件需求最佳实践:SERU,面向设备的嵌入式系统,软件需求最佳实践:SERU,事件,SERU过程框架,软件需求最佳实践:SERU,