课程设计小区物业管理系统.docx
- 文档编号:9115809
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:48
- 大小:939.82KB
课程设计小区物业管理系统.docx
《课程设计小区物业管理系统.docx》由会员分享,可在线阅读,更多相关《课程设计小区物业管理系统.docx(48页珍藏版)》请在冰豆网上搜索。
课程设计小区物业管理系统
软件工程专业
C#课程设计任务书
(12级)
题目:
高校学生选课管理系统
学生姓名:
张润学号:
12740125班级:
软件工程
(1)班
题目类型:
软件工程(R)指导教师:
任旭鹏
一、C#课程设计题目简介
该设计要求学生以兰州理工大学学生选课管理业务为背景,设计、开发一套“高校学生选课管理系统”软件。
通过该题目的设计、开发,使学生初步掌握使用C#进行软件开发的方法,全面培养软件开发过程中的分析、设计、编码、测试及文档规范书写的能力,得到软件开发的综合训练,提高解决实际问题的能力。
二、C#课程设计的任务
1、查阅文献资料,一般在5篇以上;
2、以兰州理工大学学生选课管理业务为背景,通过调研、分析现有的管理模式和已有的管理软件,建立系统模型;
3、完成软件结构设计、数据库设计和算法设计;
4、完成高校学生选课管理系统的软件开发和测试工作。
5、撰写设计说明书;
三、C#课程设计的主要内容、功能及技术指标
(1)整个系统由课程计划管理系统、学生选课管理系统、学生学分管理系统、学生基本信息管理系统等组成;
(2)系统要实现基本信息录入、修改、查询等功能;
(3)系统要实现满足多种条件的统计分析功能,有些统计数据要采用图表的格式呈现;
(4)数据库系统采用SQLServer,前台开发工具选用VS2013等;
(5)系统所涉及的信息有:
●学生基本情况。
包括的数据项有:
学号、姓名、性别、民族、出生年月、考生来源、培养方式、入学分数、入学政治面貌、家庭住址、通讯地址、邮政编码、所在院系、专业等。
●课程信息。
包括的数据项有:
课程编号、课程名、学时、学分、考核方式、开课院系、任课教师等。
●成绩信息。
包括的数据项有:
课程编号、学生编号、成绩等。
四、C#课程设计提交的成果
1.设计说明书一份,内容包括:
1)中文摘要100字左右;关键词3-5个;
2)需求分析(包含需要的系统流程图、数据流程图、数据字典等);
3)概念结构设计;
4)逻辑结构设计;
5)系统实现;
6)系统测试(包含测试方案、测试用例、测试结果等);
7)软件使用说明书(核心界面说明);
8)设计总结、参考文献、致谢等。
2.刻制光盘一张。
五、C#课程设计的主要参考文献
1.金旭亮.ASP.NET程序设计教程.北京:
高等教育出版社,20009.3
2.蒋金楠.ASP.NETMVC4框架揭秘.北京:
电子工业出版社2013.1
3.郝冠军.ASP.NET本质论.北京:
机械工业版社2011.3
4.郑阿奇.SQLServer实用教程(第2版)[M].电子工业出版社,2007.11
5.熊拥军,刘卫国.数据库技术与应用实践教程—SQLServer2005[M].清华大学出版社,2010,4
6.JonSkeet.深入理解C#(第2版).北京:
人民邮电出版社2012.1
7.郑阿奇.C#实用教程(第2版).北京:
电子工业出版社,2013.7
8.DanielSolis.IllustratedC#2012C#图解教程.北京:
人民邮电出版社2012.10
六、各阶段时间安排(共2周):
周次
日期
内容
地点
第1周
星期一
教师讲解设计要求,准备参考资料
教室
星期二~三
分析系统,方案设计
实验室
星期四
算法设计,编程
实验室
星期五
编程
实验室
第2周
星期一~三
编程
实验室
星期四
测试程序
实验室
星期五
检查程序,答辩
实验室
2014年12月22日
摘要
随着在校大学生的不断增加,学生选课也成为了学校对学生管理中不可缺少的一部分。
现在,大部分高校实行的是学生自主选课模式。
通过人工的方式管理文件档案存在诸多的缺点。
计算机在社会的各个领域中发挥着越来越重要的作用,使用计算机系统对选课进行管理,具有手工管理无法比拟的优点。
高校学生选课系统是为了更好的管理学生的选课信息,及时、准确、高效地进行选课采用C#作为编写语言编写的学生选课系统。
关键字:
选课;计算机系统;C#
1绪论
1.1设计任务
查阅文献资料,以本校学生选课管理业务为背景,通过调研、分析现有的管理模式和已有的管理软件,建立系统模型;完成软件结构设计、数据库设计和算法设计;完成高校学生选课管理系统的软件开发和测试工作;撰写设计说明书。
1.2设计目的
该设计要求我们以本校的学生选课管理业务为背景,设计、开发一套“高校学生选课管理系统”软件。
通过该题目的设计、开发,初步掌握使用C#进行软件开发的方法,全面培养软件开发过程中的分析、设计、编码、测试及文档规范书写的能力,得到软件开发的综合训练,提高解决实际问题的能力。
1.3设计思想
高校学生选课管理系统由课程计划管理系统、学生选课管理系统、学生学分管理系统、学生基本信息管理系统等组成。
系统要实现基本信息的录入、修改、查询等功能。
系统要实现满足多种条件的统计分析功能,有些统计数据要采用图表的格式呈现。
数据库系统采用SQLServer,前台开发工具选用VS2013。
数据库采用关系数据库标准语言SQL进行实现,所以本程序数据库为关系型数据库,在数据库中包含大量的数据项,关系表格等。
本程序使用ODBC进行数据库的连接,程序包括前台运行窗体界面和后台数据库组成。
当程序运行时,用户使用程序界面对后台数据库进行调用,进行数据的查询、删除、修改等诸多操作。
1.4需求分析
1.4.1用户特征
该系统的操作人员都是使用该系统的学生、教师。
1.4.2约束与限制
(1)系统中所有账户能够供用户使用,完成各自的授权任务。
(2)安全可靠,建立系统使用日志。
(3)该系统必须确保对数据进行完全保护,以避免未授权的访问,所有的远程访问都要登录,并且每个登录用户只能根据角色的权限进行访问。
(4)界面友好,操作简便。
1.4.3用户需求及功能
(1)教师用户
教师用户登录系统后可以检索个人信息,如姓名,电话等;检索所授课程的信息,如所授那些课程,在哪专业,班级上课等信息;还可以检索所教授的学生的信息,如学号、姓名、专业,班级等信息。
(2)学生用户
学生登录系统后,检索个人信息,可以查看学生的个人信息,如学号、姓名、性别、电话、专业、院系等,查看必修课程,可以查看所有的必修课程,查看该课程的信息,上课时间地点,开课教师信息等,选择选修课程,在所有选修课程中可以选择至少两门选修课程,同时可以查看相关信息。
2概要设计
2.1系统模块划分
(1)登录模块:
登录信息表:
登陆的个人信息和密码
角色功能:
通过判断用户的角色登录到不同的用户界面
(2)学生管理模块:
个人信息维护:
对个人信息进行修改
查询功能:
对课程信息、成绩信息的查询
选课功能:
在线预选功能:
在线对要选修的课程进行预选
退选功能:
对已选课程在相应选课阶段进行退选
补选功能:
在最后阶段,由于学分不够等问题,可以补选课程,操作与预选基本相同。
(3)教师管理模块:
个人信息维护:
对个人信息进行修改
查询功能:
对该教师所教授课程的选课情况、授课地点、授课时间等信息进行查询
上传成绩功能:
在学期末教师将本课程的成绩信息上传到系统,以供学生查询
2.2系统模块图
本程序中主要包括学生和教师两个模块,学生模块可以进行学生信息查询、选课等操作;教师模块可以进行教师信息查询、成绩录入等操作。
如图2.1所示:
选课系统
图2.1系统模块图
选课要求
成绩录入
选修课录入
个人信息管理
查看选课
成绩查询
选课结果
选课列表
学生信息处理
个人信息管理
教师信息处理
2.3程序主流程图
程序主流程图表现了程序的功能和运行过程。
当学生或教师登录系统后,展现在他们面前的就是登陆界面,系统通过登陆界面识别用户的角色,然后系统将用户转到各自的子系统中,如图2.2所示:
登陆界面
教师信息管理系统
学生信息管理系统
图2.2程序主流程图
成绩录入
选课
查询个人信息
查询考试成绩
选课
查询个人信息
2.4数据库设计
本程序为关系型数据库,采用关系型数据库标准语言SQL进行编写,采用ODBC(开放性数据库互联编程)实现数据库的连接。
数据库在一个信息管理系统中占有非常重要的地位,数据库设计的好坏影响到系统的效率以及系统实现的效果。
合理的数据库设计可以提高数据存储的效率,保证数据完整的一致性。
合理的数据库结构将有利于程序的实现,用户的需求具体体现在各种信息的录入、保存、更新和查询上。
2.4.1数据流图
高校学生管理系统的数据流图为如图2.3所示:
学生信息
学生信息
教师信息
课程信息
高校学生选课管理系统
学生
图2.3高校学生管理系统流图
查询/管理
教师信息
教师
2.4.2高校学生选课管理系统E-R图
程序的E-R图表示了概念结构设计中的概念模型,在逻辑设计阶段将E-R图转换成具体的数据模型。
E-R图表示了实体型、属性和联系,它表示的概念模型独立于具体的数据模型。
教师信息
1
查询
n
n
m
n
登录
教师
查询
学生信息
n
1
查询
查询
1
m
m
n
选修
n
n
1
学生
选课
系统
教师系统
课程
学生
登录
高校学生选课管理系统E-R图
2.5数据字典
数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。
数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。
其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。
本设计主要研究学生信息管理中的信息查询和信息维护两个子功能。
表1course(课程表)表
表2grand(成绩)表
表3login(登录)表
表4student(学生)表
表5teacher(教师)表
表6xuanke(选课)表
3详细设计
3.1设计原理
本程序包括应用程序设计和数据库设计两部分,应用程序设计部分需要设计程序运行窗体界面,采用C#进行编程实现;数据库设计包括需求分析、概念结构设计、逻辑结构设计、物理设计、实施和维护六个部分。
3.2各模块功能及其算法
3.2.1登录模块
在登录模块中,登录界面的作用就是让不同的用户能够凭密码进入相应界面。
实现数据库系统数据的独立性,用户只能根据自己的角色登录到属于自己的系统模块,进行操作。
在登录界面中,包括三个控件,分别是textBox控件、label控件,comboBox、Button控件。
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringMyConnectionString="Server=localhost;Database=login;Uid=root;Pwd=123456;PersistSecurityInfo=True;Charset=utf8;";
stringusername=tbxUsr.Text.Trim();
stringpasswd=tbxPwr.Text.Trim();
stringrol=comboBox1.Text.Trim();
stringloginsql="SELECT*FROMloginWhereusername='"+username+"'andpassword='"+passwd+"'androle='"+rol+"'";
MySqlConnectionconnection=newMySqlConnection(MyConnectionString);
connection.Open();
MySqlCommandmycmd=newMySqlCommand(loginsql,connection);
MySqlDataReadermyread=mycmd.ExecuteReader();
try
{
if(myread.HasRows)
{
if(myread.Read())
{
//MessageBox.Show("登录成功");
if(myread["username"].ToString()==tbxUsr.Text&&myread["password"].ToString()==tbxPwr.Text&&myread["role"].ToString()=="学生用户")
{
user=username;
Form3f7;
f7=newForm3(user);
f7.Show();
}
elseif(myread["username"].ToString()==tbxUsr.Text&&myread["password"].ToString()==tbxPwr.Text&&myread["role"].ToString()=="教师用户")
{
user=username;
Form8f7;
f7=newForm8(user);
f7.Show();
}
}
}
else
{
MessageBox.Show("Pleaseenterthecorrectusernameandpassword!
!
!
");
}
}
catch(Exceptionex)
{
MessageBox.Show(string.Format("出错,出错原因{0}"),ex.Message);
}
finally
{
connection.Close();
connection.Dispose();
mycmd.Dispose();
}
}
3.2.2查询模块
在查询模块中,打开窗体时,显示出所有学生记录的列表。
输入查询条件,可以进行简单的模糊查询,各条件之间为“与”的关系。
在查询结果中选中一行,双击可以查看这个学生的具体选课信息。
查询模块使用SELECT语句,主显示区为DataGridView控件。
privatevoidbutton1_Click(objectsender,EventArgse)
{
DataSetmyset=newDataSet();
stringMyConnectionString="Server=localhost;Database=login;Uid=root;Pwd=123456;PersistSecurityInfo=True;Charset=utf8;";
stringloginsql="SELECT*FROMcoursewhereCIDIN(SELECTCIDFROMxuankewhereSID='"+user+"')";
MySqlDataAdaptermyda;
MySqlConnectionconnection=newMySqlConnection(MyConnectionString);
connection.Open();
MySqlCommandmycmd=newMySqlCommand(loginsql,connection);
myda=newMySqlDataAdapter(mycmd);
myda.Fill(myset,"XINXI");
dataGridView1.DataSource=myset.Tables["XINXI"];
connection.Close();
3.2.3更新模块
当用户进行程序操作时,可能会修改数据库中的数据,为了保持数据库中数据的一致性,需要对数据库中的数据进行实时更新,保持数据的一致,以免产生程序的运行错误。
数据库的更新包括插入(INSERT)、修改(UPDATE)、删除(DELETE)。
try
{
sqlcon.Open();
//stringsql="insertintocourse(CID,CName,CXue,CTName,)values(@kch,@kcm,@xf,@js)";
stringsql="insertintocourse(CID,CName,CXue,CTName,CAddress,CTime)values(@kch,@kcm,@xf,@js,@skd,@sks)";
MySqlCommandcmd=newMySqlCommand();
cmd.Connection=sqlcon;
cmd.CommandText=sql;
cmd.CommandType=CommandType.Text;
cmd.Parameters.AddRange(sp);
cmd.ExecuteNonQuery();
}
catch(Exceptionex)
{
MessageBox.Show(string.Format("出错,出错原因{0}"),ex.Message);
}
}
}
3.2.4选课模块
在选课模块中,学生根据设计好的选课列表进行选课,学生只能选择还有剩余人数即可供选择的课程,当某一门的人数达到上限后则学生就不能再进行该门课程的选修。
当学生进行完选课后可以到查询模块查看自己的选课结果。
privatevoidbutton3_Click(objectsender,EventArgse)
{
Stringkechenghao=null;
Booleanzhuangtai=false;
stringMyConnectionString="Server=localhost;Database=login;Uid=root;Pwd=123456;PersistSecurityInfo=True;Charset=utf8;";
MySqlConnectionconnection=newMySqlConnection(MyConnectionString);
connection.Open();
for(inti=0;i { kechenghao=dataGridView2.Rows[i].Cells[0].Value.ToString(); stringloginsql="insertintoxuankevalues('"+user+"','"+kechenghao+"')"; MySqlCommandmycmd=newMySqlCommand(loginsql,connection); if(mycmd.ExecuteNonQuery()>0){ zhuangtai=true; } } connection.Close(); if(zhuangtai){ MessageBox.Show("选课成功"); 4调试与运行 4.1程序实现过程中遇到的问题及其解决方案 在程序的实现过程中我们使用的是VS2013自带的数据库,在进行数据库连接时我们遇到了问题,数据库与应用程序连接不上。 我们通过询问其他组的同学找到了连接的办法,实现了数据库与应用程序的连接。 4.2程序运行结果 下图为程序运行的登录界面,界面简洁明了。 登陆界面的功能是判别用户的角色,保持数据的独立性,不同角色的用户只能登录到各自的子系统中,查询、修改自己有权限的用户数据,其他数据则不能查询和修改。 程序登陆界面如图4.1所示: 图4.1系统登陆界面 高校学生选课系统包括学生子系统和教师子系统,下图为学生子系统主界面,学生系统中可以供学生进行查询信息,选课等功能。 学生子系统主界面如图4.2所示: 图4.2学生主界面 学生选课界面如图4.3所示: 4.3学生选课界面 学生选课结果如图4.4所示: 图4.4选课结果查询界面 选修课成绩查询如图4.5所示: 图4.5选修课成绩查询 高校学生选课系统教师子系统界面如图4.6所示: 图4.6选课系统教师主界面 成绩发布界面如图4.7所示: 图4.7成绩发布界面 选修课录入界面如图4.8所示: 图4.8选修课录入界面 4.3优缺点分析 由于本次课程设计的时间短暂,我们的能力有限。 本程序采用C#语言编写,创建了数据库,采用ODBC实现应用程序与数据库的连接。 在本程序中,学生模块可以进行学生选课,学生信息查询,考试成绩查询;在教师模块可以进行教师信息查询,教师发布选课,成绩录入等功能。 本程序由于我们的能力有限,未能实现管理员系统模块。 总结 这次的课程设计对于我们来说受益匪浅,它相对于我们以前做过的一些课设来说是比较复杂的一个课程设计。 在这个课设中包含了许多数据库,数据结构等其他学科的知识。 程序实现也比较复杂。 程序的实现需要进行数据库链接,在数据库中完成数据的建立,数据的存储,数据的更新等诸多的操作,数据库的实现程度直接影响到程序的功能是否能够完美的实现。 在这次课设中我们参考了大量前人的文档和书籍。 这次课程设计基本上含盖了大学三年纪学习到的C#语言知识点,课设题目要求不仅要求对课本知识有较深刻的了解,同时要求程序设计者有较强的思维和动手能力。 这次课设使我了解我编程思想和编程技巧的不足,也认识了软件生命周期的各个环境,包括构思、设计、编写、调试、发布、文档化、维护和修订。 编程的风格也很重要,不能只关心程序运行的结果,而对程序代码的结构的良好丝毫不在意。 这是非常不可取的,如果我们希望将来从事编程工作,在这一点上该引起足够的重视。 这是严谨的态度。 参考文献 [1]金旭亮《ASP.NET程序设计教程》北京: 高等教育出版社,2009.3 [2]蒋金楠《ASP.NETMVC4框架揭秘》北京: 电子工业出版社2013.1 [3]郝冠军《ASP.NET本质论》北京: 机械工业版设2011.3 [4]郑阿奇《SQLServer实用教程》(第2版)北京: 电子工业出版社2007.11 [5]熊拥军,刘卫国《数据库技术与应用实践教程—SQLServer2005》北京: 清华大学出版社2010,4 [6]JonSkeet《深入理解C#》(第2版)北京: 人民邮电出版社2012.1 [7]郑阿奇.《C#实用教程》(第2版)北京: 电子工业出版社2013.7 [8]DanielSolis《IllustratedC#2012C#图解教程》北京: 人民邮电出版社2012.10 [9]JamesHuddleston《C#数据库入门经典》(第3版
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 小区 物业管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)