课程设计小区物业管理系统_第1页
课程设计小区物业管理系统_第2页
课程设计小区物业管理系统_第3页
课程设计小区物业管理系统_第4页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件工程专业C#课程设计任务书( 12 级)题目:高校学生选课管理系统学生姓名:张润学号:12740125班级:软件工程(1)班题目类型:软件工程(R)指导教师:任旭鹏一、 C#课程设计题目简介该设计要求学生以兰州理工大学学生选课管理业务为背景,设计、开发一套“高校学生选课管理系统”软件。通过该题目的设计、开发,使学生初步掌握使用C#进行软件开发的方法,全面培养软件开发过程中的分析、设计、编码、测试及文档规范书写的能力,得到软件开发的综合训练,提高解决实际问题的能力。二、 C#课程设计的任务1、查阅文献资料,一般在5 篇以上;2、以兰州理工大学学生选课管理业务为背景,通过调研、分析现有的管理模

2、式和已有的管理软件,建立系统模型;3、完成软件结构设计、数据库设计和算法设计;4、完成高校学生选课管理系统的软件开发和测试工作。5、撰写设计说明书;三、 C#课程设计的主要内容、功能及技术指标(1)整个系统由课程计划管理系统、学生选课管理系统、学生学分管理系统、学生基本信息管理系统等组成;(2)系统要实现基本信息录入、修改、查询等功能;(3)系统要实现满足多种条件的统计分析功能,有些统计数据要采用图表的格式呈现;(4)数据库系统采用SQL Server,前台开发工具选用VS 2013 等;(5)系统所涉及的信息有:学生基本情况。包括的数据项有:学号、姓名、性别、民族、出生年月、考生来源、培养方

3、式、入学分数、入学政治面貌、家庭住址、通讯地址、邮政编码、所在院系、专业等。课程信息。包括的数据项有:课程编号、课程名、学时、学分、考核方式、开课院系、任课教师等。成绩信息。包括的数据项有:课程编号、学生编号、成绩等。四、 C#课程设计提交的成果1. 设计说明书一份,内容包括:1) 中文摘要 100 字左右;关键词 3-5 个;2) 需求分析(包含需要的系统流程图、数据流程图、数据字典等) ;3) 概念结构设计;4) 逻辑结构设计 ;5) 系统实现;6)系统测试(包含测试方案、测试用例、测试结果等);7) 软件使用说明书(核心界面说明) ;8) 设计总结、参考文献、致谢等。2. 刻制光盘一张。

4、五、 C#课程设计的主要参考文献1金旭亮 . ASP.NET 程序设计教程 . 北京:高等教育出版社,20009.32蒋金楠 . ASP.NET MVC4 框架揭秘 . 北京:电子工业出版社2013.13郝冠军 .ASP.NET 本质论 . 北京:机械工业版社2011.34郑阿奇 . SQL Server实用教程 (第 2 版) M.电子工业出版社 , 2007.115熊拥军 ,刘卫国 . 数据库技术与应用实践教程SQL Server 2005 M. 清华大学出版社 , 2010,46 Jon Skeet深.入理解 C#(第 2 版 ). 北京:人民邮电出版社2012.17郑阿奇 . C#实用

5、教程 (第 2 版 ). 北京:电子工业出版社,2013.78 Daniel Solis. Illustrated C#2012 C#图解教程 . 北京:人民邮电出版社2012.10六、各阶段时间安排(共2 周):周次日期内容地点星期一教师讲解设计要求, 准备参教室考资料第 1 周星期二 分析系统,方案设计实验室三星期四算法设计,编程实验室星期五编程实验室星期一 编程实验室三第 2 周星期四测试程序实验室星期五检查程序,答辩实验室2014年 12月 22日摘要随着在校大学生的不断增加, 学生选课也成为了学校对学生管理中不可缺少的一部分。现在,大部分高校实行的是学生自主选课模式。通过人工的方式管

6、理文件档案存在诸多的缺点。计算机在社会的各个领域中发挥着越来越重要的作用,使用计算机系统对选课进行管理,具有手工管理无法比拟的优点。高校学生选课系统是为了更好的管理学生的选课信息,及时、准确、高效地进行选课采用C#作为编写语言编写的学生选课系统。关键字: 选课;计算机系统; C#目录1 绪论 .11.1设计任务 .11.2设计目的 .11.3设计思想 .11.4需求分析 .11.4.1用户特征 .11.4.2约束与限制 .11.4.3用户需求及功能 .22 概要设计 .32.1系统模块划分 .32.2系统模块图 .42.3程序主流程图 .52.4数据库设计 .62.4.1数据流图 .62.4.

7、2高校学生选课管理系统E-R 图 .72.5数据字典 .83 详细设计 .103.1设计原理 .103.2各模块功能及其算法 .103.2.1登录模块 .103.2.2查询模块 .123.2.3更新模块 .133.2.4选课模块 .144 调试与运行 .164.1程序实现过程中遇到的问题及其解决方案 .164.2程序运行结果 .174.3优缺点分析 .21总结22参考文献23致谢24附录251 绪论1.1 设计任务查阅文献资料,以本校学生选课管理业务为背景,通过调研、分析现有的管理模式和已有的管理软件,建立系统模型;完成软件结构设计、数据库设计和算法设计;完成高校学生选课管理系统的软件开发和测

8、试工作;撰写设计说明书。1.2 设计目的该设计要求我们以本校的学生选课管理业务为背景,设计、开发一套“高校学生选课管理系统”软件。通过该题目的设计、开发,初步掌握使用C#进行软件开发的方法,全面培养软件开发过程中的分析、设计、编码、测试及文档规范书写的能力,得到软件开发的综合训练,提高解决实际问题的能力。1.3 设计思想高校学生选课管理系统由课程计划管理系统、学生选课管理系统、学生学分管理系统、学生基本信息管理系统等组成。系统要实现基本信息的录入、修改、查询等功能。系统要实现满足多种条件的统计分析功能,有些统计数据要采用图表的格式呈现。数据库系统采用 SQL Server,前台开发工具选用VS

9、 2013。数据库采用关系数据库标准语言SQL 进行实现,所以本程序数据库为关系型数据库,在数据库中包含大量的数据项,关系表格等。本程序使用 ODBC 进行数据库的连接,程序包括前台运行窗体界面和后台数据库组成。当程序运行时, 用户使用程序界面对后台数据库进行调用,进行数据的查询、 删除、修改等诸多操作。1.4 需求分析用户特征该系统的操作人员都是使用该系统的学生、教师。约束与限制(1)系统中所有账户能够供用户使用,完成各自的授权任务。(2)安全可靠,建立系统使用日志。(3)该系统必须确保对数据进行完全保护,以避免未授权的访问,所有的远程访问都要登录,并且每个登录用户只能根据角色的权限进行访问

10、。(4)界面友好,操作简便。用户需求及功能(1)教师用户教师用户登录系统后可以检索个人信息,如姓名,电话等;检索所授课程的信息,如所授那些课程,在哪专业,班级上课等信息;还可以检索所教授的学生的信息,如学号、姓名、专业,班级等信息。(2)学生用户学生登录系统后,检索个人信息,可以查看学生的个人信息,如学号、姓名、性别、电话、专业、院系等,查看必修课程,可以查看所有的必修课程,查看该课程的信息,上课时间地点,开课教师信息等,选择选修课程,在所有选修课程中可以选择至少两门选修课程,同时可以查看相关信息。2 概要设计2.1 系统模块划分(1)登录模块:登录信息表:登陆的个人信息和密码角色功能:通过判

11、断用户的角色登录到不同的用户界面(2)学生管理模块:个人信息维护:对个人信息进行修改查询功能:对课程信息、成绩信息的查询选课功能:在线预选功能:在线对要选修的课程进行预选退选功能:对已选课程在相应选课阶段进行退选补选功能:在最后阶段,由于学分不够等问题,可以补选课程,操作与预选基本相同。(3)教师管理模块:个人信息维护:对个人信息进行修改查询功能:对该教师所教授课程的选课情况、授课地点、授课时间等信息进行查询上传成绩功能:在学期末教师将本课程的成绩信息上传到系统,以供学生查询2.2 系统模块图本程序中主要包括学生和教师两个模块,学生模块可以进行学生信息查询、选课等操作;教师模块可以进行教师信息

12、查询、成绩录入等操作。如图2.1 所示:选课系统教学师生信信息息处处理理个选选选个查选成成人课课课人看修绩绩信要列结信选课录查息求表果息课录入询管管入理理图 2.1 系统模块图2.3 程序主流程图程序主流程图表现了程序的功能和运行过程。当学生或教师登录系统后,展现在他们面前的就是登陆界面,系统通过登陆界面识别用户的角色,然后系统将用户转到各自的子系统中,如图 2.2 所示:登陆界面学生信息管理系统教师信息管理系统查询个选课查询考查询个选课成绩录人信息试成绩人信息入图 2.2 程序主流程图2.4 数据库设计本程序为关系型数据库,采用关系型数据库标准语言SQL 进行编写,采用ODBC(开放性数据库

13、互联编程)实现数据库的连接。数据库在一个信息管理系统中占有非常重要的地位,数据库设计的好坏影响到系统的效率以及系统实现的效果。合理的数据库设计可以提高数据存储的效率,保证数据完整的一致性。合理的数据库结构将有利于程序的实现,用户的需求具体体现在各种信息的录入、保存、更新和查询上。数据流图高校学生管理系统的数据流图为如图2.3 所示:学生信息学生高校学生查询 /管理学生信息选课管理教师信息系统课程信息教师信息教师图 2.3 高校学生管理系统流图高校学生选课管理系统E-R 图程序的 E-R 图表示了概念结构设计中的概念模型, 在逻辑设计阶段将E-R 图转换成具体的数据模型。 E-R 图表示了实体型

14、、属性和联系,它表示的概念模型独立于具体的数据模型。教师信息1查询mnn学生信息n查询教师1n查询查询学生nmnnm1选课登录学生选修课程系统登录1教师系统高校学生选课管理系统E-R 图2.5 数据字典数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程 5 个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。本设计主要研究学生信息管理中的信息查询和信息维护两个子功能。表 1 course(课程表)表表 2 gr

15、and(成绩)表表 3 login(登录)表表 4 student(学生)表表 5 teacher(教师)表表 6 xuanke(选课 )表3 详细设计3.1 设计原理本程序包括应用程序设计和数据库设计两部分,应用程序设计部分需要设计程序运行窗体界面,采用C#进行编程实现;数据库设计包括需求分析、概念结构设计、逻辑结构设计、物理设计、实施和维护六个部分。3.2 各模块功能及其算法登录模块在登录模块中,登录界面的作用就是让不同的用户能够凭密码进入相应界面。实现数据库系统数据的独立性,用户只能根据自己的角色登录到属于自己的系统模块,进行操作。在登录界面中,包括三个控件,分别是textBox 控件、

16、 label 控件, comboBox、Button 控件。private void button1_Click(object sender, EventArgs e)string MyConnectionString = "Server=localhost; Database=login; Uid=root; Pwd=123456; Persist Security Info=True;Charset=utf8;"string loginsql = "SELECT * FROM login Where username='" + usernam

17、e + "'and password='" + passwd + "' and role='"+rol+"'"MySqlConnection connection = newMySqlConnection(MyConnectionString);connection.Open();MySqlCommand mycmd = new MySqlCommand(loginsql, connection); MySqlDataReader myread = mycmd.ExecuteReader();

18、tryif (myread.HasRows)if (myread.Read() )/MessageBox.Show("登录成功 ");if (myread"username".ToString()=tbxUsr.Text &&myread"password".ToString() = tbxPwr.Text && myread"role".ToString() =" 学生用户 ")user = username;Form3 f7;f7 = new Form3(us

19、er);f7.Show();else if (myread"username".ToString() = tbxUsr.Text&& myread"password".ToString() = tbxPwr.Text && myread"role".ToString() = " 教师用户 ")user = username;Form8 f7;f7 = new Form8(user);f7.Show();elseMessageBox.Show("Please enter th

20、e correct user name andpassword! ");catch (Exception ex)MessageBox.Show(string.Format("出错,出错原因 0"),ex.Message);finallyconnection.Close();connection.Dispose();mycmd.Dispose();查询模块在查询模块中,打开窗体时,显示出所有学生记录的列表。输入查询条件,可以进行简单的模糊查询,各条件之间为“与”的关系。在查询结果中选中一行,双击可以查看这个学生的具体选课信息。查询模块使用SELECT 语句,主显示区

21、为DataGridView控件。private void button1_Click(object sender, EventArgs e)DataSet myset = new DataSet();string MyConnectionString = "Server=localhost; Database=login; Uid=root; Pwd=123456; Persist Security Info=True;Charset=utf8;"string loginsql = "SELECT * FROM course where CID IN ( SELE

22、CT CID FROM xuanke where SID='" + user + "')"MySqlDataAdapter myda;MySqlConnection connection = newMySqlConnection(MyConnectionString);connection.Open();MySqlCommand mycmd = new MySqlCommand(loginsql, connection); myda = new MySqlDataAdapter(mycmd); myda.Fill(myset, "XINX

23、I");dataGridView1.DataSource = myset.Tables"XINXI"connection.Close();更新模块当用户进行程序操作时,可能会修改数据库中的数据,为了保持数据库中数据的一致性,需要对数据库中的数据进行实时更新,保持数据的一致,以免产生程序的运行错误。数据库的更新包括插入(INSERT)、修改( UPDATE)、删除( DELETE )。trysqlcon.Open();/ string sql = "insert into course (CID,CName,CXue,CTName,) values(kch

24、,kcm,xf,js)"string sql = "insert intocourse(CID,CName,CXue,CTName,CAddress,CTime)values(kch,kcm,xf,js,skd,sks)"MySqlCommand cmd = new MySqlCommand();cmd.Connection = sqlcon;cmd.CommandText = sql;cmd.CommandType = CommandType.Text;cmd.ExecuteNonQuery();catch (Exception ex)MessageBox.Sh

25、ow(string.Format("出错,出错原因 0"),ex.Message);选课模块在选课模块中,学生根据设计好的选课列表进行选课,学生只能选择还有剩余人数即可供选择的课程,当某一门的人数达到上限后则学生就不能再进行该门课程的选修。当学生进行完选课后可以到查询模块查看自己的选课结果。private void button3_Click(object sender, EventArgs e)String kechenghao=null;Boolean zhuangtai = false;string MyConnectionString = "Server=

26、localhost; Database=login; Uid=root; Pwd=123456; Persist Security Info=True;Charset=utf8;"MySqlConnection connection = new MySqlConnection(MyConnectionString); connection.Open();kechenghao = dataGridView2.Rowsi.Cells0.Value.ToString();string loginsql = "insert into xuanke values ('&quo

27、t; + user + "','" + kechenghao+ "')"MySqlCommand mycmd = new MySqlCommand(loginsql, connection);if (mycmd.ExecuteNonQuery()>0) zhuangtai = true;connection.Close();if (zhuangtai) MessageBox.Show("选课成功 ");4.1 所示:4 调试与运行4.1 程序实现过程中遇到的问题及其解决方案在程序的实现过程中我们使用的是V

28、S2013 自带的数据库,在进行数据库连接时我们遇到了问题,数据库与应用程序连接不上。我们通过询问其他组的同学找到了连接的办法,实现了数据库与应用程序的连接。4.2 程序运行结果下图为程序运行的登录界面,界面简洁明了。登陆界面的功能是判别用户的角色,保持数据的独立性,不同角色的用户只能登录到各自的子系统中,查询、修改自己有权限的用户数据,其他数据则不能查询和修改。程序登陆界面如图图 4.1 系统登陆界面高校学生选课系统包括学生子系统和教师子系统,下图为学生子系统主界面,学生系统中可以供学生进行查询信息,选课等功能。学生子系统主界面如图4.2 所示:图 4.2 学生主界面学生选课界面如图4.3

29、所示: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 实现应用程序与数据库的连接。在本程序中,学生模块可以进行学生选课,学生信息查询,考试成绩查询;在教师模块可以进行教师信息查询,教师发布选课,成绩录入等功

30、能。本程序由于我们的能力有限,未能实现管理员系统模块。总结这次的课程设计对于我们来说受益匪浅, 它相对于我们以前做过的一些课设来说是比较复杂的一个课程设计。在这个课设中包含了许多数据库,数据结构等其他学科的知识。程序实现也比较复杂。程序的实现需要进行数据库链接,在数据库中完成数据的建立,数据的存储,数据的更新等诸多的操作,数据库的实现程度直接影响到程序的功能是否能够完美的实现。在这次课设中我们参考了大量前人的文档和书籍。 这次课程设计基本上含盖了大学三年纪学习到的 C# 语言知识点,课设题目要求不仅要求对课本知识有较深刻的了解,同时要求程序设计者有较强的思维和动手能力。 这次课设使我了解我编程

31、思想和编程技巧的不足,也认识了软件生命周期的各个环境,包括构思、设计、编写、调试、发布、文档化、维护和修订。编程的风格也很重要,不能只关心程序运行的结果,而对程序代码的结构的良好丝毫不在意。这是非常不可取的,如果我们希望将来从事编程工作,在这一点上该引起足够的重视。这是严谨的态度。参考文献1金旭亮 ASP.NET 程序设计教程北京:高等教育出版社,2009.32蒋金楠 ASP.NET MVC4 框架揭秘北京:电子工业出版社2013.13郝冠军 ASP.NET 本质论北京:机械工业版设 2011.34 郑阿奇 SQL Server 实用教程(第 2 版)北京:电子工业出版社 2007.115 熊

32、拥军,刘卫国数据库技术与应用实践教程 SQL Server 2005北京:清华大学出版社 2010,46 Jon Skeet深入理解 C#(第 2 版)北京:人民邮电出版社2012.17 郑阿奇 .C#实用教程(第 2 版)北京:电子工业出版社 2013.78Daniel Solis Illustrated C#2012 C#图解教程北京:人民邮电出版社2012.109James HuddlestonC#数据库入门经典(第 3 版)北京:清华大学出版社2008.6致谢经过这两个星期的学习和忙碌,我终于完成了本次的课设任务。我感到喜悦。在这次的课程设计中,能顺利地完成设计任务,要感谢他们的帮助。

33、在本次课程设计中,首先,我要感谢和自己一起忙碌的同组同学。他们和我一起完成了本次的课设任务。在他们的帮助和支持下,我才能顺利的完成课设任务。课设不是一个人的工作,需要大家相互帮助相互合作才能顺利完成。在课设中,每个人都可能遇到不会,不懂的问题,需要自己积极的寻求他人的帮助。在制作文档的过程中,他们往往能够找到我注意不到的错误,给予我帮助。有些自己想不到的部分他们会提出来,供我参考。没有他们,这次的设计任务就不能完美地完成。 其次,我要感谢学校的图书馆,每一次课设,我们都要到图书馆去查找资料,借阅书籍。还要感谢自己有这次机会和学校良好的学习环境。给了自己一个舞台,同时也是对自身的检验,使我的综合

34、能力有了很大的提升。老师的指导和督促也是不可或缺的,有一些技术上的问题是我们一时难以解决的。多亏了老师从理论到上机亲自指导的辛苦教授,给予了我们最大帮助和全面指导。在这里,尤其要感谢我的指导教师,你的不辞辛苦,不厌其烦的给我们耐心指导,指出我们的错误。在这里,我衷心向你们致谢!最后衷心感谢所有给予我帮助的人,没有他们的帮助我的程序不会完成得这么顺利。附录程序源代码:/登陆界面代码using System;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using Syste

35、m.Text;using MySQLDriverCS;namespace WindowsFormsApplication1 public partial class Form1 : Form String user ;public Form1() InitializeComponent();private void button1_Click(object sender, EventArgs e) string MyConnectionString = "Server=localhost; Database=login; Uid=root; Pwd=123456; Persist S

36、ecurity Info=True;Charset=utf8;"string loginsql = "SELECT * FROM login Where username='" + username + "'and password='" + passwd + "' and role='"+rol+"'"MySqlConnection connection = new MySqlConnection(MyConnectionString);connectio

37、n.Open();MySqlCommand mycmd = new MySqlCommand(loginsql, connection); MySqlDataReader myread = mycmd.ExecuteReader(); try if (myread.HasRows) if (myread.Read() ) /MessageBox.Show("登录成功 ");if (myread"username".ToString()=tbxUsr.Text && myread"password".ToString()

38、 = tbxPwr.Text && myread"role".ToString() =" 学生用户 ") user = username;Form3 f7;f7 = new Form3(user);f7.Show();else if (myread"username".ToString() = tbxUsr.Text && myread"password".ToString() = tbxPwr.Text && myread"role".ToString()

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论