8软件工程课程设计ATM机C# SQL 2005
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.2 其他需求分析
(1)性能描述
实时性好、灵活性强、易于不同年龄阶段的人操作。 (2)设计约束 开发工具:VS2010 SQL2005 运行环境:Windows 2000 以上 能实现用户所定义的各项需求。 (3)界面要求 以图形化窗口形式显示,不同的窗口中有不同的按钮和选择菜单,来完成相关的功 能。
} (2)窗体的主要结构的设计 我所设计的窗口的主要结构的特点就是每个窗口都对应着一个特定的功能。 比如说 报各种各样的错,还有各种查询余额、取款、选择服务等,所以它们都是由各种按钮和 文本框,标签组成的,而联系各个窗体成为一个整体的就是各个按钮的监听事件。所以 整个设计就趋向简单化了。 为了定义各个按钮所对应的命令和操作, 首先需要将各个按钮注册给实现了动作事 件的监听接口 ActionListener 的监听者,然后为监听者定义 actionPerformed(ActionEvent e)方法, 在这个方法中调用 e.getSource()或 e.getActionCommand()来判断用户点击的菜单 子项,并完成这个菜单子项定义的操作。
{ public DataConnection dc = new DataConnection(); public Login() { InitializeComponent(); } //--------------------------------------------------------public string pass//传当前登录用户给operate用于其他账户操作 {get{ return Account_tb.Text;} } public string user//传当前登录用户给operate用于密码修改 {get{return Psw_tb.Text;}} //--------------------------------------------------------public void Submit_btm_Click(object sender, EventArgs e) { //连接数据库-------------------------------------------string comtext = "select * from Login"; dc.ConnectionOpen(); dc.CommandeString(comtext); dc.DataSet(); dc.ConnetionClose(); //-------------------------------------------------------//MessageBox.Show(dc.ds.Tables[0].Rows[1][0].ToString()); //对于用户名和密码的判断 if (Account_tb.Text == "" || Psw_tb.Text == "" || Account_tb.Text == null || Psw_tb.Text == null) { MessageBox.Show("帐号或密码不能为空");return; } int temp = 0; for(int a=0;a<dc.ds.Tables[0].Rows.Count;a++) { { temp = 1; Operate op = new Operate(); //将账号和密码传值给操作界面 op.Account = Account_tb.Text; op.Psd = Psw_tb.Text; op.ShowDialog(); } { MessageBox.Show("您输入的帐号或者密码有误请重新输入!"); Psw_tb.Text = ""; return; } Account_tb.Text = ""; } if (temp == 0) if (Account_tb.Text == dc.ds.Tables[0].Rows[a][0].ToString() && Psw_tb.Text == dc.ds.Tables[0].Rows[a][1].ToString())
软件工程课程设计报告
题 目: 模拟 ATM 柜员机程序 叶飞 201017010223
计科 10102 班
学生姓名: 学 号:
专业班级:
同组姓名: 杨克斯 李伟 刘波
谭漠然
成绩评定
指导教师:
年
月
日
目
录
1 课程设计过程概述.........................................................................................1 2 课程设计题目描述和基本设计要求............................................................ 1 3 系统需求分析.................................................................................................1 3.1 功能需求分析································································· 1 3.2 其他需求分析································································· 1 4 系统设计......................................................................................................... 2 4.1 总体设计······································································· 2 4.2 ATM 柜员机界面设计······················································· 4 4.3 各功能模块设计······························································ 5 4.3.1 登录页面模块设计················································5 4.3.2 选择服务模块设计················································5 4.3.3 取款模块设计······················································8 4.3.4 修改密码模块设计················································9 4.3.5 退卡模块设计···················································· 11 4.4 异常处理情况说明··························································11 5 系统实现与测试...........................................................................................12 6 课程设计总结...............................................................................................16 6.1 遇到的问题及解决办法··················································· 16 6.2 心得体会······································································17 参考文献........................................................................................................... 17 附录...................................................................................错误!未定义书签。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Diagnostics; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Login { public partial class Login : Form
2 课程设计题目描述和基本设计要求
我们设计的 ATM 柜员机主要是由各个 Windows 窗口组成,它是由登录页面、选择 服务、取款、查询余额、修改密码和退卡等功能。它的各种按钮的事件和功能可以简单 的模拟 ATM 柜员机的要求。
3 系统需求分析 3.1 功能需求分析
本 ATM 柜员机的主要功能如下所述: 要求使用图形用户界面。当输入给定的卡号和密码(初始卡号为 88888888 和密码 为 123456)时,系统能登录 ATM 柜员机系统,用户可以按照以下规则进行: 查询余额:初始余额为 1000 元 ATM 取款:每次取款金额为 100 的倍数,总额不超过 3000 元,支取金额不允 许透支。 ATM 存款:不能出现负存款。 修改密码:只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可 以成功修改密码。
百度文库取 款
退 卡
图 1
功能结构图
登录界面 (卡号、密码等选项)
密码错误, 请从新 输入!
选择界面 (查询、取款、存款、 修改密码、退出)
查询
取款
存款
修改密码
交易完成
点击退出
谢谢使用,再见!
图2
业务流程图
4.2 ATM 柜员机界面设计
我觉得一个系统的界面应该要简单明了,当然样式美观就更好了。我设计的界面主 要是由各种图形化窗口组成,操作简单。而每一个窗口则执行相应的功能。 一个系统界面的好坏直接影响到用户的操作,界面设计要求样式美观、简单明了、 方便易操作。我设计的界面主要分为窗体、菜单、按钮和文本输入框几个部分,分别执 行相应的操作。 (1)窗体的设计 Frame 有自己的外边框和自己的标题, 窗体整个框架使用 Frame 类构造, 创建 Frame 时可以指定其窗口标题,我创建的窗口标题是各个不同功能的模块的名字,比如说查询 余额,还有取款等。相应源代码为:WindowBox(String s,Account act){super(“ATM 柜员 机”);} 、Selection(String s,Account act){ super(s); } 向 Frame 窗口中添加组件使用 add()。 例如:button1 = new Button("存款"); p1.add(button1); this.add(p1); 每个 Frame 在其右上角都有三个控制图标,分别代表将窗口最小化、窗口最大化和 关闭的操作,其中最小化和最大化操作 Frame 可自动完成,而关闭窗口操作实现需要书 写有关的代码, 在我的程序中我采用的是对 WINDOWS_CLOSING 事件做出响应, 调用 dispose()方法关闭窗口。Frame 也可以引发 WindowsEvent 类代表的窗口事件。相应源代 码为: addWindowListener(new WindowAdapter() //窗口侦听器,以从此窗口接收窗口事件 {public void windowClosing(WindowEvent e) //处理窗口关闭事件 { System.exit(0); } });
模拟 ATM 柜员机程序
1 课程设计过程概述
2013 年 6 月,我们软件工程课程设计在第三实验楼五楼机房进行, 持续时间为两周。 这次课程设计的主要目的是结合面向对象程序设计课程, 培养我们面向对象软件开发的 思维,初步了解软件开发的一般流程,提高编程的实际动手能力并增强大家对面向对象 的了解。这次课程设计的主要内容是独立用任意一种语言开发一个小的应用程序。我们 的任务是开发了一个 ATM 柜员机。
4.3
各功能模块设计
4.3.1 登陆页面模块设计
与 ATM 柜员机打交道比较多的,也是大家对安全比较关心的问题:密码。所以第 一个界面就是要输入密码和卡号才能继续服务。 我定义了文本框累的对象 AccountNo(帐号),PSW(密码) 。控件是用于输入单行的 文本;获取用户端接受的字符串与数据库数据进行匹配。用来判断输入的密码和卡号是 否正确,如果不正确的话,则弹出密码或卡号错误的警告框,并清空密码框。此模块相 应的部分源代码为:
4 系统设计
4.1 总体设计
我所设计的 ATM 柜员机主要是由登录页面模块还由选择服务模块组成,其中选择 服务模块又由取款模块、查询余额模块、修改密码模块、退卡模块组成。其功能结构图 和业务流程图如下所示:
ATM 取款机系统
登入模块
事物模块
退出模块
输 入 卡 号
输 入 密 码
查 询 余 额
存 款
修 改 密 码