成绩管理系统-中期报告

成绩管理系统-中期报告
成绩管理系统-中期报告

华中科技大学电子科学与技术系

课程设计报告

( 20 -- 20 年度第学期)

名称:软件课程设计

题目:学生成绩管理程序

院系:电子科学与技术系

班级:

学生姓名:

指导教师:

设计周数:

成绩:

日期:年月日

目录

1. 设计任务 (1)

2. 基本思路 (1)

3. 方案设计 (2)

3.1 功能需求 (2)

3.2 相关函数说明 (2)

4. 程序的源代码 (6)

5. 调试过程中出现的问题及相应解决办法 (9)

6. 个人体会及建议 (10)

7. 参考文献 (10)

1.设计任务

本系统对任何人、任何时候访问系统,都要进行身份验证,以便判断该用户是否合法、若为合法用户,将给予相应的访问权限;否则将给出相应的出错信息。

本系统主要分为两个部分:管理员部分和学生部分。管理员部分主要完成身份管理、编辑信息、查询信息、显示信息等功能。学生部分主要完成验证身份和查询信息等功能。

我们组已经对整个程序的框架有了很清晰的认识,对每个部分要做什么也有了很清晰的认识。现在我们已经完成其中一部分函数的代码。其中遇到了不少的困难,有一些还是没有解决,有待后面讨论和解决。

2. 基本思路

本系统中主要采用的结构体的数据结构。每个学生信息资料用一个StuInfo结构来保存,用StuInfo数组全局变量records来保存一批学生的信息资料。宏定义INITIAL_SIZE表示数组初始大小,当已分配的数组大小不够用时,将增加数组大小,INCR_SIZE为当每次增加的大小。全局变量numStus表示数组中记录的学生数,arraySize是为数组分配的空间大小。全局变量savedTag是信息是否已保存的标志,当数组内容被保存至文件后,设为”已保存”状态,当数组内容被修改之后,设为”未保存”状态。

程序执行后,进入主界面如下,用户可以分别以管理员或者是学生身份进入系统或退出系统。

进入主界面后若选1,输入管理员用户名和密码(若是第一次进入系统,则要先设置管理员用户名和密码),如果正确进入管理员界面,用户可以编辑信息、查询信息、显示信息、和修改密码(如图)。若不正确,则输出错误信息并返回。

进入主界面后若选2,输入学生姓名和学号,如果正确则进入学生操作界面,如图3,学生可以进行显示自己的信息、显示全班的信息、显示班级及格学生的信息、显示不及格学生的信息、显示按学号排序显示所在班级的学生信息和按名次排序显示所在班级学生信息

3.方案设计

3.1 功能需求

3.2 相关函数说明

本课程设计对模块设计如下:

(1)使用多文件方式实现设计;

(2)在各个文件内实现结构化设计;

(3)每个模块作为一个单独的c文件,每个文件内的函数如表1所示,表中给出了各个函数的功能说明;

(4)宏和数据结构等放在头文件中,并使用条件编译。

本设计由6个c文件(23个函数)和一个头文件组成,每个c文件都代表着某种特定的功能,它们的关系如表-1所示。

程序包含文件的存、取过程。它的功能就是按输入顺序建立记录。如果原来没有记录文

件,可以重新建立一个文件;如果已经有记录,可以先把文件内容读入,然后把新记录

追加

到原来记录的尾部;也可以单独建立新文件,以后再使用读取文件的方法拼装。表-1:文件及函数组成

3.3 主要函数的程序框架设计举例

3.3.1管理员身份验证

管理员身份验证的算法如图所示(学生身份验证类似)

说明:1.首先打开文件stuinfo,如成功,将文件中的姓名和密码信息分别读出到变量na[20],co[20]中,输入要验证的姓名和密码到变量na1[20],co1[20]中。

2.比较na[20],co[20]和na1[20],co1[20]是否相等,如相等则身份验证通过,进入管理员角色,否则输入出错信息并返回用户选择菜单。

3.如打开文件stuinfo失败,则对名字和密码进行初始化,输入初始化姓名和密码到na[20],co[20]中,然后写入到文件stuinfo中。

3.3.2编辑信息

下面举编辑信息中的初始化信息为例,其他删除信息、添加信息、修改信息等都类似,如下图。

说明:1.若信息不存在,自动生成文件来存放该班级的信息,输入要初始化的学生数ycount及科目count1,输入学生的姓名和学号到临时变量a[20]和b中,调用checknum 函数检验该学生是否存在,若存在,i--,重新输入;否则继续输入各科的成绩。

2.可直接输入信息吗,对相应的科目成绩求和,得到total。算出平均分。

3.判断初始化是否结束,如果没有结束,继续输入;如果结束调用save函数保存到初始化信息中。

还要强调下,排序的程序框图稍有差别,它主要用冒泡法来实现排序的功能。

4. 关键程序的源代码

主函数的程序如下

void main()

{

FILE *fp;

char na[20],na1[20].co[20],co1[20];/*管理员姓名密码及管理员要验证的姓名和密码*/

int i,sign=0; /*返回标志位*/

struct sstudent *stu;

switch(menu_select())/*模式选择菜单*/

{

case 1:

{

sign=checkcode();/*验证管理员姓名和密码*/

if(sign==1);break;/*如不正确,退出*/

else

switch(managermenu())/*管理者菜单*/

{

case 1:

{switch(editmenu())/*编辑菜单*/

case 1:newrecord();break;/*信息初始化*/

case 2:add();break;/*信息添加*/

case 3:dele();break;/*删除信息*/

case 4:copy();break;/*信息备份*/

case 5:modify();break;/*信息修改*/

case 6:resume();break;/*信息恢复*/

case 0:exit(0);/*退出*/

}

case 2:

{

switch(inqumenu())/*查询菜单*/

{

case 1:inqunum();break;/*按学号查询*/

case 2:inquname();break;/*按姓名查询*/

case 3:inqurank();break;按名次查*/

case 4:inquscore();break;按成绩查询*/

case 0:exit(0);

}

}

case 3:

switch(showmenu())/*显示菜单*/

{

case 1:showpass();break;/*显示及格学生的信息*/

case 2:showfail();break;/*显示不及格学生的信息*/

case 3:showall();break;/*显示所有学生信息*/

case 4:showfrontn();break;/*显示前n名学生的信息*/

case 5:showbehindn();break;/*显示后n名学生的信息*/

case 6:showpoint();break;/*按分数段显示信息*/

case 0:exit(0);

}

case 4:modifyadmini();break;/*修改管理员的信息*/

case 5:exit(0);

}

}

case 2:

{

stu=studentcheck();/*验证学生身份*/

if(stu->sign==1)

{switch(studentmenu())/*学生菜单*/

case 1:sshow(stu,0);break;/*显示个人信息*/

case 2:sshow(stu,1);break;/*显示所有学生信息*/

case 3:sshow(stu,2);break;/*显示及格学生信息*/

case 4:sshow(stu,3);break;/*显示不及格学生信息*/

case 5:paixu(stu,0);break;/*按学生学号排序*/

case 6:paixu(stu,1);break;/*按名次排序*/

case 0:exit(0);

}

}

case 0:exit(0);

}

}

主函数写好之后,下面的任务就是把其中的子函数完成,下面还有几个函数比较关键。

1.

int menu_select()

{

int mode;

/*输出mode菜单选择的界面*/

printf(" main list \n");

printf("*********************************************\n");

printf("<1>manager mode\n");

printf("<2>student mode\n");

printf("<0>exit\n");

do{ /*直到选择正确的mode为止*/

printf("please choose the mode:\n");

scanf("%d",&mode);

printf("\n");

}while(mode<0||mode>2);

return mode;/*返回所选mode的值*/

}

2.

int managermenu

{

int mode;

/*显示管理员mode的界面*/

printf(" manager list \n");

printf("****************************************************");

printf("<1>edit information\n");/*编辑信息*/

printf("<2>inquire information");/*查询信息*/

printf("<3>show information");/*显示信息*/

printf("<4>modify information");/*修改信息*/

printf("<0>exit");

do{

printf("please choose the mode:");

scanf("%d",&mode);/*输入要进行的选项序号*/

printf("\n");

}while(mode<0||mode>4);

return mode;

}

3.身份认证函数

int ckeckcode()/*身份验证*/

{

int na[20],co[20],na1[20],co1[20],i;/*验证管理员姓名和密码*/

FILE *fp;

if((fp=fopen("stuinfo", "rb"))==NULL)

{

printf("please set your identify\n");

printf("name");

scanf("%s",na);

printf("\npassword\n");

scanf("%s",co);

fp=fopen("stuinfo","wb+");

for(i=0;i<20;i++)

{

fwrite(&na[i],sizeof(char),1,fp);

fwrite(&na[i],sizeof(char),1,fp);

}

fclose(fp);

return 0;

}

else

{

for(i=0;i<20;i++)

{

fread(&na[i],sizeof(char),1,fp);

fread(&co[i],sizeof(char),1,fp);

}

printf("please enter your name:");

scanf("%s",na1);

printf("\nplease enter your password:");

scanf("%s",co1);

if(strcmp(na,na1)!=0)

{

printf("your name is wrong.");

getch();

return 1;

}

if(strcmp(co,co1)!=0)

{

printf("your password is wrong.");

getch();

return 1;

}

}

}

5.编写代码过程中的困难和相应解决办法

开始我们在编程过程中,我不知道怎样把我整个学生管理系统的框架。后来逐步理清思路,因为整个成绩管理系统的管理其实就像是一个树形结构,不断地分支,所以我们决定采用switch函数,虽然再看主函数的时候可能会感觉有很多的case语句,但其实它的整个思路还是比较清晰的,就像是一个树形结构一环扣着一环。另外在程序设计过程中,我们把老师原来的一些函数替代了,原因是我们当初是先设计我们要完成的函数,以及流程图的设计,在设计后考虑到和老师原来的函数有某些冲突,其中我们增加了不少我们自己想到的成绩管理系统的功能,为了写代码更加符合原来我们的设计以及适应我们另外增加功能,我们替代原来的函数。

6.个人体会和建议

在编程过程中,我们才实实在在地感受到程序设计用处。在编程的过程中,我们还是发现原来在大一学的C语言的基本功不够扎实,当遇到实际的问题的时候便没有办法了。我还想给老师一点建议,就是我们在编程的过程中发现,老师当初给了我们很多的资料和要求,本来是想有助于我们完成任务的,但在实践过程中发现其实很多时候,老师提出的一些要求变成了我们在编程过程中的阻碍,因为我们总是想着按照老师的要求来完成任务,但有时候完成统一任务的方式有很多种,不必拘泥于老师提出的一种。这也是我们决定更改函数的一个很重要的原因,因为我们再看其他组的同学在这方放不开手脚。这也算是在实践过程中得到的一个体会吧:凡事不要太死板,太拘泥于一种方式。

参考文献

[1]《C语言程序设计》谭浩强等编,清华大学出版社

[2]《C程序设计上机指导》谭浩强主编,清华大学出版社

[3] 《C语言贯通教程》,史斌星,清华大学出版社

[4] 《程序设计基础》,孙承爱等,清华大学出版社

数据库课程设计报告:学生成绩管理系统

《数据库系统原理》课程设计报告 学生成绩管理系统 设计成员 所在专业 所在班级 指导教师 提交时间

目录 卷首语:读书笔记 (4) 1、课程设计的目的 (6) 2、课题组成员的设计任务 (7) 3、学生信息管理系统概述 (8) 4、系统需求分析 (10) 5、数据库设计 (12) 6、系统模块详细设计 (17) 7、课程设计设计总结 (21) 8、程序源代码 (22) 参考文献 (50)

学生信息管理系统 班级:制作成员:指导教师:

卷首语: I、读书笔记 关于网上花店管理系统的读书笔记: 在网上购物逐步平民化的今天,网上购物人数不断增加,现代IT技术和互联网的结合。给了市场创造了无限商机!我阅读了一片“网上花店管理系统”的论文。该论文主要研究网上花店管理系统。该系统以MySQL作为后台数据库,JSP作为前台开发工具,通过Java中的JDBC连接数据库。提供给用户网上浏览,购买,支付等功能,同时.管理员对可以该系统进行维护和管理! SQL Server安全可靠,性能好,易用性强,JSP的Web运用跨平台,系统底层采用Java开发。Java语言简单,面向对象,安全性高的特点,运用Serlvet 模式和Tomcat服务器。这几点的综合搭配使得该系统灵活方便易用,简化了动态网站的开发。 网上花店管理系统实现了用户注册,网上订购支付,留言,购物车,鲜花资料管理和用户管理,订单管理等功能。SQl数据库实现了用户注册登记信息的存储,和网站资料维护,更新等使得数据的管理更加便利,高效…JSP则为用户提高动态图形界面,简化了操作,提高了易用性。论文还详细介绍了系统的逻辑结构设计,逻辑图,总功能设计,和数据库设计等。该系统即使是不懂web 技术的人也可以熟悉运用。 开发工具和数据库的工具有很多,各有各的优势。在互联网大行其道的时代,电脑技术顺应着时代的发展,只有我们把握运用好各类技术,相互结合与利用,才能制作出更好的软件和程序。 在现在信息化高速发展的时代,信息只有快,准,精才能发挥其价值。所以机器代替人力是必然的历史发展趋势,人工操作必将被计算机代替。计算机在我们的日常生活中的使用越来越不可或缺,计算机进行信息管理,不仅提高了工作效率,而且大大的提高了其安全性.尤其对于复杂的信息管理,计算机能够充分发挥它的优越性. 数据库技术,已经成为先进信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。数据库技术从诞生到现在,在不到半个世纪

学生成绩管理系统测试用例

大连东软信息学院项目文档 学生成绩管理系统测试用例 测试用例 教师服务子系统测试用例测试负责人:王哲一级模块模块名称教师服务系统 二级模块模块名称插入成绩 用例描述用例起始于教师要插入学生成绩 测试序号C1 测试过程及数据用例编号 U1 登录教师管理系统,选择1插入成绩,回车;输入成 绩100,输入-1,回车结束输入; 用例编号 U2 登录教师管理系统,选择1插入成绩,回车;输入成 绩65,87,90,73,60,输入-1,回车结束输入; 预期结果U1 系统提示插入成绩失败,成绩必须为[0,100]之间的数 字 U2 系统提示插入学生成绩成功 测试结果通过 二级模块模块名称查询成绩 用例描述用例起始于教师要查询学生成绩 测试序号C2 测试过程及数据用例编号 U3 登录教师管理系统,选择2查询成绩,回车;输入未 插入的成绩100,回车; 用例编号 U4 登录教师管理系统,选择2查询成绩,回车;输入已 插入的成绩90,回车; 预期结果U3 系统提示要查询的成绩不存在 U4 系统显示成绩为90的学生的相关信息 测试结果通过 二级模块模块名称成绩排序 用例描述用例起始于教师要对学生成绩进行排序 测试序号C3 测试过程及数据用例编号 U5 在未插入任何成绩的情况下,直接选择3成绩排序, 回车; 用例编号 U6 登录教师管理系统(系统中已插入成绩65,87, 90,73,60),选择3成绩排序,回车; 预期结果U5 系统提示对不起,尚无数据 U6 系统将学生成绩按90,87,73,65,60降序排序 测试结果通过

学生服务子系统测试用例测试负责人:顾赛一级模块模块名称学生服务 二级模块模块名称成绩查询 用例描述用例起始于一名学生想查看自己的成绩 测试序号C5 测试过程及数据用例编号 U7 选择功能2,回车,输入正确课程名称:软件工程用例编号 U8 选择功能2,回车,输入错误课程名称:地理 用例编号 U9 选择功能2,回车,输入正确课程编号:03 用例编号 U10 选择功能2,回车,输入错误课程编号:009 预期结果U7 输出包括,学生姓名,学号,课程号,课程名称,成 绩。 U8 提示你输入的课程名称存在,请重新输入 U9 输出包括,学生姓名,学号,课程号,课程名称,成 绩。 U10 提示你输入的课程编号不存在,请重新输入 测试结果通过 二级模块模块名称成绩排序 用例描述用例起始于一名学生想对成绩进行排序 测试序号C6 测试过程及数据用例编号 U11 选择功能3,回车,显示所有科目包括,学生姓名, 学号,课程号,课程名称,成绩,输入:成绩升序 用例编号 U12 选择功能3,回车,显示所有科目包括,学生姓名, 学号,课程号,课程名称,成绩,输入:数子 用例编号 U13 选择功能3,回车,显示所有科目包括,学生姓名, 学号,课程号,课程名称,成绩,输入:成绩降序 用例编号 U14 选择功能3,回车,显示所有科目包括,学生姓名, 学号,课程号,课程名称,成绩,不输入,回车。 预期结果U11 按成绩升序排列。 U12 提示你输入的提示不正确。U13 按成绩降序排列。 U14 显示你输入的提示不正确。 1

学生成绩管理信息系统

管理信息系统课程设计 专业班级: 学号: 姓名: 指导教师: 职称:

成绩评定

学生成绩管理信息系统分析与设计一、可行性分析 (一)学生成绩管理信息系统的背景,实施的必要性与意义。 在计算机技术与信息技术迅猛发展的今天,作为信息系统核心和基础的数据库技术得到了越来越广泛的应用。从小型单项事务处理系统到大型共享系统,从一般商用事务处理到计算机辅助设计与制造(CAD/CAM)、计算机集成制造系统(CIMS)、办公信息系统(OIS)等等,越来越多新的应用领域采用数据库存储和处理他们的信息资源。正是由于计算机的应用,才有可能使现代社会组织和企事业单位的信息处理能力适应现代化管理的要求。 随着学校规模的不断扩大,学生数量的急剧增加,有关学生的各种信息资料也成倍增长。办学者们所头疼的问题,就是如何面对这庞大的信息量。只有利用计算机,利用学生管理信息系统才能解决这一问题,才能提高学生管理的工作效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。在这里首先我们先了解一下管理信息系统。 随着我国教育体制改革的深入进行,教育系统得到了前所未有的发展。学生管理正在逐步迈向管理信息现代化。但是,我国的学生管理信息化水平还处在初级阶段,主要表现在对学生的基本信息管理、学生的档案管理还是采用原有的人工管理方式。这就造成工作效率低、误差大,也造成了人力、物力、财力资源的浪费。与此同时,学校是培养国家栋梁之材的场所,无论是在教育,还是在管理上都应走在最前列,而其中管理又是学校运转良好的关键。如何提高管理,是当前学校管理者所面临的重要课题。 因此,成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学生成绩进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生成绩管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 本系统是由可视化开发软件工具下分析、设计、开发大中专院校的成绩管理

学生成绩管理系统源代码

学生成绩管理系统源代码-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

#include #include #include #include #include #include #include #include #define PRINT1 textcolor(12); cprintf("\r 请按任意键返回主菜单 \n\r");textcolor(10); getch();clrscr(); break; int shoudsave=0; struct student /* 学生信息结构体定义*/ { char num[10],name[20],cla[4]; int score1,score2,score3,total,ave; }; typedef struct node { struct student data; struct node *next; }Node,*L; void print1() { cprintf("\r============================================================= ==================="); } void print2() { cprintf("\n\r 1.输入学生成绩信息在这里你可以按照提示输入学生的班级,学号,姓名及各科成绩.\n"); cprintf("\n\r 2.注销学生成绩信息在这里你可以按照学号或姓名将某名学生的信息从本系统中删除.\n"); cprintf("\n\r 3.查询学生成绩信息在这里你可以按照学号或姓名查询某一名学生的信息.\n"); cprintf("\n\r 4.修改学生成绩信息在这里你可以按照提示修改某一名学生的学号,姓名及各科成绩."); cprintf("\n\r 5.学生成绩信息排序在这里你可以看到所有学生的各科成绩.\n"); cprintf("\n\r 6.学生成绩信息统计在这里本系统将为你显示所有科目的最高分及最低分所得学生.\n"); cprintf("\n\r 7.显示学生成绩信息在这里你可以看到系统中所有学生的信 息.\n"); cprintf("\n\r 8.保存学生成绩信息在这里你可以将学生你信息保存到内存 中.\n");

数据库学生成绩管理系统课程设计

河南理工大学 计算机科学与技术学院 课程设计报告 200 7 — 200 8 学年第二学期 课程名称数据库课程设计 设计题目学生成绩管理系统 学生姓名 ^0^ 学号 专业班级 指导教师申自浩 2008 年 7 月 1 日

? 1 问题描述 1.1 背景 1)某大学有学生若干万名,每个学生每学期必须学习若干门课程。 2)每个学生有学号、姓名、性别、班级、出生日期等基本信息。 3)每门课程有课程号,课程名称、任课教师、学分等信息。 4)学校需要对每个学生的基本信息、所学课程、成绩进行统一管理,以便于对信息进行查询、浏览和修改。 1.2 数据需求 学生成绩管理系统主要用于学生成绩信息管理,据分析学生成绩管理系统的数据表可浓缩为:学生基本信息表、课程基本信息表和学生成绩信息表。根据学校的情况,可按下面的步骤来分析: (1) 确定学生所在的院系、所学的专业以及所在的班级。 (2) 确定学生所在班级的课程以及该课程学生的成绩;另外还需要知道学生所在 班级、学号和学期。 (3) 分析学生的基本信息,如姓名、性别、出生年月、家庭住址、联系电话。 (4) 用户信息分析,通常包括用户名和密码。 ? 2 解决方案 ( 或数据库系统设计 ) 2.1 E-R 模型设计 课程 学生 班级 学号 出生日期 姓名 查询成绩 任课教师 课程号 课程名称 学分 成绩 性别

根据E—R图,将其转化为如下数据实体,数据库:学生成绩管理系统.dbc,包括如下的表和视图: 1)学生登记表——学生表.dbf。 字段名称字段类型字段宽度 xh 字符型 10 xm 字符型 6 xb 字符型 2 csrq 日期型 8 bj 字符型 4 2)课程登记表——课程表.dbf。 字段名称字段类型字段宽度 kch 字符型 2 kcm 字符型 10 js 字符型 10 xf 字符型 10 3)成绩登记表——成绩表.dbf 字段名称字段类型字段宽度 xh 字符型 10 kch 字符型 2 cj 数值型 3 4) 借书视图(lyxview)。 为了进行浏览总表的需要,需要设计了一个总表浏览视图,该视图从学生表.dbf等3个表中提取了10个字段的数据: 学生表.xh 学生表.xm 学生表.xb 学生表.csrq 学生表.bj 课程表.kch 课程表.kcm 课程表.js 课程表.xf 成绩表.cj 其视图关系可由以下SQL语句定义: SELECT 学生表.*, 课程表.*, 成绩表.cj;

最新学生成绩管理系统测试计划(1)

《学生成绩管理系统测试计划》 一.引言 1编写目的 为了保证学生成绩管理各项功能可靠实现,特编写此测试计划,对所有功能模块及总系统进行测试。 此测试计划供程序员在程序高度阶段参考,在系统测试阶段提供测试依据。本测试计划主要用于发现系统开发过程中出现的各种不妥之处,发现软件中的错误。 2背景 1)待开发系统软件名称:学生成绩管理系统; 2)本项目的任务提出者是学校信息管理系统的各位老师,由本小组负责开发,用于江西农业大学广大师生成绩查询及管理; 3)开发背景:本系统属于江西农业大学大学网络管理系统的学生成绩管理模块,实现的是网络管理系统中关于学生成绩管理的子功能,通过此软件,提高用软件工程分析问题、解决问题的能力,同时增强对数据库和VC#的使用能力。 3定义 成绩管理:所谓成绩管理,是指以学校中的学生为对象,根据学生的成绩来做记录,将学生的成绩进行有关操作和分配。并对学生的成绩进行总和与管理。 4参考资料 [1] 张海藩,《软件工程导论》,清华大学出版社,2008 [2] 陆丽娜,《软件工程》,经济科学出版社,2008 [3] 萨师煊,《数据库系统概论》,高等教育出版社,2006 [4]薛华成,《管理信息系统》,清华大学出版社,2007 二. 计划 1软件说明

2 测试内容 2.1 登录模块 2.3学生成绩查询模块

2.4管理学生成绩信息模块 2.5 分析统计信息管理模块

三.测试设计 1用户登录(01) 本测试考虑到:未注册用户名的处理,用户名与密码不匹配处理 1.1控制 利用白盒测试和黑盒测试相结合的方式。 2学生成绩管理模块(02 ) 本测试考虑到:输入信息格式的合法性,学生编号是否注册。 2.1控制 利用白盒测试和黑盒测试相结合的方式。(成绩默认为整数)

学生成绩管理系统

课程设计报告 课程名称《数据结构》 课题名称 _学生成绩管理系统 专业计嵌 班级 学号 姓名 指导教师 2013年 12 月 25 日

前言 设计课题三十:学生成绩管理系统 一、问题描述: 现有学生成绩信息文件1(1.txt),内容如下 姓名学号语文数学英语 张明明01 67 78 82 李成友02 78 91 88 张辉灿03 68 82 56 王露04 56 45 77 陈东明05 67 38 47 …. .. .. .. … 学生成绩信息文件2(2.txt),内容如下: 姓名学号语文数学英语 陈果31 57 68 82 李华明32 88 90 68 张明东33 48 42 56 李明国34 50 45 87 陈道亮35 47 58 77 …. 试编写一管理系统,要求如下: 1) 实现对两个文件数据进行合并,生成新文件3.txt 2) 抽取出三科成绩中有补考的学生并保存在一个新文件4.txt 3) 对合并后的文件3.txt中的数据按总分降序排序(至少采用两种排序方法实现) 4) 输入一个学生姓名后,能查找到此学生的信息并输出结果(至少采用两种查找方法实现) 5) 要求使用结构体,链或数组等实现上述要求. 二、功能要求: 1、实现对两个文件数据进行合并,生成新文件3.txt。 2、本系统显示这样的菜单: 请选择系统功能项: 0.退出 1.显示学生信息 2.显示按学号排序后的学生信息 3.显示按总分排序后的学生信息 4.按学号查学生各科分数和总分 5.按姓名查学生各科分数和总分

6.抽取出三科成绩中有补考的学生并保存 三、算法提示: 1、数据结构:结构体类型数组 四、测试数据: 学生人数N=10 五、其它: 对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。 目录 第一章绪论 第一节课程背景 第二节本文所做工作 第二章需求分析 第三章总体设计 第四章详细设计 第五章测试 第六章使用说明 第七章总结 附录A 源代码 附录B 参考资料

学生成绩管理系统设计报告

《学生成绩管理系统》 设计报告

摘要 本数据库的主要功能如下: 学生信息设置,该模块包括数据的添加、修改、删除、查询,数据库后台SQL Sever 2000和前台Delphi都可实现这些功能;院系信息设置,该模块包括数据的添加、修改、删除、查询,数据库后台SQL Sever 2000和前台Delphi都可实现这些功能;课程信息设置,该模块包括数据的添加、修改、删除、查询,数据库后台SQL Sever 2000和前台Delphi 都可实现这些功能;学生成绩查询,该模块包括学生各门课程成绩的查询,因为该模块是利用数据库视图,所以不能对数据进行修改、添加及删除。 关键字:教学管理数据库SQL Sever 2000 Delphi 表查询修改添加删除

第一章绪论 1.1数据库技术的现状 数据库技术是计算机科学技术的一个重要分支。从20世纪50年代中期开始,计算机应用从科学研究部门扩展到企业管理及政府行政部门,人们对数据处理的要求也越来越高。1968年,世界上诞生了第一个商品化的信息管理系统IMS(Information Management System),从此,数据库技术得到了迅猛发展。在互联网日益被人们接受的今天,Internet又使数据库技术、知识、技能的重要性得到了充分的放大。现在数据库已经成为信息管理、办公自动化、计算机辅助设计等应用的主要软件工具之一,帮助人们处理各种各样的信息数据。 在这30多年的历程中,人们在数据库技术的理论研究和系统开发上都取得了辉煌的成就,而且已经开始对新一代数据库系统的深入研究。数据库系统已经成为现代计算机系统的重要组成部分。 1.2、学生成绩管理系统开发的目的与意义 1.掌握数据库设计的基本技术,熟悉数据库设计的每个步骤中的任务和实施方案,并加深对数据库系统系统概念和特点的理解。 2.初步掌握数据库应用系统分析、设计和实现方法。 3.进一步提高学生的知识综合运用能力。 4.为学习更高深的计算机技术打下基础。提高其综合素质,便于未来就业以及更深发展。 第二章系统需求分析 2.1 概述 1.信息需求 高校学生的成绩管理工作量大、繁杂,人工处理非常困难。学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅能使管理者从

软件测试《学生成绩管理系统》测试报告

软 件 测 试 实 训 报 告 班级:软件测试1406班姓名:贺勇游 学号:2014180182

目录 第一部分学生成绩管理系统需求分析 (1) 一.项目概述 (2) 二.项目背景 (2) 三.系统详细需求 (5) 第二部分学生成绩管理系统测试计划 (8) 一.概述 (9) 二.测试摘要 (9) 三.测试风险 (10) 四.缺陷等级分类和优先级描述 (10) 五.测试策略 (12) 六.暂停标准和再启动标准 (13) 七.测试任务和进度 (14) 八.测试提交物 (15) 第三部分学生成绩管理系统测试用例设计 (15) 一. 测试用例目的 (16) 二. 功能测试用例设计 (16) 2.1 系统登录功能模块用例设计 (16) 2.2 “系统功能模块用例设计 (17) 2.3 档案管理功能模块用例设计 (17) 2.4 成绩管理功能模块用例设计 (18) 第四部分学生成绩管理系统缺陷记录 (20) 一. 说明 (21) 二. 缺陷记录 (21) 第五部分学生成绩管理系统总结报告 (22) 一.引言 (23) 二. 测试用例简介 (24) 三. 测试结果及分析 (24) 四. 综合评价 (24) 五. 心得体会 (24)

学生成绩管理系统需求分析

一.项目概述 软件项目名称:《生成绩管理系统》 软件版本:6.62 开发团队:阿林软件设计室 项目特点:《学生成绩管理系统》单机/网络版(V6.52)操作简单,功能齐全,适合于各中、小学校及教育局。该系统主要有以下几方面的特点: ●即可单机使用,又可在局域网下多用户共享使用。 ●所有数据即可从Excel表中导入,也可导出到Excel表,方便 地与Excel交换。支持读卡机。 ●可多台电脑同时输入成绩,输入时有语音提示,突破输入瓶 颈。 成绩排名详尽,成绩分析到位。 二.项目背景 学生成绩管理是所有院校学生管理事务中的一项重要工作,几年前,各个学校的学生成绩管理基本上都是靠手工进行,随着各个学校的规模增大,有关学生学籍工作管理所涉及的数据量越来越大,有的学校不得不增加人力丶物力来进行学生成绩管理。但手工管理具有效率低丶出错率高的缺点。为了解决学生成绩管理问题,学生成绩管理系统应运而生。高等院校成绩管理涉及学生成绩的录入、查询、操作。建立学生成绩管理系统,采用计算机对学生成绩进行管理,进行进一步

学生成绩信息管理系统

学生成绩信息管理系统 学生成绩信息管理系统 1 引言............................................................................................................... 1 1.1 设计目的与要求 ................................................................................... 1 1.2设计内容 .................................................................................................. 12系统需求与功能分析 .................................................................................... 1 2.1 系统需求分析........................................................................................ 2 2.2系统功能分析......................................................................................... 23总体结构设计 .................................................................................................. 3 3.1系统的结构设计 .................................................................................... 3 3.2系统管理流程图 .................................................................................... 3 4 系统详细设计和系统实现.......................................................................... 4 5 系统测试 ..................................................................................................... 10 6 结束语.......................................................................................................... 15参考文献.......................................................................................................... 15附录1:链表结构化设计源程序清单.................................................... 16附录2:顺序表结构化设计源程序清单............... ... . (26)

学生成绩管理系统

广西大学计算机与电子信息学院 计算机信息处理综合作业 题目名称:学生成绩管理系统 学生姓名: 专业名称:计算机信息管理 指导教师: 完成日期:2010 年6 月25 日

目录 第一章系统概述 4 1.1开发的目的 4 1.2开发的任务 4 1.3开发的特点 4 第二章系统分析 5 2.1总体设计 5 2.1.1.系统流程: 5 2.1.2.系统层次 6 2.1.3.系统结构: 6 2.2需求分析7 2.3功能分析8 2.4可行性分析9 2.4.1可行性前提9 2.4.2经济可行性9 2.4.3技术可行性9 2.4.4社会因素9 第三章系统设计10 3.1结构设计10 3.1.1系统流程图10 3.1.2数据流程图10 3.1.3处理流程图11 3.2数据库设计11 3.2.1.数据采集及其关联11 3.2.2.E-R模型12 3.2.3.数据字典13 3.2.4.实现:17 3.3模块设计20 3.3.1主控模块20 3.3.2菜单模块22 3.3.3插入记录模块25

3.3.4删除记录模块26 3.3.5数据浏览模块27 3.3.6查询模块27 3.3.7报表预览模块29 第四章系统实施30 4.1界面设计30 4.2屏幕设计32 4.2.1插入记录32 4.2.2删除记录32 4.2.3数据浏览32 4.2.4姓名查询32 4.2.5组合查询33 4.3菜单设计33 4.4报表设计35 第五章系统调试38 5.1分调38 5.2总调39 第六章系统评价50 6.1系统运行情况50 6.2存在问题50 6.3心得体会50

正文 第一章系统概述 1.1 开发的目的 当今已是计算机发达的21世纪,科技的发展之快用日新月异来形容已毫不为过,许许多多的产业均已将先进的计算机科学应用到实践当中,并取得了空前辉煌的,质的飞跃。但是,在技术发展的摇篮、本身技术实力雄厚的大学校园中,却还存在着相对比较落后的人工管理系统,不得不令人感到惊讶。而这些系统中比较突出的就是学生的成绩管理系统。当今的大学,学生多则数万,少则亦有几千,扩招每年为国家多输送了千千万万的人才,然而,学校的压力却是每年的剧增,尤其在学生成绩的管理上,依旧使用着较为落后的人工档案管理系统,使用上的不便与维护上的开销日益凸显。手工录入、修改成绩,教师耗时耗力,工作繁琐,压力沉重,准确性还非常没有保证,学生查询成绩,排队、办手续、找档案,相当的费时间且不方便,这样一个臃肿的管理系统不但耗费了大量的人力、物力、财力资源,管理的效率也是愈来愈低下…… 改革,已刻不容缓。 有鉴于此,本系统应运而生。本系统的开发目的就是将计算机信息科学与软件工程等高新技术融入管理工作当中,将管理的效率大幅提高,而维护的开销大幅减少,同时,使教师与学生在对成绩系统的录入、修改、查询等使用上得到极大的便利。 1.2开发的任务 A.实现将所有学生成绩相关信息存储在计算机数据库中,取代绝大部分档案簿。 B.实现录入、查询、修改、删除等日常工作办公自动化。 C.通过不同的权限管理、控制不同的用户在终端上能使用的功能和操作。 D.资料可通过打印机打印。 E.实现数据库的定期自动备份与手动备份功能。 1.3开发的特点 需求资金少,技术成熟,开发所耗时间比较短;系统的功能实现具有人性化、科学性、先进性和实用性;操作上简单、方便、明了;可靠性好且可维护性好。

学生成绩管理信息系统完整版

学生成绩管理信息系统 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

学生成绩管理系统 一.系统分析 1.现状分析 随着计算机应用的普及和迅雷般的飞速发展,信息化必然成为世界发展的潮流和趋势。信息化正在以前所未有的速度影响着人类的方方面面,同时对传统教育的改革也起到了推动作用。 在今天的中国,信息化迅速发展,信息化必然走进校园。在学校众多管理工作中,学生的成绩管理原来越重要。然而传统的工作方式如手工修改和查询成绩是一项非常繁重而枯燥的工作,经常耗费很大财力和人力。数据量大时,将不可避免的出现失误。因此,学生成绩管理工作的信息化是十分必要的。学生成绩管理系统是利用现代的信息技术,实现学生信息资源的共享,实现学生信息与社会其他信息的有机联系,促进学生成绩管理工作的科学化、现代化,提高学生管理工作的效率。 2.系统需求分析 通过调查,要求系统具有以下功能: 1) 任课教师可以录入所教课程的成绩 2) 成绩的上传和下载 3) 教务处即系导员能够统计成绩 4) 成绩的发布和查询 5) 用户权限的限定 3系统的可行性分析 1)技术可行性分析 该系统选择微软公司的Visual Basic 作为系统开发工具,主要是因为它是一个快速可视化程序开发工具软件且功能强大,主要表现为:所见即所得的界面设计,尤其是数据窗口能方便而间接操纵数据库的智能化对象,基于对象的设计方法,极短的软件开发周期,较易的代码维护,同时还有众多的Active控制,提高了软件的使用效率。 连接采用SQL Server数据库,SQL Server是一种关系数据库工具,关系数据库已开发的最通用的数据库之一。该数据库能汇集各种信息以供查询、存储和检索。它是一种使用广泛的数据库管理系统,具有许多优点:易用性、适合分布组织科伸缩性、用于决策支持的数据库功能等。 2)经济可行性分析 从经济角度分析,学生成绩系统所耗费的资源非常的少。目前,计算机越来越普及,大部分学校都配有计算机,它使用的软件工具Visual Basic 和SQL Server,学校的机房几乎都有安装,而且由于这个系统较小,涉及人员较少,开发费用小,易于维护并具有可靠的安全性,该系统在投入使用后可以节省大量的人力、物力和财力。 3)社会可行性分析 现代科学信息技术的应用越来越普及,促进了社会的高速发展,也将社会带入了一个新的数字时代。学生成绩管理系统采用科学的,有效的手段,对信息加以分析,通过建立一个有效的学生成绩管理系统是学校的各项活动能够提高工作效率,最终提高经济效益和社会效益的目的。

学生成绩管理系统课程设计报告

计算机与软件工程学院 C++课程设计报告 选题:学生成绩管理系统 专业班级: 时间:2016/6/20——2016/6/29 指导教师: 完成日期:2016/6/27 一、课题描述

管理容包括:学号、姓名、班级、五门课成绩。 主要功能有:添加、修改、删除、读出、写入、查找、排序、计算总分、平均分、分类汇总等。 编写代码,运行程序后,显现下面的参考界面: 成绩管理 ============ 1.输入学生成绩 2.修改学生成绩 3.删除学生成绩 4.计算每位学生的总分 5.计算每位学生的平均分 6.按学号或姓名查询学生成绩 7.按班级查询学生成绩 8.成绩排序 9.按班级统计学科总分、平均分等 请选择(1~9,0:退出): 二、需求分析 开发一个学生成绩管理系统的目的,主要是对查询学生成绩过程中的所有信息进行更加科学、规和有效的综合管理,是为了让同学们能在任时候都能查阅到有关自己学科成绩有关

的信息,也有利于让他们充分了解有关自己在大学期间所有课程的学习情况,提高查询速度。该学生成绩管理系统主要包括期末成绩管理、具体的查询等。本系统还提供学生相关的基本信息统计、汇总、查询,这样便于辅助学校领导的学生管理工作,改善管理质量、提高管理效率包括本班的每一位学生在校期间的基本情况与课程绩汇总。 本系统利用C++面向对象的功能,实现对学生成绩的管理。主要功能为管理有关学生基本信息、成绩课程等,对每个学生的基本信息、专业成绩信息、选修课成绩信息、课程信息的查询、修改和删除。本系统的结构分为学生基本情况管理模块、学生成绩管理模块、学生课程管理模块。 这是一个很实际的编程实例。编程要求很详细,容也比较多,有一定难度。首先,学生成绩记录是一个复杂的数据结构,至少应包括学号,姓名,性别和成绩。所以,必须建立一个类student,用来记录班级,学号,姓名和成绩。此外还得建立一个类对象数组s1[80],用来记录多个学生的成绩记录。 模块设计与分析 (1)输入学生资料模块: 主要功能用来对学生的成绩进行收集和输入。在学生信息保存在系统中的前提下,成绩录入需要输入学生资料,比如班级,学号,姓名。在准确输入学生资料后,就可以对该学生的各科成绩进行录入。该学生各科成绩输入成功后,系统会提示是否继续进行操作,如果想继续输入学生成绩就输入y,不想再输入学生成绩的话就输入n,再输入n之后,系统返回到主菜单。 (2)输出学生资料模块:

软件测试学生成绩管理系统测试报告完整版

软件测试学生成绩管理 系统测试报告 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

软 件 测 试 实 训 报 告 班级:软件测试1406班 姓名:贺勇游 目录 第一部分学生成绩管理系统需求分析 (1) 一.项目概 述································ (2) 二.项目背 景································ (2)

三.系统详细需 求································ (5) 第二部分学生成绩管理系统测试计划 (8) 一.概 述 (9) 二.测试摘 要 (9) 三.测试风 险 (10) 四.缺陷等级分类和优先级描 述 (10) 五.测试策 略 (12) 六.暂停标准和再启动标 准 (13) 七.测试任务和进 度 (14) 八.测试提交 物 (15) 第三部分学生成绩管理系统测试用例设计 (15) 一. 测试用例目的 (16) 二. 功能测试用例设计····································

系统登录功能模块用例设计 (16) “系统功能模块用例设计 (17) 档案管理功能模块用例设计 (17) 成绩管理功能模块用例设计 (18) 第四部分学生成绩管理系统缺陷记录 (20) 一. 说明 (21) 二. 缺陷记录 (21) 第五部分学生成绩管理系统总结报告 (22) 一.引言 (23) 二. 测试用例简介 (24) 三. 测试结果及分析 (24) 四. 综合评价 (24) 五. 心得体会 (24) 学

学生信息管理系统程序设计

学生信息管理系统程序设计 1、软件开发目的 该软件主要是实现对学生基本信息进行系统化的管理,首先可以对学生基本信息进行录入和存取,其次可以浏览学生的相关信息,然后可以删除和插入学生的相关信息,还有就是可按学号或按学生姓名查询此学生的相关信息。由此来系统化管理学生基本信息,并达到简易操作的目的。 2、功能分析说明图 3、各项功能说明 (1)学生基本信息的录入和保存: 在链表中的适当位置插入一个学生信息节点,一次添加一条学生信息(添加内容包含学号、姓名、年龄),如果添加的学号已经在文件中存在,则不能添加到文件中去,应显示错误提示语;如果添加成功,则显示成功提示语。添加操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。 (2)显示学生信息: 此功能是显示一个学生信息节点中的信息,并在屏幕上显示出来。 (3)删除学生信息: 进入该项功能界面后,删除学生信息,一次删除一条学生信息。 (4)按学号查找学生信息: 按学号查询学生信息,要求显示文件中与用户输入的学号相匹配的学生信息,要求显示学号、姓名、年龄等字段,如果文件中没有学生信息,则显示提示语。查询操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。 (5)按姓名查找学生信息: 按姓名查询学生信息,要求显示文件中与用户输入的学号相匹配的学生信息,要求显示学号、姓名、年龄等字段,如果文件中没有学生信息,则显示提示语。查询操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。 (6)修改学生信息 修改学生信息中的某一项信息,一次更新一条学生信息(更新内容包含学号、姓名、年龄等字段值),如果更新的学号在文件中不存在,则不能更新,应该显示错误提示语;如果更新成功,则显示成功提示语。更新操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。 (7)退出系统,结束任务。 4、软件功能的验收标准 1.有较为美观简洁大方的菜单,能保证用户方便、直观、快捷的熟悉并使用软件的各项功能。 2.有严密正确的数据验证功能和数据处理功能,能够查询、插入、修改和删除学生信息。

学生成绩管理系统

程序设计课程设计报告 目录 一、课程设计题目及内容 二、程序中使用的数据及主要符号说明 三、带有详细注释的自己编写的源程序 四、程序运行时的效果图 五、实验结果分析,实验收获和体会。 1、实验结果分析: 2、实验收获和体会: 一、实验内容 实验1: (1)、设计一个学生类Student,包括数据成员:姓名、学号、二门课程(面向对象程序设计、高等数学)的成绩。 (2)、创建一个管理学生的类Management,包括实现学生的数据的增加、删除、修改、按课程成绩排序、保存学生数据到文件及加载文件中的数据等功能。 (3)、创建一个基于对话框的MFC应用程序,程序窗口的标题上有你姓名、学号和应用程序名称。使用(1)和(2)中的类,实现对学

生信息和成绩的输入和管理。 (4)、创建一个单文档的MFC应用程序,读取(3)中保存的文件中的学生成绩,分别用直方图和折线方式显示所有学生某课程的成绩分布图。 二、程序中使用的数据及主要符号说明 unsigned int mID;//学号 CString mName;//姓名 unsigned int mAge;//年龄 CString mAdd;//地址 float mCpp;//c++成绩 float mMath;//数学成绩

CListBox m_list;//列表名 afx_msg void OnClickedButtonAdd();//添加按钮afx_msg void OnClickedButtonDel();//删除按钮afx_msg void OnClickedButtonChange();//修改afx_msg void OnClickedButtonOk();//确定 afx_msg void OnClickedButtonCancle();//取消 afx_msg void OnSelchangeList1();//列表控件 virtual BOOL OnInitDialog();//初始化对话框 afx_msg void OnDestroy();//防止内存泄漏 afx_msg void OnClickedButton6(); int m_count;//记录人数 int mSex;//性别 三、带有详细注释的自己编写的源程序(1)、设计一个学生类Student //Student.h #pragma once #include //using namespace std; #include enum Sex { male, female }; class Student { public: Student();//构造函数 ~Student();//析构函数 unsigned int GetID()const { return m_num; } void SetID(unsigned int ID){ m_num = ID;}; std::string GetName()const { return m_name; }

学生成绩管理系统课程设计报告

数据库系统原理及其应用教程 课程设计报告 题目名称:学生成绩管理系统 任课教师: 姓名: 学号:

一.概述 1.设计背景 学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快 捷的查询手段,但是几年前,各个学校的学生成绩管理基本上都是靠手工进行,随着各 个学校的规模增大,有关学生成绩管理工作所涉及的数据量越来越大,有的学校不得不 靠增加人力、物力来进行学生成绩管理。这种管理方式存在着许多缺点,如:效率低、保 密性差,另外所用其时间长,产生大量的文件和数据,这对于查找、更新和维护都带来了 不少的困难。如今学校的学生越来越多,成绩管理的工作量越来越大,手工管理成绩的 弊端也越来越明显。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为 人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机 应用的一部分,使用计算机对学生档案信息进行管理,具有手工管理所无法比拟的优点。 例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这 些优点能够极大地提高学生档案管理的效率。所以我想借本次课程设计之际,设计一个 简易的学生成绩管理系统。 2. 设计目的 1、掌握运用数据库原理进行系统分析和设计的方法; 2、掌握关系数据库的设计方法; 3、掌握利用SQL Server 2000技术; 4、加强C++的编程能力 3. 设计内容 1.设计一个简易学生成绩管理的数据库系统,包括数据库的建立的需求分析,数据的输 入输出。 2.设计用户的操作界面,主要实现数据的查询,添加,修改,删除基本功能。 二.需求分析 1.功能分析 在成绩管理系统中最主要的是对学生成绩的管理,管理主要包括:对学生成绩的录入,修改,删除,以及按不同的方式对学生成绩进行查询。系统中包括学生的

相关文档
最新文档