高级
框架
设计师
需求
分析
设计
方法
,高级框架设计师,信息产业部信息化专家 王宝会,议题,导入网络应用数据库应用系统性能需求分析和设计方法开发工具开发方法基于中间件的开发开发管理测试评审方法系统审计信息化基础知识,需求分析和设计方法,软件生存期的阶段划分,(1)可行性研究与计划(2)需求分析(3)总体设计 上游(4)详细设计(5)实现(6)集成测试(7)确认测试 下游(8)使用和维护(根据国标计算机软件开发规范),软件生存周期:软件产品或软件系统从设计、投入使用到被淘汰的全过程。,新的国际标准定义的软件生存过程(1995 ISO/IEC 12207),软件生存期过程,支持过程,组织过程,主要过程,获取过程,供应过程,开发过程,运行过程,维护过程,文档编制过程,配置管理过程,质量保证过程,验证过程,确认过程,联合评审过程,审核过程,问题解决过程,管理过程,基础设施过程,改进过程,培训过程,只考虑编写程序,涉及整个软件生存周期,扩展到,软件工作的范围,企业提出要求“我们要建立一套完整的商业管理软件系统,包括商品的进、销、调、存管理,是总部-门店的连锁经营模式。通过通信手段门店自动订货,供货商自动结算,卖场通过扫条形码实现销售,管理人员能够随时查询门店商品销售和库存情况。另外,我们也得为政府部门提供关于商品营运的报告。”我要做什么!,需求分析工作内容注意事项,我要做什么!是指导性的框架,像“雾里看花”般模糊并令开发者感到困惑。分析需求的具体内容:业务需求反映了组织机构或客户对系统、产品高层次的目标要求,通常在项目定义与范围文档中予以说明。用户需求描述了用户使用产品必须要完成的任务,这在使用实例或方案脚本中予以说明。功能需求定义了开发人员必须实现的软件功能,使用户利用系统能够完成他们的任务,从而满足了业务需求。非功能性的需求描述了系统展现给用户的行为和执行的操作等,它包括产品必须遵从的标准、规范和约束,操作接口的具体细节和构造上的限制。需求分析报告报告所说明的功能需求充分描述了软件系统所应具有的外部行为。“需求分析报告”在开发、测试、质量保证、项目管理以及相关项目功能中起着重要作用。,拨开需求分析的迷雾,需求分析的任务,基本任务:准确地回答“系统必须做什么?”1.确定对系统的综合需求(1)系统功能要求(2)系统性能要求(3)运行要求(4)将来可能提出的要求2.分析系统的数据要求采用建立“概念模型”的方法,并辅助图形工具,如:层次方框图、Warnier图等。3.导出系统的逻辑模型数据流程图、数据字典、主要算法4.修正系统开发计划5.开发原型系统,需求分析的步骤,需求获取需求提炼:分析建模(导出软件逻辑模型)需求描述:编写需求验证,需求分析过程,1.沿数据流程图回溯从“输出端”到“输入端”回溯,分析数据元素。2.用户复查借助已有的数据流程图,帮助复查,再次完善数据流程图。3.细化数据流程图4.修正开发计划5.书写文档系统规格说明:系统的概貌、功能要求、运行要求、将来可能的要求。数据要求:数据字典、图形工具(数据结构的层次图、Warnier图)用户系统描述:初步的用户手册修正的开发计划,分析追踪数据流程图,用户复查,细化数据流程图,有补充修正,无补充修正,需要分解,不需分解,需求分析的基本过程,需求分析过程,1.概念模型最常用的表示概念性数据模型的方法:实体联系方法(Entity-Relationship Approach),简称E-R模型。E-R模型包含三个基本成分:“实体”、“联系”、“属性”(1)实体:是客观世界中存在的、且可相互区分的事物。它可以是人或物,也可以是具体事物或抽象事物。例如:教师、学生、课程是实体。实体用矩形框表示,如:,教师,需求分析过程-概念模型和规范化,(2)联系:客观世界中的事物彼此之间有联系,描述实体与实体之间的关系。联系有三种:1:1(一对一联系)例如:实体“校长”与“大学”之间的联系为“1:1”1:N(一对多联系)例如:实体“学校”与“院系”之间的联系为“1:N”M:N(多对多联系)例如:实体“学生”与“课程”之间的联系为“M:N”联系用菱形框表示,如:,需求分析过程-概念模型和规范化,(3)属性:属性是实体或联系所具有的性质。通常一个实体或联系由若干属性来刻画。,教师,学生,课程,教,学,1,N,M,N,成绩,需求分析过程-概念模型和规范化,2.范式第一范式每个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构。第二范式满足第一范式条件,而且每个非关键字属性都由整个关键字决定(而不是由关键字的一部分来决定)。第三范式符合第二范式的条件,每个非关键字属性都仅由关键字决定,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述(即一个非关键字属性值不依赖于另一个非关键字属性值)一般使用第三范式,避免第三范式,需求分析过程-概念模型和规范化,1.层次方框图层次方框图用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它表达完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分解的元素)2.Warnier图Warnier图也用树形结构描绘信息,且更丰富,能表达逻辑关系。,需求分析过程-图形工具,需求分析过程-图形工具,3.IPO图IPO图是输入/处理/输出图的简称,能够方便地描述输入数据、对数据的处理和输出数据之间的关系。基本形式是在左边的框中列出有关的输入数据,在中间的框内列出主要的处理,在右边的框内列出产生的输出数据,1.验证软件需求的四个方面一致性完整性现实性有效性2.验证软件需求的方法3.验证软件需求的软件工具,验证软件需求,引言任务概述需求规定运行环境规定,软件需求说明书,需求工程概述,需求工程是指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科。需求工程的活动:需求获取需求建模形成需求规格(规约)需求验证需求管理,需求工程的层次分解示意图,需求工程,需求工程,需求管理,问题获取,分析,编写规格说明,验证,