《实用软件工程ppt课件.ppt》由会员分享,可在线阅读,更多相关《实用软件工程ppt课件.ppt(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实用软件工程实用软件工程-ITIT企业软件的开发与管理企业软件的开发与管理赵池龙赵池龙第第5章章 软件需求软件需求 5.1 5.1 需求分析的重要性需求分析的重要性5.2 5.2 需求分析的任务需求分析的任务5.3 5.3 需求分析的目的需求分析的目的5.4 5.4 需求分析方法需求分析方法5.5 5.5 需求管理过程需求管理过程 5.6 5.6 需求分析文档需求分析文档5.1 5.1 需求分析的重要性需求分析的重要性输入:输入:合同合同/立项建议书立项建议书。输出:输出:用户需求报告用户需求报告/需求规格说明书需求规格说明书。需求分析为什么重要?需求分析为什么重要?(1)(1)大型系统的失败
2、,最后均归结到需求分析。大型系统的失败,最后均归结到需求分析。(2)(2)用户需求报告用户需求报告是一个里程碑是一个里程碑/基线。基线。(3)(3)需求分析占软件开发工作量的需求分析占软件开发工作量的30%30%左右。左右。(4)(4)需求获取中的错误,会发散式的传播需求获取中的错误,会发散式的传播。需求获取为什么难?需求获取为什么难?(1)(1)用户需求具有动态性用户需求具有动态性(不稳定性不稳定性)。(2)(2)用户需求具有模糊性用户需求具有模糊性(不准确性不准确性)。(3)(3)对需求达成一致的艰难性。对需求达成一致的艰难性。(4)(4)国有企业正处在更年期;民营企业正国有企业正处在更年
3、期;民营企业正处在青春期。处在青春期。(5)(5)许多软件工程的书籍没有将需求分析许多软件工程的书籍没有将需求分析讲清楚。讲清楚。(6)(6)用户和开发者,都不重视需求。用户用户和开发者,都不重视需求。用户只重视何时交货,开发者只重视赶快编程。只重视何时交货,开发者只重视赶快编程。5.2 需求分析的任务需求分析的任务第第1 1:画出目标系统的组织结构图与列出各部门:画出目标系统的组织结构图与列出各部门的岗位角色表的岗位角色表(组织机构模型组织机构模型)。第第2 2:画出目标系统的业务操作流程图:画出目标系统的业务操作流程图 (业务操作模型业务操作模型)。第第3 3:画出目标系统的数据流程图,即
4、单据和报:画出目标系统的数据流程图,即单据和报表的流程图,掌握业务规则,获得初步表的流程图,掌握业务规则,获得初步数据模型数据模型。第第4 4:列出目标系统的功能点列表,即:列出目标系统的功能点列表,即 功能模型功能模型。第第5 5:列出系统的性能点列表,即:列出系统的性能点列表,即性能模型性能模型。需求分析的任务需求分析的任务第第6 6:列出目标系统的接口列表,即:列出目标系统的接口列表,即接口模型接口模型。第第7 7:确定目标系统的运行环境,即:确定目标系统的运行环境,即环境模型环境模型。第第8 8:目标系统的界面约定,即:目标系统的界面约定,即界面模型界面模型。第第9 9:对目标系统的开
5、发工期、费用、开发进度、系统:对目标系统的开发工期、费用、开发进度、系统风险等问题进行分析与评估。风险等问题进行分析与评估。注注1:上述九项任务不是教条,不能完全生搬硬套,而上述九项任务不是教条,不能完全生搬硬套,而要具体问题具体分析,活学活用,举一反三。要具体问题具体分析,活学活用,举一反三。注注2:通过需求分析之后,对将来要实现的目标系统,通过需求分析之后,对将来要实现的目标系统,如果仍然感到心中无数、心里发慌、腰杆不硬,那么绝如果仍然感到心中无数、心里发慌、腰杆不硬,那么绝对不要签字确认,而要从头开始,重新进行需求获取。对不要签字确认,而要从头开始,重新进行需求获取。5.3 需求分析的目
6、的需求分析的目的需求分析的需求分析的重点重点:通过弄清业务流程和数据流程:通过弄清业务流程和数据流程的手段,达到与客户共同确定业务模型、功能模的手段,达到与客户共同确定业务模型、功能模型、性能模型、接口模型的目标。型、性能模型、接口模型的目标。需求分析的需求分析的难点难点:在系统的流程、功能、性能和:在系统的流程、功能、性能和接口四个方面,开发者与客户达成完全一致,并接口四个方面,开发者与客户达成完全一致,并且要求客户签字确认。这个且要求客户签字确认。这个难点就是难点就是需求分析的需求分析的目的目的。需求分析的需求分析的变更变更:万一需求有点变化,双方必须:万一需求有点变化,双方必须履行履行“
7、需求变更管理程序需求变更管理程序”,而变更管理程序在,而变更管理程序在签订合同时已经作了规定。要知道,合同是具有签订合同时已经作了规定。要知道,合同是具有法律效果的。法律效果的。5.4 需求分析方法需求分析方法1.1.面向流程分析:需求分析是面向流程的。面向流程分析:需求分析是面向流程的。流程是动态的、实时的。系统的功能、性流程是动态的、实时的。系统的功能、性能、接口、界面都是在流程中动态实时地能、接口、界面都是在流程中动态实时地反映出来。反映出来。2.2.找出元数据:元数据是组织数据的数据,找出元数据:元数据是组织数据的数据,元数据就是信息系统中实体名及其属性名元数据就是信息系统中实体名及其
8、属性名的集合。的集合。【例例5-1】在人力资源系统中,在人力资源系统中,“员工的基本情员工的基本情况况”是一个是一个实体名实体名,而员工的,而员工的“编号、姓名、性编号、姓名、性别、年龄、学历、住址、电话、电子信箱、业务别、年龄、学历、住址、电话、电子信箱、业务特长特长”等则是等则是属性名属性名,这些名词统称为人事系统,这些名词统称为人事系统的的元数据元数据。而某一员工的具体信息,不是元数据,例如,而某一员工的具体信息,不是元数据,例如,“8008,张开,男,张开,男,30岁,大学本科,北京王麻岁,大学本科,北京王麻子胡同东一条子胡同东一条8号,号,66268866,软件开发,软件开发”,则是
9、被,则是被上述元数据所组织好的一条记录(该实体的一个上述元数据所组织好的一条记录(该实体的一个实例),称为人事系统中的基础数据。需求分析实例),称为人事系统中的基础数据。需求分析的技巧之一,是分析与识别元数据,而不是基础的技巧之一,是分析与识别元数据,而不是基础数据。数据。【例例5-2】商品出库单,它是一个实体,商品出库单,它是一个实体,单据中的数据项单据中的数据项“品名,型号,规格,单品名,型号,规格,单价,数量,产地,出厂日期,出库日期,价,数量,产地,出厂日期,出库日期,制单人,审核人,批准人制单人,审核人,批准人”,就是该实体,就是该实体的属性名,它们都是元数据。的属性名,它们都是元数
10、据。而而“海尔电视机,海尔电视机,HE2000,29英寸,英寸,2500,100,青岛,青岛,2002/09/26,2002/10/12,张三,李四,王老五,张三,李四,王老五”,就,就不是元数据,只是由元数据所组织好的一不是元数据,只是由元数据所组织好的一条记录(该实体的一个实例)。条记录(该实体的一个实例)。例如,上述表的第一行中的例如,上述表的第一行中的“学生号、姓名、性学生号、姓名、性别、班级号、身份证号别、班级号、身份证号”是是元数据元数据,第二行开始,第二行开始,就不是元数据,而是记录数据。就不是元数据,而是记录数据。学生号学生号姓名姓名性别性别班级号班级号身份证号身份证号2004
11、0012004001张山张山男男0401040131001108603640431001108603640420040022004002李露李露女女0401040131001108503640431001108503640420040032004003贾政贾政男男0401040131001106603640431001106603640420050032005003贾母贾母女女0501050131001104603640431001104603640420050052005005林小林林小林女女050105013100110820364043100110820364043.3.找出中间数据:找
12、出中间数据:中间数据蕴藏在信息系中间数据蕴藏在信息系统的输出报表中,报表名称及其内部的数据项统的输出报表中,报表名称及其内部的数据项名称,一般就是中间数据。名称,一般就是中间数据。【例例5-3】人力资源系统中有一张统计报表,人力资源系统中有一张统计报表,表中表中的第一行中数据就是中间数据,第二行开始,就不是的第一行中数据就是中间数据,第二行开始,就不是中间数据,而是统计记录数据。中间数据,而是统计记录数据。部部门门名称名称员员工人数工人数男性人数男性人数本科以上本科以上人数人数3030岁岁以下以下人数人数.市市场场部部2525161621212323开开发发部部8888676782826666
13、销销售部售部3535323231311919需求分析方法需求分析方法4.4.找出元数据与中间数据之间的关系:找出元数据与中间数据之间的关系:“中间数据是由元数据派生出来的中间数据是由元数据派生出来的”。5.5.找出单据中的流程:找出单据中的流程:(1)(1)该单据的上游该单据的上游是什么?是什么?(2)(2)同一个单据内部的数据项之同一个单据内部的数据项之间,也存在一个先后次序问题。间,也存在一个先后次序问题。(3)(3)该单该单据的下游是什么?据的下游是什么?【例例5-4】在人力资源系统中,在人力资源系统中,“个人简个人简历历”和和“员工基本情况员工基本情况”都是一个单据都是一个单据(实体)
14、,(实体),“个人简历个人简历”的上游就是的上游就是“员员工基本情况工基本情况”,只有先录入,只有先录入“员工基本情员工基本情况况”,“个人简历个人简历”才能录入。在信息系才能录入。在信息系统中,一般都要先录入父表(主表)中的统中,一般都要先录入父表(主表)中的记录,然后再录入子表(又称明细表)中记录,然后再录入子表(又称明细表)中的记录。的记录。【例例5-5】家电出库单中的数据项家电出库单中的数据项“制单人,审制单人,审核人,批准人核人,批准人”之间的录入次序,也有一个先后之间的录入次序,也有一个先后问题。制单人必须第一个录入,审核人必须是第问题。制单人必须第一个录入,审核人必须是第二个确认
15、,批准人只能是第三个确认。而且企业二个确认,批准人只能是第三个确认。而且企业的业务规则规定:只有批准人确认之后,该单据的业务规则规定:只有批准人确认之后,该单据才能生效,电视机才能出库,信息系统才能向后才能生效,电视机才能出库,信息系统才能向后台数据库服务器提交这条记录。否则,仓库中的台数据库服务器提交这条记录。否则,仓库中的家电早就丢光了。家电早就丢光了。6.6.三种需求分析方法:三种需求分析方法:历史上存在三种历史上存在三种需求分析方法:面向功能分析、面向对象需求分析方法:面向功能分析、面向对象分析、面向数据分析,各适用不同的目标分析、面向数据分析,各适用不同的目标系统。系统。需求分析方法
16、需求分析方法7.7.分析与设计要同时考虑:许多问题在分析分析与设计要同时考虑:许多问题在分析“目标系目标系统是什么统是什么”的时发现不了。同时考虑也符合迭代模型的的时发现不了。同时考虑也符合迭代模型的思想。思想。8.8.需求分析艺术:需求分析艺术:(1)(1)需求分析是双打项目。需求分析是双打项目。(2)(2)宏观上和微观上都要以流程为主。宏观上和微观上都要以流程为主。(3)(3)不能偏听偏信。不能偏听偏信。(4)(4)需求金字塔。决策层提出宏观上的统计、查询、需求金字塔。决策层提出宏观上的统计、查询、决策需求,管理层提出业务管理和作业控制需求,操作决策需求,管理层提出业务管理和作业控制需求,
17、操作层提出录入、修改、提交、处理、打印、界面、传输、层提出录入、修改、提交、处理、打印、界面、传输、通信、时间与速度等方面的操作需求。通信、时间与速度等方面的操作需求。(5)(5)汇报两三次。汇报两三次。(6)(6)要与用户交朋友。要与用户交朋友。需求分析表示方法需求分析表示方法-use case-use case方法方法需求分析表示方法需求分析表示方法-use case-use case方法方法需求分析表示方法需求分析表示方法-use case-use case方法方法5.5 5.5 需求管理过程需求管理过程 1.1.需求管理的任务与内容:需求管理是面向需需求管理的任务与内容:需求管理是面向
18、需求过程的,需求管理过程包括需求确认、需求评求过程的,需求管理过程包括需求确认、需求评审、需求跟踪和需求变更。协商与确认客户的需审、需求跟踪和需求变更。协商与确认客户的需求,包括确认非技术需求、技术需求及编制需求求,包括确认非技术需求、技术需求及编制需求跟踪矩阵:跟踪矩阵:(1)(1)非技术需求,一般在协议、条件和合同条非技术需求,一般在协议、条件和合同条款中描述,包括提交的产品、提交的日期和里程款中描述,包括提交的产品、提交的日期和里程碑等内容;碑等内容;(2)(2)技术需求,描述了系统的软件功能、性能、技术需求,描述了系统的软件功能、性能、接口、设计约束、编程语言和界面需求等多方面接口、设
19、计约束、编程语言和界面需求等多方面内容;内容;需求管理过程需求管理过程2.2.对需求文档进行同行评审,评审的主要对需求文档进行同行评审,评审的主要目的在于:目的在于:(1)(1)确定分配的软件功能、性能、接口确定分配的软件功能、性能、接口需求,用软件来实现是可行的、适当的;需求,用软件来实现是可行的、适当的;(2)(2)软件功能、性能、接口需求被清晰、软件功能、性能、接口需求被清晰、正确地描述;正确地描述;(3)(3)软件功能、性能、接口需求是一致软件功能、性能、接口需求是一致的、相互不矛盾;的、相互不矛盾;(4)(4)软件功能、性能、接口需求是可测软件功能、性能、接口需求是可测试的。试的。5
20、.6 5.6 需求分析文档需求分析文档5.6.1 5.6.1 需求报告和需求规格说明书的差异需求报告和需求规格说明书的差异(1)(1)用户需求报告用户需求报告是对外的,是对外的,需求规需求规格说明书格说明书是对内的是对内的;(2)(2)用户需求报告用户需求报告是合同的产物,是合同的产物,需需求规格说明书求规格说明书是立项建议书的产物;是立项建议书的产物;(3)(3)由由用户需求报告用户需求报告可产生可产生需求规需求规格说明书格说明书;(4)(4)用户需求报告用户需求报告少则几十页,多则上少则几十页,多则上千页,一般为几百页。千页,一般为几百页。5.6.2 5.6.2 用户需求报告用户需求报告用
21、户需求报告用户需求报告参考指南:教材第参考指南:教材第9797页;页;要点:以业务流程为主线,以需求分析的九大任要点:以业务流程为主线,以需求分析的九大任务为中心,以功能、性能、接口三个列表为基本务为中心,以功能、性能、接口三个列表为基本点,按照规定的格式,就可以制作出合格的用户点,按照规定的格式,就可以制作出合格的用户需求报告。需求报告。格式说明:格式说明:1.1.概述。参考资料与相关文档是不同的。概述。参考资料与相关文档是不同的。2.2.现有系统描述。现有系统描述。3.3.目标系统描述目标系统描述(功能、性能、接口、其他、约束功能、性能、接口、其他、约束条件条件)。5.6.3 5.6.3
22、需求规格说明书需求规格说明书 需求规格说明书需求规格说明书编写参考指南:教材编写参考指南:教材第第103103页;页;要点:以用户需求报告为基线,按照规定要点:以用户需求报告为基线,按照规定的格式,就可以制作出合格的需求规格说的格式,就可以制作出合格的需求规格说明书。明书。格式说明:格式说明:1.1.概述。参考资料与相关文档是不同的。概述。参考资料与相关文档是不同的。2.2.目标系统描述目标系统描述(功能、性能、接口、其他、功能、性能、接口、其他、约束条件约束条件)。5.6.4 5.6.4 需求管理文档需求管理文档 需求管理文档有:需求管理文档有:(教材第教材第109-110109-110页页
23、)1.1.用户需求报告评审记录表用户需求报告评审记录表;2.2.需求规格说明书评审记录表需求规格说明书评审记录表;3.3.需求变更管理表需求变更管理表。要点:要评审、要记录、要跟踪、要要点:要评审、要记录、要跟踪、要改正、要审计。改正、要审计。5.7 5.7 本章小结本章小结 本章从需求分析的目的、任务、目标、方法、经验、文本章从需求分析的目的、任务、目标、方法、经验、文档、管理等方面,论述了需求获取的各种手段。档、管理等方面,论述了需求获取的各种手段。软件需求阶段的成果,表现在需求文档上。文档中重点软件需求阶段的成果,表现在需求文档上。文档中重点要写清楚需求的功能点列表、性能点列表、接口列表
24、。要写清楚需求的功能点列表、性能点列表、接口列表。信息系统需求分析难度系数最大,这是为什么?因为:信息系统需求分析难度系数最大,这是为什么?因为:信息系统由社会环境、网络环境、数据环境和程序环境信息系统由社会环境、网络环境、数据环境和程序环境这四个部分组成。这四个部分组成。“社会环境社会环境”中又包括:企事业单位中又包括:企事业单位的组织机构、部门分工、岗位职责、管理水平、人员素的组织机构、部门分工、岗位职责、管理水平、人员素质、业务流程、操作规则、信息标准等等诸因素。这些质、业务流程、操作规则、信息标准等等诸因素。这些因素汇集在一起,从各个方面影响信息系统的需求,波因素汇集在一起,从各个方面
25、影响信息系统的需求,波及信息系统建设的成败。要在这样复杂多变的社会环境及信息系统建设的成败。要在这样复杂多变的社会环境中,通过需求分析,使中,通过需求分析,使“开发者与客户达成完全一致的开发者与客户达成完全一致的需求需求”,多不容易!,多不容易!思考题思考题 55.1 5.1 需求分析的目的是什么?需求分析的难点需求分析的目的是什么?需求分析的难点是什么?是什么?5.2 5.2 元数据是什么?元数据是什么?5.3 5.3 为什么说元数据的分析与识别是需求分析为什么说元数据的分析与识别是需求分析的议题之一?的议题之一?5.4 5.4 为什么说:所谓实体,就是一组相关元数为什么说:所谓实体,就是一组相关元数据的集合?据的集合?5.5 5.5 中间数据是什么?中间数据是什么?5.6 5.6 元数据与中间数据之间,有什么关系?您元数据与中间数据之间,有什么关系?您能举例说明吗?能举例说明吗?5.7 5.7 为什么对需求文档要进行同行评审?为什么对需求文档要进行同行评审?5.8 5.8 怎么理解怎么理解“不符合项不符合项”?为什么要对它进为什么要对它进行跟踪管理?行跟踪管理?
限制150内