重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
摘要由于学校规模进一步扩大,学生人数逐年上升,学生信息的管理也变得越来越复杂。为此,切实有效的把学生信息管理系统引入学校教务管理中,对于促进学校管理制度和提高学校教学质量有着显著意义。本系统采用B/S结构,ASP为开发语言,SQLServer2000为数据库来进行设计与开发。本论文,简要阐述了系统的开发背景与开发环境,对系统的构架进行分析,由此划分出各个模块,包括用户注册模块,用户登陆模块,个人管理模块,基本信息管理模块,特殊信息管理模块,毕业生信息管理模块,成绩管理模块,信息管理模块,退出系统模块。详细介绍了系统各个模块与功能的实现原理,最后总结开发阶段与测试阶段所遇到的问题与解决方法。关键词:ASP;SQLServer2000;B/S结构1引言管理信息系统就是我们常说的MIS(ManagementInformationSystem),在强调管理,强调信息的现代社会中它变得越来越普及。MIS是一门新的科学,它跨越了若干个领域,比如管理科学、系统科学、运筹学、统计学以及计算机科学。在这些学科的基础上,形成信息收集和加工的方法,从而形成一个纵横交织的系统。近年来Internet的飞速发展,Intranet技术得到了应用,为企业MIS提供了良好的支持环境。管理信息系统在企业的应用中存在三个要素,这就是人、计算机和数据。人是指企业领导者、管理人员、技术人员,以及MIS建设的领导机构和实施机构,他们必须有企业管理人员,尤其是企业领导的积极参与。计算机技术使MIS得以实施的主要技术。在这些技术中,软件开发是MIS开发的重点。第三个因素也不能忽视。企业的管理数据是MIS正常运行的基础。广义地说,各项管理控制是MIS的基础。是想要计算一台机床的成本,需要按时输入、每个零件以及每个螺钉螺母的费用,涉及企业的生产车间、采购、库房、工艺设计和财务等多个部门,必须有一套管理制度作保证。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。目前,学校学生管理是教务管理中的一个极为重要的环节,它是整个管理的核心和基础。由于学校规模进一步扩大,学生人数逐年上升,学生情况的管理也变得越来越复杂。面对如此繁杂的任务。如果让个人去管理文档,就会显得费时费力。尤其在管理成绩时,任务更加繁重,就成绩管理本身来说,它是一项任务繁重、时效性较强的系统工作,它不但涉及学生个人成绩查询,更涉及到各教师的工作效率和质量。近年来随着计算机的迅速发展,计算机已经在社会各个领域显示了它巨大的作用。毋庸置疑,切实有效地把计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教学质量与学水平有着显著意义。现在我国的一些院校中的信息管理效率还不是很高,这样已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。所以,学生信息系统的设计与开发也是一个时代必经的阶段。本次设计主要采用B/S结构,主要实用于各高校的各专业,从学生入学到毕业每个人在校的信息,以及成绩的管理。本系统主要有六大模块,基本信息管理、特殊信息管理、毕业生信息管理、信息管理(补助信息管理、勤工助学信息管理、奖励信息管理、处罚信息管理、异动情况信息管理)、成绩管理、个人管理。用WindonwsXP为操作平台,ASP作为脚本语言,采用SQLSever2000作为数据库,用户可以实现对数据的录入,修改,删除等操作。2系统开发背景随着科学技术的不断提高,目前,学校学生管理是教务管理中的一个极为重要的环节,它是整个管理的核心和基础。由于学校规模进一步扩大,学生人数逐年上升,学生情况的管理也变得越来越复杂。面对如此繁杂的任务。如果让个人去管理文档,就会显得费时费力。近年来随着计算机的迅速发展,计算机已经在社会各个领域显示了它巨大的作用。毋庸置疑,切实有效地把计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教学质量与学水平有着显著意义。由于上述原因,所以,学生管理系统的开发也是时代的一个必经阶段。本次设计主要采用B/S结构,从学生入学到毕业每个人在校的信息,以及成绩的管理。本系统主要分为六大模块,基本信息管理、特殊信息管理、毕业生信息管理、信息管理(补助信息管理、勤工助学信息管理、奖励信息管理、处罚信息管理、异动情况信息管理)、成绩管理、个人管理。用户可以对各种信息进行录入,修改,删除等操作。更方便各个专业老师对学生信息的系统化管理,提高公效率,以达到更合理化,方便化等要求。3系统开发环境3.1系统开发理论依据3.1.1ASP概述1.ASP基本含义和特点ASP是ActiveServerPage的缩写,意为“活动服务器网页”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是.asp,现在常用于各种动态网站中。ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序。与HTML相比,ASP网页具有以下特点:(1)利用ASP可以实现突破静态网页的一些功能限制,实现动态网页技术;(2)ASP文件是包含在HTML代码所组成的文件中的,易于修改和测试;(3)服务器上的ASP解释程序会在服务器端制定ASP程序,并将结果以HTML格式传送到客户端浏览器上,因此使用各种浏览器都可以正常浏览ASP所产生的网页;(4)ASP提供了一些内置对象,使用这些对象可以使服务器端脚本功能更强。例如可以从web浏览器中获取用户通过HTML表单提交的信息,并在脚本中对这些信息进行处理,然后向web浏览器发送信息;(5)ASP可以使用服务器端ActiveX组建来执行各种各样的任务,例如存取数据库、发现那个Email或访问文件系统等。(6)由于服务器是将ASP程序执行的结果以HTML格式传回客户端浏览器,因此使用者不会看到ASP所编写的原始程序代码,可放置ASP程序代码被窃取。2.ASP的优点ASP的主要优点大概可以归纳如下:(1)可以用VBscript或Jscript创建脚本,同时结合HTML语言就能够非常方便地完成网站的应用程序。对于VBscript和Jscript,使用哪种语言并不重要,Web服务器等同地处理这两种语言,并向用户的浏览器发送HTML格式化结果。(2)因为ASP采用script语言(VBscript和Jscript)就可以轻松编写程序,因此这就大节省了网络设计人员又得重新学习一种新语言的时间。而且编写ASP无须手工compile编译或链接程序,可在服务器端直接执行,这无疑是更加方便了编写过程。(3)使用普通的使用记事本之类的文本编辑器,即可进行编辑设计,如:Windows的记事本。不要用FontPage98或DreamWeaver2.0等主页制作软件修改,因为会破坏源代码的。建议使用CuteFTP携带的CuteHTML编辑器进行编辑设计。(4)ASP是运行在服务器端,所以无须担心浏览器是否支持ASP所使用的编程语言,用户端只要使用可执行HTML码的浏览器,即可浏览ActiveServerPages所设计的网页内容。ASP在服务器端运行,当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。(5)ASP能与任何ActiveXscripting语言相容。除了可用VBscript或Jscript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其他脚本语言,譬如Perl、Tcl等。脚本引擎是处理脚本程序的COM(ComponentObjectModel)组件。(6)ActiveServerPages的程序代码隐藏,在客户端上仅可以看到由ASP输出的动态HTML文件。因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。转
创新互联基于成都重庆香港及美国等地区分布式IDC机房数据中心构建的电信大带宽,联通大带宽,移动大带宽,多线BGP大带宽租用,是为众多客户提供专业服务器托管报价,主机托管价格性价比高,为金融证券行业成都移动服务器托管,ai人工智能服务器托管提供bgp线路100M独享,G口带宽及机柜租用的专业成都idc公司。
#include stdio.h
#include string.h
struct student
{
long int num;
char name[20];
int age;
char sex[4];
char b[30];
char p[15];
};
int n=0;
struct student stu[100];
struct student *p;
void lr();
void ll();
void cx();
void xg();
void sc();
void main()
{
int z;
printf("+---------------------------+\n");
printf("| 欢迎使用学生信息管理系统 |\n");
printf("+---------------------------+\n");
printf("提示:为保证您的操作得到保存,请按正常顺序退出系统^_^\n");
do
{
printf("\n\t\t\t--------------------------------\n");
printf("\t\t\t+ 主菜单 |\n");
printf("\t\t\t--------------------------------\n");
printf("\t\t\t+ [1]----录入学生信息 |\n");
printf("\t\t\t+ [2]----浏览学生信息 |\n");
printf("\t\t\t+ [3]----查询学生信息 |\n");
printf("\t\t\t+ [4]----删除学生信息 |\n");
printf("\t\t\t+ [5]----修改学生信息 |\n");
printf("\t\t\t+ [0]----退出系统 |\n");
printf("\t\t\t--------------------------------\n");
printf("请输入您的选择:");
scanf("%d", z);
switch(z)
{
case 0 : break;
case 1 :lr();break;
case 2 :ll();break;
case 3 :cx();break;
case 4 :sc();break;
case 5 :xg();break;
default:printf("\n无效选项!");
}
}
while(z!= 0);
}
void lr()/*录入函数*/
{
int y;
if(n==0)
p=stu;
do
{
printf("--------------------\n");
printf("请输入学生的学号:");
scanf("%ld",p-num);
printf("请输入学生的姓名:");
scanf("%s",p-name);
printf("请输入学生的年龄:");
scanf("%d",p-age);
printf("请输入学生的性别:");
scanf("%s",p-sex);
printf("请输入学生的地址:");
scanf("%s",p-b);
printf("请输入学生的电话:");
scanf("%s",p-p);
n++;
p++;
printf("\n1.继续输入.\n0.输入完毕.\n");
printf("请选择:");
scanf("%d",y);
}
while(y==1);
printf("提示:输入完毕!你一共输入%d个\n",n);
}
void ll()/*浏览函数*/
{
int i,j;
if(n!=0)
{ printf("学生总数:%d\n", n);
printf("学号\t姓名\t年龄\t性别\t地址\t\t电话\n");
printf("-----------------------------------------------------\n");
for(i=0;in;i++)
printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p);
}
else printf("提示:无学生数据,请输入数据!");
}
void cx()/*查询函数*/
{
int c;
int w,i,j=0;
char name[20];
if(n!=0)
{
do{ printf("\n");
printf("+--------------------+\n");
printf("| 按学号查询 请按 1 |\n");
printf("| 按姓名查询 请按 2 |\n");
printf("| 取消 请按 0 |\n");
printf("+--------------------+\n");
printf("请输入您的选择:");
scanf("%d", c);
switch(c)
{
case 0:break;
case 1:
printf("请输入学生的学号;");
scanf("%ld", w);
printf("\n");
for(i=0;in;i++)
if(stu[i].num==w)
{
printf("\n学号\t姓名\t年龄\t性别\t地址\t\t电话\n");
printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p);
j=1;
}
if(j==0)
printf("提示:没有该学生记录,请核对!");
break;
case 2:
printf("请输入学生的姓名:");
scanf("%s", name);
printf("\n");
for(i=0;in;i++)
if(strcmp(name,stu[i].name)==0)
{
printf("\n学号\t姓名\t年龄\t性别\t地址\t\t电话\n");
j=1;
printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p);
}
if(j==0)
printf("提示:没有该学生记录,请核对!");
break;
default:
printf("\n提示:无效选项!");
break;
}
}while(c!= 0);
}else printf("提示:无学生数据,请输入数据!");
return;
}
void xg()/*修改函数*/
{
long int num;
int i,j,c;
if(n!=0)
{
printf("请输入您要修改的学生的学号:");
scanf("%ld", num);
printf("\n");
for(i=0;in;i++)
if(stu[i].num==num)
j=i;
do{
printf("请选择您要修改的学生的信息内容:\n");
printf("+----------------------+\n");
printf("| 姓名 请按 1 |\n");
printf("| 年龄 请按 2 |\n");
printf("| 性别 请按 3 |\n");
printf("| 学号 请按 4 |\n");
printf("| 地址 请按 5 |\n");
printf("| 电话 请按 6 |\n");
printf("| 取消 请按 0 |\n");
printf("+----------------------+\n");
printf("请输入您的选择:");
scanf("%d", c);
printf("\n");
switch(c)
{
case 0:break;
case 1:printf("请输入新姓名:");
scanf("%s",stu[j].name);
break;
case 2:printf("请输入新年龄:");
scanf("%d",stu[j].age);
break;
case 3:printf("请输入新性别:");
scanf("%s",stu[j].sex);
break;
case 4:printf("请输入新学号:");
scanf("%ld",stu[j].num);
break;
case 5:printf("请输入新地址:");
scanf("%s",stu[j].b);
break;
case 6:printf("请输入新电话:");
scanf("%s",stu[j].p);
break;
default:
printf("\n无效选项!");
break;
}
}while(c!= 0);
}else printf("提示:无学生数据,请输入数据!");
}
void sc()/*删除函数*/
{
long int num;
int i,j,e;
if(n!=0)
{
printf("学号\t姓名\t年龄\t性别\t地址\t\t电话\n");
printf("-----------------------------------------------------\n");
for(i=0;in;i++)
printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p);
printf("请输入您要删除的学生的学号:");
scanf("%ld", num);
printf("\n");
for(i=0;in;i++)
if(num==stu[i].num)
j=i;
if(j!=(n-1))
{
for(e=i-1;en;e++,j++)
{
stu[j].num=stu[j+1].num;
strcpy(stu[j].name,stu[j+1].name);
strcpy(stu[j].sex,stu[j+1].sex);
stu[j].age=stu[j+1].age;
strcpy(stu[j].b,stu[j+1].b);
strcpy(stu[j].p,stu[j+1].p);
n--;p--;
}
}else {n--;p--;}
printf("提示:删除完毕!");
}else printf("提示:无学生数据,请输入数据!");
}
C 语言学生成绩管理系统
#includestdio.h
#includemalloc.h
#includeconio.h
#includestring.h
typedef struct STUDENT
{
char studentNumber[20];/*学生学号*/
char studentName[20];/*学生姓名*/
char className[20];/*班级名称*/
float mark1;/*第1门成绩*/
float mark2;/*第2门成绩*/
float mark3;/*第3门成绩*/
struct STUDENT *next;
}STUDENT;
STUDENT *headLink; /*链表表头指针*/
/*函数声明*/
void ReadInfoFormFile();
void Menu();
void CreateHeadLink();
STUDENT *MallocNode();
void GetInformation(STUDENT *t);
void OutputInformation();
void DesplayInfoBystudentName();
void DesplayInfoBystudentNumber();
void DesplayOneNode(STUDENT *t);
void InsertOneNode(STUDENT *t);
void DeleteNodeBystudentNumber();
void ChangeMarkByName();
void ChangeMarkByNumber();
void SaveLinkToFile();
void paixu();
void DesplayMarkSegment();
int choose;/*用于接受用户的选择*/
/*主函数*/
main()
{
system("color 2a");
printf("\n\t\t欢迎进入***学院***班学生成绩管理系统\n\n\n");
printf("\t\t\t\tO(∩_∩)O\n\n\n\n");
printf("\t\t\t^_^\t\t\t^_^\n\n");
printf("\n\t\t 注意:请按照要求输入相应信息,谢谢!\n\n\n\n\n");
printf("\t\t\t\t\t\t\t\t制作人:***\n\n\n");
printf("\t\t\t 按任意键进入…………");
getch();
system("cls");
CreateHeadLink();
ReadInfoFormFile();
Menu();
}
/*从文件中读学生信息到链表中*/
void ReadInfoFormFile(void)
{
FILE *fp;
STUDENT *p;
fp=fopen("student.txt","r");
if(!fp)
{
printf("\n");
return;
}
p=MallocNode();
while(fscanf(fp,"%s%s%s%f%f%f",p-studentNumber,p-studentName,p-className,(p-mark1),(p-mark2),(p-mark3))0)
{
InsertOneNode(p);
p=MallocNode();
}
fclose(fp);
}
/*显示菜单,根据用户的输入完成相应的功能*/
void Menu(void)
{
STUDENT *p;
printf("\t\t (^o^)欢迎使用学生成绩管理系统(^o^)\n\n");
printf("\t ※--------------------请选择相应功能---------------------※\n\n");
printf("\t 1: 显示所有学生的信息 |");
printf(" \t 2: 按姓名查询 |\n\n");
printf("\t 3: 按学号查询 |");
printf(" \t\t 4: 增加学生 |\n\n");
printf("\t 5: 删除学生 |");
printf(" \t\t 6: 按姓名修改学生成绩 |\n\n");
printf("\t 7: 按学号修改学生成绩 |");
printf(" \t 8: 保存所有学生信息 |\n\n");
printf("\t 9: 按成绩输出学生信息 |");
printf("\t 10: 显示不及格及优秀学生 |\n\n");
printf("\t 11: 返回主菜单 |");
printf("\t\t 12: 退出 |\n\n");
printf("\t ※----------------------O(∩_∩)O------------------------※\n\n");
printf("\t 请输入对应数字:");
scanf("%d",choose);/*取得用户的选择*/
switch(choose)
{
case 1:system("cls");
OutputInformation();/*显示所有学生的信息*/
break;
case 2: system("cls");
DesplayInfoBystudentName();
break;
case 3: system("cls");
DesplayInfoBystudentNumber();/*根据用户输入的学号显示该学生的信息*/
break;
case 4: system("cls");
p=MallocNode();/*先申请一个新结点*/
GetInformation(p);/*要求用户输入信息到新结点中*/
InsertOneNode(p);/*将新结点加到链表中*/
break;
case 5: system("cls");
DeleteNodeBystudentNumber();/*根据用户输入的学号删除该学生*/
break;
case 6: system("cls");
ChangeMarkByName();/*根据用户输入的姓名修改学生成绩*/
break;
case 7: system("cls");
ChangeMarkByNumber();/*根据用户输入的学号修改学生成绩*/
break;
case 8: system("cls");
SaveLinkToFile();/*保存数据*/
break;
case 9: system("cls");
paixu();break;
case 10: system("cls");
DesplayMarkSegment();break;
case 11: system("cls");
break;
case 12: system("cls");
SaveLinkToFile();/*保存数据后再退出*/
free(headLink);
exit(1);
break;
default: system("cls"); break;
}
Menu();/*递归调用*/
}
/*建立链表表头*/
void CreateHeadLink(void)
{
STUDENT *p;
p=(STUDENT*)malloc(sizeof(STUDENT));
headLink=p;
p-next=NULL;
}
/*申请一个新结点,并将其初始化*/
STUDENT *MallocNode(void)
{
STUDENT *p;
int i;
p=(STUDENT*)malloc(sizeof(STUDENT));
if(p==NULL)
return NULL;
for(i=0;i10;i++)
p-studentNumber='\0';
for(i=0;i20;i++)
p-studentName='\0';
for(i=0;i20;i++)
p-className='\0';
p-mark1=0.0;
p-mark2=0.0;
p-mark3=0.0;
p-next=NULL;
return p;
}
/*取得用户输入的学生信息*/
void GetInformation(STUDENT *t)
{
printf("请输入学生学号:");
scanf("%s",t-studentNumber);
printf("请输入学生姓名:");
scanf("%s",t-studentName);
printf("请输入该生所在班级:");
scanf("%s",t-className);
printf("请输入第1门成绩:");
scanf("%f",(t-mark1));
printf("请输入第2门成绩:");
scanf("%f",(t-mark2));
printf("请输入第3门成绩:");
scanf("%f",(t-mark3));
}
/*在链表的结尾处增加一个结点*/
void InsertOneNode(STUDENT *t)
{
STUDENT *p;
p=headLink;
while(p-next)
{
p=p-next;
}
p-next=t;
}
/*根据用户输入的学生姓名显示该学生的信息*/
void DesplayInfoBystudentName(void)
{
STUDENT *p;
char studentName[20];
char flag=0;
p=headLink-next;
printf("请输入学生姓名:");
scanf("%s",studentName);
while(p)
{
if(strcmp(p-studentName,studentName)==0)
{system("cls");
printf("\t学号\t姓名\t班级\t成绩1\t成绩2\t成绩3\t总成绩\t平均成绩\n");
DesplayOneNode(p);
flag=1;
break;
}
p=p-next;
}
if(!flag) {system("cls");
printf("\t 对不起,不存在姓名为 %s 的学生\n",studentName);}
}
/*根据用户输入的学号显示该学生的信息*/
void DesplayInfoBystudentNumber(void)
{
STUDENT *p;
char studentNumber[20];
char flag=0;
p=headLink-next;
printf("请输入学生学号:");
scanf("%s",studentNumber);
while(p)
{
if(strcmp(p-studentNumber,studentNumber)==0)
{ system("cls");
printf("\t学号\t姓名\t班级\t成绩1\t成绩2\t成绩3\t总成绩\t平均成绩\n");
DesplayOneNode(p);
flag=1;
break;
}
p=p-next;
}
if(!flag) {system("cls");
printf("\t 对不起,不存在学号为 %s 的学生\n",studentNumber);
}}
/*输出一个结点的信息*/
void DesplayOneNode(STUDENT *t)
{
printf("\t%s\t",t-studentNumber);
printf("%s\t",t-studentName);
printf("%s\t",t-className);
printf("%.2f\t",t-mark1);
printf("%.2f\t",t-mark2);
printf("%.2f\t",t-mark3);
printf("%.2f\t",t-mark1+t-mark2+t-mark3);
printf("%.2f\t\n",(t-mark1+t-mark2+t-mark3)/3);
}
/*根据用户输入的学号删除该学生*/
void DeleteNodeBystudentNumber(void)
{
char studentNumber[10];
STUDENT *p,*q;
char flag=0;
printf("请输入要删除的学生学号:");
scanf("%s",studentNumber);
p=headLink;
q=headLink-next;
while(q)
{
if(strcmp(q-studentNumber,studentNumber)==0)
{
p-next=q-next;
free(q);
flag=1;
break;
}
p=p-next;
q=q-next;
}
if(!flag)
{ system("cls");
printf("\t 不存在该学号的学生\n");
return;
}
system("cls");
printf("\t 成功删除\n");
}
/*显示所有学生的信息*/
void OutputInformation(void)
{
STUDENT *p;
p=headLink-next;
if(p==NULL)
{
printf("\t 现在没有学生信息,请先输入学生信息\n\n");
return;
}
printf("\t学号\t姓名\t班级\t成绩1\t成绩2\t成绩3\t总成绩\t平均成绩\n");
while(p)
{
DesplayOneNode(p);
p=p-next;
}
}
/*根据输入的姓名修改成绩*/
void ChangeMarkByName(void)
{
STUDENT *p;
char studentName[20];
char flag=0;
float mark1,mark2,mark3;
p=headLink-next;
printf("请输入学生姓名:");
scanf("%s",studentName);
while(p)
{
if(strcmp(p-studentName,studentName)==0)
{
printf("请输入新的第1门成绩:\n");
scanf("%f",mark1);
printf("请输入新的第2门成绩:\n");
scanf("%f",mark2);
printf("请输入新的第3门成绩:\n");
scanf("%f",mark3);
p-mark1=mark1;
p-mark2=mark2;
p-mark3=mark3;
flag=1;
printf("修改成功\n");
break;
}
p=p-next;
}
if(!flag) {system("cls");
printf("\t 对不起,不存在姓名为 %s 的学生\n",studentName);
} }
/*根据输入的姓名修改成绩*/
void ChangeMarkByNumber(void)
{
STUDENT *p;
char studentNumber[20];
char flag=0;
float mark1,mark2,mark3;
p=headLink-next;
printf("请输入学生学号:");
scanf("%s",studentNumber);
while(p)
{
if(strcmp(p-studentNumber,studentNumber)==0)
{
printf("请输入新的第1门成绩:\n");
scanf("%f",mark1);
printf("请输入新的第2门成绩:\n");
scanf("%f",mark2);
printf("请输入新的第3门成绩:\n");
scanf("%f",mark3);
p-mark1=mark1;
p-mark2=mark2;
p-mark3=mark3;
flag=1;
printf("修改成功\n");
break;
}
p=p-next;
}
if(!flag){system("cls");
printf("\t 对不起,不存在学号为 %s 的学生\n",studentNumber);
}}
/*保存链表数据到文件中*/
void SaveLinkToFile(void)
{
STUDENT *p;
FILE *fp;
p=headLink-next;
if(p==NULL)
{
printf("\t 现在没有学生信息,请先输入学生信息\n\n");
return;
}
fp=fopen("student.txt","w+");
if(!fp)
{
printf("文件不存在\n");
return;
}
while(p)
{
fprintf(fp,"%s %s %s %f %f %f\n",p-studentNumber,p-studentName,p-className,p-mark1,p-mark2,p-mark3);
p=p-next;
}
fclose(fp);
}
/*显示优秀和不及格学生成绩*/
void DesplayMarkSegment(void)
{
STUDENT *p;
int count=0;
p=headLink-next;
printf("\t60分以下(不及格)的学生成绩如下:\n");
printf("\t学号\t姓名\t班级\t成绩1\t成绩2\t成绩3\t总成绩\t平均成绩\n\n");
while(p)
{
if((6((int)(p-mark1/10)))||(6((int)(p-mark2/10)))||(6((int)(p-mark3/10))))/*只要有一科不及格就认为该生不及格*/
{
count++;
DesplayOneNode(p);
}
p=p-next;
}
printf("\t不及格的学生一共有%d人\n",count);
p=headLink-next;
printf("\t成绩优秀的学生成绩如下:\n");
printf("\t学号\t姓名\t班级\t成绩1\t成绩2\t成绩3\t总成绩\t平均成绩\n\n");
count=0;
while(p)
{
if((8=((int)(p-mark1/10)))(8=((int)(p-mark2/10)))(8=((int)(p-mark3/10))))
{
count++;
DesplayOneNode(p);
}
p=p-next;
}
printf("\t成绩优秀的学生一共有%d人\n",count);
}
/*按总成绩排序*/
void paixu(void)
{
STUDENT exchange,*r,*p,*q;
r=headLink-next;
if(r==NULL)
{
printf("\t 现在还没学生信息,请先输入学生信息\n");
return;
}
while(r)/*两层while循环实现排序*/
{
p=r;
q=r-next;
while(q)
{
if((q-mark1+q-mark2+q-mark3)(p-mark1+p-mark2+p-mark3))
{
strcpy(exchange.studentNumber,q-studentNumber);/*先复制q结点信息到exchange*/
strcpy(exchange.studentName,q-studentName);
strcpy(exchange.className,q-className);
exchange.mark1=q-mark1;
exchange.mark2=q-mark2;
exchange.mark3=q-mark3;
strcpy(q-studentNumber,p-studentNumber);/*再复制p结点信息到q*/
strcpy(q-studentName,p-studentName);
strcpy(q-className,p-className);
q-mark1=p-mark1;
q-mark2=p-mark3;
q-mark3=p-mark3;
strcpy(p-studentNumber,exchange.studentNumber);/*最后复制exchange结点信息到p*/
strcpy(p-studentName,exchange.studentName);
strcpy(p-className,exchange.className);
p-mark1=exchange.mark1;
p-mark2=exchange.mark2;
p-mark3=exchange.mark3;
}
q=q-next;
}
r=r-next;
}
OutputInformation();
}
需求分析项目名称:公司人事管理系统
一、用例视图写出用例图的介绍,包括功能包、用例的简述等。不少于1000字。
二、用例描述1. Login 英文名称:Login 中文名称:登录 参与者 :User
1.1 简要说明 对登录的流程进行描述,操作者输入用户名、密码、选择用户类型进行登录。1.2 事件流 1.2.1 基本流 (1) 系统:显示登录界面; (2) 用户:输入登录信息,登录信息包括:用户名、密码、用户类型; (3) 用户:可能进行下面两种操作: (a) 用户:选择登录,则执行基本流(4); (b) 用户:选择重置,则返回到基本流(1); (4) 系统:检查用户的登录信息,可能有下边两种情况; (a) 登录成功:执行基本流(5); (b) 登录失败:执行备选流(1); (5) 登录成功,结束此用例。1.2.2 备选流 (1) 登录失败:如果系统检测到用户名、密码不存在或错误,则提示用户输入的登录信息不正确,系统返回到选择登录前的状态,用户可以重新输入/修改登录信息,重新执行基本流(3)。 1.3 特殊需求(约束和非功能性需求)
1.3.1 第一特殊需求 要求用户密码安全。
1.4 前置条件 1.4.1 第一前置条件 系统已启动到登录界面。
1.5 后置条件 1.5.1 第一后置条件 用户登录成功后,根据用户类型进入到相应界面。Administrator用户进入到管理员界面,Employee用户进入到个人用户界面。 1.5.2 第二后置条件 用户登录失败,返回到登录界面。
1.6 扩展点 没有与此相关的内容。
1.7 附加说明 1.7.1 附加说明1 登录过程要求安全性。
1.8 优先级 没有与此相关的内容。2. 略3. 略三、领域模型与用户字典1. 领域建模2. 用户字典2.1 Employee实 体 名Employee(员工)说 明公司的一个雇员,具有一定的职务或岗位,按照职务或岗位或工作量领取薪水基本属性编号、姓名、级别、职务、当月薪水实 体 名ID(编号)说 明员工的编号,由系统自动生成。4位阿拉伯数字,例如: 1234从属实体Employee实 体 名Name(姓名)说 明员工的姓名姓名最多8个汉字或16个英文字母从属实体Employee
2.2 略第二条词汇 的定义在此处提供。应提供读者理解该概念所需的全部信息
2.3 第一组词汇[有时,可利用术语分组来提高可读性。例如,如果问题领域包含与建筑项目的统计和建设两方面都相关的术语(当开发建筑项目管理系统时就会出现这种情况),提供两个不同子领域中的术语会使读者混淆不清。为了解决这种问题,我们采用了术语分组的方法。当提供分组术语时,应提供一段简短说明来帮助读者理解一组词汇的含义。为了便于查找,同组内的术语应按字母顺序排列。] [第一组词汇 的定义在此处提供。应提供读者理解该概念所需的全部信息。]
四、非功能性需求
1. 质量属性性能暂无要求安全性密码安全存储的安全易用性简单易用快捷操作持续可用性程序稳定可伸缩性暂无要求互操作性可更换数据库或存储成标准格式CSV可靠性不易死机测试严格鲁棒性能容忍非法操作易理解性易被开发人员看懂设计文档和代码规范可扩展性能增加功能可重用性系统的类可被重用可测试性易测试可维护性易修改错误、代码易理解可移植性易换平台易换数据库
2. 分析后的约束技术C++开发,程序员水平不高平台Win32数据库Csv文件或Access界面风格命令行时间一周其他暂无
1成绩管理系统------分析报告(不知如何贴数据流程图之类的到这里,所以把相关图片贴到空间里啦)(另:数据字典是表格形式啦,贴来这里就变了。)
一 . 引言
1.系统名称:学生成绩管理信息系统
2.开发目标:开发出一个操作简便,界面友好,灵活实用,安全可靠的学生成绩管理信息系统。
该系统的开发以教务管理人员和任课教师服务为对象,能够提高学校对学生成绩的统计分析效率,减轻教务管理人员对学生成绩管理和统计的负担,提高学校对学生成绩的规范化管理。
该成绩管理系统能够及时对学生成绩进行收集整理,使学校相关部门及时获取可靠的学生成绩信息,便于管理。
3.主要功能:
本系统的使用者根据其使用者------教务处管理人员和任课教师-----可分为以下几方面:
(1)教务处管理人员登陆后,进入教务人员管理模块,可以进行个人信息查询,教师住处职称工资情况的查询,学生信息查询,成绩查询以及退出系统等操作。
(2)教师登陆教师管理子系统,要能够对学生成绩进行权限范围内的录入、添加、修改、删除、查询;查询教师信息、更改个人登陆密码、修改个人信息等;
(3)学生单科成绩、全科成绩的总分、平均分,最高分、最低分,排序等计算和统计实现自动化;可以按班级、按个人进行信息查询;信息可以发布到网络,以实现数据共享;
(4)能够自动进行录入错误检查
4.开发背景
每个学校都需要在学期末进行期末考试成绩的统计分析工作,而这些工作都必须在考试结束后近一个星期的时间内完成。大量的成绩数据的统计分析工作如果只靠人工来完成,费时费力,还容易出错。随着计算机技术的飞速发展,计算机在日常管理应用中迅速普及,利用计算机进行学生成绩管理势在必行。因此需开发出一个能满足学校进行成绩的录入,统计,查询,报表和打印等需求的、功能完善、安全可靠、迅速简便的成绩管理信息系统。
二. 系统目标和开发的可行性
1.系统目标:
(1)为教务处管理人员提供各学期、各年级、各班级学生的基本成绩信息,以作为其进行成绩汇总,分析和考绩和总结评比的依据。
(2)方便各任课教师记录,统计所带班学生成绩,提高工作效率,减轻负担;总结经验,提高教学质量。
(3)实现快速方便地处理大量成绩数据信息,完成成绩的录入、添加、修改、删除、统计、查询、排序等处理要求。
(4)输出和打印成绩单和各种成绩报表。
2.开发的可行性
(1)系统的名称、功能、目标等已如前所述,此地不再重复。
(2)系统环境以及工具:
A. 软件环境:
用户端:Windows2000,Windows2003,Windows XP
服务器端:WindowsNT/Windows2000及以上操作系统
编程语言:SOL
数据库:Access2003
B 硬件环境:
有高性能的电子计算机、大容量的存贮装置,个人电脑(终端)以及联结起来的网线等,组成信息资源共享的计算机网络,有共享的打印机,扫描仪等等
(3)系统设计原则:
1) 系统运行安全可靠,稳定性好;
2) 系统的可管理性和可维护性好;
3) 系统输入界面友好,操作简便易行,尽量减少用户的输入工作量;
4)允许多种数据输入方式,能实现多种查询,允许进行模糊查询;
5)数据具有规范性,整体性,方便数据之间的比较分析。
(4)系统可行性分析:
A. 技术可行性:系统要求在windows2000以上环境运行,后台数据库采用access2003,使用SOL编程,采用ADO方式连接数据库,这些在目前都是容易实现的。程序将部分需要经常调用的数据存入内存,可提高程序运行速度.
B.经济可行性:在经济上,用此系统加强了成绩信息管理效率,为教务人员提供了较高的效率,可节省人力资源的开支。
C.管理的可行性:在工作上,教务人员管理学生信息量非常大,开发了此系统,可极大提高教务人员的工作的效率。方便成绩的储存和修改,及以后随时查询成绩信息,是一个比较人性化的管理系统。
(5).系统分析结论:
由以上分析得出,本系统可进行开发。
三. 现行系统概况
1.现行系统现状调查
现有的学生成绩管理系统主要是以成绩数据信息的存储和统计为目标,而且系统的设计繁琐,管理不够专人化,需要的人员过多,因此系统的安全性保密性不好;查询功能简单,数据共享性不高。
2.系统需求说明
(1)系统需要在实现数据录入,存储,统计自动化的基础上增强查询功能;
(2)要能够充分利用网络扩大信息共享程度;
(3)设专人管理员,明确划分管理权限,规范管理,以提高系统的安全性保密性。
四. 新系统的逻辑方案
1.业务流程图
2.数据流程图
(1)顶层图:
(2)第一层:
(3)第二层:
A:身份验证图:
B:成绩变动处理科:
C:教务人员身份验证:
3.数据字典
A:数据存储条目:
编号 名称 组成
D1.1
教师信息表 教师编号,教师姓名,教师职称,所教班级,所在学院
D1.2
学生成绩记录单 学生学号,姓名,课程名称,课程编号,课程成绩,教师编号
D1.3
教务人员信息表 教务人员姓名,编号,职称
D1.4
反馈信息表 教务处人员信息后对教师的评价,学生成绩的分析
B:数据加工条目:
编号 名称 输入 处理逻辑 输出
P1.1 身份验证处理 教师登陆信息 检验教师教工号与密码是否一致 ———
P1.2 成绩变动处理 学生学科成绩 录入、修改、删除成绩并检验是否输入错误 学生成绩记录单
P1.3 成绩查询处理 学生班别、学号、姓名 查询学生成绩,排序等 学生成绩记录单
P1.4
身份验证处理 教务人员登陆信息量 检验教务人员编号与密码 ———
P1.5 成绩查询处理 学院编号、年级、学号 查询班级成绩、排序及学期平均分等 学生成绩记录单及对教师的反馈信息
C:数据元素项目:
编号 名称 数据类型 长度 小数位 取值范围 说明
01 教师编号 N 8 0
02 教师名字 C 8
03 教师职称 C 6
04 所教班级 N 8 0
05 学生学号 N 8 0
06 学生姓名 C 8
07 课程名称 C 16
08 课程编号 N 10
09 成绩 N 3 1 0~~100
10 教务人员编号 N 8 0
11 教务人员姓名 C 8
12 教务人员职称 C 6
五.系统实施计划:
1.工作任务分工:
系统初步规划:
实验报告填写及图表绘制:
系统编程:,
后期系统检测完善:
2.进度安排:
系统分析阶段:2006.6.11—2..6.6.13
系统设计阶段:20066.20—2006.6.24
系统实施阶段:2006.25—2006.6.29
__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
2系统设计报告:
系统设计报告
一、概述
以需求分析说明书为依据,针对教务管理人员及教师对学生成绩的管理需求,参照现有的开发环境,利用可用资源和使用环境,设计出能满足相应功能的特点,构造并确定出类和类成员函数。
二、环境说明
1.硬件环境:CPU型号为Pentium Ⅲ以上,内存128M以上。
系统环境:Windows98 及WindowsXP等系统均可。
2.开发环境:Access软件下开发,此软件是面向对象的开发工具,易于上手,而且界面比较友好
三、模块图
四、功能模块
本系统大致分为如下四大功能模块。
1.用户登陆模块
用户登陆模块:(教务处管理人员---叶飞—密码:950281)
(教师---刘力—密码:980102)
A:教务处管理人员登陆后,进入教务人员管理模块,可以进行个人信息查询,教师住处查询,学生信息查询,成绩查询以及退出系统等操作。
B:教师登陆后,进入教员管理模块,可以进行个人资料修改,学生信息查询,本班成绩查询,其它班成绩查询,退出登陆等操作。
2.查询及修改模块
包括以下四个模块:
A:学生个人信息查询模块:此模块又分为学生个体模块和班级模块。学生个体模块包含了学生的基本信息以及成绩,可进行如学生所在班组,学院,专业,英语成绩等相关查询操作;
在班级模块则可按班级查询学生的信息。
B:教师信息查询及修改模块:此模块主要服务于教务管理人员,可以通过打开“教师表”或“单个教师信息”进行总体或指定个体查询,如对教师工龄、工资额的设定,对各个工龄段及相应的工龄工资额进行修改、添加、删除等操作。
C:成绩查询及修改模块:该模块又分为三部分:按指定学号进行学生个体成绩查询及修改; 按指定教工号进行教师所教班级成绩查询; 按指定班级号或专业号进行综合成绩查询其中还包括教师对其它班成绩的查询(但不无修改权)。
成绩查询具体内容包括指定科目成绩查询,成绩排序,排名,平均分和不及格科目查询等
D:用户信息修改模块:此模块用于教务管理人员及教师修改密码或用户名,教师教课班级及工资职称等信息的修改。
3.退出模块
查询修改完毕,通过退出模块退出成绩管理系统,以确保系统及个人信息的安全。
五、代码设计:
1 用户登陆模块代码:
A:教务处管理人员登陆
◆Private Sub 教务处人员登录_Click()
On Error GoTo Err_教务处人员登录_Click
Dim stDocName As String
stDocName = ChrW(25945) ChrW(21153) ChrW(22788) ChrW(20154) ChrW(21592) ChrW(30331) ChrW(24405)
DoCmd.RunMacro stDocName
Exit_教务处人员登录_Click:
Exit Sub
Err_教务处人员登录_Click:
MsgBox Err.Description
Resume Exit_教务处人员登录_Click
End Sub
B: 教师登陆
◆Private Sub 教师登录_Click()
On Error GoTo Err_教师登录_Click
Dim stDocName As String
stDocName = ChrW(25945) ChrW(24072) ChrW(30331) ChrW(24405)
DoCmd.RunMacro stDocName
Exit_教师登录_Click:
Exit Sub
Err_教师登录_Click:
MsgBox Err.Description
Resume Exit_教师登录_Click
End Sub
◆Private Sub ok_Click()
If Len(Nz(Me!UserName)) = 0 And Len(Nz(Me!UserPassword)) = 0 Then
MsgBox "用户名、密码为空!请输入", vbCritical, "error"
Me!UserName.SetFocus
ElseIf Len(Nz(Me!UserName)) = 0 Then
MsgBox "用户名为空!请输入", vbCritical, "error"
Me!UserName.SetFocus
ElseIf Len(Nz(Me!UserPassword)) = 0 Then
MsgBox "密码为空!请输入", vbCritical, "error"
Me!UserName.SetFocus
Else
If Me!UserName = "刘力" Then
If UCase(Me!UserPassword) = "980102" Then
MsgBox "欢迎使用!", vbInformation, "成功"
DoCmd.OpenForm "教师-综合信息查询"
Else
MsgBox "密码有误,非正常退出。", vbCritical, "error"
DoCmd.Close
End If
Else
MsgBox "用户名有误,非正常退出。", vbCritical, "error"
DoCmd.Close
End If
End If
End Sub
2 学生个人信息查询模块代码
A:指定学生信息查询:
◆ Private Sub Command1_Click()
On Error GoTo Err_Command1_Click
Dim stDocName As String
stDocName = ChrW(23398) ChrW(29983) ChrW(20010) ChrW(20154) ChrW(20449) ChrW(24687) ChrW(26597) ChrW(-29726)
DoCmd.OpenQuery stDocName, acNormal, acEdit
Exit_Command1_Click:
Exit Sub
Err_Command1_Click:
MsgBox Err.Description
Resume Exit_Command1_Click
End Sub
B:班级所有学生信息查询:
◆Private Sub Command20_Click()
On Error GoTo Err_Command20_Click
Dim stDocName As String
stDocName = ChrW(29677) ChrW(32423) ChrW(23398) ChrW(29983) ChrW(20449) ChrW(24687) ChrW(26597) ChrW(-29726)
DoCmd.OpenQuery stDocName, acNormal, acEdit
Exit_Command20_Click:
Exit Sub
Err_Command20_Click:
MsgBox Err.Description
Resume Exit_Command20_Click
End Sub
3 教师信息查询及修改模块代码
A:指定教师信息查询
◆Private Sub Command13_Click()
On Error GoTo Err_Command13_Click
Dim stDocName As String
stDocName = ChrW(25945) ChrW(24072) ChrW(20449) ChrW(24687) ChrW(21333) ChrW(20010) ChrW(26597) ChrW(-29726)
DoCmd.OpenQuery stDocName, acNormal, acEdit
Exit_Command13_Click:
Exit Sub
Err_Command13_Click:
MsgBox Err.Description
Resume Exit_Command13_Click
End Sub
B:全体教师信息查询:
◆Private Sub Command14_Click()
On Error GoTo Err_Command14_Click
Dim stDocName As String
stDocName = ChrW(25945) ChrW(24072) ChrW(20449) ChrW(24687) ChrW(26597) ChrW(-29726)
DoCmd.OpenQuery stDocName, acNormal, acEdit
Exit_Command14_Click:
Exit Sub
Err_Command14_Click:
MsgBox Err.Description
Resume Exit_Command14_Click
End Sub
4 成绩查询及修改模块代码
A:指定学生个体成绩查询:
◆Private Sub Command23_Click()
On Error GoTo Err_Command23_Click
Dim stDocName As String
stDocName = ChrW(23398) ChrW(29983) ChrW(20010) ChrW(20154) ChrW(25104) ChrW(32489) ChrW(26597) ChrW(-29726)
DoCmd.OpenQuery stDocName, acNormal, acEdit
Exit_Command23_Click:
Exit Sub
Err_Command23_Click:
MsgBox Err.Description
Resume Exit_Command23_Click
End Sub
B: 指定班级综合成绩查询
◆Private Sub Command24_Click()
On Error GoTo Err_Command24_Click
Dim stDocName As String
stDocName = ChrW(25353) ChrW(29677) ChrW(32423) ChrW(26597) ChrW(-29726) ChrW(23398) ChrW(29983) ChrW(25104) ChrW(32489)
DoCmd.OpenQuery stDocName, acNormal, acEdit
Exit_Command24_Click:
Exit Sub
Err_Command24_Click:
MsgBox Err.Description
Resume Exit_Command24_Click
End Sub
5 用户信息修改模块代码
◆Private Sub Command28_Click()
On Error GoTo Err_Command28_Click
Dim stDocName As String
stDocName = ChrW(25945) ChrW(21153) ChrW(22788) ChrW(20154) ChrW(21592) ChrW(20449) ChrW(24687) ChrW(26597) ChrW(-29726)
DoCmd.OpenQuery stDocName, acNormal, acEdit
Exit_Command28_Click:
Exit Sub
Err_Command28_Click:
MsgBox Err.Description
Resume Exit_Command28_Click
End Sub
6 退出模块代码
◆Private Sub Command31_Click()
On Error GoTo Err_Command31_Click
DoCmd.Quit
Exit_Command31_Click:
Exit Sub
Err_Command31_Click:
MsgBox Err.Description
Resume Exit_Command31_Click
End Sub
__________________________________________________________________________________________________________
3系统实施报告
成绩管理系统实施报告
一、 系统物理实施
物理实施阶段的任务:实现系统设计阶段提出的物理模型;
按照实施方案完成一个可以实际运行的成绩管理信息系统,交付用户使用;
硬件包括计算机主机、输入输出设备、存储设备、辅助设备、网络连接等。
系统的实施环境:A:硬件准备:戴尔电脑
B:软件准备:windows98或windows xp环境下。
二、 程序设计
一)设计系统要具有以下性质
1、可维护性 由于信息系统需求的不确定性,系统需求可能会随着环境的变化而不断变
化,因此,就必须对系统功能进行完善和调整,为此,就要对程序进行补充或修改。此外,由于计算机软硬件的更新换代也需要对程序进行相应的升级。
2 、可靠性:程序应具有较好的容错能力, 意外情况下应便于处理,不至产生意外的操作,从而造成严重损失,致使学生教师信息的丢失。
3、 可理解性:程序不仅要求逻辑正确,计算机能够执行,而且应当层次清楚,便于阅读及修改。
二)模块图
用户登陆模块:(教务处管理人员---叶飞—密码:950281)
(教师---刘力—密码:980102)
A:教务处管理人员模块
B:教员管理模块
2.查询及修改模块
包括以下四个模块:
A:学生个人信息查询模块:
在班级模块则可按班级查询学生的信息。
B:教师信息查询及修改模块:
C:成绩查询及修改模块:
D:用户信息修改模块
三、系统的测试与评价
系统评价就是客观,从三方面评价该学生成绩管理系统的各项功能:优点,
缺点以及将来可能提出的要求。
一 系统的特点
1.流程符合教务处及教师对成绩管理的需求。
2.可进行多方面查询:教务管理人员,可以通过进入教务管理人员模块进行总体或3.指定个体的查询及修改,如对教师工龄、工资额的设定。且操作明朗化
4.界面较友好,输入信息方便,便于保存信息。
5.系统扩充容易。可根据需要建立针对特殊条件下的筛选查询。
二系统的缺点
1.网络功能欠缺。本系统没有建立网络连接,只能单机运行,无法实现资源共享。
2.容错性不高。系统的抗错,容错性不高。如必须使用规范查询语言,否则系统无法辨识执行。
3.有很多地方还设计的不够详细,且系统分析报告中提及的一些功能在此未能实现。如教务管理人员并不能将信息给反馈任课教师。
4.没有良好的密码限制以防止人为的破坏与盗窃数据资源。
四、系统的试运行
运行时间:2007.6.28 检测时间:4小时 检测人员: 运行结果:初步认定各项功能执行良好。
五、人员培训
人员培训是管理信息系统的重要组成部分,包括教务管理人员和教师以及管理与维护信息系统的专业人员。每一个与新系统有关的人都应该了解管理信息系统的运作方式和运作过程。培训就是使有关系统使用者,管理人员和技术人员了解和掌握新系统的有效途径之一。通过相关培训,使其了解注意事项,培养他们使用系统的习惯,以及熟练程度。经过培训,使员工非常良好的融入到系统当中。
六,文档编制
1.程序设计手册
2.程序设计手册将选定计算机语言或开发工具,来描述成绩管理系统的计算机模型,其主要使用者是系统维护人员。手册包括以下内容: A:系统采用的术语 B:系统的功能详细描述
C:程序清单 D:系统覆盖的流程
3.用户操作手册
用户操作手册为教务处管理人员和教师提供系统能够作什么和不能作什么的概况,一份详细的安装指南,以及一个贯穿系统详细指南。
要免费的木有,想要找人代做,可以找我,联系方式见个人简介。