1、本科毕业论文(20 届)学生管理系统的设计与实现所在学院专业班级 计算机科学与技术学生姓名指导教师完成日期摘 要随着办学规模的扩大和招生人数的增加,学生的管理工作也将成为一项十分繁重的工作,建立一个学生管理系统是非常必要的。学校通过学生管理系统管理学生的信息,会使得学生信息管理工作系统化、规范化高了学校管理学生信息的效率,更方便处理学生的住宿问题。本系统重点研究学生的宿舍管理系统,将传统的人工管理方式转变为经由计算机网络技术的支持的自动化管理,实现管理的无纸化,实现管理整个管理部门的权利集中与自主,系统实现了系统维护、宿舍管理、学生管理、宿舍分配、信息查询等必需的功能,其操作简单,界面友好,运
2、行比较稳定,适用于大学院校大学生宿舍管理。关键词:学生管理系统;sql2008;ASP.net;B/SAbstractWith the school expansion and the increase in enrollment, the school expansion and the increase in enrollment, students management work will be a very heavy workload, the establishment of a student management system is very necessary. The sc
3、hool student management system to manage student information, efficiency makes the student information management system, the standardization of high school student information management, more convenient accommodation problem students.Dormitory management system of student here we focus on research
4、, it will change the traditional manual management mode for the automation management through the support of computer network technology, paperless management, realize the management the management right and autonomy, system realizes the system maintenance, dormitory management, student management,
5、dormitory distribution, information query and other necessary functions, and has the advantages of simple operation, friendly interface, stable operation, suitable for university students dormitory management.Keyword: student hostel management system; sql2008; ASP.net; B/S; 目 录1 绪论 .11.1 引言 .11.2 国内
6、现状分析 .11.3 主要研究目标和研究内容 .21.4 论文组织.22 相关技术与开发工具介绍 .32.1 C#介绍.32.2 Visual Studio 2008.42.3 SQL sever 的介绍 .52.4 ASP.NET 的介绍 .53 可行性与需求分析 .73.1 可行性分析 .73.2 需求分析 .74 系统设计 .94.1 设计思路 .94.2 安全以及设计约束 .94.3 界面以及接口设计 .94.4 E-R 图如下 .94.5 数据设计 .105 系统功能的实现 .135.1 登录界面.135.2 管理员功能菜单以及登录界面 .145.3 学生功能界面及其主要代码 .16
7、结语.21参考文献.22致谢.2311绪论1.1引言管理系统是由管理者与管理对象组成的并由管理者负责控制的一个整体。管理系统因具体对象不同而千差万别,可以是科学的、经济的、教育的、政治的等。管理系统的整体是由相对独立的不同部分组成的。这些部分可以按人、财、物、信息、时间等来划分,也可以根据管理的职能或管理机构的部门设置来划分。管理工作者如果看不到整体中的各个组成部分就看不清楚整体的结构和格局,就会造成认识上的模糊,从而在工作上分不清主次。同时任何管理系统都是变化发展着的,而且任何变化和发展都会表现为管理的具体任务和管理目标的实现条件的变化。1.2国内现状分析二十一世纪以来,人类经济高速发展,人
8、们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,学校成绩管理系统软件为学校办公室带来了极大的方便。学生管理是各大学的主要日常管理工作之一,涉及到校、系、师、生的诸多方面,随着教学体制的不断改革,尤其是学分制、选课制的展开和深入,学生日常管理工作及保存管理日趋繁重、复杂。迫切需要研制开发一款功能强大,操作简单,具有人性化的学生成绩管理系统。在国外高校,与国内不同,他们一般具有较大规模的稳定的技术队伍来提供服务与技术支持。而
9、国内高校信息化建设相对起步较晚。在数字校园理论逐步应用的过程中,各高校一方面不断投资购建各种硬件、系统软件和网络,另一方面也不断开发实施了各类教学、科研、办公管理等应用系统,形成了一定规模的信息化建设体系。但是,由于整体信息化程度相对落后,经费短缺,理论体系不健全等原因,国内高校学生管理系统在机构设置、服务范围、服务质量及人员要求上与国外高校相比都有一定的差距。纵观国内研究现状,在安全性和信息更新化方面存在有一定的不足,各现有系统资料单独建立,共享性差;在以管理者为主体的方式中,信息取舍依赖管理者对于信息的认知与喜好,较不容易掌握用户真正的需求,也因此无法完全满足用户的需求。因此,成绩管理软件
10、应充分依托校园网,实现教务信息的集中管理、分散操作、信息共享,使传统的教务管理朝数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的计算机教务管理系统和全校信息系统打下良好的基础。国外的教学科研软件与国内相比开发的早而且比较成熟。早在七十年代末,美国就建成了 NSFNET(国家科学基金网),其课题的申报及课题的进展情况汇报都在网上进行。其网上教学教务管理系统也十分完善,世界各地的学生可以坐在家里通过互联网完成入学报名、选课、考试、毕业论文、取得学位这一学习生活2的全过程。目前,国际上已具规模的远程教育学校就有数百所之多,网上教育正在各地发挥着巨大的作用,为世界各国培养出大批人才。所有
11、这些都表明,基于 Internet 的校园网的应用已深入到校园内的各个方面。随着教育产业化进程的逐步推进,各大高校纷纷合并,走上了强强联合、资源共享的路子。高校的规模不断扩大,如何合理利用教学资源,有效地加强教学管理工作,已成为各大高校十分关注的问题。在教学管理方面,特别是学生学籍管理、成绩管理等方面都普遍采用了网络化管理技术.随着教学改革的不断深入,学校办学规模的不断扩大,如何有效地增强教学管理水平,充分调动学生的学习积极性,提高毕业设计的教学质量是各高校教学管理工作的重点之一。1.3主要研究目标和研究内容本宿舍管理系统是针对高校在宿舍管理方面遇到的人员众多、管理困难等问题,而开发的一款管理
12、软件。可以有效地查询且记录学生在入学后有关宿舍管理方面的情况(如房间使用情况、宿舍入住情况、宿舍调整、物品的领用、宿舍的卫生评比、水电费的缴纳情况等) ,可为大学的后勤管理部门提供诸多方便。采用先进的记录手段、快捷方便的管理方式,完善的统计、分析功能给学校提供详细的宿舍管理信息。开发本系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。目前,学校工作繁杂、资料重多,虽然各类管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一
13、的系统。因此,开发一套适和大众的、兼容性好的系统是很有必要的。1.4 论文组织论文全文共分为六章:第一章绪论:主要介绍了论文选题的引言、对课题研究的背景及意义进行了分析,同时也现行系统状况及发展趋势进行了介绍。第二章开发环境和开发技术:介绍了系统、系统的开发模式、开发环境等基础知识。第三章需求分析:主要介绍了系统设计思想、可行性分析、功能和性能需求。第四章系统设计:主要介绍了系统的总体结构设计和系统的数据库设计,其中包括E-R 图、系统功能图等。第五章系统实现:介绍了系统的部分界面及实现其功能的主要代码。第六章结语:总结了现有系统的功能及其价值。32相关技术与开发工具介绍2.1 C#介绍C#是
14、微软公司发布的一种面向对象的、运行于 .NET Framework 之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员 Anders Hejlsberg 的最新成果。C#看起来与 Java 有着惊人的相似;它包括了诸如单一继承、接口、与 Java 几乎同样的语法和编译成中间代码再运行的过程。但是 C#与 Java 有着明显的不同,它借鉴了 Delphi 的一个特点,与 COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows 网络框架的主角。C#是一种安全的、稳定的、简单的、优雅的,由 C 和 C+衍生出来的面向对象的编程语言。它
15、在继承 C 和 C+强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承) 。C#综合了 VB 简单的可视化操作和 C+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET 开发的首选语言。C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于 MICROSOFT .NET平台的应用程序,MICROSOFT .NET 提供了一系列的 工具和服务来最大程度地开发利用计算与通讯领域。C#使得 C+程序员可以高效的开发程序,且因可调用由 C/C+ 编写的本机原生函数,因此绝不损失 C/C+原有的强大的功能。因为这种继承关系,C#
16、与 C/C+具有极大的相似性,熟悉类似语言的开发者可以很快的转向 C#。C#是一种精确、简单、类型安全、面向对象的语言。说到 C#,就不得不先简单介绍一下.net。到底什么是.net 呢,按照微软总裁兼首席执行官 Steve Ballrner 把它定义为:.Net 代表一个集合,一个环境,它可以作为平台支持下一代 Internet 的可编程结构。C#是.net 的代表语言。C#的特点:(1)完全面向对象。(2)支持分布式,之所以有 C#,是因为微软相信分布式应用程序是未来的趋势,即处理过程分布在客户机和服务器上。所以 C#一出生就注定了能很好解决分布式问题。(3)跟 Java 类似,C#代码经
17、过编译后,成为了一种 IL(中间语言) 。在运行时,再把 IL 编译为平台专用的代码。(4)健壮,C#在检查程序错误和编译与运行时错误一点也不逊于 Java,C#也用了自动管理内存机制。(5)C#不像 Java 那样完全摒弃了指针和手动内存管理。C#默认情况下是不能使用指针的,程序员在有必要时可以打开指针来使用。这样可以保证编程的灵活性。(6)安全性:C#的安全性是有.net 平台来提供的。C#代码编译后成为 IL 语言。是一种受控代码,.net 提供类型安全检查等机制保证代码是安全的。(7)可移植性:由于 C#使用类似 Java 的中间语言机制。使得 C#也跟 Java 类似,4可以很方便的
18、移植到其他系统。在运行时,再把中间代码编译为适合特定机器的代码。(8)解释性:C#也是一种特殊的解释性语言。(9)高性能:C#把代码编译成中间语言后,可以高效的执行程序。(10)多线程:与 Java 类似,可以由一个主进程分出多个执行小任务的多线程。(11)组件模式:C#很适合组件开发。各个组件可以由其他语言实现的,然后集成在.net 中。C#是在 Java 流行起来后所诞生的一种新的语言。由于微软在操作系统上占有很大的优势。在以往的开发中累积了不少经验,所形成的.net 平台,所以 C#在 Windows 方面可以说比 Java 具有更大的优势。如果单纯从技术上来讲,C#在网络编程上可以与
19、Java 匹敌。C#还在 Windows Forms 也有一定的优势。C#是一种非常类似于 C+的语言,风格是更接近于 Java,不管是 C+程序员还是Java 程序员,都可以很方便的转到 C#上来。C#的强大是依赖于.net 的发展,而.net 的发展是看微软在.net 上的决心和投入有多少。从 Windows 2003和 Vista 系统可以看出(前者内置.net1.1,后者内置.net2.0。 ).Net 在 Windows 编程中具有重要的战略意义。C#目前主要是应用在网络编程上,其他领域比如数据库、窗体编程,都逐渐在增大。2.2 Visual Studio 2008Microsoft
20、 Visual Studio 2008是面向 Windows Vista、Office 2007、Web 2.0的下一代开发工具,代号“Orcas” ,是对 Visual Studio 2005一次及时、全面的升级。VS2008引入了250多个新特性,整合了对象、关系型数据、XML 的访问方式,语言更加简洁。使用 Visual Studio 2008可以高效开发 Windows 应用程序。设计器中可以实时反映变更,XAML 中智能感知功能可以提高开发效率。同时 Visual Studio 2008支持项目模板、调试器和部署程序。Visual Studio 2008可以高效开发 Web 应用,集
21、成了 AJAX 1.0,包含 AJAX 项目模板,它还可以高效开发 Office 应用和 Mobile 应用。Visual Basic、Visual C# 和 Visual C+ 都使用相同的集成开发环境 (IDE) ,这样就能够进行工具共享,并能够轻松地创建混合语言解决方案。 另外,这些语言使用 .NET Framework 的功能,它提供了可简化 ASP Web 应用程序和 XML Web services 开发的关键技术。Visual Studio 2008 在三个方面为开发人员提供了关键改进:(1)快速的应用程序开发(2)高效的团队协作(3)突破性的用户体验Visual Studio
22、2008 提供了高级开发工具、调试功能、数据库功能和创新功能,帮助在各种平台上快速创建当前最先进的应用程序。Visual Studio 2008 包括各种增强功能,例如可视化设计器(使用 .NET Framework 3.5 加速开发) 、对 Web 开发工具的大量改进,以及能够加速开发和处理所5有类型数据的语言增强功能。Visual Studio 2008 为开发人员提供了所有相关的工具和框架支持,帮助创建引人注目的、令人印象深刻并支持 AJAX 的 Web 应用程序。开发人员能够利用这些丰富的客户端和服务器端框架轻松构建以客户为中心的 Web 应用程序,这些应用程序可以集成任何后端数据提供
23、程序、在任何当前浏览器内运行并完全访问 ASP NET 应用程序服务和 Microsoft 平台。为了帮助开发人员迅速创建先进的软件,Visual Studio 2008 提供了改进的语言和数据功能,例如语言集成的查询 (LINQ) ,各个编程人员可以利用这些功能更轻松地构建解决方案以分析和处理信息。Visual Studio 2008 还使开发人员能够从同一开发环境内创建面向多个 .NET Framework 版本的应用程序。开发人员能够构建面向 .NET Framework 2.0、3.0 或 3.5 的应用程序,意味他们可以在同一环境中支持各种各样的项目。2.3 SQL sever的介绍
24、结构化查询语言( Structured Query Language,缩写为 SQL) ,一种编程语言,用于数据库中的标准数据查询语言,IBM 公司最早使用在其开发的数据库系统中。1986 年10 月,美国国家标准学会(ANSI)对 SQL 进行规范后,以此作为关系式数据库管理系统的标准语言(ANSI X3. 135-1986) ,1987 年得到 国际标准组织的支持下成为国际标准。不过各种通行的数据库系统在其实践过程中都对 SQL 规范作了某些编改和扩充。所以,实际上不同数据库系统之间的 SQL 不能完全相互通用。SQL 是高级的非过程化编程语言,它允许用户在高层数据结构上工作。它不要求用户
25、指定对数据的存放方法,也不需要用户了解其具体的数据存放方式。而它的界面,能使具有底层结构完全不同的数据库系统和不同数据库之间,使用相同的 SQL 作为数据的输入与管理。它以记录项目records的合集(set) 项集,record set作为操纵对象,所有 SQL 语句接受项集作为输入,回提交的项集作为输出,这种项集特性允许一条SQL 语句的输出作为另一条 SQL 语句的输入,所以 SQL 语句可以嵌套,这使它拥有极大的灵活性和强大的功能。在多数情况下,在其他编程语言中需要用一大段程序才可实践的一个单独事件,而其在 SQL 上只需要一个语句就可以被表达出来。这也意味着用 SQL可以写出非常复杂
26、的语句。SQL 同时也是数据库文件格式的扩展名。2.4 ASP.NET的介绍ASP.NET 是建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的 Web 应用程序。与以前的 Web 开发模型相比,ASP.NET 提供了数个重要的优点: (1)增强的性能。ASP.NET 是在服务器上运行的编译好的公共语言运行库代码。与被解 释的前辈不同,ASP.NET 可利用早期绑定、实时编译、本机优化和盒外缓存服务。这相当于在编写代码行之前便显著提高了性能。 (2)世界级的工具支持。ASP.NET Framework 补充了 Visual Studio 集成开发环境中 的大量工具箱和设计器。WY
27、SIWYG 编辑、拖放服务器控件和自动部署只是这个强大的工具所提供功能中的少数几种。6(3)威力和灵活性。由于 ASP.NET 基于公共语言运行库,因此 Web 应用程序开发人员 可以利用整个平台的威力和灵活性。.NET Framework 类库、消息处理和数据访问解决方案都可从 Web 无缝访问。ASP.NET 也与语言无关,所以可以选择最适合应用程序的语言,或跨多种语言分割应用程序。另外,公共语言运行库的交互性保证在迁移到 ASP.NET 时保留基于 COM 的开发中的现有投资。 (4)简易性。ASP.NET 使执行常见任务变得容易,从简单的窗体提交和客户端身份验证 到部署和站点配置。例如
28、,ASP.NET 页框架使您可以生成将应用程序逻辑与表示代码清楚分开的用户界面,和在类似 Visual Basic 的简单窗体处理模型中处理事件。另外,公共语言运行库利用托管代码服务(如自动引用计数和垃圾回收)简化了开发。 (5)可管理性。ASP.NET 采用基于文本的分层配置系统,简化了将设置应用于服务器环 境和 Web 应用程序。由于配置信息是以纯文本形式存储的,因此可以在没有本地管理工具帮助的情况下应用新设置。此“零本地管理”哲学也扩展到了 ASP.NET Framework 应用程序的部署。只需将必要的文件复制到服务器,即可将 ASP.NET Framework 应用程序部署到服务器。
29、不需要重新启动服务器,即使是在部署或替换运行的编译代码时。 (6)可缩放性和可用性。ASP.NET 在设计时考虑了可缩放性,增加了专门用于在聚集环 境和多处理器环境中提高性能的功能。另外,进程受到 ASP.NET 运行库的密切监视和管理,以便当进程行为不正常(泄漏、死锁)时,可就地创建新进程,以帮助保持应用程序始终可用于处理请求。 (7)自定义性和扩展性。ASP.NET 随附了一个设计周到的结构,它使开发人员可以在适当的级别“插入”代码。实际上,可以用自己编写的自定义组件扩展或替换 ASP.NET 运行库的任何子组件。实现自定义身份验证或状态服务一直没有变得更容易。(8)安全性。借助内置的 Windows 身份验证和基于每个应用程序的配置,可以保证应用程序是安全的。