公寓管理系统论文.docx
《公寓管理系统论文.docx》由会员分享,可在线阅读,更多相关《公寓管理系统论文.docx(40页珍藏版)》请在冰豆网上搜索。
公寓管理系统论文
兰州工业高等专科学校
毕业设计(论文)
题目学生公寓管理系统
系别
专业
班级
姓名
学号
指导教师(职称)
日期
兰州工业高等专科学校
毕业设计(论文)任务书
系届专业
毕业设计(论文)任务书
毕业设计(论文)题目
学生公寓管理系统
课题内容性质
软件开发
课题来源性质
学生自立课题
设计/论文
校内(外)指导教师
职称
工作单位及部门
联系方式
一、题目说明(目的和意义):
随着网络时代的到来和不断发展,网络管理越来越多普遍,随着学生住宿的需求不同,迫切需要软件对学生公寓进行管理。
用来管理学生公寓的系统就是所谓的学生公寓管理系统。
二、设计(论文)要求(工作量、内容):
【设计内容】:
管理员登录系统:
由公寓中心管理员,登录后台验证、签退管理。
信息发布系统:
是由管理员发布公寓的相关信息和报告。
可在以下内容中进行选择,也可根据实际情况,自选内容,但需事先和指导教师进行沟通。
【设计要求】:
1.系统能够提供友好的用户界面,使操作人员的心情放松;
2.系统具有良好的运行效率,能够得到快速发现自我的目的;
3.系统应有良好的可扩充性,可以容易的转入其它系统应用;
4.平台的设计具有一定的灵活性。
【实施步骤】:
1.熟悉JAVA语言jsp、servlet、mysql、MyEclipse、Dreamweaver、photoshop等开发工具(占工作量的5%)
2.项目环境的搭建(占工作量的15%);
3.前台页面制作(占工作量的10%);
4.后台页面制作(占工作量的10%);
5.项目框架设计(占工作量的15%);
6.算法的实现(占工作量的30%);
7.系统调试:
各小组进行功能整合,由小到大地调试功能模块,完成整个系统要求。
(占工作量的10%)
8.功能完善和改进:
做最后的修缮和调整,使得功能全面、运行流畅、贴近实际运行环境。
(占5%)
【毕业论文】:
围绕“公寓管理系统”项目的分析、设计与实现,撰写论文,论文不少于30000字。
论文撰写规范参考附件:
兰州工专论文撰写规范(附件一).doc
【提交内容】:
“公寓管理系统”项目的可执行文件和源码。
毕业论文的电子稿和打印稿,答辩PPT。
【注意事项】:
毕业设计的时间安排根据时间表,最后一周,检查程序、交毕业设计论文;交毕业设计系统Powerpoint电子显示文稿;按要求将毕业设计论文装订成册。
指导老师打分方案:
毕业设计成绩=考勤*30%+论文*40%+技术实现*30%。
每周考勤一次,有特殊情况需向指导教师请假。
具体论文上交时间、论文答辩时间以系办通知为准。
三、进度表
日期
内容
第15周
查阅文献,分析功能,确定基本思路和设计内容,确定需求分析。
开发环境的搭建;
第16周
设计页面;
接口和类的定义;
数据库设计;
第17周
完成系统前台页面编码;
完成系统后台的设计;
完成前后台的对接;
第18周
完成系统,做功能修缮和调整,编写用户手册。
第19周
第20周
按要求完成论文,并上交论文,制作电子文档,为答辩做准备。
完成日期
2012年1月
答辩日期
2012年3月
四、主要参考文献、资料、设备和实习地点及翻译工作量:
【设备】:
实践基地资源、个人设备资源及实习地点的设备资源,按照设计要求进行配置和安装。
【设计环境】:
软件:
WindowsXP,JDK6.0以上版本,Eclipse5.0以上版本。
硬件:
以软件安装要求为准则,在设计的过程中确保程序调试的流畅。
【实习地点】:
计算机实践基地、学生选定的调式地点与学生自己考察的外部地点相结合。
【翻译工作量】:
对论文标题、关键字、摘要进行英文翻译。
【参考文献】:
[1]张明新,周耿烈.Java语言程序设计.重庆:
重庆大学出版社,2004.
[2]周晓聪,李文军,李师贤.面向对象程序设计与Java语言.北京:
机械工业出版社,2004.
[3]BruceEckel.Java编程思想.北京:
机械工业出版社,2007.
[4]JamesCohoon,JackDavidson.Java程序设计.北京:
清华大学出版社,2005.
[5]StevenHolzner.Java技术内幕.北京:
机械工业出版社,2002.
[6]张洪斌.Java程序设计百事通.北京:
清华大学出版社,2001.
[7]夏先波.JavaJDK实例宝典.北京:
电子工业出版社,2007.
[8]吴其庆.Java程序设计经典教程.北京:
冶金工业出版社,2005.
[9]耿祥义,张跃平.Java2实用教程.北京:
清华大学出版社,2007.
[10]蔡勇,姜磊,马宁,倪文志.Java2程序设计基础教程与上机指导.北京:
清华大学出版社,2005.
[11]林建素,孟康健.《Eclipse开发学习笔记》(第1版).北京:
电子工业出版社.2008.4
[12]李松林,陈华清,任鑫.《Eclipse宝典》(第1版).北京:
电子工业出版社.2007.9
指导教师签字
教研室主任签字
主管系领导签字
年月日
年月日
年月日
注:
本任务书要求一式两份,一份系部留存,一份报教务处实践教学
摘要
以往的学生公寓管理基本上还处于人工操作的阶段,随着计算机技术和网络技术的日益广泛应用,彩计算机以及网络来管理学生公寓,有着很好的前景。
学生公寓管理系统基于B/S模式开发,使用JSP动态网页制作技术作为主要的前台开发语言实现前后台的数据交互;后台选用MYSQL作为数据库服务器。
该学生公寓管理系统主要有公寓中心、公寓文化、公寓制度、楼管会,宿舍打分几部分内容。
整个系统采用MVC三层架构,并在MVC的基础上扩展了SERVICE层和DAO层。
对于像密码这类较为敏感的信息进行MD5加密,从而使网站的安全性更高。
关键字:
B/S;MYSQL;MVC;SERVICE;DAO;MD5;
Abstract
Studentsinthepastisstillintheapartmentmanagementisbasicallymanualoperationofthestage,alongwithcomputertechnologyandnetworktechnologyisincreasinglywidelyused,colorcomputerandnetworktomanagestudentapartments,withgoodprospects.Students'apartmentsmanagementsystembasedonB/Smodeldevelopment,usetheJSPdynamicwebpagesasthemainproductiontechnologyofthefrontdeskdevelopmentlanguagerealizationoffrontdeskandbackstagedatainteraction;MYSQLbackendchooseasadatabaseserver.Thestudents'apartmentsmanagementsystemmainlyhaveapartmentcenter,apartmentculture,apartmentsystem,buildingtube,scoringafewpartofdormitory.
Three-tiersystemusingMVCandMVCbasedontheexpansionoftheSERVICElayerandDAOlayer.SuchaspasswordsformoresensitiveinformationMD5encryption,sothatthesitesecurity.
Keyword:
B/S;MYSQL;MVC;SERVICE;DAO;MD5
1.绪论
1.1课题研究的目的及意义
设计的首要目的是运用已经学习到的java语言和SQLServer数据库知识自主实现一个实用的系统,使得现有知识得到更好的巩固,更加熟练。
同时在实现中学习到更多新的知识,能更深入掌握JSP、Java语言,了解软件开发的全过程,为以后的学习与工作打下坚实的基础。
1.2国内外研究动态
进入二十一世纪,计算机技术迅速向着网络化、集成化方向发展。
传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件,而目前网络版软件中似乎存在着两种不同的趋势,一种是称为客户端——服务器的C/S结构应用系统,这类软件具有结构严谨,运行效率高,服务器端压力小,安全性好等优点,被广泛运用于局域网中。
而另一种,也是本毕业设计所采用的,是称为浏览器——服务器的B/S结构应用系统,它的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,即适用于局域网,更适用于Internet,而且投资小、见效快,用户可以不必进行服务器方面的投资,而是去租用,甚至是免费使用ISP的服务器资源,因而受到越来越多中小型单位的青睐。
Internet起源于20世纪60年代末、70年代初,当时,美国国防部为了将充斥于军事基地内各种厂商的电脑主机互连,让它们可以进行数据交换以便研究工作顺利进行,于是成立了ARPA网络计划。
ARPA计划尝试建设一个网络系统,它可将各种不同厂商的电脑连接起来。
随着这个计划的成功,各学术单位,研究机构也纷纷与ARPA计划所建立的ARPANet连接。
到了20世纪80年代,Internet这个名词因势产生,它代表着这十年来所构建涵盖全球各地的网络系统。
从1990年起,商业使用的Internet在美国急速地扩大,而Internet也从原来属于少数人使用的网络系统转变为普通百姓也能够使用的网络系统。
最初的Internet资源服务都还停留在文本模式,1989年,量子物理实验室(CERN)下的一个研究小组着手开发一种全新的Internet服务,它可以在网络上传送图片、文本、影像、声音等多媒体数据。
于是由TimBernersLee领导的小组开发出了一种主从、分布式的网络服务系统,这就是WWW(WorldWideWeb),俗称“万维网”。
所谓WWW其实就是连上Web服务器访问资源,取得的内容就是所谓的“主页”(HomePage)。
进入的网页通常不会只有一页,而是整个网站的内容。
“网站”是一种呈现在网络上的新兴媒体,通过Internet已经成为一个实时的,多媒体的信息传播渠道。
它的载体主要是电脑,范围覆盖全球各地,没有国界,不分人种,时时刻刻地提供服务。
目前,人们渐渐开始把网站称之为广播、电视、报刊以外的第四新闻媒体,以“共享、公平、公正、创新、国际化、团队精神”为特征的网络文明也已逐渐成为这个时代的标志,人们越来越习惯于通过Internet网络获取信息,通过Internet在网站上发表自己对社会对生活的理解和建议。
随着网络的普及,论坛的内容越来越丰富,论坛也由此深受广大网民的喜爱,因此商业网站对论坛也重视起来,提供与网民交流的平台,同时在线技术支持也在论坛中开展起来。
1.3本文的工作
C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。
早期的软件系统多以此作为首选设计标准。
B/S结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓N-Tier结构。
B/S结构,主要是利用了不断成熟的WWW浏览器技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
随着Windows将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。
论文设计开发的系统为通用BBS系统,系统应该具备较大的可伸缩性,应该能适应最基本应用最广泛的Web平台。
另外,通用系统应该具备较大的可扩展性,而Java语言是面向对象的,面向对象编程注重程序的可扩展性,且Java语言是跨平台执行的,JSP相对其他网页编程语言有更多的优点,所以本系统采用Java+JSP作为编程语言。
2.系统分析
2.1可行性分析
商业软件是根据客户的根本目的和需要而设计和开发的,可行性是开发的系统具有使用价值和生命力的保证。
2.1.1社会可行性
当前社会是一个网络化的社会,网络就在人们周围,人们从网络上获取并发布信息,而本系统正是应这一需求而产生,为企业,个人发布,获取有价值的信息提供场所。
所以本系统具有社会可行性。
2.1.2技术可行性
本系统采用java语言,用MySQL数据库作为后台数据库,安装和使用简单易学,方便操作;前台页面采用JSP动态页面,JSP相比ASP、PHP都有很大的优势;服务器采用Tomcat服务器,它是一个开源软件。
开发人员在学习了这些语言或工具之后,有能力开发本系统。
2.1.3经济可行性
经济可行性是指软件所带来的经济效益与开发设计所需要的投资费用相比较是否适当,软件是否会给使用者带来经济效益。
首先随着计算机软件和硬件技术的飞速发展,计算机软、硬件价格不断下降,设计本系统所投入的资金下降。
与使用本系统为企业发布、获取信息所节省的价值相比,应用本系统带来的收益较大,经济效益可观,所以在经济上是可行的。
2.2需求分析
本系统的用户是学生公寓管理人员,他们的日常公寓管理工作主要有:
入住学生信息的查询与管理、寝室分配及调整
来访登记等。
根据上述需求进行分析,本系统在实现上具有如下功能:
学生基本信息管理,包括学生姓名、学号、所属院系班级、公寓楼号、寝室号等数据
需求分析虽处于软件开发过程的开始阶段,但它对于整个软件开发过程以及软件产品质量是至关重要的。
随着软件系统复杂性的提高及规模的扩大,需求分析在软件开发中所处的地位愈加突出。
所谓需求,是指用户对目标软件系统在功能、行为、性能设计约束等方面的要求。
在需求分析工作中,系统分析人员对用户的需求进行调查和分析,确定现有环境的特征,正确定义目标软件的特征。
因此,需求分析工作是对应用环境及其问题进行理解和分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化。
公寓中心管理系统设计实现以下功能:
管理员中心:
管理员对系统进行一些基本的维护,包括对公寓信息的发布、修改和删除。
2.3开发工具及相关技术简介
本系统采用的工具有JDK1.6、Tomcat6.0、MyEclipse8.6、MySQL,使用的技术有Java、JSP、、JDBC等。
2.3.1相关工具简介
(1)JDK1.6.0
JDK是Sun公司Java应用程序和组件的开发环境,是编译和测试工具,也是提供java程序的Java虚拟机平台,是调试和运行JSP所不可缺少的工具。
本系统采用JDK1.6.0版本。
(2)Tomcat6.0
Tomcat是开源的servlet和JSP容器(Sun官方推荐容器),它是Jakarta项目中一个重要的组成,由Apache、Sun和其他一些公司及个人开发。
Tomcat内部实现了Servlet和JSP引擎,而且扩展了一些应用服务器的功能,例如JNDI、数据库连接池、用户事务处理等。
目Tomcat被广泛地应用于中小规模的Javaweb应用中[4]。
(3)MyEclipse8.6
MyEclipse是在Eclipse集成开发环境中提供Web应用程序开发的插件,在目前软件开发的Java领域中,MyEclipse是一个使用非常广泛的工具。
MyEclipse是Eclipse软件的一个插件,Eclipse软件是免费的,但MyEclipse不是一个完全免费的产品,需要购买。
(4)MySQLMySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
目前MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
与其他的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL不支持视图(已经被列入5.1版的开发计划)、事件等)等,但是这丝毫也没有减少它受欢迎的程度。
对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。
2.3.2相关技术概述
1.Java语言概述
Java编程语言是一种通用、并发、基于类且面向对象的语言。
Java编程语言与C和C++相关,但是在组织方式上有差别,Java具有C和C++遗漏的许多优点,同时兼有其他语言包括的一些思想。
它旨在成为一种生产语言,而不是一种研究语言,并且正是如此。
2.JSP技术概述
JSP(JavaServerPages)是由Sun公司倡导,许多公司参与,共同建立人一种动态网页技术标准,JSP技术是在Servlet技术基础上发展起来的。
它正在飞速发展中,现在已经成为Java服务器编程的重要组成部分。
2.4系统的数据流图
数据流图即DFD(DataFlowDiagram)图。
是用于分析系统数据流程的图形,意在让用户理解系统的功能、输入、输出和数据存储等。
公寓中心管理系统的第一层数据流图如图2-4-01所示,描述系统由哪几部分组成,各部分之间有什么联系。
图2-4-01
3.系统设计
3.1功能分析
公寓中心管理系统分为前台和后台两个模块。
系统的功能模块图如图3-1所示。
图3-1系统功能模块图
前台模块的使用对象包括了所有用户(管理员、用户),提供的功能是浏览信息。
后台模块的使用对象为管理人员,提供的功能包括管理员登录、信息发布、信息查询、信息删除,退出。
3.2安全设计
当我们设计一个网站或者软件程序的时候,经常都需要在数据库中存放一些用户的密码信息,我们一般将密码直接保存在数据库中,并没有进行任何的保密措施,对于一些文件型数据库比如Access等,如果有人得到这个文件,数据库将发生泄漏危险。
而且,如果碰到一个不负责任的网管,只要打开数据库文件,就可以查看网站中的密码,这样密码就不能得到保密了。
所以,为了增加安全性,我们有必要对数据库中的资料进行加密,这样,即使有人得到了整个数据库,如果没有解密算法,也一样不能查看到数据库中的用户信息。
现在很多网站和软件程序都是采用MD5加密。
我们都知道,加密一般有分成两种方式:
双向密码和单向加密。
双向加密码是最常用的,平时我们用FTP上传下载,用的是明文传输。
这是很不安全的,所以,网上交易需要把密码进行加密后传到服务器端再用相应的算法进行解密,这样就算半途被拦截了数据,也是看不懂的密文。
这种既能加密又能解密的方法就叫双向加密。
单向加密只能对数据进行加密,不能对其解密,MD5加密方式正是单向加密。
在java程序设计中,实现MD5加密是很简单的,首先需要下载一个MD5.java。
把MD5.java放在自己的工程目录中,然后在需要加密的程序中导入,这样就可以在action中使用MD5这个函数进行加密了。
比如另一个页面提交了表单,加密页面要把它存入数据库,放在数据库里面的密码是不可解密的,虽然不能解密,但由于算法得出的结果是不变的,也就是123经过加密后永远是ac59075b964b0715,所以由于合法用户知道密码,他就可以在登陆的时候输入123,程序再进行MD5加密,然后把加密之后的数字ac59075b964b0715跟数据库比较,这显然是相等的,所以就通过验证了。
就如今年发生的csdn数据库泄漏事件,就是因为密码以明文的形式进行存储所造成的,虽然在请求时以post方式请求,可以隐藏用户信息,但数据库中的信息以明文存储任然是非常的危险。
3.3模块设计
模块设计过程是软件工程开发过程中的一个阶段也叫详细设计,这是系统设计阶段的后续开发阶段。
在系统设计阶段要把整个应用问题分解成一些相对独立的功能组,每一组功能的程序代码独立存放,叫做程序一个模块。
模块,就是可复制、可拆分开来能够重复利用的单元,在电脑程序编制这种模块叫做模块设计。
在学生公寓系统中,从用户的角度来分可以分为决普通用户和管理员,而管理员模块中又可以分为管理员登录和信息发布模块。
信息发布模块主要是公寓管理中心对外时进行信息发布,如:
新闻发布、通知公告、公寓文化、楼栋管理等。
4.系统编码
4.1新闻发布
系统采用JDBC架构,数据库采用MySQL。
根据项目需求抽象出DAO层,专门负责与数据库交互,从而降低系统的耦合度,其关键代码如下:
packageapartment.dao;
importjava.sql.Connection;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.util.ArrayList;
importjava.util.List;
importapartment.model.News;
importapartment.tools.DataAccessObject;
publicclassNewsDAOimplementsInterfaceNews{
Connectioncon=null;
publicbooleandeleteNews(intid)throwsException{
//TODOAuto-generatedmethodstub
con=DataAccessObject.getConnection();
PreparedStatementpst=null;
Stringsql="deletefromnewswhereid="+id;
try{
pst=con.prepareStatement(sql);
if(pst.executeUpdate()>0){
returntrue;
}else{
returnfalse;
}
}catch(SQLExceptione){
e.printStackTrace();
}finally{
pst.close();
}
returnfalse;
}
publicbooleaninsertNews(Newsnews)throwsException{
//TODOAuto-generatedmethodstub
con