欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年2022年课程设计-报刊订阅管理系统 .pdf

    • 资源ID:39737776       资源大小:1.09MB        全文页数:25页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年2022年课程设计-报刊订阅管理系统 .pdf

    1 软件工程课程设计报告名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 25 页 -2 目录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 面向对象分析.53.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 主要代码分析.115.系统测试方案和测试报告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.参考文献名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 25 页 -3 1.开发环境和相关技术介绍1.1 开发环境系统结构:C/S结构数据库系统:Microsoft SQL Server 2000 sp3 宿主语言:JAVA 数据库连接方式:JDBC 连接方式开发工具:Eclipse 3.2 1.2 相关技术介绍Microsoft SQL Server 2000数据库管理系统是微软公司研制开发的关系型数据库管理系统。该系统支持并扩展了SQL语言标准,可以运用标准 SQL语句对数据进行操作,也可以使用功能强大的GUI工具进行灵活的数据管理。同时,系统还提供功能完善的API,可以在应用程序中调用这些API 来实现与数据库系统的连接以及相关数据的操作。sp3 是该系统的一个版本号,只有sp3 以上的 SQL 2000 系统才能够支持纯JDBC连接方式。Eclipse:功能强大的应用程序开发工具,主要支持基于 Java 语言的各种开发项目。灵活的Plun-in功能,可以根据具体需要安装各种插件。JDBC 连接方式:Java 与数据库系统的一种连接方式,Java 程序使用 JDBC API与数据库进行通信,并用它操作数据库中的数据。JDBC API使 Java 程序与具体数据库系统独立开来,保证了Java 程序高度的可移植性。2.需求分析2.1 系统需求和功能设计一个报刊订阅应用系统,使系统满足以下功能和需求:1)a 一个订户可订多种报刊;一种报刊可被多个用户订阅;订单只能订阅现有报刊目录内容;b 投递时,必须根据订单的情况进行投递,不得超出订单的订阅品种、数量;2)、系统功能包括:a 订户管理:订户添加、修改、删除;b 目录管理:目录添加、修改、删除;c 订单管理:完成订户订阅数据的管理(包括添加、修改、删除);d 订单查询:按订户或者订单号查询订单详细情况;e 统计查询:按报刊目录统计各类报刊的订阅数量及金额;f 表单生成:根据统计查询结果导出统计信息到文件(.xl 名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 25 页 -4 2.2 数据字典2.2.1 数据结构管理员用户=管理员帐户+管理员密码订户=订户编号+订户名+联系电话+联系地址目录=目录编号+目录名+单价+批注信息订单=订单号+订户编号+下订日期订单细节=订单号+目录编号+订阅数量+订阅期数+单价+总价(注:为保证订单确定后价格不随目录单价变动,订单细节中应该有独立的单价来记录下订时目录的单价)2.2.2 数据项表 2.1 数据项表编号标识符类型长度所属表名同义名1UName Varchar 20 Login 管理员帐户2UPassword Varchar 20 Login 管理员密码3Cid Varchar 10 Customer,Order 订户编号4Cname Varchar 20 Customer 订户名5Phone Varchar 15 Customer 联系电话6Address Varchar 50 Customer 联系地址7Did Varchar 10 Diretory,OrderDetail 目录编号8Dname Varchar 20 Diretory 目录名9UnitPrice Float 8 Diretory OrderDetail 目录单价,下订时目录单价10Ifo Varchar 50 Diretory 批注信息11Ono Varchar 10 Order,OrderDetail 订单编号12Odate Datetime 8 Order 下订日期13Quantity,Int 4 OrderDetail 订阅数量14QiShu,Int 4 OrderDetail 订阅期数15Total Float 8 OrderDetail 订单项总价名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 25 页 -5 2.2.3 数据流表 2.2 数据流表编号名称来源去向组成1 身份信息系统管理员应用系统管理员帐户+密码2 授权信息应用系统系统管理员3 错误身份信息应用系统系统管理员4 查询请求系统管理员应用系统待查询对象识别符(如 Cid,Ono)5 查询结果应用系统系统管理员被查询对象具体信息6 管理请求系统管理员应用系统识别符(Cid,Ono 等)+管理类型7 管理结果信息应用系统系统管理员被管理对象处理结果8 非法请求应用系统系统管理员非法请求提示信息2.3 安全性要求访问数据库时需要输入登陆帐号和密码。在数据库内设有管理员表,登陆系统时会要求输入管理员帐号和密码。登陆模块根据输入帐号和密码查管理员表,查到匹配记录则允许其登陆系统。管理员帐号和密码可以在系统中添加和修改。2.4 一致性要求在管理系统相关的表之间,有较强的关联性。为了实现一致性的需求,各个表之间均建立起了相应的一致性约束。2.5 完整性要求根据报刊订阅管理系统的要求,为保持数据的完整性,采用了数据库的事务机制,防止出现操作故障引起的数据不一致。3 面向对象分析3.1 面向对象分析设计报刊订阅系统,主要的目的是使得用户在订阅是能跟回家的方便快捷同时也使得报刊提供商能更加有效的管理企业的销售状况。同时面向对象分析使得人员关注理解系统需要建立的内容,从而产生一个准确的完整的一致的和可验证的系统模型。管理员表(Administrator):用于存放管理员的数据记录,包括数据项:管名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 25 页 -6 理员名、密码。部门表(Department):用来存放部门的相关记录,包括数据项:部门号,部门名。用户表(Consumer):用于存放注册用户的记录,包括数据项:用户账号、密码、真实姓名、身份证号、联系电话,联系地址,部门号(和部门表 有关)等。报刊信息表(magazine):用于存放报刊记录,包括数据项:报刊代号、报刊名称、出版报社、出版周期、季度报价、内容介绍、分类编号(和报刊类别表有关)等。订单表(subscribe):用于存放用户下达的订阅报刊的基本信息,包括数据项:订单编号用户编号(用户表的主码)、报刊代号(报刊信息表的主码)、订阅份数、订阅月数等。用例图:由上面的分析需能够确定系统用例图:类图:在根据已定义的对象类及其联系,以及对象类的多重性、角色、导航等性质,可以名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 25 页 -7 画出对象类图,使用对象图的目的是分析系统的瞬间状态,以便进一步了解系统的结构和行为。分析对象模型:也同时可以确定所有实体之间的E-R 图:处理管理员订单用户订制拥有订阅包含部门报刊报刊类别用户帐号真实姓名密码身份证号联系电话联系地址部门号部门号部门名称管理员名密码分类编号分类名称报刊代号报刊名称出版报社出版周期内容介绍季度订价分类编号订单编号用户账号报刊代号订阅份数订阅月数1 M1M1MMNM1图 3.1 报刊订阅管理系统E-R 图名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 25 页 -8 3.2 系统结构图报刊订阅管理系统登陆模块登陆验证修改管理员添加管理员订户管理增加订户修改订户删除订户目录管理增加目录修改目录删除目录订单管理增加订单删除订单修改订单查询功能目录查询订单查询统计查询报表导出管理功能用户查询结果导出到文件图 4.1 系统结构图4.数据库实施4.1 数据库创建4.1.1 各数据表说明表 4.1 数据表描述表编号数据表名称类型内容01 Login 辅助表记录管理员帐号,密码02 Customer 主表记录订户信息03 Diretory 主表记录目录信息04 Order 主表记录订单基本信息05 OrderDetail 主表记录详细订单项信息名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 25 页 -9 4.1.2 数据库创建在 Microsoft SQL Server 2000的企业管理器中完成数据库和数据表的创建CREATE TABLE dbo.Customer(Cid varchar(10)COLLATE Chinese_PRC_CI_AS NOT NULL,Cname 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 PRIMARY GO CREATE TABLE dbo.Login(UName varchar(20)COLLATE Chinese_PRC_CI_AS NOT NULL,UPassword varchar(20)COLLATE Chinese_PRC_CI_AS NOT NULL )ON PRIMARY GO CREATE TABLE dbo.Diretory(Did varchar(10)COLLATE Chinese_PRC_CI_AS NOT NULL,Dname varchar(20)COLLATE Chinese_PRC_CI_AS NULL,UnitPrice float NOT NULL,Ifo varchar(50)COLLATE Chinese_PRC_CI_AS NULL )ON PRIMARY GO CREATE 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 PRIMARY GO CREATE TABLE dbo.OrderDetail(Ono varchar(10)COLLATE Chinese_PRC_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 PRIMARY GO 名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 25 页 -10 4.2 数据库备份和恢复方案4.2.1 应用辅助工具进行备份和恢复应用数据库辅助工具(如 sqlbackuptools,)进行备份,选择所需要备份的数据库和目标地址即可进行数据备份,恢复数据库只需要指定备份文件和需要恢复的数据库即可进行数据恢复。4.2.2 分离数据库法在企业管理器中右击需要备份的数据库,选择“所有任务”,“分离数据库”,执行分析操作,拷贝数据库MDF 文件和 LDF文件。恢复方案:在企业管理器的控制台树中选择“数据库”节点,右击,“所有任务”,“附加数据库”,找到待恢复数据库的MDF 文件,确定。4.3 用户界面设计和应用程序编码4.3.1 用户界面设计本系统的用户界面用Java Swing 编写,主要由 1 个主界面 Newspaper.java和 10 个辅助对话框组成。主界面集合系统主要基本功能按键,辅助对话框负责采集用户输入信息和做基本的信息处理。用户界面名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 25 页 -11 4.3.2 类文件功能描述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 类文件描述表4.3.3 主要代码分析/-/所属类:Utilities/功能:取得应用程序与数据库系统的连接publicstaticvoid getConnection()throws Exception Class.forName(com.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.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);/创建语句conn2=DriverManager.getConnection(url,user,password);stmt2=conn2.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);/-/所属类:Utilities/功能:完成查询结果的表格显示publicstaticvoid displayResultSet(JTable table,ResultSet rs)throws SQLException 名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 25 页 -12 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();/用于存储记录行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 DefaultTableModel(rows,columnHeads);table.setModel(model);return;catch (SQLException sqlex)sqlex.printStackTrace();/-/所属类:Utilities/功能:被 displayResultSet(JTable table,ResultSet rs)调用,返回一个记录行privatestatic Vector getNextRow(ResultSet rs,ResultSetMetaData rsmd)throws SQLException Vector currentRow=new Vector();for (int i=1;i=rsmd.getColumnCount();+i)currentRow.addElement(rs.getString(i);return currentRow;/返回一条记录/-/所属类:Utilities/功能:创建空白EXCEL 文件,并将统计查询结果导出到该EXCEL 文件/说明:使用到org.apache 的POI包,表示感谢publicstaticboolean outPut(ResultSet rs,File file)if (rs=null)returnfalse;try HSSFWorkbook wb=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.createCell(short)(i-1).setCellValue(metadata.getColumnName(i);/按行填写记录名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 25 页 -13 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,一共需要支付订金:+sum+元nContinue?,We need your money,JOptionPane.YES_NO_CANCEL_OPTION);if (ans=JOptionPane.YES_OPTION)try 名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 25 页 -16 for (int i=0;i sqls.size();i+)/顺序取出 sql 语句,完成订单添加插入Utilities.stmt.executeUpdate(sqls.get(i);/执行插入更新语句 dispose();JOptionPane.showMessageDialog(dialog,订单添加成功!,Success!,JOptionPane.INFORMATION_MESSAGE);catch (SQLException exc)exc.printStackTrace();elseif (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);5.系统测试方案和测试报告5.1 测试方案由于系统规模较小,所以没有安排单独的白盒测试,而是相应地将这部分测试归并到系统编码过程中。整个测试过程基于自顶向下测试的组装模块的方法,先对主模块进行基本测试,然后在按深度优先策略逐一将子模块组装到主模块上进行测试,最后再对系统进行全面的整体测试。5.2 测试过程(白盒测试过程略(参考代码),以下是系统黑盒测试过程:)5.2.1 登陆测试双击可执行文件Newspaper.jar 打开应用系统,可见登陆界面:名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 25 页 -17 系统界面输入错误用户名和密码,用户无法登陆:登陆错误提示信息输入正确用户名和密码,用户正常登陆。(系统自带用户名和密码有(admin,admin),(santino,santino),(ddt,ddt),)5.2.2 目录管理功能测试添加目录:选择“添加目录”,填写目录信息,“确定”添加目录名师资料总结-精品资料欢迎下载-名师精心整理-第 17 页,共 25 页 -18 结果修改目录:“目录管理”,“修改目录”,输入待修改目录ID,锁定目录,修改目录,“更新”。修改目录名师资料总结-精品资料欢迎下载-名师精心整理-第 18 页,共 25 页 -19 结果删除目录:“目录管理”,“修改目录”,输入待修改目录ID,锁定目录,“删除”删除目录名师资料总结-精品资料欢迎下载-名师精心整理-第 19 页,共 25 页 -20 结果5.2.3 订户管理功能测试添加订户添加订户名师资料总结-精品资料欢迎下载-名师精心整理-第 20 页,共 25 页 -21 结果修改订户:删除订户:(参考“目录管理”,操作基本类似,略)5.2.4 订单管理功能测试添加订单:点击“添加订单”按钮,填入有效用户ID,检测用户,输入目录ID和订阅数量、期数,点击“添加订单项”为订单添加订单项,点击“提交订单”可以向系统提交订单。添加订单订单管理:“订单管理”,“订单查询”,输入用户 ID 名师资料总结-精品资料欢迎下载-名师精心整理-第 21 页,共 25 页 -22 查询订单查询结果选中订单项,“订单管理”,“打开订单”订单详细内容选择具体订单项可进行相应修改操作:名师资料总结-精品资料欢迎下载-名师精心整理-第 22 页,共 25 页 -23 订单项修改5.2.5 统计查询测试统计查询:“数据统计”统计查询导出查询数据选择“数据统计”“结果导出”选择路径“保存”名师资料总结-精品资料欢迎下载-名师精心整理-第 23 页,共 25 页 -24 图 26 结果导出结果演示6.完成情况和总结6.1 完成情况本系统完成了任务书中要求的所有内容,包括:a 订户管理:订户添加、修改、删除;b 目录管理:目录添加、修改、删除;c 订单管理:完成订户订阅数据的管理(包括添加、修改、删除);d 订单查询:按订户或者订单号查询订单详细情况;e 统计查询:按报刊目录统计各类报刊的订阅数量及金额;另外,系统还具有表单生成功能,能将统计查询结果导出到Excel 文件中实现持久保存。6.2 总结通过完成本次课程设计,我对数据库这门课程有了更加深刻的理解。在对系统数据库的分析、设计中,碰到很多概念上很模糊的问题,通过查阅相关资料,问题得到了解决,设计工作也顺利进行。另外,通过运用 JDBC数据库连接技术,我对 java 数据库编程技术也有了一定的了解和认识,希望通过以后的学习继续加深这方面知识的掌握。同时对基本的软件设计流程有了一定的了解。7.参考文献名师资料总结-精品资料欢迎下载-名师精心整理-第 24 页,共 25 页 -25 1 马皓.JAVA语言程序设计.北京:清华大学出版社,2006 2 孙家广.软件工程:高等教育出版社,2005 3 王国辉.JAVA 全能速查宝典:人民邮电出版社,2009 4 萨师煊等编.数据库系统概论:高等教育出版社,2006 名师资料总结-精品资料欢迎下载-名师精心整理-第 25 页,共 25 页 -

    注意事项

    本文(2022年2022年课程设计-报刊订阅管理系统 .pdf)为本站会员(C****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开