1、数据库课程设计报告学生公寓管理系统洛 阳 理 工 学 院课 程 设 计 报 告 课程名称 数据库课程设计 设计题目 学生公寓管理系统 专 业 班 级 学 号 姓 名 完成日期 课 程 设 计 任 务 书设计题目: 学生公寓管理系统 设计内容:调研我校学生公寓管理情况,设计学生公寓管理系统。系统主要功能有:1.基本信息管理:记录公寓、学生基本信息。2。水电费管理:各个公寓水电使用量,并计算水电费(公寓人均水电费),以及交费情况.3.公寓管理员信息维护:记录管理员基本信息及其负责管理哪些公寓。4.一些信息的记录和查询,包括公寓卫生评比情况、学生拥有电脑情况等。设计要求:1。要求完成需求分析,写出功
2、能需求和数据需求描述;2.在需求分析的基础上完成数据库的概念结构设计、逻辑结构设计、物理结构设计;3.用C语言,完成信息系统的部分程序模块的界面设计。 指导教师: 2013年 1月 5 日课 程 设 计 评 语 成绩: 指导教师:_ 年 月 日目录1 绪论1.1 开发背景随着科学技术的飞速发展,计算机在日常管理中的应用的到了迅速普及,利用计算机进行学生公寓信息管理势在必行。学生公寓管理系统的开发来源于科研需要,它的开发和设计都是基于学科的研究。1。2 目的和意义面对庞大的学生信息量,一套适合学生公寓使用的管理软件,能够非常方便地管理公寓,包括公寓内员工基本信息管理,学生信息管理,公寓信息管理等
3、,还能便捷的查询公寓内的各种信息,提高了工作人员的工作效率.通过使用学生公寓管理系统,可以做到规范管理、科学统计和快速查询,极大的减少宿舍管理方面的工作量。在提高工作效率的同时,还可以提高资本投入的经济效益,运行效率,节约资源。同时通过该题目的开发实施,可以掌握系统的设计与实现全过程,巩固学生的专业理论知识与实际应用的结合,提高分析问题,解决问题的能力。1。3 国内外进展1。3。1 国外进展(1)国外高校一般来讲,都在利用公寓楼的地下空间,设立服务设施及功能齐全的学生活动场所,比如:有为学生服务的洗衣机房,便于学生之间进行各种思想交流的咖啡屋、书屋、活动室,解决学生不经常使用物品而存放的储藏室
4、、公共计算机房、存车库等,满足了学生生活和交往需要。由此可见,我国高校内这些设施和场所相对分散和不足,设置也会因各高校公用房源情况的不同而差别较大。(2)国外高校学生被录取后,会根据招生简章对住宿情况的介绍、要求,采取预约申请登记,并按登记的先后顺序和个人对租金的承受能力,在大学校园内有限的房屋资源范围内,给予提供相应的住房;不足部分,由学生到学校之外寻找。(3)国外高校后勤服务实体采用社会企业法人运行机制,全国有一个总的后勤服务公司,各州分别设有分支机构。这样既便于协调各地的服务行为,也便于行业的工作交流,指导各地开展工作。1。3。2 国内进展在我国高校后勤社会化进程中,加强和改善学生公寓管
5、理也是后勤社会化的重要内容。具体表现在公寓管理上,是指公寓管理模式社会化,其重要内容之一是公寓管理手段要面向企业管理的方向转化,具体体现在以下几个方面:(1)公寓管理机制的转变随着教育事业的发展,高校公寓的基础设施建设发展迅速,基础设施的发展,推动了管理机制的发展,其具体表现在以下几个方面: 公寓基础设施中的配套服务设施不断改善。如公寓建筑标准在不断提高,公寓楼内的防火、防窃安全系统的不断完善;电话、电视、网络已进入公寓等。 管理人员的管理手段不断完善,计算机辅助管理已在许多高校公寓管理中得到广泛应用。 公寓内学生生活服务的管理及学生的行为管理,已向着全方位个性化服务方面转化。上述管理机制的变
6、化,为广大学生提供了幽雅的学习生活环境,为学生能够全身心地投入到学习科研中去奠定了坚实的物质基础。(2)公寓管理模式的标准化 自我国加入WTO之后,标志着中国已由过去的不发达国家迈进发展中国家的行列。随着公寓管理社会化的深入,有的高校已把优秀企业的管理模式带到了公寓管理之中。部分高校的公寓管理提出了“外树形像、内立标准、做好服务、创建品牌”的全新管理理念,为使公寓管理尽早地与国际接轨先迈出了一步。为此,有的高校在公寓管理上已经通过了国际标准化组织授权的第三方认证机构艾米克技术公司的认证。(3)公寓管理人员的高素质化 就素质而论,主要包括人的思想素质和业务素质.思想素质主要指人的思想意识和道德观
7、念,而业务素质则指从事某项社会活动并具有专业技能或技巧的程度的水平。近几年随着高校后勤改革步伐的加快,后勤管理人员的素质也不断提高。许多经济学、管理学教授,心理专家,政治思想教育权威,也相继走入学生公寓参与学生行为管理工作。有的高校在公寓管理人员的学历要求达到本科学历以上.高校公寓管理人员素质的提高,为公寓的科学文化标准化的管理,提供了一个前提保障,也为公寓的文化建设打下基础. 1.4 本文工作的主要内容本论介绍了学生公寓管理系统的开发过程以及开发过程中使用的技术和遇见的细节问题,主要涉及到的工作如下:系统的开发背景,系统的需求分析,系统的的总体设计,系统的概念设计,系统各模块的详细设计,系统
8、开发的相关技术。2 需求分析2。1 系统需求简介2。1.1 系统目标(1) 减少公寓管理人员大量繁琐的工作。公寓管理人员通过使用本系统,可以随时根据需要,查询公寓、寝室、交费等信息,对学生公寓管理系统中的数据进行录入、添加、删除和查询,并可以根据特定条件对数据进行查询。(2) 减少学校在学生公寓管理方面的人力和物力的投资。学生公寓管理系统功能强大、操作简单,拥有友好的界面,适用于各类学校的学生公寓管理.2。1。2 功能需求分析软件需求分析是指对目标软件系统在功能、行为、性能、设计约束等方面的期望.需求分析是软件设计、实现测试直至维护的主要基础,良好的需求分析可以避免错误或着是尽早发现错误,从而
9、降低软件的开发成本,改进软件的质量。本系统的功能需求分析如下:(1) 员工管理模块:主要是针对从事学生公寓管理的人员,包括员工的基本信息、管理那些宿舍和卫生评比情况;(2) 学生管理模块:主要是用于查询和录入学生的基本信息,以便管理员了解学生的基本情况等;(3) 公寓管理模块:系统的核心模块之一,主要功能包括学生入住管理,物品管理,水电信息等;(4) 查询统计模块:系统的核心模块之一,主要功能包括住宿情况查询,物品情况查询,水电查询;2.1.3 性能需求分析(1) 用户界面需求:简洁、易懂、易用、友好的用户界面。(2) 硬件需求:奔四以上CPU,512M内存,40G硬盘,windows xp以
10、上操作系统。(3) 可靠性需求:保证用户在正常使用本系统时,用户的操作或误操作不会产生数据丢失。(4) 安全保密性需求:只有管理员可以凭借用户名和密码登陆系统,进行信息的管理等。2。2 可行性分析2。2.1 经济可行性分析系统的经济可行性分析是指对组织的经济状况和投资能力进行分析,对系统的建设运营和维护费用进行估算,对系统建成后可能取得的社会及经济效益进行估计。由于本系统作为毕业设计,所以在资金上没有太多的需求,只是需要系统开发者投入较多的时间,去进行研究和分析,以及思考问题的所在。2.2。2 技术可行性分析学生公寓管理系统使用Visual Studio 2008开发工具开发,使用的是C开发语
11、言,由于Visual Studio 2008的可视化模块比较强大,C是一种面向对象的语言,简单易学而且灵活方便,所以在系统的设计过程中不会有太大问题。同时该系统使用Macrosoft SQL server 2005对后台的数据进行操作,使得数据完整性得以保证,同时数据操作简单化。通过上述分析得出该系统在技术上是可行的。2。2。3 操作可行性分析本系统直观易懂,使用非常方便,管理员经过简单的培训就可以熟练的使用,因此系统的操作没有什么太大困难。3 概念模型设计3.1 设计概述本阶段设计的基本目标是解决系统如何实现问题,也叫做概要设计,本阶段主要任务是划分出系统的物理元素及设计软件的结构,完成软件
12、定义时期的任务之后就应该对系统进行总体设计,即根据系统分析产生的分析结果来确定这个系统由哪些系统和模块组成,这些系统和模块又如何有机的结合在一起,每个模块的功能如何实现。系统设计的目标是使系统实现所要求的功能,同时力争达到高效率、高可靠性、可修改性,并且容易掌握和使用.模块化的依据是:把复杂问题分解成许多容易解决的小问题。原来的问题也就变得容易解决。模块化设计是把大型软件按照一定的原则划分成一个较小的功能相对独立又相关联的模块。每个模块完成一个特定的子功能。把这些模块结合起来组成一个整体.完成指定的功能,满足问题的要求.采用模块化原理的优点在于可以使软件结构清晰,容易测试和调试。从而提高软件的
13、可靠性,可修改性。有助于软件开发的组织管理.一个大型软件可分别编写不同的模块.3。2 系统总体结构经过对系统的需求分析,学生公寓管理系统主要划分为五部分:学生信息管理,宿舍水电费管理,宿舍居住情况信息,宿舍财产信息管理,宿舍卫生评比管理五个功能模块。3.3 系统数据库概念结构设计根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及它们之间的关系,为后面的逻辑结构设计打下基础。3。3.1 系统E-R图系统ER图可以将各个实体之间的关系显示出来,将各个实体间的属性依赖表示明白。系统ER结构图如图3。1所示.1M 图3.1图3。2 学生实体及属性 图3。3 宿舍财物实体及属性图3.4
14、卫生评比实体及属性 图3.5 水电费实体及属性 图3.6 宿舍信息实体及属性 图3。7 账户表实体及属性 图3。8 管理员实体及属性3.3.2各实体所对应的表3.4 安全保密设计3.4。1 用户登陆安全性系统设计了登陆界面,每个管理员用户有一个密码,该密码由管理员自行维护,从而实现对身份验证。3。4.2 操作安全性只有管理员凭借用户名和密码进入系统,对里面的信息可以进行修改等。其它用户可以查看里面的内容,能更改。3。4.3 数据安全性客户端层和数据库层隔离,客户端无法接触本质的数据库,无法进行非法的修改和破坏,使得数据库得到有效安全的保护。4 物理设计4。1物理设计阶段的目的与任务 数据库的物
15、理设计就是为逻辑数据模型选取一个最适应应用要求的物理结构的过程,在这个阶段中要完成两大任务:(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存取结构;(2)对物理结构进行评价,评价的重点是时间和空间效率.4。2数据库存储方面为数据库中各基本表建立的索引如下:(1)由于基本表宿舍,入住学生的主码Sno,Dno经常在查询条件和连接操作的连接条件中出现,且它们的值唯一,考虑在两个属性上建立唯一性索引:(2)基本表管理员基本信息、贵重物品信息、宿舍信息的属性值几乎不会有什么变化,更新率很低,可考虑适当建立索引:(3)基本表,水电管理信息,卫生考核信息,的属性值经常发生变化,住宿学生信息,权衡
16、系统为维护索引付出的代价,可考虑不建立索引,也可以适当建立索引。5 详细设计5。1 系统总体结构及功能模块划分经过对系统的需求分析,学生公寓管理系统主要划分为五部分:学生信息管理,宿舍水电费管理,宿舍居住情况信息,宿舍财产信息管理,宿舍卫生评比管理五个功能模块。系统的总体结构如图5.1。 图5。1 系统的总体结构.5.2 系统程序流程图程序流程图又称为程序框图,它是历史悠久使用最广泛的描述软件设计的方法.它可将整个程序的总体流程清楚明白的显示出来.系统总流程图结构如图5。2所示。 图5.25。3 具体的系统实现(1)在编码实现的时候用到的技术和方法:在 ADO。Net 构架下,实现了多 SQL
17、 Server、Oracle 等数据和 XML 数据源的一致访问.对于每一种数据源的访问,ADO.Net 都至少提供了四个类,及 DbConnection、Command、DataAdapter、DataReader 分别用于对数据源的连接、查询、读取等操作。ADO。NET 的主要特点是引人了离线数据集(Disconnect DataSet)。所有的数据都可以离线使用而不必一直连接到数据库,只有需要对数据库进行操作时才进行连接。对于 Web 应用程序而言,因为开启数据库联机在分布式的环境中会占用较多资源,所以将数据缓存到本地进行操作可使应用程序具有高度的延展性,并节约网络资源,提高网络利用率。
18、A。 SqlConnection: 用来连接数据库,例如:string boto = ”Data Source=.;Initial Catalog=学生system;Integrated Security=SSPI;Persist Security Info=true”;SqlConnection conn = new SqlConnection(boto);其中的Data Source后面写的是数据库的来源;Initial Catalog后面写的是要连接的数据库的名字;Integrated Security=SSPI;Persist Security Info=true这个是连接数据库时的格
19、式。B。 SqlCommand: Command对象的构造函数的参数有两个,一个是需要执行的SQL语句,另一个是数据库连接对象。创建Command对象后,就可以执行SQL命令,执行后完成并关闭数据连接.C. SqlDataAdapter: 是 DataSet和 SQL Server之间的桥接器,用于检索和保存数据.SqlDataAdapter通过对数据源使用适当的Transact-SQL语句映射 Fill(它可更改DataSet中的数据以匹配数据源中的数据)和 Update(它可更改数据源中的数据以匹配 DataSet中的数据)来提供这一桥接。当SqlDataAdapter填充 DataSet
20、时,它为返回的数据创建必需的表和列(如果这些表和列尚不存在).D。 DataSet: 是ADO。NET的中心概念。可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合。E。 DataReader: 是一个简单的数据集,用于从数据源中检索只读数据集,常用于检索大量数据。(2)具体程序实现如下登录界面如图5.3所示 图5.3 源代码: private void button1_Click(object sender, EventArgs e) try if (textBox1.Text = ”) /判断学号/ID是否输入了用户名 MessageBox。Show(”账
21、户不能为空”); else if (textBox2。Text = ”) /判断用户是否输入了密码 MessageBox.Show(”密码不能为空”); else sr = textBox1。Text。Trim(); st = textBox2。Text.Trim(); string boto = ”Data Source=.;Initial Catalog=学生公寓管理;Integrated Security=true; SqlConnection conn = new SqlConnection(boto); conn.Open(); SqlCommand cmd = new SqlCom
22、mand(”select count(*)from 账户表 where 学号/ID= + textBox1。Text.Trim() + and 密码=” + textBox2。Text。Trim() + and 身份=” + comboBox1.Text。Trim() + ” , conn); int i = Convert.ToInt32(cmd。ExecuteScalar(); /获取返回值 if ((i 0) & (comboBox1.Text = ”宿舍管理员)) 管理员 form = new 管理员(st,sr ); form.Show(); /this。Hide(); if ((i
23、 0) & (comboBox1。Text = ”学生”) 学生 form = new 学生(st); form。Show(); /this。Hide(); if (i 0) & (comboBox1。Text = 系统管理员”) 管理员信息管理 form = new 管理员信息管理(st); form.Show(); /this.Hide(); if (i 0&n0) MessageBox。Show(添加成功); else MessageBox。Show(添加不成功); conn.Close(); else MessageBox.Show(”添加内容不全”); private void 删除
24、_Click(object sender, EventArgs e) string boto = ”Data Source=。;Initial Catalog=学生公寓管理;Integrated Security=true”; SqlConnection conn = new SqlConnection(boto); conn。Open(); SqlCommand cmd = new SqlCommand(delete from 管理员 where 编号ID=” + textBox1.Text.Trim() + ”, conn); SqlCommand cm = new SqlCommand(
25、”delete from 账户表 where 学号/ID= + textBox1.Text。Trim() + ”, conn); int i = cmd。ExecuteNonQuery(); int i2 = cm.ExecuteNonQuery(); if (i 0&i20) MessageBox.Show(删除成功”); else MessageBox。Show(删除不成功”); conn。Close(); private void 修改_Click(object sender, EventArgs e) string boto = ”Data Source=。;Initial Catal
26、og=学生公寓管理;Integrated Security=true”; SqlConnection conn = new SqlConnection(boto); conn。Open(); SqlCommand cmd = new SqlCommand(update 管理员 set 编号ID= + textBox1.Text。Trim() + ”,姓名= + textBox2.Text.Trim() + ”,楼号=” + textBox3。Text。Trim() + where 编号ID=” + textBox1.Text。Trim() + ”, conn); int i = cmd。Exe
27、cuteNonQuery(); if (i 0) MessageBox.Show(修改成功); else MessageBox。Show(修改不成功”); conn。Close() private void 查询_Click(object sender, EventArgs e) string boto = ”Data Source=.;Initial Catalog=学生公寓管理;Integrated Security=true; SqlConnection conn = new SqlConnection(boto); conn.Open(); SqlCommand cmd = new SqlCommand(select from 管理员 where 编号ID= + textBox4。Text.Trim() + ”, conn); SqlDataReader reader = cmd.ExecuteReader(); if (reader。Read() textBox1。Text = (string)reader”编号ID”; textBox2。Text = (string)reader”姓
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1