学生选课系统说明书

学生选课系统说明书
学生选课系统说明书

山东建筑大学计算机科学与技术学院

课程设计说明书

题目:学生选课系统

课程: C/C++课程设计

院(部):计算机科学与技术学院专业:计算机科学与技术

班级:计科143

学生姓名:肖洋

学号: 20141111099

指导教师:夏传良

完成日期: 2015//12//30

C/C++语言课程设计说明书

目录

1、课程设计目的 (1)

2、课程设计任务 (1)

3、学生选课系统 (2)

4、参考文献 (12)

5、课程设计总结 (13)

1、课程设计目的

本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学习完《C/C++语言》课程后进行的一次全面的综合练习。本课程设计的目的和任务:(1)巩固和加深学生对C/C++课程的基本知识的理解和掌握;(2)掌握C/C++编程和程序调试的基本技能;(3)利用C/C++进行简单软件设计的基本思路和方法,初步理解面向过程和面向对象的编程思想;(4)提高运用C/C++解决实际问题的能力;(5)掌握书写程序设计说明文档的能力。(6)培养实际操作能力,为以后的工作打下坚实的基础

2、课程设计任务

设计题目学生选课系统

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

1、系统以菜单方式工作

2、课程信息和学生选课信息录入功能

(课程信息用文件保存)

3、课程信息浏览功能

4、查询功能

5、按学分查询

6、某门课程学生选修情况(可选项)

设计内容与步骤1、模块化程序设计。

2、具体数据结构的定义及其处理数据

算法的设计。

3、锯齿型程序书写格式。

4、程序设计、实现、调试。

5、课程设计说明书。

3、学生选课系统 3.1 问题描述与功能设计

第一步: 分析问题

a)对于不同的函数,luru(),luru2(),xxqingkuang(),liulan(),find(),确定要产生的数据(输出),应定义表示输入和输出的各种符合类型的变量。

c)根据需要,定义结构体,并通过顺序操作,通过循环操作 完成包括许多文本和图象处理操作。

Struct kech[N] 课程的结构数组 char

name[10]; 课程名称

char

xz[20];

课程性质 int num; 课程编号 int time; 学时 int Atime; 授课学时 int Btime; 实验或上机学时 int

begintime; 开课学期 int score; 学分

int people;

该课程选课人数

设计工作计划与进度安排

1、程序设计10学时。

2、实现与调试6学时。

3、课程设计说明书4学时。

设计考核要求

1、考勤20%。

2、课程设计说明书50%。

3、答辩、成果演示30%。

Struct xuanke[N] 选课信息的结构数组

double

xuehao ;

学号

int bianhao[10] 选课课程编号

int

hdxf;

可获得学分

学生选修课程系统主要功能有

录入课程信息(并保存文件):

录入学生选课信息(也可以保存在文件中)

课程信息浏览功能

按学分查询功能

某门课程学生选修情况功能

各种功能之间以菜单方式工作,实现信息对信息的灵活获取和操作。

3.2 概要设计

总体框图

学生选课

系统

输入1 录入学生选课信息

输入2

课程信息

浏览模块

输入3

按学分查

询模块

输入4

录入学生

选课信息

输入5

显示选课

情况模块

输入6

退出系统

3.3 详细设计

流程图

在数组

kech[N]

中增加

结构元

lur

u()

choice=1

输subject ++;

e:\\k

subject=0,index=0;

假 真 真

subject=

输出提示语

调用liu lan

调用fin d()

调用lur u2(调用xxqin gkuan g ()

退出

choice=6

choice=5

choice=2

choice=3

choice=4

输入s

Subject!=0

在数组xuanke[N]中增加结构元

e:\\ks

i++

输出结构元

int i=1

有录

i

i++

int i=1

i

有录录

s==kech[i].sc

计算

xuanke[index].hdxf ; 计算kech[index].people ;

真 假

输入课程编号

查询是否存在 并

kech[m].pe

int i=1 i

输出结构元素

3.4测试数据与测试情况

4、参考文献

[1] 何钦铭、颜晖著,C语言程序设计,高等教育出版社,2011年12月。

[2] 杜茂康、李昌兵著,C++面向对象程序设计(第二版),电子工业出版社,2009年11月。

[3] 钱能,C/C++程序设计教程(修订版)—设计思想与实现,清华大学出版社,2013年1月。

[4] 郑秋生:C/C/C++程序设计教程,电子工业出版社,2007年10月。

5、课程设计总结

通过这次课程设计,认识了C语言结构的用法和各种流程的控制输出样式:

1、设计课程结构和学生选课的结构元素时应考虑存储字节大小其中char型数组,整型数据,其中存储学号的整形数组在存储例如20141111099学号时内存不足会导致运行出错。

2、对异常的处理能力也得到提升,在按学分查询课程时,首先没有录入数据时应该输出“你还没有录入课程”其次查询录入的数据中,如果存在则输出在该结构数组,如果不存在则输出“没有该课程”。

3、在一次次的修改文件的执行代码和编辑时,在菜单显示的功能上也需要排列整齐和有序,在完成设计功能的同时也增加了一些相应的小功能,对学生的选课信息进行可获得学分的计算。

4、通过本次课程设计也培养了我独立思考、综合运用所学有关相应知识能力,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关。在这次课程设计中也知道了自己的动手能力不强有待进一部的提高,只是掌握的还不够,还需强化知识。

6.附件(源程序)

#include

#include

#include

using namespace std;

#define N 5

struct kech { //定义课程结构

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

char xz[20]; //课程性质

int num; //课程编号

int time; //学时

int Atime; //授课学时

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

int score; //学分

int begintime; //开课学期

int people;

}kech[N];

struct xuanke { //定义学生选课结构

double xuehao; //学号

int bianhao[10]; //选课编号

int hdxf; //可获得学分

}xuanke[N];

int subject = 0, index = 0;

void luru() //录入课程信息

{

int i = subject;

ofstream ofile("e:\\ksfiles\\text.txt", ios::app);

cout <<"/******请输入课程信息******/\n";

cout <<"课程编号:"; //输入课程编号

cin >> kech[i].num;

ofile << kech[i].num <<" ";

cout <<"课程名称:"; //输入课程名称

cin >> kech[i].name;

ofile << kech[i].name <<" ";

cout <<"课程性质:"; //输入课程性质

cin >> kech[i].xz;

ofile << kech[i].xz <<" ";

cout <<"总学时:"; //输入总学时

cin >> kech[i].time;

ofile << kech[i].time <<" ";

cout <<"授课学时:"; //输入授课学时

cin >> kech[i].Atime;

ofile << kech[i].Atime <<" ";

cout <<"实验或上机学时:"; //输入实验或上机学时

cin >> kech[i].Btime;

ofile << kech[i].Btime <<" ";

cout <<"学分:"; //输入学分

cin >> kech[i].score;

ofile << kech[i].score <<" ";

cout <<"开课学期:"; //输入开课学期

cin >> kech[i].begintime;

ofile << kech[i].begintime <<" ";

kech[i].people = 0;

ofile << kech[i].people << endl;

ofile.close();

subject++;

}

void luru2() //录入学生选课信息

{

int i = index;

int n;

if (subject == 0)

{

cout <<"你还没有录入课程信息!"<< endl; //异常处理

return;

}

ofstream open("e:\\ksfiles\\class.txt", ios::app);//保存文件

cout <<"/******请输入选课学生信息******/"<< endl;

cout <<"学生学号:"; //输入学号

cin >> xuanke[i].xuehao;

open << xuanke[i].xuehao <<" ";

cout <<"请输入该生所选课程数量:";

cin >> n;

int j = 0;

int panduan = 0;

xuanke[i].hdxf = 0;

while (j != n)

{

cout <<"第"<< j + 1 <<"个课程编号: ";

cin >> xuanke[i].bianhao[j];

open << xuanke[i].bianhao[j] <<" ";

for (int k = 0;k

{

if (xuanke[i].bianhao[j] == kech[k].num)

{

panduan = 1;

xuanke[i].hdxf += kech[k].score;

kech[k].people++;//对可获得学分进行计算

}

}

if (panduan == 0)

cout <<"该课程编号不存在!请重新输入"<< endl; //异常处理

else j++;

}

cout <<"该学生可获得"<< xuanke[i].hdxf <<"学分"<< endl;

open << xuanke[i].hdxf << endl;

open.close();

index++;

}

void liulan() //浏览课程信息

{

int i;

if (subject != 0)

{

cout << endl <<"课程编号课程名称课程性质总学时授课学时实验或上机学时学分开课学期"<< endl; //*输出信息

for (i = 0;i

{

cout <<" "<

}

}

else

{

cout <<"你还没有录入课程信息!"<< endl; //异常处理

return;

}

}

int find() // 查询功能

{

int s;

int panduan = 0;

cout <<"请输入你所要查询课程的学分为:";

cin >> s;

if (subject == 0)

cout <<"你还没有录入课程信息!"<< endl; //异常处理

else

{

for (int i = 0;i

{

if (s == kech[i].score)

{

panduan = 1;

cout << endl <<"课程编号课程名称课程性质总学时授课学时实验或上机学时学分开课学期"<< endl;

cout <<" "<< kech[i].num <<"\t "<< kech[i].name <<"\t "<< kech[i].xz << " \t"<< kech[i].time <<" \t"<< kech[i].Atime <<" \t"<< kech[i].Btime <<"\t "<

}

}

if (panduan == 0) cout <<"没有该学分的课程!"<< endl; //异常处理

}

return -1;

}

void xxqingkuang() //某课程的选课情况统计

{

int m;

int panduan = 0;

cout <<"请输入您要查询的的课程编号:";

cin >> m;

if (subject == 0)

cout <<"你还没有录入课程信息!"<< endl; //异常处理

else

for (int i = 0;i

{

if (m == kech[i].num)

{

panduan = 1;

cout <<"该课程的选课人数为 "<< kech[i].people <<"人"<< endl;

}

}

if (panduan == 0)

cout <<"抱歉,还没有该课程编号!"<< endl; //异常处理

}

void main() //主函数

{

int choice = 0;

while (choice != 6)

{

cout <<"/*************欢迎使用本系统,请根据需要进行操作!*************/"<< endl;

cout <<"/**********主菜单**********/"<< endl;

cout <<"1.课程录入"<< endl;

cout <<"2.课程浏览"<< endl;

cout <<"3.课程查询"<< endl;

cout <<"4.学生选课"<< endl;

cout <<"5.学生选修情况"<< endl;

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

cout <<"请选择:"<< endl;

cin >> choice;

switch (choice)

{

case 1:

luru(); break;

case 2:

liulan(); break;

case 3:

find(); break;

case 4:

luru2();break;

case 5:

xxqingkuang(); break;

case 6:

cout <<"/*************感谢使用本系统!*************/\n"; break;

default:

cout <<"选择错误,请重新选择!"<< endl;

}

}

}

大学生选课系统软件需求规格使用说明

b.运行环境:WINDOWS2003/WINDOWS XP/ WINDOWS 7 c.处理器:Intel PentiumIII 及以上 d.内存要求:521M及以上 e.硬盘空间:40G及以上 f.网络协议;TCP/IP

3功能性需求分类 3.1 数据流图 顶层数据流图: 第一层数据流图:

第二层数据流图:

3.2 状态转换图

3.3 具体功能 3.3.1学生功能 3.3.1,1 密码修改 学生利用自己的学号注册成功之后,登录之后可到个人信息界面进行密码修改。 3.3.1.2 填写、修改个人信息 学生登录之后,选择个人信息,进入到个人信息管理界面,可进行个人信息的填写和修改,保存即可生效。 3.3.1.3 自主选课 学生登录之后,选择开始选课功能,跳转到自主选课界面,结合选课课表,进行选课,如果上课人数已满,系统会做出相应的提示如果课程可选,选课成功后,课程会自动添加到本页面上方必修课表中。如果学生在选课周期内,对自己已选课程不满意,可从新登陆本系统,进入自主选课界面,删除当前选择的课程,并重新选课;若超出选课周期,则选课结束,选课结果不能进行更改。 3.3.1.4 查询已选课程 学生登录本系统,进入到自主选课界面,则可以查看必修和选修的全部课程信息。

3.3.2.1密码修改 教师用自己的教工号注册成功后,登录本系统,进入个人信息管理界面,可修改自己的密码。 3.3.2.2 填写、修改个人信息 教师登录本系统,进入个人信息管理界面,即可对自己的个人信息进行填写个修改,保存后即可生效。 3.3.2.3 课程信息发布 在学生选课开始之前,教师需提前将自己本学期所授课程的详细信息上传本系统,最终由管理员进行统一排课,生成选课课表,供学生选课使用。课程发布信息包括:课程名,学时,学分,任课教师。教师登录本系统后,进入课程信息发布界面,将课程信息发布上传给管理员。如若课程信息发布错误,任课教师可在课程信息发布界面进行修改和删除。 3.3.2.4 查询 本功能指教师查询自己所受课程的选课情况,教师登陆本系统,进入选课情况查询界面,输入对应的课程号,即可显示该门课程的选课情况,选课情况包括:学生的学号,姓名,班级,院系。教师可在本界面上对查询结构进行打印,以方便授课。

学生选课数据库SQL语句练习题(详细分解答案)

学生选课数据库SQL语句练习题(详细分解答案)

一、设有一数据库,包括四个表:学生表(Student)、课程表 (Course)、成绩表(Score)以及教师信息表(Teacher)。 四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示。用SQL语句创建四个表并完成相关题目。 表1-1数据库的表结构 表(一)Student 含义 属性名数据类型可否为 空 Sno Char(3) 否学号(主键) Sname Char(8) 否学生姓名 Ssex Char(2) 否学生性别 Sbirthday datetime 可学生出生年 月 Class Char(5) 可学生所在班 级 表(二)Course 含义 属性名数据类型可否为 空 Cno Char(5) 否课程号(主 键) Cname Varchar(10) 否课程名称 Tno Char(3) 否教师编号(外 键) 表(三)Score 含义 属性名数据类型可否为 空 Sno Char(3) 否学号(外键) Cno Char(5) 否课程号(外 键) Degree Decimal(4,1) 可成绩

主码:Sno+ Cno 表(四)Teacher 含义 属性名数据类型可否为 空 Tno Char(3) 否教师编号(主 键)Tname Char(4) 否教师姓名Tsex Char(2) 否教师性别Tbirthday datetime 可教师出生年 月 Prof Char(6) 可职称Depart Varchar(10) 否教师所在部 门 表1-2数据库中的数据 表(一)Student Sno Sname Ssex Sbirthday class 108 曾华男1977-09-01 95033 105 匡明男1975-10-02 95031 107 王丽女1976-01-23 95033 101 李军男1976-02-20 95033 109 王芳女1975-02-10 95031 103 陆君男1974-06-03 95031 表(二)Course Cno Cname Tno 3-105 计算机导论825 3-245 操作系统804 6-166 数字电路856

学生选课系统软件需求说明书

学生选课系统软件需求说明书 作者: 完成日期: 签收人: 签收日期: 修改情况记录: 目录 1引言................................................................................................................................................ .. 1 1.1 编写目的. .................................................................................................................................. 1 1.2 范围. (1) 1.3 定义. (1)

1.4 参考资料. (1) 2项目概述 (2) 2.1 项目来源及背景. ...................................................................................................................... 2 2.2 用户特点. . (2) 2.3 项目目标. (2) 3应用环境 (3) 3.1 系统运行的网络环境. (3) 3.2系统运行的硬件环境. (3) 3.3系统运行的软件环境. (4) 4功能需求规格 (4) 4.1角色定义. (4) 4.2系统主用例图. (5) 4.3登录模块. ................................................................................................................................... 6 4.4管理员模块.

学生选课系统

管理信息系统课程设计报告 学生选课系统 班级: 学号: 姓名: 指导教师: 2014年12月20日

目录第一章:现行系统概述 第二章:系统分析 2.1需求分析 2.2可行性研究 2.3信息系统规划 2.4系统的开发方法的选择 2.5组织结构与功能分析 2.6业务流程分析 2.7数据与数据流程分析 2.8功能/数据分析 2.9新系统逻辑方案的建立 第三章系统设计 3.1系统总体结构设计 3.2数据结构与数据库设计 3.3代码设计 3.4输入/输出设计 3.5模块功能与处理过程设计 第四章系统实施 4.1系统实施 4.2系统运行调试

第五章:结束语(结论、建议、收获、体会及小组中每个成员的工作内容) 参考文献

第一章现行系统概述 本科生选课系统是个很庞大的信息系统。目前随着学校人数和课程的激增,对教务处而言,管理和维护选课系统关系到自身的效率,选课系统的繁杂,在一定程度上会相对的增加教务处的管理负担。对学生而言,在选课阶段必须面对大量课程进行仔细筛选,而所有课程聚在一起,学生无法快速定位自己想选以及在规定时间内被要求选的课程类别。 这些问题的出现表明我们的选课系统仍然存在着问题,也需要对其进行改造,由此提高学生选课效率,为学生的学习带来更大的便利。学生选课系统作为一种现代化的教学技术,越来越受到人们重视,是一个学校不可或缺的部分。学生选课系统就是为了管理好选课信息而设计的。学生选课系统将是选课管理工作规范化,系统化,程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够准确,及时,有效的查询和修改学生选课情况。

第二章系统分析 2.1需求分析 学生可以选修规定范围内的课程,查看已修学分总数,还可以修改个人信息。教师可以根据统计的人数挑选一定数量的学生,也可以直接在网上公布成绩,让学生直接在网上查询成绩。管理员可以指定每门课程的任课教师,修改课程信息,增加、修改、删除学生信息。分析一:系统应该满足以下几个方面需求: (1)某些选修课程因为前序课程或者教学管理资源的限制,要求系统能对课程选修人数、选修学生年级、专业等进行限制。 (2)选课过程需具有时效性,系统要能在短时间内响应大量学生的查询和选课要求,並及时处理。 (3)教务部门能及时掌握课程选修情况,系统界面直观,操作简单,学生不需经任何培训即可操作。 (4)系统要提供数据输出接口以供教务员作后期处理及保存。包括作为以后查询和评估使用的资料。 分析二:系统要实现的功能分为二大模块: 管理员模块: (1)负责统一管理,包括课程的查询、添加、修改和删除; (2)限制选修条件的管理,包括条件的添加、修改和删除; (3)统一管理用户,包括管理员和学生用户的管理; (4)系统公告的管理; (5)数据的管理和数据导出;

高校学生选课系统数据库设计

数据库原理课程设计 ——高校学生选课系统 速提升。 本文是在对各大高校全校公开课学生选课情况进行实地调查后, 进行详细分析讨论后撰写的学生选课管理系统数据库设计报告。全文

从最初的系统规划,到需求分析、概念设计、逻辑设计、物理设计。 每一阶段都进行了详细的分析。接下来的实现、运行与维护阶段,还 进行了对本系统的测试,最后是本次项目开发的心得和体会以及本文 的参考文献。 本系统是采用 MVC 模式(jsp+javabean+servlet)进行的 J2EE 企业级开发,主要功能是对学生选课及相关信息进行管理。较行业同类 产品而言,本系统人机界面设计更加合理、人性化,用户操作简单方便。数据库的安全性更高,对用户访问权限进行了严格控制。数据存 取速度更快,使用年限更长。可以很好的满足高校公开课学生选课的 要求,极大的提高了学校的工作效率。 关键字:高校学生选课系统;Mysql;JSP 第一章系统开发可行性分析 分析系统的可行性,说明该软件开发项目的实现在技术上、经济上和操作上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。 1.1技术可行性 技术可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满

足开发者的需要等。本课题是以jsp平台和Myeclipse作为开发工具,运用java 等语言进行开发,所使用的数据库是Mysql,数据库小巧、速度快,而且功能也十分完善,非常适合软件的开发。而且,平台降低开发和管理他们的数据基础设施的时间和成本,使得系统可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。综上所述,本系统所使用的技术完全可以满足该系统的开发。 1.2经济可行性 本课题开发所涉及的操作平台、开发工具基本上都是实验室机房已具备的软件,都是免费使用的,而且如今的市场情况是:其他都在涨价,就电子类产品在降价。而且我们可以免费参阅图书馆的书籍、期刊,免费下载相关文献资料,所以在经济上不存在很大的负担。 1.3操作可行性 由于本系统是以数据、图表作为人机交互载体的,在整个系统的使用过程中,需要用户输入相关信息,根据相应提示进行选择即可,操作简单,人机交互界面友好,系统具有较强的亲和性和易用性,用户只需要阅读用户手册,或者观看别人演示,即可熟练掌握本系统的使用。因此从操作可行性方面来说,本系统也是完全可行的。 第二章需求分析 2.1引言 为了规范、有条理的进行本系统的设计以及合理的满足使用者的需求,为使后续的开发维护工作变得可靠而轻松,编写本系统需求分析说明书,旨在开发过程中进行参考,使系统在需求的范围之内进行开发,避免重复劳动,加快开发进度以及提高开发效率,同时也是为以后系统维护服务提供指南。

学生选课系统需求分析说明书

需求分析说明书

摘要 随着社会的发展,学生的人数和课程的种类急速增加,传统的选课管理模式已经无法满足当前的实际需求,为此,我们开发了学生选课管理系统。 本人结合学生选课管理的实际需要,完成了对学生选课管理系统的需求分析、功能模块划分、数据库模式分析等,并由此设计了后台数据库以及前台应用程序。 文中首先对课题背景,数据库基础理论和SQL语言进行了简单的讨论;接着,对系统前台开发工具PowerBuilder9.0,学生选课管理系统进行了详细分析,划分了具体的功能模块;最后,给出了学生选课系统应用程序的设计过程,以及每个功能模块的核心代码。 系统可以实现学生选课的一些重要功能,如:课程的添加、删除,信息查询、选课、生成课表,以及学生选课管理人员、用户个人信息的维护等。 关键词管理系统;数据库;PowerBuilder9.0;SQL Server 2000

目录 1. 引言 ---------------------------------------------------------- 4 - 1.1编写目的 --------------------------------------------------- 4 - 1.2项目围 ----------------------------------------------------- 4 - 1.3参考资料 --------------------------------------------------- 4 - 2. 任务概述 ------------------------------------------------------ 4 - 2.1产品概述 --------------------------------------------------- 5 - 2.2用户特点 --------------------------------------------------- 5 - 2.3条件与限制 ------------------------------------------------- 5 - 3. 需求规定 ------------------------------------------------------ 5 - 3.1对功能的规定 ----------------------------------------------- 5 - 3.2对性能的规定 ----------------------------------------------- 7 - 3.3对输入输出的规定 ------------------------------------------- 8 - 3.4数据管理的规定 --------------------------------------------- 9 - 4. 运行环境规定 ----------------------------------------------- - 10 - 4.1用户界面 ------------------------------------------------ - 10 - 4.2设备 ---------------------------------------------------- - 10 -

学生选课管理系统

学生选课管理系统 SANY GROUP system office room 【SANYUA16H-SANYHUASANYUA8Q8-

#include #include #include #include #include //定义学生对象类型 typedef struct node { char Sno[10]; //学号 char Sname[10]; //姓名 char Ssex[3]; //性别 char Sage[3]; //年龄 char Sdept[4]; //所在系 struct node *next; }Student; //定义课程对象类型 typedef struct node2 { char Cno[10]; //课程号 char Cname[10]; //课程名 char Cpno[5]; //先行课 char Ccredit[3]; //学分 struct node2 *next; }Course; //定义选课对象类型 typedef struct node3 { char Sno[10]; char Cno[10]; int Grade; struct node3 *next; }SC; //初始化学生信息表

void InitlistA(Student *stu) { stu->next=NULL; } //初始化课程信息表 void InitlistB(Course *C) { C->next=NULL; } //初始化选课信息表 void InitlistC(SC *S) { S->next=NULL; } //求选课表的深度 int Getlength(SC *S) { int i=0; SC *p; p=S->next; while(p!=NULL) { p=p->next; i ; } return(i); } //用户输入数据建立学生信息表(尾插法) void CreatelistA(Student *stu) { Student *s,*r; int m,i;

数据库设计学生选课系统

《数据库原理与应用》实验指导与报告 2010 / 2011 学年第 2 学期 姓名:季亚 学号: 班级: 09数媒(1)班 指导教师:周蓓 计算机科学与工程学院 2011

目录 实验八数据库设计.................................................... 一、概要设计 1.1目的和意义 1.2内容和要求 二、需求分析 2.1背景 2.2概要分析 2.3开发技术 2.4系统主要功能 三、E-R图 3.1 概念设计................................................. 3.2 E-R图................................................... 四、逻辑结构 4.1逻辑转换 4.2细化表结构 五、数据库实施 5.1创建表 5.2创建必要视图 5.3创建必要触发器 5.4创建必要存储过程 六、总结 参考文献.........................................................

实验八数据库设计 一、概要设计 1.1目的和意义 随着无纸化办公的普遍实现,信息的自动处理以及网络式的信息交互方式已经被人们广泛应用。让计算机来管理学生的信息是现在各个高校都在积极进行的工作之一,也是高校教学管理工作的重要内容之一。网上选课与传统的选课方式相比更加节约资源,增加了学生选课自主权。 学生选课系统作为一种现代化的教学技术,越来越受到人们的重视,是一个学校不可或缺的部分, 学生选课系统就是为了管理好选课信息而设计的。学生选课系统的将使选课管理工作规范化、系统化、程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够准确、及时、有效的查询和修改学生选课情况。 与传统的选课方式相比,网上选课系统利用局域网为学生选课带来了极大的便捷。学生在公共机房,或者宿舍的个人电脑上便可以通过校园网络来选课。在选课期间内,学生能够使用选课系统灵活的修改自己的选课情况,大大提高了学校选课工作的效率。教务处的教师则可以通过选课系统的管理员子系统来管理学生的选课情况,使得学生选课工作达到系统化和自动化,大大提高了学校的工作效率,为广大师生及相关人员节省了极多的时间。 数据库对于一个应用系统的意义是相当重要的,一个设计良好的数据库系统一方面,能够给开发者带来便捷,更轻松的进行系统设计与编码;另一方面,对于系统的后期维护也非常重要,一个良好的数据库系统能够保证系统的可扩充性,以及系统的移植性等问题。 1.2内容和要求 本实验将设计出一个高校网上选课数据库系统,其要求简要如下: (1)系统用户由三类组成:教师、学生和管理员。

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

1引言 (2) 1.1编写目的 (2) 1.2背景 (2) 1.3定义 (2) 1.4参考资料 (2) 2程序系统的结构 (2) 3程序1 (标识符)设计说明 (3) 3.1程序描述 (12) 3.2功能 (12) 3.3性能 (12) 3.4输人项 (113) 3.5输出项 (113) 3.6 算法 (113) 3.7流程逻辑 (113) 3.8 接口 (113) 3.9存储分配 (13) 3.10注释设计 (13) 3.11限制条件 (13) 3.12测试计划 (13) 3.13尚未解决的问题 (114) 4程序2 (标识符)设计说明 (114)

详细设计说明书 1引言 1.1编写目的 为了更好的描述软件结构以及系统各组成成分之间的相互关系,因此撰写详细设计说明书。 1.2背景 a?待开发的软件系统的名称:大连交通大学学生选课系统; b ?本系统主要为方便广大学选课,避免选课高峰期选不上等问题; c.本系统的受益人为:老师、学生和系统管理人员。 1.3定义 详见概要设计说明书。 1.4参考资料 【1】张海藩,软件工程导论【M】北京:清华大学出版社2008年2月第五版 【2】王珊、萨师煊,数据库系统概论【M】北京:高等教育出版社2006年5 月第四版2程序系统的结构 该详细设计只针对学生信息管理中的信息查询和信息维护两个子功能作说明, 其程序流程图如下:

图4-2学生信息管理模块程序流程图 结束 图4-1学生信息查询模块程序流程图 Y

3程序1 (标识符)设计说明 #in clude #in clude int N1,N2,kk1,kk2,kk3; struct couse * headl; struct stude nt * head2; struct couse//课程信息结构体 { int nu ml; char name1[20]; int score; int n elepeo;//课程已选人数 int Melepeo;//课程人数上限 struct couse * n ext; }; struct stude nt//学生信息结构体 { int nu m2; char name2[20]; int nelenum[50];〃已选课程编号 int nelen;〃已选课程数量 struct stude nt * n ext; }; void Ms() { for(kk1=0;kk1<1100;kk1++) for(kk2=0;kk2<1200;kk2++) for(kk3=0;kk3<1200;kk3++); } void keyboardc()〃录入课程子函数(从键盘录入) { struct couse *p1,*p2; 2= 0; p1=p2=(struct couse*)malloc(sizeof(struct couse)); printf("课程编号\t课程名称\t学分\t课程人数上限\n"); scan f("%d%s%d%d",&p1-> num1,p1-> name1, &p1->score,&p1->Melepeo); p1- >n elepeo=0; head 仁NULL; while(p1-> nu m1!=0) { 2= N1+1; if(N1==1)head 1= p1;

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

学生选课系统需求规格说明书

目录 0. 文档介绍 (4) 0.1文档目的 (4) 0.2文档范围 (4) 0.3读者对象 (4) 0.4参考文档 (4) 1.产品介绍 (5) 2.产品面向的用户群体 (6) 3. 产品应当遵循的标准或规范 (7) 4.产品范围 (7) 5. 产品中的角色 (7) 6. 产品的功能性需求 (8) 6.0功能性需求分类 (8) 6.1后台管理功能需求 (8) 6.1.1管理员信息管理 (8) 6.1.2教师信息管理 (10) 6.1.3学生信息管理 (11) 6.1.4课程信息管理 (12) 6.1.5排课管理 (13) 6.1.6教室信息管理 (14) 6.2前台管理功能需求 (15) 6.2.1学生选课 (15) 6.2.2撰写教师反馈 (16) 6.2.3个人信息管理 (17) 6.2.4用户登录 (19) 7. 产品的非功能性需求 (20) 7.1用户界面需求 (20) 7.2软硬件环境需求 (20) 7.3产品质量需求 (20) 7.4其他需求 (21) 附录A:需求建模与分析报告 (22) A.1学生选课系统业务流程图 (22) A.1.1系统总体业务流程分析 (22) A.1.2学生管理业务流程图分析 (23)

A.1.3教师管理业务流程图分析 (24) A.1.4选课/退课子系统业务流程图分析 (25) A.1.5教师反馈子系统业务流程图分析 (26) A.1.6管理员管理业务流程图分析 (26) A.1.7管理员排课业务流程图: (27) A.1.8管理员退课业务流程图: (28) A.2学生选课管理系统数据流程图 (29) A.2.1顶层数据流程图 (30) A.2.2 O层数据流程图 (30) A.2.3后台管理数据流程图 (31) A2.4 前台管理数据流程图 (36) 附录B:需求确认....................................................................................... 错误!未定义书签。

网上选课系统总体设计说明书范文

网上选课系统总体设计说明书

1.导言 1.1目的 目的旨在推动软件的规范化,使设计人员遵循统一的概要设计书写规范,节省制作文档的时间,降低系统实现的风险,做到系统设计资料的规范性和全面性,以利于系统的实现、测试、维护、版本升级等。 1.2范围 软件设计总体结构设计、全局数据库和数据结构设计、外部接口设计、主要部件功能分配设计、部件之间的接口设计等方面的内容。 1.3命名规则 变量对象命名规则:申明全局变量、局部变量对象的命名规则。 数据库对象命名规则:申明数据库表名、字段名、索引名、视图名等对象的命名规则。 1.4术语定义 表1-1 术语定义或解释表

1.5参考资料 [1]用户需求报告 [2]软件开发合同 [3]数据库设计规范 [4]命名规范 1.6相关文档 [1]《详细设计说明书》 [2]源程序清单 [3]测试计划及报告 [4]《用户使用手册》

1.7版本更新记录 表1-2 版本更新记录 2.总体设计 2.1总体结构设计 总体结构示意图:

图2-1 总体结构示意图 2.2运行环境设计 该软件系统的运行环境: 硬件平台: 最低配置:奔腾4处理器、512内存、60G硬盘。 建议配置:奔腾双核T4400 2.2GHZ及其以上 2G内存、320G硬盘 外设的要求:键盘、鼠标、显示器。 软件平台: A:windows 98 以上的操作系统 B:Myeclipse 和 pl/sql C:Microsoft office 网络平台: 通信协议、通信带宽。 2.3子系统清单 表2-1 子系统清单

2.4功能模块清单 表2-2 功能模块清单 3.模块功能分配 3.1专用模块功能分配 3-1 专用功能模块分配 表

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

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

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

进行了对本系统的测试,最后是本次项目开发的心得和体会以及本文的参考文献。 本系统主要功能是对学生选课及相关信息进行管理。较行业同类产品而言,本系统人机界面设计更加合理、人性化,用户操作简单方便。数据库的安全性更高,对用户访问权限进行了严格控制。数据存取速度更快,使用年限更长。可以很好的满足高校公开课学生选课的要求,极大的提高了学校的工作效率。 关键字:学生选课管理系统;分析;设计 目录 一、概述 (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设计背景 可行性研究的目的是用最小的代价在尽可能的短的时间内确定数据库系统是否可能开发、是否值得开发、是否可以开发(在该报告中主要是考查《学生选课管理系统》是否可能开发、是否值得开发、是否可以开发)。其实质是在较高层次上以较抽象方式进行的、简化的压缩的需求分析和概要设计过程。

数据库学生选课系统完整版

数据库学生选课系统 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

数据库设计——学生选课系统 设计内容: 我们组设计的是学生选课管理系统,选课管理系统是学校教务系统中很庞大、很复杂的一个数据库系统,在这里我们将其简化,只选取了部分比较直观的关系模式。我们设计的系统涉及院系信息、学生信息、教师信息、课程信息、选课信息、还有成绩管理及查询。 设计目标: 所实现的功能有:能记录院系、学生、教师以及课程的基本情况,能记录学生所选的课程以及相应的成绩和授课教师。每个学生和老师都只能被一个院系管理,为了简化每个教师最多教授一门课程,每个学生可选多门课程或者不选,每个学生选修的每门课程有一个成绩记载,每个教师教授最多一门课程,学生在系统中可以有查询成绩的权限,管理员有修改成绩的权限。 需求分析 :需求背景 随着信息时代科技不断提高,学校规模不断扩大,教学质量不断提高,大学期间有许多公共选修课,以往的选修课方法是课堂报名或者纸上填写方式报名,这种方法虽然直接,但是造成选课的盲目性,而且学生选过课程后不好在更改查看,一方面浪费大量的人力,物力资源,另一方面浪费时间以及在认为统计过程中不可避免的出现差错的情况。这给广大的老师和学生带来诸多的不便,管理起来也相当困难。使用网上选课系统可以提前进行网上选课,并且选课以后学生还可以在查看和更改,随意选择各个老师的课程,老师管理起来也比较方便。鉴于它的重要性,这就迫切需要研制开发一款功能强大,操作简单,具有人性化的网上选课系统。 :选课分析 根据分析,本系统的实体有学生、教师、课程和选课信息。 描述学生的属性有:学号、院系、姓名、性别、出生日期、入学时间、专业、班级。 描述教师的属性有:教师编号、姓名、性别、职称、专业。 描述课程的属性有:课程编豪、课程名称、授课老师、课程类型、上课时间、上课地点、学时、学分。

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

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

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

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

学生选课系统详细设计说明书 姓名:任力健 学号:1134110152

目录 第一章需求分析 ........................... - 3 - 1.1 需求分析 . (2) 1.1.1.1 系统管理员需求分析........................... - 4 - 1.1.1.2教师需求分析.................................. - 5 - 1.1.1.3 学生需求分析................................. - 5 - 1.2 任务概述............................................. - 6 - 1.2.1 目标........................................... - 6 - 1.2.2 运行环境....................................... - 6 - 1.3 数据流图............................................. - 7 - 1.4 数据字典............................................. - 7 - 1.5系统完整性、安全性................................... - 9 - 1.5.1 对服务的要求................................... - 9 - 1.5.2 对性能的规定................................... - 9 - 第二章概念结构设计....................... - 11 - 2.2 学生选课系统概念结构设计............................ - 11 - 2.2.1 系统实体E-R图................................ - 13 - 2.2.2学生选课系统的分E-R图......................... - 15 - 2.2.3学生选课系统E-R图............................. - 18 - 第三章逻辑结构设计........... 错误!未定义书签。 3.1 逻辑结构设计........................................ - 19 - 3.2 学生选课系统的逻辑结构设计.......................... - 19 - 第四章物理设计........................... - 20 - 4.1 关系中的关系模式.................................... - 21 - 4.2 基本表设计.......................................... - 21 -

学生选课系统概要设计说明书

学生选课系统概要设计说明书 目录 1引言 (2) 1. 1编写目的 (2) 1.2背景 (2) 1.3定义 (3) 1.4参考资料 (3) 2总体设计 (3) 2.1需求规定 (3) 2.2运行环境 (4) 2.3基本设计概念和处理流程 (5) 2.4结构 (9) 2.5功能需求与程序的关系 (9) 2.6人工处理过程 (10) 2.7尚未解决的问题 (10) 3接口设计 (10) 3.1用户接口 (10) 3.2外部接口 (10) 3.3内部接口 (11) 4运行设计 (11) 4.1运行模块组合 (11) 4.2运行控制 (11) 4.3运行时间 (13) 5系统论据结构设计 (13) 5.1逻辑结构设计要点 (13) 5.2物理结构设计要点 (13) 6系统出错处理设计 (13) 6.1出错信息 (13) 6.2补救措施 (15)

1引言 概要设计说明书又可称系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序系统的设计考虑,包括程序系统的基本处。流程、程序系统的组织结构、模块划分、功能分配、接口设计。运行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。编制概要设计说明书的内容。 1.1编写目的 为了保证项目团队按时保质地完成项目目标,便于项目团队成员更好地了解项目情况,使项目工作展开的各个过程合理有序,因此以文件化的形式,把开发过程中的各项工作记录下来,作为项目团队成员以及项目干系人之间的共识与约定,项目团队开展和检查项目工作的依据,以便计划开展和确保项目开发成功。 本文档的预期读者是: 设计人员 开发人员 测试人员 用户 1.2背景 开发软件名称:学生选课系统 项目任务提出者:姚敦红

学生选课管理系统

软件项目管理 学生选课管理系统 项目名称: 组长 组员 提交时间: 2015年6月15日

学生选课管理系统 项目任务书 一、目的、要求 通过软件开发的实践训练,进一步掌握软件项目管理的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。 具体如下: 1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象 的系统分析与设计,软件项目管理,编码和测试方面的知识; 2.熟悉自动化的软件开发工具Rational Rose 2003,并将其运用于软件 开发的全过程; 3.进一步加强和提高软件工程文档的编写能力; 4.培养协作能力和团队精神。 二、主要内容 1.课题题目:学生选课系统,本系统要实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩; 管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课 程等。 2.运用面向对象技术、UML及可视化的建模工具完成系统的需求分析与设计。 3.使用Rational Rose作为需求分析与设计的建模工具,包括静态建模和

动态建模,并利用对象模型自动生成数据模型,自动建立数据库。 4.采用分层模式的应用设计模式进行系统的设计实现。 5.系统要实现四个模块功能:教师模块、学生模块、管理员模块和公用模块。 6.初步建立系统原型,实现关键的功能,并对系统进行测试。 三、任务分配

学生选课管理系统 任务分解书(WBS)一.学生选课管理系统任务分解 1.1.1 项目规划 1.1.2 计划评审 1.2 需求开发 1.2.1 用户界面设计 1.2.2 用户需求评审 1.2.3 修改需求、修改用户界面 1.2.4 需求规格说明书 1.2.5 编写需求获取方法 1.2.6 编写需求跟踪矩阵 1.3 设计 1.3.1 概要设计 1.3.2 详细设计

学生选课数据库SQL语句练习题(详细分解答案)

一、设有一数据库,包括四个表:学生表(Student)、课程表 (Course)、成绩表(Score)以及教师信息表(Teacher)。 四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示。用SQL语句创建四个表并完成相关题目。 表1-1数据库的表结构 表(一)Student 含义 属性名数据类型可否为 空 Sno Char(3)否学号(主 键) Sname Char(8)否学生姓名 Ssex Char(2)否学生性别 Sbirthday datetime可学生出生年 月 Class Char(5)可学生所在班 级 表(二)Course 含义 属性名数据类型可否为 空 Cno Char(5)否课程号(主 键) Cname Varchar(10)否课程名称 Tno Char(3)否教师编号 (外键) 表(三)Score 含义 属性名数据类型可否为 空 Sno Char(3)否学号(外 键) Cno Char(5)否课程号(外 键)

Degree Decimal(4,1)可成绩 主码:Sno+ Cno 表(四)Teacher 含义 属性名数据类型可否为 空 Tno Char(3)否教师编号 (主键)Tname Char(4)否教师姓名Tsex Char(2)否教师性别Tbirthday datetime可教师出生年 月 Prof Char(6)可职称Depart Varchar(10)否教师所在部 门 表1-2数据库中的数据 表(一)Student Sno Sname Ssex Sbirthday class 95033 108曾华男1977-09- 01 105匡明男1975-10- 95031 02 95033 107王丽女1976-01- 23 95033 101李军男1976-02- 20 109王芳女1975-02- 95031 10 95031 103陆君男1974-06- 03 表(二)Course

学生选课系统设计说明书

学生选课系统的系统设计 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

相关文档
最新文档