第一篇:機房收費系統總結(精選)
經過了幾天的忙碌,自己的工程也即將告一段落,還有點舍不得。
下面我總結一下自己做工程的收獲感覺收獲不大,但是實際上這將是我們邁上一個新臺階的基石。說實話,實際收獲是很大的,只不過時間用的太長了,感覺效率效率低(收獲/時間)。時間的基數越長越是沒有感覺……行了,不扯著沒用的了。
首先來說自己獨立解決問題的能力有一些提高——網絡的運用。
上一次寫到應用網絡的問題,其實就是那樣一回事,許多問題就是要靠自己獨立去完成,在一個公司,你不可能一遇到問題就去問別人去,因為不同人有不同人都工作,在公司,又和在學校不一樣,在學校的友誼是純潔的,但是到了公司里,這種純潔很少。就應該確立這種意識:在網上,沒有解決不了的問題,只有你想不到的問題。只是一個搜索時間的問題和搜索技巧的問題,這個在平時就可以得到培養和鍛煉。只要自己去總結自己問問題的思維與網絡的落差點就可以解決。
在我剛開始做這個工程時,自己有時還是需要去翻看一下學生管理系統,但是到了工程的后期,學生管理系統連碰都沒有碰過,說明自己通過這個工程自己更能知道,理解,體會學生管理系統。那里的每一片土地都已經是過去時了,想一想自己做學生管理系統的時候自己還是啥都不太懂得,不過,經過了這個過渡,自己明白了許多事情。現在對一般的sql語句寫起來沒有什么困難了。
這次做工程給我最深的體會就是數據庫——做的時候一定要做好否則該改的時候會有很多地方牽扯進來的,讓自己還特郁悶。數據庫一旦出問題,那么自己修改程序很苦惱。
首先,自己建庫的時候沒有注意到那么多小的地方,但是,再后來做工程才發現,自己數據庫的不足,然后改數據庫,說實在的真麻煩。不過有了這一次小小的教訓,自己以后會多多注意的,一定會把數據考慮的更加全面,這樣在做起工程來就簡單多了。
回想這個工程給我印象最深的是,在上機過程中我想弄成分段計時,這一部分我就弄了兩天才弄清。但是總結一下自己為什么用這么長的時間。
首先自己先實現卻沒有更好的思路去完成,自己還是基礎的東西不扎實。其實重要的是把過程理清了,代碼方面沒有什么,我感覺有時不是敲代碼的過程來影響進度,而是自己的思緒影響著自己的進度。
還有就是敢于去嘗試。
還有就是一定要把前期的需求分析做好,否則到了后邊添加的時候會和許多地方發生沖突,一定要選擇好基礎的底座。
第二篇:機房收費系統工作總結(小編推薦)
機房收費系統工作總結
在做機房管理系統的過程中,首先對機房管理系統所有的功能嘗試了一遍,然后按照學生管理系統的方法對機房管理系統分析了一番,分別從功能(也就是添加、查詢、修改),組成(一般用戶、操作員、管理員),程序結構設計(模塊中和窗體中所要完成的功能),數據庫分析(數據庫實體、各個實體之間的關系),在分析數據庫實體和各個實體之間的關系時遇到了一些阻力,這也算是需求分析了,分析的不夠全面和系統,有待以后對這方面的加強。(點擊查看分析圖)
按照程序運行的過程,先是參照現成的數據庫把所有的表建立起來,在建表過程中由于對sql數據類型的知之甚少導致之后出了一些錯誤,比如說datetime這個數據類型,是一個包含了日期和時間的數據類型,而自己建立了date和time兩列,是完全沒有必要的。
做完了登錄窗體,發現機房管理系統和學生管理系統的相似度很高,于是做起來比較快樂,因為一個桌上多半人都認識,吃起飯來很愉快。柿子先拿軟的捏,陸續做完了幾個比較簡單的窗體,之后做上下機,做到錢這里確實是有點亂,錯誤在這里也犯得比較多。對各個方面的因素考慮的不夠周全,是按照上下機需要什么我就給它什么,感覺是一點一點堆積上去的,等做完回頭一看有點茫然!
這種前期沒有充分考慮各方因素而一點一點堆積的做法為我后來的返工埋下了伏筆,的一個錯誤就是:沒有考慮到基本數據是可以改變的,比如說至少上網時間,準備時間等等,而我想當然的就把它給定死了,基本數據設置這個窗體等同虛設,沒有做到動態的改變,軟件的擴充性極差。
在這個過程中除了一些細節上的問題還出現了越權和抽象的問題,每個用戶的等級不同,所涉及的管理范圍也就不同,比如一般用戶就是不能接觸錢的,而操作員在掌控錢的時候要有收錢的每一筆記錄,管理員是可以掌控一切的,每個用戶的權利要分得一清二楚。還有一個是抽象,回頭看代碼還是顯得不夠精簡,贅余不少,還是自己以前動手做的比較少,需要加強。
機房收費系統的完工也就意味著暑假結束了,充實而又美妙的暑假,度過了一個不一樣的暑假,每一天都有收獲,每一份收獲都很開心,當然,有時候會覺得很累很累,偶爾也會困惑一下,不過隨著時間的流逝這一切都煙消云散,興趣和堅持始終主導著我的生活,這應該就是我想要的和想象中的大學生活。剛放暑假的時候,老師布置要在這段時間完成這么多的工作,自我感覺相當有困難,從陳偉視頻收尾到五個數據庫應用小例子,再到浙大sqlserver視頻,學生管理系統,機房收費系統,剛開始看似完不成的,現在回頭一看,都一一完成了,沒有落下,很欣慰!這可能就是提高班的神奇之處吧。
新學期開始了,我的任務還很艱巨,vb還在等著我,軟件工程 的視頻在等著我,通過暑假我相信這些都會按時完成的。
第三篇:收費系統展示總結
我們的收費系統基本上都完工了,前天大家互相“參觀”了一下彼此的系統。大家做的都很不錯。除了石小勇的是模仿網吧的之外其他的都是模仿爭光或者胡楊的。
石小勇和大家不同的地方是有客戶端和服務器還有服務之服務器(感覺網吧好像沒有這個),重點是對winsock的利用。其他的地方就和大家的差不多了。
大家做的就比較一致了,都是模仿師哥的嘛。大家各自之間的差異還是有的,這里的差異源自于對需求理解的不同。幾個比較特殊的地方有必要說說。
關于錯誤處理
在按條件查找的環節一般的思路就是想辦法不讓用戶輸入錯誤的信息。于是一群if就出來了……守宏的思路比較特殊(也許還有別的思路,我不知道吧)——錯誤處理。這讓我再次思考什么是錯誤處理?為什么要用錯誤處理?什么時候用錯誤處理?錯誤處理的優勢和劣勢是什么?等等一系列問題
程序的有錯誤不怕,怕的是不知道什么錯誤。就是說最棘手的是對未知事物的懼怕。于是就有了錯誤處理。無論發生什么錯誤都可以跳到錯誤處理語句里來。太有思路了!這樣不用擔心未知的錯誤,也解決了因為錯誤導致系統崩潰的尷尬。但是隨之而來的問題是不能準確的提醒用戶的錯誤。雖然可以利用錯誤的description,但是一般用戶是看不懂的。這也是錯誤處理的一個弊端吧。但是這種全局的思想是值得自己學習的!
關于sql
說實話感覺自己的sql水平太差了,簡直就是沒有水平。昨天看到超越在利用觸發器來設計自己的收費系統,感覺自己確實是丟了很多東西。好多同學都在程序里直接利用sql語句來操作數據庫,看看自己還是站在學生信息管理系統的基礎之上在寫收費系統,好悲慘~~~~做系統只圖快了沒有把能用到的知識點利用上,還是用老的技術在湊合。沒有勇于實踐,勇于創新。一方面是進度,一方面是基礎的牢固程度,太難把握了,太難了。
關于調試
看著別人在給自己的程序找錯誤心里的感受怪怪的,就好像別人在指點自己的孩子那些個地方不好看似的。很不爽……但是沒有辦法,這是完成一個程序必不可少的步驟。也只用這個步驟才能讓自己的“孩子”更加的健壯。記住老師的話吧:“面子不值錢,成功了面子才值錢,虛榮心只會阻止你的進步……”
可能下個星期老師還要組織師哥師姐給我們驗收,等著吧!(開學就是不爽啊,整個進度都慢了下來。假期都是以天為單位,現在都是以星期為單位。額……)
機房收費系統工作總結vb
機房收費系統總結
第四篇:C語言機房收費
機房收費管理系統
(1)輸入功能:輸入30名學生的學號、班級、姓名、上機起始時間。
(2)計算功能:計算每個下機學生的上機費用,每小時1元。
(上機費用=上機時間* 1.0/h,不足一小時按一小時計算)
(3)查詢功能:按條件(班級、學號、姓名)顯示學生的上機時間。
(4)機器使用情況的顯示(顯示方式不限但要一目了然)
#include
#include
#include
#define NULL 0
#define LEN sizeof(struct student)
struct student
{
long num;
long class;
char name[15];
int hour1;
int min1;
int hour2;
int min2;
struct student *next;
};
int n;
#include“file1.h”
#include“insert.c”
#include“creat.c”
#include“time.c”
#include“del.c”
#include“save.c”
#include“copy.c”
#include“print.c”
#include“swit.c”
void main()
{char c;
int flag,k;
struct student *head,*stu;
printf(“one hour 1.0 yun!n”);
printf(“Infed information---------->1n”);
printf(“Search expense------------->2n”);
printf(“delet the information------>3n”);
printf(“=============================================n”);
printf(“!!Example!!n”);//例子示范//
printf(“###*************Infed information**********##n”);
printf(“ number class name 12:30-14:21n”);//注意號輸入//head=creat();//使head=調用返回“頭指針”//
for(flag=1;flag;)//flag為真,操作//
{
printf(“Will you ? :”);//輸入相應的數值,做相應的操作//
scanf(“%d”,&k);
swit(head,stu,k);
printf(“go on ? y/n:”);
getchar();
c=getchar();
if(c=='N'||c=='n')flag=0;
//如果輸入'n'or'N'則退出使用本軟件,否則繼續相應操作//
}
}
void swit(struct student *head,struct student *stu,int k)
{
long dele,number;
struct student *p1;
switch(k)
{
case 1:
{
printf(“!!Example!!n”);//例子示范//
printf(“##*********Infed information**********##n”);
printf(“number class name 12:30-14:21n”);//注意號輸入
printf(“=>:”);
stu=(struct student *)malloc(LEN);//添加信息時必須開
scanf(“%ld%ld%s%d:%d-%d:%d”,&stu->num,&stu->class,stu->name,&stu-
>hour1,&stu->min1,&stu->hour2,&stu->min2);
while(stu->num!=0)//作用為多次輸入后,多次開辟空間//{ head=insert(head,stu);printf(“=>:”);
stu=(struct student *)malloc(LEN);
//添加信息時必須開辟空間//scanf(“%ld%ld%s%d:%d-%d:%d”,&stu->num,&stu->class,stu->name,&stu->hour1,&stu->min1,&stu->hour2,&stu->min2);}
copy(head);
print(head);
}break;
case 2:
{ printf(“##*************Search.expense*************##n”);printf(“search number :”);
//輸入要找的號碼“number->num”//
scanf(“%ld”,&number);
while(number!=0)//輸入0,則結束擦找//{ time(head,number);
printf(“search number :”);
scanf(“%ld”,&number);
}
}break;
case 3:
{printf(“##**********delet.the.information*********##n”);
printf(“input the deleted number:”);//輸入刪除號碼//
scanf(“%ld”,&dele);
while(dele!=0)////輸入0,則結刪除//
{ head=del(head,dele);
print(head);
copy(head);
printf(“input the deleted number:”);
scanf(“%ld”,&dele);
}
}break;
}
}
struct student *creat(void)//1
{struct student *head;
struct student *p1,*p2;
n=0;
p1=p2=(struct student *)malloc(LEN);
//創建空間為“LEN”,強轉換為結構型,第一次輸入//
printf(“=>:”);
scanf(“%ld%ld%s%d:%d-%d:%d”,&p1->num,&p1->class,p1->name,&p1->hour1,&p1->min1,&p1->hour2,&p1->min2);
head=NULL;
while(p1->num!=0)//號碼不為0,可繼續輸入//
{ n=n+1;//輸入一個,節點加一//
if(n==1)head=p1;//有一個用戶//
else p2->next=p1;//多個用戶,p1將指向下一個節點//
p2=p1;
p1=(struct student *)malloc(LEN);
//將創建下一個空間,創建下一個空間后,輸入信息//
printf(“=>:”);
scanf(“%ld%ld%s%d:%d-%d:%d”,&p1->num,&p1->class,p1->name,&p1->hour1,&p1->min1,&p1->hour2,&p1->min2);
}
p2->next=NULL;//表尾//
return(head);
}
struct student * insert(struct student * head,struct student * stud)//stud是添加的用戶// {struct student *p0,*p1,*p2;
p1=head;
p0=stud;
if(head==NULL)//如果沒有任何用戶,添加為第一//
{head=p0;p0->next=NULL;}
else
{while((p0->num>p1->num)&&(p1->next!=NULL))
//按號碼小到大排列,并尋找添加節點//
{p2=p1;p1=p1->next;}//p1將指向下一個節點//
if(p0->num<=p1->num)
{if(head==p1)head=p0;//恰好最小//
else p2->next=p0;//在中間//
p0->next=p1;}
else
{p1->next=p0;p0->next=NULL;}//在末尾//
}
n=n+1;//添加后接點數//
return(head);
}
struct student *del(struct student *head,long num)
{
struct student *p1,*p2;
if(head==NULL){printf(“NO list!n”);} //如果沒有任何用戶,不商除//p1=head;
while(num!=p1->num&&p1->next!=NULL)//尋找符合節點//
{p2=p1;p1=p1->next;}//p1將指向下一個節點//
if(num==p1->num)
{if(p1==head)head=p1->next;//恰好最小//
else p2->next=p1->next;//在中間,便指向尾接點//
printf(“delete %ld success!n”,num);//輸出商除用戶
n=n-1;//商除后接點數//
}
else printf(“%ld not been found!n”,num);//當找不到時//
return(head);
}
void print(struct student * head)
{struct student *p;
printf(“Now %d person!!n”,n);//當前用戶//
p=head;
if(head!=NULL)//要有用戶//
do
{
printf(“%ld%ld%s%d:%d-%d:%dn”,p->num,p->class,p->name,p->hour1,p->min1,p->hour2,p->min2);
time(p,p->num);
p=p->next;//指向下一個節點//
}while(p!=NULL);
else printf(“NO one!n”);
}
void time(struct student *head,long number){struct student *p=head;
int i,a,b;
float c;
if(p==NULL){printf(“NO list!n”);}
else
{
for(i=0;i { if(p->num==number)break; else p=p->next; } a=(p->hour2)-(p->hour1); b=fabs((p->min2)-(p->min1)); c=(a+b/60.0)*1.0; printf(“ %ld Money is :%fn”,number,c);} } void copy(struct student *head) { save(head); } void save(struct student *head) { struct student *p; FILE *fp; int i; p=head; if((fp=fopen(“list.c”,“w”))==NULL) { printf(“cannot open list.cn”); return; } do { if(fwrite(p,sizeof(struct student),1,fp)!=1) printf(“list write errorn”); p=p->next; }while(p!=NULL); fclose(fp); } 需求分析類文檔模板 編者說明: 許多有經驗的開發團隊在開始需求調查的時候,總會將“軟件客戶需求權利書”和“軟件客戶需求義務書”提交給客戶,讓客戶明確其權利與義務,將會對需求調研、分析的工作帶來意想不到的效果,你可以一試。 1.2.3.4.5.6.7.8.9.10.軟件客戶需求權利書 要求分析人員使用符合客戶語言習慣的表達: 要求分析人員了解客戶系統的業務及目標: 要求分析人員組織需求期間所介紹的信息,并編寫軟件需求規格說明; 要求開發人員對需求過程中所產生的工作結果進行解釋說明; 要求開發人員在整個交流過程中保持和維護一種合作的職業態度; 要求開發人員對產品的實現及需求都要提供建議,拿出注意。描述產品使其有易用、好用的特性; 可以調整需求,允許重用已有的軟件組件; 當需要對需求進行變更時,對成本、影響、得失有個真是可信的評估; 獲得滿足客戶功能和質量要求的系統,并且這些要求是開發人員同意的。 軟件客戶需求義務書 1.2.3.4.5.6.7.8.9.10.給分析人員講解業務及說明業務方面的術語等專業問題; 抽出時間清楚地說明需求并不斷完善; 當說明系統需求時,力求準確詳細; 需要時要及時對需求做出決策; 要尊重開發人員的成本估算和對需求的可行性分析; 對單項需求、系統特性或使用實例劃分優先級; 評審需求文檔和原型 一旦知道要對項目需求進行變更,要馬上與開發人員聯系; 在要求需求變更時,應遵開發組織確定的工作過程來處理; 尊重需求工程中開發人員采用的流程(過程)。 需求規格說明書(ISO標準版) 編者說明: 當需求調查、分析工作告一段落時,你就需要將這些需求進行規格化描述,整理成文,即軟件需求規格說明書,也就是SRS(Software Requirement Standard)。這是在軟件項目過程中最有價值的一個文檔。ISO所提供的標準雖然已經時間久遠,但還是頗具參考價值的。 1.引言 1.1 編寫的目的確定系統實現的主要功能、指導開發、管理上機學生。 1.2背景 a)待開發的系統的名稱:機房收費系統 b)本項目的任務提出者、開發者、用戶:學校領導、李龍生、學校學生 c)該系統同其他系統或其他機構的基本的相互來往關系。運行在學校局域網 中。 1.3 定義 [列出本文件中用到的專門術語的定義和外文首字母組詞的原詞組。] 1.4 參考資料 [列出用得著的參考資料]VB程序設計、VB數據庫開發、SQL數據庫開發。 2.任務概述 2.1 目標 [敘述該系統開發的意圖、應用目標、作用范圍以及其他應向讀者說明的有關該系統開發的背景材料。解釋被開發系統與其他有關系統之間的關系。] 管理學生上機、學校、網吧等場所 2.2 用戶的特點 [列出本系統的最終用戶的特點,充分說明操作人員、維護人員的教育水平和技術專長,以及本系統的預期使用頻度。] 學校老師、計算機系教師、每年使用 2.3 假定和約束 [列出進行本系統開發工作的假定和約束。] 3.需求規定 3.1 對功能的規定 [用列表的方式,逐項定量和定性地敘述對系統所提出的功能要求,說明輸入什么量、經怎么樣的處理、得到什么輸出,說明系統的容量,包括系統應支持的終端數赫爾應支持的并行操作的用戶等指標。] 完成學生計費上機,收費下機的任務。 3.2 對性能的規定 3.2.1 精度 [說明對該系統的輸入、輸出數據精度的要求,可能包括傳輸過程中的精 度。] 3.2.2 時間特性要求 [說明對于該系統的時間特性要求] 3.2.3 靈活性 [說明對該系統的靈活性的要求,即當需求發生某些變化時,該系統對這 些變化的適應能力。] 3.3 輸入輸出要求 [解釋各輸入輸出數據類型,并逐項說明其媒體、格式、數值范圍、精度等。對系統的數據輸出及必須標明的控制輸出量進行解釋并舉例。] 3.4 數據管理能力要求(針對軟件系統) [說明需要管理的文卷和記錄的個數、表和文卷的大小規模,要按可預見的增長對數據及其分量的存儲要求作出估算。] 3.5 故障處理要求 [列出可能的軟件、硬件故障以及對各項性能而言所產生的后果和對故障處理的要求。]軟件異常、死機等。 3.6 其他專門要求 [如用戶單位對安全保密的要求,對使用方便的要求,對可維護性、可補充性、易讀性、可靠性、運行環境可轉換性的特殊要求等。] 4.運行環境規定 4.1設備 [列出運行該軟件所需要的硬件設備。說明其中的新型設備及其專門功能,包括; A.處理器型號及內存容量 B.外存容量、聯機或脫機、媒體及其存儲格式,設備的型號及數量 C.輸入及輸出設備的型號和數量,聯機或脫機 D.數據通信設備的型號和數量 E.功能鍵及其他專用硬件] 4.2 支持軟件 [列出支持軟件,包括操作系統、編譯程序、測試支持軟件等。] Window 7 4.3 接口 [說明該系統同其他系統之間的接口、數據通信協議等。] 4.4 控制 [說明控制該系統的運行的方法和控制信號,并說明這些控制信息的來源。] 數據要求說明書(ISO標準) 編者說明: 如果在你的項目中有大量要求數據存儲、數據采集等方便的需求,那么你就應該專門將這些需求進行整理,以數據要求說明書的形式表現出來。 1.引言 1.1 編寫目的[說明編寫這份數據要求說明書的目的,指出預期的讀者。] 1.2 背景 a)待開發軟件系統的名稱; b)列出本項目的任務提出者、開發者、用戶以及將運行該軟件的計算站或計 算機網絡系統。 1.3 定義 [列出本文件中用到的專門術語的定義和外文首字母詞的原詞組。] 1.4 參考資料 [列出有關的參考資料。] 2.數據的邏輯描述 [對數據進行邏輯描述時可把數據分為動態數據和靜態數據。] 2.1 靜態數據 [列出所有作為控制或參考用的靜態數據元素。] 2.2 動態輸入數據 [列出動態輸入數據元素。] 2.3 動態輸出數據 [累出動態輸出數據元素。] 2.4 內部生成數據 [列出向用戶或開發單位中的維護調試人員提供的內部生成數據。] 2.5 數據約定 [說明對數據要求的制約。逐條列出對進一步擴充或使用方面的考慮而提出的對數據要求的限制。對于在設計和開發中確定是臨界性的限制更要明確指出。] 3.數據的采集 3.1 要求和范圍 [按數據元的邏輯分組來說明數據采集的要求和范圍,指明數據的采集方法,說明數據采集工作的承擔者是用戶還是開發者。] 3.2 輸入的承擔著 [說明預訂的對數據輸入工作的承擔者。如果輸入數據同某一接口軟件有關,還應說明該接口軟件的來源。] 3.3 預期處理 [對數據的采集和預處理過程提出專門的規定,包括適合應用的數據格式、預定的數據通信媒體和對輸入的時間要求等。對于需經模擬轉換或數字轉換處理的數據量,要給出轉換方法和轉換因子等有關信息,以便軟件系統使用這些數據。] 3.4 影響 [說明這些數據要求對于設備、軟件、用戶、開發單位所可能產生的影響。]第五篇:精華志 京華志出品 機房收費系統需求分析說明書