ATM自动取款机系统-软件设计说明书
时间:2025-04-03
时间:2025-04-03
文档名称: 项目名称:
软件设计说明书 ATM自动取款机系统
编写: 校对: 审核: 日期: 院系: 专业:
2013年10月31日
软件学院 软件工程
一.引言
1.1 编写目的
根据《需求规格说明书》,在仔细考虑讨论之后,我们又进一步对《ATM自动取款机系统》软件的功能划分、数据结构、软件总体结构进行设计,从而完成概要设计,作为软件详细设计的基础。
1.2 项目背景
项目委托单位:计算机学院软件工程系。 开发单位:班ATM自动取款机系统项目组。
由于柜台常常会拥挤,排队的人很多,而且大多数的客户都是取款,存款等,而有些办理业务的需要一定的时间,这会使得一些只需要取款等的客户会有较长时间的等待。所以银行希望设计一个系统,能让客户在系统上进行简单的操作,比如存款、取款、查询余额、转账等。
1.3 定义
ATM: Automatic Teller Machine,自动柜员机。
1.4 参考资料
《计算机软件需求说明编制指南》 《计算机软件产品开发文件指南》 《ATM系统可行性分析报告》。 《软件设计与体系结构》
《软件工程——实践者的研究方法》
二. 任务概述
2.1目标
现如今,ATM在一定程度上存在很大的安全隐患,给用户造成很大的经济损失。为了解决这样的问题,我们小组提出了改进ATM自动取款机系统,使用户在操作过程中更加安全,放心,更便捷。
2.2运行环境
操作系统:Windows xp SP3以上(不支持win8及win8.1) 数 据 库:Microsoft SQL Server 2005 硬件环境(建议): CPU:主频2.0GHZ以上 内存:1G以上
硬盘:剩余空间20G以上
2.3条件与限制
随着科技的发展,人们生活水平的不断提高,高性能高效率高安全的产品越来越受到人们的欢迎。 ATM自动取款机是一种非常智能的机器,人们可以直接和它交互,代替以前的手工操作,大大提高了银行的工作效率。同时也给广大用户带来了非常大的方便。由于ATM自动取款机是和服务器是连网的,这就涉及到安全的问题本系统能够有效地解决这个问题。但是本程序也使用户操作时间增加,在一定程度上增加了用户的抱怨率。
三.总体设计 3.1
处理流程
主流程图:
取款流程:
转账流程:
3.2
具体模块及代码实现
1. 用户服务模块(含:开户、登陆、退出)
开户:输入姓名、密码、再次密码、开户金额(不低于1块钱) 填写完没问题后分配账号。
(姓名、密码、开户金额、账号 存入结构体数组里面)
登陆:输入 账户、密码
判断账户是否存在,密码是否正确。 登陆后进入到个人服务界面。 退出:退出ATM 就是退出程序
2. 主菜单模块(含:存款、取款、转账、密码修改、查询余额) 存款:个人账户上的金额加上。 取款:个人账户上的金额减去。
转账:涉及到两个账户 其实就是下标的不同 金额一个减去一个加上。 密码修改:输入新密码、再次输入新密码 判断两次密码是否相同 在用strcpy()函数 将新密码 当前账户下标元素密码成员 并且判断是否修改成功。
查询余额:就是从结构体数组里面调用存金额那个成员
欢迎模块:
定义一个函数void huanying(),利用for循环进行字符的输出。
void huanying() //定义函数 {
int i;
for(i=0;i<10;i++) //for循环 {
printf("\n\n\n\n\n\n\n\n");
printf("\t\t\t --------------------------\n"); printf("\t\t\t 欢迎使用 \n");
printf("\t\t\t --------------------------\n");
printf("\n\n\t\t希望此ATM系统可以给您带来方便!"); printf("\n\n\n\n\t\t\t\t正在进入");
shaohou(); //等待系统响应 system("cls");
printf("\n\n\n\n\n\n\n\n"); } }
用户模块:
在此模块,从A,B,C中选择出执行的操作服务,然后进入下一个模块。利用while语句,定义的选择函数char xuanze,实现输出。 伪代码:
void main() //主函数 {
huanying(); system("cls"); while(1) {
char xuanze; //定义函数 system("cls");
printf("\n\n\t欢迎使用\n"); printf("\n\n\t请选择:\n"); printf("\n\n\tA.开户服务\n"); printf("\n\n\tB.登录服务\n"); printf("\n\n\tC.退出。\n"); printf("\n\n\t请选择:"); scanf("%c",&xuanze); switch(xuanze) {
case'a':
case'A':kaihu();break; case'b':
case'B':denglu();break; case'c':
case'C':exit(0);
default:printf("\n\t您的选择错误!");break; }
} }
开户服务: struct kaihu {
char name[10]; char mima[10]; double zong; int zhanghao; }guke[20];
int renshu=0; int xianzai;*/ #include <stdio.h> #include <string.h> #include <stdlib.h> #include <conio.h> struct {
int jin_e,zong; int zhanghao; char name[20]; char mima[20]; }guke[20]; int renshu=0; int xianzai; void shaohou() {
int i,j;
for(i=0;i<3;i++) {
printf(".");
for(j=0;j<40000000;j++) { ; } } }
void dedaomima(char mima[]) {
int i=0;
while(1) { char ch;
ch=getch(); if(ch=='\r') {
mima[i]='\0'; printf("\n"); …… 此处隐藏:4834字,全部文档内容请下载后查看。喜欢就下载吧 ……