需求分析具体要求课件

上传人:鲁** 文档编号:568638696 上传时间:2024-07-25 格式:PPT 页数:53 大小:370.50KB
返回 下载 相关 举报
需求分析具体要求课件_第1页
第1页 / 共53页
需求分析具体要求课件_第2页
第2页 / 共53页
需求分析具体要求课件_第3页
第3页 / 共53页
需求分析具体要求课件_第4页
第4页 / 共53页
需求分析具体要求课件_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《需求分析具体要求课件》由会员分享,可在线阅读,更多相关《需求分析具体要求课件(53页珍藏版)》请在金锄头文库上搜索。

1、第3章 需求分析3.1 需求分析的任务3.2 与用户沟通获取需求的方法3.3 分析建模与规格说明3.4 实体-联系图 (?)3.5 数据规范化(?)3.6 状态转换图+有穷状态机3.7 其他图形工具3.8 验证软件需求3.9 小结需求分析的需求分析的意义意义 软件需求的深入理解是软件开发工作获得成软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码做得如何功的前提条件,不论我们把设计和编码做得如何出色,不能真正满足用户需求的程序只会令用户出色,不能真正满足用户需求的程序只会令用户失望,给开发带来烦恼。失望,给开发带来烦恼。 需求分析是软件定义时期的最后一个需求分析是软件定义

2、时期的最后一个阶段,它的基本任务阶段,它的基本任务不是确定系统怎样完成不是确定系统怎样完成它的它的工作,工作,而是确定系统必须完成而是确定系统必须完成哪些工作,也就是哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。对目标系统提出完整、准确、清晰、具体的要求。 并在在需求分析阶段结束之前,由系统分析并在在需求分析阶段结束之前,由系统分析员写出软件需求规格说明书,以书面形式准确地员写出软件需求规格说明书,以书面形式准确地描述软件需求。即:描述软件需求。即: - - 准确地回答准确地回答“系统必须做什么系统必须做什么?”?”。 在分析软件需求和书写软件需求规格说明书的过程中,在分析软件需

3、求和书写软件需求规格说明书的过程中,分析员和用户都起着关键的、必不可少的作用。分析员和用户都起着关键的、必不可少的作用。业务需求业务需求项目范项目范围文档围文档用户需求用户需求文档文档功能需求功能需求质量属性质量属性其他非功其他非功能需求能需求设计约束设计约束需求规约需求规约(specification)非功能需求非功能需求系统需求系统需求需求组成的全景图需求组成的全景图软件需求的组成软件需求的组成其中:其中: 业务需求需求:反映:反映组织机构和客机构和客户对系系统、产品高品高层次的目次的目标要求。要求。 用用户需求需求:从用户使用的角度给出需求的描述。从用户使用的角度给出需求的描述。 如一个

4、小型超市需要一个商品的查询系统。如一个小型超市需要一个商品的查询系统。 业务需求:进货人员需要查询商品库存以便保证业务需求:进货人员需要查询商品库存以便保证及时进货;收款员需要查询商品的销售价格以便结账;及时进货;收款员需要查询商品的销售价格以便结账;经理需要查询商品的销售及盈利情况。经理需要查询商品的销售及盈利情况。 用户需求用户需求: :这三类用户怎样去查询系统,查询哪这三类用户怎样去查询系统,查询哪些信息,还需要哪些操作。些信息,还需要哪些操作。 系系统需求需求:从:从系统的角度描述要提供的服务以及所受到的约系统的角度描述要提供的服务以及所受到的约束。束。 功能性需求功能性需求:描述系统

5、应该做什么,即为用户和其它系统完:描述系统应该做什么,即为用户和其它系统完成的功能、提供的服务。成的功能、提供的服务。 非功能性需求非功能性需求:产品必须具备的属性或品质。:产品必须具备的属性或品质。 设计约束束:设计与与实现必须遵循的标准、约束条件。如运行实现必须遵循的标准、约束条件。如运行平台、协议、选择的技术、编程语言和工具等。平台、协议、选择的技术、编程语言和工具等。软件需求的描述软件需求的描述 结构化语言、结构化语言、PDLPDL 图形化表示图形化表示 数学描述(形式化语言描述)数学描述(形式化语言描述)1 1 确定对系统的综合要求确定对系统的综合要求 -功能需求、性能需求、可靠性和

6、可用性功能需求、性能需求、可靠性和可用性需求、出错处理需求、接口需求、约束、需求、出错处理需求、接口需求、约束、 逆向需求、将来可能提出的要求。逆向需求、将来可能提出的要求。3.1 3.1 需求分析的具体任务需求分析的具体任务2 2 分析系统的数据要求分析系统的数据要求3 3 导出系统的逻辑模型导出系统的逻辑模型4 4 修正系统开发计划修正系统开发计划软件需求获取软件需求获取需求分析是一个包括创建和维持系统需求文档所必需求分析是一个包括创建和维持系统需求文档所必需的一切活动的过程。它包含了如下活动:需的一切活动的过程。它包含了如下活动:需求获取和分析、需求描述和文档编写、需求有效需求获取和分析

7、、需求描述和文档编写、需求有效性验证、需求管理(管理需求工程的变更)。性验证、需求管理(管理需求工程的变更)。软件需求过程软件需求过程需求获取和需求获取和分析分析需求描述需求描述需求有效需求有效性验证性验证系统模型系统模型用户需求和系用户需求和系统需求统需求需求规约需求规约需求管理需求管理需求获取是开发人员与客户或用户一起对应用领域需求获取是开发人员与客户或用户一起对应用领域进行调查研究,收集系统需求的过程。进行调查研究,收集系统需求的过程。需求分析是将获取到的需求准确的理解、求精,并需求分析是将获取到的需求准确的理解、求精,并将其转化为完整的需求定义(包括建模),进而生将其转化为完整的需求定

8、义(包括建模),进而生成需求规约的过程。成需求规约的过程。需求获取和分析有一定的难度,因为:需求获取和分析有一定的难度,因为: 1)项目相关人员通常并不真正知道希望计算机项目相关人员通常并不真正知道希望计算机做什么,让他们清晰的表达出需要系统做什么是件做什么,让他们清晰的表达出需要系统做什么是件困难的事,他们或许提出不切实际的要求。困难的事,他们或许提出不切实际的要求。 2) 项目相关人员用自己的语言表达需求,这些项目相关人员用自己的语言表达需求,这些语言包含很多工作中的专业术语和专业知识。系统分语言包含很多工作中的专业术语和专业知识。系统分析员没有这些知识和经验,而他们又必须了解这些需析员没

9、有这些知识和经验,而他们又必须了解这些需求。求。 3 3)不同的项目相关人员有不同的需求,可能以不)不同的项目相关人员有不同的需求,可能以不同的方式表达,分析人员必须发现所有潜在的需求资同的方式表达,分析人员必须发现所有潜在的需求资源,而且能发现这些需求的相容或冲突之处。源,而且能发现这些需求的相容或冲突之处。 4 4)经济和业务环境决定了分析是动态的,需求在)经济和业务环境决定了分析是动态的,需求在分析过程中会发生变更。个别需求的重要程度会改变,分析过程中会发生变更。个别需求的重要程度会改变,新的需求会从新的项目相关人员那里得到。新的需求会从新的项目相关人员那里得到。 需求获取技术需求获取技

10、术 建立由客户(用户)、系统分析员、领域专家参加的建立由客户(用户)、系统分析员、领域专家参加的联合小组。联合小组。 需求获取的方法:个别访谈、召集会议、文档研需求获取的方法:个别访谈、召集会议、文档研究、问卷调查、观察用户工作流程、建立原型。究、问卷调查、观察用户工作流程、建立原型。 获取的需求的表达方式:获取的需求的表达方式:(1)需求列表需求与系统的特殊视角或环境的关系 (2)业务流程图(状态/活动图)(3)数据流图 (4)实体-联系图3.2 与用户沟通获取需求的方法3.2.1 访谈3.2.2 面向数据流自顶向下求精3.2.3 简易的应用规格说明技术3.2.4 快速建立软件原型面向数据流

11、自顶向下求精面向数据流自顶向下求精提倡用户与开发者密切合作,共同标识问题,提出解决方案要素,商讨不同方案并指定基本需求-进行初步的访谈-开发者和用户双方组织的代表出席会议-每个小组为每张列表中的项目制定小型规格说明-根据会议成果起草完整的软件需求规格说明书3.2.3 简易的应用规格说明技术3.3 3.3 分析建模与规格说明分析建模与规格说明 1).1). 分析建模分析建模 模型模型 -就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。通常,由一组图形符号和组织这些符号的规则组成。建模方法建模方法在过去的数年中,人们提出了许多种分析建模的方法,其中两种在分析建模领域占有主导

12、地位:第一种是结构化分析(Structured Analysis,SA),70年代末由DeMarco等人提出,这是传统的建模方法。该方法不是被所有的使用者一致地使用的单一方法,众多科学家对其进行了扩充,因此它是发展了超过30年的一个混合物。具体的建模方法具体的建模方法/表达方式表达方式有:有:面向流的建模:数据流图数据流图(DFD/CFD)数据建模:实体关系图实体关系图(ERD)基于行为的建模:Petri网、状态图状态图3.3.2 3.3.2 软件需求规格说明软件需求规格说明( (SRSSRS) ) S Software oftware R Requirement equirement S S

13、pecificationpecification 通常用自然语言通常用自然语言+ +模型,完整、准确、具体地描述系模型,完整、准确、具体地描述系统的数据要求、功能需求、性能需求、可靠性和可用性要统的数据要求、功能需求、性能需求、可靠性和可用性要求、出错处理需求、接口需求、约束、逆向需求以及将来求、出错处理需求、接口需求、约束、逆向需求以及将来可能提出的要求。可能提出的要求。 软件需求规格说明书,是需求分析阶段得出的最主要软件需求规格说明书,是需求分析阶段得出的最主要的文档。的文档。软件需求说明书的编写提示(软件需求说明书的编写提示(GB856T88) 1 1 引言引言 1.1 1.1 编写目的

14、编写目的 1.2 1.2 背景背景 1.3 1.3 定义定义 1.4 1.4 参考资料参考资料 2 2 任务概述任务概述 2.1 2.1 目标目标 2.2 2.2 用户的特点用户的特点 2.3 2.3 假定和约束假定和约束软件需求说明书的编写提示(软件需求说明书的编写提示(GB856T88) 3 3 需求规定需求规定 3.1 3.1 对功能的规定对功能的规定 3.2 3.2 对性能的规定对性能的规定 精度精度 时间特性要求时间特性要求 灵活性灵活性 3.3 3.3 输人输出要求输人输出要求 3.4 3.4 数据管理能力要求数据管理能力要求 3.5 3.5 故障处理要求故障处理要求 3.6 3.

15、6 其他专门要求其他专门要求 4 4 运行环境规定运行环境规定 4.1 4.1 设备设备 4.2 4.2 支持软件支持软件 4.3 4.3 接口接口 4.4 4.4 控制控制3.4 3.4 实体实体- -联系图联系图( (ER) ) Entity Relationship DiagramER图图 - 是用来建立数据模型的工具。数据模型数据模型 - 是一种面向问题的数据模型,是按照用户的观点对数据建立的模型。它描述了从用户角度看到的数据,反映了用户的现实环境,而且与在软件系统中的实现方法无关。数据模型中包含3种相互关联的信息:数据对象数据对象(实体实体)、数据对象的属性属性及数据对象彼此间相互连

16、接的关系关系。(1). (1). 数据对象数据对象数据对象数据对象: : 是对软件必须理解的复合信息的抽象。是对软件必须理解的复合信息的抽象。复合信息复合信息: : 是指是指具有一系列不同性质或属性的事物具有一系列不同性质或属性的事物,仅有,仅有单个值的事物单个值的事物( (例如,宽度例如,宽度) )不是数据对象。不是数据对象。可以由可以由一组属性来定义的实体一组属性来定义的实体都可以被认为是数据对象。都可以被认为是数据对象。 如:外部实体、事物、行为、事件、角色、单位、地点或结如:外部实体、事物、行为、事件、角色、单位、地点或结构等。构等。数据对象彼此间是有关联的。数据对象彼此间是有关联的。

17、(2). (2). 属属 性性属性定义了数据对象的属性定义了数据对象的性质性质。必须把一个或多个属性定义为必须把一个或多个属性定义为“标识符标识符”,也就是说,当我们希,也就是说,当我们希望找到数据对象的一个实例时,用标识符属性作为望找到数据对象的一个实例时,用标识符属性作为“关键字关键字”( (通常简称为通常简称为“键键”) )。应该根据对所要解决的问题的理解,来确定特定数据对象的一组应该根据对所要解决的问题的理解,来确定特定数据对象的一组合适的属性。合适的属性。 如:如:学生具有学生具有学生具有学生具有学号学号学号学号、姓名姓名姓名姓名、性别性别性别性别、年龄年龄年龄年龄、专业专业专业专业

18、(其它略)等属性;(其它略)等属性;(其它略)等属性;(其它略)等属性; 课程具有课程具有课程具有课程具有课程号课程号课程号课程号、课程名课程名课程名课程名、学分学分学分学分、学时数学时数学时数学时数等属性;等属性;等属性;等属性; 教师具有教师具有教师具有教师具有职工号职工号职工号职工号、姓名姓名姓名姓名、年龄年龄年龄年龄、职称职称职称职称等属性。等属性。等属性。等属性。(3). (3). 联联 系系数据对象数据对象彼此之间相互连接的方式彼此之间相互连接的方式称为联系,也称为关系。称为联系,也称为关系。联系可分为以下联系可分为以下3 3种类型种类型: a. a. 一对一联系一对一联系(11)

19、(11) 如:一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一对一的。如:一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一对一的。 b. b. 一对多联系一对多联系(1N)(1N) 如:某校教师与课程之间存在一对多的联系如:某校教师与课程之间存在一对多的联系“教教”,即每位教师可以教多门课程,但是每门课,即每位教师可以教多门课程,但是每门课 程只能由一位教师来教。程只能由一位教师来教。 c. c. 多对多联系多对多联系(MN)(MN) 如:学生与课程间的联系如:学生与课程间的联系( (“学学”) )是多对多的,即一个学生可以学多门课程,而每门课程可以

20、是多对多的,即一个学生可以学多门课程,而每门课程可以 有多个学生来学。有多个学生来学。联系也可能有属性。联系也可能有属性。 如:学生如:学生“学学”某门课程所取得的成绩,既不是学生的属性也不是课程的属性。由于某门课程所取得的成绩,既不是学生的属性也不是课程的属性。由于“成绩成绩”既既 依赖于某名特定的学生又依赖于某门特定的课程,所以它是学生与课程之间的联系依赖于某名特定的学生又依赖于某门特定的课程,所以它是学生与课程之间的联系“学学” 的属性。的属性。(4). (4). 实体实体- -联系图的符号联系图的符号ERER图图中包含了中包含了实体实体( (即数据对象即数据对象) )、关系关系和和属性

21、属性等等3 3种基本成分。种基本成分。通常用通常用矩形框矩形框代表实体;代表实体;用连接相关实体的用连接相关实体的菱形框菱形框表示关系;表示关系;用用椭圆形或圆角矩形椭圆形或圆角矩形表示实体表示实体( (或关系或关系) )的属性;的属性;并用并用直线直线把实体把实体( (或关系或关系) )与其属性连接起来。与其属性连接起来。举举 例例图图3.2 3.2 某校教学管理某校教学管理ERER图图对象对象教教师师属属性性学学生生属属性性课课程程属属性性联联系系属属性性关系关系3.5 3.5 数据规范化数据规范化规范化的目的是:规范化的目的是:规范化的目的是:规范化的目的是:消除数据冗余消除数据冗余消除

22、数据冗余消除数据冗余,即消除表格中数据的重复;,即消除表格中数据的重复;,即消除表格中数据的重复;,即消除表格中数据的重复;消除多义性消除多义性消除多义性消除多义性,使关系中的属性含义清楚、单一;,使关系中的属性含义清楚、单一;,使关系中的属性含义清楚、单一;,使关系中的属性含义清楚、单一;使关系的使关系的使关系的使关系的“ “概念概念概念概念” ”单一化单一化单一化单一化,让每个数据项只是一个,让每个数据项只是一个,让每个数据项只是一个,让每个数据项只是一个简单的数或字符串,而不是一个组项或重复组;简单的数或字符串,而不是一个组项或重复组;简单的数或字符串,而不是一个组项或重复组;简单的数或

23、字符串,而不是一个组项或重复组;方便操作方便操作方便操作方便操作。使数据的插入、删除与修改操作可行并。使数据的插入、删除与修改操作可行并。使数据的插入、删除与修改操作可行并。使数据的插入、删除与修改操作可行并方便;方便;方便;方便;使关系模式更灵活使关系模式更灵活使关系模式更灵活使关系模式更灵活,易于实现接近自然语言的查询,易于实现接近自然语言的查询,易于实现接近自然语言的查询,易于实现接近自然语言的查询方式。方式。方式。方式。如何规范化?如何规范化?规范化规范化规范化规范化 - - - - 将将将将数据的逻辑结构数据的逻辑结构数据的逻辑结构数据的逻辑结构归结为满足一定条件的归结为满足一定条件

24、的归结为满足一定条件的归结为满足一定条件的二维表二维表二维表二维表 (关系)。即:(关系)。即:(关系)。即:(关系)。即: 1. 表格中每个信息项必须是一个不可分割的数据项,不可表格中每个信息项必须是一个不可分割的数据项,不可 是组项。是组项。 2. 表格中每一列表格中每一列 ( (列表示属性列表示属性) )中所有信息项必须是同一中所有信息项必须是同一 类型,各列的名字类型,各列的名字 ( (属性名属性名) ) 互异,列的次序任意。互异,列的次序任意。 3. 3. 表格中各行表格中各行 ( (行表示元组行表示元组) ) 互不相同,行的次序任意。互不相同,行的次序任意。教工号教工号姓名姓名性性

25、别职称称职务001张毅坤毅坤男男教授教授院院长002李李林林女女讲师讲师用教学管理例说明如何规范化用教学管理例说明如何规范化用教学管理例说明如何规范化用教学管理例说明如何规范化有三个实体型,即有三个实体型,即有三个实体型,即有三个实体型,即课程课程课程课程、学生学生学生学生和和和和教师教师教师教师,用三个关系保存它们的信息:,用三个关系保存它们的信息:,用三个关系保存它们的信息:,用三个关系保存它们的信息: 学生学生学生学生( ( ( (学号学号学号学号,姓名,性别,年龄,年级,专业,籍贯,姓名,性别,年龄,年级,专业,籍贯,姓名,性别,年龄,年级,专业,籍贯,姓名,性别,年龄,年级,专业,籍

26、贯) ) ) ) 教师教师教师教师( ( ( (职工号职工号职工号职工号,姓名,年龄,职称,职务,工资级别,工资,姓名,年龄,职称,职务,工资级别,工资,姓名,年龄,职称,职务,工资级别,工资,姓名,年龄,职称,职务,工资级别,工资) ) ) ) 课程课程课程课程( ( ( (课程号课程号课程号课程号,课程名,学分,学时,课程类型,课程名,学分,学时,课程类型,课程名,学分,学时,课程类型,课程名,学分,学时,课程类型) ) ) )为表示实体型之间的联系,又建立两个关系:为表示实体型之间的联系,又建立两个关系:为表示实体型之间的联系,又建立两个关系:为表示实体型之间的联系,又建立两个关系: 选

27、课选课选课选课 ( ( ( (学号,课程号学号,课程号学号,课程号学号,课程号,听课出勤率,作业完成率,分数,听课出勤率,作业完成率,分数,听课出勤率,作业完成率,分数,听课出勤率,作业完成率,分数) ) ) ) 教课教课教课教课 ( ( ( (职工号,课程号职工号,课程号职工号,课程号职工号,课程号,授课效果,授课效果,授课效果,授课效果) ) ) )这五个关系,组成了这五个关系,组成了这五个关系,组成了这五个关系,组成了数据库的模型数据库的模型数据库的模型数据库的模型。在每个关系中,属性名下加(下划线)指明在每个关系中,属性名下加(下划线)指明在每个关系中,属性名下加(下划线)指明在每个关

28、系中,属性名下加(下划线)指明关键字关键字关键字关键字。并规定。并规定。并规定。并规定关键字关键字关键字关键字能能能能唯一地标识一个元组。唯一地标识一个元组。唯一地标识一个元组。唯一地标识一个元组。1 1、范式级别越高,存储同样数据就需要分解成更多张表,因此,、范式级别越高,存储同样数据就需要分解成更多张表,因此, “存储自身存储自身”的过程也就越复杂。的过程也就越复杂。2 2、随着范式级别的提高,数据的存储结构与基于问题域的结构、随着范式级别的提高,数据的存储结构与基于问题域的结构 间的匹配程度也随之下降,因此,在需求变化时数据的稳定间的匹配程度也随之下降,因此,在需求变化时数据的稳定 性较

29、差。性较差。3 3、范式级别提高则需要访问的表增多,因此性能、范式级别提高则需要访问的表增多,因此性能( (速度速度) )将下降。将下降。 从实用角度看来,在大多数场合选用第三范式都比较恰当。从实用角度看来,在大多数场合选用第三范式都比较恰当。 所以,从实用角度看来,在大多所以,从实用角度看来,在大多数场合选用第三范式都比较恰当。数场合选用第三范式都比较恰当。 通常用通常用“范式范式(Normal Forms)”定义消除数据冗余的定义消除数据冗余的程度。第一范式程度。第一范式(1 NF)数据冗余程度最大,第五范式数据冗余程度最大,第五范式(5 NF)数据冗余程度最小。数据冗余程度最小。但是:但

30、是:第第 一一 范范 式式 每个属性值都必须是原子值,即仅仅是一个简单值每个属性值都必须是原子值,即仅仅是一个简单值 而不含内部结构。而不含内部结构。 如:学生学生( (学号学号,姓名,性别,年龄,年级,专业,籍贯,姓名,性别,年龄,年级,专业,籍贯) )教师教师( (职工号职工号,姓名,年龄,职称,职务,工资级别,工资,姓名,年龄,职称,职务,工资级别,工资) )课程课程( (课程号课程号,课程名,学分,学时,课程类型,课程名,学分,学时,课程类型) )第第 二二 范范 式式 满足第一范式条件,而且每个非关键字属性都由整满足第一范式条件,而且每个非关键字属性都由整 个关键字决定个关键字决定(

31、 (而不是由关键字的一部分来决定而不是由关键字的一部分来决定) )。 如:选课选课 ( ( 学号,课程号学号,课程号,听课出勤率,作业完成率,分数听课出勤率,作业完成率,分数 ) )教课教课 ( ( 职工号,课程号职工号,课程号,授课效果授课效果 ) )第第 三三 范范 式式 符合第二范式的条件。符合第二范式的条件。满足第三范式(满足第三范式(3NF3NF)必)必须先满足第二范式(须先满足第二范式(2NF2NF)。简而言之,第三范式()。简而言之,第三范式(3NF3NF)要)要求一个数据库表中不包含已在其它表中已包含的非主关键字求一个数据库表中不包含已在其它表中已包含的非主关键字信息。信息。

32、例如,存在一个部门信息表,其中每个部门有部门编例如,存在一个部门信息表,其中每个部门有部门编号(号(dept_iddept_id)、部门名称、部门简介等信息。那么员工信)、部门名称、部门简介等信息。那么员工信息表中列出部门编号后就不能再将部门名称、部门简介等与息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(表,则根据第三范式(3NF3NF)也应该构建它,否则就会有大)也应该构建它,否则就会有大量的数据冗余。简而言之,第三范式就是属性不依赖于其它量的数据冗余。简而言之,

33、第三范式就是属性不依赖于其它非主属性。非主属性。 3.6 3.6 状态转换图状态转换图 状态转换图状态转换图( (简称为状态图简称为状态图) ) 通过描绘系统的通过描绘系统的状态状态及引起系统状态转换的及引起系统状态转换的事件事件,来表来表 示系统的示系统的行为行为。此外,状态图还指明了作为特定事件的。此外,状态图还指明了作为特定事件的 结果系统将做哪些动作结果系统将做哪些动作( (例如,处理数据例如,处理数据) )。1). 1). 状状 态态 状态状态是任何可以被观察到的是任何可以被观察到的系统行为模式系统行为模式,一个状态代,一个状态代表系统的一种行为模式。表系统的一种行为模式。状态规定了

34、系统对事件的响应状态规定了系统对事件的响应方式方式。系统对事件的响应,既可以是做一个。系统对事件的响应,既可以是做一个( (或一系列或一系列) )动作,也可以是仅仅改变系统本身的状态,还可以是既动作,也可以是仅仅改变系统本身的状态,还可以是既改变状态又做动作。改变状态又做动作。 初态初态 ( (即初始状态即初始状态) ) 状态状态 终态终态 ( (即最终状态即最终状态) ) 中间状态中间状态一张状态图中只能有一个初态,而终态则可以有一张状态图中只能有一个初态,而终态则可以有0 0至多个。至多个。2). 2). 事事 件件 事件是在某个特定时刻发生的事情,它是对引起事件是在某个特定时刻发生的事情

35、,它是对引起 系统做动作或系统做动作或( (和和) )从一个状态转换到另一个状态从一个状态转换到另一个状态 的外界事件的抽象。的外界事件的抽象。 例如,内部时钟表明某个规定的时间段已经过去, 用户移动或点击鼠标等都是事件。 简而言之,简而言之,事件就是引起系统做动作或事件就是引起系统做动作或( (和和) )转换转换 状态的控制信息。状态的控制信息。初态用实心圆初态用实心圆表示,表示,终态用一对同心圆终态用一对同心圆( (内圆为实心圆内圆为实心圆) )表示。表示。中间状态用圆角矩形表示中间状态用圆角矩形表示,可以用两条水平横线把它分成,可以用两条水平横线把它分成上、中、上、中、下下3 3个部分。

36、个部分。上面部分为状态的名称上面部分为状态的名称,这部分是必须有的;,这部分是必须有的;中间中间部分为状态变量的名字和值部分为状态变量的名字和值,这部分是可选的;,这部分是可选的;下面部分是活下面部分是活动表动表,这部分也是可选的。,这部分也是可选的。3). 3). 符符 号号活动表的语法格式:事件名活动表的语法格式:事件名( (参数表参数表)/)/动作表达式动作表达式 其中,其中,“事件名事件名”可以是任何事件的名称。在活动表中经常使用可以是任何事件的名称。在活动表中经常使用下述下述3 3种标准事件:种标准事件:entryentry,exitexit和和dodo。entryentry事件指定

37、进入该状事件指定进入该状态的动作,态的动作,exitexit事件指定退出该状态的动作,而事件指定退出该状态的动作,而dodo事件则指定在事件则指定在该状态下的动作。需要时可以为事件指定参数表。活动表中的动该状态下的动作。需要时可以为事件指定参数表。活动表中的动作表达式描述应做的具体动作。作表达式描述应做的具体动作。3). 3). 符符 号号状态图中两个状态状态图中两个状态之间带箭头的连线称为状态转换之间带箭头的连线称为状态转换,箭头指明了转换方向。,箭头指明了转换方向。状态变迁通常是由事件触发的,在这种情况下应在表示状态转换的状态变迁通常是由事件触发的,在这种情况下应在表示状态转换的箭头线上标

38、出触发转换箭头线上标出触发转换的事件表达式的事件表达式;如果在箭头线上未标明事件,则表示在源状态的内部活动执行完之后自动;如果在箭头线上未标明事件,则表示在源状态的内部活动执行完之后自动触发转换。触发转换。事件表达式的语法:事件表达式的语法: 事件说明守卫条件动作表达式事件说明守卫条件动作表达式事件说明事件说明的语法为:事件名的语法为:事件名( (参数表参数表) )。守卫条件守卫条件是一个布尔表达式。如果同时使用事件说明和守卫条件,则当且仅当事件发生且是一个布尔表达式。如果同时使用事件说明和守卫条件,则当且仅当事件发生且布尔表达式为真时,状态转换才发生。如果只有守卫条件没有事件说明,则只要守卫

39、条件布尔表达式为真时,状态转换才发生。如果只有守卫条件没有事件说明,则只要守卫条件为真状态转换就发生。为真状态转换就发生。动作表达式动作表达式是一个过程表达式,当状态转换开始时执行该表达式。是一个过程表达式,当状态转换开始时执行该表达式。3). 3). 符符 号号4). 4). 举举 例例电话系统的状态图电话系统的状态图3.7 3.7 其他图形工具其他图形工具 层次方框图层次方框图 Warnier图图 IPO图图3.7.1 3.7.1 层次方框图层次方框图层次方框图用层次方框图用树形结构的一系列多层次的矩形框树形结构的一系列多层次的矩形框描绘数据的层次描绘数据的层次结构。结构。树形结构的树形结

40、构的顶层是一个单独的矩形框顶层是一个单独的矩形框,它代表完整的数据结构,它代表完整的数据结构,下面的各层矩形框代表这个数据的子集下面的各层矩形框代表这个数据的子集,最底层最底层的各个框代表组的各个框代表组成这个数据的成这个数据的实际数据元素实际数据元素( (不能再分割的元素不能再分割的元素) )。随着结构的精细化,层次方框图对数据结构也描绘得越来越详细,随着结构的精细化,层次方框图对数据结构也描绘得越来越详细,这种模式非常适合于需求分析阶段的需要这种模式非常适合于需求分析阶段的需要。系统分析员从对顶层。系统分析员从对顶层信息的分类开始,沿图中每条路径反复细化,直到确定了数据结信息的分类开始,沿

41、图中每条路径反复细化,直到确定了数据结构的全部细节时为止。构的全部细节时为止。举举 例例领导层辅助决策系统领导层辅助决策系统查询查询辅助决策辅助决策物物资资信信息息重重点点供供料料信信息息商商情情信信息息人人员员状状况况合合同同监监视视财财务务信信息息计计划划执执行行情情况况工工程程进进展展情情况况超超储储低低储储情情况况经经营营指指标标历历年年对对比比价价格格预预测测物物资资用用量量预预测测库库存存定定额额核核定定库库存存结结构构分分析析经经济济采采购购批批量量保保本本保保利利分分析析3.7.2 3.7.2 Warnier图图法国计算机科学家法国计算机科学家WarnierWarnier提出了

42、表示信息层次结构的另外提出了表示信息层次结构的另外一种图形工具。一种图形工具。WarnierWarnier图也用树形结构描绘信息,但是这种图形工具比层图也用树形结构描绘信息,但是这种图形工具比层次方框图提供了更丰富的描绘手段。次方框图提供了更丰富的描绘手段。用用WarnierWarnier图可以图可以表明信息的逻辑组织表明信息的逻辑组织。它可以指出一类信息或一个信息元素是它可以指出一类信息或一个信息元素是重复出现重复出现的,也可的,也可以表示特定信息在某一类信息中是以表示特定信息在某一类信息中是有条件地出现有条件地出现的。的。重复和条件约束是说明软件处理过程的基础,所以很容易重复和条件约束是说

43、明软件处理过程的基础,所以很容易把把WarnierWarnier图转变成软件设计的工具。图转变成软件设计的工具。举举 例例 图中表示一种软件产品图中表示一种软件产品要么要么是系统软件是系统软件要么要么是应用软件。是应用软件。系统软件中有系统软件中有P1P1种操作系统,种操作系统,P2P2种编译程序,此外还有软件工种编译程序,此外还有软件工具。软件工具是系统软件的一种,它又可以进一步细分为编辑具。软件工具是系统软件的一种,它又可以进一步细分为编辑程序、测试驱动程序和设计辅助工具,程序、测试驱动程序和设计辅助工具,图中标出了每种软件工图中标出了每种软件工具的数量。具的数量。3.7.3 3.7.3

44、IPO图图左边的框中列出有关的输入数据。左边的框中列出有关的输入数据。中间的框内列出主要的处理,处理中间的框内列出主要的处理,处理框中列出处理的次序暗示了执行的框中列出处理的次序暗示了执行的顺序,但是用这些基本符号还不足顺序,但是用这些基本符号还不足以精确描述执行处理的详细情况。以精确描述执行处理的详细情况。在右边的框内列出产生的输出数据。在右边的框内列出产生的输出数据。在在IPOIPO图中还用类似向量符号的粗图中还用类似向量符号的粗大箭头清楚地指出数据通信的情况。大箭头清楚地指出数据通信的情况。一种改进的一种改进的IPO图图( (也称为也称为IPO表表) )在需求分析阶段可以使用在需求分析阶

45、段可以使用IPO表表简略地简略地描述系统的主要算法描述系统的主要算法( (即数据流图中各个处理的基本即数据流图中各个处理的基本算法算法) )。需求分析阶段,需求分析阶段,IPO表中的许表中的许多附加信息暂时还不具备,但多附加信息暂时还不具备,但在设计阶段可以进一步补充修在设计阶段可以进一步补充修正这些图,作为设计阶段的文正这些图,作为设计阶段的文档。档。这正是在需求分析阶段用这正是在需求分析阶段用IPO表作为描述算法的工具的重要表作为描述算法的工具的重要优点。优点。3.8 3.8 验证软件需求验证软件需求验证软件需求的正确性,一般应从验证软件需求的正确性,一般应从4 4个方面进行:个方面进行:

46、 (1) (1) 一致性一致性 所有需求必须是一致的,任何一条需求不能和其所有需求必须是一致的,任何一条需求不能和其 他需求互相矛盾。他需求互相矛盾。 (2) (2) 完整性完整性 需求必须是完整的,规格说明书应该包括用户需需求必须是完整的,规格说明书应该包括用户需 要的每一个功能或性能。要的每一个功能或性能。 (3) (3) 现实性现实性 指定的需求应该是用现有的硬件技术和软件技术指定的需求应该是用现有的硬件技术和软件技术 基本上可以实现的。基本上可以实现的。 (4) (4) 有效性有效性 必须证明需求是正确有效的,确实能解决用户面必须证明需求是正确有效的,确实能解决用户面 对的问题。对的问

47、题。为了更有效地保证软件需求的正确性,特别是为了保证需求的一致性,需要有适当的软件工具支持需求分析工作。这类软件工具应该满足下列要求:(1) 必须有形式化的语法(或表),因此可以用计算机自动处理使用这种语法说明的内容;(2) 使用这个软件工具能够导出详细的文档;(3) 必须提供分析(测试)规格说明书的不一致性和冗余性的手段,并且应该能够产生一组报告指明对完整性分析的结果;(4) 使用这个软件工具之后,应该能够改进通信状况。3.8.3 用于需求分析的软件工具PSL/PSA系统的功能主要有下述4种:(1) 描述任何应用领域的信息系统;(2) 创建一个数据库保存对该信息系统的描述符;(3) 对描述符施加增加、删除和更改等操作;(4) 产生格式化的文档和关于规格说明书的各种分析报告。PSL/PSA系统用描述符从系统信息流、系统结构、数据结构、数据导出、系统规模、系统动态、系统性质和项目管理等8个方面描述信息系统。3.9 小结需求分析的任务: what functions + other requirements获取需求的方法: visit, prototyping, refinement分析建模与规格说明: 数据、功能和行为模型实体-联系图 & 数据规范化状态转换图+有穷状态机数据字典&其他图形工具验证软件需求:一致性、完整性、现实性和有效性

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号