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

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

目录

1、课题目标 (1)

1.1设计要求 (1)

1.2选题背景 (1)

1.3课题意义 (1)

1.4功能需求分析 (2)

1.5系统功能分析 (2)

2、程序具体实现原理 (3)

2.1总体方案 (3)

2.1.1开发平台 (3)

2.1.2基本原理 (4)

2.1.3数据结构 (4)

2.1.4类的UML图 (5)

2.1.5模块说明 (6)

2.2程序各个功能说明 (7)

2.2.1 程序结构 (7)

2.2.2 课程设计要求的实现 (9)

3、调试报告 (14)

3.1遇到的问题及解决办法 (14)

3.2程序调试及运行结果 (15)

4、总结 (19)

5、参考文献 (19)

附录 (20)

1、课题目标

1.1设计要求

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

1.系统以菜单方式工作;

2.课程信息录入功能(课程信息用文件保存);

3.课程信息浏览功能;

4.查询功能(至少一种查询方式:按学分查询、按课程性质查询);

5.学生选修课程。

1.2 选题背景

当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最到好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。

尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好学生选课信息而设计的。

随着高校的多样全面发展,学生的人数和课程的种类急速增加,传统的选课管理模式已经无法满足当前的实际需求,学生选课作为一种信息资源的集散地,包含很多的信息数据的管理。由于数据繁多,容易丢失,且不易查找。并且数据处理手工操作工作量大,出错率高,出错后不易更改,造成各种不便,总的来说,缺乏系统,规范的信息管理手段。尽管有的学校有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是学生选课管理信息系统的开发基本环境背景。

1.3 课题意义

基于以上问题,我们认为有必要建立一个学生选课管理信息系统,使学生选课信息管理工作规范化、系统化、程序化,以避免学生选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。

系统实现后,极大的方便对学生进行选课和选课后班级的安排管理工作,学生选课信息的管理。避免在安排课程信息的滞后,减少信息交流的繁琐过程及其带来的额外开销。促进高校教育的计算机信息化进程,提高高校的工作效率。并且对于系统本身而言,具有更高的使用性、安全性。能够满足学生选课,以及学生对选课信息的管理。

同时,通过该课程设计,我们可以达到把C++程序设计理论知识更加的巩固加深,加强动手操作能力与实践能力,学以致用,与现实生活中的应用充分的结合起来,也实现了知识的活学活用。

1.4功能需求分析

一个完善的学生选课管理信息系统能够极大的提高学生选课信息的管理效率,具有检索迅速,查找方便,可靠性高,存储量大,更新快,寿命长,成本低等优点。

本系统主要可以实现以下任务目标:

1、系统可以准确的记录和查询学生、老师以及所开设的课程的基本信息

2、学生登录系统后可以根据本专业制定的教学计划进行选课操作,可以查询个人的基本信息

性能需求:

本学生信息管理系统要能够抵御用户可能的各种操作,包括修改、更新、删除等操作,以保证软件的可行性、稳定性、健壮性,同时要对数据进行检验,保证数据有效性,可操作性,安全性。同时普通用户登录只有浏览的权限。系统的非功能性需求:

实用性:系统以用户需求为目标,以方便用户为原则。根据用户实际的需求情况,度身订造一套先进的局域网数据传输,从用户角度出发尽可能的方便用户使用,满足基本的用户需要,成为学校等通用的网络软件。

高可靠性:一个实用的系统同时必须是可靠的,本设计通过合理而先进的网络设计以及软、硬件的优化选型,可保证系统数据传输的正确性。

高安全性:在设计中,将充分利用网络软、硬件提供的各种安全措施,既可以保证用户共享资源,同时也可保证关键数据的安全性。

可扩展性及灵活性:系统的设计以方便未来业务的扩展和系统扩充为目标,系统要求能够方便的升级,充分保护系统的投资。

智能型:系统在设计时,充分考虑系统运行的智能性,在使用系统一段时间后,系统可以适应于任何局域网。

1.5系统功能分析

根据设计要求,我们认为该系统应该包括:(1)课程信息输入功能;(2)课程信息浏览功能;(3)按学分查询功能;(4)按课程性质查询功能;(5)数据保存功能;(6)正确退出系统功能。其中对于课程信息输入功能可以有两个实现途径:①直接在系统中根据提示输入;②根据系统的功能在相应文件下建立text文件直接输入课程信息。对于其余四个功能则主要是供学生选课使用。本程序将课程性质统一规定为考试和考查两种;数据保存功能是为了保证在系统中直接输入的课程信息顺利保存到text文件。

2、程序具体实现原理

2.1 总体方案

首先根据设计要求,我们定义了三个类:Class类,Control类,Menu类。Class类用来存放一系列课程的信息,以及一些获取信息的get函数;Control 类是用来定义选课类的操作属性,从Control类里面来判断并实现用户所需要执行的动作;Menu类定义了菜单的操作,其中包括显示菜单,显示提示信息,获取用户从键盘输入的信息并执行。

针对Class类的定义,首先我们定义了一系列的设置相关课程信息的公有函数,用来将输入的内容传给私有函数,其次定义了常函数,目的是为了防止数据被其它函数调用时发生改变,同时将学分定义为浮点型,范围在0~10之间。

针对Menu类的定义,我们先定义了一个获取键盘输入的函数getInput(),用于获取数据,接着定义了界面友好的显示目录函数,使得用户进行操作更加方便,最后定义了一系列的显示提示信息函数。为了使得在今后的修改中更加清楚方便,我们将这些函数独立分开。

针对Control类的定义,因为它的目的是用于判断并实现用户所要执行的操作,是学生选课系统的核心。一切从start()函数开始,通过switch语句判断按下了哪个数字键,然后执行对应的操作,在文件录入这一方面,我定义了一个initIalization()函数,首先建立一个输入流,打开文件,将用户录入的课程信息放入到变量中,再由变量放入文件中。其中的公有函数即课程设计所要求的功能部分:添加选课,浏览选课,查询选课,保存文件。私有函数我们用了链表,classList,用来一条一条记录课程信息,方便添加浏览以及查询。两种查询方法都运用了迭代器的功能,迭代器的作用相当于指针,从链表的头部一个个指向链表的末尾,用于浏览以及查询部分。最后把迭代器指向的对象每个字段写入文件中,文件名定义为classSave,保存到程序的当前目录下。

最后主函数的实现,代码十分简单,先定义一个Control类的对象,ControlClass,再通过controlClass.start()启动整个程序。

2.1.1开发平台

操作系统:Win7

开发软件:Mirosoft Visual C++ 6.0

2.1.2基本原理

2.1.3数据结构

表1 数据结构表

数据名称数据类型解释

classNum string 课程编号

className string 课程名称

classProperties string 课程性质

totalClassNumber Int 总课时

currentClassNumber Int 授课学时

expClassNumber Int 上级或实验学时credit Double 学分

rightTerm string 开课学期

2.1.4类的UML图

表2 Class类的UML图

表3 Menue类的UML图

2.1.5模块说明

(1)课程信息录入。课程信息录入应包括:课程编号、课程名称、课程性质、总学时、授课学时、实验学时、学分、开课信息八个成员,为录入以上信息,首先使用setClassNum、setClassName、setClassProperties、setTotalClassNumber、setCurrentClassNumber、setExpClassNumber、setCredit、setRightTerm输出提示信息,其次使用addClass函数添加课程信息。

(2)课程信息浏览。该功能主要是读取所有的课程信息,在程序中首先通过getClassNum、getClassName、getClassProperties、getTotalClassNumber、getCurrentClassNumber、getExpClassNumber、getCredit、getRightTerm八个函数读取课程信息的相关信息,设置为静态成员函数,防止已录入的数据被篡改;其次使用showclass、showeachclassinfo函数显示全部课程信息。

(3)按学分查询。首先使用getCredit函数得到课程的学分信息,其次使用searchByCredit 函数输出“按学分查询”的提示信息;接着使用showAddCredit 函数输出“请输入学分”的提示信息;最后使用showSearchByCredit函数将查询结果输出。

(4)按课程性质查询。按照课程性质的查询实现了根据课程的性质对课程的查询,程序主要通过、showAddClassProperties、setClassProperties、getClassProperties、searchByClassProperties、showSearchByClassProperties、来

实现对课程的查询,同样全部设置为静态成员函数,已经录入的数据部能被篡改,根据提示输入就能得到想要查询的内容。

(5)存储信息。选择存储信息选项之后用showLoadingSaving 函数进行数据的存储,显示正在存储数据。数据存储完毕后用showSuccessedSaving函数显示输出数据存储完毕。

(6)退出系统。一个完整的系统应该包括退出系统,在程序中使用quit函数,在按数字键6后给出提示信息:“press any key to continue”提示使用者按任意键退出系统。

2.2 程序各个功能说明

2.2.1 程序结构

将class类的属性和行为进行封装:

1.Class的封装

class Class{//定义了课程类的一些属性

public:

void setClassNum(string classNumTemp);//课程编号

void setClassName(string classNameTemp);//课程名称

void setClassProperties(string classPropertiesTemp);//课程性质

void setTotalClassNumber(int totalClassNumberTemp);//总学时

void setCurrentClassNumber(int currentClassNumber);//授课学时

void setExpClassNumber(int expClassNumberTemp);//实验或上机学时

void setCredit(double credit);//学分

void setRightTerm(string rightTermTemp);//开课信息

// 录入函数设为常量函数防止信息被篡改

string getClassNum() const;// 课程编号录入

string getClassName() const;//课程名称录入

string getClassProperties() const;//课程性质录入

int getTotalClassNumber() const;//总学时录入

int getCurrentClassNumber() const;//授课学时录入

int getExpClassNumber() const;//实验或上机学时录入

double getCredit() const;//学分录入

string getRightTerm() const;//开课信息录入

// class类的私有成员

private:

string classNum;//课程编号

string className;//课程名称

string classProperties;//课程性质

int totalClassNumber;//总学时

int currentClassNumber;//授课学时

int expClassNumber;//上级或实验学时

double credit;//学分

string rightTerm;//开课学期

};

2.Menu类的封装

//menu类主要实现系统的主界面

class Menu{

public:

char static getInput();

void static showMenu();//显示菜单

void static clearScreen();//清屏

void static pauseScreen();//暂停

void static showAddClass();//显示添加课程信息的提示语

void static showBrowseClass();//

void static showSearchByCredit();//显示按学分查询的提示语

void static showSearchByClassProperties();显示按课程性质查询的提示语

void static showAddClassNum();//显示输入课程编号的的提示语

void static showAddClassName();//显示增加课程名称的提示语

void static showAddClassProperties();//显示输入课程性质的提示语

void static showAddTotalClassNumber();//显示输入总学时的提示语

void static showAddCurrentClassNumber();//显示授课学时的提示语

void static showAddExpClassNumber();//显示输入实验学时的提示语

void static showAddCredit();//显示输入学分的提示语

void static showAddRightTerm();//显示开课学期的提示语

void static showLoadingSaving();//显示正在存储信息的提示语

void static showSuccessedSaving();//显示信息已成功存储

void static quit();//退出系统函数

void static showEachClassInfo(Class classTemp);//调用class类中的对象显示信息};

3 .Control类的封装

class Control{//定义了选课类的操作属性

public:

Control(){}

void start();

void initIalization();

void addClass();

void quit() ; //退出函数

void showAllClass();

void searchByCredit();

void searchByClassProperties();

bool saveClass();

private:

list classList;

};

2.2.2 课程设计要求的实现

//Class类中各成员函数的实现

void Class::setClassNum(string classNumTemp){

this->classNum = classNumTemp;

}// 设置课程编号的实现

void Class::setClassName(string classNameTemp){

this->className = classNameTemp;

}//设置课程名称的实现

void Class::setClassProperties(string classPropertiesTemp){ this->classProperties = classPropertiesTemp;

}//设置课程性质的实现

void Class::setTotalClassNumber(int totalClassNumberTemp){ this->totalClassNumber = totalClassNumberTemp;

}//设置总学时的实现

void Class::setCurrentClassNumber(int currentClassNumber){ this->currentClassNumber = currentClassNumber;

}//设置授课学时的实现

void Class::setExpClassNumber(int expClassNumberTemp){ this->expClassNumber = expClassNumberTemp;

}//设置上机或实验学时的实现

void Class::setCredit(double credit){

this->credit = credit;

}//设置课程学分的实现

void Class::setRightTerm(string rightTermTemp){

this->rightTerm = rightTermTemp;

}//设置开课学期的实现

string Class::getClassNum() const{//设置为常函数防止数据改变return this->classNum;

}

string Class::getClassName() const{

return this->className;

}

string Class::getClassProperties() const{

return this->classProperties;

}

int Class::getTotalClassNumber() const{

return this->totalClassNumber;

}

int Class::getCurrentClassNumber() const{

return this->currentClassNumber;}

int Class::getExpClassNumber() const{

return this->expClassNumber;}

double Class::getCredit() const{

return this->credit;}

string Class::getRightTerm() const{

return this->rightTerm;}

//Menu类各成员函数的实现

char Menu:: getInput(){ //获取输入函数金融数学考试大三下

char key = cin.get();

return key;}

void Menu:: showMenu(){

cout << " 欢迎您进入学生选课管理系统" << endl;

cout << " ***************************************" << endl;

cout << " " << endl;

cout << " 1 课程信息录入"<< endl;

cout << " 2 课程信息浏览功能" << endl;

cout << " 3 根据学分查询" << endl;

cout << " 4 按课程性质查询" << endl;

cout << " 5 存储信息" << endl;

cout << " 6 退出系统" << endl;

cout << " " << endl;

cout << " 请输入操作对应的序号" << endl;

cout << " ***************************************" << endl;

}

void Menu:: clearScreen(){

system("cls");}

void Menu:: pauseScreen(){ //暂停

system("pause");}

void Menu:: showAddClass(){ // 显示增添课程信息

cout << "请输入要添加的课程编号,课程名称,课程性质,总学时,授课学时,实验学时,学分,开课学期等信息" << endl;

}

void Menu:: showBrowseClass(){

cout << "所有课程的信息为" << endl;}

void Menu:: showSearchByCredit(){

cout << "按照学分查询的结果为:" << endl;}

void Menu:: showSearchByClassProperties(){

cout << "按照课程性质查询的结果为:" << endl;}

void Menu:: showAddClassNum(){

cout << "\n请输入课程编号" << endl;}

void Menu:: showAddClassName(){

cout << "请输入课程名称" << endl;}

void Menu:: showAddClassProperties(){

cout << "请输入课程性质" << endl;}

void Menu:: showAddTotalClassNumber(){

cout << "请输入总学时" << endl;}

void Menu:: showAddCurrentClassNumber(){

cout << "请输入授课学时" << endl;}

void Menu:: showAddExpClassNumber(){

cout << "请输入实验或上机学时" << endl;}

void Menu:: showAddCredit(){

cout << "请输入学分" << endl;}

void Menu:: showAddRightTerm(){

cout << "请输入开课学期" << endl;}

void Menu:: showLoadingSaving(){

cout << "正在存储数据" << endl;}

void Menu:: showSuccessedSaving(){

cout << "数据存储完毕" << endl;}

void Menu:: quit(){

cout<<"press any key to continue";}

void Menu:: showEachClassInfo(Class classTemp){

cout << "课程编号:" << classTemp.getClassNum() ;

cout << " 课程名称:" << classTemp.getClassName();

cout << " 课程性质:" << classTemp.getClassProperties() ;

cout << " 总学时:" << classTemp.getTotalClassNumber();

cout << " 授课学时:" << classTemp.getCurrentClassNumber() ;

cout << " 实验学时:" << classTemp.getExpClassNumber();

cout << " 课程学分:" << classTemp.getCredit();

cout << " 开课学期:"<< classTemp.getRightTerm();

cout << " " <

cout << " " <

}

/ Control类成员函数的实现

void Control:: start(){ //start里面要做的事情就是初始化界面,等待用户输入,判断输入调用

initIalization();

while(1){

Menu::clearScreen();

Menu::showMenu(); //显示了界面

char key = Menu::getInput();

switch(key){

case '1': //判断是按下了哪个按键,然后执行什么对应的操作

Menu::clearScreen();

Menu::showAddClass();

this->addClass();

cin.get();

cin.get();

break;

case '2':

Menu::clearScreen();

Menu::showBrowseClass();

this->showAllClass();

Menu::pauseScreen();

break;

case '3':

Menu::clearScreen();

this->searchByCredit();

Menu::pauseScreen();

break;

case '4':

Menu::clearScreen();

this->searchByClassProperties();

Menu::pauseScreen();

break;

case '6':

Menu::clearScreen();

this->quit();

Menu::pauseScreen();

break;

case '5':

Menu::showLoadingSaving();

if (this->saveClass()){

Menu::showSuccessedSaving();

}

Menu::pauseScreen();

Menu::pauseScreen();

default:

break;

}

}

}

void Control:: initIalization(){

ifstream ifs;//文件输入流ifs 相当于建立一个文件

ifs.open("classSave.txt",ios_base::in);

if (!ifs){

Menu::pauseScreen();

return;}

Class classTemp;//class 类的一个对象classTemp

if (ifs.is_open()){//系统内置函数判断文件是否打开string classNum(" ");//初始化

string className(" ");

string classProperties(" ");

int totalClassNumber(0);

int currentClassNumber(0);

int expClassNumber(0);

double credit(0.0);

string rightTerm(" ");

while(!ifs.eof()){

ifs >> classNum >> className >> classProperties >> totalClassNumber

>> currentClassNumber >> expClassNumber >> credit >> rightTerm;//从文件读取的内容放到对应的变量里面

classTemp.setClassNum(classNum);

classTemp.setClassName(className);

classTemp.setClassProperties(classProperties);

classTemp.setTotalClassNumber(totalClassNumber);

classTemp.setCurrentClassNumber(currentClassNumber);

classTemp.setExpClassNumber(expClassNumber);

classTemp.setCredit(credit);

classTemp.setRightTerm(rightTerm);

classList.push_back(classTemp);//在末尾添加一个变量

}

ifs.close();

}

}

void Control:: addClass(){ //添加例如选课等操作

Class classTemp;

string classNum("");

string className("");

string classProperties("");

int totalClassNumber(0);

int currentClassNumber(0);

int expClassNumber(0);

double credit(0.0);

string rightTerm("");

Menu::showAddClassNum();

cin >> classNum;

classTemp.setClassNum(classNum);

Menu::showAddClassName();

cin >> className;

classTemp.setClassName(className);

Menu::showAddClassProperties();

cin >> classProperties;

classTemp.setClassProperties(classProperties);

Menu::showAddTotalClassNumber();

cin >> totalClassNumber;

classTemp.setTotalClassNumber(totalClassNumber);

Menu::showAddCurrentClassNumber();

cin >> currentClassNumber;

选课系统的设计与实现

防灾科技学院 实习报告书 防灾科技学院灾害信息工程系 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.360docs.net/doc/0c8926702.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 {

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

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

学生选课系统设计说明书

学生选课系统的系统设计 1引言 1.1编写目的 开发一个学生选课系统, 采用计算机对学生成绩进行管理, 进一步提高了办学效益和现代化水平。为广大教师和学生提高工作效率, 实现学生成绩信息管理工作流程的系统化、规范化和自动化。一个高校的学生成绩管理系统可以存储历届的学生成绩档案, 不需要大量的人力, 只需要几名专门录入员即可操作系统, 节省大量人力, 可以迅速查到所需信息、高效、安全, 学生也能方便的查看自己的成绩。 1.2项目背景 (1)ASP的动态网页和SQL Server大型的数据库建立一个学生选课系统。 (2)以Windows XP作为学生选课管理系统的后台操作系统,后台数据库系统采用SQL Server 2000。 系统的名称:学生选课系统; 工程组织者:数学与计算机学院; 产品所有权:学生选课系统开发小组拥有 任务的详细信息: a) 任务提出人:张阳 b) 需求分析人:张阳 c) 用户:使用该软件且具有一定特权的管理人员(老师)和学生。 1.3 定义 (1)Active Server Pages (ASP) 是服务器端脚本编写环境,是由Server端脚本、对象以及组件拓展过的标准主页使用它可以创建和运行动态、交互的Web 页和基于Web 的功能强大的应用程序。ASP程序是由文本、HTML标记和脚本组合而成的。在ASP程序中,脚本通过分隔符与文本和HTML标记区分开来。ASP用分隔符〈%和%〉包括脚本命令。由分隔符括起的命令称为主脚本命令,这些命令由主脚本语言进行处理。在ASP分隔符〈%和%〉内,可以包括主脚本语言允许的任何语句、表达式和操作符等。 (2)SQL Server 是一个具备完全Web 支持的数据库产品,提供了对可扩展标记语言(XML) 的核心支持以及在Internet 上和防火墙外进行查询的能力,提供了以Web 标准为基础的扩展数据库编程功能。丰富的XML 和Internet 标准支持允许使用内置的存储过程以XML 格式轻松存储和检索数据。 1.4参考资料 【1】Karl E.Wiegers 著.陆丽娜王忠民王志敏译.软件需求.机械工业出版社.2000 【2】Roger S. Pressman.软件工程-实践者之路第五版.影印.清华大学出版社.2001 【3】《软件工程导论》张海藩编著清华大学出版社2000

学生选课系统设计报告

大理学院数学与计算机学院《数据库系统设计》课程设计报告 班级:2012级计算机科学与技术1班 学号:201211514 姓名:刘秀珍 系统名称:学生选课系统 总分:

实验报告内容及撰写要求: 一、需求分析 程序的主要功能描述,可以用文字、框图、用例等方式。 参考《数据库系统设计任务书》附录中的内容来进行设计报告的撰写。 主要应当包含分析的过程及分析后得到的数据流图和数据字典。 二、数据库设计 2.1 数据库概念设计 实体关系模型设计,创建分ER图和总体ER图,并描述总体E-R图合并时的问题解决。 2.2数据库的逻辑设计 根据概念设计结果,创建数据库的逻辑模型,建立在具体DBMS下(SQL SERVER 2005)的表结构,并根据规范化理论对表结构进行优化调整。 同时,根据应用需求,创建数据库系统所需的外模式(视图)、模式和内模式(索引)等,此外,应当根据需求,建立数据完整性约束(实体完整性,参照完整性和用户自定义完整性)。 三、系统实现 3.1 数据库访问 1)数据访问类及实现代码 2)SQL语句 3.2 业务逻辑层类及代码 描述业务流程、数据处理功能的模块代码 3.3表示层的实现 可以用界面截图及其实现类及核心代码描述

四、总结

一、需求分析 1.1背景 全校性选修课开设的目的在于扩大学生的知识面、加强学生素质教育、培养复合型高级人才,具有不可替代的重要性。随着教育改革的不断深入和素质教育的加强,学分制的实施,选修课在一个学生的培养计划中占的比重将越来越大。 网上选课系统的出现使同学们能够更加自主、便捷、准确的进行选课。但是,由于一般高校中的学生都比较多,因此带来了诸多如信息管理等问题,鉴于需要将学生信息、选课信息等信息数字化以便于管理维护,我们便想到了利用数据库能够比较良好地解决此类问题,由此下面我将设计出一个学生选课系统以供参考。 1.2系统设计要求: 设计出一个学生选课数据库系统的简要要求如下: 1)设计要求 ①建立相应的数据库及相关的表、属性、约束、规则、默认等; ②输入相应的记录(每个表不少于20条记录); ③编写进行数据管理的存储过程。 2)系统用户由系统管理员、学生用户和教师用户三类组成。 (1)系统管理员的主要功能: ①用户管理(对教师、学生信息的管理和维护); ②课程管理(对课程信息的管理和维护); ③选课管理(实现选课功能开放和禁止、老师成绩输入开放和禁止)。

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

通达学院 程序设计 (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++的编程思想有了较好了解和认识。 一设计目的及内容: 网上选课系统是针对在校学生和教师使用,从学生的角度来说,由于学校教学制度的改革,现在大部分高等院校开始实行的是学生的自主选课模式,传统的教学模式(学生按照学校安排好的课程上课)已经不能适应新型的教学手段,如果仍然通过纸上的选课,一方面浪费大量的人力,物力资源,另一方面浪费时间以及在人为的统计过程中不可避免出现的差错等情况。随着学校规模的不断扩大,专业,班级,学生的数量急剧增加,有关学生选课的各种信息也成倍增加,而目前许多高校的学生的选课管理仍然停留在复杂的人工操作上,重复工作较多,工作量大,效率低,各种弊端会越来越多的暴露出来,因此利用网络,使学

学生选课系统详细设计说明书

学生选课系统详细设计说明书

一、编写目的 该详细设计说明书的目的在于根据需求说明书与概要设计说明书提出该系统的详细设计,即系统的详细架 构,主要包括系统的模块划分、程序系统的结构、各个 模块的流程以及各层次中每个程序的设计考虑。 二、背景 软件系统名称:学生选课系统 软件实现计算机:LENOVO 三、管理员模块程序设计说明 ①人员管理:管理员在登录之后可以对系统内的人员(包括 学生、教师等)进行管理,包括对人员的信息进行查询、修改和删除等操作。 ②课程管理:管理员在后台添加、编辑课程的基本信息(包 括授课教师、开课时间设定),同时可以编辑系统开放选课的时间,在适当时间开启和关闭选课系统。 ③系统信息管理:管理员可对系统的基本信息进行编辑,对 系统公告进行更改或者系统标题、系统相关链接等。 ④系统权限管理:对不同的用户要分配不同的权限,管理员 可设定不同人员对不同模块的访问权限,允许或者拒绝不同用户对模块的增删查改操作。 四、教师模块程序设计说明 (1)基本信息管理:此模块主要实现两个分支功能: ①个人信息修改和密码修改。在教师用户登录状态下,实现这些功能,通过对自己的注册信息的修改满足用户的个性需求,能将注册信息及时反映个人状态,另外,密码修改则是很多网站都应具备的基本功能,能有效保护用户身份和网络安全。 ②其它基功能如学生查询,教师查询和留言查询,这三个功能都是在教师在线状态下实现的。学生查询对于教师来说非常实用,如果教师想要某个学生的基本信息,只要登录查询就可以找到目标学生,此模块目的在于让老师更方便的掌握学生的基本信息以备不时之需,用以师生交流上非常方

选修课程管理系统

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

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

学生网上选课系统毕业设计论文

实训报告 课题名称:学生网上选课系统

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

学生选课管理系统 概要设计

软件工程实验报告 班级:学号:姓名: 实验二:概要设计和详细设计 学生选课管理系统设计说明书 一、实验内容 1.引言 1.1编写目的 设计说明书的书写,主要是明确系统的功能和算法,把总任务分解成多个基本的、具体的任务。将系统分成若干个模块,确定各个功能模块的具体用途总体设计是系统开发过程中关键的一步。系统的质量及一些整体特性基本上是由这一步决定的。系统越大,总体设计的影响越大。项目开发的专业人员需要了解系统的总体概要设计,并以次为行动指南,开展下一个阶段的具体工作。 读者对象:项目分析和开发人员。 1.2项目背景 学校是一个与学生信息安全密切的重要机构,在高度信息化的今天,学生对学校管理的要求也越来越高。为了方便学生查询自己的选课信息,也为了学校更好的了解学生选课信息,学校需要一个学生选课信息管理系统。 系统的名称为:学生选课管理系统。 项目的开发提出者:学校。 软件的用户为:学校的学生、教师和管理员。 1.3 定义 本学生选课管理系统在开发时注意到使用专业术语会对今后的系统使用者造成不便,故所有相关词汇使用了简洁并通俗易懂的词汇,系统使用者不会出现对此系统词汇看不懂的问题,故而在此对系统及文件使用词汇不做定义。 2.任务概述 2.1目标 明确学生选课管理系统各个模块的需求和功能。 2.2运行环境 操作系统:windows2000以上版本。 2.3需求概述

学生选课管理系统的主要功能主要功能是实现对学生信息和教师信息的管理,以及学生成绩的管理。因此,该系统需要具备的具体功能如下: 学生页面操作:包括个人信息,密码修改,查询成绩,选课,退选五个功能; 教师页面操作:包括个人信息,密码修改,修改其所授科目的学生成绩; 管理员页面操作:包含学生信息管理(增加、修改、删除、查询); 教师信息管理(增加、修改、删除、查询); 课程信息管理(增加、修改、删除、查询); 成绩管理(查询、录入、修改); 3.总体设计 3.1处理流程 系统基本流程: 学生用户登录——>主界面——>选择各项子系统 教师用户登录——>主界面——>选择各项子系统 管理员登录——>主界面——>选择各项子系统 3.2总体结构和模块外部结构 本选课系统主要是由学生管理、教师管理和管理员管理三个部分构成。其中学生管理是学生对个人信息的一些查询、选课以及退课,并不能对一些信息进行修改。而管理员管理是管理员对学校一些信息的查询和修改。可从下面的系统结构图中看到。 (图一:总体模块) 学生选课管理系统 管理员管 理 学生管理 教 师 管 理

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

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

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

学生选修课管理系统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<

选课系统的设计与实现

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

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 系统的条件与限制 系统必须通过登录才能进行操作。对于数据库的操作权限大多数都是在管理员中,只有当管理员安排课程后,学生才能选修该课程。除学生自己外,没有人有权限去修改他人的选课记录。 参考资料 需求分析说明书 概要设计说明书 系统详细设计说明书 软件工程概论郑人杰马素霞殷人昆编著机械工业出版社

学生选课系统课程设计

滨江学院 软件工程课程设计报告( 2007 -- 2008 年度第二学期) 课程名称:软件工程课程设计 题目:学生选课系统 院系:软件工程 班级: 学号: 姓名: 指导教师: 设计周数:两周 日期:2008 年7月4日

摘要: 本系统实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩;管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课程等。系统利用.Net平台技术进行开发,实现学生选课的动态管理,使得对信息的管理更加及时、高效,提高了效率。同时还对系统的开发原理、功能特点和设计方案进行了介绍。 关键词:学生选课数据库管理 https://www.360docs.net/doc/0c8926702.html, 一、课程设计的目的与要求 通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。 具体如下: 1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编 码和测试方面的知识; 2.熟悉自动化的软件开发工具Rational Rose 2003,并将其运用于软件开发的全过程; 3.进一步加强和提高软件工程文档的编写能力; 4.培养协作能力和团队精神。 二、设计正文 1.概述 1.1课题题目:学生选课系统 1.2系统的主要目标: 本系统目标是实现选课系统所需的各种基本功能,包括学生选课、退课功能和教师查看选修课程、提交课程成绩功能以及管理员添加学生、维护学生信息、成绩管理、添加教师、维护教师信息、维护选修课程,还有公用的修改密码等功能。 1.3 系统的开发环境及运行环境: 操作系统:Windows XP Pro SP2 建模工具:Rational Rose 2003 数据库系统:SQL Server2000 开发工具:Visual Studio 2005 Web服务器:IIS+https://www.360docs.net/doc/0c8926702.html, 2.0平台 2.系统需求分析 学生选课系统主要满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户,也即是三类用户角色。 (1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课操作等; (2)教师用户主要需求功能是查看自己所教授的课程、课程有哪些学生选修、以及利用本系统提交学生的成绩; (3)管理员用户的功能需求较为复杂,包括对学生信息、教师信息、课程信息进行管理。在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。 在教师管理子模块中,实现对教师信息的添加、修改、删除、查询等操作。在课程管理子模块中,实

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

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

选修课程管理系统

课程设计 课程名称大型数据库课程设计 题目名称选修课程管理系统 专业班级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)

相关文档
最新文档