课程设计小区物业管理系统.docx

上传人:b****8 文档编号:9115809 上传时间:2023-02-03 格式:DOCX 页数:48 大小:939.82KB
下载 相关 举报
课程设计小区物业管理系统.docx_第1页
第1页 / 共48页
课程设计小区物业管理系统.docx_第2页
第2页 / 共48页
课程设计小区物业管理系统.docx_第3页
第3页 / 共48页
课程设计小区物业管理系统.docx_第4页
第4页 / 共48页
课程设计小区物业管理系统.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

课程设计小区物业管理系统.docx

《课程设计小区物业管理系统.docx》由会员分享,可在线阅读,更多相关《课程设计小区物业管理系统.docx(48页珍藏版)》请在冰豆网上搜索。

课程设计小区物业管理系统.docx

课程设计小区物业管理系统

软件工程专业

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版

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1