第3章 GIS软件工程的系统分析 基本内容 系统分析的任务、难点、要求、过程与方法;如何进行需求分析。 教学要求:

Slides:



Advertisements
Similar presentations
1 2. 功能建模和数据流图 最初, 结构化分析方法仅讨论数据流建模。目 标系统被表示成如图所示的数据变换流程图。 系统的功能体现在核心的数据变换中。 外部实体 目标 系统 目标 系统 输入信息 输出信息.
Advertisements

一、 一阶线性微分方程及其解法 二、 一阶线性微分方程的简单应用 三、 小结及作业 §6.2 一阶线性微分方程.
1 计算机软件考试命题模式 计算机软件考试命题模式 张 淑 平 张 淑 平. 2  命题模式内容  组织管理模式 − 命题机构和人员组成 − 命题程序  试卷组成模式.
练一练: 在数轴上画出表示下列各数的点, 并指出这些点相互间的关系: -6 , 6 , -3 , 3 , -1.5, 1.5.
网页设计师的职业成长规律 主讲:刘万辉 淮安信息职业技术学院.
初级会计电算化 (用友T3) 制作人:张爱红.
证券投资技术分析.
淄博信息工程学校 ZIBOIT&ENGINEERING VOCATONAL SHCOOL 02 认识虚拟局域网 计算机网络技术专业.
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
UI(用户界面)集训班 Illustrator 高级班.
常用逻辑用语复习课 李娟.
第三篇 组织工作.
《软件工程》 软件的定义—需求分析 马丽.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
在PHP和MYSQL中实现完美的中文显示
程序的形式验证 - 简介 中国科学院软件研究所 张文辉 1.
第一节 旅游规划的意义和种类 第二节 旅游规划的内容 第三节 旅游规划的编制 第四节 旅游景区规划
Hadoop I/O By ShiChaojie.
Harvard ManageMentor®
面向对象建模技术 软件工程系 林 琳.
管理信息结构SMI.
走进编程 程序的顺序结构(二).
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
课程设计.
第17章 网站发布.
2019/1/12 GDP设计协同 超级管理员操作手册 GDP项目组.
数据挖掘工具性能比较.
CPU结构和功能.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
程序设计工具实习 Software Program Tool
第4章 非线性规划 4.5 约束最优化方法 2019/4/6 山东大学 软件学院.
何勉 新浪微博: Scrum框架及其背后的原则 原始图片 何勉 新浪微博:
新一代安全网上银行 小组成员:杨志明 王晶 任毅 刘建中 关昊 刘超.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
解决变化问题的自底向上 流程建模方法 严志民 徐玮.
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
学习目标 1、什么是字符集 2、字符集四个级别 3、如何选择字符集.
微机系统的组成.
计算机及办公软件应用 ©2013 苏州工业园区职业技术学院
VisComposer 2019/4/17.
网页设计与制作 —— 学习情境二:网页模板设计
商业分析平台-语义元数据 用友集团技术中心 边传猛 2013年 11月 06日.
VB与Access数据库的连接.
实验七 安全FTP服务器实验 2019/4/28.
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
iSIGHT 基本培训 使用 Excel的栅栏问题
数据集的抽取式摘要 程龚, 徐丹云.
1.把下面的关系模式转化为E-R图 1)系(系号,系名,电话) 2)教师(工号,姓名,性别,年龄,系号)
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
海报题目 简介: 介绍此项仿真工作的目标和需要解决的问题。 可以添加合适的图片。
计算机绘图 AutoCAD2016.
立体图形的表面积和体积 小学数学总复习.
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
基于列存储的RDF数据管理 朱敏
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
第四章 UNIX文件系统.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
入侵检测技术 大连理工大学软件学院 毕玲.
§2 自由代数 定义19.7:设X是集合,G是一个T-代数,为X到G的函数,若对每个T-代数A和X到A的函数,都存在唯一的G到A的同态映射,使得=,则称G(更严格的说是(G,))是生成集X上的自由T-代数。X中的元素称为生成元。 A变, 变 变, 也变 对给定的 和A,是唯一的.
IT 方法 INTOSAI IT 审计培训.
海报题目 简介: 介绍此项仿真工作的目标和需要解决的问题。 可以添加合适的图片。
Presentation transcript:

第3章 GIS软件工程的系统分析 基本内容 系统分析的任务、难点、要求、过程与方法;如何进行需求分析。 教学要求: 重点掌握用户需求分析报告的内容。 重点: 数据流图。

3.1 系统分析 系统分析的定义: 系统分析的任务: 3.1 系统分析 系统分析的定义: 应用系统思想和方法,确定系统的开发对象,把复杂的系统分解成简单的部分,找出这些部分的基本属性和彼此间的关系。 系统分析的任务: 充分了解用户的要求,并把双方的理解用软件需求规格说明书表达出来,即是要深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求。

系统分析的难点: 系统分析的要求: 1.对数据的理解困难 2.系统分析员与用户的沟通困难 3.环境的变化 1.系统分析员要具备良好的GIS开发知识,并要了解用户业务知识。 2.系统分析员与用户要具有良好沟通能力和合作精神。 3.确立总体规划、分阶段进行的思路,即采用螺旋模型开展GIS建设。

系统分析的过程: 1.问题识别 确定对目标系统的综合要求,即软件的要求。 包括功能、性能、数据、环境、可靠性、安全保密、用户界面、资源使用等需求。 2.分析与综合 问题分析:从数据流和数据结构出发,逐步细化所有的系统功能,找出系统各元素之间的联系、接口特征和设计上的限制,分析它们是否满足功能要求,是否合理。 方案综合:依据功能需求、性能需求、运行环境需求等,剔除其不合理的部分,增加其需要部分,最终综合成系统的解决方案,给出系统目标和详细逻辑模型。

3.编制需求分析的文档: 需求分析的文档即软件需求规格说明,它是分析阶段的最终成果。下面给出的简略大纲可以作为软件需求规格说明的框架。 Ⅰ.引言 A.系统简介 B.系统参考文献 Ⅱ.概述 A.系统描述 B.主要功能 C.实现语言 D.用户特点 E.一般约束 

Ⅲ.用户业务管理现状分析 包括业务流程、数据流程、数据量、应用频率、数据源情况,业务管理依据的行政和技术文件,各阶段业务之间的关系,现有组织机构等。 Ⅳ.具体需求 A.功能需求 B.外部接口需求 C.性能需求 D.设计约束 E.属性需求 F.其他需求 

Ⅴ.数据需求 A.数据描述 B.数据采集 C.数据字典 Ⅵ.提出测试的准则 4.需求分析评审 对系统功能的正确性、完整性和清晰性,以及其他需求给予评价。

系统分析的方法: 系统需求分析方法由对软件的数据域和功能域的系统分析过程及其表示方法组成。 物理视图指反应当前系统的组织机构、输入输出、资源利用情况和日常数据处理过程的模式,这一模式应客观的反映现实世界的实际情况。 逻辑视图指在物理模型的基础上进行分析,区分出本质的和非本质的因素,去掉非本质的因素,从而形成反映系统本质的模型。 数据域具有三种属性:数据流、数据内容和数据结构。

图3.1 需求分析的流程图

3.2 需求工程 需求工程的概念: 需求工程就是确定系统“做什么”的问题。它分为三个步骤:需求获取、需求分析和编写软件规格说明书及验证。 3.2 需求工程 需求工程的概念: 需求工程就是确定系统“做什么”的问题。它分为三个步骤:需求获取、需求分析和编写软件规格说明书及验证。 需求是以一种清晰、简洁、一致且无二义性的方式,对一个待开发系统中各个有意义方面的陈述的一个集合。 需求工程的目的是给待开发系统提供一个清晰的、一致的、精确的并且无二义性的模型,通常以需求规格说明书的形式来定义待开发系统的所有外部特征。

需求工程中涉及的角色有需求者、分析员和实现者。 需求工程中涉及的角色: 需求工程中涉及的角色有需求者、分析员和实现者。 需求工程的作用: 1.支持项目开发 2.支持软件测试和验证 3.支持维护 4.支持项目承包商 5.支持管理

需求工程的内容: 1.需求获取 需求获取的过程就是分析人员借助各种工具和方法,获取对用户需求的基本理解,然后在需求获取方法的驱动和指导下,从非形式需求陈述中提取出用户的实际需求,并由此确定软件的功能、性能、接口关系及有关属性、软件条件、限制和边界等,标定软件的作用范围,确定支持性的软、硬件环境及辅助工具与条件。 需求获取方法包括指导开发小组获得用户需求的方法框架和支持控制此项活动进展的过程控制机制两方面。

需求工程的内容: 2.需求分析 需求分析是开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规格说明的过程。 用户的需求可分为功能性需求和非功能性需求。 功能性需求主要说明了系统各功能部件与环境之间的相互作用本质,即在职能上应做到什么。 非功能性需求主要从各个角度对所考虑的可能的解决方案起约束和限制作用。

需求工程的内容: 3.验证 验证的作用可以通过对需求规格说明文档进行仔细的复核、审查与评审来降低失误。

3.3 需求分析 3.3.2 需求分析的原则 需求分析的原则 1.必须能够表达和理解问题的数据域和功能域。 3.3 需求分析 3.3.2 需求分析的原则 需求分析的原则 1.必须能够表达和理解问题的数据域和功能域。 2.必须按自顶向下,逐层分解的方式对问题进行分解和不断细化 。 3.要给出系统的逻辑视图和物理视图 ,即建模。

需求分析的注意事项 1.需求搞不清,经费就算不准。 2.在编写需求规格说明书之前,应明确要解决的问题 。 3.立即确定需求,并记录下该需求的背景。 4.一旦在需求规格说明书中发现问题,立即改正。 5.在众多需求中确定各个需求的优先顺序,确定可能存在的子集。 6.需求分析时,不要进行设计工作。

需求分析的注意事项 7.对于复杂的系统,要用多种视角进行需求分析。 8.对需求进行编号,以便以后跟踪。 9.重视形式方法,也决不放弃自然语言。 10.需求中不应存在“待确定”的条款。

3.3.3 需求分析的方法 需求分析的方法: 1. 结构化分析方法(SA)。 2.面向对象的分析方法(OOA)。 3.3.3 需求分析的方法 需求分析的方法: 1. 结构化分析方法(SA)。 2.面向对象的分析方法(OOA)。 3.以用户为中心的分析方法(UCRA)。

需求分析的方法: 1. 结构化分析方法(SA)。 结构化分析方法是面向数据流进行需求分析的方法,适于数据处理类型系统的需求分析,采用图形、表等形式表达需求,特点是清晰、简明、方便开发者和用户进行沟通。 它用抽象模型的概念,按照系统内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。

需求分析的方法: 2.面向对象的分析方法(OOA)。 面向对象的分析概述: 1)获取用户需求 2)标识对象和类 3)定义类的结构和层次 4)建立对象模型 5)建立动态模型

需求分析的方法: 3.以用户为中心的需求分析方法(UCRA)。 以用户为中心的需求分析方法是一种为软件应用开发详细需求分析说明的方法。 UCRA方法关注解决拥有大量用户交互操作和集成数据库的目标系统的需求分析问题。

3.3.4 数据流程图 数据流图是对软件系统逻辑结构的图形表示,描绘的是系统的逻辑模型。数据流图仅仅描绘了数据在系统中流动和处理的情况。

数据流程图的主要图形元素 1.数据源点和汇点 2.加工(处理) 3.数据文件(数据存储) 4.数据流 图3.2 数据流图的符号 (a) 基本符号的含义

数据流程图的主要图形元素 1.数据源点和汇点 数据源点和汇点表示图中要处理数据的输入来源或处理结果要送往何处。 2.加工(处理) 加工(处理)以数据结构或数据内容为对象。一个处理框可以表示对象中的一个函数,也可以是一系列函数,还可以表示一个对象,甚至可以代表一些人工处理过程。

数据流程图的主要图形元素 3.数据文件(数据存储) 数据文件起保存数据的作用,它是处于静止状态的数据,通常存放在数据库中。 4.数据流 数据流是处于运动中的数据,通常体现为模块之间传递的信息。它是沿箭头方向传送数据的通道,指被加工的数据与流向。 (1) 数据流(或数据存储)命名 ① 名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成分。 ② 不要使用空洞的、缺乏具体含义的名字。

(1) 数据流(或数据存储)命名 ③ 若某个数据流(或数据存储)不能取一个合适的名字,则有可能是对数据流图分解不合适,应该考虑重新分解,有可能解决这个问题。 (2) 加工(处理)命名 ① 一般先为数据流命名,然后再为处理命名。 ② 名字应准确反映整个处理的功能,而不是它的一部分功能。 ③ 名字最好由一个具体的及物动词,加上一个具体的宾语组成。

(2) 加工(处理)命名 ④ 通常名字中只使用一个动词,如果需要用两个动词才能描述整个处理的功能,则可以把这个处理分解成两个处理。 ⑤ 如果在命名时遇到困难,则可能是分解不当造成的,应考虑重新分解或合并处理。

数据流与加工之间的关系表达方法 (b) 附加符号的含义

数据流与加工之间的关系表达方法 * 表示数据流之间是“与”关系(同时存在) + 表示数据流之间是“或”关系 ⊕ 表示只能从几个数据流中选一个(互斥关系)

分层的数据流图 顶层数据流程图描述了整个软件系统的作用范围,对系统的总体功能、输入和输出进行了抽象,反映了系统和环境的关系。 中间层次的数据流程图是通过分解高层数据流和加工得到的。 低层次数据流程图通常有很多中间层,甚至7~9层。这种分解可以不断重复,直到新的数据流程图中每个数据加工的功能明确、相关的数据流被严格定义为止。

分层的数据流图

数据流图的画法 画数据流图的基本步骤就是自外向内,自顶向下,逐层细化,完善求精。 具体步骤: (1)先找系统的数据源点与汇点,它们是外部实体,由它们确定系统与外界的接口。 (2)找出外部实体的输出数据流和输入数据流。 (3)在图的边上画上系统的外部实体。

数据流图的画法 画数据流图的基本步骤就是自外向内,自顶向下,逐层细化,完善求精。 具体步骤: (4)从外部实体的输出数据流出发,按系统的逻辑需要,逐步画出一系列逻辑加工,直到找到外部实体所需的输入数据流,形成数据流的封闭。 (5)按原则进行检查和修改。 (6)按上述步骤,再从各加工出发,画出所需的子图。

数据流图的画法 分层数据流程图举例 教学管理数据流程顶图

数据流图的画法 分层数据流程图举例 教学管理数据流程中图

数据流图的画法 分层数据流程图举例 学籍管理数据流程底图

课间练习 高考录取统分子系统有如下功能: (1)计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件。 (2)计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。 试根据要求画出该系统的数据流程图,并将其转换为软件结构图。

课间练习 录取分数 招生数 原始分 标准分 招生计划 分数 考生 计算标准分 计算录取线分数

进行检查和修改的原则 1.数据流图只限于前述四种基本图形元素。 2.数据流图的主图必须包括前述四种基本元素。 3.数据流图的主图上的数据流必须封闭在外部实体之间,外部实体可以不止一个。 4.每个加工至少有一个输入数据流和输出数据流。 5.在数据流图中,需按层给加工框编号。 6.任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。 7.图上每个元素必须有名字。 8.数据流图中不能夹带控制流。

3.3.4 数据字典 概述: 数据字典的定义: 数据字典是关于数据信息的集合,是数据流程图中所有元素(数据流、数据存储、处理过程和外部实体)严格定义的场所。 数据字典的用途: 1.数据流程图和数据字典一起构成了系统的逻辑模型; 2.有助于改进不同的开发人员或不同的开发小组之间的通信; 3.是存储文件或数据库设计的基础 ; 4.在实施阶段,还可参照数据字典描述数据。

属性数据字典条目: 属性数据字典包含六类条目: 1.数据元素:是最小的数据组成单位。 2.数据结构:描述数据之间的组成关系。 3.数据流:描述数据流的来源、去处、组成、流通量、高峰时的流通量等属性。 4.数据存储:描写该数据存储的结构,及有关的数据流、查询要求。 5.处理过程:描述处理框的编号、名称、功能的简要说明,有关的输入、输出。 6.外部实体:它是数据的来源和去向。

表3-1 点属性数据数据字典 序号 数据项 附加字段名 宽度 输出宽度 数据类型 小数位数 备注 *1 管线点号 PointID 10 String - 唯一标识码 *2 图上点号 PPointID 1:1000图副内 *3 平面坐标X X 11 Double 3 1954年北京坐标系 *4 平面坐标Y Y 12 *5 地面高程H H 6 1985国家高程基准 *6 点特征 PointFeature 8 区分拐点、分支、上杠、预留口等 *7 附属物 Subsid 区分人孔、手孔、接线箱等 *8 图副号 MapCode 1:500图副号 9 Memo 50 附加说明 *10 管线种类 PipeLineSort 区分是哪种管线

表3-2 线属性数据数据字典 序号 数据项 附加字段名 宽度 输出宽度 数据类型 备注 *1 管线编码 LineID 21 String 表3-2 线属性数据数据字典 序号 数据项 附加字段名 宽度 输出宽度 数据类型 备注 *1 管线编码 LineID 21 String 唯一标识码 *2 管线点号 SPointID 10 *3 连接点号 EPointID *4 管线材料 LineMaterial 8 *5 管径断面 LineProfile 断面大小。单位:毫米 *6 起点埋深 SPointdeep Integer 单位:厘米 *7 终点埋深 EPointdeep *8 管块孔数 HoleCount *9 电缆根数 CableCount 权属单位 UnitCode 30 管线所属单位 11 埋设日期 MakeDate 12 Memo 50 附加说明 *13 管线种类 PipeLineSort 区分是哪种管线

空间数据字典条目: 属性数据字典包含的内容: 1.名称:空间数据名称。 2.层名 3.层元素性质:空间形状属性。 4.拓扑关系:空间数据的拓扑关系。 5.属性表:与空间数据对应的属性表。 6.关联属性项/关联字段(可选):空间对象与属性记录关联。 7.外部实体:它是数据的来源和去向。 8.操作限制:限制空间数据的操作权限。 9.元数据文件或表名:空间数据元数据位置。 10.备注

表3-3 空间数据的数据字典 管线专题 层名 内容 要素类型 相应属性表名 备注 给水 JSL 给水管线 ARC JL.AAT 管线点 表3-3 空间数据的数据字典 管线专题 层名 内容 要素类型 相应属性表名 备注 给水 JSL 给水管线 ARC JL.AAT 管线点 POINT JL.PAT JST 给水管线注记 ANNO 管线点注记LEVEL值为1; 管线注记LEVEL值为2 排水 PSL 排水管线 PS.AAT PS.PAT PST 排水管线注记、水流方向线 管线点注记LEVEL值为3; 管线注记LEVEL值为4 燃气 RQL 燃气管线 RQ.AAT RQ.PAT RQT 燃气管线注记 管线点注记LEVEL值为5; 管线注记LEVEL值为6 电信 DXL 电信管线 DX.AAT DX.PAT DXT 电信管线注记 管线点注记LEVEL值为7; 管线注记LEVEL值为8

作业 3.3 简要叙述系统分析的过程。 3.8 属性数据字典包含的条目有哪些?分别简要说明之。 画数据流图: 假定要为某培训中心研制一个计算机管理系统,我们首先需要分析这个系统应该做些什么,为此必须分析培训中心的业务活动。培训中心为有关行业的在职人员开设许多门课程,有兴趣的人可以来电或来函报名选修某门课程,培训中心要收取一定的费用,学员通过支票付款,学员也可以来电或来函查询课程设计等事宜。培训中心的日常业务是:将学员发来的电报、信件、电话收集分类后,按几种不同情况处理。

作业 报名:则将报名数据送给负责报名事务的职员,他们要查阅课程文件,检查某课程是否额满,然后在学生文件、课程文件上登记,并开出报名单交财务部门,财务人员再开出发票经复核后通知学员。 付款:则由财务人员在帐目文件上登记,再经复审后也给学员一张通知单。 查询:则交查询部门查阅课程文件后给出答复。 注销:则由注销人员在课程、学生、帐目文件上作相应修改,经复审后通知学员。对一些要求不合理的函电拒绝处理。