网络数据库课程设计提交报告模板(面向对象).doc_第1页
网络数据库课程设计提交报告模板(面向对象).doc_第2页
网络数据库课程设计提交报告模板(面向对象).doc_第3页
网络数据库课程设计提交报告模板(面向对象).doc_第4页
网络数据库课程设计提交报告模板(面向对象).doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

通信与信息工程学院网络数据库课程设计班 级:物联网工程 姓 名:学 号:指导教师:设计时间:成 绩:评 语:通信与信息工程学院二一七年目 录1、系统描述12、 参与者分析13、用例模型13.1、用例图13.2、用例详述24、 概念模型设计45、 逻辑模型设计和优化46、物理设计和实施46.1、创建表(字段、主键、索引、外键)46.2、创建视图57、 JDBC访问数据库57.1、访问表107.2、访问视图118、课程设计心得体会121、系统描述银行ATM自动取款机系统的描述:当用户插入有效的银行卡时,可以对用户的银行卡种类做出判断(借记卡还是信用卡)。提示用户输入密码,如果用户连续密码输入错误次数达到3次,则吞卡,并给用户一个友好的提示信息。如果用户可以进入系统,则用户可以实现取款、查询、存款、转账等业务。待用户的每次交易结束时,系统提示是否打印详单。用户交易结束,系统提示退卡操作,让用户可以退出银行卡。如果用户忘记退出银行卡,则系统在交易结束后120秒以后,自动吞卡。用户交易过程中,每操作时间不能超过90秒,否则系统吞卡。操作时间,可以显示在界面上。所有交易中,用户存款,或者取款,转账等交易数据需要存储在数据库中。以方便用户未来的查询和系统的管理与维护。2、 参与者分析用户:取款、查询、存款、转账。银行卡:配对账户信息账户:提供账户信息(如:余额,操作记录等)ATM取款机:显示交易信息、账户信息3、用例模型3.1、用例图 图1-系统用例图3.2、用例详述表1-1用户取款用例详述表用例名称取款参与者用户简要说明用户从银行卡中取钱,银行卡余额减少前置条件银行卡插卡后验证成功,用户进入系统基本事件流1. 用户插卡,输入密码并进入系统2. 系统显示取款等操作界面3. 点击取款4. 输入金额并点击确定5. ATM完成取款(用例结束)扩展事件流1a.密码输入错误时点击“确定”提示:密码输入不正确4a.输入金额大于余额点击“确定”提示:您的余额不足表1-2用户存款用例详述表用例名称存款参与者用户简要说明用户往银行卡中存钱,银行卡余额增加前置条件银行卡插卡后验证成功,用户进入系统基本事件流1.用户插卡,输入密码并进入系统2.系统显示存款等操作界面3.点击存款4.将存款放入存鈔口待系统显示存款金额并点击确定5.ATM完成取款(用例结束)扩展事件流1a.密码输入错误时点击“确定”提示:密码输入不正确4a.若纸币有污损或者折叠时点击“确认”弹出纸币并提示:存款总额表1-3用户转账用例详述表用例名称转账参与者用户简要说明用户从自己银行卡转账到其他用户的银行卡中,用户的银行卡余额减少前置条件银行卡插卡后验证成功,用户进入系统基本事件流1.用户插卡,输入密码并进入系统2.系统显示转账等操作界面3.点击转账4.输入转账卡号和金额待系统显示转账信息并点击确“确认”5.ATM完成转账(用例结束)扩展事件流1a.密码输入错误时点击“确定”提示:密码输入不正确4a.若显示的转账信息不正确点击“返回”进行修改点击“确认”重新转账表1-4用户查询用例详述表用例名称查询参与者用户简要说明用户进入系统进行实时余额的查询前置条件银行卡插卡后验证成功,用户进入系统基本事件流1.用户插卡,输入密码并进入系统2.系统显示查询等操作界面3.点击查询4.系统显示账户实时余额5.ATM完成查询(用例结束)扩展事件流1a.密码输入错误时点击“确定”提示:密码输入不正确表1-5用户打印清单用例详述表用例名称打印清单参与者用户简要说明用户进行操作后,对账户资金往来进行打印查看前置条件银行卡插卡后验证成功,用户进入系统基本事件流1.用户插卡,输入密码并进入系统2.系统显示转账等操作界面3.点击并完成上述操作4.点击打印清单并点击确“确认”5.完成清单打印(用例结束)扩展事件流1a.密码输入错误时点击“确定”提示:密码输入不正确4a.当ATM纸张消耗完毕时点击“确认”提示:纸张不足,暂时无法打印4、 概念模型设计图2-ER图5、 逻辑模型设计和优化账户(账户ID,用户名,卡号,密码,余额)银行卡(卡号,类型,账户ID,密码,余额)操作日志(卡号,信息,操作类型,时间)存款(存款金额,时间,卡号)取款(取款金额,时间,卡号)转账(转账金额,时间,卡号)6、物理设计和实施6.1、创建表(字段、主键、索引、外键)/创建用户表CREATE TABLE USERS (CID char(11) NOT NULL ,PASSWORD char(6) NOT NULL ,UNAME varchar(255) NOT NULL ,SALARY decimal(12,2) NOT NULL DEFAULT 0 ,TYPE enum(credit,debit) NOT NULL DEFAULT debit ,PRIMARY KEY (CID);/创建日志表CREATE TABLE LOGS (TIME datetime NOT NULL ,TYPE enum(MONEYAC,CHECKAC,TRANSAC,LOGIN,LOGOUT,SWALLOW) NOT NULL ,MESSAGE varchar(255) NOT NULL ,CID char(11) NOT NULL ,FOREIGN KEY (CID) REFERENCES users (CID)6.2、创建视图Create view all_legal_cards(CID,PASSWORD,TYPE) as select CID,PASSWORD,TYPE from users;/创建合法银行卡视图create view all_accounts(CID,UNAME,SALARY) as select CID,UNAME,SALARY from users; /创建账户查询视图create view all_logs(TIME,USERNAME,CID,MESSAGE) as select TIME,UNAME,logs.CID,MESSAGE from users,logs where users.CID=logs.CID group by TIME; /创建日志视图7、 JDBC访问数据库package jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;import java.sql.ResultSet;import java.util.Scanner;public class MyJDBC private Connection con;private String sql;private PreparedStatement ps;private ResultSet rs;/* * database选择使用的数据库 * user选择用户 * passWord为密码 * param database */public MyJDBC(String database, String user, String passWord) super();String url = jdbc:mysql:/localhost:3306/+database;try Class.forName(com.mysql.jdbc.Driver);con = DriverManager.getConnection(url, user, passWord); catch (Exception e) e.printStackTrace();this.ps=null;this.sql=null;/* * database选择使用的数据库 * 以root用户登录 * param database */public MyJDBC(String database) super();String url = jdbc:mysql:/localhost:3306/+database;try Class.forName(com.mysql.jdbc.Driver);con = DriverManager.getConnection(url, root, Ampson1995); catch (Exception e) e.printStackTrace();this.ps=null;this.sql=null;/* * 获得查询结果 * return */public ResultSet getRs() return rs;/* * 用于传入SQL语句并在 * setSql()中完善查询条件项目 * 在update(),check()上载执行 * param sql */public void modifySQL(String sql)this.sql=sql;try this.ps=con.prepareStatement(sql); catch (SQLException e) e.printStackTrace();/* * 用于上载非查询SQL语句 * return */public int update()int num=0;try num=this.ps.executeUpdate(); catch (SQLException e) e.printStackTrace();return num;/* * 用于上载查询SQL语句 */public void check()try this.rs=this.ps.executeQuery(); catch (SQLException e) e.printStackTrace();/* * 直接打印查询结果 */public void showResult()boolean tag=true;try while(rs.next()tag=false;for(int i=1;i+)trySystem.out.print(rs.getObject(i)+ );catch(SQLException ex)System.out.println();break;catch (SQLException e) e.printStackTrace();if(tag)System.out.println(Empty);/* * 完善SQL语句 * param index * param o */public void setSQL(int index,Object o)try ps.setObject(index, o); catch (SQLException e) e.printStackTrace();/* * 查询一个表 * param table */public void visitALL(String table)Scanner scanner = new Scanner(table);String str = scanner.next();modifySQL(select * from +str);check();/* * 查询一个表结构 * param table */public void desc(String table)Scanner scanner = new Scanner(table);String str = scanner.next();modifySQL(desc +str);check();scanner.close();public void close()try if (rs = null & !rs.isClosed() rs.close(); catch (SQLException e) e.printStackTrace();try if (ps = null & !ps.isClosed() ps.close(); catch (SQLException e) e.printStackTrace();try if (con = null & !con.isClosed() con.close(); catch (SQLException e) e.printStackTrace();7.1、访问表public static void main(String args) MyJDBC db = new MyJDBC(atm);db.desc(users);ResultSet rs = db.getRs();try while(rs.next()System.out.print(rs.getObject(1)+); catch (SQLException e) e.printStackTrace();finallySystem.out.println();db.visitALL(users);db.showResult();7.2、访问视图public static void main(String args) MyJDBC db = new MyJDBC(atm);db.desc(all_logs);ResultSet rs = db.getRs();try while(rs.next()System.out.print(rs.getObject(1)+); catch (SQLException e) e.printStackTrace();finallySystem.out.println();db.visitALL(all_logs);db.showResult();8、课程设计心得体会通过为期近一周的课程设计,我们对数据库系统概论这门课程有了更深一步的认识。这门课与我们的专业的学习息息相关。我们也更加明白,要学好这门课程,仅

温馨提示

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

评论

0/150

提交评论