收藏 分享(赏)

GIS工程讲义 第三讲工程立项、需求分析.ppt

上传人:hyngb9260 文档编号:9884055 上传时间:2019-09-15 格式:PPT 页数:93 大小:718.50KB
下载 相关 举报
GIS工程讲义 第三讲工程立项、需求分析.ppt_第1页
第1页 / 共93页
GIS工程讲义 第三讲工程立项、需求分析.ppt_第2页
第2页 / 共93页
GIS工程讲义 第三讲工程立项、需求分析.ppt_第3页
第3页 / 共93页
GIS工程讲义 第三讲工程立项、需求分析.ppt_第4页
第4页 / 共93页
GIS工程讲义 第三讲工程立项、需求分析.ppt_第5页
第5页 / 共93页
点击查看更多>>
资源描述

1、第三讲 GIS工程立项、可行性分析与需求分析,程承旗 北京大学遥感所,一、GIS工程立项建议,1、立项原因 2、立项基础 3、国内外研究现状 4、工程意义与目标 5、用户调查 6、投资条件 7、投资周期 8、技术力量与基础 9、软件硬件价格与性能 10、数据源状况 11、应用前景 12、效益评估 13、可运行性评价,二、可行性研究,可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决,可行性研究的目的不是解决问题,而是确定问题是否值得去解。必须分析几种主要的可能解法的利弊,从而判断原定的系统目标和规模是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。 一般

2、说来,可行性研究的成本只是预期的工程总成本的5%-10%。,2、可行性研究的步骤,21复查系统规模和目标 22研究目前正在使用的系统 现有的系统必然有某些缺点,新系统必须能解决旧系统中存在的问题。 分析员应该画出描绘现有系统的高层系统流程图,并请有关人员检验他对现有系统认识是否正确。千万不要花费太多时间去了解和描绘现有系统的实现细节,例如,除非是为了阐明一个特别关键的算法,否则不需要根据程序代码画出程序流程图。,3、导出新系统的高层逻辑模型,优秀的设计过程通常总是从现有的物理系统出发,导出现有系统的逻辑模型,再参考现有系统的逻辑模型,设想目标系统的逻辑模型,最后根据目标系统的逻辑模型建造新的物

3、理系统。 分析员能够使用数据流图描绘数据在系统中流动和处理的情况,从中概括地表达出他对新系统的设想。通常为了把新系统描绘得更清晰准确,还应该有一个初步的数据字典,定义系统中使用的数据。数据流图和数据字典共同定义了新系统的逻辑模型,以后可以从这个逻辑模型出发设计新系统。,4、重新定义问题,分析员应该和用户一起再次复查问题定义、工程规模和目标,这次复查应该把数据流图和数据字典作为讨论的基础。 可行性研究的前四个步骤实质上构成一个循环。分析定义问题,分析这个问题,导出一个试探性的解;在此基础上再次定义问题,再一次分析这个问题,修改这个解;继续这个循环过程,直到提出的逻辑模型完全符合系统目标。,5、导

4、出和评价供选择的解法,分析员应该从他建议的系统逻辑模型出发,导出若干个较高层次的(较抽象的)物理解法供比较和选择。 其次可以考虑操作方面的可行性。 考虑经济方面的可行性,对每个可能的系统进行成本/效益分析。 最后为每个在技术、操作和经济等方面都可行的系统制定实现进度表,不需要(也不可能)制定得很详细,通常中需要估计生命周期每个阶段的工作量。,6、成本/效益分析,直接效益服务节省开支提高工作效率 间接效益科学决策快速决策,成本估计,1、 代码行技术 2、 任务分解技术 首先把软件开发工程分解为若干个相对独立的任务,估计每个任务的成本时,通常先估计完成该任务需要用的人力(以人月为单位),再乘以每人

5、每月的平均工资而得出每个任务的成本。 最常用的办法是按开发阶段划分任务。如果软件系统很复杂,由若干个子系统组成,则可以把每个子系统再按开发阶段进一步划分成更小的任务。 典型环境下各个开发阶段需要使用的人力的百分比大致如表所示。,3、 自动估计成本技术 采用这种技术必须有长期搜集的大量历史数据为基础,并且需要有良好的数据库支持。,成本/效益分析的方法,成本/效益分析的第一步是估计开发成本、运行费用和新系统将带来的经济效益。 应该比较新系统的开发成本和经济效益,以便从经济角度判断这个系统是否值得投资,投资是现在进行的,效益是将来获得的,不能简单地比较成本和效益,应该考虑货币的时间价值。,1、 贷币

6、的时间价值,假设年利率为i,如果现在存入P元,则n年以后可以得到的钱数为: F=P(1+i)n 就是P元钱在n年后的价值。反之,如果n年后能收入F元钱,那么这些钱的现在价值是 P=F/(1+i)n 修改一个已有库存清单系统,使它能在每天送给采购员一份定货报表。修改已有的库存清单程序并且编写产生报表的程序,估计共需5000元;系统修改后能及时定货将消除零件短缺问题,估计因此每年可以节省2500元,五年共可省12500元。但是,不能简单地把5000元和12500元相比较,因为前者是现在投资的钱,后者是若干年以后节省的钱。 假定年利率为12%,利用上面计算货币现在价值的公式可以算出修改库存清单系统后

7、每年预计节省的钱的现在价值,如表所示。,投资回收期,所谓投资回收期就是使累计的经济效益等于最初投资所需要的时间。 例如,修改库存清单系统两年以后可以节省4225.12元,比最初的投资(5000)元还少774.88元,第三年以后将再节省1779.45元。774.88/1779.45=0.44因此,投资回收期是2.44年。,6、推荐行动方针,可行性分析的关键是提出是否继续进行这项开发工程。并且说明选择这个解决方案的理由。,7、草拟开发计划,除了工程进度表之外还应该估计对各种开发人员(系统分析员,程序员,资料员等)和各种资源(计算机硬件,软件、数据、工具等等)的需要情况,应该指明什么时候使用多长时间

8、。此外还应该估计系统生命周期每个阶段的成本。,8、书写文档提交审查,应该把上述可行性研究各个步骤的结果写成清晰的文档,请用户和使用部门的负责人仔细审查,以决定是否继续这项工程以及是否接受分析员推荐的方案。,现行系统调查,确定对现行系统的调查范围 发现现行系统存在的问题; 初步确定新建GIS的主要目标 估计新建GIS可能带来的效益; 根据用户的资金和技术力量分析建立GIS是否可行。 1、 发现现行系统存在的问题 2、 初步确定系统的主要目标 3、 技术力量的调查分析 4、 资金财力的调查分析 5、 数据资料的调查分析 6、 系统效益调查分析,系统分析,1、 分析现行运作过程,获得现行系统流程图

9、2、 进行数据分析,获取数据字典 数据流条目:组成、流量、来源、去向; 文件条目:文件名、组成、存贮方式、存取频率; 数据项条目:数据项名、类型、长度、取值范围; 加工条目:加工名、输入数据、输出数据、加工逻辑; 对隐含在有关图形上的数据也应引起足够重视。 3、 导出现行系统的逻辑模型 4、 进行用户需求分析与描述 5、 明确待建GIS的目标 6、 导出待建GIS的逻辑模型 7、 制定设计实施的初步计划,数据流图的制作规范,1、 数据流图的基本图元:,(1) 数据源点和数据终点数据源点和终点用方块表示,是数据流的起点及最终目的地 (2) 加工(数据处理/变换)用圆框表示,是对数据进行处理的逻辑

10、单元,它接受若干数据流,通过加工内部产生规定的数据流,DFD中对加工的标识通常由加工编号和加工命名组成。,(3) 数据流:用标识箭头表示,是系统处理的数据对象,同时还表示数据流动的方向,当进入或者流出某个加工的数据流之间,存在重要的逻辑联系时,可以附加符号说明。见后图 (4) 文件(数据存储):文件用两条平行线段表示。,数据A和B同时输入才能变换成数据C,数据A变换成B与C,数据A或B,或A和B同时输入变成C,A变成B与C,或B和C,只有A或B(不能同时)输入变成C,A变成B或C,但不能变成B和C,数据流图具体步骤如下:,1) 确定系统边界,画出顶层数据流图。 2) 自项向下,对每个加工进行内

11、部分解,画出分层数据流图。 3) 对数据流图进行复查求精。 在分层数据流图求精过程中应该注意以下问题: 检查流入、流出加工的数据流的连续性。 控制单张数据流图的复杂性 父图与子图的数据平衡 终止加工分解的条件 局部文件 分解层次的均匀性问题,数据流图编制实例,以数据流图相对应的数据词典编制规范,1、 数据流条目:定义一个数据流的数据项组成,其构成框架如下,其中方括号部分是条目构成的可选部分。 数据流名称 别名列表数据流组成来源去向处理特点(使用频率,数据量等)其他注释(格式、位置等) 数据流条目中的名称应该以数据流图中出现的数据流名称一致。 数据流组成是数据条目的主要部分,其构成如下: 数据流

12、名称=数据项逻辑操作符数据项 例:学生成绩单=课程编码+课程名+任课教师 1指导教师+学号+姓名+成绩(+备注),描述数据流组成常用符号有:=,+,|,() = 表示“定义为(等价于)” + 表示“与” | 括号内用“|”分割的各项目选择出现一项 () 括号内部分可以不出现 括号内部部分重复出现,例某仓库管理系统的出、入库事务定义为: 数据流:仓储事务 别名:入出库请求 仓储事务=入库|出库+零件+数量+时间+经办人 每天发生次数100次,高峰为9:0011:00 由仓库管理员通过终端发出,应该确认事务口令 对于有效事务应该记录出入库流入帐,数据项条目,数据项组成数据流的成分,分为基本数据项和

13、结构数据项,基本数据项如整数、小数、字符串、日期、逻辑值等,结构型数据项由若干数据项组成,其说明结构与数据流条目结构类似。 例 数据流“仓储事务”中的数据项“零件”可以定义为 数据项 零件 零件=零件号+零件名称+规格+(备注) 数据项 零件号 零件号=Pxxxxxxx 说明:零件号由字母P开头的8个字符组成,后7个字符可以是字母或者数字,文件条目,文件作为数据静态存储池,是记录的有序集合,其说明结构与数据流条目类似。区别在于文件条目中通常要求说明文件组织方式。 文件名别名 记录定义 文件组织 存储介质描述,例:文件“学生成绩库”定义如下: 文件 学生成绩库学生成绩=学号+姓名+课程代码+成绩

14、+必修1限选1任选学号:由8位数字组成姓名:24个汉字课程代码:字母C开关的8位字任串成绩:13位十进制整数 课程类别:1位标识符,定义为:B必修 X限选 R任选 文件组织:以学号为关键字递增排列,加工说明,数据流图中,每个加工或称数据处理与变换,要求在数据词典中有一个准确简明的形式化或半简明形式化描述,其结构如下: 加工:加工编号+加工名或别名输入数据流;输出数据流加工的功能简述加工逻辑描述(结构化语言/表格/图形);附加说明,1) 利用结构化语言对“加工”进行描述的规范,结构化语言要求加工中的处理操作语句之间的联系,使用类似于结构化的控制语句进行描述。例如:IF条件THEN语句块1ELSE

15、语句块2,CASE选择表达式OF CASE语句块1 CASE语句块n ELSE 语句块n+1 END,WHILE条件DO 循环体REPAET 循环体 UNTIL条件FOR循环初值;循环终止描述DO 循环体,上述语句块中的操作性语句通常是动词+宾语结构,其中的数据对象必须在数据词典中已定义。 例如:“加工”计算课程冲突率,BEGIN接收合法选课记录或者重修课程;REPEATCASE课程类别OF重修课程: /必修课程必须优先安排/BEGIN查开课清单,写该生个人课表合法选课记录;BEGIN根据课程号在开课清单中查当前所选课程时间表;检查当前所选课程与该生已选课程是否冲突IF不产生冲突THEN填写该

16、生个人课表;ELSEBEGIN计算冲突率;IF冲突率30%THEN填写学生个人课表/当前课程可选ELSEBEGIN根据课程类别优选序删除冲突课程;/优先序:重修,必修,限选,任选重新计算课程冲突率ENDENDENDEND接收合法选课记录或者重修课程;UNTIL合法选课记录或者重修课程不存在;输出已选课程 END,2) 使用判定树说明复合条件嵌套的加工逻辑。,如果加工逻辑是复合条件嵌套,也可以使用判定树描述,例如,3) 使用判定表说明加工逻辑的复合条件嵌套,判定表的结构如下图:其中,I区为条件区,按行列出所有基本条件;区为条件组合区,按列给出所有可能发生的条件组合,区为动作区,按行列出所有可能发

17、生的动作,区为动作发生区,在各动作行与条件组合列的交叉处表示在指定条件组合下,发生的动作,通常以Y或N表示,例如:,三、需求分析,1需求分析的任务,基本任务是准确地回答“系统必须做什么?”这个问题。 可行性研究阶段产生的文档,特别是数据流图,是需求分析的出发点。数据流图中已经划分出系统必须完成的许多基本功能,在需求分析阶段系统分析员将仔细研究这些功能并进一步将它们具体化。在这个阶段结束时交出的文档中应该包括详细的数据流图。数据字典和一组简明的算法描述。,11确定对系统的综合要求,1、 系统功能要求 应该划分出系统必须完成的所有功能。 2、 系统性能要求 例如,联机系统的响应时间(即对于从终端输

18、入的一个“事务”,系统在多长时间之内可以做出响应),系统需要的存储容量以及后援存储,重新启动和安全性等方面的考虑都属于性能要还应。 3、 运行要求 这类要求集中表现为对系统运行时所处环境的要求。例如支持系统运行的系统软件是什么,采用哪种数据库管理系统,需要什么样的外存储器和数据通信接口等。 4、 将来可能提出的要求 应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。,12分析系统的数据要求,复杂的数据由许多基本的数据元素组成,数据结构表示数据元素之间的逻辑关系。利用数据字典可以全面准确地定义数据,但是数据字典的缺点是不够形象直观。为了提高可理解性,常常利用图形工

19、具辅助描绘数据结构。常用的图形工具有层次方框图和Warnier图。,13导出系统的逻辑模型 综合上述两项分析的结果可以导出系统的详细的逻辑模型,通常用数据流图、数据字典和主要的处理算法描述这个逻辑模型。 14修正系统开发计划,15开发原型系统 建造样机通常有两个主要目的:检验关键设计方案的正确性及系统是否真正满足用户的需要。 把建立原型系统作为一种可能采取的策略的主要理由如下: 1) 由于人类认识能力的局取胜,不能预先指定所有要求; 2) 在用户和系统分析员之间存在固有的通信鸿沟; 3) 用户需要一个“活的”系统模型,以便获得实践经验; 4) 在开发过程中重复和反复是必要的和不可避免的; 5)

20、 目前有快速建立原型系统的工具可供选用。,2、分析过程,结构化分析方法(简称SA方法)就是面向数据流自顶向下逐步求精进行需求分析的方法。通过可行性研究已经得出了目标系统的高层数据流图,需求分析的目的之一就是把数据流和数据存储定义到元素级。,12沿数据流图回溯,沿数据流图从输出端往输入回溯,应该能够确定每个数据元素的来源,与此同时也就初步定义了有关的算法。 通常把分析过程中得到的有关数据元素的信息记录在数据字典中,把对算法的简明描述记录在IPO图中(所谓IPO图即是输入处理输出图)。通过分析而补充的数据流、数据存储和处理,应该添加到数据流图的适当位置上。,22用户复查,数据字典准确完整吗?算法正

21、确吗?有没有遗漏必要的处理或数据元素?某些数据元素是从哪里来的?分析员必须得出这些问题的确切答案。 关于一个系统的详细信息只能来源于直接在这个系统上工作的人系统的用户。数据流图是帮助复查的极好工具。从输入端开始,分析员借助数据流图以及数据字典和简明的算法描述向用户解释输入数据是怎样一步一步地转变成输出数据的。追踪数据流图和复查系统的逻辑模型这两个步骤实质上构成一个循环。 通过复查获得的知识很可能又引出新的问题。,23细化数据流图,为了追踪更详细的数据流,分析员应该把数据流图扩展到更低的层次。 通过功能分解可以完成数据流图的细化。在数据流图中选出一个功能比较复杂的处理,并把它的功能分解成若干个子

22、功能,这些较低层的子功能成为一张新数据流图上的处理,在这张新数据流图上还应该包括自己的数据存储和数据流。 两条原则:第一,在分层细化时必须保持信息连续性,也就是说细化前后对应功能的输入/输出数据必须相同;第二,当进一步细化将涉及如何具体地实现一个功能时,也就是把一个功能进一步分解成子功能后,将促使人考虑为了完成这些子功能需要写出的程序代码时,就不应该再分解了。,24修正开发计划,在可行性研究阶段,分析员根据当时对系统的认识,曾经草拟了一份开发计划。经过需求分析阶段的工作,分析员对目标系统有了更深更具体的认识,因此可以对系统的成本和进度作出更准确的估计,在此基础上应该对开发计划进行修正。,25书

23、写文档,在这个阶段可能应该完成下述四份文档资料; 系统规格说明:主要描述目标系统的概貌、功能要求、性能要求、运行要求和将来可能提出的要求。在分析过程中得出的数据流图是这份文档的一个重要组成部分,用IPO图或其它工具简要描述的系统主要算法是这份文档的另一个重要组成部分。此外,这份文档中还应该包括用户需求和系统功能之间的参照关系,以及设计约束等等。,数据要求:主要包括通过需求分析建立起来的数据字典,以及描绘数据结构的层次方框图或Warnier图。此外,还应该包括对存储信息(数据库或普通文件)分析的结果。 用户系统描述:这份文档从用户使用系统的角度描述系统,相当于一份初步的用户手册,内容包括对系统功

24、能和性能的扼要描述,使用系统的主要步骤和方法,以及系统用户的责任等等。为了书写出这份文档,也迫使分析员从用户的观点考虑软件系统。有了这份文档审查和复审时就更容易发现不一致和误解的地方,这对保证软件质量和项目的成功是很重要的。 修正的开发计划:包括修正后的成本估计、资源使用计划、进度计划等等。,26审查和复审,分析过程的最后一步是按照结束标准对需求分析阶段的工作成果进行正式的技术审查和管理复审。,3、概念模型和规范化,GIS系统基本上是信息处理系统,因此,在系统的整个开发过程中都必须考虑两个方面的问题“数据”及对数据的“处理”。在需求分析阶段则既要分析用户的数据要求(即需要有哪些数据、数据之间有

25、什么联系、数据本身有什么性质、数据的结构等等),又要分析用户的处理要求(即对数据进行哪些处理、每个处理的逻辑功能等等)。,概念性的数据模型(也称为信息模型),概念性数据模型是一种面向问题的数据模型,是按照用户的观点来对数据和信息建模。它描述了从用户角度看到的数据,它反映了用户的现实环境,且与软件系统中的实现方法无关。,最常用的表示概念性数据模型的方法,是实体一联系方法(Entity-Relationship Approach)。这种方法用ER图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法。用这种方法表示的概念性数据模型又称为ER模型。 通常,GIS系统中有许多数据是需要长期保存的,

26、为减少数据冗余,简化修改数据的过程,应该对数据进行规范化。,31、ER模型,ER模型中包含“实体”、“联系”和“属性”三个基本成分,下面分别介绍这三个基本成分:,1、 实体,实体是客观世界中存在的且可相互区分的事物。实体可以是人也可以是物;可以是具体事物也可以是抽象概念。例如,职工,学生,课程,老师等都是实体。 在ER图中用矩形框代表实体。,1、 联系,客观世界中的事物彼此间往往是联系的。例如,教师与课程间存在“教”这种联系,而学生与课程间则存在“学”这种联系。联系可分为三类: 1)一对一联系(1:1) 例如,一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一对一的。 2)

27、一对多联系(1:N) 例如,某校教师与课程之间存在一对多的联系“教”,即每位教师可以都多门课程,但是每门课程只能由一位教师来教。 3)多对多联系(M:N) 例如,图3。2表示学生与课程间的联系“学”是多对多的,即一个学生可以学多门课程,而每门课程可以有多个学生来学。 在ER图中,用连接相关实体的菱形框表示联系。,3、 属性,属性是实体或联系所具有的性质。通常一个实体由若干个属性来刻画。例如,“学生”实体有学号、姓名、性别、系、所级等属性;“教师”实体有教工号、姓名、性别、职称、职务等属性; 联系也可能有属性。例如,学生“学”某门课程所取得的成绩,既不是学生的属生也不是课程的属性。由于“成绩”既

28、依懒于某名特定的学生又依赖于某门特定的课程,所以它是学生与课程之间的联系“学”的属性。 在ER图中用椭圆形或圆角矩形表示实体(或联系)的属性,并用无向边把实体(或联系)与其属性连接起来。,人们通常就是用实体、联系和属性这三个概念来理解现实问题的,因此,ER模型比较接近人的习惯思维方式。此外,ER模型使用简单的图形符号表达系统分析员对问题域的理解,不熟悉计算机技术的用户也能理解它,因此,ER模型可以作为用户与分析员之间有效的交流工具。,32、范式,通常用“范式(Normal Forms)”定义消除数据冗余的程度。第一范式(1NF)数据冗余程度最大,第五范式(5NF)数据冗余程度最小。但是,范式级

29、别越高,存储同样数据就需要分解成更多张表,因此,“存储自身”的过程也就越复杂。第二,随着范式级别的提高,数据的存储结构与基于问题域的结构间的匹配程度也随之下降,因此,在需求变化时数据的稳定性较差。第三,范式级别提高则需要访问的表增多,因此性能(速度)将下降。从实用角度看来,在大多数场合选用第三范式都比较恰当。,34、图形工具,341层次方框图,层次方框图用树形结构的一系列多层次框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分割的元素。) 例如,描绘一家计算机公司全部产品的数据

30、结构可用图中的层次方框图表示。这家公司的产品由硬件、软件和服务三类产品组成,软件产品又分为系统软件和应用软件,系统软件又进一步分为操作系统、编绎程序和软件工具。,342、Warnier图,法国计算机科学家Warnier提出了表示信息层次结构的另外一种图形工具。和层次方框图类似,Warnier图也用树形结构描绘信息,但是这种图形工具比层次方框图提供了更丰富的描绘手段。,用Warnier图可以表明信息的逻辑组织,也就是说,它可以指出一类信息或一个信息量重复出现的,也可以表示特定信息在某一类信息中是有条件地出现的。因为重复和条件约束是说明软件处理过程的基础,所以很容易把Warnier图转变成软件设计

31、的工具。,下图是用Warnier图描绘一类软件产品的例子,它说明了这种图形工具的用法。图中花括号用来区分数据结构的层次,在一个花括号内的所有名字都属于同一类信息;异或符号(+)表明一类信息或一个数据元素在一定条件下才出现,而且在这个符号上、下方的两上名字所代表的数据只能出现一个;在一个名字下面(或右边)的圆括号中的数字指明了这个名字代表的信息类(或元素)在这个数据结构中重复出现的次数。,根据上述符号约定,图中表示一种软件产品要么是系统要么是应用软件。系统软件中有P1种操作系统,P2种编译程序,此外还有软件工具。软件工具是系统软件的一种,它又可以进一步细分为编辑程序、测试驱动程序和设计辅助工具,

32、图中标出了每种软件工具的数量。,IPO图,IPO图是输入/处理/输出图的简称,它是IBM公司发展完善起来的一种图形工具,能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。,IPO图使用的基本符号既少又简单,因此很容易学会使用这种图形工具。它的基本形式是在左边的框中列出有关的输入数据,在中间的框内列出主要的处理,在右边的框内列出产生的输出数据。处理框中列出处理的次序暗示了执行的顺序,但是用这些基本符号还不足以精确描述执行处理的详细情况,在IPO图中还类似向量符号的粗大箭头清楚地指出数据通信的情况。下图是一个主文件更新的例子,通过这个例子不难了解除IPO图的用法。,改进的IPO图(也称为I

33、PO表),这种图中包含某些附加的信息,在软件设计过程中将比原始的IPO图更有用。如图所示,改进的IPO图中包含的附加信息主要有系统名称、图的作者,完成的日期,本图描述的模块的名字,模块在层次图中的编号,调用本模块的模块清单,本模块调用的模块的清单,注释,以及本模块使用的局部数据元素等。在需求分析阶段可以使用IPO图简略地描述系统的主要算法(即数据流图中各处处理的基本方法)。当然,在需求分析阶段,IPO图中的许多附加信息暂时还不具备,但是在软件设计阶段可以进一步补充修正这些图,作为设计阶段的文档。这正是在需求分析阶段用IPO图作为描述算法的工具的重要优点。,验证软件需求,从哪些方面验证软件需求的

34、正确性 一致性 所有需求必须是致的,任何一条需求不能和其他需求互相矛盾。 完整性 需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能。 现实性 指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的。 有效性 必须证明需求是正确有效的,确实能解决用户面对的问题。,1、验证需求的一致性,在目标系统规模庞大、规格说明书篇幅很长的时候,人工审查的效果是没有保证的,冗余、遗漏和不致等问题可能没被发现而继续保留下来,以致软件开发工作不能在正确的基础上顺利进行。 人们提出了形式化的描述软件需求的方法。当软件需求规格说明书是用形式化的需求陈述语言书写的时候,可以用软件工具验证需求的一致性,从

35、而能有准备地保证软件需求的一致性。,2、 验证需求的现实性,为了验证需求的现实性,分析员应该参照以往开发类似系统的经验,分析用现有的软、硬件技术实现目标系统的可能性。必要的时候应该采用仿真或性能模拟技术,辅助分析软件需求规格说明书的现实性。,3、 验证需求的完整性和有效性,只有目标系统的用户才真正知道软件需求规格说明书是否完整、准确地描述了他们的需求。 理想的做法是先根据需求分析的结果开发出一个软件系统,请用户试用一段时间以便能认识到他们的实际需要是什么,在此基础上再写出正式的“正确的”规格说明书。使用原型系统是一个比较现实的替代方法,开发原型系统所需要的成本和时间可以大少于开发实际系统所需要

36、的。用户通过试用原型系统,也能获得许多宝贵的经验,从而可以提出更符合实际的要求。,用于需求分析软件工具,这类软件工具应该满足下列要求: 1) 必须有形式化的语法(或表),因此可以用计算机自动处理使用这种语法说明的内容; 2) 使用这个软件工具能够导出详细的文档; 3) 必须提供分析(测试)规格说明书的不一致性和冗余性的手段,并且应该能够产生一组报告指明对完整性分析的结果; 4) 使用这个软件工具之后,应该能够改进通信状况。,RSL(需求陈述语言1977)。RSL中的语句是计算机可以处理的,处理以后把从这些语句中得到的信息集中存放在一个称为抽象系统语义模型(ASSM)的数据库中。有一组软件工具处

37、理ASSM数据库中的信息以产生出用PASCAL语言书写的模拟程序,从而可以检验需求的一致性、完整性和现实性。,1977年美国密执安大学开发了PSL/PSA(问题陈述语言/问题陈述分析程序)系统。这个系统是“计算机辅助设计和规格说明分析工具(CADAST)”的一部分,它的基本类似于RSL。其中PSL是用来描述系统的形式语言,PSA是处理PSL描述的分析程序。用PSL描述的系统属性放在一个数据库中。一旦建立起数据之后即可增加信息、删除信息或修改诈,并且保持信息的一致性。PSA对数据库进行处理以产生各种报告,测试不致性或遗漏,并且生成文档资料。,PSL/PSA系统的功能主要有下述四种: 1) 描述任

38、何应用领域的信息系统; 2) 创建一个数据库保存对该信息系统的描述符; 3) 对描述符施加增加、删除和更改等操作; 4) 产生格式化的文档和关于规格说明书的各种分析报告。,PSL/PSA系统用描述符从系统信息流、系统结构、数据结构、数据导出、系统规模、系统动态、系统性质和项目管理等八个方面描述信息系统。 PSL/PSA系统的主要优点是它改进了文档质量,能保证文档具有完整性、一致性和无二义性,从而可以减少管理和维护的费用。数据存放在数据库中,便于增加,删除和更改,这也是它的一个优点。,超高级语言和第四代语言,超高级语言的主句功能很强,可以用少数语句实现一个系统。但是,超高级语言运行时需要很大的支撑系统,这就增加了需要的存储容量,同时也除低了用这种语言写的程序的运行速度,因此超高级语言不适于用来开发实际的大系统。不过对于原型系统通常可以忽略性能方面的要求,这样超高级语言的上述特点在开发原型系统时并不构成严重的缺点,相反,它简洁而功能强的特点能使开发成本大大降低。因此,如果需求分析阶段有必要开发原型系统以进一步确定系统的要求,则应该尽量选用适当的超高级语言作为开发工具。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报