第一篇:飯卡管理系統(tǒng)問(wèn)題定義報(bào)告
飯卡管理系統(tǒng)問(wèn)題定義
問(wèn)題分析:飯卡管理系統(tǒng)是針對(duì)大學(xué)校園食堂飲食消費(fèi),一般消費(fèi)等方面的的信息管理系統(tǒng),它包括了同學(xué)在校消費(fèi)的的各方面內(nèi)容:刷卡消費(fèi),查詢,存款,學(xué)生信息管理等方面。方便的對(duì)同學(xué)飯卡信息的各項(xiàng)操作,定勢(shì)進(jìn)行數(shù)據(jù)的備份更新,保持?jǐn)?shù)據(jù)的一致性和準(zhǔn)確性,各方面的內(nèi)容應(yīng)相互關(guān)聯(lián)和聯(lián)系,最終產(chǎn)生各種查詢統(tǒng)計(jì)報(bào)表,以供學(xué)生們檢查。
飯卡管理系統(tǒng)的主要任務(wù)是把人們從繁瑣的交費(fèi),找零工作中解放出來(lái),用計(jì)算機(jī)實(shí)現(xiàn)對(duì)銷售合同資料進(jìn)行存款,消費(fèi),查詢,修改,刪除以及儲(chǔ)存等功能。同時(shí),計(jì)算機(jī)能夠快速準(zhǔn)確的完成檔案資料統(tǒng)計(jì)工作和匯總工作。
進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)的首要任務(wù)是考慮信息要求,也就是數(shù)據(jù)庫(kù)存入什么樣的數(shù)據(jù)。當(dāng)然,創(chuàng)建數(shù)據(jù)庫(kù)并非僅僅為了存儲(chǔ)數(shù)據(jù),更主要目的是從中提取有用信息。所以除了考慮數(shù)據(jù)庫(kù)存儲(chǔ)身數(shù)據(jù)外,還應(yīng)考慮數(shù)據(jù)的存儲(chǔ)方式,目的,用途,及性能要求。
背景:用戶通過(guò)系統(tǒng)首頁(yè)面,創(chuàng)建飯卡,存入錢。消費(fèi)時(shí)根據(jù)飯卡ID判斷該用戶是否是合法用戶,同時(shí)進(jìn)行消費(fèi)操作。管理員可以對(duì)系統(tǒng)進(jìn)行新建飯卡,存入錢,注銷飯卡,修改飯卡信息等操作,而學(xué)生進(jìn)行消費(fèi)操作。
項(xiàng)目目標(biāo):建立飯卡管理系統(tǒng),使管理員和用戶和客戶都能夠方便的進(jìn)行銷售合同的查詢。
項(xiàng)目范圍:硬件和軟件利用現(xiàn)有的微機(jī)和數(shù)據(jù)庫(kù)等軟件進(jìn)行系統(tǒng)的開(kāi)發(fā)和研制。
系統(tǒng)設(shè)計(jì)思想:該系統(tǒng)具有數(shù)據(jù)處理(飯卡信息的增刪),信息修改,查詢,備份等。
第二篇:學(xué)生成績(jī)管理系統(tǒng)、食堂飯卡系統(tǒng)
一、實(shí)驗(yàn)?zāi)康?/p>
1.進(jìn)一步熟悉數(shù)據(jù)類型、運(yùn)算符、表達(dá)式、程序控制結(jié)構(gòu)。2.掌握數(shù)組和動(dòng)態(tài)鏈表的熟練使用.3.掌握指針的使用。4.掌握結(jié)構(gòu)體的使用。5.學(xué)會(huì)使用函數(shù)。
6.以上知識(shí)的綜合練習(xí)完成學(xué)生成績(jī)管理系統(tǒng)、食堂飯卡終端系統(tǒng)代碼的編寫(xiě)。7.要求實(shí)驗(yàn)前打印有代碼的實(shí)驗(yàn)報(bào)告,實(shí)驗(yàn)課結(jié)束后交有手寫(xiě)修改筆記的實(shí)驗(yàn)報(bào)告。
二、實(shí)驗(yàn)環(huán)境:(硬件環(huán)境、軟件環(huán)境)
1.windows 7操作系統(tǒng)
2.VC++編譯器
三、實(shí)驗(yàn)過(guò)程:(內(nèi)容、操作步驟、結(jié)果等)
內(nèi)容一:學(xué)生成績(jī)管理系統(tǒng)
需求:
建立一個(gè)學(xué)生成績(jī)管理系統(tǒng),實(shí)現(xiàn)對(duì)學(xué)生成績(jī)的查詢管理等操作.1.該系統(tǒng)可以使用管理員身份登錄或者普通用戶登錄。2.只有管理員具有錄入學(xué)生信息的權(quán)利。
3.管理員登錄后有”顯示全部學(xué)生信息”、”查詢信息(通過(guò)名字或者學(xué)號(hào)查詢)”、”排序成績(jī)(可按 各科成績(jī)或者平均成績(jī)排序)”、”通過(guò)輸入學(xué)生學(xué)號(hào)修改學(xué)生信息”、”刪除學(xué)生”、”添加學(xué)生”、”保存信息”等功能。
4.普通用戶登錄有”顯示全部學(xué)生信息”、”根據(jù)學(xué)號(hào)查詢學(xué)生信息”?!鞍闯煽?jī)排序”等功能。
系統(tǒng)代碼:
#include
char name[20];
float yuwen;
float shuxue;
float yingyu;
float average;}Student;Student stu[100];int stulength;char filename[50]=“student.txt”;
void savefile(){ FILE *fp;
Student *p;
int i;1
p=stu;
fp=fopen(filename,“wb”);
if(fp==NULL)
{ printf(“打開(kāi)文件失敗!n”);
return;
}
for(i=0;i { if(fwrite(p,sizeof(Student),1,fp)!=1) printf(“保存信息失敗!n”); p++; } fclose(fp);} void xianshi(){ Student *p; int i; p=stu; for(i=0;i { printf(“學(xué)號(hào):%d 姓名:%s 語(yǔ)文成績(jī):%.2f 數(shù)學(xué)成績(jī):%.2f 績(jī):%.2fn”,p->number,p->name,p->yuwen,p->shuxue,p->yingyu,p->average); p++; } } void addbyhand(){ Student *p; int i,n; p=stu; printf(“請(qǐng)輸入需要添加學(xué)生的人數(shù):n”); scanf(“%d”,&n); for(i=0;i { printf(“請(qǐng)輸入學(xué)號(hào):n”); scanf(“%d”,&(p->number)); printf(“請(qǐng)輸入姓名n”); scanf(“%s”,p->name); printf(“請(qǐng)輸入語(yǔ)文成績(jī)n”); scanf(“%f”,&(p->yuwen)); printf(“請(qǐng)輸入數(shù)學(xué)成績(jī)n”); scanf(“%f”,&(p->shuxue)); printf(“請(qǐng)輸入英語(yǔ)成績(jī)n”); scanf(“%f”,&(p->yingyu)); p->average=(p->yuwen+p->shuxue+p->yingyu)/3; p++; } stulength=n; savefile(); 英語(yǔ)成績(jī):%.2f平均成} void addbyfile(){ FILE *fp; Student *p; int i=0; p=stu; fp=fopen(filename,“rb”); if(fp==NULL) { printf(“打開(kāi)文件失敗n”); return; } while(fread(p,sizeof(Student),1,fp)==1) { i++; p++; } fclose(fp); stulength=i;} void chaxun(){ int i,xz,n; char m[20]; Student *p; p=stu; printf(“1->按學(xué)號(hào)查詢n2->按姓名查詢n”); scanf(“%d”,&xz); if(xz==1) { printf(“請(qǐng)輸入查詢的學(xué)號(hào)n”); scanf(“%d”,&n); for(i=0;i { if(p->number==n) { printf(“學(xué)號(hào):%d 姓名:%s 語(yǔ)文成績(jī):%.2f 數(shù)學(xué)成績(jī):%.2f 績(jī):%.2fn”,p->number,p->name,p->yuwen,p->shuxue,p->yingyu,p->average); break; } p++; } if(i==stulength) printf(“沒(méi)有找到該學(xué)生的信息n”); } if(xz==2) { printf(“請(qǐng)輸入查詢的姓名n”); scanf(“%s”,&m); for(i=0;i { if(strcmp(p->name,m)==0) { printf(“學(xué)號(hào):%d 姓名:%s 語(yǔ)文成績(jī):%.2f 數(shù)學(xué)成績(jī):%.2f 英語(yǔ)成績(jī):%.2f 英語(yǔ)成績(jī):%.2f平均成平均成績(jī):%.2fn”,p->number,p->name,p->yuwen,p->shuxue,p->yingyu,p->average); break; } p++; } if(i==stulength) printf(“沒(méi)有找到該學(xué)生的信息n”); } } void paixu(){ int i,j,xz; Student m; printf(“1->按平均成績(jī)排序n2->按語(yǔ)文成績(jī)排序n3->按數(shù)學(xué)成績(jī)排序n4->按英語(yǔ)成績(jī)排序n”); scanf(“%d”,&xz); if(xz==1) { for(i=0;i for(j=i+1;j if(stu[i].average { m=stu[i]; stu[i]=stu[j]; stu[j]=m; } for(i=0;i printf(“學(xué)號(hào):%d 姓名:%s 語(yǔ)文成績(jī):%.2f 數(shù)學(xué)成績(jī):%.2f 英語(yǔ)成績(jī):%.2f 績(jī):%.2fn”,stu[i].number,stu[i].name,stu[i].yuwen,stu[i].shuxue,stu[i].yingyu,stu[i].average); } if(xz==2) { for(i=0;i for(j=i+1;j if(stu[i].yuwen { m=stu[i]; stu[i]=stu[j]; stu[j]=m; } for(i=0;i printf(“學(xué)號(hào):%d 姓名:%s 語(yǔ)文成績(jī):%.2f 數(shù)學(xué)成績(jī):%.2f 英語(yǔ)成績(jī):%.2f 績(jī):%.2fn”,stu[i].number,stu[i].name,stu[i].yuwen,stu[i].shuxue,stu[i].yingyu,stu[i].average); } if(xz==3) { for(i=0;i for(j=i+1;j if(stu[i].shuxue { m=stu[i]; stu[i]=stu[j]; stu[j]=m; 平均成平均成 } for(i=0;i printf(“學(xué)號(hào):%d 姓名:%s 語(yǔ)文成績(jī):%.2f 數(shù)學(xué)成績(jī):%.2f 英語(yǔ)成績(jī):%.2f 平均成績(jī):%.2fn”,stu[i].number,stu[i].name,stu[i].yuwen,stu[i].shuxue,stu[i].yingyu,stu[i].average); } if(xz==4) { for(i=0;i for(j=i+1;j if(stu[i].yingyu { m=stu[i]; stu[i]=stu[j]; stu[j]=m; } for(i=0;i printf(“學(xué)號(hào):%d 姓名:%s 語(yǔ)文成績(jī):%.2f 數(shù)學(xué)成績(jī):%.2f 英語(yǔ)成績(jī):%.2f 績(jī):%.2fn”,stu[i].number,stu[i].name,stu[i].yuwen,stu[i].shuxue,stu[i].yingyu,stu[i].average); } } void tianjia(){ int i,n; Student *p; p=stu+stulength; printf(“請(qǐng)輸入需要添加學(xué)生信息的個(gè)數(shù)n”); scanf(“%d”,&n); for(i=stulength;i { printf(“請(qǐng)輸入學(xué)號(hào):n”); scanf(“%d”,&p->number); printf(“請(qǐng)輸入姓名n”); scanf(“%s”,p->name); printf(“請(qǐng)輸入語(yǔ)文成績(jī)n”); scanf(“%f”,&p->yuwen); printf(“請(qǐng)輸入數(shù)學(xué)成績(jī)n”); scanf(“%f”,&p->shuxue); printf(“請(qǐng)輸入英語(yǔ)成績(jī)n”); scanf(“%f”,&p->yingyu); p->average=(p->yuwen+p->shuxue+p->yingyu)/3; p++; } stulength=stulength+n; savefile();} void shanchu(){ Student *p,*q; int i,n,m=0; 平均成 p=stu; q=stu; printf(“請(qǐng)輸入要?jiǎng)h除學(xué)生的學(xué)號(hào):n”); scanf(“%d”,&n); for(i=0;i { if(p->number==n) { q=q+1; m=1; } *p=*q; p++; q++; } if(m==1) stulength--; else printf(“請(qǐng)輸入正確的學(xué)號(hào)!n”); savefile();} void xiugai(){ int i,n; Student *p; p=stu; printf(“請(qǐng)輸入需要修改的學(xué)號(hào):n”); scanf(“%d”,&n); for(i=0;i { if(p->number==n) { printf(“請(qǐng)輸入語(yǔ)文成績(jī)n”); scanf(“%f”,&p->yuwen); printf(“請(qǐng)輸入數(shù)學(xué)成績(jī)n”); scanf(“%f”,&p->shuxue); printf(“請(qǐng)輸入英語(yǔ)成績(jī)n”); scanf(“%f”,&p->yingyu); p->average=(p->yuwen+p->shuxue+p->yingyu)/3; break; } p++; } if(i==stulength) printf(“請(qǐng)輸入正確的學(xué)號(hào)!n”); savefile();} void administroter(){ int xz; while(1) { printf(“1->添加n2->刪除n3->排序n4->查詢n5->顯示n6->修改n0->退出n”); scanf(“%d”,&xz); switch(xz) { case 0:return; case 1:tianjia();break; case 2:shanchu();break; case 3:paixu();break; case 4:chaxun();break; case 5:xianshi();break; case 6:xiugai();break; } } } void student(){ int xz; while(1) { printf(“1->排序n2->查詢n3->顯示n0->退出n”); scanf(“%d”,&xz); switch(xz) { case 0:return; case 1:paixu();break; case 2:chaxun();break; case 3:xianshi();break; } } } int main(){ int xz; addbyfile(); if(stulength==0) addbyhand(); while(1) { printf(“**********歡迎登陸成績(jī)管理系統(tǒng)**********n”); printf(“1->管理員登陸n2->學(xué)生登錄n0->退出n”); scanf(“%d”,&xz); switch(xz) { case 0:return 0; case 1:administroter(); case 2:student(); } } } 7 內(nèi)容二:食堂飯卡終端系統(tǒng) 需求:1.飯卡有編號(hào)、姓名、余額、狀態(tài)四個(gè)屬性。 2.系統(tǒng)實(shí)現(xiàn):添加飯卡,通過(guò)編號(hào)查詢飯卡余額,通過(guò)姓名查詢飯卡余額,飯卡充值,消費(fèi),掛失飯卡,飯卡解鎖(消除掛失恢復(fù)正常狀態(tài)),刪除飯等功能。 系統(tǒng)代碼: #include typedef struct Fanka { int kh; char name[20];float yu_e;char state; struct Fanka *next;}Fanka; Fanka *fankahead;int fankalenth;char filename[50]=“E:fanka.txt”; void savefile(){ FILE *fp; Fanka *p;int i=0;p=fankahead;fp=fopen(filename,“wb”); if(fp==NULL){ printf(“打開(kāi)文件失敗!n”); return; } while(p!=NULL){ if(fwrite(p,sizeof(Fanka),1,fp)!=1) printf(“保存信息失敗!n”); p=p->next; i++;} fclose(fp);} void addbyhand(){ Fanka *p,*rear; int i,n;printf(“請(qǐng)輸入需要添加飯卡的個(gè)數(shù):n”); scanf(“%d”,&n); for(i=0;i printf(“請(qǐng)輸入卡號(hào):n”); scanf(“%d”,&p->kh); printf(“請(qǐng)輸入姓名:n”); scanf(“%s”,&p->name); printf(“請(qǐng)輸入初始余額:n”); scanf(“%f”,&p->yu_e); p->state='1'; if(i==0) { fankahead=p; rear=p; } else { rear->next=p; rear=p; } } rear->next=NULL; fankalenth=n;savefile();} void addbyfile(){ FILE *fp; Fanka *p,*rear;int i=0;char c;fp=fopen(filename,“rb”);if(fp==NULL){ printf(“打開(kāi)文件失敗,請(qǐng)先建立文件!n”); return;} if(fscanf(fp,“%c”,&c)==EOF) addbyhand();else { p=(Fanka *)malloc(sizeof(Fanka)); fseek(fp,0,SEEK_SET); while(fread(p,sizeof(Fanka),1,fp)==1){ i++; if(i==1) { fankahead=p; rear=p; } else { rear->next=p; rear=p; } p=(Fanka *)malloc(sizeof(Fanka));} fclose(fp); rear->next=NULL; fankalenth=i;} } void xianshi(){ Fanka *p; p=fankahead; while(p!=NULL) { if(p->state=='1') printf(“%d %s %f 正常n”,p->kh,p->name,p->yu_e); else printf(“%d %s %f 掛失n”,p->kh,p->name,p->yu_e); p=p->next; } } void chaxun(){ int n,m; char na[20]; Fanka *p;p=fankahead;printf(“請(qǐng)選擇查詢的方式: 1、按卡號(hào)查詢。 2、按姓名查詢n”); scanf(“%d”,&n);if(n==1) { printf(“請(qǐng)輸入查詢的卡號(hào)n”); scanf(“%d”,&m); while(p!=NULL) { if(p->kh==m) { if(p->state=='1') printf(“%d %s %f 正常n”,p->kh,p->name,p->yu_e); else printf(“%d %s %f 掛失n”,p->kh,p->name,p->yu_e); break; } p=p->next; } if(p==NULL) printf(“沒(méi)有找到該卡號(hào)的信息!n”); } if(n==2){ printf(“請(qǐng)輸入查詢的姓名n”); scanf(“%s”,na); while(p!=NULL) { if(p->name==na) { if(p->state=='1') printf(“%d %s %f 正常n”,p->kh,p->name,p->yu_e); else printf(“%d %s %f 掛失n”,p->kh,p->name,p->yu_e); break; } p=p->next; } if(p==NULL) printf(“沒(méi)有找到該卡號(hào)的信息!n”);} return;} void guashi(){ int n; Fanka *p; p=fankahead; printf(“請(qǐng)輸入掛失的卡號(hào)!n”); scanf(“%d”,&n); while(p!=NULL) { if(p->kh==n) { p->state='0'; break; } p=p->next; } if(p==NULL) printf(“此卡無(wú)效,請(qǐng)輸入正確的卡號(hào)!n”); savefile();} void jiesuo(){ int n; Fanka *p; p=fankahead; printf(“請(qǐng)輸入解鎖的卡號(hào)!n”); scanf(“%d”,&n); while(p!=NULL) { if(p->kh==n) { p->state='1'; break; } p=p->next; } if(p==NULL) printf(“此卡無(wú)效,請(qǐng)輸入正確的卡號(hào)!n”); savefile();} void chongzhi(){ int n; float m; Fanka *p; p=fankahead; printf(“請(qǐng)輸入充值的卡號(hào)!n”); scanf(“%d”,&n); while(p!=NULL) { if(p->kh==n&&p->state=='1') { printf(“請(qǐng)輸入充值的金額:n”); scanf(“%f”,&m); printf(“%d %s %f 正常n”,p->kh,p->name,p->yu_e+m); break; } if(p->kh==n&&p->state=='0') { printf(“此卡已掛失,請(qǐng)解鎖后再充值!n”);break; } p=p->next; } if(p==NULL) printf(“此卡無(wú)效,請(qǐng)輸入真確的卡號(hào)n”); savefile();} void xiaofei(){ int n; float m; Fanka *p; p=fankahead; printf(“請(qǐng)輸入消費(fèi)的卡號(hào)!n”); scanf(“%d”,&n); while(p!=NULL) { if(p->kh==n&&p->state=='1') { printf(“請(qǐng)輸入消費(fèi)的金額:n”); scanf(“%f”,&m); if(p->yu_e>m) { p->yu_e=p->yu_e-m; printf(“%d %s %f 正常n”,p->kh,p->name,p->yu_e); break; } else { printf(“余額不足,請(qǐng)充值后再消費(fèi)!n”); break; } } if(p->kh==n&&p->state=='0') { printf(“此卡已掛失,請(qǐng)解鎖后再消費(fèi)!n”);break; } p=p->next; } if(p==NULL) printf(“此卡無(wú)效,請(qǐng)輸入正確的卡號(hào)n”); savefile();} void shanchu(){ int n,i=0; Fanka *p; p=fankahead; printf(“請(qǐng)輸入刪除飯卡的卡號(hào)n”); scanf(“%d”,&n); if(fankahead->kh==n) fankahead=p->next; while(p->next!=NULL) { if(p->next->kh!=n) p=p->next; else p->next=p->next->next; } fankalenth--; savefile();} void tianjia(){ Fanka *p,*q; p=fankahead; while(p->next!=NULL){p=p->next;} q=(Fanka *)malloc(sizeof(Fanka));printf(“請(qǐng)輸入卡號(hào):n”); scanf(“%d”,&q->kh); printf(“請(qǐng)輸入姓名:n”); scanf(“%s”,&q->name); printf(“請(qǐng)輸入初始余額:n”); scanf(“%f”,&q->yu_e); q->state='1'; p->next=q; q->next=NULL; savefile(); fankalenth++;} int studentlogin(){ int xz;while(1){ system(“CLS”); printf(“1->顯示全部飯卡信息n2->查詢飯卡信息n3->飯卡掛失n4->消費(fèi)n0->退出n”); scanf(“%d”,&xz); switch(xz){ case 0:return 0; case 1:xianshi();break; case 2:chaxun();break; case 3:guashi();break; case 4:xiaofei();break;} system(“PAUSE”);} return 0;} int administratorlogin(){ int xz; while(1) { system(“CLS”);printf(“1->顯示n2->添加飯卡n3->飯卡解鎖n4->飯卡充值n5->刪除飯卡n0->退出n”);scanf(“%d”,&xz); switch(xz){ case 0:return 0; case 1:xianshi();break; case 2:tianjia();break; case 3:jiesuo();break; case 4:chongzhi();break; case 5:shanchu();break;} system(“PAUSE”);} return 0; } int main(){ int xz; addbyfile(); while(1) { system(“CLS”); printf(“************歡迎登陸食堂飯卡管理系統(tǒng)************n”); printf(“請(qǐng)選擇用戶登陸身份:n1->管理員登陸n2->學(xué)生登陸n0->退出n”); scanf(“%d”,&xz); switch(xz) { case 0:return 0; case 1:administratorlogin();break; case 2:studentlogin();break; } system(“PAUSE”); } return 0;} 食堂飯卡管理系統(tǒng) 3人 基本功能: (1)發(fā)卡:學(xué)生員工持有效證件到管理處繳押金,辦理就餐卡,操作人員將相關(guān)內(nèi)容寫(xiě)入卡中,并自動(dòng)產(chǎn)生編號(hào),持卡人員再預(yù)交一定金額款項(xiàng)即可進(jìn)行就餐。 (2)存款:持卡人在卡中存款快用完時(shí),到管理處交款存入就餐卡中,并可打印一張收據(jù)。 (3)就餐:持卡人將就餐卡插入或接近窗口機(jī),窗口機(jī)檢測(cè)是否有效,是否時(shí)本單位所發(fā)的卡,是否已被掛失,若有問(wèn)題則窗口機(jī)報(bào)警,若正常則窗口機(jī)上數(shù)碼顯示就餐卡中的余額,工作人員鍵入本次用餐金額,并在數(shù)碼上顯示出來(lái),若無(wú)誤按結(jié)算鍵寫(xiě)卡,整個(gè)售飯過(guò)程完成。 (4)匯總統(tǒng)計(jì):食堂就餐結(jié)束后,管理處計(jì)算機(jī)能通過(guò)聯(lián)網(wǎng)(或統(tǒng)計(jì)卡)取出各窗口機(jī)中的數(shù)據(jù),進(jìn)行統(tǒng)計(jì)分析,可統(tǒng)計(jì)出本餐售飯總收入,各窗口收入,各持卡人存款明細(xì),本日、月存款金額,卡中流動(dòng)資金總額,日餐報(bào)表,年餐報(bào)表等 (5)掛失:持卡人不慎將卡丟失,可到管理處進(jìn)行掛失,管理處將掛失名單傳送到各窗口機(jī)中,用已掛失卡就餐就會(huì)報(bào)警,直到取消掛失為止,持卡人不會(huì)因卡丟失而引起經(jīng)濟(jì)上的損失。 (6)注銷:學(xué)生離?;蚱渌?,不再就餐時(shí),可到管理處注銷卡退取押金,該卡還可重新使用。 一、引言 1.編寫(xiě)目的本需求分析文檔的目的是說(shuō)明飯卡管理系統(tǒng)最終所運(yùn)行的條件,性能要求及要實(shí)現(xiàn)的功能,為進(jìn)一步設(shè)計(jì)與實(shí)現(xiàn)打下基礎(chǔ)。本文檔以文檔形式將用戶對(duì)軟件的需求固定下來(lái),是與用戶溝通的成果,也供用戶驗(yàn)收項(xiàng)目時(shí)參考 本文檔預(yù)期讀者為:用戶,項(xiàng)目管理人員,軟件設(shè)計(jì)人員,編程人員,測(cè)試人員等項(xiàng)目相關(guān)人員 2.開(kāi)發(fā)背景 系統(tǒng)名稱:《飯卡管理系統(tǒng)》 需求背景: 隨著我國(guó)經(jīng)濟(jì)的發(fā)展,電子管理系統(tǒng)的多功能化,企業(yè),學(xué)校等紛紛使用電子記賬卡對(duì)于員工,學(xué)生等的消費(fèi)進(jìn)行管理,故對(duì)合理,高利用率的飯卡管理系統(tǒng)有著迫切的需求 系統(tǒng)用途: 本系統(tǒng)智能化地管理飯卡系統(tǒng)的運(yùn)作,從而提高管理的效率 系統(tǒng)開(kāi)發(fā)人員: 陳永林小組 二、任務(wù)概述 1.任務(wù)目標(biāo) 能對(duì)飯卡信息進(jìn)行及時(shí)的管理及查詢,提高用戶工作效率 2.用戶特點(diǎn) 本系統(tǒng)是面向?qū)W校飯卡管理而開(kāi)發(fā)的,由于系統(tǒng)的界面清晰、美觀,操作簡(jiǎn)單、方便,所以操作人員只需要具備一定的電腦操作技能即可。管理員(維護(hù)人員)不需要任何數(shù)據(jù)庫(kù)專業(yè)技能知識(shí)。本系統(tǒng)可以極大的提高工作效率。 三、系統(tǒng)環(huán)境 1.系統(tǒng)構(gòu)架 系統(tǒng)由刷卡器、管理員端和客戶端構(gòu)成。刷卡器主要為學(xué)生提供日常消費(fèi)功能,客戶端完成學(xué)生自助查詢、掛失功能,而管理員端則主要完成新建、存款、注銷等功能。 四、需求分析 1.1 業(yè)務(wù)需求 本系統(tǒng)會(huì)涉及到的業(yè)務(wù)包括注冊(cè)用戶(新建)、飯卡充值(存款)、飯卡信息查詢、刷卡消費(fèi)、飯卡掛失/解鎖、飯卡注銷、修改用戶信息六大功能 1.2 注冊(cè)用戶功能 注冊(cè)功能權(quán)限只開(kāi)放給管理員,該功能由管理員輸入正確的用戶注冊(cè)信息并設(shè)置原始密碼,然后錄入數(shù)據(jù)庫(kù)。 1.3 飯卡充值功能 該功能權(quán)限只開(kāi)放給管理員,由管理員確認(rèn)金額無(wú)誤后更新飯卡余額信息。 1.4 飯卡掛失/解鎖功能 該功能用戶及管理員均可以使用,用戶憑借用戶密碼通過(guò)客戶端登入后可對(duì)飯卡進(jìn)行掛失/解鎖。 1.5 飯卡注銷功能 該功能僅開(kāi)放給管理員,由管理員輸入用戶ID并確認(rèn)注銷。 1.6 飯卡信息查詢功能 該功能管理員及用戶均可以使用,用戶需憑用戶密碼登入進(jìn)行簡(jiǎn)單查詢。 1.7 消費(fèi)功能 該功能開(kāi)放給用戶及管理員,用戶通過(guò)刷卡器端進(jìn)行消費(fèi),也可通過(guò)管理員進(jìn)行日常繳費(fèi)。 五.功能概述 經(jīng)分析,該飯卡管理系統(tǒng)主要實(shí)現(xiàn)以下功能: 1、登錄/注冊(cè) 2、存款/消費(fèi) 3、查詢/修改 4、掛失/解鎖 5、注銷/學(xué)生端 食堂刷卡管理系統(tǒng)管理端 業(yè)務(wù)流程圖: 余額 查看 卡號(hào)掛失凍結(jié) 消費(fèi)信息查詢 充值信息查詢 卡號(hào)信息記錄 學(xué)生信息記錄 登 錄 管 理 辦 卡 管 理 充 值 管 理 消 費(fèi) 管 理 注 銷 管 理 管理端登錄 學(xué)生端登錄 學(xué)生信息錄入 學(xué) 生 信 息 管 理 卡號(hào)信息激活 飯卡掛失凍結(jié) 解鎖補(bǔ)辦飯卡 卡號(hào)充值 充值記錄查詢 消費(fèi)類型 消費(fèi)信息 卡號(hào)注銷 注銷信息查詢 學(xué)生端 城投集團(tuán)食堂餐卡管理及收費(fèi)辦法 各用餐單位: 根據(jù)集團(tuán)辦公室2011年《關(guān)于集團(tuán)飯?zhí)猛V购灻筒偷耐ㄖ罚饔貌腿藛T一律攜帶餐卡或客餐單,憑卡或憑單用餐。為了規(guī)范相關(guān)的管理,經(jīng)過(guò)集團(tuán)辦公室、食堂管理委員會(huì)溝通研究決定,從2013年1月1日起,集團(tuán)食堂將采用以下條例對(duì)餐卡、客餐單等進(jìn)行管理。 一、用餐卡管理 1、新餐卡發(fā)放:各用餐單位由于人事變動(dòng)需新增用餐人員并辦理用餐卡,由各用餐單位出具有部門領(lǐng)導(dǎo)簽名并蓋有公章的證明文件,憑文件辦理用餐卡,并與開(kāi)卡當(dāng)月開(kāi)始計(jì)費(fèi)。每張餐卡按制作成本收取工本費(fèi)。 2、??ɑ蛲丝ǎ阂验_(kāi)餐卡的用餐人員由于個(gè)人、工作等原因需停止用餐,由各用餐單位出具有部門領(lǐng)導(dǎo)簽名并蓋有公章的證明文件,憑文件辦理??ɑ蛲丝ㄊ掷m(xù),卡內(nèi)余額將退還給持卡人,工本費(fèi)不予退還。未憑文件辦理相關(guān)手續(xù)的,食堂將按正常用餐收取餐費(fèi)。 3、補(bǔ)卡:用餐人員餐卡損壞或遺失的,本人可到食堂辦理掛失補(bǔ)辦手續(xù),舊卡中的余額將會(huì)轉(zhuǎn)移至新卡當(dāng)中。每張餐卡按制作成本收取工本費(fèi)。 4、工作證的辦理、停退及補(bǔ)卡參照餐卡管理辦法管 理,但工本費(fèi)由用餐單位自行支付。 二、客餐單管理:用餐單位如有客人需在食堂用餐的,客人需憑簽名蓋章的客餐單進(jìn)入食堂用餐。收費(fèi)標(biāo)準(zhǔn)為早餐6元/人,午餐19元/人,食堂定期與各用餐單位結(jié)算。 三、餐卡用餐標(biāo)準(zhǔn):每天25元/人。其中用餐單位支付部分:每天20元/人,用餐單位按持卡數(shù)量每月扣款440元/人(按22天計(jì)),由單位統(tǒng)一支付。新開(kāi)餐卡當(dāng)月用餐不足15天的,按實(shí)際用餐天數(shù)計(jì)算,每天20元;用餐天數(shù)超過(guò)15天(含15天)的,按440元全額收費(fèi)。 四、為了加強(qiáng)食堂管理,保障食品衛(wèi)生安全,請(qǐng)各位用餐人員在食堂內(nèi)用餐,請(qǐng)勿攜帶食物出餐廳。 五、為確保集團(tuán)食堂正常運(yùn)行,請(qǐng)各用餐單位按時(shí)支付餐費(fèi)。 市城投集團(tuán)食堂 二零一二年十二月二十八日第三篇:C語(yǔ)言食堂飯卡管理系統(tǒng)
第四篇:飯卡管理系統(tǒng)需求規(guī)格說(shuō)明書(shū)
第五篇:飯卡發(fā)放管理