讲-需求分析PPT课件(PPT 74页)_第1页
讲-需求分析PPT课件(PPT 74页)_第2页
讲-需求分析PPT课件(PPT 74页)_第3页
讲-需求分析PPT课件(PPT 74页)_第4页
讲-需求分析PPT课件(PPT 74页)_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件工程安徽职业技术学院信息工程系孙街亭 2022/7/21 Software Engineering1.第1页,共74页。2022/7/21 2结束返回第3讲 需求分析3.1 需求分析任务3.2 需求分析过程3.3 需求分析原则3.4 需求获取方法3.5 需求分析模型3.6 数据字典3.7 需求规格说明书 2.第2页,共74页。需求分析的任务就是准确地回答“系统必须做什么”。是通过系统分析员与用户一起商定,清晰、准确、具体地描述软件产品必须具有的功能、性能、运行环境等要求。用户:知道做什么,不知道怎么做。开发人员:知道怎么做,不知道做什么。因此,软件开发人员必须和用户密切配合、充分交流信息,

2、得出经过用户认可的系统需求。需求分析的目的是澄清用户的需求,并把双方共同的理解明确地表达成一份书面文档需求规格说明书。 第3章 需求分析3.1 需求分析任务3.第3页,共74页。需求分析的具体任务包括:(1)确定软件系统的综合需求(功能、性能、接口、运行环境等);(2)分析系统的数据需求;(3)导出软件系统的逻辑模型;(4)修正系统开发计划;(5)开发原型系统;(6)编写需求规格说明书;(7)需求评审,验证需求分析的正确性。3.1 需求分析任务 第3章 需求分析4.第4页,共74页。3.2 需求分析过程需求分析是一项软件工程活动,它包括:需求获取、需求建模、需求规格说明、需求评审。 1.需求获

3、取刻划出软件的功能和性能;指明软件与其他系统元素的接口;建立软件必须满足的约束。 第3章 需求分析5.第5页,共74页。2.需求建模需求分析模型是准确地描述需求的图形化工具,主要有实体关系图、数据流图、状态转换图。需求分析建立起来的模型为日后软件设计人员提供了可被翻译成数据结构、体系结构、接口和处理过程设计的模型。3.2 需求分析过程 第3章 需求分析6.第6页,共74页。目标系统模型的建立过程分4步完成:(1)获得当前系统的物理模型了解当前系统的组织机构、输入输出、资源利用情况和日常数据处理过程,分析理解当前系统的运行过程(也即理解当前系统“怎么做”),并用一个具体的能反映现实的模型(系统流

4、程图)来表示。 第3章 需求分析根据当前系统模型建立目标系统模型的过程3.2 需求分析过程7.第7页,共74页。 第3章 需求分析(2)抽象出当前系统的逻辑模型从上述步骤的“怎么做”抽取系统“做什么”的本质,舍弃非本质的东西,即可抽象出当前系统的逻辑模型(数据流图)。(3)建立目标系统的逻辑模型明确目标系统做什么,一般先比较目标系统和当前系统的差异,对当前系统的数据流图变化的部分做相应的调整(增加或删除部分功能,拆分或合并处理),获得目标系统的逻辑模型。(4)转换为目标系统的物理模型 根据目标系统逻辑模型建造物理模型(系统结构图),导出新的物理系统。3.2 需求分析过程8.第8页,共74页。货

5、物采购需求分析实例: 采购员 采购员会计室陈出纳员江供货商王采购申请购货单采购单发票货物主管 李(1)获得当前系统的物理模型 第3章 需求分析3.2 需求分析过程9.第9页,共74页。 采购员 采购员 开发 票 开购 货单 供货采购申请购货单采购单发票货物审查有效(2)抽象出当前系统的逻辑模型 第3章 需求分析3.2 需求分析过程10.第10页,共74页。 采购员 采购员审查开票 供货购货采购单发票(3)分析目标系统与当前系统的差别,建立目标系统的逻辑模型 第3章 需求分析3.2 需求分析过程11.第11页,共74页。3.2 需求分析过程 第3章 需求分析3.需求规格说明把分析的结果用正式的文

6、档记录下来,作为最终软件配置的一个组成成分。需求规格说明为开发人员和用户提供软件开发完成时质量评价的依据。4.需求评审 作为需求分析阶段的复审手段,在需求分析的最 后一步应该对功能的正确性、完整性和清晰性以及其他需求给予评价。12.第12页,共74页。需求分析研究的对象是用户的要求。必须全面理解用户的各项要求,准确表达用户的要求。只有经过确切描述的软件需求才能成为软件设计的基础。评审应有专人负责,评审组由软件开发成员、软件专家、领域专家和用户构成。3.2 需求分析过程 第3章 需求分析13.第13页,共74页。需求分析过程需求分析是一个不断的迭代过程。只有需求全面系统,准确无误,才能开发出用户

7、满意的系统。3.2 需求分析过程 第3章 需求分析需求获取需求分析建模编写需求规格说明需求评审证实需求更正需求完善模型修改规格说明14.第14页,共74页。3.3 需求分析原则 第3章 需求分析1.正确理解和表达问题的信息域和功能域。2.对问题进行分解和不断细化,建立问题的层次结构。3.捕获问题空间的多维视图。4.给出系统的逻辑视图和物理视图。15.第15页,共74页。3.4 需求获取方法需求获取是软件开发工作中最重要的环节之一,其工作质量对整个软件系统开发的成败具有决定性影响。需求获取工作量大,所涉及的过程、人员、数据、信息非常多,因此要想获得真实、全面的需求必须要有正确的方法。常规的需求获

8、取的方法有以下几种:1.收集资料。收集资料就是将用户日常业务中所用的计划、原始凭据、单据和报表等原始资料收集起来,以便对它们进行分类研究。 第3章 需求分析16.第16页,共74页。2.开调查会。召开调查会是一种集中征询意见的方法,适合于对系统的定性调查。3.个别访谈。开调查会有助于大家的见解互相补充,以便形成较为完整的印象。但是由于时间限制等其他因素,不能完全反映出每个与会者的意见,因此,往往需要在会后根据具体需要再进行个别访问。4.书面调查。根据系统特点设计调查表(如下),用调查表向有关单位和个人征求意见和收集数据。该方法适用于比较复杂的系统。3.4 需求获取方法 第3章 需求分析17.第

9、17页,共74页。XX项目需求问卷调查表(样式)1.您的工作岗位是什么?2.你的工作性质是什么?3.您的工作任务是什么?(收集或绘制业务功能图)4.您每天的工作时间安排?(绘制工作安排表)5.您的工作同前/后续工作如何联系?(绘制工作流程图)6. 如何建立计算机系统?您愿意学习操作吗?XX先生/女士:您好,请您抽空准备一下,我们将于X月X日与您会面。 谢谢! XX课题组3.4 需求获取方法 第3章 需求分析18.第18页,共74页。5.参加业务实践。如果条件允许,亲自参加业务实践是了解现行系统的最好方法。通过实践还加深了开发人员和用户的思想交流和沟通,这将有利于下一步的系统开发工作。6.收发电

10、子邮件。通过互联网和局域网发电子邮件进行调查,这可大大节省时间、人力、物力和费用。7.召开电视电话会议。如果有条件还可以利用打电话和召开电视会议进行调查,但只能作为补充手段,因为许多资料需要亲自收集和整理。3.4 需求获取方法 第3章 需求分析19.第19页,共74页。2022/7/21 20结束返回需求分析模型是准确地描述系统需求的图形化工具。它可以使人们可以更好地理解将要建造的系统,它有助于系统分析员理解系统的信息、功能和行为,成为确定需求规格说明完整性、一致性和精确性的重要依据,奠定软件设计基础。 第3章 需求分析3.5 需求分析模型20.第20页,共74页。2022/7/21 21结束

11、返回3.5 需求分析模型 第3章 需求分析结构化分析(SA) 面向对象分析 (OOA)实体关系图数据流图状态转换图数据建模功能建模动态建模需求分析建模 进行 进行 进行对象模型功能模型动态模型对象图数据流图状态图、事件追踪图建立建立建立需求分析建模的方法有结构化分析建模和面向对象分析建模。21.第21页,共74页。2022/7/21 22结束返回结构化分析导出的分析模型包括数据模型、功能模型和行为模型。需求分析模型以“数据字典”为核心,描述了软件使用的所有数据对象,围绕这个核心的是“实体关系图”、“数据流图”和“状态转换图”。具体形式如下图所示: 第3章 需求分析3.5 需求分析模型22.第2

12、2页,共74页。2022/7/21 23结束返回需求分析模型 第3章 需求分析3.5 需求分析模型23.第23页,共74页。2022/7/21 24结束返回3.5.1 实体关系图实体关系图(ER,Entity-Relationship Diagram):是一种数据模型,是以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模型。ER包括三种基本元素:实体。表示具有不同属性的事物,用带实体名称的矩形框表示。属性。指实体某一方面的特征,用带属性名称的椭圆表示。 第3章 需求分析3.5 需求分析模型24.第24页,共74页。2022/7/21 25结束返回ER图中的基本符号

13、第3章 需求分析关系。关系表示实体之间的相互连接,用直线连接相关联的实体,并在直线上用带关系名称的菱形来表示。3.5 需求分析模型25.第25页,共74页。关联的重数定义了在关联的一端可以存在的数据实体实例的数量。 关联重数可以具有下列值之一: (1):表明在关联端存在且只存在一个数据实体实例。 (0.1):表明在关联端不存在实体实例或存在一个实体实例。 (*或N):表明在关联端不存在实体实例,或者存在一个或多个实体实例。 第3章 需求分析3.5 需求分析模型26.第26页,共74页。2022/7/21 27结束返回两个数据对象之间按关联的重数有以下三种关联:一对一(1:1)关联:对象A的一个

14、实例只能关联到对象B的一个实例,对象B的一个实例也只能关联到对象A的一个实例。对象 A对象 B丈夫妻子关系夫妻1111 一对一关系图 第3章 需求分析3.5 需求分析模型27.第27页,共74页。2022/7/21 28结束返回一对多(1:N)关联:对象A的一个实例可以关联到对象B的一个或多个实例,而对象B的一个实例只能关联到对象A的一个实例,如一个母亲可以有多个孩子,而一个孩子只能有一个母亲。 对象 A对象 B母亲孩子关系母子1n1n一对多关系图 第3章 需求分析3.5 需求分析模型28.第28页,共74页。2022/7/21 29结束返回多对多(M:N)关联:对象A的一个实例可以关联到对象

15、B的一个或多个实例,同时对象B的一个实例也可以关联到对象A的一个或多个实例,如一个叔叔可以有多个侄子,一个侄子也可以有多个叔叔。 对象 A对象 B叔叔侄子关系叔侄mnmn多对多关系图 第3章 需求分析3.5 需求分析模型29.第29页,共74页。第4章 软件需求分析与建模2022/7/21 30结束返回 第3章 需求分析例1,教学管理系统ER图30.第30页,共74页。2022/7/21 31结束返回例2,工资计算系统ER图 第3章 需求分析31.第31页,共74页。3.5.2 数据流图1.数据流图的概念数据流图(DFD,Data flow diagram),是描述数据流和数据转换的图形工具,

16、它是进行结构化分析的基本工具,也是进行软件体系结构设计的基础。2.数据流图中的要素DFD有四种元素,其基本符号如图所示: 第3章 需求分析3.5 需求分析模型32.第32页,共74页。外部实体:与系统进行交互,但系统不对其进行加工和处理的实体(人或事物),用带实体名称的矩形方框表示。加工(处理):对数据进行的变换和处理,用带加工(处理)名称的圆圈表示。数据流:在数据加工之间或数据存储和数据加工之间进行流动的数据,用带数据流名称的箭头表示。数据存储:在系统中需要存储的数据(文件),用带存储文件名称的双实线表示。 第3章 需求分析3.5 需求分析模型33.第33页,共74页。工资计算系统的顶层(0

17、层)数据流图 第3章 需求分析3.5 需求分析模型34.第34页,共74页。在数据流图中有时也使用附加符号:*、+、,分别表示与、或、互斥关系。数据流图中的附加符号有A则有B或C,或者两者都有有A则有B与C,两者同时有有A则有B或C,但不会同时有ABC*ABCABC+TTT 当A与B都 存在才有C*ABCT 当A或B之一 存在,就有CABC+T当A或B之一存在就有C,但AB不会同时有ABCT 第3章 需求分析35.第35页,共74页。.分层数据流图数据流图可分为不同层次,顶层(0层)DFD称为基本系统模型,可以将整个软件系统表示为一个具有输入和输出的黑匣子,其加工处理是软件项目的名称,用一个圆

18、圈表示。DFD中的每一个加工可以进一步扩展成一个独立的数据流图,以揭示系统中加工的细节。这种循序渐进的细化过程可以继续进行,直到最底层的DFD图仅描述加工的原子过程为止。每一层数据流图必须与它上一层数据流图的输入输出保持平衡和一致。第四章软件需求分析与建模 第3章 需求分析3.5 需求分析模型36.第36页,共74页。 第3章 需求分析分层数据流图3.5 需求分析模型37.第37页,共74页。 .绘制数据流图的基本步骤: 数据流图是在需求陈述的基础上绘制的。首先画系统的输入/输出,确定系统从外界接收什么数据,系统向外界输出什么数据,确定系统的范围和边界。其次画系统内部,将系统的输入和输出流用一

19、连串加工连接起来。可以从输入端画到输出端,也可反过来画。在数据流的组成或值发生变化的地方添加一个“加工”,在需要存放数据的地方加上一个“文件”。最后画加工的内部,对加工进行分解,一个复杂的加工可用几个子加工代替。 第3章 需求分析3.5 需求分析模型38.第38页,共74页。例,商店业务处理系统的数据流图。 第3章 需求分析顶层(0层)数据流图3.5 需求分析模型39.第39页,共74页。这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的功能。数据流图绘制步骤首先确定系统的输入和输出(顾客和供应商);其次,根据商店业务,画出顶层数据流图,以反映最主要业务处理流程。经过分析,商店业

20、务处理的主要功能有销售、采购、会计三大项。主要数据流输入的源点和输出终点是顾客和供应商。然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图。最后,对每个加工(主要是销售和采购)细化,得出第二层数据流图。 第3章 需求分析3.5 需求分析模型40.第40页,共74页。第一层数据流图 第3章 需求分析3.5 需求分析模型41.第41页,共74页。细化每一个加工销售细化 第3章 需求分析第二层数据流图42.第42页,共74页。细化每一个加工采购细化 第3章 需求分析第二层数据流图43.第43页,共74页。绘制数据流图可用微软绘图工具软件-Visio

21、第3章 需求分析44.第44页,共74页。.绘制DFD应注意的问题(1)给数据流命名的方法:数据流名字用名词或名词词组;命名时,尽量使用现实系统中已有的名字;避免使用空洞的名词,如“数据”、“信息”等。如果在为某个数据流(或数据存储)命名时遇到了困难,则很可能是因为对数据流图分解不恰当造成的,应该尝试重新分解,看是否能解决这个问题。 第3章 需求分析3.5 需求分析模型45.第45页,共74页。(2)给加工命名的原则:顶层加工是软件项目的名称。加工的名字最好使用动宾词组,如“生成成绩单”、“打印报表”等。加工的命名同样避免使用空洞的词组,如“计算”、“处理”等。(3)不要把数据流图画成控制流图

22、,应尽量避免数据流图中夹带控制流,以免与详细设计阶段的程序流程图相混淆。 第3章 需求分析3.5 需求分析模型46.第46页,共74页。(4)应保持子图与父图输入/输出流的平衡。 第3章 需求分析11.11.21.3父图子图3.5 需求分析模型47.第47页,共74页。(5)提高数据流图的清晰性。应做到分解自然,概念合理、清晰,在不影响易理解性的基础上适当地多分解,以减少数据流图的层数。分解时要注意子加工的独立性,还应注意均衡性。(6)反复修改,不断完善。人的思考过程是一个不断的迭代过程,不可能一次成功,需要不断完善,直到满意为止。对于复杂的系统,很难保证一次就能将数据流图绘制成功。因此应随时

23、准备改进数据流图而用更好的版本来代替。 第3章 需求分析3.5 需求分析模型48.第48页,共74页。3.5.3 状态转换图当软件系统涉及时序关系时需要进行行为建模,由于数据流图不描述时序关系,系统的控制和事件流需要通过行为模型来描述。在描述系统或各个数据对象的行为时,采用状态转换图。通过描述系统或对象的状态,以及引起系统或对象状态转换的事件来表示系统或对象的行为。 第3章 需求分析3.5 需求分析模型49.第49页,共74页。状态转换图(STD,Status Transition Diagram),是描述系统状态如何响应外部事件进行转移的一种图形表示。状态是任何可以被观察到的系统行为模式,一

24、个状态代表系统的一种行为模式。状态规定了系统对事件的响应方式。在状态图中定义的状态主要有:初始状态、中间状态和最终状态。事件是在某个特定时刻发生的事情,它是对引起系统从一个状态转换到另一个状态的外界事件的抽象。 第3章 需求分析3.5 需求分析模型50.第50页,共74页。S2S1S3t1t2t3t4t4t3t2t1事件状态S1S2S3S3S2S3S1状态转换图 状态转换表 第3章 需求分析在状态转换图中,圆圈“”表示可得到的系统状态,箭头“”表示从一种状态向另一种状态的转移。箭头旁标上事件名。3.5 需求分析模型51.第51页,共74页。例1,有关处理器(CPU)分配的进程状态转移图。已处理

25、中断分配CPU用完CPU时间I/O中断运行就绪等待 第3章 需求分析3.5 需求分析模型52.第52页,共74页。例2,电话系统的状态转换图53.第53页,共74页。数据字典(DD,Data Dictionary)用来描述数据流图中的数据存储、数据加工和数据流。数据词典与数据流图配合,能够准确、清晰地表达数据处理的要求。1.词条描述对于在数据流图中每一个被命名的图形元素均加以定义,其内容有: 名字,别名或编号,分类,描述,定义,位置,其它。在数据字典中,数据元素的定义可以是基本元素及其组合,数据进行自顶向下地分解,直到不需要进一步解释且参与人员都清楚其含义为止。3.6 数据字典 第3章 需求分

26、析54.第54页,共74页。(1)数据流词条描述数据流名称及编号:说明:简要介绍它产生的原因和结果数据流来源:来自何方数据流去向:去向何处数据流组成:数据结构数据量流通量:数据量,流通量 第3章 需求分析3.6 数据字典55.第55页,共74页。数据流定义实例:航班订票单的数据定义数据流编号:DF001数据流名称:订票单简述:订票时填写的订票单数据流来源:外部实体“乘客”数据流去处:处理逻辑“预订机票”数据流组成:订单编号 日期 乘客号 航班号 状态 订单失效日期流通量:每天300份高峰值流通量:每天早上9:00,约160份 第3章 需求分析56.第56页,共74页。(2)数据元素词条描述数据

27、元素名称及编号:类型:数字(离散值,连续值),文字(编码类型)长度:取值范围:相关的数据元素及数据结构: 第3章 需求分析3.6 数据字典57.第57页,共74页。数据元素定义实例:考试成绩的数据定义数据元素编号:DC001数据元素名称:考试成绩别名:成绩、分数简述:学生考试成绩,分五个等级类型/长度:3个字节,字符类型取值/含义:优 90-100 良 80-89 中 70-79 及格 60-69 不及格 0-59有关数据项或结构:学生成绩档案有关处理逻辑:计算成绩 第3章 需求分析58.第58页,共74页。(3)数据文件词条描述数据文件名称及编号:简述:存放的是什么数据输入数据:输出数据:数

28、据文件组成:数据结构存储方式:顺序,直接,关键码存取频率: 第3章 需求分析3.6 数据字典59.第59页,共74页。数据文件定义实例:图书库存的数据定义 第3章 需求分析数据文件编号:DB002数据文件名称:图书库存组成:图书编号+图书详情+目前库存量组织方式:按图书编号从小到大排列3.6 数据字典60.第60页,共74页。(4)加工逻辑(数据处理)词条描述加工名称及编号:加工编号:反映该加工的层次简要描述:加工逻辑及功能简述输入数据流:输出数据流:加工逻辑:简述加工程序,加工顺序 第3章 需求分析3.6 数据字典61.第61页,共74页。数据处理定义实例:编辑订票的数据定义数据处理编号:D

29、P001数据处理名称:编辑订票简述:接收从终端录入的订票单,检验是否正确输入:乘客订单,来源:外部实体“乘客”输出:1.合格订单,去处:处理逻辑“确定订票” 2.不合格订单,去处:外部实体“乘客”功能描述:(略) 第3章 需求分析3.6 数据字典62.第62页,共74页。(5)外部实体词条描述外部实体名称及编号:简要描述:有关数据流:数目: 第3章 需求分析3.6 数据字典63.第63页,共74页。外部实体定义实例:教师的数据定义编号:DT001名称:教师简述:向教师图书室提供图书的教师从外部输入:报销申请向外部输出:入库证明 第3章 需求分析3.6 数据字典64.第64页,共74页。第四章软

30、件需求分析与建模符 号含 义说 明=表示定义为用于对=左边的条目进行确切的定义+表示与关系X=a+b表示X由a和b共同构成 | , 表示或关系X=a|b与X=a,b等价,表示X由a或b组成( )表示可选项X=(a)表示a可以在X中出现,也可以不出现 表示重复大括号中的内容重复0到多次m n表示规定次数的重复重复的次数最少m次,最多n次“ ”表示基本数据元素“ ”中的内容是基本数据元素,不可再分.连接符month=1.12表示month可取112中的任意值* *表示注释两个星号之间的内容为注释信息 第3章 需求分析2.数据字典中的符号65.第65页,共74页。 第3章 需求分析例,存折的数据字典描述3.6 数据字典66.第66页,共74页。存折户名所号帐号开户日性质(印密)1存取行50户名2字母24所号“001”.“999” 帐号“00000001”.“99999999”开户日年月日性质“1”.“6” 注:“1”表示普通户,“5”表示工资户等印密“0” 注:印密在存折上不显示存取行日期(摘要)支出存入余额操作复核 第3章 需求分析3.6 数据字典67.第67页,共74页。3.7 需求规格说明书需求规格说明书(SRS,Software Requirement Specification),是系统分析人员在需求分析阶段完成的文档,是软件需求分析的最终结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论