第一篇:机房收费系统总结(精选)
经过了几天的忙碌,自己的工程也即将告一段落,还有点舍不得。
下面我总结一下自己做工程的收获感觉收获不大,但是实际上这将是我们迈上一个新台阶的基石。说实话,实际收获是很大的,只不过时间用的太长了,感觉效率效率低(收获/时间)。时间的基数越长越是没有感觉……行了,不扯着没用的了。
首先来说自己独立解决问题的能力有一些提高——网络的运用。
上一次写到应用网络的问题,其实就是那样一回事,许多问题就是要靠自己独立去完成,在一个公司,你不可能一遇到问题就去问别人去,因为不同人有不同人都工作,在公司,又和在学校不一样,在学校的友谊是纯洁的,但是到了公司里,这种纯洁很少。就应该确立这种意识:在网上,没有解决不了的问题,只有你想不到的问题。只是一个搜索时间的问题和搜索技巧的问题,这个在平时就可以得到培养和锻炼。只要自己去总结自己问问题的思维与网络的落差点就可以解决。
在我刚开始做这个工程时,自己有时还是需要去翻看一下学生管理系统,但是到了工程的后期,学生管理系统连碰都没有碰过,说明自己通过这个工程自己更能知道,理解,体会学生管理系统。那里的每一片土地都已经是过去时了,想一想自己做学生管理系统的时候自己还是啥都不太懂得,不过,经过了这个过渡,自己明白了许多事情。现在对一般的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 影响 [说明这些数据要求对于设备、软件、用户、开发单位所可能产生的影响。]第五篇:精华志 京华志出品 机房收费系统需求分析说明书