当前位置:文档之家› 学生选修课程系统设计说明书

学生选修课程系统设计说明书

学生选修课程系统设计说明书
学生选修课程系统设计说明书

(此文档为word格式,下载后您可任意编辑修改!)

课程设计说明书

课程名称:计算机科学与技术程序设计语言-课程设计

题目: 学生选修课程系统设计

年级/专业/班:

学生姓名:

学号:

开始时间:2010 年 06 月18日

完成时间:2010 年 07月 02 日

课程设计成绩:

指导教师签名:年月日

目录

1 引言 (1)

1.1设计背景 (1)

1.2任务与分析 (1)

2 程序的主要功能 (2)

2.1管理员功能 (2)

2.2学生功能 (2)

2.3浏览功能 (2)

2.4查询功能 (2)

2.5添加功能 (2)

2.6删除功能 (2)

3 程序运行平台 (3)

4 总体设计 (4)

4.1系统功能结构图 (4)

4.2数据结构 (5)

5 模块分析 (5)

5.1结构体声明,创建链表及主函数模块 (5)

5.2管理员模块 (7)

5.3学生模块 (9)

5.4浏览模块 (10)

5.5查询模块 (11)

5.6插入链表模块 (11)

5.7添加模块 (11)

5.8 删除模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

5.9 选修课程模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

6 系统测试 (16)

7 结论 (21)

参考文献 (21)

s

摘要

大学期间总会有很多公共选修课,以往的选课方法是随堂报名。这种方法虽然直接,但是造成选课的盲目性,有些课堂选课时人满为患,有些课堂无人选课。原因是传统的选课方法没有预见性,大家没有事先协调好。使用了网上选课系统以后,可以在开课前就在网上选课,每个学生的课程在开课前就确定好,不用浪费体力去选课,还可以使教学资源合理平均地分配。

全校性选修课的目的在于扩大学生的知识面,加强学生素质教育,培养复合型高级人才,具有不可替代的重要性!随着教育改革的不断深入和素质教育的加强完全学分制的实施,选修课在一个学生的培养计划中站的比重越来越大!

关键词:选修课;素质教育; 开拓知识面……

1 引言

1.1 设计背景

全校性选修课的目的在于扩大学生的知识面,加强学生素质教育,培养复合型高级人才,具有不可替代的重要性!随着教育改革的不断深入和素质教育的加强完全学分制的实施,选修课在一个学生的培养计划中站的比重越来越大!

1.2任务与分析

本课程设计假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供以下功能:

系统以菜单方式工作

1、课程信息录入功能(课程信息用文件保存)--输入

2、课程信息浏览功能--输出

3、查询功能:(至少一种查询方式)--算法

按学分查询、按课程性质查询

4、学生选修课程(可选项)。

分析:

首先根据要解决的问题进行分析和总体设计,定义的数据结构使用链表结构体定义存储数据)和函数,然后进行详细编码,在主函数中对各功能函数进行测试。

划分为模块形式:管理员和学生模块!分别实现各自功能能!浏览,查找添加,删除,选择等!

2 程序的主要功能

2.1管理员功能

管理员功能一共有四个:浏览课程,查询课程,添加课程,删除课程。运用字符串处理函数处理密码的问题,用一个switch语句实现函数的调用。

2.2学生功能

学生功能菜单包括五个功能:浏览所有课程,查询所有课程,选择选修课程,浏览所选课程,删除错选课程,用switch语句调用函数.

2.3浏览功能

浏览模块主要应用与管理员模块中的浏览课程,和学生中的浏览所有课程及浏览学生所选课程,即:从文件中读出数据;

2.4查询功能

查询功能主要用于管理员功能中的“查询课程”和学生功能模块中的”查询所有课程”,查询模块共分为三个查询方法:按课程名称查找,按课程性质查找和按学分查找.switch语句中,每一个case语句就是一中查询方法

2.5添加功能

通过链表方式,管理员添加新课程信息。

2.6删除功能

删除模块主要应用于管理员删除哪门课程的信息,主要应用删除链表中的哪个节点来实现。

3 程序运行平台

Microsoft visual c++ 6.0

具体操作如下:

(1)进入Microsoft visual c++ 6.0集成环境。

(2)输入自己所编好的程序

(3)检查已输入程序是否有误,如发现及时改正

(4)进行编译和链接。如在编译和链接过程中发生错误,屏幕上会显示出“报错信息”,根据提示找出错误位置和原因,加以改正。在进行编译与连接!

(5)运行并分析运行结果是否合理和正确

4 总体设计

4.1 系统功能结构图

4.2 数据结构

本系统的实现,全部采用链表这种数据结构,用链表实现课程的查找,添加,删除,课程的选修,追加选修的课程.课程信息采用结构体这种数据结构.

5 模块分析

5.1 结构体声明,创建链表及主函数模块

主函数设计比较简单,只是提供一个主菜单,switch语句将整个程序分为两个大的功能模块!

#include

#include

#include

typedef struct subjects //定义课程信息结构体

{

int num; //课程编号

char name[20]; //课程名称

char kind[10]; //课程性质

int stime; //总学时

int ttime; //授课学时

int etime; //实验或上机学时

int score; //学分

int term; //开课学期

struct subjects *next;

}SUB;

SUB *head=NULL;

SUB *create_form() //创建链表

{

SUB *head,*tail,*p;

int num,stime,ttime;

int etime,score,term;

char name[20],kind[10];

head=tail=NULL;

printf("输入选修课程信息:\n");

scanf("%d%s%s%d%d%d%d%d",&num,name,kind,&stime,&ttime,&etime,&score,&term);

while(num!=0)

{

p=(SUB *)malloc(sizeof(SUB));

p->num=num;

strcpy(p->name,name);

strcpy(p->kind,kind);

p->stime=stime;

p->ttime=ttime;

p->etime=etime;

p->score=score;

p->term=term;

if(head==NULL)

head=p;

else

tail->next=p;

tail=p;

scanf("%d%s%s%d%d%d%d%d",&num,name,kind,&stime,&ttime,&etime,&score,&term);

}

tail->next=NULL;

return head;

}

int main()

{

int n,w=1;

do

{

system("cls");

puts("\n\n\t\t*********************MENU***********************\n\n");

puts("\t\t\t\t1.以管理员身份登录\n");

puts("\t\t\t\t2.以学生身份登录\n");

puts("\t\t\t\t3.退出");

puts("\n\n\t\t************************************************\n");

printf("Chiose your number(1-3):[ ]\b\b");

scanf("%d",&n);

switch(n)

{

case 1:Mangers() ;

break;

case 2:Students();

break;

case 3:w=0;

break;

default:;

}

}

while(w==1);

return 0;

}

5.2 管理员模块

管理员功能一共有四个:浏览课程,查询课程,添加课程,删除课程。运用字符串处理函数处理密码的问题,用一个switch语句实现函数的调用。

void Mangers()

{

int n,w=1,flag=0,i=3;

char s[8];

char password[7]="1";

do

{

printf("\n\nEnter password:");

scanf("%s",s);

if(!strcmp(s,password)) //进行密码匹配验证

{

flag=1;

break;

}

else

{

printf("\n\nError! You only have %d times! Enter again:\n",i-1);

i--;

}

}

while(i>0);

if(!flag)

{

printf("you have Enter 3 times!"); //输入密码超过了3次!!

exit(0); //自动退出

}

do

{

system("cls");

puts("\n\n\t\t*********************管理员菜单***********************\n\n");

puts("\t\t\t\t1---浏览课程\n");

puts("\t\t\t\t2---查询课程\n");

puts("\t\t\t\t3---添加课程\n");

puts("\t\t\t\t4---删除课程\n");

puts("\t\t\t\t5---返回主菜单");

puts("\n\n\t\t******************************************************\n");

printf("Chiose your number(1-5):[ ]\b\b");

scanf("%d",&n);

switch(n)

{

case 1:prin();

break;

case 2:search();

break;

case 3:insert();

savefile();

break;

case 4:del();

savefile();

break;

case 5:return;

default:;

}

}

while(w==1);

}

5.3 学生模块

学生功能菜单包括五个功能:浏览所有课程,查询所有课程,选择选修课程,浏览所选课程,删除错选课程,用switch语句调用函数

void Students()

{

int n,w=1;

do

{

system("cls");

puts("\n\n\t\t*********************学生菜单***********************\n\n");

puts("\t\t\t\t1---浏览所有课程\n");

puts("\t\t\t\t2---查询课程信息\n");

puts("\t\t\t\t3---选择选修课程\n");

puts("\t\t\t\t4---浏览我选修的课程\n");

puts("\t\t\t\t5---删除错选课程\n");

puts("\t\t\t\t6---返回主菜单");

puts("\n\n\t\t****************************************************\n");

printf("Chiose your number(1-6):[ ]\b\b");

scanf("%d",&n);

switch(n)

{

case 1:prin();

break;

case 2:search();

break;

case 3:choose();

break;

case 4:prin1();

break;

case 5:del();

savefile1();

break;

case 6:return;

default:;

}

}

while(w==1);

}

5.4 浏览模块

浏览模块主要应用与管理员模块中的浏览课程,和学生中的浏览所有课程及浏览学生所选课程,即:从文件中读出数据;

管理员模块,应用到prin()函数浏览;

学生模块通过prin()函数浏览所有课程,prin1()函数浏览全部课程。

Prin()函数和prin1()函数用法相同,结构也相似,下面以prin()函数为例,演示:

void prin() //浏览所有课程

{

SUB *ptr;

head=NULL;

readfile();

if(head==NULL)

{

printf("\n\n\t*********NO RECORDS!************\n");

return;

}

printf("课程编号课程名称课程性质总学时授课学时实践或上机学时学分开课学期\n");

for(ptr=head;ptr;ptr=ptr->next)

{

printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr->kind,ptr->stime,ptr->ttime

,ptr->etime,ptr->score,ptr->term);

}

system("pause");

}

}

return head;

5.5 查询模块

查询模块主要用于管理员功能中的“查询课程”和学生功能模块中的”查询所有课程”,查询模块共分为三个查询方法:按课程名称查找,按课程性质查找和按学分查找.switch语句中,每一个case语句就是一中查询方法

void search() //课程信息查询

{

int a,num;

int t=1;

char type[10],min[10];

SUB *ptr;

L1:system("cls");

printf("\n\n\t\t**********请选择查询方式*************\n");

printf("\n\t\t\t1---按课程名称查找\n");

printf("\n\t\t\t2---按课程性质查找\n");

printf("\n\t\t\t3---按学分查找\n");

printf("\n\t\t\t4---退出查找\n");

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

printf("\n\nChiose your number(1-4):[ ]\b\b");

scanf("%d",&a);

switch(a)

{

case 1:printf("请输入要查找的课程的名称:");

scanf("%s",min);

for(ptr=head;ptr;ptr=ptr->next)

if(strcmp(min,ptr->name)==0)

{

printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr->kind,ptr->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term);

t=0;

}

if(t)

printf("\t\n未找到!\n");

t=1;

system("pause");

goto L1;

case 2:printf("请输入要查找的课程的性质:");

scanf("%s",type);

for(ptr=head;ptr;ptr=ptr->next)

if(strcmp(type,ptr->kind)==0)

{

printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr->kind,ptr->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term);

t=0;

}

if(t)

printf("\t\n未找到!\n");

t=1;

system("pause");

goto L1;

case 3:printf("输入要查找的课程的学分:");

scanf("%d",&num);

for(ptr=head;ptr;ptr=ptr->next)

if(ptr->score==num)

{

printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr->kind,ptr->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term);

t=0;

}

if(t)

printf("\n\t未找到!\n");

t=1;

system("pause");

goto L1;

case 4:break;

}

}

5.6 插入链表模块

插入链表主要用于添加课程,在整个课程信息中加入一些新的课程,在添加模块中被调用

void *myInsert(SUB* subj) //链表插入操作

{

SUB *ptr,*ptr2;

ptr=subj;

if(head==NULL)

{

head=ptr;

head->next=NULL;

}

else

{

for(ptr2=head;ptr2;ptr2=ptr2->next)

if(ptr2->next==NULL)

{

ptr2->next=subj;

subj->next=NULL;

break;

}

}

return head;

}

5.7添加模块

添加模块主要用于添加课程,采用链表来做

void *insert()//插入课程信息

{

SUB *ptr,*subj;

char ch,ch1;

while(ch!='0')

{

subj=(SUB *)malloc(sizeof(SUB));

ptr=subj;

printf("输入要插入的课程信息:\n");

printf("\n\t\t请输入课程编号:");scanf("%d",&subj->num);

printf("\n\t\t请输入课程名称:");scanf("%s",&subj->name);

printf("\n\t\t请输入课程性质:");scanf("%s",&subj->kind);

printf("\n\t\t请输入总学时:");scanf("%d",&subj->stime);

printf("\n\t\t请输入授课学时:");scanf("%d",&subj->ttime);

printf("\n\t\t请输入实践或上机学时:");scanf("%d",&subj->etime);

printf("\n\t\t请输入学分:");scanf("%d",&subj->score);

printf("\n\t\t请输入开课学期:");scanf("%d",&subj->term);

myInsert(subj);

printf("\n添加完毕,新信息存入文件中\n");

printf("\n继续插入请按回车\n");

printf("\n结束添加课程按0: [ ]\b\b");

ch1=getchar(); //将回车键赋给CH1,否则subj->term输完后输入的回车键会赋给CH,因此用CH1填补。

ch=getchar();

}

return head;

}

5.8删除模块

删除模块主要应用于管理员删除哪门课程的信息,主要应用删除链表中的哪个节点来实现。

void *del() //删除课程

{

SUB *p1,*p2;

char ch,ch1;

int num;

while(ch!='0')

{

printf("输入想要删除的课程编号:[ ]\b\b\b\b\b");

scanf("%d",&num);

if(head->num==num)

{

p2=head;

head=head->next;

free(p2);

}

if(head==NULL)

return NULL;

p1=head;

p2=head->next;

while(p2)

{

if(p2->num==num)

{

p1->next=p2->next;

free(p2);

}

else

p1=p2;

p2=p1->next;

}

printf("\n继续删除请按回车\n");

printf("\n结束删除课程按0: [ ]\b\b");

ch1=getchar(); //将回车键赋给CH1,否则num输完后再输入的回车键会赋给CH,因此用CH1填补。

ch=getchar();

savefile1();

printf("\n删除完毕,新信息存入文件中\n");

system("pause");

}

return head;

system("pause");

}

5.9选修课程模块

此模块采用插入链表来实现;

void choose()//选新课程--学生选课函数

{

SUB *p,*q;

int a[10];

int num,total=0,i=0,j;

printf("输入要选修的课程的编号,编号之间以空格分开\n");

scanf("%d",&num);

printf("如果确认输入完要选修的课程的编号,请输入0: [ ]\b\b");

while(num!=0)

{

for(p=head;p;p=p->next)

if(p->num==num)

{

total=total+(p->score);

a[i]=num;

i++;

}

scanf("%d",&num);

}

if(total<60)

{

printf("选修总学分为%d,未达到60,选修失败!\n",total);

system("pause");

}

else

{

FILE *fp;

fp=fopen("3.txt","w");

for(q=head;q;q=q->next)

if(q->num==a[j])

fprintf(fp,"%5d%12s%9s%9d%9d%11d%11d%7d\n",q->num,q->name,q->kind,q->stime,q->ttime,q->etime,q->score,q->term);

fclose(fp);

printf("\t\t\n*****选修成功!****\n");

printf("\n您选修的课程总学分为%d,课程分别为:\n",total);

printf("\n课程编号课程名称课程性质总学时授课学时实践或上机学时学分开课学期\n");

for(j=0;j

for(q=head;q;q=q->next)

if(q->num==a[j])

printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",q->num,q->name,q->kind,q->stime,q->ttime,q->eti me,q->score,q->term);

printf("\n以上信息全部保存在'3.txt'中\n");

}

system("pause");

6 系统测试

进入界面

以管理员身份登录

浏览所有课程:

按学分查找:

按课程名称查找:

按课程性质查找:

输入选修课程名称:

浏览选修课程:(此处在问题:在存入3.txt的文件中,第一行数据读不出来!)

选课系统的设计与实现

防灾科技学院 实习报告书 防灾科技学院灾害信息工程系 2015年制

实习所用软件简介: 系统的搭建平台选用的操作系统是Windows XP:Microsoft Windows XP是微软公司推出供个人电脑使用的操作系统,包括商用及家用的台式电脑等。2011年9月底前,Windows XP是世界上使用人数最多的操作系统,它的全球市场占有率达42%。2012年8月份,统治操作系统市场长达11年之久的Windows XP最终被Windows 7超越。 基于数据库的选课系统的数据管理所选得软件是SQL Server2008:SQL Server 2008 在Microsoft的数据平台上发布,可以组织管理任何数据。可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。可以对数据进行查询、搜索、同步、报告和分析之类的操作。SQL Server 2008 允许使用Microsoft .NET 和Visual Studio开发的自定义应用程序中使用数据,在面向服务的架构(SOA)和通过 Microsoft BizTalk Server 进行的业务流程中使用数据。信息工作人员可以通过日常使用的工具直接访问数据。 基于https://www.doczj.com/doc/2d16814467.html,的选课系统开发所选的开发工具 Visual Studio 2010:Microsoft Visual Studio 2010 是微软的一个综合性的应用程序生命周期管理工具套件,可供团队用于确保从设计到部署的整个过程都能取得较高质量的结果。无论是创建新的解决方案,还是改进现有的应用程序,都能针对不断增加的平台和技术(包括云和并行计算)将梦想变成现实。 基于系统的建模选择的画图软件viso:Office Visio 2007 是一款便于IT 和商务专业人员就复杂信息、系统和流程进行可视化处理、分析和交流的软件。使用具有专业外观的 Office Visio 2007 图表,可以促进对系统和流程的了解,深入了解复杂信息并利用这些知识做出更好的业务决策。Visio帮助创建具有专业外观的图表,以便理解、记录和分析信息、数据、系统和过程。使用 Visio 时,以可视方式传递重要信息就像打开模板、将形状拖放到绘图中以及对即将完成的工作应用主题一样轻松。

学生选修课信息管理系统软件工程导论课程设计

湖南人文科技学院计算机系 课程设计说明书 课程名称: 软件工程导论 课程代码: 题目: 学生选修课信息管理系统年级/专业/班: 09级计科2班 学生姓名: 赵浩胡碧山文盼聂惠俊杨晨学号: 09408237 ;09408207 ; 09408203; 09408250; 09408214 指导老师: 颜富强 开题时间: 2010年6月5日 完成时间: 2010年6月30日 2010年6月30日

课程设计任务书及成绩评定 课程名称: 软件工程导论 完成者: 赵浩胡碧山文盼聂惠俊杨晨 1、设计的目的与要求 1)加强学生的实践能力; 2)理解小型系统开发的基本步骤; 3)本系统的功能包括:选修课信息查询模块、注册模块、选修课信息管理模块(包括基本的添加、修改、删除功能)。 2、设计进度及完成情况 3、成绩评定 设计成绩:(教师填写) 指导老师:(签字) 2011 年月日

目录 第一章项目开发计划书 (1) 1.1引言 (1) 1.1.1编写目的 (1) 1.1.2背景 (1) 1.2项目概述 (1) 1.2.1工作内容 (1) 1.2.2主要参加人员 (2) 1.2.3产品 (2) 1.2.4服务 (2) 1.2.5验收标准 (2) 1.2.6本计划的批准者和批准日期 (2) 1.3实施计划 (2) 1.3.1工作任务的分配与人员分工 (2) 1.3.2进度 (3) 1.4支持条件 (3) 1.4.1计算机系统支持 (3) 第二章可行性分析 (4) 2.1可行性研究前提 (4) 2.2 对现有系统的分析 (4) 2.3 建议新系统 (4) 2.3.1 新系统说明 (4) 2.3.2 新系统的流程图 (5) 2.4经济上可行性 (5) 2.5技术可行性 (6) 2.6开发工具的选择 (6) 2.7 新系统的影响 (6) 2.8 结论 (6) 第三章需求分析 (7) 3.1市场需求分析 (7) 3.2系统功能性需求分析 (7) 3.2.1 功能划分 (7) 3.2.2 功能描述 (8) 3.2.2.1 学生注册信息模块 (8) 3.2.2.2 课程信息模块 (8) 3.2.2.3学生登录功能模块 (8) 3.2.2.5选课功能模块 (9) 3.2.2.4选修课查询模块 (9) 3.3 系统非功能性需求 (9) 3.3.1 可用性 (9) 3.3.2 可靠性 (9) 3.4数据字典 (9)

C语言课程设计学生选修课程系统设计

学生选修课系统设计 一、设计目的 当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息系统的环境。计算机的最到好处的于利用它能够进行信息管理,使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。 尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好学生选课信息而设计的。 数据处理手工操作,工作量大,出错率高,出错后不易更改,造成了时间上的浪费。 基于这个问题,我认为有必要建立一个学生选课系统,使学生选课信息管理工作规范化、系统化、程序化,避免学生选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。 二、题目说明 假定有n门课程,每门课程都有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供一下功能: (1)系统以菜单方式工作; (2)课程信息和学生信息的录入功能(课程信息有文件保 存)----输入; (3)课程信息浏览功能----输出; (4)查询功能(至少一种查询方式)---算法; (5)按学分查询; (6)某门课程学生选修情况(可选项)。 [提示] 数据结构可用结构体,包括课程和选秀两个结构体,其中课程结构体包括课程编号、课程名称、课程性质、总学时、授课学时、实验或上机学时、学分、开课学期。选修结构体成员包括学号,课程编号,该结构体的建立主要是为了查询某门课程学生选修情况.。 三、数据结构设计 本系统的实现,全部采用链表这种数据结构,用链表实现课程的查找、添加、删除、课程的选修、追加选修的课程,课程信息采用结构体这种数据结构。 typedef struct subjects {

在线考试系统设计方案

在线考试系统设计方案 一、概述 传统的考试方式组织一次考试至少要经过人工出卷、考生考试、人工阅卷、成绩统计和试卷分析五个步骤。随着考试规模的不断扩大,工作量将会越来越大而且容易出错。因此开发一套在线考试系统具有重要的现实意义: 1、在线考试突破了时空限制。在线考试系统突破了传统考试模式的时间、空间的限制,有利于组织大规模异地实时考试,可以满足任何授权的考生在规定的时间段内在任意时间和可用地点参加考试,大大提高了教学内容和考核方式的灵活性。 2、提高了工作效率。在线考试系统减轻了考试主管部门人员尤其是教师在命题、组卷、阅卷等方面繁重的工作量,提高了工作效率。 3、节省财政开支。在线考试真正实现了无纸化办公,节省了纸张、印刷等考核费用。 4、在线考试更能体现考核的客观公正性。在线考试采用试题库方式提供试卷来源,考前无任何成套试卷,考试时各考生随机抽卷,试卷不完全相同,避免了互相参看导致的不公平成绩。自动阅卷功能增加了考核的透明度,考生在交卷同时看到自己的成绩,降低了错误出现的概率和教师主观因素的干扰,更能体现考核的客观公正性。 二、“在线考试系统”环境要求 软件环境:开发语言采用JAVA,数据库服务器方面则有MySQL,其灵活性、安全性和易用性为数据库编程提供了良好的条件 三、系统设计方案 3.1系统设计方案描述 该考试系统是基于WEB技术系统开发的一种,采用B/S的三层结构模式,使用jsp动态网页技术开发。不受时间和地域的限制可以随机出题。管理员可以管理角色,并对系统模块、用户等进行处理;教师在题库添加试题,对用户的成绩进行管理。用户则通过选择不同类别的试卷,系统随机生成试卷并开始考试,查询成绩。 在系统设计和开发上,运用软件工程的思想,分析和设计了数据模型和功能模型;给出了主要功能的算法设计,包括题库组织、试卷生成、身份认证、考生答案存储、自动阅卷等。 3.2系统功能需求分析 提供一个基于B/S模式用户接口,能实现在线的用户认证、自动组卷、随机出题、时间限制、自动评卷、以及相关的考试题目的管理和考试的安排设置等功能

学生选修课程系统设计说明书

(此文档为word格式,下载后您可任意编辑修改!) 课程设计说明书 课程名称:计算机科学与技术程序设计语言-课程设计 题目: 学生选修课程系统设计 年级/专业/班: 学生姓名: 学号: 开始时间:2010 年 06 月18日 完成时间:2010 年 07月 02 日 课程设计成绩: 指导教师签名:年月日 目录 1 引言 (1) 1.1设计背景 (1) 1.2任务与分析 (1) 2 程序的主要功能 (2) 2.1管理员功能 (2)

2.2学生功能 (2) 2.3浏览功能 (2) 2.4查询功能 (2) 2.5添加功能 (2) 2.6删除功能 (2) 3 程序运行平台 (3) 4 总体设计 (4) 4.1系统功能结构图 (4) 4.2数据结构 (5) 5 模块分析 (5) 5.1结构体声明,创建链表及主函数模块 (5) 5.2管理员模块 (7) 5.3学生模块 (9) 5.4浏览模块 (10) 5.5查询模块 (11) 5.6插入链表模块 (11) 5.7添加模块 (11) 5.8 删除模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 5.9 选修课程模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 6 系统测试 (16) 7 结论 (21) 参考文献 (21) s

摘要 大学期间总会有很多公共选修课,以往的选课方法是随堂报名。这种方法虽然直接,但是造成选课的盲目性,有些课堂选课时人满为患,有些课堂无人选课。原因是传统的选课方法没有预见性,大家没有事先协调好。使用了网上选课系统以后,可以在开课前就在网上选课,每个学生的课程在开课前就确定好,不用浪费体力去选课,还可以使教学资源合理平均地分配。 全校性选修课的目的在于扩大学生的知识面,加强学生素质教育,培养复合型高级人才,具有不可替代的重要性!随着教育改革的不断深入和素质教育的加强完全学分制的实施,选修课在一个学生的培养计划中站的比重越来越大! 关键词:选修课;素质教育; 开拓知识面……

学生选修课管理系统需求说明书

网上购物系统软件需求说明书

目录 1. 引言 0 目的 0 项目范围 0 定义、缩略语、缩写 (1) 2. 系统需求概述 (2) 用例模型 (2) 假设和依赖 (5) 3. 系统详细需求 (6) Use-Case 清单 (6) 规格说明 (6) 功能性需求 (6) 可用性 (7) 可靠性 (7) 性能 (7) 保障性 (7) 设计上的限制 (8) 4. 术语表 (9)

软件需求说明书 1.引言 1.1目的 本文档描述了学生选修课管理系统的软件需求规格。目的在于向读者表述系统的环境,系统的功能和非功能的需求。 1.2项目范围 本次软件项目开发的是一个学生选修课管理系统。使用此系统的学生通过互联网进行选课;使用此系统的管理员通过互联网进行系统的管理。系统的功能如下:学生能够通过课程名来寻找课程,并获得课程的摘要信息。 学生能够通过输入某些关键字,对课程进行查询,并获得符合检索条件的课程的摘要信息。 学生能够在课程详细画面上获得课程的详细介绍信息。 学生能够在页面上修改自己的注册资料,更新原有的注册信息。 学生能够在输入合法的用户账号和密码后,登录系统。 学生能够在任何时间退出系统。 学生能够查看当前选课的最新状态。 学生能够对各科成绩进行查询。 学生能够对各科课程信息及老师信息的查询。 能够允许学生修改个人信息。 学生能够浏览基本的课程并实现主要的选课功能。 学生能够填写选课信息、查看已选课程、修改选课。 老师能够申请教课。 老师能够查询课程,申请教课。 老师能够查询课程报名人数情况,进行成绩评定。 老师可以修改个人信息、浏览基本课程以及查看学生的选课情况。 管理员能够在输入合法的用户账号和密码后,登录系统。 管理员能够在任何时间退出系统。 管理员能够创建课程的指定任课老师、设定课程人数、统计学生选课信息、发通 知。 管理员能够维护课程数据,包括课程、老师数据的新增,更新,删除和检索。 管理员能够维护权限数据,包括新增,更新,删除,检索操作。 管理员使用子系统“选课管理”中的教学大纲信息和“科室分配管理”中的教师

学生选修课管理系统C++课程设计

#include #include #include #include #include //using namespace std; const int count =3; class situaction; class student { public: int sno; char sname[20]; char sex[3]; int age; char depart[20]; char classno[20]; char lianx[40]; //public: friend void sselect(); friend void supdate(); friend void sdelet(); friend void saccount(); friend void sdisplay(); friend istream & operator >> (istream & in,student &stu) { in>>stu.sno>>stu.sname>>stu.sex>>stu.age>>stu.depart>>stu.classno>>stu.lianx; return in; } friend ostream & operator<< ( ostream & out,student &stu) { out<

程序设计学生选修课程系统设计与实现

通达学院 程序设计 (2017/2018学年第1学期) 题目:学生选修课程系统设计与实现 专业计算机科学于技术(嵌入式) 学生姓名 班级学号 指导教师徐小龙

指导单位计算机学院·计算机科学与技术系日期 2017年10月27日 南京邮电大学通达学院 程序设计 指导教师成绩评定表

一、课题内容和要求 学生选修课程系统设计与实现 假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供以下功能:(1)系统以菜单方式工作 (2)课程信息录入功能(课程信息用文件保存)--输入

(3)课程信息浏览功能--输出 (4)查询功能:按学分查询、按课程性质查询 (5)学生可以选修课程 二、需求分析 本系统的功能模块如图所示

1.使系统以菜单方式工作:输出个菜单,用于显示以从文件中加载的 课程信息和若干个可选的功能选项。根据客户输入的选项来运行不同的功能,运行不同的函数。 2.录入课程信息:使用户可以将课程信息输入文件 3.浏览课程信息:使用户可以按照学分或者课程性质浏览文件中的课程信 息 4.进入选课操作:输入学号,姓名进行选课 5.统计选课情况:从选课文件中统计信息 三、概要设计 (1)主函数的设计 在主函数中按照提示输入相对应数字进入相应的操作,同时,在输入序号数字错误时,会自动提示“输入错误,请重新输入”,然后,重新输入一个数字,继续进行相应的操作。 (注:输入的数字要在0~5之内) 算法设计如下: S1: 从键盘上输入一个0~5的数字,进入相应的操作 S2: 如果选择序号1,则进入课程信息录入操作 S3: 如果选择序号2,则进入浏览课程信息操作

C语言程序设计报告—学生选修课程系统

C 语 言 程 序 设 计 学校:中国地址大学 学院:工程学院 班级序号:05507110 学号:20071001448 姓名:杨帆 指导老师:刘文中

C语言程序设计报告 一、C语言课程设计的目的:高级语言课程设计是学习完《高级语言程序设计》课程后进行的一次全面的综合性上机实验。其目的在于为同学提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼同学的分析解决实际问题的能力。提高学生适应实际,实践编程的能力。 二、题目 学生选修课程系统设计 假定有n门课程,每门课程有课程编号、课程名称、课程性质、总学时、授课学时、实验或商机学时、血粉、开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。 1、要求: 试设计一个选修课程系统,使之能提供以下功能: (1)系统以菜单方式工作。 (2)课程信息和学生选课信息输入功能(课程信息用文件保存)——输入。 (3)课程信息浏览功能——输出。 (4)查询功能(至少一种查询方式)——算法。 (5)按学分查询。 (6)某门课程学生选修情况(可选项)。 2、分析: 由于题目要求将学生的选课信息用结构体形式输入,并写入文件中,所以应提供文件的输入输出等操作:在过程中需有浏览、插入、修改、查找、删除学生选课信息等操作,顾应分别建立个功能模块;另外还应提供键盘式选择菜单实现程序运行。 3、总体设计: 根据题目要求,可以将系统分为六个模块: 1)系统以菜单方式工作模块; 2)课程信息与学生选课信息录入功能模块; 3)课程信息浏览功能模块; 4)查询模块; 5)按学分查询模块; 6)某些课程学生选修情况模块。

c++学生选课系统设计报告

C++程序设计课程设计报告 课题名称: 学生选修课程系统设计 组号:第八组 指导教师:张帆

目录 引言………………………………………………………………..一设计目的及内容……………………………………………………二课题总体设计……………………………………………………… 1.性能需求…………………………………………………………… 2.功能需求……………………………………………………………. 3.功能模块图…………………………………………………………三详细设计……………………………………………………………. 1.各模块说明. ………………………………………………………. 2.各模块功能流程图………………………………………………四测试与调试…………………………………………………………五心得体会…………………………………………………..六附:源代码……………………………………………….

引言 21世纪以高科技为核心的知识经济占主导地位,国家的综合国力和以国际竞争力将越来越取决于科学技术创新水平。教育作为知识创新,传播和应用的基础,培养和输送人才的摇篮,已经成为经济发展和社会进步的基础。 尽管人类进步的程度随着不同时代,不同地区而有所变化,教育的口径不断扩宽,以便使过去仅供少数人使用的教育资源能够为更多各种年龄,不同社会阶层和背景的人们所用。在信息爆炸的时代,传统教学管理面临诸多挑战。 课程设计是课程教学必不可缺的一个重要环节,可加深学生对该课程所学内容的进一步的了解与巩固,是将计算机课程与实际问题相连接的关键步骤。此次程序设计综合运用所学知识解决实际问题,将课堂的书本知识有效的在程序中体现出来,让学生更理解了C++功能之强大,进一步让学生对面向对象的方法以及C++的编程思想有了较好了解和认识。 一设计目的及内容: 网上选课系统是针对在校学生和教师使用,从学生的角度来说,由于学校教学制度的改革,现在大部分高等院校开始实行的是学生的自主选课模式,传统的教学模式(学生按照学校安排好的课程上课)已经不能适应新型的教学手段,如果仍然通过纸上的选课,一方面浪费大量的人力,物力资源,另一方面浪费时间以及在人为的统计过程中不可避免出现的差错等情况。随着学校规模的不断扩大,专业,班级,学生的数量急剧增加,有关学生选课的各种信息也成倍增加,而目前许多高校的学生的选课管理仍然停留在复杂的人工操作上,重复工作较多,工作量大,效率低,各种弊端会越来越多的暴露出来,因此利用网络,使学

选修课程管理系统

选修课程管理系统 一、实验目的 1、使学生掌握DBMS的基本工作原理; 2、培养学生基本掌数据库应用系统设计的基本思路和方法; 3、培养学生分析、解决问题的能力; 二、实验简述 针对给定的系统进行需求分析,设计系统结构图和系统功能模块图;针对需求分析,画出E-R图表示的概念模型,并将其转换为至少满足3NF的关系模式,设计较为合理的数据库模式;系统中应能体现对数据库的保护(数据恢复、并发控制、安全性和完整性);系统应该有较为友好的用户界面; 通过本系统软件,能帮助教研人员利用计算机,快速方便的对学生选课进行管理、输入、输出、查找的所需操作,使散乱的档案能够具体化,直观化、合理化。 三、课程设计过程 1、需求分析 2、概念结构设计及系统结构设计 3、系统功能实现 3.1需求分析 学生包含学号等属性,通过登记系统保存学生成绩的信息。学生通过分组程序分出个个选修课的学生名单。课程包含课程号,名称等属性。分组信息分出选修课教师,教师包含名称,教师编号属性。 用户通过SQL SERVER 2000 的查询分析器直接输入各种操作代码,其中包括对系统管理原的的创建,管理员可以创建其他管理员权限,当然,系统管理员可以对所有表进行修改,删除,增加。 3.2 概念结构设计及系统结构设计 1..用E-R图设计信息模型

2.设计相应关系模型,确定数据库结构 设计关系模型如下:下划线为关系的码 学生(学号,姓名,地址,邮编,市,省,性别) 教师(教师编号,姓名,电话,工资) 课程(课程编号,课程名,系名,学分) 分组(分组号,教师编号,课程号,学生数) 登记(课程号,组号,学生号,成绩) 3.设计应用系统的系统结构图,确定系统结构

选修课程管理系统

课程设计 课程名称大型数据库课程设计 题目名称选修课程管理系统 专业班级10级计算机科学与技术本1学生姓名戴赛跑、汪雨生、杨涛学号510020110 22 37 44指导教师戚晓明(副教授) 二○一二年十二月十二日

目录 摘要 (1) 第一章前言 (2) 1.1题目与要求 (2) 1.2问题的提出 (2) 1.2.1本系统设计的知识点 (2) 1.2.2功能需求 (2) 1.3设计目的 (2) 1.4课程设计的简介 (3) 第二章开发环境 (4) 2.1 系统开发环境 (4) 2.1.1 开发环境的选择 (4) 2.1.2 Visual Studio 2008简介 (4) 2.1.3 SQL server 2008简介 (5) 第三章需求分析 (7) 3.1 设计思想 (7) 3.2 可行性分析 (7) 3.2.1 操作可行性 (7) 3.2.2 技术可行性 (8) 3.2.3 经济可行性 (8) 3.3 功能需求 (8) 3.3.1 基本功能需求 (8) 3.3.2 用户界面需求 (9) 3.4 性能需求 (9) 3.4.1 系统可扩展性 (9) 3.5 系统设计基础 (9) 3.6模块分析及设计 (10)

第四章数据库的设计说明 (11) 4.1数据表 (11) 4.2数据库的完整性和安全性 (11) 4.3选修课数据库的设计 (12) 4.3.1建立一个选修课程数据库: (12) 4.3.2建立一个学生student表 (12) 4.3.3建立一个登录t_login表 (13) 第五章系统功能的实现 (16) 5.1 系统登录窗体 (16) 5.2学生操作主界面 (18) 5.2.1选修课程的选修 (18) 5.2.2退选功能 (19) 5.2.3密码修改 (20) 5.3教师操作主界面 (21) 5.3.1 录入学生选修课程的成绩 (21) 5.3.2 增加选修课程 (22) 5.3.3 删除选修课程信息 (23) 5.3.4 修改选修课程基本信息 (25) 5.4注销和退出 (26) 5.4.1注销 (26) 5.4.2 退出 (27) 总结 (29) 致谢 (32) 参考文献 (33)

《基于WEB的在线考试系统》论文

目录 摘要: (1) 一、引言 (2) 二、系统概述 (2) 三、运行环境 (2) 四、系统分析 (3) 五、总体设计 (3) (一)系统可行性分析 (3) (二)系统需求分析 (4) 六、系统设计 (5) (一)试题(客观题部分)设计 (5) (二)数据库设计 (5) (三)功能模块详细设计 (7) 七、设置数据库 (11) 八、数据的安全与保密 (12) 九、结束语 (12) 参考文献: (12)

基于WEB的在线考试系统 姓名:马启刚学号:指导教师:谢允 摘要: 近年来,互联网在国际上得到了迅猛的发展,基于互联网的各种应用也日益受到人们的重视。基于Web的考试系统正是在这种形势下应运而生的。尽管传统的考试形式应用还非常普遍,但伴随着远程教学的推广普及,作为远程教学系统子系统的在线考试系统呼之欲出。利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,基于B/S模式设计开发了《基于WEB的在线考试系统》这一ASP应用程序。它运用方便、操作简单,效率很高,现阶段虽只实现了试卷的客观题部分(判断题、单项选择和多项选择),但已具有试题(卷)录入、修改和查询,组卷以及进行在线考试等重要功能,也就是说基本实现了无纸化考试,满足任何授权的考生随时随地考试并迅速获得成绩,同时也大大减轻了教师出题、组卷和改卷等繁重的工作量。 关键词:在线考试 ACCESS数据库管理系统 B/S WEB-based Online Examination System Name : Ma Qigang Student Number : 09 Advisor : Xie Yun Abstract:Using the network and the database technology, the union the hardware price generally falls at present the advantageous superiority which constructs vigorously with the wide band net, we based on B/S mode and has developed The ASP application of "WEB-based online examination system". It utilizes, the operation conveniently simple, efficiency very high, the present stage although only realized the examination paper objective topic to be partial (judgment topic, single item choice and many choices), but had the test question (volume) to input, the revision and the inquiry, the group volume as well as carries on the on-line test and so on the important function, in other words has basically realized no-paper the test, satisfied any authorization the examinee took a test anytime and anywhere and rapidly obtains the result, at the same time also greatly reduced the teacher to set the topic of a composition, the group volume and changes the volume and so on the arduous work load. Key word: On-line Examination ACCESS Database Management System B/S

c++学生选课系统设计报告

(此文档为word格式,下载后您可任意编辑修改!) C++程序设计课程设计报告 课题名称: 学生选修课程系统设计 组号:第八组 指导教师:张帆

目录 引言……………………………………………………………….. 一设计目的及内容…………………………………………………… 二课题总体设计……………………………………………………… 1.性能需求…………………………………………………………… 2.功能需求……………………………………………………………. 3.功能模块图………………………………………………………… 三详细设计……………………………………………………………. 1.各模块说明. ………………………………………………………. 2.各模块功能流程图……………………………………………… 四测试与调试………………………………………………………… 五心得体会………………………………………………….. 六附:源代码………………………………………………. 引言 21世纪以高科技为核心的知识经济占主导地位,国家的综合国力和以国际竞争力将越来越取决于科学技术创新水平。教育作为知识创新,传播和应用的基础,培养和输送人才的摇篮,已经成为经济发展和社会进步的基础。 尽管人类进步的程度随着不同时代,不同地区而有所变化,教育的口径不断扩宽,以便使过去仅供少数人使用的教育资源能够为更多各种年龄,不同社会阶层和背景的人们所用。在信息爆炸的时代,传统教学管理面临诸多挑战。 课程设计是课程教学必不可缺的一个重要环节,可加深学生对该课程所学内容的进一步的了解与巩固,是将计算机课程与实际问题相连接的关键步骤。此次程序设计综合运用所学知识解决实际问题,将课堂的书本知识有效的在程序中体现出来,让学生更理解了C++功能之强大,进一步让学生对面向对象的

选课系统的设计与实现

项目说明书 项目名称:学生自主选课系统项目成员: 指导老师: 提交日期:

1. 系统概述 本文档是针对开发的学生自主选课系统而编写的,文档中将会对软件系统的开发进行详细的分析,主要包括几大方面:系统的功能实现、系统的运行环境、数据库的描述与设计的各个阶段等等。 1.1 系统开发目标 本系统是学生自主选课系统。随着各大高校的扩招及信息化社会的到来,学校为了合理规划人力资源的利用,保证学校信息的安全性,对信息化处理数据的要求也越来越高。学生选课系统就是为了减少学校对信息管理的工作量,增强学生选课及成绩信息管理的安全性的双重要求下出现的。通过本系统,学生可以在网上自主选择自己想要的课程,极大的减少学校在课程统计和学生选课记录上的工作量,而且也可以让学生自己安排选课时间,上课时间等,为学生和学校都提供了很大的方便。本系统实现的主要功能是学生选课,成绩录入,成绩查询,课程信息管理,用户信息管理等。采用的B/S架构,其作用范围为所有在校本科生和在校研究生和系统管理员。 项目背景 Internet的发展给我们的教育更加现代化,现在网上信息管理是我们现在教育中的一个热点。现在,学生跟学校的之间的信息传播只在一指之间,时为我们创造方便快速的途径。《学生自主选课系统》是高校教学管理系统的重要组成部分。熟悉教学管理工作的全部过程,从教务工作的实际出发,解决工作中关键性的难点问题,并充分利用计算机网络功能,实现教学工作全过程的计算机管理,帮助具体管理人员从复杂烦琐工作中解放出来。使得教学管理走向无纸化办公和规范化、现代化管理。 由于 Internet 具有影响范围广,能够方便快捷的传递信息,具有近乎实时的交互性,本身又是一个巨大无比的信息库等诸多优点。学生自主选课系统,学生和学校的管理效率。我们的目标是用学生自主选课系统实现最快对全校学习课程发布以及新闻发布,使学生最快知道,创造现代化的学习环境。学生选课是大学的主要管理工作之一,涉及到诸多方面,随着教学体制的不断改革,学生选课时的制约因素比较复杂,工作量也很大,而且往往需要在较短的时间内完成。在这里,运用计算机辅助选课,即能实时地对大量选课数据进行检验和统计,十分方便地输出选课结果,同时也避免了人工处理时容易产生的错误。 1.2 开发平台 VS2012 ,ASP开发框架,SQL Server 2008。 1.3 运行环境 操作系统:Windows 98/2000/XP/2003 数据库:SQL Server 2008 1.4 系统的条件与限制 系统必须通过登录才能进行操作。对于数据库的操作权限大多数都是在管理员中,只有当管理员安排课程后,学生才能选修该课程。除学生自己外,没有人有权限去修改他人的选课记录。 参考资料 需求分析说明书 概要设计说明书 系统详细设计说明书 软件工程概论郑人杰马素霞殷人昆编著机械工业出版社

在线考试系统的设计和实现(毕设参考)

软件工程课程设计设计说明书 考试系统的设计与开发 学生姓名 学号 班级 成绩 指导教师 数学与计算机科学学院 2012年12月26日

软件工程课程设计评阅书

课程设计任务书 2012 —2013 学年第一学期 专业:学号:姓名: 课程设计名称:软件工程课程设计 设计题目:考试系统的设计与开发 完成期限:自2012 年12 月17 日至2012 年12 月28 日共 2 周设计依据、要求及主要内容(可另加附页): 指导教师(签字):教研室主任(签字): 批准日期:年月日

在线考试系统旨在实现考试的无纸化管理,对一些科目的考试可以通过互联网络或局域网进行,方便校方考务的管理,也方便了考生,尤其适合考生分布广,不易集中的远程教育。我主要开发系统的后台管理系统—JAVA在线考试管理子系统,它包括试题管理、考生管理、在线制作试卷、控制学生考试的设置、试卷审批等功能。本论文主要介绍了对JAVA在线考试管理子系统的分析、设计和开发的全部过程。运用ER图,程序流程图等对在线管理子系统的设计过程进行详细的说明。 关键词:在线考试;j2EE

1 课题描述 (3) 1.1 开发背景 (4) 1.2 系统开发目标 (4) 1.3 开发工具的选择 (4) 2 需求分析 (2) 2.1 背景分析 (2) 2.2 可行性分析 (2) 2.2.1 技术可行性分析 (2) 2.2.2 经济可行性 (2) 2.2.3 方案可行性 (2) 2.3 概要设计 (2) 2.4 总体设计 (3) 2.4.1 系统的功能模块图 (3) 2.4.2 系统功能模块 (4) 3 数据库设计 (5) 3.1数据字典 (5) 3.2 数据库的连接 (7) 4 详细设计 (8) 4.1 公共类设计 (8) 4.2 在线考试模块设计 (9) 4.3 查看考生试卷模块设计 (10) 4.4 考试设置信息维护模块设计 (10) 4.5 用户管理模块设计 (11) 5 程序调试与测试 (1) 5.1 系统运行环境 (1) 5.2 测试目的 (1) 5.3 各功能模块测试 (1) 5.3.1 在线考试模块测试 (1) 5.3.2 查看试卷测试 (2) 5.3.3 管理员模块 (3) 5.3.4 用户管理模块测试 (5) 总结 (7) 参考文献 (8)

c++课程设计之学生选修课程系统设计之令狐文艳创作

《C++程序设计》课程设计报告 令狐文艳 学生选修课程系统设计 一、需求分析 计算机技术作为信息化的核心技术受到全社会的普遍重视。如今,计算机的使用也已不再局限于科学计算,它已进入人类社会的各个领域并发挥着越来越重要的作用。深入掌握计算机专业知识、具有良好系统设计与分析能力的计算机高级专业人才在社会上深受欢迎。而系统设计与分析能力的培养需要通过实践训练才能获得。通过计算机对一些系统的管理已经成为一种系统、便捷的方式。本课程设计就是用C++设计学生选课系统的问题,实现对学生选课的管理操作。 本课程设计的目的是设计一个学生选修课程系统的程序,用来实现对学生成绩的管理,其中包括学生信息的文件读入、添加、查询、保存、删除以及相应的课程信息管理。程序设计了两个类,其中一个包含学生的学号、姓名、选课数以及选修总学分,另一个则包含了课程的信息,包括课程编号、课程名称、课程性质、课时等等。然后通过数组、向量、集合等来实现学生选课信息的记录、保存,删除等相关操作从而达到管理学生选课的。 二、设计要求 假定有n门课程,每门课程有课程编号、课程名称、课程性质、总学时、授课学时、实验学时、学分、开课学期等信息。学生可以按要求(如每个学生总学分不得少于20、没学期不能超过3门课程,每门课程不得超过50个人,但不能少于10否则该课程不开设)自由选课。使之能提供一些功能: 1)课程信息录入功能 2)课程信息浏览功能 3)查询功能:(按课程性质查询、按课程学分查询,查询每 个学生的选修信息、查询每门课程的选修信息等) 4)学生选修课程 5)修改课程或选课信息(根据课程编号或名称修改课程信 息、根据学生姓名修改选课信息);

学生选课管理系统(数据库课程设计)

数据库系统原理及其应用教程 课程设计报告 设计题目选修课程管理系统的设计与实现 指导教师

摘要 随着计算机技术的日新月异,极大的推动的各个行业的信息化进程。各大高校也急需进行信息化改革,以促进教学质量和工作效率快速提升。 本文是在对各大高校全校公开课学生选课情况进行实地调查后,进行详细分析讨论后撰写的学生选课管理系统数据库设计报告。全文从最初的系统规划,到需求分析、概念设计、逻辑设计、物理设计。每一阶段都进行了详细的分析。接下来的实现、运行与维护阶段,还

进行了对本系统的测试,最后是本次项目开发的心得和体会以及本文的参考文献。 本系统主要功能是对学生选课及相关信息进行管理。较行业同类产品而言,本系统人机界面设计更加合理、人性化,用户操作简单方便。数据库的安全性更高,对用户访问权限进行了严格控制。数据存取速度更快,使用年限更长。可以很好的满足高校公开课学生选课的要求,极大的提高了学校的工作效率。 关键字:学生选课管理系统;分析;设计 目录 一、概述 (4) 1.1 设计背景 (34) 1.2 设计目的 (36) 1.3 设计内容 (39) 二、需求分析 (19) 2.1 功能分析 (7) 2.2 工作流图 (6) 2.3 数据流图 (7)

2.4 数据字典 (16) 三、概念模型设计 (18) 3.1 实体之间的联系 (18) 3.2 E-R图 (19) 四、逻辑设计 (26) 4.1 概念模型向关系模型的转换 (26) 4.2 概念模型的优化 (27) 五、源代码及查询截图 (29) 5.1 数据库的存储结构 (29) 5.2 实现 (32) 5.3 人机界面设计 (34) 5.4 系统测试 (36) 5.5 运行维护 (39) 六、总结 (40) 参考文献 (41) 一、概述 1.1设计背景 可行性研究的目的是用最小的代价在尽可能的短的时间内确定数据库系统是否可能开发、是否值得开发、是否可以开发(在该报告中主要是考查《学生选课管理系统》是否可能开发、是否值得开发、是否可以开发)。其实质是在较高层次上以较抽象方式进行的、简化的压缩的需求分析和概要设计过程。

UML学生选课系统

UML统模语言 实验报告 实验名称:学生选课系统UML部署系(院):计算机科学学院 专业班级:软工11402 姓名:靳生栋 学号:201404621 指导教师:应霞

实验时间:2017.10.15—2017.10.21 实验地点:12教一楼B区机房 一.需求分析 网上选课系统是一个高等院校用来进行对学生选修课程管理的管理信息系统(MIS)。该信息系统能够为学生提供方便的选课功能,也能够提高高等院校对学生和教学管理的效率。网上选课系统的功能性需求包括以下容: (1)系统管理员负责系统的管理维护工作,维护工作包括课程的添加、删除和修改,对学生基本信息的添加、修改、查询和删除。 (2)学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行查询已选课程、指定自己的选修课程以及对自己基本信息的查询。 满足上述需求的系统主要包括以下几个小的系统模块: (1)基本业务处理模块。基本业务处理模块主要用于实现学生通过合法认证登录到该系统中进行网上课程的选择和确定。 (2)信息查询模块。信息查询模块主要用于实现学生对选课信息的查询和自身信息的查询。 (3)系统维护模块。系统维护模块主要用于实现系统管理员对系统的管理和对数据库的维护,系统的管理包括学生信息、课程信息等信息的维护。数据库的维护包括数据库的备份、恢复等数据库管理操作。 二.创建系统用例模型 1.学生用例能够通过该系统进行如下活动: (1)查询选课信息。学生可以在查询界面了解可供自己选择的各门课程的详细信息。 (2)登录选课系统。学生能够根据自己的学号和密码登录选课系统,如果身份验证失败,不得进行下一步操作。如果通过身份验证才能进入下一个操作界面。

学生选修课管理系统设计C语言版

课程设计(论文)题目:学生选修课管理系统设计 学生姓名:江元 学号:201153100121 班级: 信息与计算科学11-01班 所在院部: 数学与计算科学学院 指导教师:龚红仿 2013 年1 月

学生选修课管理系统设计 学生姓名:江元 学号:201153100121 班级:信计11-01班 指导教师:龚红仿 完成日期: 2013年1月11日

学生选修课管理系统设计 摘要 C语言课程设计和现代计算机技术的实际应用相结合,是我们在本阶段学完理论课程之后对自己该方面的能力的一次很好的检验,从开始的算法思路到运行调试后的美观的图形界面以及另人兴奋的可用程序,都是一个很好的学习和锻炼的过程。使我们巩固了原有的理论知识,培养了我们灵活运用和组合集成所学过知识及技能来分析、解决实际问题的能力。使我们体会到自身知识和能力能在实际中的应用和发挥。不但可以激发创新意识,还可以开发创造能力、培养沟通能力。这次学生选修课系统管理设计时间虽然仅有一个星期,但确实使我受益非浅。通过学生选修课系统管理设计我丰富了计算机操作经验,更加深了对C语言的了解,熟悉了其环境,更增强了对Microsoft Visual C++ 6.0的使用技巧。 C语言是在国内外广泛使用的一种计算机语言。语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。同时,我觉得C语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。 关键词:学生选修课系统管理;C语言课程设计;计算机技术;模块化程序设计;信息录入;浏览信息;选课;查询

相关主题
文本预览
相关文档 最新文档