6--结构化分析方法

上传人:m**** 文档编号:568780354 上传时间:2024-07-26 格式:PPT 页数:32 大小:119KB
返回 下载 相关 举报
6--结构化分析方法_第1页
第1页 / 共32页
6--结构化分析方法_第2页
第2页 / 共32页
6--结构化分析方法_第3页
第3页 / 共32页
6--结构化分析方法_第4页
第4页 / 共32页
6--结构化分析方法_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《6--结构化分析方法》由会员分享,可在线阅读,更多相关《6--结构化分析方法(32页珍藏版)》请在金锄头文库上搜索。

1、5)5)需求规约的作用需求规约的作用 其作用可概括为:其作用可概括为: 第一也是最重要的,第一也是最重要的,作为软件开发组织和用户之间一份事实作为软件开发组织和用户之间一份事实上的技术合同书;是上的技术合同书;是产品功能及其环境的体现。产品功能及其环境的体现。 第二,对于项目的其余大多数工作,它是一个管理控制点。第二,对于项目的其余大多数工作,它是一个管理控制点。 第三,对于产品的设计,它是一个正式的、受控的起始点。第三,对于产品的设计,它是一个正式的、受控的起始点。 第四,是创建产品验收测试计划和用户指南的基础第四,是创建产品验收测试计划和用户指南的基础, ,即即基于基于需求分析规规约一般还

2、会产生另外两个文档需求分析规规约一般还会产生另外两个文档初始初始测试计划和用户系统操作描述。测试计划和用户系统操作描述。初始测试计划初始测试计划主要内容主要内容:对未来系统中的哪些功能和性能指标进行测试,以对未来系统中的哪些功能和性能指标进行测试,以及达到何种要求。及达到何种要求。作用作用:指导系统开发早期发现并修改一个错误指导系统开发早期发现并修改一个错误,减少测试代价减少测试代价.注注:在以后阶段的软件开发中,对这个测试计划要不断地修正和完善,并在以后阶段的软件开发中,对这个测试计划要不断地修正和完善,并成为相应阶段文档的一部分。成为相应阶段文档的一部分。注注:大量的统计数字表明,在系统开

3、发早期发现并修改一个错误的代价往大量的统计数字表明,在系统开发早期发现并修改一个错误的代价往往很低,越到系统开发的后期,改正同样错误所花费的代价越高。例往很低,越到系统开发的后期,改正同样错误所花费的代价越高。例如,假设在需求分析阶段检测并改正一个错误的代价为如,假设在需求分析阶段检测并改正一个错误的代价为1个单位,那么个单位,那么到了软件测试阶段检测并改正同样的错误所花费的代价,一般需要到了软件测试阶段检测并改正同样的错误所花费的代价,一般需要10个单位,而到软件发布后的代价就可能高达个单位,而到软件发布后的代价就可能高达100个单位。个单位。用户系统操作描述用户系统操作描述主要内容主要内容

4、:从用户使用系统的角度从用户使用系统的角度,简要描述系统功能和性能简要描述系统功能和性能,使用系统的主要步骤和方法,以及系统用户的责任等。系统,使用系统的主要步骤和方法,以及系统用户的责任等。系统,作用作用:在软件开发的早期,准备一份初步的用户手册可以使在软件开发的早期,准备一份初步的用户手册可以使未来的系统用户能够从使用的角度检查、审核目标系统,从而未来的系统用户能够从使用的角度检查、审核目标系统,从而比较容易判断这个系统是否符合他们的需要。比较容易判断这个系统是否符合他们的需要。为了书写这样的文档,也会迫使系统分析员从用户的为了书写这样的文档,也会迫使系统分析员从用户的角度来考虑软件系统。

5、这样不论是审查还是复审时角度来考虑软件系统。这样不论是审查还是复审时,就更容易发就更容易发现不一致和误解的地方,这对保证软件质量和项目成功是很重现不一致和误解的地方,这对保证软件质量和项目成功是很重要的。要的。注注:相当于一份初步的用户手册。相当于一份初步的用户手册。 SRSSRS所不能实现的作用所不能实现的作用 第一,它不是一个设计文档。它是一个第一,它不是一个设计文档。它是一个“为了为了”设计的文档。设计的文档。 第二,它不是进度或规划文档,不应该包含更适宜包含在第二,它不是进度或规划文档,不应该包含更适宜包含在工作陈述(工作陈述(SOWSOW)、软件项目管理计划)、软件项目管理计划(SP

6、MP)(SPMP)、软件生存周、软件生存周期管理计期管理计 划划(SLCMP)(SLCMP)、软件配置管理计划、软件配置管理计划(SCMP)(SCMP)或软件质或软件质量保证计划量保证计划(SQAP)(SQAP)等文档中的信息。因此,在等文档中的信息。因此,在SRSSRS中不应给中不应给 出出: : 项目成本;项目成本; 交付进度;交付进度; 报告规程;报告规程; 软件开发方法;质量保证规程;配置管理规程;软件开发方法;质量保证规程;配置管理规程; 验证和确认规程;验收规程;安装规程。验证和确认规程;验收规程;安装规程。关于项目的需求及其需求规约关于项目的需求及其需求规约 项目需求是客户和开发

7、者之间有关技术合同项目需求是客户和开发者之间有关技术合同- -产品产品/ /系统需求系统需求的理解,应记录在工作陈述的理解,应记录在工作陈述SOWSOW中或其他某一项目文档中或其他某一项目文档( (例如,例如,项目管理计划项目管理计划) )中。中。 即即 SRSSRS应只关注产品需求应只关注产品需求, ,即即: : 产品产品/ /系统需求系统需求- -“交付给客户的产品是什么交付给客户的产品是什么” SOWSOW应关注项目工作与管理应关注项目工作与管理, ,即即: : 项目需求项目需求- -“开发组要做的是什么开发组要做的是什么”。ProblemswithNLspecificationAmbi

8、guityThereadersandwritersoftherequirementmustinterpretthesamewordsinthesameway.NLisnaturallyambiguoussothisisverydifficult.Over-flexibilityThesamethingmaybesaidinanumberofdifferentwaysinthespecification.LackofmodularisationNLstructuresareinadequatetostructuresystemrequirements.Structuredlanguagespec

9、ificationsThefreedomoftherequirementswriterislimitedbyapredefinedtemplateforrequirements.Allrequirementsarewritteninastandardway.Theterminologyusedinthedescriptionmaybelimited.Theadvantageisthatthemostoftheexpressivenessofnaturallanguageismaintainedbutadegreeofuniformityisimposedonthespecification.F

10、orm-basedspecificationsDefinitionofthefunctionorentity.Descriptionofinputsandwheretheycomefrom.Descriptionofoutputsandwheretheygoto.Indicationofotherentitiesrequired.Preandpostconditions(ifappropriate).Thesideeffects(ifany)ofthefunction.Form-basednodespecification 软件工程软件工程 第六讲第六讲 结构化软件分析方法结构化软件分析方法

11、四四软件开发方法学软件开发方法学 概念概念:软件方法学软件方法学-支持软件开发的原理支持软件开发的原理/原则、过程和规程的体系原则、过程和规程的体系.是以软件方法为研究对象的学科。主要涉及指导软件设是以软件方法为研究对象的学科。主要涉及指导软件设计的原理和原则,以及基于这些原理、原则的方法计的原理和原则,以及基于这些原理、原则的方法和技术。和技术。狭义的软件方法学也指某种特定的软件设计指导原狭义的软件方法学也指某种特定的软件设计指导原则和方法体系。则和方法体系。掌握并能正确运用开发方法掌握并能正确运用开发方法,具有事半功倍的作用具有事半功倍的作用.软件开发软件开发本质本质软软件件生生存存周周期

12、期过过程程定义定义软软件件生生存存周周期期模模型型软软件件工工程程生生存存周周期期过过程程支支持持过过程程方方向向(活活动动与与定定序序)的的建建立立形形成成软件开发方法学软件开发方法学结构化方法结构化方法面向对象方法面向对象方法面向数据结构面向数据结构方法方法维也纳开发方维也纳开发方法(法(VDM)给给出出实实现现开开发发过过程程的的途途径径支持支持/管理技术与方法管理技术与方法作用于作用于(一一)结构化方法结构化方法-一种特定的软件开发方法学一种特定的软件开发方法学1结构化分析方法结构化分析方法1)何谓分析何谓分析分析的三要素分析的三要素:需要使用哪些信息需要使用哪些信息;如何系统化的使用

13、信息如何系统化的使用信息, 估算算法估算算法一般地说一般地说,分析是系统化地使用信息分析是系统化地使用信息,给出一个问题的估算给出一个问题的估算.何谓结构化分析何谓结构化分析就软件需求分析而言就软件需求分析而言,即为即为:系统化地使用问题域术语系统化地使用问题域术语,给给出该问题的模型出该问题的模型,即即:该系统的概念该系统的概念模型或称系统模型或称系统的需求规约的需求规约问题域问题域-客观事物系统客观事物系统形成形成分析分析(映射映射)可见,需求分析作为一种活动,其目标为:可见,需求分析作为一种活动,其目标为:在一个确定的抽象层(即需求层)上为客观事物系统施在一个确定的抽象层(即需求层)上为

14、客观事物系统施加了一个结构加了一个结构,形成待开发软件系统(产品)的概念模型,形成待开发软件系统(产品)的概念模型,即需求规约(即需求规约(规格说明书),作为开发人员和客户间技术规格说明书),作为开发人员和客户间技术契约的基础,并作为而后开发活动的一个基本输入契约的基础,并作为而后开发活动的一个基本输入2)实现软件需求分析的目标对方法学的需求实现软件需求分析的目标对方法学的需求(1) 提供一组术语提供一组术语( (符号符号) ),指导抽象中需要关注的主要方,指导抽象中需要关注的主要方 面面, ,并用于表达分析中所使用的信息并用于表达分析中所使用的信息. . 这些术语形成一个特定的抽象层,即需求

15、层这些术语形成一个特定的抽象层,即需求层. .当然,这当然,这组术语应体现组术语应体现软件设计的某些软件设计的某些“原理原理/原则原则”! (2) (2) 依据这些术语所形成的依据这些术语所形成的“空间空间”, ,给出表达模型的工具给出表达模型的工具. . (3) (3) 给出过程指导给出过程指导. .3)需求层的确定需求层的确定一个抽象层是由一组确定的术语定义的一个抽象层是由一组确定的术语定义的,为此为了支持需为此为了支持需求分析中有关要使用的那些信息的表达求分析中有关要使用的那些信息的表达,给出了以下五个给出了以下五个术语符号术语符号: 数据流:数据流: 加工:加工: 数据存储:数据存储:

16、 数据源:数据源: 数据潭:数据潭: 其中:其中: 数据流、数据存储数据流、数据存储-支持数据抽支持数据抽象象, ,加工加工-支持过程支持过程/ /功能的抽象,功能的抽象,用于表达用于表达系统内涵系统内涵数据源、数据潭数据源、数据潭支持系统边界支持系统边界抽象,用于表达系统抽象,用于表达系统外延外延. 是完备的。是完备的。4)模型表达工具模型表达工具这些术语形成一个特定的术语空间这些术语形成一个特定的术语空间,即即:它们之间是它们之间是”正交正交”的的.每一个术语所要表达的信息每一个术语所要表达的信息,形成了该术语的形成了该术语的”值域值域”,并且是一个偏序集并且是一个偏序集;例如例如,假定在

17、一个学籍管理系统中假定在一个学籍管理系统中,数据流数据流-“学生各科成学生各科成绩绩”:数学数学85分分,软件工程软件工程90分分,操作系统操作系统86分分,编译编译83分等分等,构成了该数据流的构成了该数据流的“值域值域”. 这些术语确定了所建系统的形态这些术语确定了所建系统的形态.如果是一个三维空间如果是一个三维空间,那些所建系统的形态只能是那些所建系统的形态只能是:或是一条直线或是一条直线;或是一条曲线或是一条曲线;或是一个平面或是一个平面,或是一个曲面或是一个曲面; 或是一个立方体或是一个立方体,或是一个多形体或是一个多形体.现在现在,是由五个术语所确定的一个五维空间是由五个术语所确定

18、的一个五维空间,因此该方法只因此该方法只能采用能采用DFD图来表达各种图来表达各种“形态形态”的系统的系统.例如例如旅行社旅行社订票单订票单预定预定机票机票准备准备机票机票记帐记帐费用费用航班航班帐单帐单机票机票记帐文件记帐文件航班目录航班目录旅行社旅行社5)5)过程指导过程指导 建立系统的功能模型建立系统的功能模型 -使用的工具为数据流图使用的工具为数据流图DFDDFD 首先:建立系统环境图,确定系统边界首先:建立系统环境图,确定系统边界 继之:自顶向下,逐层分解继之:自顶向下,逐层分解建立数据字典建立数据字典 -使用的工具为结构符使用的工具为结构符 定义数据流定义数据流 定义数据存储定义数

19、据存储 定义数据项定义数据项 给出加工小说明给出加工小说明 -使用的工具可以为判定表使用的工具可以为判定表 判定树判定树问题:建立一个简化的商业自动化系统,其中:问题:建立一个简化的商业自动化系统,其中:营业员通过该系统记录每日销售的商品(营业员通过该系统记录每日销售的商品(商品名,商品编号,单价,数量,销售时间););收款员通过该系统记录收到的现金数额以及购物余额;收款员通过该系统记录收到的现金数额以及购物余额;商店经理每日统计销售额,并在必要时查看某种商品的商店经理每日统计销售额,并在必要时查看某种商品的销售情况(商品名,商品编码,金额)销售情况(商品名,商品编码,金额)结构化分析方法应用

20、实例结构化分析方法应用实例简化的商业自动化系统简化的商业自动化系统营业员收款员经 理销售的商品销售的商品现金额现金额现金余额现金余额销售情况销售情况日销售额日销售额查询要求查询要求建立系统的功能模型建立系统的功能模型首先:建立系统环境图,确定系统边界首先:建立系统环境图,确定系统边界 -顶层顶层DFDDFD其中:其中:1 1 数据流为:销售的商品,日销售额等数据流为:销售的商品,日销售额等 3 3个输入流,个输入流,3 3个输出流个输出流 数据源为:营业员,经理,收款员数据源为:营业员,经理,收款员 数据潭为:经理,收款员数据潭为:经理,收款员 2 2 加工名为:要建立的系统名字加工名为:要建

21、立的系统名字录入、修改或删除商品信息录入、修改 现金额,并计算余额查询商品销售情况 计算日销售额123继之:自顶向下,逐层分解继之:自顶向下,逐层分解A A、按人或部门的功能要求,将加工、按人或部门的功能要求,将加工“打碎打碎”,形成:形成:注:需给每一加工编号;注:需给每一加工编号;B B、”分派分派”数据流,形成:数据流,形成:录入、修改或删除商品信息 2录入、修改 现金额,并计算余额查询商品销售情况 计算日销售额销售的商品销售的商品现金额现金额现金余额现金余额查询要求查询要求销售情况销售情况日销售额日销售额13其中:要根据特定的加工要求进行分派;其中:要根据特定的加工要求进行分派; 保持

22、与顶层数据流的一致;保持与顶层数据流的一致; 可以不引入数据源和数据潭。可以不引入数据源和数据潭。录入、修改或删除商品信息录入、修改 现金额,并计算余额查询商品销售情况 计算日销售额销售的商品销售的商品现金额现金额现金余额现金余额查询要求查询要求销售情况销售情况日销售额日销售额销售文件销售文件123C C、引入文件,使之形成一个有机整体、引入文件,使之形成一个有机整体系统:系统:注:到一个文件,既有输入流,又有输出流,则可简化为注:到一个文件,既有输入流,又有输出流,则可简化为 ,并可不给出标识。,并可不给出标识。至此,体现精化,形成至此,体现精化,形成0 0层数据流图。层数据流图。 查询商品

23、销售情况 计算日销售额查询要求查询要求销售情况销售情况日销售额日销售额销售文件销售文件3继续继续A A、B B、C C:自顶向下,逐层分解。:自顶向下,逐层分解。例如:加工例如:加工3 3可分解为:可分解为:判定要求查询要求查询要求 3。1统计销售情况 3。2计算日销售额销售文件销售文件查询要求查询要求2查询要求查询要求1销售情况销售情况日销售额日销售额加工3:* *其中为什么要引入其中为什么要引入加工加工“判定要求判定要求”?建立数据字典建立数据字典 定义数据流定义数据流 定义数据存储定义数据存储 定义数据项定义数据项 引入:结构符引入:结构符 | | 用于定义数据结构用于定义数据结构 AA

24、ABCB0C0B*数据字典数据字典:、数据流、数据流:销售的商品=商品名+商品编号+单价+数量+销售时间现金额 = 余额 =日销售额=非负实数查询要求=商品编号|日期查询要求1=商品编号查询要求2=日期销售情况=商品名+商品编号+金额、数据存贮、数据存贮:销售文件=销售的商品 、数据项 给出加工小说明给出加工小说明 -使用的工具可以为判定表使用的工具可以为判定表 判定树判定树 判断表判断表 条件类别条件类别 条件组合条件组合 操作操作 操作执行操作执行 例如:例如: 考试总分考试总分 =620 =620 =620 =620 620 单科成绩单科成绩 有满分有满分 有不及格有不及格 有满分有满分

25、 发升级通知书发升级通知书 y y ny y n 发留级通知书发留级通知书 n n yn n y 发重修通知书发重修通知书 n y nn y n6)建模中应注意的问题建模中应注意的问题 结构化分析方法是一种半形式化的规约方法结构化分析方法是一种半形式化的规约方法, ,给出了一组给出了一组特定的术语表和标准化的表达格式特定的术语表和标准化的表达格式- -数据流图数据流图, , 在表达上均在表达上均必须遵循一些约定必须遵循一些约定, ,即应以一种准确和一致方式使用之。例如即应以一种准确和一致方式使用之。例如: : - -加工加工: :其标识应使用领域术语其标识应使用领域术语, ,采用动宾结构采用动

26、宾结构; ; 必须有输入和输出必须有输入和输出; ; - -数据流数据流: :其标识应使用领域术语其标识应使用领域术语, ,采用名词或名词短语采用名词或名词短语; ; 特别特别, ,应注意应注意模型平衡模型平衡问题和信息组织的复杂性控制问题问题和信息组织的复杂性控制问题, , 即即: :模型平衡问题模型平衡问题 父图和子图的边界一致问题父图和子图的边界一致问题, ,即它们应有相同的边界即它们应有相同的边界; ; 数据流图中的数据流与数据字典的一致问题数据流图中的数据流与数据字典的一致问题, ,即每个数即每个数 据流和数据存储必须在数据字典中予以定义据流和数据存储必须在数据字典中予以定义 数据流

27、图中的数据流图中的“叶叶”加工(最低层)与小说明的一致问加工(最低层)与小说明的一致问 题题, ,即必须给出即必须给出“叶叶”加工的说明加工的说明 小说明和数据流图的图形表示一致问题,即在小说明中,小说明和数据流图的图形表示一致问题,即在小说明中, 必须说明必须说明“输入数据流输入数据流”如何使用,必须说明如何产生如何使用,必须说明如何产生 “ “输出数据流输出数据流”; ;必须说明如何选取、使用、修改必须说明如何选取、使用、修改“数据数据 存储存储” ” 信息组织信息组织复杂性控制问题复杂性控制问题 上层数据可以上层数据可以“打包打包” 上、下数据流对应关系在数据字典中给出,但包内上、下数据流对应关系在数据字典中给出,但包内数据流的性质(输入、输出)必须一致。数据流的性质(输入、输出)必须一致。 一幅图中的图元个数应控制在一幅图中的图元个数应控制在7+/-27+/-2以内以内 与每一加工相关的数据流的数目应适中与每一加工相关的数据流的数目应适中 (与层次有关与层次有关) 分析数据内容,确定是否所有的输入信息都用于分析数据内容,确定是否所有的输入信息都用于 产生输出信息;产生输出信息; 分析加工,确定一个加工所产生的输出,是否都分析加工,确定一个加工所产生的输出,是否都 能由该加工的输入信息导出能由该加工的输入信息导出

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

最新文档


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

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