基于PostgreSQL的空间数据批量上传.docx

上传人:b****6 文档编号:12532749 上传时间:2023-06-06 格式:DOCX 页数:28 大小:152.02KB
下载 相关 举报
基于PostgreSQL的空间数据批量上传.docx_第1页
第1页 / 共28页
基于PostgreSQL的空间数据批量上传.docx_第2页
第2页 / 共28页
基于PostgreSQL的空间数据批量上传.docx_第3页
第3页 / 共28页
基于PostgreSQL的空间数据批量上传.docx_第4页
第4页 / 共28页
基于PostgreSQL的空间数据批量上传.docx_第5页
第5页 / 共28页
基于PostgreSQL的空间数据批量上传.docx_第6页
第6页 / 共28页
基于PostgreSQL的空间数据批量上传.docx_第7页
第7页 / 共28页
基于PostgreSQL的空间数据批量上传.docx_第8页
第8页 / 共28页
基于PostgreSQL的空间数据批量上传.docx_第9页
第9页 / 共28页
基于PostgreSQL的空间数据批量上传.docx_第10页
第10页 / 共28页
基于PostgreSQL的空间数据批量上传.docx_第11页
第11页 / 共28页
基于PostgreSQL的空间数据批量上传.docx_第12页
第12页 / 共28页
基于PostgreSQL的空间数据批量上传.docx_第13页
第13页 / 共28页
基于PostgreSQL的空间数据批量上传.docx_第14页
第14页 / 共28页
基于PostgreSQL的空间数据批量上传.docx_第15页
第15页 / 共28页
基于PostgreSQL的空间数据批量上传.docx_第16页
第16页 / 共28页
基于PostgreSQL的空间数据批量上传.docx_第17页
第17页 / 共28页
基于PostgreSQL的空间数据批量上传.docx_第18页
第18页 / 共28页
基于PostgreSQL的空间数据批量上传.docx_第19页
第19页 / 共28页
基于PostgreSQL的空间数据批量上传.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于PostgreSQL的空间数据批量上传.docx

《基于PostgreSQL的空间数据批量上传.docx》由会员分享,可在线阅读,更多相关《基于PostgreSQL的空间数据批量上传.docx(28页珍藏版)》请在冰点文库上搜索。

基于PostgreSQL的空间数据批量上传.docx

基于PostgreSQL的空间数据批量上传

软件工程综合实习报告

实习任务名称:

基于PostgreSQL的空间数据批量上传的实现

小组成员姓名:

班级学号:

 

2011年5月

目录

1.系统概述1

1.1系统背景1

1.2系统目标1

1.3里程碑计划1

1.4系统可交付成果2

1.5人力计划2

1.6人员计划2

1.7测试计划3

1.8开发环境与工具3

2.需求分析4

2.1现有系统概述4

2.2系统需求概述4

2.3功能性需求4

2.4非功能性需求4

2.4.1用户界面4

2.4.2硬件考虑5

2.4.3性能特征5

2.4.4错误处理5

2.4.5系统接口5

2.4.5质量要求5

2.4.6安全问题6

2.4.7系统变更6

2.5系统模型6

2.5.1用例模型6

2.5.1.1参与者汇总6

2.5.1.2用例汇总6

2.5.1.3顶层用例图7

2.5.1.4用例描述7

2.5.2对象模型7

2.5.3动态模型7

3.概要设计8

3.1系统总体设计8

3.1.1逻辑结构设计8

3.1.2软件架构设计8

3.2系统功能设计8

3.2.1总体结构8

3.2.1功能设计说明8

3.3数据库设计9

3.3.1建库设计9

3.3.2数据库表存放关系9

3.4界面设计9

3.4.1主界面9

3.4.2子界面A10

4.详细设计11

4.1模块接口设计11

4.1.1接口A11

4.1.1.1功能描述11

4.1.1.2数据结构11

4.1.1.3输入项与输出项11

4.1.1.4算法与程序逻辑11

5.单元测试12

6.系统测试13

6.1模块测试13

6.1.1模块A13

6.1.1.1模块简述13

6.1.1.2测试结果13

6.2模块缺陷数量统计14

6.3测试评价14

6.3.1充分性评价14

6.3.2缺陷与不足14

6.3.3改进建议14

7.实习体会15

参考文献16

1.系统概述

1.1系统背景

PostgreSQL是以加州大学伯克利分校计算机系开发的POSTGRES,版本4.2为基础的对象关系型数据库管理系统(ORDBMS)。

PostgreSQL支持大部分SQL标准并且提供了许多其他现代特性:

复杂查询、外键、触发器、视图、事务完整性、多版本并发控制。

同样,PostgreSQL可以用许多方法扩展,比如,通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言。

并且,因为许可证的灵活,任何人都可以以任何目的免费使用,修改,和分发PostgreSQL,不管是私用,商用,还是学术研究使用。

本次实习的内容同将数据从oracle迁移到postgreSQL有关,是将导入到oracle的空间数据批量上传到postgresql的表中,并设置界面控制上传过程,在界面上能够展示上传进度和消耗时间。

1.2系统目标

序号

目标内容

1

将oracle里面的数据上传到postgresql里面

2

按行批量上传数据,用户可以自己设置一次性提交给postgresql的批量数

3

4

 

1.3里程碑计划

序号

项目阶段

阶段完成标准(里程碑)

开始时间

结束时间

工作量(日)

1

项目启动

项目启动会议

4/16

4/16

1

2

项目计划

项目计划核准

4/17

4/18

2

3

项目实施

需求分析完成

4/19

4/23

5

4

项目实施与监控

概要设计完成

4/24

4/26

3

5

项目实施与监控

详细设计完成

4/27

4/30

3

6

项目实施与监控

系统代码完成

5/1

5/20

20

7

项目实施与监控

系统测试完成

5/21

5/23

2

8

项目实施与监控

交付软件成果

5/24

5/24

1

合计

38

 

1.4系统可交付成果

序号

里程碑

可交付成果

交付日期

责任人

主要工作

1

需求分析完成

软件需求规格说明

4/23

刘子靖

撰写需求规格说明书

2

概要设计完成

概要设计说明

4/25

刘子靖

撰写概要设计说明书

3

详细设计完成

详细设计说明

4/26

刘子靖

撰写详细设计说明书

4

系统代码完成

单元测试问题追踪表

5/23

刘子靖

编写代码

5

系统测试完成

系统测试报告

5/23

刘子靖

测试并撰写系统测试报告

6

交付软件成果

系统软件/演示数据

5/26

刘子靖

软件演示和交付

1.5人力计划

序号

阶段

开始时间

结束时间

人力数量

备注

1

项目启动

4/16

4/16

1

2

计划核准

4/17

4/18

1

3

需求分析

4/19

4/23

1

4

概要设计

4/24

4/26

1

5

详细设计

4/27

4/30

1

6

编码及单元测试

5/1

5/20

1

7

系统测试

5/21

5/23

1

8

系统提交

5/24

5/24

1

序号

姓名

进入日期

期望结束日期

承担角色和职责

1

刘子靖

4/16

5/26

项目经理

2

刘子靖

4/16

5/26

配置管理员

3

刘子靖

4/16

5/26

业务分析师

4

刘子靖

4/16

5/26

需求分析

5

刘子靖

4/16

5/26

系统架构与功能设计师

6

刘子靖

4/16

5/26

系统界面设计师

7

刘子靖

4/16

5/26

研发人员

8

刘子靖

4/16

5/26

研发人员

8

刘子靖

4/16

5/26

数据库设计人员,DBA

9

刘子靖

4/16

5/26

测试负责人

10

刘子靖

4/16

5/26

质量保证员

1.6人员计划

1.7测试计划

序号

测试产品

测试类型

开始时间

结束时间

负责人

1

数据传送

单元测试

5/4

5/4

刘子靖

2

界面

单元测试

5/4

5/4

刘子靖

3

…..

单元测试

4

模块A+模块B

集成测试

5/5

5/5

刘子靖

5

…..

集成测试

6

交付系统

系统测试

5/5

5/5

刘子靖

7

系统提交最终产品

验收测试

5/5

5/5

刘子靖

合计

1.8开发环境与工具

序号

类别

具体需求

备注

1

硬件

windowsXP

2GB内存320G硬盘

2

软件

Oracle10g/PostgreSQL8.4

Eclipse

 

2.需求分析

2.2系统需求概述

将oracle数据里已经有的数据以行数为单位批量上传到PostgreSQL中,用户可以自由控制行数,以此节约上传时间。

并且在界面上展示上传进度和上传时间。

2.3功能性需求

▪系统的功能需求主要包括以下几个方面:

1用户可以自己设置批量的单位(行数)。

2系统可以将oracle已有的数据上传到postgresql中。

3系统可以显示上传的进度。

4系统可以显示上传时间

2.4非功能性需求

2.4.1用户界面

1、界面友好;

2、优化效率尽可能高。

3、简单易于用户操作。

4、可以显示出上传进度和上传时间。

2.4.2硬件考虑

系统的主要功能是数据的导入导出,仅仅涉及字符串的相关操作,对硬件的要求不高。

使用2GB内存320G硬盘的硬件。

2.4.3性能特征

1、响应时间不超过5秒;

2、数据量没有要求。

2.4.4错误处理

1.当PostgreSQL里面的数据表没有清空时会有相应的提醒。

2.当数据库的用户名和密码错误时有相应的提醒。

3.当数据库接口错误的时候会提醒用户。

4.当数据库的端口设置错误时候会有相应的提醒。

2.4.5系统接口

本系统不用与其他外界系统进行交互。

2.4.5质量要求

主要质量属性

详细要求

正确性

能够批量上传,批量数越大时所耗费的时间越少

可靠性

准确的上传所有要上传的数据,没有遗漏

健壮性

能对用户的错误进行提示

兼容性

兼容所有的Windows系统

2.4.6安全问题

1、连接Oracle时需输入用户名和密码;

2、连接PostgreSQL时需输入用户名和密码。

2.4.7系统变更

1、可以上传其他表格式的空间数据;

2、可以从硬盘的目录下的文件直接上传数据。

2.5系统模型

2.5.1用例模型

2.5.1.1参与者汇总

参与者

参与者说明

用户

操作上传数据的过程

系统

数据上传,展示进度和时间

2.5.1.2用例汇总

用例编号

用例名称

优先级

复杂度

UseCase-1

Student

1

一般

UseCase-2

Teacher

2

一般

UseCase-3

Administrator

3

一般

2.5.1.3顶层用例图

2.5.2动态模型

 

3.概要设计

3.1系统总体设计

3.3数据库设计

3.3.1建库设计

[对系统中需要管理的各种数据,用什么方式进行管理进行设计。

对放到数据库中管理的数据,要描述出表、表之间的关系、视图、触发器、储存过程接口等设计。

此处可以使用下列表格形式直观地描述数据表的定义]

序号

字段名称

类型

宽度(字节)

说明

1

2

 

3.3.2数据库表存放关系

Oracle中和PostgreSQL中各有一个mf10表,用于存放空间数据。

3.4界面设计

3.4.1主界面

3.4.2主界面算法

publicclassMainUI{

publicAppContextcontext=null;//@jve:

decl-index=0:

privateShellsShell=null;//@jve:

decl-index=0:

visual-constraint="7,4"

privateGroupgroupOracle=null;

privateGroupgroupPgsql=null;

privateCLabelcLabel=null;

privateTextoHost=null;

privateCLabelcLabel1=null;

privateTextoPort=null;

privateCLabelcLabel2=null;

privateTextoDatabase=null;

privateCLabelcLabel3=null;

privateCLabelcLabel4=null;

privateTextoUserName=null;

privateTextoPassword=null;

privateCLabelcLabel5=null;

privateCLabelcLabel6=null;

privateCLabelcLabel7=null;

privateCLabelcLabel8=null;

privateCLabelcLabel9=null;

privateTextpHost=null;

privateTextpPort=null;

privateTextpDatabase=null;

privateTextpUserName=null;

privateTextpPassword=null;

privateGroupgroup=null;

privateLabellabel=null;

privateTexttxtBatchNum=null;

privateProgressBarprogressBar=null;

privateButtonbtnAbout=null;

privateButtonbtnApply=null;

privateLabellabel1=null;

privateTextoTableName=null;

privateCLabelcLabel10=null;

privateTextpTableName=null;

privateButtonbtnClear=null;

privateTexttaInfo=null;

publicShellgetShell(){

returnthis.sShell;

}

publicButtongetButtonApply(){

returnthis.btnApply;

}

publicTextgetInfoText(){

returnthis.taInfo;

}

publicvoidinit(){

createSShell();

}

/**

*ThismethodinitializessShell

*/

privatevoidcreateSShell(){

GridLayoutgridLayout=newGridLayout();

gridLayout.numColumns=5;

sShell=newShell();

sShell.setText("PostgreSQL批量上传");

sShell.setSize(newPoint(600,450));

sShell.setLayout(null);

createGroupOracle();

createGroupPgsql();

createGroup();

progressBar=newProgressBar(sShell,SWT.NONE);

progressBar.setSize(newPoint(520,20));

progressBar.setLocation(newPoint(40,310));

btnAbout=newButton(sShell,SWT.NONE);

btnAbout.setSize(newPoint(100,30));

btnAbout.setText("关于(&A)");

btnAbout.setLocation(newPoint(50,270));

btnAbout

.addSelectionListener(neworg.eclipse.swt.events.SelectionAdapter(){

publicvoidwidgetSelected(

org.eclipse.swt.events.SelectionEvente){

actionAbout();

}

});

btnApply=newButton(sShell,SWT.NONE);

btnApply.setLocation(newPoint(400,270));

btnApply.setText("执行");

btnApply.setSize(newPoint(100,30));

taInfo=newText(getShell(),SWT.MULTI|SWT.WRAP|SWT.V_SCROLL);

taInfo.setBackground(Display.getCurrent().getSystemColor(

SWT.COLOR_WIDGET_BACKGROUND));

taInfo.setSize(newPoint(520,50));

taInfo.setLocation(newPoint(40,340));

taInfo.setForeground(newColor(Display.getCurrent(),0,0,0));

btnApply

.addSelectionListener(neworg.eclipse.swt.events.SelectionAdapter(){

publicvoidwidgetSelected(

org.eclipse.swt.events.SelectionEvente){

apply();

}

});

}

/**

*ThismethodinitializesgroupOracle

*

*/

privatevoidcreateGroupOracle(){

GridDatagridData=newGridData();

gridData.horizontalSpan=4;

groupOracle=newGroup(sShell,SWT.NONE);

groupOracle.setLayout(null);

groupOracle.setText("Oracle连接配置");

groupOracle.setLocation(newPoint(40,10));

groupOracle.setSize(newPoint(220,195));

groupOracle.setLayoutData(gridData);

cLabel=newCLabel(groupOracle,SWT.NONE);

cLabel.setText("主机:

");

cLabel.setLocation(newPoint(25,20));

cLabel.setSize(newPoint(42,18));

oHost=newText(groupOracle,SWT.BORDER);

oHost.setSize(newPoint(100,20));

oHost.setText("localhost");

oHost.setLocation(newPoint(85,20));

cLabel1=newCLabel(groupOracle,SWT.NONE);

cLabel1.setText("端口:

");

cLabel1.setLocation(newPoint(25,50));

cLabel1.setSize(newPoint(42,18));

oPort=newText(groupOracle,SWT.BORDER);

oPort.setText("1521");

oPort.setLocation(newPoint(85,50));

oPort.setSize(newPoint(70,20));

cLabel2=newCLabel(groupOracle,SWT.NONE);

cLabel2.setText("数据库:

");

cLabel2.setLocation(newPoint(25,80));

cLabel2.setSize(newPoint(54,18));

oDatabase=newText(groupOracle,SWT.BORDER);

oDatabase.setSize(newPoint(70,20));

oDatabase.setText("orcl");

oDatabase.setLocation(newPoint(85,80));

cLabel3=newCLabel(groupOracle,SWT.NONE);

cLabel3.setText("用户名:

");

cLabel3.setLocation(newPoint(25,140));

cLabel3.setSize(newPoint(54,18));

cLabel4=newCLabel(groupOracle,SWT.NONE);

cLabel4.setText("密码:

");

cLabel4.setLocation(newPoint(25,170));

cLabel4.setSize(newPoint(42,18));

oUserName=newText(groupOracle,SWT.BORDER);

oUserName.setSize(newPoint(70,20));

oUserName.setText("testuser");

oUserName.setLocation(newPoint(85,140));

oPassword=newText(groupOracle,SWT.BORDER);

oPassword.setSize(newPoint(70,20));

oPassword.setText("admin");

oPassword.setLocation(newPoint(85,170));

label1=newLabel(groupOracle,SWT.NONE);

label1.setText("表名:

");

label1.setLocation(newPoint(25,110));

label1.setSize(newPoint(50,20));

oTableName=newText(groupOracle,SWT.BORDER);

oTableName.setText("mf10");

oTableName.setLocation(newPoint(85,110));

oTableName.setSize(newPoint(70,20));

}

/**

*ThismethodinitializesgroupPgsql

*

*/

privatevoidcreateGroupPgsql(){

GridDatagridData1=newGridDat

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

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2