第3章需求分析ppt课件

上传人:cl****1 文档编号:589644711 上传时间:2024-09-11 格式:PPT 页数:67 大小:1.04MB
返回 下载 相关 举报
第3章需求分析ppt课件_第1页
第1页 / 共67页
第3章需求分析ppt课件_第2页
第2页 / 共67页
第3章需求分析ppt课件_第3页
第3页 / 共67页
第3章需求分析ppt课件_第4页
第4页 / 共67页
第3章需求分析ppt课件_第5页
第5页 / 共67页
点击查看更多>>
资源描述

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

1、第3章 需求分析2为什么需要需求分析为什么需要需求分析开发人员往往急于求成开发人员往往急于求成希望对开发进行指导希望对开发进行指导希望开发人员对用户的要求理解希望开发人员对用户的要求理解希望用户理解开发人员希望用户理解开发人员测试部门有理可依测试部门有理可依3需求分析的任务需求分析的任务 准确地准确地定义定义未来系统的目标,确定为了满未来系统的目标,确定为了满足用户的需求系统必须做什么。用足用户的需求系统必须做什么。用 规范的形式准确地表达用户的规范的形式准确地表达用户的需求需求。4什么是用户需求什么是用户需求思考、涉及的几个问题思考、涉及的几个问题v如何识别、获取需求如何识别、获取需求? ?

2、 你能够采取何种手段与用户进行交流沟通你能够采取何种手段与用户进行交流沟通? ?v何为需求建模何为需求建模? ? 你如何理解模型与建模你如何理解模型与建模? ?5需求获取的内容需求获取的内容 1.1.用户需求分类用户需求分类 (1)(1)功能性需求功能性需求: : 定义了系统做什么(描述系统必须支持定义了系统做什么(描述系统必须支持 的功能和过程)的功能和过程) (2)(2)非功能性需求(技术需求)非功能性需求(技术需求): : 定义了系统工作时的特性定义了系统工作时的特性 (描述操作环境和性能目标)(描述操作环境和性能目标)6两类需求包括的内容两类需求包括的内容(1) (1) 功能功能(2)

3、 (2) 性能性能(3) (3) 环境环境(4) (4) 界面界面(5) (5) 用户或人的因素用户或人的因素(6) (6) 文档文档 (7) 数据(8) 资源(9) 安全保密(10)软件成本消耗与开发进度(11)质量保证7(1) (1) 功能需求功能需求 系统做什么?系统做什么? 系统何时做什么?系统何时做什么? 系统何时及如何修改系统何时及如何修改 或升级?或升级?8(2) (2) 性能需求性能需求软件开发的技术性指标软件开发的技术性指标例如:例如: 存储容量限制存储容量限制 执行速度、相应时间执行速度、相应时间 吞吐量吞吐量9(3) (3) 环境需求环境需求硬件设备:硬件设备:机型、外设

4、、接口、机型、外设、接口、 地点、分布、温度、地点、分布、温度、 湿度、磁场干扰等湿度、磁场干扰等软件:软件: 操作系统操作系统 网络网络 数据库数据库10(4) (4) 界面需求界面需求 有来自其它系统的输入吗?有来自其它系统的输入吗? 到自其它系统的输出吗?到自其它系统的输出吗? 对数据格式有规定吗?对数据格式有规定吗? 对数据存储介质有规定吗?对数据存储介质有规定吗?11(5) (5) 用户或人的因素用户或人的因素 用户类型?用户类型? 各种用户熟练程度?各种用户熟练程度? 需受何种训练?需受何种训练? 用户理解、使用系统的难度?用户理解、使用系统的难度? 用户错误操作系统的可能性?用户

5、错误操作系统的可能性?12(6) (6) 文档需求文档需求 需哪些文档?需哪些文档? 文档针对哪些读者文档针对哪些读者?13(7) (7) 数据需求数据需求 输入、输出数据的格式?输入、输出数据的格式? 接收、发送数据的频率?接收、发送数据的频率? 数据的准确性和精度?数据的准确性和精度? 数据流量?数据流量? 数据需保持的时间?数据需保持的时间?14(8) (8) 资源需求资源需求 软件运行时所需的数据、软件。软件运行时所需的数据、软件。 内存空间等资源。内存空间等资源。 软件开发、维护所需的人力、软件开发、维护所需的人力、 支撑软件、开发设备等。支撑软件、开发设备等。15(9) (9) 安

6、全保密要求安全保密要求 需对访问系统或系统信息加以控制吗?需对访问系统或系统信息加以控制吗? 如何隔离用户之间的数据?如何隔离用户之间的数据? 用户程序如何与其它程序和操作系统隔离?用户程序如何与其它程序和操作系统隔离? 系统备份要求?系统备份要求?16(10) (10) 软件成本消耗软件成本消耗 与开发进度需求与开发进度需求开发有规定的时间表吗?开发有规定的时间表吗?软硬件投资有无限制软硬件投资有无限制?17(11) (11) 质量保证质量保证 系统的可靠性要求?系统的可靠性要求? 系统必须监测和隔离错误吗?系统必须监测和隔离错误吗? 规定系统平均出错时间?规定系统平均出错时间? 出错后,重

7、启系统允许的时间?出错后,重启系统允许的时间? 系统变化如何反映到设计中?系统变化如何反映到设计中? 维护是否包括对系统的改进?维护是否包括对系统的改进? 系统的可移植性?系统的可移植性?183.2 3.2 需求获取的常用方法需求获取的常用方法(Note 7Note 7)建立分析小组建立分析小组 领域专家:领域专家: 主角主角 系统分析员:导演系统分析员:导演客户访谈客户访谈问题分析与确认问题分析与确认 某出版社系统调查表某出版社系统调查表编号提出问题1您在哪个部门工作?您在哪个部门工作?2出版业务流程是什么?出版业务流程是什么?3您每日都处理那些文件、数据、报表?您每日都处理那些文件、数据、

8、报表?4工作中手工处理特别麻烦的事情是什么?工作中手工处理特别麻烦的事情是什么?5工作中手工处理什么问题解决不了?影响效率的问题工作中手工处理什么问题解决不了?影响效率的问题有哪些?有哪些?6您认为提高工作效率,节省工作时间,减轻工作强度您认为提高工作效率,节省工作时间,减轻工作强度可采取哪些办法?可采取哪些办法?某出版社系统调查表某出版社系统调查表编号提出问题7您的部门需要成本核算和统计的内容有哪些?您的部门需要成本核算和统计的内容有哪些?8您的部门采用计算机管理工作情况如何?您的部门采用计算机管理工作情况如何?9如何改进业务流程使之更合理?如何改进业务流程使之更合理?10哪些问题是目前传统

9、手工方法根本无法解决的?哪些问题是目前传统手工方法根本无法解决的?11出版社计算机管理信息系统需要解决什么问题?出版社计算机管理信息系统需要解决什么问题?21谁是客户谁是客户客户是指直接或间接从产品中获得利益的个人或组织客户是指直接或间接从产品中获得利益的个人或组织 软件客户包括提出要求、支付款项、选择、具体说明或使软件客户包括提出要求、支付款项、选择、具体说明或使用软件产品的项目风险承担者用软件产品的项目风险承担者( s t a k e h o l d e r )( s t a k e h o l d e r )或是获得产品所产生的结果的人。或是获得产品所产生的结果的人。22客户与开发人员之

10、间的合作关系客户与开发人员之间的合作关系(Note 10) 高质量的需求来源于客户与开发人员之间有效的交流与合作高质量的需求来源于客户与开发人员之间有效的交流与合作 通常,开发人员与客户或客户代理人成为一种对立关系通常,开发人员与客户或客户代理人成为一种对立关系23软件客户需求权利书(软件客户需求权利书(1)(Note 11) 客户有如下权利:客户有如下权利:1. 要求分析人员使用符合客户语言习惯的表达。要求分析人员使用符合客户语言习惯的表达。2. 要求分析人员了解客户系统的业务及目标。要求分析人员了解客户系统的业务及目标。3. 要求分析人员组织需求获取期间所介绍的信息,并编写软要求分析人员组

11、织需求获取期间所介绍的信息,并编写软件需求规格说明。件需求规格说明。4. 要求开发人员对需求过程中所产生的工作结果进行解释说要求开发人员对需求过程中所产生的工作结果进行解释说明。明。5. 要求开发人员在整个交流过程中保持和维护一种合作的职要求开发人员在整个交流过程中保持和维护一种合作的职业态度。业态度。24软件客户需求权利书(软件客户需求权利书(2)(Note 12)6. 要求开发人员对产品的实现及需求都要提供建议,拿出主要求开发人员对产品的实现及需求都要提供建议,拿出主意。意。7. 描述产品使其具有易用、好用的特性。描述产品使其具有易用、好用的特性。8. 可以调整需求,允许重用已有的软件组件

12、。可以调整需求,允许重用已有的软件组件。9. 当需要对需求进行变更时,对成本、影响、得失(当需要对需求进行变更时,对成本、影响、得失( t r a d e - o ff)有个真实可信的评估。)有个真实可信的评估。10. 获得满足客户功能和质量要求的系统,并且这些要求是获得满足客户功能和质量要求的系统,并且这些要求是开发人员同意的。开发人员同意的。25软件客户需求义务书软件客户需求义务书 (1)(Note 13)客户有下列义务:客户有下列义务:1. 1. 给分析人员讲解业务及说明业务方面的术语等专业问题。给分析人员讲解业务及说明业务方面的术语等专业问题。2. 2. 抽出时间清楚地说明需求并不断完

13、善。抽出时间清楚地说明需求并不断完善。3. 3. 当说明系统需求时,力求准确详细。当说明系统需求时,力求准确详细。4. 4. 需要时要及时对需求做出决策。需要时要及时对需求做出决策。5. 5. 要尊重开发人员的成本估算和对需求的可行性分析。要尊重开发人员的成本估算和对需求的可行性分析。26软件客户需求义务书(软件客户需求义务书(2)(Note 14)6. 6. 对单项需求、系统特性或使用实例划分优先级。对单项需求、系统特性或使用实例划分优先级。7. 7. 评审需求文档和原型。评审需求文档和原型。8. 8. 一旦知道要对项目需求进行变更,要马上与开发人员联一旦知道要对项目需求进行变更,要马上与开

14、发人员联系。系。9. 9. 在要求需求变更时,应遵照开发组织确定的工作过程来在要求需求变更时,应遵照开发组织确定的工作过程来处理。处理。10. 10. 尊重需求工程中开发人员采用的流程(过程)。尊重需求工程中开发人员采用的流程(过程)。27“签约签约”意味着什么意味着什么 (Note 15)客户与开发人员关系中的重要部分客户与开发人员关系中的重要部分 客户代表经常把客户代表经常把“签约签约”看作是毫无意义的看作是毫无意义的 更为重要的是签名是建立在一个需求协议的基线上更为重要的是签名是建立在一个需求协议的基线上 与你的重要客户一起讨论权利书和义务书,以达成协议,与你的重要客户一起讨论权利书和义

15、务书,以达成协议,并付诸实践并付诸实践 28高质量的需求过程带来的好处高质量的需求过程带来的好处(Note 16)开发后期和整个维护阶段的重做的工作大大减少开发后期和整个维护阶段的重做的工作大大减少 强调需求质量并不能引起某些人的重视强调需求质量并不能引起某些人的重视, ,他们错误地认为在他们错误地认为在需求上消耗多少时间就会导致产品开发推迟多少时间需求上消耗多少时间就会导致产品开发推迟多少时间将选定系统的需求明确地分配到各软件子系统,强调采用将选定系统的需求明确地分配到各软件子系统,强调采用产品工程的系统方法。这样能简化硬软件的集成产品工程的系统方法。这样能简化硬软件的集成 29优秀需求具有

16、的特性优秀需求具有的特性(Note 17)(Note 17)1. 1. 完整性完整性 2. 2. 正确性正确性 3. 3. 可行性可行性 4. 4. 必要性必要性 5. 5. 划分优先级划分优先级 6. 6. 无二义性无二义性 7. 7. 可验证性可验证性 3.3 3.3 分析建模与规格说明分析建模与规格说明 1).1). 分析建模分析建模 模型模型 -就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。通常,由一组图形符号和组织这些符号的规则组成。建模方法建模方法在过去的数年中,人们提出了许多种分析建模的方法,其中两种在分析建模领域占有主导地位:第一种是结构化分析(Str

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

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

19、景 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.2.1 3.2.1 精度精度 3.2.2 3.2.2 时间特性要求时间特性要求 3.2.3 3.2.3 灵活性灵活性 3.3 3.3 输人输出要求输人输出要求 3.4 3.4 数据管理能力要求数据管理能力要求 3.5 3.5

20、 故障处理要求故障处理要求 3.6 3.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种相互关联的信息:数据对象数据对象(实体实体)、

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

52、能解决用户面 对的问题。对的问题。为了更有效地保证软件需求的正确性,特别是为了保证需求的一致性,需要有适当的软件工具支持需求分析工作。这类软件工具应该满足下列要求:(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号