软件工程设计试验文档格式.docx

上传人:b****5 文档编号:19362760 上传时间:2023-01-05 格式:DOCX 页数:16 大小:185.28KB
下载 相关 举报
软件工程设计试验文档格式.docx_第1页
第1页 / 共16页
软件工程设计试验文档格式.docx_第2页
第2页 / 共16页
软件工程设计试验文档格式.docx_第3页
第3页 / 共16页
软件工程设计试验文档格式.docx_第4页
第4页 / 共16页
软件工程设计试验文档格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

软件工程设计试验文档格式.docx

《软件工程设计试验文档格式.docx》由会员分享,可在线阅读,更多相关《软件工程设计试验文档格式.docx(16页珍藏版)》请在冰豆网上搜索。

软件工程设计试验文档格式.docx

f、状态栏:

显示和标注当前软件的运行或操作状态。

软件系统界面如下:

1.3.技术路线

1.3.1开发环境:

MapObjects2.0环境,开发工具:

VisualBasic6.0,Visio程序流程设计软件

1.3.2技术路线

先在Visio程序流程设计软件中把软件系统的部分结构路线设计出来,然后再用VisualBasic6.0软件设计界面和编写代码。

1.4.软件结构设计

软件划分为:

文件操作:

在文件操作功能中可以实现,打开、新建、保存、打印、关闭功能。

数据加载:

可以实现加载空间数据、加载本地数据。

图形操作:

可以实现放大、缩小、平移、全图、漫游。

属性查询;

可以实现多条件查询、模糊查询

空间查询:

可实现点查询、普通空间查询、缓冲区查询。

其他:

图层渲染、地图输出、工具、帮助。

2.系统详细设计及实现

2.1.核心模块的详细设计

其核心模块为:

属性查询、空间查询

2.1.1功能说明

属性查询:

属性查询中以条件查询为主,选择要查选的图层,并添加查询条件,检出该图形范围内的对象以及相应的属性。

同时能实现查询位置定位、显示、清除、闪烁等功能。

空间查询中主要以点查询、线查询、多边形查询等普通空间查询为主,在空间上指给定一个点或一个几何图形,检索出该图形范围内的空间对象以及相应的属性,查询结果以列表显示。

2.1.2接口设计

由于MapObjects是建立在vb基础上,所以在这里不设置接口。

2.1.3模块的算法描述

设计的条件查询功能界面:

在条件查询功能中最重要的是查询空间代码的实现,这里要把查询的结果显示在下面的表格中,同时还要描述表格里要填充的内容,当然,清除、闪烁、取消这些功能也是构成条件查询功能的重要部分,但相对而言,不怎么难。

代码:

'

用表显示选中图形

PublicSubDisplaySelFeature()

IfNotpRcsIsNothingThen

DimtDescAsMapObjects2.TableDesc

DimiAsInteger

SettDesc=pRcs.TableDesc

DimrecscountAsInteger

'

记录指针移动到属性数据表选择中的记录上

Fori=0TorecNo-1

pRcs.MoveNext

Nexti

EndSub

闪烁

Form1.Map1.FlashShapepRcs("

shape"

).Value,3

对于查询条件录入的填写,先要在选择查询图层,选择之后图层相应的字段就要显示在“字段名列表”中,同理选择“字段名列表”属性要显示在“字段值列表”中。

Text1.Text=List1.List(List1.ListIndex)

Text1.Text=Text1.Text+List2.List(List2.ListIndex)

而“从Road选择”中是显示选择条件,当双击“字段名列表”、“字段值列表”、“表达式构造按钮”时,所构成的条件就显示在这里。

pFldName=List1.List(List1.ListIndex)

List2.Clear

pRcs.MoveFirst

WhileNotpRcs.EOF

List2.AddItempRcs.Fields(pFldName).ValueAsString

Wend

设计的空间查询功能界面:

在空间查询中最主要的部分就是编写汇入几何体的部分,这里包括点、线、面、多边形要素。

SettheShape=pSel("

).Value

IfpSel("

).Type=moPointThen

SetRect2=Form1.Map1.Extent

shapeX=pSel("

).Value.X

shapeY=pSel("

).Value.Y

deltax=shapeX-Rect2.Center.X

deltay=shapeY-Rect2.Center.Y

Rect2.Offsetdeltax,deltay

Rect2.ScaleRectangle0.1

Form1.Map1.Extent=Rect2

Else

SetRect=pSel("

).Value.Extent

Rect.ScaleRectangle1.1

Form1.Map1.Extent=Rect

EndIf

SetRect2=Nothing

SettheShape=Nothing

要实现空间查询,当然选择图形、查询方式、居中、闪烁以及显示每一步都要编写。

cboMethod.AddItem"

重叠"

cboMethod.AddItem"

有一个公共点"

边缘相交"

有一条公共边"

有公共点或边缘相交"

有交集"

内交"

内交,但边缘不相交"

特征包含形"

形包含特征"

特征完全包含形"

形完全包含特征"

特征包含形的第一个点"

形包含特征的中心"

特征和形相同"

cboMethod.ListIndex=5

2.1.4部件程序结构图

条件查询程序图:

空间查询程序图:

2.2.系统的开发实现

提交Windows下可运行的原型系统及源代码

条件查询:

DimlyrAsMapObjects2.MapLayer

DimpRcsAsNewMapObjects2.Recordset

将查询结果在属性表窗口中显示出来

PrivateSubMSFlexGrid1_Click()

DisplaySelFeature

DimRectAsRectangle,Rect2AsRectangle

DimshapeXAsDouble,shapeYAsDouble

DimdeltaxAsDouble,deltayAsDouble

DimtheShapeAsObject,pinPointAsMapObjects2.Point

DimrecNoAsInteger

recNo=MSFlexGrid1.Row-1

pRcs.MoveFirst

SettheShape=pRcs("

IfpRcs("

shapeX=pRcs("

shapeY=pRcs("

SetRect=pRcs("

**********************************************************

以下代码用来填充msgflexgrid

DimmAsInteger

DimnAsInteger

DoWhileNotpRcs.EOF

recscount=recscount+1

Loop

MsgBoxrecsCount

Form3.MSFlexGrid1.Cols=tDesc.FieldCount+1

Form3.MSFlexGrid1.Rows=recscount+1

Form3.MSFlexGrid1.AllowUserResizing=flexResizeColumns

Form3.MSFlexGrid1.Clear

Form3.MSFlexGrid1.CellAlignment=flexAlignLeftCenter

Forr=1TotDesc.FieldCount

Form3.MSFlexGrid1.ColWidth(r)=tDesc.FieldLength(r-1)*72

Nextr

tofilledthefieldsnameintogrid

Form3.MSFlexGrid1.TextMatrix(0,0)="

特征ID"

Forr=1Torecscount

Form3.MSFlexGrid1.TextMatrix(r,0)=r

Forr=0TotDesc.FieldCount-1

Form3.MSFlexGrid1.TextMatrix(0,r+1)=tDesc.FieldName(i)

Form3.MSFlexGrid1.ColAlignment(r)=flexAlignLeftCenter

Form3.MSFlexGrid1.ColWidth(r)=1200

Form3.MSFlexGrid1.ColAlignment(0)=flexAlignCenterCenter

Form3.MSFlexGrid1.ColWidth(0)=680

Form=1Torecscount

Forn=0TotDesc.FieldCount-1

Form3.MSFlexGrid1.TextMatrix(m,n+1)=pRcs.Fields(tDesc.FieldName(n)).Value

Nextn

Next

Form3.MSFlexGrid1.Refresh

PrivateSubCombo1_Click()

Setlyr=Form1.Map1.Layers(Combo1.ListIndex)

SetpRcs=lyr.Records

DimpTdscAsMapObjects2.TableDesc

SetpTdsc=pRcs.TableDesc

List1.Clear

Fori=0TopTdsc.FieldCount-1

List1.AddItempTdsc.FieldName(i)

PrivateSubCommand10_Click()

Text1.Text=Text1.Text+"

)"

PrivateSubCommand11_Click()

Not"

PrivateSubCommand12_Click()

Like"

PrivateSubCommand13_Click()

ponoff=True

Form1.Map1.Refresh

PrivateSubCommand14_Click()

Text1.Text="

"

Form3.MSFlexGrid1.Clear

SetpRec=Nothing

Form3.MSFlexGrid1.Refresh

PrivateSubCommand15_Click()

MovePoint

flash_shape

PrivateSubflash_shape()

OnErrorResumeNext

移动

PrivateSubMovePoint()

PrivateSubForm_Load()

DimpLyrAsNewMapObjects2.MapLayer

ForEachpLyrInForm1.Map1.Layers

Combo1.AddItempLyr.Name

NextpLyr

Combo1.ListIndex=0

Text1.Text="

ponoff=False

空间查询;

OptionExplicit

ExecuteSearch

DisplaySelFeature

Form1.Map1.Refresh

PrivateSubCommand1_Click()

DimRectAsRectangle,Rect2AsRectangle

pSel.MoveFirst

pSel.MoveNext

PrivateSubCommand2_Click()

***************************************************************

Form1.Map1.FlashShapepSel("

**************************************************************

SetWindowPosMe.hwnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVEOrSWP_NOSIZE

DimlayerAsNewMapObjects2.MapLayer

ForEachlayerInForm1.Map1.Layers

Combo1.AddItemlayer.Name

Nextlayer

初始化空间搜索方法

3.总结与展望

设计阶段是在VB中创建应用程序的最重要的部分。

首先需要为应用程序设计一用户界面,然后对每个功能模块编写代码。

但设计代码的结构是一项很复杂的工作,不易掌握。

构造应用程序的方法不同,可能会造成应用程序的性能以及代码的可维护性、可使用性不同。

在此次课程设计中,我们针对MO二次开发过程中遇到的问题进行了如下总结:

(一)实验难点

1.对Visio软件运用不熟悉,在设计流程图,以及设计部分程序图是很吃力。

2.VB编程是实验中的一大难点,每个功能都要通过编写代码来实现,对加载的每个功能函数需要不断的修改和调试。

(二)注意事项

1.在构建不同的窗体模块时,要注意模块之间的链接;

2.每个模块有多个过程,每个过程是一个可执行的代码片段,要划分清晰每个子过程、函数过程或是属性过程,以便程序的调试、检查;

3.在很多情况中存在多个对象共享的重复过程,这样可创建一个共享的子过程,以方便调用,来增加程序的可读性和可维护性;

4.应用每一个变量前需要进行定义,以保证程序可读;

5.在调试程序时可通过设置断点来进行追踪分析;

6.在工具栏设计中,Toolbar里按钮的索引号要与ImageList的图像编号链接一致,按钮样式要设为“tbrButtonGroup”,否则无法对地图实现各项操作;

7.在实现“打开”功能前,需加入CommonDialog控件,否则无法实现;

心得体会:

在这次上机实习中,我们使用VB和MO中的Text,Label,Toolbar,Command,,list,Listview,Map,Legend等控件创建了一个用户界面,并通过编程实现了MO的一些主要功能。

通过软件的设计,我们熟悉了VB的工作环境,初步掌握了该软件的基本操作与用法,学会了用属性窗口及代码设置对象(窗体和控件)属性的方法,学会了如何用对象建立界面及在代码编辑器中输入程序代码的基本操作,基本掌握了用VB开发应用程序的一般步骤。

在这里,构建基本软

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

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1