火龙果软件-GIS软件工程的系统分析_第1页
火龙果软件-GIS软件工程的系统分析_第2页
火龙果软件-GIS软件工程的系统分析_第3页
火龙果软件-GIS软件工程的系统分析_第4页
火龙果软件-GIS软件工程的系统分析_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、第三章 GIS软件的系统分析第一节 系统分析第二节 需求工程第三节 需求分析第一节 系统分析 1 概述 系统分析是应用系统论思想方法,确定系统的开发对象,把复杂的对象分解成简单的组成部分,找出这些部分的基本属性和彼此之间的关系。 只有通过系统分析,才能把软件功能和性能的总体概念描述为具体的软件需求规格说明,从而奠定软件开发的基础,这既是后续开发的依据,也是衡量一个信息系统优劣的依据。 系统分析也是用户和开发人员对GIS不断认识和逐步细化的过程,该过程将软件计划阶段所确定的软件范围逐步细化到可以详细定义的程度,并分析出各种不同的软件元素,然后为这些元素找到可行的解决办法。二 系统分析的任务 系统

2、分析阶段的主要任务是:系统分析员与用户一起,充分了解用户的要求,并把双方的理解用软件需求规格说明书表达出来。 分析员通过需求分析,逐步细化对软件的要求,描述软件要处理的数据域,并给软件开发提供一种可转化为数据设计、结构设计和过程设计的数据与功能表示。 只有通过需求分析解决了系统需要做什么这个关键问题,才能为用户作出最优的系统。三 系统分析的难点1 对数据的理解 系统分析员缺乏足够的对象系统的业务知识,用户缺乏GIS方面的专业知识2 人与人之间的沟通 软件需求规格说明书应尽可能详尽,交流时尽量不使用专业术语3 环境的不断变化 GIS建设周期长,一般23年,甚至45年四 系统分析的要求 针对系统分

3、析的难点,优秀的GIS系统分析应当具备如下素质: (1)系统分析人员要具备良好的GIS开发知识,也要了解用户业务知识; (2)用户与系统分析员具有良好的沟通能力和合作精神 (3)确立总体规划、分阶段进行的思路,即采用螺旋模型开展GIS开发五 系统分析的过程 系统分析阶段的工作可以分为以下四个方面:问题识别、分析与综合、制定规格说明和评审。1 问题识别 系统分析人员研究系统规划阶段产生的可行性分析报告和项目开发计划,确定对目标系统的综合要求,即软件的需求。并提出这些需求的实现条件,以及需求应达到的标准。 这些需求包括(1)功能需求(2)性能需求 列出性能指标,包括存储容量、运行时间限制、安全保密

4、性等)(3)数据需求 描述系统实现功能所必须的数据和能够处理的数据,包括数据的种类、标准、格式和质量等,以及输入和输出格式。(4)环境需求 对软件运行的环境要求,硬件方面的要求如机型、外设、数据通信接口、网络等;软件方面的要求如操作系统、GIS基础平台、DBMS;制度和操作人员素质的要求。(5)可靠性需求(6)安全保密要求(7)用户界面要求(8)资源使用需求(9)软件成本消耗与开发进度需求(10)预先估计以后系统可能达到的目标2 分析与综合 问题分析和方案的综合。 分析员需要从数据流和数据结构出发,逐步细化所有的系统功能,找出系统各元素之间的联系、接口特征和设计上的限制,分析它们是否满足功能要

5、求,是否合理。最终综合成系统的解决方案,给出目标系统的详细逻辑模型。 在这个过程中,分析和综合工作反复进行,一直持续到分析员与用户双方都感到有把握正确地制定该软件的规格说明为止。3 编制需求分析的文档 软件需求规格说明书 数据要求说明书 初步的用户手册4 需求分析评审 评审的主要内容:(1)系统定义的目标是否与用户的要求一致(2)系统需求分析阶段提供的文档资料是否齐全(3)文档中的所有描述是否完整、清晰,准确反映用户要求(4)与所有其他系统成分的重要接口是否都已经描述(5)所开发项目的数据流与数据结构是否足够、完整(6)所有图表是否清晰,在不补充说明时能否理解(7)主要功能是否已包括在规定的软

6、件范围之内,是否都已经充分说明(8)设计的约束条件或限制条件是否符合实际(9)开发的技术风险是什么(10)是否考虑过软件需求的其他方案(11)是否考虑过将来可能会提出的软件需求(12)是否详细制定了检验标准,它们能否对系统定义成功进行确认(13)有没有遗漏、重复或不一致的地方(14)用户是否审查了初步的用户手册(15)软件开发计划中的估算是否受到了影响 为了保证软件需求定义的质量,评审应以专门指定的人员负责,并按照程序严格进行。评审结束应有评审负责人的结论意见及签字。 除了分析员之外,用户、开发部门的管理者、软件设计、实现、测试的人员都应当参加评审工作。评审的结果一般都有一些修改意见,等修改完

7、了后在经评审通过,才能进入设计阶段。第二节 需求工程一 需求工程的概念 需求工程就是确定系统“做什么”的问题,并不涉及系统“怎么做”的问题。 需求工程分为三个步骤:需求获取、需求分析和编写软件规格说明书及验证。 需求工程的主要目的是给待开发系统提供一个清晰的、一致的、精确的并无二义性的模型。 通常用需求规格说明书的形式来定义待开发系统的所有外部特征。二 需求工程中涉及的角色 需求工程中涉及的角色主要有需求者、分析员和实现者。 需求者:包括客户和使用者,以及需求或对系统起决定性作用的的主管。 系统分析员:其工作是通过适当的引导、规格说明、鉴定和证实技术来开发一个需求者所要的对该系统的精确描述,系

8、统分析员是完成需求分析的主体。 开发者:由设计人员、编程人员和项目管理者组成,一旦需求规格说明产生,由开发者来构造系统。 系统分析员是用户和程序设计人员的中介,负责沟通用户和开发人员的认识,起着桥梁的作用。 系统分析员必须对产品的需求负责,应能够把当今技术融合于应用问题之中,有能力既熟悉计算机信息处理思考,又了解应用业务领域的要求。 系统分析员应对产生的问题有全局把握能力,集中精力于任务的关键部位。一个优秀的系统分析员必须能够深入理解用户的环境,并且能够用简捷的语言完整的表述一个问题。三 需求工程的作用1 支持项目开发 高质量的需求工程能够很好刻画用户需求的各个细节特征,并产生出清晰完备、精确

9、且易于实现的需求规格说明书,引导开发人员进行产品设计。2 支持软件测试和验证3 支持维护4 支持项目承包商5 支持项目管理四 需求工程的内容 包括需求获取、需求分析和验证等内容1 需求获取(1)需求获取过程 主要工作是:归纳和整理用户提出的各种问题和主要工作是:归纳和整理用户提出的各种问题和要求,弄清用户企图通过软件达到的目的,并把它作要求,弄清用户企图通过软件达到的目的,并把它作为要求和条件予以明确,即分析人员借助各种工具和为要求和条件予以明确,即分析人员借助各种工具和方法,获取用户需求的基本理解,然后在提取出用户方法,获取用户需求的基本理解,然后在提取出用户的实际需求,并由此确定软件的的功

10、能、性能、接口的实际需求,并由此确定软件的的功能、性能、接口关系及有关属性、软件条件、限制和边界等。关系及有关属性、软件条件、限制和边界等。(2)需求获取方法 需求获取方法包括两个方面 i)指导开发小组获得用户需求的方法框架 ii)支持控制此项活动进展的过程控制机制 根据应用领域、用户性质和系统规模的不同,具根据应用领域、用户性质和系统规模的不同,具体采用的方法框架和和过程控制机制不完全一样,但体采用的方法框架和和过程控制机制不完全一样,但大致可以表示为:大致可以表示为:获取需求从用户处引导原始需求陈述反馈同意用户的需求和陈述反复沟通2 需求分析 需求分析是从用户最初的需求到满足用户要求的软件

11、产品的映射过程。它实际上是一个对用户意图不断进行揭示和判断的过程。 用户需求可以分为功能性需求和非功能性需求。 (1)功能性需求主要说明了系统各功能部件与环境之间的相互作用的本质,即待开发软件在职能上实际应做到什么,一般来说它是用户最主要的需求。(2)非功能性需求非功能性需求过程需求产品需求外部需求交付需求实现方法需求标准要求法规需求费用需求互操作性需求可用性需求效用需求可靠性需求可移植性需求可重用性需求安全保密要求性能需求应用需求3 验证 需求工程中的错误或缺陷主要存在于需求规格说明书中,可以通过复核、审查与评审来降低失误。 一个完善的软件规格说明书应该具有 (1)正确性 (2)无二义性 (

12、3)完整性 (4)可验证性 (5)一致性 (6)非计算机人员能理解 (7)可修改性 (8)可跟踪性 (9)注释 第三节 需求分析 需求分析是开发人员准确理解用户的要求,进行需求分析是开发人员准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能整的需求定义,再由需求定义转换到相应的形式功能规格说明的过程。规格说明的过程。 一 需求分析的必要性 (1)问题的复杂性 (2)交流障碍 (3)不完备性和不一致性 (4)需求易变性二 需求分析的原则1 需求分析的原则 (1)必须能够表达和理解问题的

13、数据域和功能域。 (2)可以把一个复杂问题按照功能进行分解并可逐层细化,并确定各个部分间的接口,就可以完成整体功能。分析过程中,数据、功能和行为都可以划分。 (3)建模 模型可以帮分析人员更好地理解软件系统的信息、功能和行为。2 需求分析的注意事项(1)不弄清楚需求就算不清楚经费(2)编写需求规格说明书之前应明确要解决的问题(3)一旦在需求说明书中发现问题应立即改正(4)在众多需求中确定各个需求的优先顺序(5)需求分析时不要进行设计(6)对于复杂的系统要用多种视角进行分析(7)对需求进行编号,以便以后跟踪(8)重视形式化方法,也不放弃自然语言(9)不应存在“待确定”的条款三 需求分析的方法1

14、结构化需求分析方法 结构化分析方法是面向数据流进行需求分析的方法,它适合于数据处理类型系统的需求分析。而且采用图、表等形式表达需求,形式清晰简明,便于开发者和用户进行沟通。 结构化分析方法就是用抽象模型的概念,按照系统内部数据传递、变化的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。 在GIS中,结构化分析方法主要使用数据流程图、数据字典等分析工具。2 以用户为中心的需求分析(UCRA)方法 UCRA分析方法中的需求是面向最终用户的,最终用户能够理解评价,而不是象通常那样由用户提出模糊不清的需求,由开发人员定义一套需求说明文档。 这种需求分析的过程使得结果文档为用户所提供

15、并拥有,从而使开发人员跳过了这一过程。 UCRA方法主要关注解决拥有大量用户交互操作和集成数据库的目标系统的需求分析问题。四 数据流程图 数据流程图是从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。1 数据流程图的主要图形元素 数据流程图主要由4种图形元素构成,如图IIIIB数据源点或汇点加工(2为加工编号)数据文件(II为文件编号)数据流(B为数据流编号)(1)数据源点或汇点 数据源点或汇点表示图中要处理数据的输入来源或处理结果要送往何处。它在图中的出现只是一个符号,并不需要以软件的形式进行设计和实现,因此,它只是数据流图的外围环境中的实体,因此称之为外部实体。 在

16、实际问题中它可以是人员、计算机外设、测量仪器等。在数据流图中应当注明源点或汇点的名称。(2)加工 加工是以数据结构或数据内容作为加工对象的,加工的名称通常是一个动词短语,简明扼要表明完成的工作,加工也应注明名称。(3)数据文件 数据文件在数据流图中起保存数据的作用,因此称为数据存储。可以是数据库文件或者任何形式的数据组织。指向文件的数据流可以理解为写入文件或查询文件,从文件引出的数据流可以理解为从文件读取数据或得到查询结果。 在数据流图中必须加以命名。(4)数据流 数据流是沿箭头方向传送数据的通道,指被加工的数据与流向。 数据流图中的数据流也应当给出名称。2 数据流与加工之间的关系表示方法 当

17、数据流与加工之间存在一对多或者多对一关系时,数据流之间往往存在一定的逻辑关系,在数据流图中可以通过符号表示它们之间的关系。3 分层的数据流图 为了表达数据处理过程的数据加工情况,用一个数据流程图是不够的。为了表达复杂的实际问题,需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。4 数据流图的画法 画数据流图的基本步骤概括地说就是自外向内,自顶向下,逐层细化。 具体步骤为: (1)先找系统的数据源点与汇点,通过这些外部实体确定系统与外界的接口; (2)找出外部实体的输出数据流和输入数据流; (3)在图的边上画出系统的外部实体; (4)从外部实体的输出数据流(即系统的源点)出

18、发,按照系统的逻辑需要,逐步画出一系列逻辑加工,直到找到外部实体所需要的输入数据流(即系统的汇点),形成数据流的封闭; (5)按照下面所给的原则进行检查和修改 (6)按照上述步骤,再从各加工出发,画出所需的子图。 5 进行检查和修改的原则 (1)所有图形符号只限于前面四种基本图形元素 (2)数据流图的主图必须包括全部四种基本元素 (3)主图上的数据流必须封闭在外部实体之间,外部实体可以有多个 (4)每个加工至少有一个输入数据流和一个输出数据流 (5)在数据流图中,需按层给加工框编号。编号表明该加工处在哪一层,以及上下层的对应关系 (6)任何一个数据流子图必须与上一层的一个加工对应,两者的输入数

19、据流和输出数据流必须一致。 (7)图上每个元素都必须有名称,表明数据流和数据文件是什么数据,加工做什么事情 (8)数据流图中不可夹带控制流,因为数据流图是实际业务流程的客观映像,说明系统做什么而不是说明系统如何做。 (9)初稿可忽略细节,集中精力于主要数据流。6 数据流图实例 某市土地管理部门的建设项目预审工作,建设用地处接案,进行建设项目初步审查后,再转到地藉处进行土地利用现状和权属预审,再由土地规划处进行农用地审查,最后再交给建设用地处,完成土地管理部门的建设用地预审工作。 系统的第一层数据流图为整个建设项目预审系统,第二层数据流图包括建设用地处、地藉处、土地规划处三个子系统的数据流程图。

20、其中在地藉部门的土地利用现状和权属预审是核心工作,其工作流程图如下。建设用地处1有效性检验2范围计算3地藉图调入4红线图生成5叠加运算地藉数据库7国有土地审查8集体用地审查9耕地用地审查11审批打印10模板应用6土地权属分类检验出问题检验出问题B红线坐红线坐标表标表A有效坐有效坐标表标表C有效坐有效坐标表标表G红线范红线范围围D红线红线图图H地地藉藉图图F国有土地国有土地图形集图形集J集体土地集体土地图形集图形集K耕地图耕地图形集形集M土地土地图形图形集集国有土地地国有土地地类统计报告类统计报告N建设用地建设用地审查报告审查报告P集体土地地集体土地地类统计报告类统计报告L耕地地类统耕地地类统计

21、报告计报告O预审报告I I预审文件IIIIRQ建设用地预审流程图五 数据字典是一种用户可以访问的记录数是一种用户可以访问的记录数据库和应用程序元数据的目录。据库和应用程序元数据的目录。 数据流程图比较概括地描述了系统由哪几个部分组成、各部分之间的联系等,但是没有说明系统中各个部分的具体成分及其含义。 在GIS开发中,采用数据字典对数据流程图加以补充说明,对数据和数据库给出比较完善的分析。 需求分析中所使用的数据字典,主要用来描述数据流程图中的数据流、数据存储、处理过程和外部实体。数据字典把数据的最小组成单位看成是数据元素(基本数据项)。1 属性数据字典条目 属性数据字典与一般信息系统的数据字典是一致的,应包含六类条目:数据元素、数据结构、数据流、数据存储、处理过程、外部实体。(1)数据元素 是最小的数据组成单位,是属性数据字典的主要内容。一般每项数据内容要描述名称、别名、类型、取值范围和取值的含义、长度、简要说明等。 下表中的每条记录描述了给水管线一个属性的数据元素。序号数据项附加字段名宽度输出宽度数据类型小数位数备注*1管道线号GWJ_CODE1111C管道在井之间打断*2管径*3材质4起始端管顶标高*5起始端埋深6中止端管顶标高*7中止端

温馨提示

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

评论

0/150

提交评论