课程设计报刊订阅管理系统.docx

上传人:b****2 文档编号:750011 上传时间:2023-04-30 格式:DOCX 页数:26 大小:377.63KB
下载 相关 举报
课程设计报刊订阅管理系统.docx_第1页
第1页 / 共26页
课程设计报刊订阅管理系统.docx_第2页
第2页 / 共26页
课程设计报刊订阅管理系统.docx_第3页
第3页 / 共26页
课程设计报刊订阅管理系统.docx_第4页
第4页 / 共26页
课程设计报刊订阅管理系统.docx_第5页
第5页 / 共26页
课程设计报刊订阅管理系统.docx_第6页
第6页 / 共26页
课程设计报刊订阅管理系统.docx_第7页
第7页 / 共26页
课程设计报刊订阅管理系统.docx_第8页
第8页 / 共26页
课程设计报刊订阅管理系统.docx_第9页
第9页 / 共26页
课程设计报刊订阅管理系统.docx_第10页
第10页 / 共26页
课程设计报刊订阅管理系统.docx_第11页
第11页 / 共26页
课程设计报刊订阅管理系统.docx_第12页
第12页 / 共26页
课程设计报刊订阅管理系统.docx_第13页
第13页 / 共26页
课程设计报刊订阅管理系统.docx_第14页
第14页 / 共26页
课程设计报刊订阅管理系统.docx_第15页
第15页 / 共26页
课程设计报刊订阅管理系统.docx_第16页
第16页 / 共26页
课程设计报刊订阅管理系统.docx_第17页
第17页 / 共26页
课程设计报刊订阅管理系统.docx_第18页
第18页 / 共26页
课程设计报刊订阅管理系统.docx_第19页
第19页 / 共26页
课程设计报刊订阅管理系统.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

课程设计报刊订阅管理系统.docx

《课程设计报刊订阅管理系统.docx》由会员分享,可在线阅读,更多相关《课程设计报刊订阅管理系统.docx(26页珍藏版)》请在冰点文库上搜索。

课程设计报刊订阅管理系统.docx

课程设计报刊订阅管理系统

软件工程课程设计报告

 

 

3面向对象分析

7.参考文献

 

1.开发环境和相关技术介绍

开发环境

系统结构:

C/S结构

数据库系统:

MicrosoftSQLServer2000sp3

宿主语言:

JAVA

数据库连接方式:

JDBC连接方式

开发工具:

Eclipse

相关技术介绍

MicrosoftSQLServer2000数据库管理系统是微软公司研制开发的关系型数据库管理系统。

该系统支持并扩展了SQL语言标准,可以运用标准SQL语句对数据进行操作,也可以使用功能强大的GUI工具进行灵活的数据管理。

同时,系统还提供功能完善的API,可以在应用程序中调用这些API来实现与数据库系统的连接以及相关数据的操作。

sp3是该系统的一个版本号,只有sp3以上的SQL2000系统才能够支持纯JDBC连接方式。

Eclipse:

功能强大的应用程序开发工具,主要支持基于Java语言的各种开发项目。

灵活的Plun-in功能,可以根据具体需要安装各种插件。

JDBC连接方式:

Java与数据库系统的一种连接方式,Java程序使用JDBCAPI与数据库进行通信,并用它操作数据库中的数据。

JDBCAPI使Java程序与具体数据库系统独立开来,保证了Java程序高度的可移植性。

2.需求分析

系统需求和功能

设计一个报刊订阅应用系统,使系统满足以下功能和需求:

1)

a一个订户可订多种报刊;一种报刊可被多个用户订阅;订单只能订阅现有报刊目录内容;

b投递时,必须根据订单的情况进行投递,不得超出订单的订阅品种、数量;

2)、系统功能包括:

a订户管理:

订户添加、修改、删除;

b 目录管理:

目录添加、修改、删除;

c订单管理:

完成订户订阅数据的管理(包括添加、修改、删除);

d 订单查询:

按订户或者订单号查询订单详细情况;

e统计查询:

按报刊目录统计各类报刊的订阅数量及金额;

f表单生成:

根据统计查询结果导出统计信息到文件(.xl

数据字典

数据结构

管理员用户=管理员帐户+管理员密码

订户=订户编号+订户名+联系电话+联系地址

目录=目录编号+目录名+单价+批注信息

订单=订单号+订户编号+下订日期

订单细节=订单号+目录编号+订阅数量+订阅期数+单价+总价

(注:

为保证订单确定后价格不随目录单价变动,订单细节中应该有独立的单价来记录下订时目录的单价)

数据项

表数据项表

编号

标识符

类型

长度

所属表名

同义名

1

UName

Varchar

20

Login

管理员帐户

2

UPassword

Varchar

20

Login

管理员密码

3

Cid

Varchar

10

Customer,Order

订户编号

4

Cname

Varchar

20

Customer

订户名

5

Phone

Varchar

15

Customer

联系电话

6

Address

Varchar

50

Customer

联系地址

7

Did

Varchar

10

Diretory,OrderDetail

目录编号

8

Dname

Varchar

20

Diretory

目录名

9

UnitPrice

Float

8

Diretory

OrderDetail

目录单价,

下订时目录单价

10

Ifo

Varchar

50

Diretory

批注信息

11

Ono

Varchar

10

Order,OrderDetail

订单编号

12

Odate

Datetime

8

Order

下订日期

13

Quantity,

Int

4

OrderDetail

订阅数量

14

QiShu,

Int

4

OrderDetail

订阅期数

15

Total

Float

8

OrderDetail

订单项总价

数据流

表数据流表

编号

名称

来源

去向

组成

1

身份信息

系统管理员

应用系统

管理员帐户+密码

2

授权信息

应用系统

系统管理员

3

错误身份信息

应用系统

系统管理员

4

查询请求

系统管理员

应用系统

待查询对象识别符(如Cid,Ono)

5

查询结果

应用系统

系统管理员

被查询对象具体信息

6

管理请求

系统管理员

应用系统

识别符(Cid,Ono等)+管理类型

7

管理结果信息

应用系统

系统管理员

被管理对象处理结果

8

非法请求

应用系统

系统管理员

非法请求提示信息

安全性要求

访问数据库时需要输入登陆帐号和密码。

在数据库内设有管理员表,登陆系统时会要求输入管理员帐号和密码。

登陆模块根据输入帐号和密码查管理员表,查到匹配记录则允许其登陆系统。

管理员帐号和密码可以在系统中添加和修改。

一致性要求

在管理系统相关的表之间,有较强的关联性。

为了实现一致性的需求,各个表之间均建立起了相应的一致性约束。

完整性要求

根据报刊订阅管理系统的要求,为保持数据的完整性,采用了数据库的事务机制,防止出现操作故障引起的数据不一致。

3面向对象分析

面向对象分析

设计报刊订阅系统,主要的目的是使得用户在订阅是能跟回家的方便快捷同时也使得报刊提供商能更加有效的管理企业的销售状况。

同时面向对象分析使得人员关注理解系统需要建立的内容,从而产生一个准确的完整的一致的和可验证的系统模型。

管理员表(Administrator):

用于存放管理员的数据记录,包括数据项:

管理员名、密码。

部门表(Department):

用来存放部门的相关记录,包括数据项:

部门号,部门名。

用户表(Consumer):

用于存放注册用户的记录,包括数据项:

用户账号、密码、真实姓名、身份证号、联系电话,联系地址,部门号(和部门表有关)等。

报刊信息表(magazine):

用于存放报刊记录,包括数据项:

报刊代号、报刊名称、出版报社、出版周期、季度报价、内容介绍、分类编号(和报刊类别表有关)等。

订单表(subscribe):

用于存放用户下达的订阅报刊的基本信息,包括数据项:

订单编号用户编号(用户表的主码)、报刊代号(报刊信息表的主码)、订阅份数、订阅月数等。

用例图:

由上面的分析需能够确定系统用例图:

 

类图:

在根据已定义的对象类及其联系,以及对象类的多重性、角色、导航等性质,可以画出对象类图,使用对象图的目的是分析系统的瞬间状态,以便进一步了解系统的结构和行为。

分析对象模型:

也同时可以确定所有实体之间的E-R图:

图报刊订阅管理系统E-R图

 

系统结构图

图系统结构图

4.数据库实施

数据库创建

各数据表说明

表数据表描述表

编号

数据表名称

类型

内容

01

Login

辅助表

记录管理员帐号,密码

02

Customer

主表

记录订户信息

03

Diretory

主表

记录目录信息

04

Order

主表

记录订单基本信息

05

OrderDetail

主表

记录详细订单项信息

数据库创建

在MicrosoftSQLServer2000的企业管理器中完成数据库和数据表的创建

CREATETABLE[dbo].[Customer](

[Cid][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,

[Cname][varchar](20)COLLATEChinese_PRC_CI_ASNULL,

[Phone][varchar](15)COLLATEChinese_PRC_CI_ASNULL,

[Address][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL

)ON[PRIMARY]

GO

CREATETABLE[dbo].[Login](

[UName][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,

[UPassword][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL

)ON[PRIMARY]

GO

CREATETABLE[dbo].[Diretory](

[Did][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,

[Dname][varchar](20)COLLATEChinese_PRC_CI_ASNULL,

[UnitPrice][float]NOTNULL,

[Ifo][varchar](50)COLLATEChinese_PRC_CI_ASNULL

)ON[PRIMARY]

GO

CREATETABLE[dbo].[Order](

[Ono][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,

[Cid][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,

[Odate][datetime]NULL

)ON[PRIMARY]

GO

CREATETABLE[dbo].[OrderDetail](

[Ono][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,

[Did][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,

[Quantity][int]NOTNULL,

[QiShu][int]NOTNULL,

[UnitPrice][float]NOTNULL,

[Total][float]NULL

)ON[PRIMARY]

GO

数据库备份和恢复方案

应用辅助工具进行备份和恢复

应用数据库辅助工具(如sqlbackuptools…)进行备份,选择所需要备份的数据库和目标地址即可进行数据备份,恢复数据库只需要指定备份文件和需要恢复的数据库即可进行数据恢复。

分离数据库法

在企业管理器中右击需要备份的数据库,选择“所有任务”,“分离数据库”,执行分析操作,拷贝数据库MDF文件和LDF文件。

恢复方案:

在企业管理器的控制台树中选择“数据库”节点,右击,“所有任务”,“附加数据库”,找到待恢复数据库的MDF文件,确定。

用户界面设计和应用程序编码

用户界面设计

本系统的用户界面用JavaSwing编写,主要由1个主界面和10个辅助对话框组成。

主界面集合系统主要基本功能按键,辅助对话框负责采集用户输入信息和做基本的信息处理。

用户界面

类文件功能描述

NO.

类名

类型

功能

01

Newspaper

Frame

主窗口类,提供系统主要功能的调用接口

02

Utilities

辅助类

封装系统主要数据和方法,为其它类提供信息处理功能

03

AdminCreateDlg

Dialog

管理员创建对话框,提供管理员创建功能

04

AdminModifyDlg

Dialog

管理员信息修改对话框,修改管理员密码,删除管理员

05

UserCreateDlg

Dialog

订户新建对话框,采集订户信息,创建新订户

06

UserModifyDlg

Dialog

订户修改对话框,提供订户修改、删除操作

07

DirCreateDlg

Dialog

目录新建对话框,采集目录信息,创建新目录

08

DirModifyDlg

Dialog

目录修改对话框,提供目录修改、删除操作

09

BookingDlg

Dialog

添加订单对话框,提供新订单添加功能

10

OrderSearchDlg

Dialog

订单查找对话框,提供按Ono或Cid查找订单操作

11

OrderDetailDlg

Dialog

订单细节对话框,显示订单细节,提供订单和订单项删除操作,并能通过调用DetailModifyDlg对话框完成订单项修改。

12

DetailModify

Dialog

订单项修改对话框,提供订单项修改操作

13

LoginDlg

Dialog

管理员登陆对话框,提供登陆界面,检查登陆信息

表4类文件描述表

主要代码分析

ewInstance();etCellValue(

(i));

}

etCellValue(

(i)));

}

}

FileOutputStreamfileOut=newFileOutputStream(file);

(fileOut);OrderDetailONrim().length()!

=0

&&().trim().length()!

=0

&&().trim().length()!

=0){

Stringsql="INSERTINTOCustomer(Cid,Cname,Phone,Address)"

+"VALUES('"

+().trim()

+"','"

+().trim()

+"','"

+().trim()

+"','"

+().trim()+"')";

try{

执行数据行插入

(dialog,"用户:

"

+()+"添加成功\nID:

"

+(),"Success!

",

;

dispose();

}catch(SQLExceptionexc){

();

}

}else{

(dialog,"信息不全,无法添加",

"Checkyourinput!

",;

}

}

});

rim().length()!

=0

&&().trim().length()!

=0

&&().trim().length()!

=0){

try{

"Cname",textField_1

.getText().trim());

"Phone",textField_2

.getText().trim());

"Address",textField_3

.getText().trim());

更新数据行

(dialog,"更新成功!

",

"Success!

",;

dispose();

}catch(SQLExceptionexc){

}

}else{

(dialog,"信息不全,无法修改",

"Checkyourinput!

",;

}

}

});

howMessageDialog(dialog,"订单添加成功!

",

"Success!

",

;

}catch(SQLExceptionexc){

();

}

}elseif(ans=={

dispose();

}

}else{

(dialog,

"订单为空,不能提交,请选择需要订阅的期刊","Checkagain!

",

;

}

}

});

(false);

("提交订单");

(button_2);

5.系统测试方案和测试报告

测试方案

由于系统规模较小,所以没有安排单独的白盒测试,而是相应地将这部分测试归并到系统编码过程中。

整个测试过程基于自顶向下测试的组装模块的方法,先对主模块进行基本测试,然后在按深度优先策略逐一将子模块组装到主模块上进行测试,最后再对系统进行全面的整体测试。

测试过程

(白盒测试过程略(参考代码),以下是系统黑盒测试过程:

登陆测试

双击可执行文件打开应用系统,可见登陆界面:

系统界面

输入错误用户名和密码,用户无法登陆:

登陆错误提示信息

输入正确用户名和密码,用户正常登陆。

(系统自带用户名和密码有(admin,admin),(santino,santino),(ddt,ddt)…)

目录管理功能测试

添加目录:

选择“添加目录”,填写目录信息,“确定”

添加目录

结果

修改目录:

“目录管理”,“修改目录”,输入待修改目录ID,锁定目录,修改目录,“更新”。

修改目录

 

结果

 

删除目录:

“目录管理”,“修改目录”,输入待修改目录ID,锁定目录,“删除”

删除目录

 

结果

 

订户管理功能测试

添加订户

添加订户

结果

修改订户:

删除订户:

(参考“目录管理”,操作基本类似,略)

订单管理功能测试

添加订单:

点击“添加订单”按钮,填入有效用户ID,检测用户,输入目录ID和订阅数量、期数,点击“添加订单项”为订单添加订单项,点击“提交订单”可以向系统提交订单。

添加订单

订单管理:

“订单管理”,“订单查询”,输入用户ID

查询订单

查询结果

选中订单项,“订单管理”,“打开订单”

订单详细内容

选择具体订单项可进行相应修改操作:

订单项修改

统计查询测试

统计查询:

“数据统计”

统计查询

导出查询数据

选择“数据统计”“结果导出”选择路径“保存”

图26结果导出

结果演示

6.完成情况和总结

完成情况

本系统完成了任务书中要求的所有内容,包括:

a订户管理:

订户添加、修改、删除;b 目录管理:

目录添加、修改、删除;c订单管理:

完成订户订阅数据的管理(包括添加、修改、删除);d 订单查询:

按订户或者订单号查询订单详细情况;e统计查询:

按报刊目录统计各类报刊的订阅数量及金额;另外,系统还具有表单生成功能,能将统计查询结果导出到Excel文件中实现持久保存。

总结

通过完成本次课程设计,我对数据库这门课程有了更加深刻的理解。

在对系统数据库的分析、设计中,碰到很多概念上很模糊的问题,通过查阅相关资料,问题得到了解决,设计工作也顺利进行。

另外,通过运用JDBC数据库连接技术,我对java数据库编程技术也有了一定的了解和认识,希望通过以后的学习继续加深这方面知识的掌握。

同时对基本的软件设计流程有了一定的了解。

 

7.参考文献

 

[1]马皓.JAVA语言程序设计.北京:

清华大学出版社,2006

[2]孙家广.软件工程:

高等教育出版社,2005

[3]王国辉.JAVA全能速查宝典:

人民邮电出版社,2009

[4]萨师煊等编.数据库系统概论:

高等教育出版社,2006

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

当前位置:首页 > 工程科技 > 能源化工

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

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