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

上传人:无*** 文档编号:87355949 上传时间:2022-05-09 格式:DOC 页数:24 大小:584.50KB
收藏 版权申诉 举报 下载
课程设计汇本报刊订阅管理系统_第1页
第1页 / 共24页
课程设计汇本报刊订阅管理系统_第2页
第2页 / 共24页
课程设计汇本报刊订阅管理系统_第3页
第3页 / 共24页
资源描述:

《课程设计汇本报刊订阅管理系统》由会员分享,可在线阅读,更多相关《课程设计汇本报刊订阅管理系统(24页珍藏版)》请在装配图网上搜索。

1、 软件工程课程设计报告目 录1.开发环境和相关技术介绍1.1开发环境31.2相关技术介绍32.需求分析2.1系统需求和功能32.2数据字典42.2.1数据构造42.2.2数据项42.2.3数据流52.3平安性要求52.4一致性要求52.5完整性要求53面向对象分析 3.1面向对象分析5 3.2系统的构造图 84.数据库实施4.1数据库创立84.1.1各数据表说明84.1.2数据库创立94.2数据库备份和恢复方案104.2.1应用辅助工具进展备份和恢复104.2.2别离数据库法104.3用户界面设计和应用程序编码104.3.1用户界面设计104.3.2类文件功能描述114.3.3主要代码分析11

2、5.系统测试方案和测试报告5.1测试方案165.2测试过程165.2.1登陆测试165.2.2目录管理功能测试175.2.3订户管理功能测试205.2.4订单管理功能测试215.2.5统计查询测试236.完成情况和总结6.1完成情况246.2总结247.参考文献1.开发环境和相关技术介绍1.1开发环境系统构造:C/S构造数据库系统:Microsoft SQL Server 2000 sp3宿主语言:JAVA数据库连接方式:JDBC连接方式开发工具:Eclipse 3.21.2相关技术介绍Microsoft SQL Server 2000数据库管理系统是微软公司研制开发的关系型数据库管理系统。该

3、系统支持并扩展了SQL语言标准,可以运用标准SQL语句对数据进展操作,也可以使用功能强大的GUI工具进展灵活的数据管理。同时,系统还提供功能完善的API,可以在应用程序中调用这些API来实现与数据库系统的连接以及相关数据的操作。sp3是该系统的一个版本号,只有sp3以上的SQL 2000系统才能够支持纯JDBC连接方式。Eclipse:功能强大的应用程序开发工具,主要支持基于Java语言的各种开发工程。灵活的Plun-in功能,可以根据具体需要安装各种插件。JDBC连接方式:Java与数据库系统的一种连接方式,Java程序使用JDBC API与数据库进展通信,并用它操作数据库中的数据。JDBC

4、 API使Java程序与具体数据库系统独立开来,保证了Java程序高度的可移植性。2.需求分析2.1系统需求和功能设计一个报刊订阅应用系统,使系统满足以下功能和需求:1a一个订户可订多种报刊;一种报刊可被多个用户订阅;订单只能订阅现有报刊目录容;b投递时,必须根据订单的情况进展投递,不得超出订单的订阅品种、数量;2、系统功能包括:a订户管理:订户添加、修改、删除;b目录管理:目录添加、修改、删除;c订单管理:完成订户订阅数据的管理包括添加、修改、删除;d订单查询:按订户或者订单号查询订单详细情况;e统计查询:按报刊目录统计各类报刊的订阅数量及金额;f表单生成:根据统计查询结果导出统计信息到文件

5、.xl2.2数据字典2.2.1数据构造管理员用户=管理员+管理员密码订户=订户编号+订户名+联系+ 目录=目录编号+目录名+单价+批注信息订单=订单号+订户编号+下订日期订单细节=订单号+目录编号+订阅数量+订阅期数+单价+总价注:为保证订单确定后价格不随目录单价变动,订单细节中应该有独立的单价来记录下订时目录的单价2.2.2数据项表2.1 数据项表编号标识符类型长度所属表名同义名1UNameVarchar20Login管理员2UPasswordVarchar20Login管理员密码3CidVarchar10Customer,Order订户编号4ameVarchar20Customer订户名5

6、PhoneVarchar15Customer联系6AddressVarchar50Customer 7DidVarchar10Diretory,OrderDetail目录编号8DnameVarchar20Diretory目录名9UnitPriceFloat8DiretoryOrderDetail目录单价,下订时目录单价10IfoVarchar50Diretory批注信息11OnoVarchar10Order,OrderDetail订单编号12OdateDatetime8Order下订日期13Quantity, Int4OrderDetail订阅数量14QiShu,Int4OrderDetail

7、订阅期数15TotalFloat8OrderDetail订单项总价2.2.3数据流表2.2 数据流表编号名称来源去向组成1身份信息系统管理员应用系统管理员+密码2授权信息应用系统系统管理员3错误身份信息应用系统系统管理员4查询请求系统管理员应用系统待查询对象识别符如Cid,Ono5查询结果应用系统系统管理员被查询对象具体信息6管理请求系统管理员应用系统识别符Cid,Ono等+管理类型7管理结果信息应用系统系统管理员被管理对象处理结果8非法请求应用系统系统管理员非法请求提示信息 2.3平安性要求访问数据库时需要输入登陆和密码。在数据库设有管理员表,登陆系统时会要求输入管理员和密码。登陆模块根据输

8、入和密码查管理员表,查到匹配记录那么允许其登陆系统。管理员和密码可以在系统中添加和修改。2.4一致性要求在管理系统相关的表之间,有较强的关联性。为了实现一致性的需求,各个表之间均建立起了相应的一致性约束。2.5完整性要求根据报刊订阅管理系统的要求,为保持数据的完整性,采用了数据库的事务机制,防止出现操作故障引起的数据不一致。3面向对象分析3.1 面向对象分析 设计报刊订阅系统,主要的目的是使得用户在订阅是能跟回家的方便快捷同时也使得报刊提供商能更加有效的管理企业的销售状况。同时面向对象分析使得人员关注理解系统需要建立的容,从而产生一个准确的完整的一致的和可验证的系统模型。l 管理员表Admin

9、istrator:用于存放管理员的数据记录,包括数据项:管理员名、密码。l 部门表Department:用来存放部门的相关记录,包括数据项:部门号,部门名。l 用户表Consumer:用于存放注册用户的记录,包括数据项:用户账号、密码、真实、号、联系, ,部门号和部门表有关等。l 报刊信息表magazine:用于存放报刊记录,包括数据项:报刊代号、报刊名称、出版报社、出版周期、季度报价、容介绍、分类编号和报刊类别表有关等。订单表subscribe:用于存放用户下达的订阅报刊的根本信息,包括数据项:订单编号用户编号用户表的主码、报刊代号报刊信息表的主码、订阅份数、订阅月数等。用例图:由上面的分析

10、需能够确定系统用例图:类图:在根据已定义的对象类及其联系,以及对象类的多重性、角色、导航等性质,可以画出对象类图 ,使用对象图的目的是分析系统的瞬间状态,以便进一步了解系统的构造和行为。分析对象模型:也同时可以确定所有实体之间的E-R图:图3.1 报刊订阅管理系统E-R图3.2系统构造图图4.1 系统构造图4.数据库实施4.1数据库创立4.1.1各数据表说明表4.1 数据表描述表编号数据表名称类型容01Login辅助表记录管理员,密码02Customer主表记录订户信息03Diretory主表记录目录信息04Order主表记录订单根本信息05OrderDetail主表记录详细订单项信息4.1.

11、2数据库创立在Microsoft SQL Server 2000的企业管理器中完成数据库和数据表的创立CREATE TABLE dbo.Customer (Cid varchar (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,ame varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,Phone varchar (15) COLLATE Chinese_PRC_CI_AS NULL ,Address varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ) ON PRIMARYG

12、OCREATE TABLE dbo.Login (UName varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,UPassword varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL ) ON PRIMARYGOCREATE TABLE dbo.Diretory (Did varchar (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,Dname varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,UnitPrice float N

13、OT NULL ,Ifo varchar (50) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARYGOCREATE TABLE dbo.Order (Ono varchar (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,Cid varchar (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,Odate datetime NULL ) ON PRIMARYGOCREATE TABLE dbo.OrderDetail (Ono varchar (10) COLLATE Chinese_PR

14、C_CI_AS NOT NULL ,Did varchar (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,Quantity int NOT NULL ,QiShu int NOT NULL ,UnitPrice float NOT NULL ,Total float NULL ) ON PRIMARYGO4.2数据库备份和恢复方案4.2.1应用辅助工具进展备份和恢复应用数据库辅助工具如sqlbackuptools进展备份,选择所需要备份的数据库和目标地址即可进展数据备份,恢复数据库只需要指定备份文件和需要恢复的数据库即可进展数据恢复。4.2.2别离数据库法在

15、企业管理器中右击需要备份的数据库,选择“所有任务,“别离数据库,执行分析操作,拷贝数据库MDF文件和LDF文件。恢复方案:在企业管理器的控制台树中选择“数据库节点,右击,“所有任务,“附加数据库,找到待恢复数据库的MDF文件,确定。4.3用户界面设计和应用程序编码4.3.1用户界面设计本系统的用户界面用Java Swing编写,主要由1个主界面Newspaper.java和10个辅助对话框组成。主界面集合系统主要根本功能按键,辅助对话框负责采集用户输入信息和做根本的信息处理。 用户界面4.3.2类文件功能描述NO.类名类型功能01NewspaperFrame主窗口类,提供系统主要功能的调用接口

16、02Utilities辅助类封装系统主要数据和方法,为其它类提供信息处理功能03AdminCreateDlgDialog管理员创立对话框,提供管理员创立功能04AdminModifyDlgDialog管理员信息修改对话框,修改管理员密码,删除管理员05UserCreateDlgDialog订户新建对话框,采集订户信息,创立新订户06UserModifyDlgDialog订户修改对话框,提供订户修改、删除操作07DirCreateDlgDialog目录新建对话框,采集目录信息,创立新目录08DirModifyDlgDialog目录修改对话框,提供目录修改、删除操作09BookingDlgDial

17、og添加订单对话框,提供新订单添加功能10OrderSearchDlgDialog订单查找对话框,提供按Ono或Cid查找订单操作11OrderDetailDlgDialog订单细节对话框,显示订单细节,提供订单和订单项删除操作,并能通过调用DetailModifyDlg对话框完成订单项修改。12DetailModifyDialog订单项修改对话框,提供订单项修改操作13LoginDlgDialog管理员登陆对话框,提供登陆界面,检查登陆信息表4 类文件描述表4.3.3主要代码分析/-/所属类:Utilities/功能:取得应用程序与数据库系统的连接public static void get

18、Connection() throws Exception Class.forName(.microsoft.jdbc.sqlserver.SQLServerDriver).newInstance();/加载驱动程序String url = jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=Newspaper;String user = sa;String password = ;conn = DriverManager.getConnection(url, user, password);/取得连接stmt = conn.create

19、Statement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);/创立语句conn2 = DriverManager.getConnection(url, user, password);stmt2 = conn2.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);/-/所属类:Utilities/功能:完成查询结果的表格显示public static void displayResultSet(JTable tabl

20、e, ResultSet rs)throws SQLException rs.beforeFirst();/ 指针移到结果集第一条记录前面boolean moreRecords = rs.next();if (!moreRecords) / 如果没有记录,那么提示一条消息JOptionPane.showMessageDialog(table, 无相关记录, Check your input!,JOptionPane.ERROR_MESSAGE);return;Vector columnHeads = new Vector();/ 用于存储表格字段Vector rows = new Vector

21、();/ 用于存储记录行try / 获取字段的名称ResultSetMetaData rsmd = rs.getMetaData();for (int i = 1; i = rsmd.getColumnCount(); +i)columnHeads.addElement(rsmd.getColumnName(i);do / 获取记录集rows.addElement(getNextRow(rs, rsmd); while (rs.next();/ 建立相应的TableModel,并将TableModel应用到table中显示出来DefaultTableModel model = new Defa

22、ultTableModel(rows, columnHeads);table.setModel(model);return; catch (SQLException sqlex) sqlex.printStackTrace();/-/所属类:Utilities/功能:被displayResultSet(JTable table, ResultSet rs)调用, 返回一个记录行private static Vector getNextRow(ResultSet rs, ResultSetMetaData rsmd)throws SQLException Vector currentRow =

23、new Vector();for (int i = 1; i = rsmd.getColumnCount(); +i)currentRow.addElement(rs.getString(i);return currentRow; / 返回一条记录/-/所属类:Utilities/功能:创立空白EXCEL文件,并将统计查询结果导出到该EXCEL文件/说明:使用到org.apache的POI包,表示感public static boolean outPut(ResultSet rs, File file) if (rs = null)return false;try HSSFWorkbook w

24、b = new HSSFWorkbook();HSSFSheet sheet = wb.createSheet(first sheet);sheet.setDefaultColumnWidth(short) 20);ResultSetMetaData metadata = rs.getMetaData();int columnCount = metadata.getColumnCount();/ 获取属性列数HSSFRow row = sheet.createRow(short) 0);for (int i = 1; i = columnCount; i+) / 填写表格列名row.creat

25、eCell(short) (i - 1).setCellValue(metadata.getColumnName(i);/ 按行填写记录rs.beforeFirst();short counter = 1;while (rs.next() row = sheet.createRow(counter+);for (int i = 1; i 1) / 容器第一个空间放插入Order的sql语句,其它空间放插入OrderDetail的sql语句 / sqls.size()=1表示只有一空订单,不予插入int ans = JOptionPane.showConfirmDialog(dialog, 一共

26、需要支付订金:+ sum + 元nContinue?, We need your money,JOptionPane.YES_NO_CANCEL_OPTION);if (ans = JOptionPane.YES_OPTION) try for (int i = 0; i sqls.size(); i+) / 顺序取出sql语句,完成订单添加插入Utilities.stmt.executeUpdate(sqls.get(i);/ 执行插入更新语句dispose();JOptionPane.showMessageDialog(dialog, 订单添加成功!,Success!,JOptionPan

27、e.INFORMATION_MESSAGE); catch (SQLException exc) exc.printStackTrace(); else if (ans = JOptionPane.NO_OPTION) dispose(); else JOptionPane.showMessageDialog(dialog,订单为空,不能提交,请选择需要订阅的期刊, Check again !,JOptionPane.ERROR_MESSAGE););button_2.setEnabled(false);button_2.setText(提交订单);panel_1.add(button_2);

28、5.系统测试方案和测试报告5.1测试方案由于系统规模较小,所以没有安排单独的白盒测试,而是相应地将这局部测试归并到系统编码过程中。整个测试过程基于自顶向下测试的组装模块的方法,先对主模块进展根本测试,然后在按深度优先策略逐一将子模块组装到主模块上进展测试,最后再对系统进展全面的整体测试。5.2测试过程白盒测试过程略参考代码,以下是系统黑盒测试过程:5.2.1登陆测试双击可执行文件Newspaper.jar翻开应用系统,可见登陆界面: 系统界面输入错误用户名和密码,用户无法登陆: 登陆错误提示信息输入正确用户名和密码,用户正常登陆。系统自带用户名和密码有admin,admin,(santino,

29、santino),(ddt,ddt)5.2.2目录管理功能测试添加目录:选择“添加目录,填写目录信息,“确定 添加目录 结果修改目录:“目录管理,“修改目录,输入待修改目录ID,锁定目录,修改目录,“更新。 修改目录 结果删除目录:“目录管理,“修改目录,输入待修改目录ID,锁定目录,“删除 删除目录 结果5.2.3订户管理功能测试添加订户 添加订户 结果修改订户:删除订户:参考“目录管理,操作根本类似,略5.2.4订单管理功能测试添加订单:点击“添加订单按钮,填入有效用户ID,检测用户,输入目录ID和订阅数量、期数,点击“添加订单项为订单添加订单项,点击“提交订单可以向系统提交订单。 添加订

30、单订单管理:“订单管理,“订单查询,输入用户ID查询订单 查询结果选中订单项,“订单管理,“翻开订单 订单详细容选择具体订单项可进展相应修改操作: 订单项修改5.2.5统计查询测试统计查询:“数据统计 统计查询导出查询数据选择“数据统计“结果导出选择路径“保存图26 结果导出 结果演示6.完成情况和总结6.1完成情况本系统完成了任务书中要求的所有容,包括:a订户管理:订户添加、修改、删除;b目录管理:目录添加、修改、删除;c订单管理:完成订户订阅数据的管理包括添加、修改、删除;d订单查询:按订户或者订单号查询订单详细情况;e统计查询:按报刊目录统计各类报刊的订阅数量及金额;另外,系统还具有表单

31、生成功能,能将统计查询结果导出到Excel文件中实现持久保存。6.2总结通过完本钱次课程设计,我对数据库这门课程有了更加深刻的理解。在对系统数据库的分析、设计中,碰到很多概念上很模糊的问题,通过查阅相关资料,问题得到了解决,设计工作也顺利进展。另外,通过运用JDBC数据库连接技术,我对java数据库编程技术也有了一定的了解和认识,希望通过以后的学习继续加深这方面知识的掌握。同时对根本的软件设计流程有了一定的了解。 7.参考文献1 马皓.JAVA语言程序设计.:清华大学,2006 2 家广.软件工程:高等教育,2005 3 王国辉.JAVA 全能速查宝典:人民邮电,2009 4 萨师煊等编.数据库系统概论:高等教育,200624 / 24

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!