SE05 瀑布模型-需求分析.ppt
《SE05 瀑布模型-需求分析.ppt》由会员分享,可在线阅读,更多相关《SE05 瀑布模型-需求分析.ppt(114页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、中国科学技术大学中国科学技术大学软件工程软件工程瀑布模型需求分析中国科学技术大学中国科学技术大学软件工程软件工程提纲需求过程需求诱导需求的特性需求建模需求和规格说明书原型化需求需求文档确认和验证举例从客户引发需求对需求进行建模评审需求以确保其质量文档化需求中国科学技术大学中国科学技术大学软件工程软件工程如何做需求需求诱导需求分析和谈判需求规约系统建模需求确认需求管理中国科学技术大学中国科学技术大学软件工程软件工程需求分析中国科学技术大学中国科学技术大学软件工程软件工程需求(Requirement)对期望行为的表达,处理对象或实体对象或实体他们的状态他们的状态用于改变状态或对象特性的功能用于改变
2、状态或对象特性的功能需求仅理解客户的问题和需要,不考虑如何解决或实现中国科学技术大学中国科学技术大学软件工程软件工程需求分析基本任务是准确回答“系统必须做什么”需求分析不是确定系统怎样完成它的工作,而仅仅是对目标系统提出完整、准确、清晰、具体的要求需求有自己的过程结果关系到工程的成败和软件的质量构建软件系统最艰难的是准确决定要做什么。没构建软件系统最艰难的是准确决定要做什么。没有其他的概念性工作像建立详细的技术需求这样有其他的概念性工作像建立详细的技术需求这样困难,包括所有对人的界面、对机器的接口、对困难,包括所有对人的界面、对机器的接口、对其他系统的接口。如果它做错了,系统基本失败其他系统的
3、接口。如果它做错了,系统基本失败中国科学技术大学中国科学技术大学软件工程软件工程需求分析很重要31%的项目在完成前取消,9%项目按时在预算内交付(而小公司为16%)失败原因不完整的需求不完整的需求 13.1%13.1%缺少用户的参与缺少用户的参与 12.4%12.4%缺乏资源缺乏资源10.6%10.6%不切实际的期望不切实际的期望9.9%9.9%缺乏行政支持缺乏行政支持9.3%9.3%改变需求和规格说明改变需求和规格说明8.7%8.7%缺乏计划缺乏计划8.1%8.1%不再需要该系统不再需要该系统7.5%7.5%修复错误的代价需求过程 1设计 5编码 10单元测试 20交付后 200中国科学技术
4、大学中国科学技术大学软件工程软件工程获取需求的过程系统分析员需求分析员中国科学技术大学中国科学技术大学软件工程软件工程如何做需求需求诱导需求分析和谈判需求规约系统建模需求确认需求管理中国科学技术大学中国科学技术大学软件工程软件工程需求诱导询问客户、用户和其他人:什么是系统或产品的目标?需要完成什么?系统或产品如何满足业务的需要?最终系统或产品如何使用?困难:范围问题范围问题,边界未定义好或刻画了可能混淆的、边界未定义好或刻画了可能混淆的、不必要的技术细节,非简明、整体的系统目标不必要的技术细节,非简明、整体的系统目标理解问题理解问题,用户不能完全理解问题领域,与系统用户不能完全理解问题领域,与
5、系统工程师沟通不好,省略一些他们认为是工程师沟通不好,省略一些他们认为是“明显明显”信息,提出与其他客户的需要冲突或有歧义的需信息,提出与其他客户的需要冲突或有歧义的需求求易变问题易变问题,需求随时间变化需求随时间变化中国科学技术大学中国科学技术大学软件工程软件工程影响需求的人人员人员作用作用委托人支付费用。最终的风险承担者,有最终决定权客户购买软件的人用户熟悉当前系统,并最终使用系统;特殊人群领域专家对软件必须自动化的问题很熟悉市场研究人员调研以确定未来趋势及潜在客户的需要的人律师或审计人员对政府、安全性和法律熟悉的人系统工程师或其他专家确保产品在技术和经济上可行观点会冲突;需求分析员可理解
6、每种观点并以反映每个参与者关注的方式获取需求中国科学技术大学中国科学技术大学软件工程软件工程开发人员怎样看待用户用户怎样看待开发人员不知道他们想要什么不理解操作需求不能清楚地表明他们想要什么不能将清晰陈述的需求转变为成功的系统不能提供可用的需求陈述对需求定义设置不现实的标准提出太多的含有政治动因的需求对于强调技术立刻想要一切总是迟到不能保持进度不能对合法变化的需要做出及时响应不能对需求划分优先级总是超出预算不愿意妥协总是说“不”拒绝为系统负责任试图告诉我们如何做我们的本职工作未对开发项目全力以赴要求用户付出时间和工作量,甚至损害到用户的主要职责中国科学技术大学中国科学技术大学软件工程软件工程需
7、求诱导针对提议的系统评估业务和技术可行性针对提议的系统评估业务和技术可行性确定能帮助刻画需求和了解他们的组织偏爱的人员确定能帮助刻画需求和了解他们的组织偏爱的人员定义系统或产品将放置的技术环境定义系统或产品将放置的技术环境确定确定“领域约束领域约束”(特定应用领域的业务环境约束特定应用领域的业务环境约束)定义一种或多种需求诱导方法定义一种或多种需求诱导方法多人参加,从不同视角对需求进行定义,并确定每多人参加,从不同视角对需求进行定义,并确定每个要记录的需求的理由个要记录的需求的理由确定有歧义的需求作为原型实现的候选确定有歧义的需求作为原型实现的候选创建使用场景创建使用场景中国科学技术大学中国科
8、学技术大学软件工程软件工程需求类型功能需求功能需求功能功能系统什么时候做什么系统什么时候做什么有多种操作模式么有多种操作模式么必须执行什么计算或数据转换必须执行什么计算或数据转换对可能刺激的合适反应是什么对可能刺激的合适反应是什么数据数据输入、输出的格式应该是什么输入、输出的格式应该是什么在任何时间都必须保留任何数据么在任何时间都必须保留任何数据么设计约束设计约束过程约束过程约束中国科学技术大学中国科学技术大学软件工程软件工程需求类型设计约束设计约束物理环境物理环境设备安置,一个地点还是多个设备安置,一个地点还是多个对环境有何限制,温湿度、电磁干扰对环境有何限制,温湿度、电磁干扰对系统规模可有
9、限制对系统规模可有限制电源、供热、制冷上限制电源、供热、制冷上限制对现有软件的结构导致编程语言有限制对现有软件的结构导致编程语言有限制接口接口输入来自一个或多个系统输入来自一个或多个系统输出是否传送到一个或多个其他系统输出是否传送到一个或多个其他系统输入输入/输出数据的格式是否预先制定输出数据的格式是否预先制定数据使用必须使用规定的介质数据使用必须使用规定的介质用户用户谁使用谁使用有几种类型用户有几种类型用户每类用户技术怎样每类用户技术怎样中国科学技术大学中国科学技术大学软件工程软件工程需求类型过程约束资源资源构造系统需要哪些材料、人员或其他资源构造系统需要哪些材料、人员或其他资源开发人员应具
10、有怎样的技能开发人员应具有怎样的技能文档文档需要多少文档需要多少文档文档是联机的、印刷的还是都要文档是联机的、印刷的还是都要每种文档针对哪些读者每种文档针对哪些读者标准标准需要遵循什么需要遵循什么标准标准中国科学技术大学中国科学技术大学软件工程软件工程需求类型质量需求质量需求性能性能有无执行效率、响应时间或吞吐量的约束有无执行效率、响应时间或吞吐量的约束用什么方法测量上述约束用什么方法测量上述约束有多少数据需经系统处理有多少数据需经系统处理数据收发的时间间隔等数据收发的时间间隔等可用性和人的因素可用性和人的因素每类用户需要什么样的培训每类用户需要什么样的培训用户理解并使用系统的难易程度用户理解
11、并使用系统的难易程度系统需要在多大程度上防止用户误用系统系统需要在多大程度上防止用户误用系统安全性安全性必须控制对系统或信息的访问么必须控制对系统或信息的访问么每个用户的数据应与其他用户的隔离开么每个用户的数据应与其他用户的隔离开么每个用户的程序和其他程序或系统隔离开么每个用户的程序和其他程序或系统隔离开么需采取预防措施防盗窃或蓄意破坏么需采取预防措施防盗窃或蓄意破坏么中国科学技术大学中国科学技术大学软件工程软件工程需求类型可靠性和可用性可靠性和可用性系统检测并隔离故障么系统检测并隔离故障么规定的平均无故障时间是多少,重启时间是多少规定的平均无故障时间是多少,重启时间是多少多长时间备份一次系统
12、,副本要放在不同地方么多长时间备份一次系统,副本要放在不同地方么可维护性可维护性维护是仅纠错还是包括改进系统维护是仅纠错还是包括改进系统系统可能在将来什么时候被什么方式破坏系统可能在将来什么时候被什么方式破坏给系统增加功能的难易程度如何给系统增加功能的难易程度如何移植系统容易否移植系统容易否精度和准确性精度和准确性数据计算的准确度有何要求,竟算精度到什么程度数据计算的准确度有何要求,竟算精度到什么程度交付时间交付时间/代价代价有预先规定的开发时间表么有预先规定的开发时间表么花在软硬件扩开发上的资金有限么花在软硬件扩开发上的资金有限么中国科学技术大学中国科学技术大学软件工程软件工程需求冲突从所有
13、相关人员获取的需求,会遇到“需求应该是什么”的不一致请用户划分优先级请用户划分优先级绝对需要满足的绝对需要满足的非常值得要但非必须的非常值得要但非必须的可要可不要的可要可不要的按优先级排序按优先级排序重新评估和商谈重新评估和商谈技能、耐心和经验技能、耐心和经验中国科学技术大学中国科学技术大学软件工程软件工程需求文档需求的用途系统分析员和客户用需求解释对系统行为的理解系统分析员和客户用需求解释对系统行为的理解设计人员将需求作为可接收解决方案的约束设计人员将需求作为可接收解决方案的约束测试人员依需求得一套验收标准,表明确为所求测试人员依需求得一套验收标准,表明确为所求维护人员用需求来增强系统维护人
14、员用需求来增强系统需求文档需求定义需求定义客户想要的每一件事情的完整列表客户想要的每一件事情的完整列表需求规格说明书需求规格说明书将需求重新陈述成关于要构架系统如何运转的说明将需求重新陈述成关于要构架系统如何运转的说明中国科学技术大学中国科学技术大学软件工程软件工程需求特性正确么正确么一致么一致么无冲突无冲突无二义性么无二义性么完备么完备么指定了所有约束下、所有状态下、所有可能输入和输出以指定了所有约束下、所有状态下、所有可能输入和输出以及必须的行为及必须的行为外部完备,内部完备(没有未定义项)外部完备,内部完备(没有未定义项)可行么可行么每一个需求都相关么每一个需求都相关么可测试么可测试么可
15、跟踪么可跟踪么中国科学技术大学中国科学技术大学软件工程软件工程需求诱导的产品需要和可行性的陈述系统或产品的范围的限制性描述参与需求诱导活动的客户、用户和其他风险承担者列表系统的技术环境描述(可按功能组织的)需求的列表和应用于每个需求的领域限制一组使用场景,提供对不同运行条件下系统或产品的使用的见识为更好地定义需求而开发的任意原型中国科学技术大学中国科学技术大学软件工程软件工程需求分析和谈判需求诱导的产品是需求分析的基础。需求分析活动对需求进行分类并将他们组织为相关的子集,根据和其他需求的关系来考察每个需求,检查需求的一致性、疏忽和二义性前者解决一致性、抽象与否、是否必要、需求的来源清楚与否、可
16、测试?后者解决多个用户的冲突的需求或在给定资源下,要求多于可实现的情况中国科学技术大学中国科学技术大学软件工程软件工程需求分析 任务确定对系统的综合要求系统功能要求系统功能要求系统性能要求系统性能要求运行要求运行要求将来可能提出的要求将来可能提出的要求分析系统的数据要求导出系统的逻辑模型修正系统开发计划确认需求开发原型系统开发原型系统可能的任务还有开发原型系统中国科学技术大学中国科学技术大学软件工程软件工程分析过程软件系统可以认为是将软件系统可以认为是将输入数据变换成输出数输入数据变换成输出数据的信息处理系统据的信息处理系统结构化分析方法就是面结构化分析方法就是面向数据流自顶向下逐步向数据流自
17、顶向下逐步求精进行需求分析方法求精进行需求分析方法结构化方法结构化方法沿数据流图回溯沿数据流图回溯回溯初步得算法回溯初步得算法IPOIPO用户审查用户审查DFD,IPO,DFD,IPO,数据字典数据字典细化细化DFDDFD修正开发计划修正开发计划书写文档书写文档审查和复查审查和复查循环进行中国科学技术大学中国科学技术大学软件工程软件工程需求分析的基本过程采用DFD时此为基本样式,采用其他技术也需要类似处理此为基本样式,采用其他技术也需要类似处理分析追踪DFD用户复查细化DFD不需分解无补充修正有补充修正需分解中国科学技术大学中国科学技术大学软件工程软件工程文档和分析过程系统规格说明系统规格说明
18、DFD+IPODFD+IPO数据要求数据要求数据字典数据字典+层次方框图层次方框图+Warnier+Warnier图图DBDB用户系统描述用户系统描述简单的用户手册简单的用户手册修正的开发计划修正的开发计划中国科学技术大学中国科学技术大学软件工程软件工程建模表示法实体关系图实体关系图UMLUML类图类图事件踪迹事件踪迹UMLUML时序图时序图状态机状态机UMLUML状态图状态图PetriPetri网网数据流图数据流图用例图用例图函数和关系函数和关系判定表和判定树判定表和判定树逻辑表达逻辑表达对象约束语言对象约束语言Z Z语言语言层次图层次图WarnierWarnier图图IPOIPO图图IPO
19、IPO表表不同问题,可采用多种表示好用就好中国科学技术大学中国科学技术大学软件工程软件工程概念模型 ER模型采用实体-联系方法描述现实世界的实体,而不涉及实现方法实体实体联系联系 (基数)(基数)1:1 1:N M:N1:1 1:N M:N属性属性实体或联系的性质实体或联系的性质中国科学技术大学中国科学技术大学软件工程软件工程ER图实例关于结构职称性别姓名ID教师职务系性别姓名ID学生年级成绩学分学时课名ID课程教学1NNM中国科学技术大学中国科学技术大学软件工程软件工程ERD的补充形态关系的出现是可选的,关系的形态是关系的出现是可选的,关系的形态是0 0关系必须出现关系必须出现1 1次,则形
20、态是次,则形态是1 1汽车厂生产汽车基数生产一种汽车形态 强制的必须生产一种汽车基数可生产多种汽车形态 强制的中国科学技术大学中国科学技术大学软件工程软件工程十字旋转门例子中国科学技术大学中国科学技术大学软件工程软件工程规范化有些数据是要长期保存的,用规范化方法减少冗余范式NFNF1NF5 冗余度 存储自身 性能 稳定性NF1NF1:属性值为原子的,无内部结构:属性值为原子的,无内部结构NF2NF2:非关键字属性均由:非关键字属性均由整个整个关键字决定关键字决定NF3NF3:非关键字属性均:非关键字属性均仅仅由整个关键字决定,非由整个关键字决定,非关键字属性值不依赖于另一个非关键字属性值关键字
21、属性值不依赖于另一个非关键字属性值中国科学技术大学中国科学技术大学软件工程软件工程UML类图中国科学技术大学中国科学技术大学软件工程软件工程事件踪迹关于实体行为关于现实世界实体间交换的事件序列的图形描述对文档化系统行为无效中国科学技术大学中国科学技术大学软件工程软件工程UML时序图中国科学技术大学中国科学技术大学软件工程软件工程状态机单个模型中一组时间踪迹;表示动态行为和响应已发生事件时的行为变化有效中国科学技术大学中国科学技术大学软件工程软件工程UML状态图中国科学技术大学中国科学技术大学软件工程软件工程UML状态图中国科学技术大学中国科学技术大学软件工程软件工程UML状态图中国科学技术大学
22、中国科学技术大学软件工程软件工程Petri网做状态-迁移的表示法UML协作图类似Petri圆:位置,表示活动或条件,存放令牌圆:位置,表示活动或条件,存放令牌条:变迁条:变迁箭头:将变迁与其输入位置和输出位置连接箭头:将变迁与其输入位置和输出位置连接Petri网可描述同步和并发中国科学技术大学中国科学技术大学软件工程软件工程举例:简单Petri网中国科学技术大学中国科学技术大学软件工程软件工程举例,高级Petri网中国科学技术大学中国科学技术大学软件工程软件工程数据流图DFD中国科学技术大学中国科学技术大学软件工程软件工程DFD 示例用DFD方式说明需求获取与分析过程中国科学技术大学中国科学技
23、术大学软件工程软件工程DFD0中国科学技术大学中国科学技术大学软件工程软件工程DFD1中国科学技术大学中国科学技术大学软件工程软件工程DFD 2-1:对DFD1中的”1”进行展开中国科学技术大学中国科学技术大学软件工程软件工程DFD 3-1:对DFD2-1中的”1.1”进行展开中国科学技术大学中国科学技术大学软件工程软件工程DFD3-2:对DFD2-1的”1.2”进行展开中国科学技术大学中国科学技术大学软件工程软件工程用例中国科学技术大学中国科学技术大学软件工程软件工程函数和关系中国科学技术大学中国科学技术大学软件工程软件工程判定表函数规格说明的表格式表示可能的输入事件、条件和动作动作序列输入
24、事件条件中国科学技术大学中国科学技术大学软件工程软件工程判定表中国科学技术大学中国科学技术大学软件工程软件工程OCL对象约束语言UML中的一个扩展精确+易读等指示出不变量约束等指示出不变量约束等中国科学技术大学中国科学技术大学软件工程软件工程形式化语言 Z形式化的需求规格说明,将集合论的变量定义组织到一个问题的完整的抽象数据类型模型中,并用逻辑来表示每个操作的前置和后置条件可作自动化证明可作自动化证明类似的有代数规格说明等类似的有代数规格说明等修改修改?输入?输入!输出!输出 查询查询中国科学技术大学中国科学技术大学软件工程软件工程中国科学技术大学中国科学技术大学软件工程软件工程SDL数据规格
25、说明和描述语言(SDL)中的数据难度在于构造完备的、一致的和反映期望的公理中国科学技术大学中国科学技术大学软件工程软件工程中国科学技术大学中国科学技术大学软件工程软件工程图形工具层次方框图树形结构的一系列举行框描绘数据的层次结构树形结构的一系列举行框描绘数据的层次结构完整的数据结构子集1子集2子集n实际数据元素中国科学技术大学中国科学技术大学软件工程软件工程Warnier图可表明信息的逻辑组织软件工具系统软件应用软件软件产品编译程序(P2)操作系统(P1)编辑程序(P3)测试驱动程序(P4)设计辅助工具(P5)中国科学技术大学中国科学技术大学软件工程软件工程IPO图旧的主文件事务文件1.校验主
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SE05 瀑布模型-需求分析 瀑布 模型 需求 分析
限制150内