毕业设计——第三章 开发方法及系统实现(1)

简介:   第三章 开发方法及系统实现 第三章     开发方法及系统实现整个系统使用MapObjects + C# 模式编程,使用MapObjects 显示和维护地理信息,使用C#完成地图绘制及地图数据处理、显示,并可以使用该程序条用外部程序进行数据的处理计算。

  第三章 开发方法及系统实现

第三章     开发方法及系统实现整个系统使用MapObjects + C# 模式编程,使用MapObjects 显示和维护地理信息,使用C#完成地图绘制及地图数据处理、显示,并可以使用该程序条用外部程序进行数据的处理计算。

3.1 主要设计类属性、方法概述
由于本系统采用的面向对象方法,所以需要自定义一些类来实现相应的功能,本系统中主要的系统类有两类,一个类CMapCtrol用来控制MapObjects [4]空间执行图像相关操作,一类CDataProcess目的主要用来进行数据的处理过程操作。同时,在整个工程中,需要使用到全局变量,这些全局变量定义在global类中,并在global类中自定义了属性,以便返回操作值给程序使用。
全局变量类global中,全局变量存储以及标定当前操作模式。
CMapControl类主要用来相应用户对地图控件操作后,在地图控件上产生的操作。它支持在地图上进行图像描绘、放大、缩小、平移等操作,添加点、管线对象等,对图像的一切操作,我们将在此类中实现。
CDbProcess 类为数据的操作进行设计,实现将数据存储至Datagrid等Windows Form控件中,在使用时,从相应的控件中调用相关数据进行处理。即:添加了DataGrid控件来存储程序在中间处理过程中所产生的数据。以保证数据的整体完整性。
Export类实现了数据的导入功能。方便用户存储数据,以便随后的程序使用。在该类中,我们注意到对导出的数据的编码不同,数据有可能无法被正确的识别,因此,在该类中用Code属性来规范导出的数据格式流。对于中文,采用默认的编码格式:Encoding.GetEncoding("gb2312"),使导出的数据能更好的被 Excel直接识别文中文。
3.2 全局变量global
系统运行过程中需要实时记录当前用户操作情况,以及当前用户所处的操作状态,因此我们建立了EditModel来标示当前的模式。由于该模式是开发者自己定义的类型,同时标示当前的不同的操作状态,所以使用了C#语言中比较新的类型——enum枚举类型。枚举是用户自定义的数据类型。在声明一个枚举时,要指定该枚举可以包含的一组可以接受的实例值。如果在代码的某个地方,要是图把一个不在可接受值范围内的值赋予枚举的一个实例,编译器就会报错。这个概念对于VB程序元来说是新的,而C++支持枚举,但C#的枚举要比C++ 的枚举强大的多。同时创建枚举类型可以节省大量的时间,减少许多的麻烦。
在整个程序执行过程中,程序是根据不同的模式程序执行不同的操作,该模式是整个程序的核心,不能被更改,如果更改为非法的类型,则程序执行时会报告错误。在设计此类时,自定义了用户可能出现的15种情况,在执行时除了返回错误外,程序将自动转换为UnKnown类型的EditModel而是程序自动停止相应用户的请求。global类的成员变量及属性见表 3-1 global类的成员属性:
表 3-1 global 类的成员属性
名称
数据类型
说明
EditModel
Model
当前的编辑模式(全局变量)
Message
string
显示该类的信息(包括错误信息)
Information
Info
程序信息
目录
相关文章
|
13天前
|
存储 算法 Java
【软件设计师—基础精讲笔记12】第12章 软件系统分析与设计(下午题)
【软件设计师—基础精讲笔记12】第12章 软件系统分析与设计(下午题)
50 0
|
14天前
|
存储 自然语言处理 算法
【软件设计师—基础精讲笔记6】第六章 结构化开发方法
【软件设计师—基础精讲笔记6】第六章 结构化开发方法
47 0
|
13天前
|
设计模式 存储 算法
【软件设计师—基础精讲笔记7】第七章 面向对象技术
【软件设计师—基础精讲笔记7】第七章 面向对象技术
50 1
|
29天前
|
安全 搜索推荐 测试技术
【软件设计师备考 专题 】理解系统需求说明:软件设计的第一步
【软件设计师备考 专题 】理解系统需求说明:软件设计的第一步
61 0
|
项目管理
软件工程高效学 | 实战案例:禅道进行Bug管理
软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(Product)、过程(Process)和项目(Project)进行分析和管理的活动,其根本目的是让软件项目尤其是大型项目的整个软件生命周期(从分析、设计、编码到测试、维护全过程)都能在管理者的控制之下。本篇通过禅道进行Bug管理。
235 0
软件工程高效学 | 实战案例:禅道进行Bug管理
基于C语言编程的职工工资管理系统项目的设计与开发(下)
基于C语言编程的职工工资管理系统项目的设计与开发(下)
基于C语言编程的职工工资管理系统项目的设计与开发(下)
|
存储 C语言 C++
基于C语言编程的职工工资管理系统项目的设计与开发(上)
基于C语言编程的职工工资管理系统项目的设计与开发
基于C语言编程的职工工资管理系统项目的设计与开发(上)
|
敏捷开发 存储 安全
软考——软件设计师:第七章:系统开发基础(软件工程&结构化开发)考点总结(完整篇)
软考——软件设计师:第七章:系统开发基础(软件工程&结构化开发)考点总结(完整篇)
软考——软件设计师:第七章:系统开发基础(软件工程&结构化开发)考点总结(完整篇)
|
数据库 Windows
艾伟:基于.NET平台的Windows编程实战(二)—— 需求分析与数据库设计
本系列文章导航 基于.NET平台的Windows编程实战(一)——前言 基于.NET平台的Windows编程实战(二)—— 需求分析与数据库设计 基于.NET平台的Windows编程实战(四)—— 数据库操作类的编写 基于.NET平台的Windows编程实战(五)—— 问卷管理功能的实现 基于.NET平台的Windows编程实战(六)—— 题目管理功能的实现   大家都知道一个系统的成败与否关键在于其所做的需求分析是否到位,数据库的设计是否合理。
976 0
|
数据库 Windows
艾伟_转载:基于.NET平台的Windows编程实战(二)—— 需求分析与数据库设计
本系列文章导航 基于.NET平台的Windows编程实战(一)——前言 基于.NET平台的Windows编程实战(二)—— 需求分析与数据库设计 基于.NET平台的Windows编程实战(四)—— 数据库操作类的编写 基于.NET平台的Windows编程实战(五)—— 问卷管理功能的实现 基于.NET平台的Windows编程实战(六)—— 题目管理功能的实现   大家都知道一个系统的成败与否关键在于其所做的需求分析是否到位,数据库的设计是否合理。
972 0

热门文章

最新文章