【项目实训】ATM自助取款系统

news2024/11/26 5:51:22

文章目录

  • 1. 课程设计目的
  • 2. 课程设计任务与要求
  • 3. 课程设计说明书
    • 3.1 需求分析
      • 3.1.1 功能分析
      • 3.1.2 性能要求分析
    • 3.2 概要设计
      • 3.2.1 功能模块图
    • 3.3 详细设计
      • 3.3.1 实体类的设计
      • 3.3.2 实现数据库处理
    • 3.4 主要程序功能流程图
  • 4. 课程设计成果
    • 4.1 完整代码
    • 4.2 运行结果
      • 4.2.1 精简版
      • 4.2.2 豪华版

1. 课程设计目的

《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力。

2. 课程设计任务与要求

课程设计可选用NetBeans、Eclipse、JBuilder等作为开发平台以提高开发效率,尽可能熟练掌握其中一种集成开发环境。

通过这次设计,要求掌握以下内容:

  1. 面向对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用
  2. 类、包、接口的定义与使用
  3. 常用工具类与算法的实现(数组、向量、字符串、链表)
  4. Java常用标准GUI组件及其事件处理
  5. Java的异常处理机制
  6. Java的数据库连接技术
  7. Java的多线程技术
  8. Java的网络编程

3. 课程设计说明书

3.1 需求分析

3.1.1 功能分析

  1. ATM机个人用户的信息的显示和删除,个人用户信息主要包括:账号,密码,存款的多少。
  2. 存款信息的显示,更改,操作,存款的存储,提取,转账,金额。
  3. 个人用户密码的更改。满足用户的需求。
  4. 设置一个登陆界面,保护用户的个人账户的安全。

3.1.2 性能要求分析

  1. 系统易操作性:
    所开发的系统就做到操作简单,尽量使系统操作不受用户对电脑知识水平的限制。
  2. 系统具有可维护性:
    由于系统涉及的信息比较广,TXT中的数据需要定期修改,系统可利用的空间及性能也随之下降,为了使系统更好地运转。
  3. 系统具有开放性:
    该系统能够在开放的硬件系结构中运行,并且能与其他系统顺利连接,不会因外部系统的不同面要做在量的修改工作。

3.2 概要设计

3.2.1 功能模块图

图1

3.3 详细设计

3.3.1 实体类的设计

存款信息实体类:属性包括存款余额(deposit),取款数额(withdraw),转账数额(transfer accounts)。
账户信息实体类:属性包括账户密码(Password)

3.3.2 实现数据库处理

本程序采用txt文件对数据进行存储,在java实际中添加一个data类来进行对txt文件
中的东西进行操作。

3.4 主要程序功能流程图

  1. 查询存款信息,存储存款信息,取出存款信息,转出存款信息
    图2

  2. 修改账户信息
    图3

4. 课程设计成果

4.1 完整代码

精简版:ATM自助取款系统(精简版)

4.2 运行结果

4.2.1 精简版

① 初始化界面

初始化界面

② 功能界面

功能界面

③ 查询界面

查询

④ 取款

取款

⑤ 存款

存款

⑥ 转账

转账

⑦ 修改密码

修改密码

4.2.2 豪华版

① 初始化界面

初始化界面

② 登录入口

登录入口

③ 注册入口

注册入口

④ 主界面

主界面

⑤ 查询

查询

⑥ 存款

存款

⑦ 取款

取款

⑧ 转账

转账

⑨ 修改密码

修改密码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/529558.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

最常用的开源免费自动化测试工具整理汇总 ,总有一款适合你

目录 1、Selenium 2、JMeter 3、Appium 4、Soapui 5、Postman 6、Robot Framework 7、Monkey 8、GT 9、Appscan 10、Jenkins 1、Selenium 官网: WebUI自动化测试 Selenium是一个用于Web应用程序测试的工具,Selenium已经成为Web自动化测试工程…

SpringCloud源码探析(六)-消息队列RabbitMQ

1.概述 RabbitMQ是一个开源的消息代理和队列服务器,它是基于Erlang语言开发,并且是基于AMQP协议的。由于Erlang语言最初使用与交换机领域架构,因此使得RabbitMQ在Broker之间的数据交互具有良好的性能。AMQP(Advanced Message Queuing Protoc…

路径规划算法:基于多元宇宙算法的路径规划算法- 附代码

路径规划算法:基于多元宇宙优化的路径规划算法- 附代码 文章目录 路径规划算法:基于多元宇宙优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化…

【Unity Optimize】使用对象池(Object Pooling)优化项目

目录 1 对象池(Object Pooling)介绍2 实现对象池脚本3 使用对象池生成Cube4 效果展示5 Unity资源商店的对象池插件 1 对象池(Object Pooling)介绍 Unity中的对象池(Object Pooling)是一种用于提高游戏性能…

教程详解|如何在PICO眼镜中接入VR全景?

伴随着《万人狂欢泼水节》首场VR直播开启,PICO视频正式推出《跟着PICO去旅行》系列VR文旅直播节目,通过PICO眼镜结合VR技术向众多观众展现更多祖国的大好山河,通过PICO眼镜身临其境地感受云游世界的美妙。 经历了十余年的发展,VR…

esp32环境安装教程---arduino IDE

前言 (1)最近突然对esp32感兴趣了,源于逛油管的时候,总是看到很多大佬使用esp32cam进行网络图传,做摄像头。个人比较感兴趣,在环境安装过程遇到了很多坑,所以在此跟大家分享一下。 (…

了解ChatGPT的最便捷有效方式是跟对人

毕业后,工作原因,我自己的CSND就没有更新过。现在更新一篇有关chatGPT的快速入门指南。 一、什么是chatGPT 2022年12月底,你问我这个问题,我还真得好好跟你解释一下。目前这个阶段的火热程度,这里不再啰嗦了。基于GPT…

AI时代的赚钱思路:23岁女网红如何利用AI技术年入4亿?

一、AI技术为网红赚钱创造新途径 23岁美国网红Caryn Marjorie(卡琳玛乔丽)正同时交往1000多个男朋友。 作为一个在Snapchat上坐拥180万粉丝的美女,她利用人工智能(AI)技术,打造了一个AI版本的自己&#x…

鲲鹏昇腾开发者峰会开幕 星辰天合发布新一代天合翔宇一体机

近日,主题为“创未来 享非凡”的鲲鹏昇腾开发者峰会 2023 在东莞松山湖开幕,此次大会旨在帮助开发者深入了解鲲鹏、昇腾全栈技术,加速行业数智化的技术、产品和解决方案创新。 作为鲲鹏生态重要合作伙伴,XSKY星辰天合获邀参加此次…

【利用AI让知识体系化】入门Koa框架

思维导图 文章目录 思维导图一、介绍Koa什么是KoaKoa的历史Koa的特点 二、基本使用安装KoaHello World中间件路由错误处理 三、进阶使用静态资源管理Session管理文件上传表单处理HTTPS支持 四、Koa中间件中间件的概念Koa的洋葱模型常用中间件的介绍自定义中间件的编写 五、异步…

这个水平来面试也敢要20K?还是3年经验的测试工程师....

起因 老板觉得现在公司部门里都是男的,缺少一点阴柔之气,想平衡一下,正巧当时互联网公司倒了一大批,大批简历投到公司,老板以为自己也是技术出身,就想着要招了一个三年工作经验的女测试员,要价…

ANR实战案例1 - Google广告导致ANR解决

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 文章目录 系列文章目录前言一、AdLoader$Builder广告构建ANR二、AdView布局动态创建案例总结 前言 一、AdLoa…

Linux 安装JDK详解

安装步骤 1. 从官网下载安装包保存到 /home/download 下面 2.下载后解压到指定目录,例如:/usr/java/jdk11 3. 解压压缩包 [rootlocalhost linux-x86-64]# cd /usr/java/jdk11 [rootlocalhost jdk11]# [rootlocalhost jdk11]# [rootlocalhost jdk11]…

【换模型更简单】如何用 Serverless 一键部署 Stable Diffusion?

作者:寒斜 本篇章是阿里云函数计算部署 Stable Diffusion 系列的第三篇,如果说第一篇是尝试使用云服务来解决用户本地部署 Stable Diffusion 的问题(显卡成本,部署技术复杂),第二篇是面向技术同学解决云服…

Wijmo 2023 v1 Crack

改进了 FlexGrid,支持 React 18 严格模式和可访问性。 5月 15, 2023 - 10:51 新版本 特征 改进了对 React 18 的支持 - 添加了对 React 18 严格模式的支持,可帮助开发人员在开发过程中查找常见错误。辅助功能改进 - 以下是此版本中…

postman工具使用中,遇到的简单疑问

post请求和get请求有什么区别? GET请求和POST请求都是HTTP协议中的两种常见请求方式,主要区别如下: GET请求在请求URL的后面附带参数,而POST请求则将参数包含在请求体中。 GET请求的数据是以查询字符串的形式传递的,而…

JavaEE(系列4) -- 多线程(线程的状态)

目录 观察线程的所有状态 1. new状态 2. TERMINATED 状态 3. RUNNABLE 就绪状态,运行状态 4. TIMED_WAITNG 休眠状态 5. BLOCKED 表示等待锁出现的状态 6. WAITING 使用wait方法出现的状态 观察线程的所有状态 线程的状态是一个枚举类型 public class test2 {public static v…

【AI绘图 丨 Midjourney 系列教程二】— 初识超火的AI绘画神器Midjourney

今天起,由 Midjourney 打头阵,让我们开始共同探索一系列的 AI 领域革命性作品,包括 Midjourney、Stable Diffusion、ChatGPT 等等,学习这些新时代的魔法和它的咒语。 写在前面 官方文档是最好的入门课程。相较于市面上琳琅满目的…

git入门(必看)

git入门 git简介 文章目录 git入门git简介版本控制系统发展可以分为三个阶段: Git 的诞生Git 诞生的背景Linus 两周完成 GitGit 的发展壮大 git安装在 Windows 上安装在 macOS 上安装在 Linux 上安装 Git环境配置配置用户名和邮件地址检查配置Git 颜色配置Git忽略文…

STC15单片机+nRF24L01通讯利用PCA输入捕获触发

STC15单片机+nRF24L01通讯利用PCA输入捕获触发 📍相关篇《STC单片机 NRF24L01通讯实验》📌《STC单片机 NRF24L01通讯带状态反馈》🔖验证对象:STC15L2K60S2📍STC15L2K60S2自制系统板硬件开源地址:https://oshwhub.com/perseverance51/stc15l2k60s2-ji-tong-ban⏱时钟频…