第一篇:基于SSH框架的学生档案信息管理系统
毕业设计(论文)
基于SSH框架的学生信息管理系统
系
别 : 计算机科学与技术系
专业(班级): 计算机科学与技术(2011级1班)作者(学号): 指导教师: 完成日期:
陈洪(51102011007)
顾珺、李铁柱
2015年4月15日
蚌埠学院教务处制
目录
摘 要........................................................................................................................Abstract....................................................................................................................1 概 述..................................................................................................................1.1 项目简介............................................................................................................1.1.1 研究背景.........................................................................................................1.1.2 项目开发目的.................................................................................................1.1.3 项目开发的意义.............................................................................................2 开发工具及相关简介........................................................................................2.1 SSH框架简介....................................................................................................2.2 Jsp技术简介......................................................................................................2.3 MySQL数据库简介..........................................................................................2.4 Tomcat 6.0介绍..................................................................................................2.5 MyEclipse的简介..............................................................................................3 可行性分析........................................................................................................3.1 技术可行性........................................................................................................3.2 经济可行性........................................................................................................3.3 社会可行性........................................................................................................3.3.1 法律因素.........................................................................................................3.3.2 用户使用可行性.............................................................................................4 需求分析............................................................................................................4.1 功能分析............................................................................................................4.1.1 管理员模块.....................................................................................................4.1.2 教师模块.........................................................................................................4.1.3 学生模块.........................................................................................................4.2 系统分析............................................................................................................4.2.1 业务流程分析.................................................................................................4.2.2 功能流程分析...............................................................................................5 总体设计..........................................................................................................5.1 系统功能设计..................................................................................................5.2 数据库设计....................................................................................................5.2.1 概念结构设计...............................................................................................5.2.2 管理员实体属性图.......................................................................................5.2.3 教师实体属性图...........................................................................................5.2.4 学生实体属性图...........................................................................................5.2.5 公告实体属性图...........................................................................................5.2.6 成绩实体属性图...........................................................................................5.2.7 E-R模型的组成元素....................................................................................5.3 数据库表设计..................................................................................................5.3.1 管理员信息表...............................................................................................5.3.2 教师信息表...................................................................................................5.3.3 学生信息表...................................................................................................5.3.4 成绩信息表...................................................................................................5.3.5 公告信息表...................................................................................................5.4 系统开发工具与开发模式的选择..................................................................5.4.1 系统开发工具...............................................................................................5.4.2 系统设计模式...............................................................................................6 详细设计............................................................................................................6.1 系统登录模块..................................................................................................6.1.1 登录模块.......................................................................................................6.2.1 基础信息管理界面.......................................................................................6.2.2 个人信息管理界面.......................................................................................6.2.3 课程管理界面...............................................................................................6.2.4 录入教师信息界面.......................................................................................6.2.5 录入学生信息界面.......................................................................................6.3 教师用户模块..................................................................................................6.3.1 个人信息管理界面.......................................................................................6.3.2 查看公告信息界面.......................................................................................6.3.3 学生成绩管理界面.......................................................................................6.4 学生登录模块..................................................................................................6.4.1 查看个人信息界面.......................................................................................6.4.2 课程查询界面...............................................................................................6.4.3 学校公告界面...............................................................................................6.4.4 我的成绩界面...............................................................................................7 软件测试与分析..............................................................................................7.1 软件测试的重要性..........................................................................................7.2 系统的实际测试..............................................................................................7.3 测试环境与测试条件......................................................................................7.4 系统运行情况..................................................................................................8 结
论..............................................................................................................8.1 系统的优势......................................................................................................8.2 系统的不足......................................................................................................8.3 总结..................................................................................................................致
谢....................................................................................................................参 考 文 献..........................................................................................................蚌埠学院毕业设计(论文)
基于SSH框架的学生信息档案管理系统
摘要:由于现在高校招生率的提高,各大高校的学生数量普遍增多,随之增加的就是学生档案信息。面对如今繁杂庞大的信息数据库,传统的手工记录的管理方式显得力不从心。伴随着网络信息技术在教育事业上的应用,学生档案管理相应而出,使得学生档案的管理比以前更方便。本文就此系统做了全面的解析概述,以及每个功能所应用的核心技术及其运用方法,整体结构方法也做了全面介绍。本系统以Myeclipse 2014做为开发工具,用作支持本系统的数据库是MySQL,服务器选择的是Tomcat 6.0,Jsp和Servlet技术用作前台开发手段[1],总体框架采用SSH架构。项目总体分为前、后台两个部分,前台提供管理员、教师用户和学生用户的登录。教师用户的主要职责是评定学生的考试成绩,此外还可以对个人信息和公告信息进行查看;学生用户可以查看个人信息、课程信息、公告信息和个人成绩;管理员则从后台登录,管理数据库中的相关信息如对学生用户和教师用户的添加,以及对公告信息的调整。
关键词:SSH框架;MyEclipse;MySQL;Tomcat;Jsp
陈洪:基于SSH框架的学生档案信息管理
Students Information File Management System Based on SSH Framework Abstract: Now that increase college enrollment rates, the number of students in major universities generally increased, increased is the student profile information.Today the face of huge information database complexity, the traditional manual records management appeared to be inadequate.Along with the network of information technology, student records management in the education of corresponding out, making the management of student records and more convenient than ever.In this paper, this system made a comprehensive analysis overview, and each function is applied the core technology and its application method, the overall structure of methods to do a comprehensive introduction.This system Myeclipse 2014 as a development tool, used to support the system's database is MySQL, the server is selected Tomcat 6.0, Jsp and Servlet technologies used as foreground development tools, the overall framework architecture using SSH.The overall project is divided into front, back two parts, the front desk manager, teacher and student user to provide the user's login.Teachers users to view personal information, student information and post information, modify personal information, as well as courses for student achievement rates;student users can view personal information, course information, announcements and personal achievement;background provide administrator login, database management for the information of student, teacher and so on[2].Keywords: SSH Framework;MyEclipse;MySQL;Tomcat;Jsp
蚌埠学院毕业设计(论文)开发工具及相关简介
2.1 SSH框架简介
SSH框架包括了Struts、Spring以及Hibernate,是目前使用相对广泛的一个Web开源架构[3]。
SSH框架结构清晰,大体可分为表示层、业务逻辑层、数据持久层和域模块层,各层之间有很好的关联。该框架有诸多的优点,如有较强的可复用性,能够帮助使用者更为清晰的搭建需要使用的架构,而且可维护性好。本系统中的Struts框架采用的是Struts2,主要用在系统的业务逻辑层,负责业务的跳转;Hibernate框架主要是负责对数据库进行轻量级封装,做持久化处理,可以减少SQL语句的编写;Spring框架则是Struts和Hibernate框架的管理者[4]。SSH框架的实现方法是通过配置相关的xml文件,然后导入一些所需要的jar包,然后对这些jar包进行调用。
2.2 Jsp技术简介
Jsp是SUN公司和许多公司一起建立的一种动态技术标准。Jsp网页的组成其实是在原本网页中的Html文件中加入了Jsp标签和相关Java程序片段从而形成了如今Jsp网页[5]。Jsp技术的最大特点就是它的所有操作都能在服务器端的浏览器上进行,然后将运行的结果反馈给用户,这样就会很大程度降低对用户的客户端浏览器的要求。
Jsp技术是Java Servlet API的扩展。Jsp页面通常由静态Html/XML组件、自定义Jsp标签和成为scriptlet的Java代码片段组成。Jsp技术是建立在Servlet基础上的,两者的执行都是在服务器端的,用户可以通过浏览器直接进行访问执行。当服务器端出现访问请求超时时,其中的Java程序会首先被执行,之后将执行结果返回给用户,一并返回的还有相关的Html代码。通常的情况下Jsp页面很少去操作后台的数据,Jsp页面只是用来提取输入到网页上的数据和解决网页的静态化页面,至于业务处理则毫无干系。若想要对数据库进行操作或者对网页重定向以及发送E-mail,都是通过向网页中插入Java代码来实现,其它所需功能也都可以通过此方法实现。
陈洪:基于SSH框架的学生档案信息管理
2.3 MySQL数据库简介
MySQL的开发者是瑞典的MySQL AB公司,它是一个免费开源的数据库,对于Windows、Linux等操作系统都适用;此外,MySQL对于网络也是完全适用的,也就是说用其构建的数据库可以被网上的任何服务器进行访问[6]。MySQL具有十分强大的功能,操作又十分简单,而且有较强的安全可靠性,运行速度方面也不会让人失望,也比较容易管理。除了以上特点,MySQL最大的优点就是它是一个免费开源软件!而且能够直接从网上下载到与其相匹配的第三方工具软件对其操作。在诸如Unix这样的操作系统上MySQL可以直接下载它的服务器和客户端软件。如果是在Windows系统上,MySQL数据库的客户机和客户机程序也都是免费的,这就是MySQL最大的优势。
2.4 Tomcat 6.0介绍
Tomcat服务器是由Apache Software Foundation(Apache软件基金会)中Apache Group Jadarta开发小组开发的一个免费的开放源代码的服务器软件[7]。Tomcat能够完全兼容Jsp和Servlet的最新规范,这都得力于SUN公司的支持。它的不足之处就是它的配置比较繁琐,而且还具有一些安全问题,但是这些缺点丝毫不会影响它在开发者心中的地位,Tomcat先进的技术,出色的稳定性和兼容性,以及最为人性化的免费政策都是深受开发者喜爱的原因,成为应用最为广泛的WEB应用服务器软件。
2.5 MyEclipse的简介
MyEclipse是一个企业级的工作平台,它的前生只是Eclipse的一个插件[8],但是如今却发展成为比Eclipse功能更为强大的工作平台。它是Eclipse的扩展,对Eclipse的功能有全面性的完善,其中就包括了完备的编码,调试、测试和发布功能。利用它可以在数据库和JavaEE(Java Enterpride Edition)的开发、发布以及应用程序服务器的整合方面大大提高了工作效率,能丰富JavaEE集成开发环境。
在MyEclipse组件中,更为方便地提供了Jsp、Servlet、HTML、XML、Struts、Hibernate、Spring等框架的开发支持,而随着不断衍生发展的新技术,MyEclipse也在不断的发展[9]。
蚌埠学院毕业设计(论文)需求分析
4.1 功能分析
4.1.1 管理员模块
系统管理员可以修改个人密码,添加修改课程信息、系别信息以及公告信息,此外还可以浏览学生基本信息和成绩。
4.1.2 教师模块
本系统中的教师用户的主要职责是对学生成绩进行评定,给出相应分数,然后可以根据课程信息和考试时间对考试成绩查看。另外,可以对相关信息进行查看,如个人信息、公告信息和学生信息等。
4.1.3 学生模块
学生模块实现的有查看个人信息、课程信息、考试成绩和公告信息,此外可以添加自己的相关课程。
4.2 系统分析
4.2.1 业务流程分析
所谓业务流程分析是指在进行设计开发之前,对自己的系统设计按照所给要求进行相关的业务处理,设计好系统的总体框架,根据实际功能需要进行相关的业务分析,对各个业务流程进行详细分析,如业务内容、处理所需的大致时间等,此外对各个业务流程所需的信息来源、信息处理的方法也都要有相对应的总结,这样才能更好的进行开发。
业务流程分析就是为了让开发者能够更好的了解系统的开发方向以及相关的流程处理,帮助开发者梳理清楚开发思路,使系统开发更有条理。一下是系统的流程图。
具体业务流程如图4-1所示。
陈洪:基于SSH框架的学生档案信息管理
学学学学学学学学学学学学学学学学学学学学学学
图 4-1 业务流程图
4.2.2 系统功能流程分析
功能流程分析能够让开发者对自己的系统中各个角色的功能之间的关系更加明了,这让系统更加结构化,在开发的同时自己在大脑中能够有一个明确的构思,有一个清晰的开发方向。
下面将具体分析学生角色和管理员之间的关系,因为教师与管理员之间的关系与此基本相似,所以就不一一列出。
具体功能流程图如图4-2所示:
0-
陈洪:基于SSH框架的学生档案信息管理 总体设计
5.1 系统功能设计
系统设计是一个把功能需求转换成用设计程序表示的过程。系统设计时需要事先对要实现的目标系统进行分析研究,之后总结出一套系统的设计规划,以便能够有计划地设计系统。对于本系统来说,设计之前就要对学生档案信息管理系统进行全方位的调查总结,然后绘制一个系统的总体规划。系统设计包括系统总体设计、系统详细设计、系统数据库设计、系统开发工具、开发技术和开发模式等[8]。
从数据流图出发,对数据流图进行分析,如图5-1:
后台功能模块老师模块管理员模块学生模块个人信息学生成绩系统公共个人信息学院管理系别管理班级管理课程管理班级管理学生管理公共管理个人信息我的成绩系统公共
图5-1 学生信息管理系统功能模块图
5.2 数据库设计
本系统主的功能实现主要围绕数据库展开的,所以本系统的核心就是数据库。数据库的设计直接影响本设计各项功能的进行,是本设计的基础,就像是房子的根基一样,它的稳固与否直接影响整个建筑的施工,所以在设计本系统的数据库的时候非常的细心,不能出现任何漏洞。
5.2.1 概念结构设计
从数据需求分析中得出系统的实体属性图。
陈洪:基于SSH框架的学生档案信息管理
级、年龄等。
如图5-4所示:
开始用户登录用户名密码是否正确N返回登录页面Y进入主页面结束
图5-4学生实体属性图
5.2.5 公告实体属性图
公告实体属性图描述的是公告信息,包括公告编号、标题、内容、时间等。如图5-5所示:
开始用户登录用户名密码是否正确N返回登录页面Y进入主页面结束
图5-5公告实体属性图
5.2.6成绩实体属性图
成绩属性图描述的是学生的成绩信息,包括成绩编号、学生编号、成绩、考核时间等。
如图5-6所示:
陈洪:基于SSH框架的学生档案信息管理
开始用户登录用户名密码是否正确N返回登录页面Y进入主页面结束
图5-7系统E-R图
5.3 数据库表设计
5.3.1 管理员信息表
管理员信息表用来存放管理员信息,其中包括管理员编号、用户名和用户密码。具体信息如表5-1所示:
表5-1管理员信息表
字段名 id name pwd
类型 Int varchar varchar
长度 4 30 20
说明
管理员编号(主键)
用户名 用户密码
5.3.2 教师信息表
教师信息表用来存放教师信息,包括教师编号、密码、姓名、年龄、电话等。具体信息如表5-2所示:
陈洪:基于SSH框架的学生档案信息管理
具体信息如表5-4所示:
表5-4成绩信息表
字段名 id student_id course_id Grade Time Beizhu
类型 Int Int Int Int Datetime varchar
长度 4 4 4 4 8 50
说明 成绩编号(主键)学生学号(外键)考核类型编号(外键)
成绩 考核时间 备注
5.3.5 公告信息表
公告信息表用来存放公告信息,包括公告编号、标题、内容、时间等。具体信息如表5-5所示:
表5-5公告信息表
字段名 id Title Content Time
数据类型 Int varchar varchar Datetime
长度 4 20 100 8
功能描述 编号(主键)
标题 内容 时间
5.4 系统开发工具与开发模式的选择
5.4.1 系统开发工具
本系统主要的架构使用的是SSH框架,结合Jsp技术对前端的设计进行的系统开发。Jsp技术安全性较高,可随处运行,并且与各个开发软件兼容;SSH框架则为开发者提供了一个系统的总体框架,让开发者的工作更加系统性的进行,其中Struts2作为系统的基础框架,也就是为系统搭建一个大致的架构,Hibernate则是负责连接数据库的,通过Spring框架对这两个框架进行管理,让
陈洪:基于SSH框架的学生档案信息管理
综上所述,本系统所采用的B/S架构也是现在较为流行的开发架构相对于其他架构有着不容忽视的优势,这也将会是将来开发模式的主要发展趋势。
0-
陈洪:基于SSH框架的学生档案信息管理
图6-2 登录失败
具体流程如图6-3所示:
开始用户登录用户名密码是否正确N返回登录页面Y进入主页面结束
图6-3 登录程序流程图
陈洪:基于SSH框架的学生档案信息管理
如图6-6所示:
图6-6 课程管理界面
6.2.4 录入教师信息界面
这是录入教师信息的功能界面,如图6-7所示:
图6-7录入教师界面
6.2.5录入学生信息界面
这是录入学生信息的功能界面,如图6-8所示:
陈洪:基于SSH框架的学生档案信息管理
6.3.3 学生成绩管理界面
教师可以按照考试课程、考试时间和考试类型录入学生成绩信息,如图6-11所示:
图6-11学生成绩管理界面
6.4 学生登录模块
6.4.1 查看个人信息界面
学生可以查看个人信息。如图6-12所示:
图6-12 个人信息界面
6.4.2 课程查询界面
学生可以查看课程信息,如图6-13所示:
陈洪:基于SSH框架的学生档案信息管理 软件测试与分析
系统测试是设计的最后一项,也是至关重要的一项,只有测试通过新的系统才算完成,所以测试在开发过程中也占有举足轻重的地位。软件测试有专门的测试人员负责,这和开发人员的工作是完全不同。如今的软件测试趋向于开发的每个阶段都应该包含测试,该观点的依据是早发现问题早解决,这样也可以防止影响到后续工作的进行。
7.1 软件测试的重要性
软件测试在整个的软件开发中占有着重要的地位,这是软件交付于客户之前最后的检测手段。就相当于汽车量产之前的撞墙检查一样,这也是从用户的“安全问题”考虑。所谓的软件测试就是在运行成功的程序上寻找Bug,检测出的错误一般都是运行时不会出现的,也是开发人员看不出来的,这就是所谓的Bug。而现在推崇的逐步测试是在开发的每个阶段都进行测试,这样能更好的消除开发过程中所遇到的问题,更好的完成开发。
实际上,对于一个软件的开发来说,不论具有多么熟练的开发技术、采用怎样完善的方法,都会有错误产生。开发人员能够做到的只能是减少错误的引入而不能杜绝错误的产生,这些引入的错误就需要测试来将其找出来,而软件中的错误的数量也是需要通过测试计算的,所以说测试在软件开发中占有着举足轻重的地位。只要有开发有程序就一定会有测试。而且据统计表明,在系统的开发中,并不是大家想的测试肯定比开发工作量小,这恰恰是相反的,测试的工作量一般情况下都会比开发的工作量多40%。而且在开发中,测试的成本也是占有很大部分的,一般来说都会占有30%到50%。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。
7.2 系统的实际测试
软件测试主要分为黑盒测试和白盒测试。黑盒测试:也称功能测试,数据驱动测试等,它将待测对象堪称是一个黑盒子,在完全不考虑程序的内部结构和特性的情况下,只依据规格说明书检查程序的功能是否能正常使用[15]。白盒测试:
陈洪:基于SSH框架的学生档案信息管理 结
论
8.1 系统的优势
本系统是针对学生档案信息的管理而开发,为了让管理者更为轻松的管理学生档案信息。本系统能够条理化的录入学生信息、教师信息、课程信息和公告信息,相比传统方式更加便捷;在查询时,可以根据个人需要的条件进行查询,如:根据学生学号查询学生成绩,根据课程信息查询所有该课程的学生成绩等;管理时管理员只需要对后台数据库进行管理,面对庞大的数据也可以轻松应对。
8.2 系统的不足
所谓人无完人,本系统也有不足之处,例如系统采用B/S架构开发,所以管理工作只能在浏览器上进行,没有客户端方便;系统目前只支持Tomcat 6.0服务器;系统目前只有对数据信息的基本增删改查功能,在以后的学习中一定对其完善。
8.3 总结
经过这几个月的系统开发,让我获益匪浅。由于之前对SSH架构掌握的不是很熟练,所以在开发过程中也在自学,这也算是自学成功的劳动成果。在整个设计过程中,由主体SSH框架引申开展的一系列功能均能良好实现。此外,在开发过程中也对之前的Jsp技术和MySQL数据库的相关知识复习,在运用起来更为熟练。在通过开发后期对系统的调试后,系统功能正常运行,基本功能都顺利实现。而且本系统界面美观,操作方便,符合大众要求。不过部分细节可能由于时间仓促加上系统开发经验上的经验不足,系统在设计过程中不可避免地遇到了一些诸如以下的一些问题,如:
(1)起初对数据库的构建不够完善,导致开发初期的部分数据取不到值;(2)在前端页面的跳转中,由于页面较多,出现了一些跳转错误;(3)在测试阶段,在使用了Tomcat7.0服务器出现了Session error的错误。不过在后期的系统完善方面,这些问题都受到了重视,也都得到了解决,使得本系统真正的符合了开发者和用户的需求,也更加规范、科学。
0-
陈洪:基于SSH框架的学生档案信息管理
参 考 文 献
[1] 刘佳.基于JSP&Servlet图书信息管理系统的设计与实现[D].天津大学,2012.[2] Peluso M, Takizawa P.Student involvement in the development of integrated curricula.[J].Medical Education, 2010, 44(11):1120–1121.0.[3] 马铎.基于SSH技术的小区车辆管理系统设计与实现[J].信息与电脑:理论版, 2013,(3).[4] 李宁.Java Web编程实战宝典[M].北京:清华大学出版,2014: 41.[5] 包子建.基于B/S模式和JSP技术的教师办公管理系统的设计与实现[D].华东师范大学, 2006.DOI:10.7666/d.y1015368.[6] 王飞飞.MySQL数据库应用从入门到精通[M].北京:中国铁道出版社,2014: 36.[7] 李鉴.开源技术Struts、Spring、Hibernate在MIS开发中的应用研究[D].北方民族大学, 2008.[8] 曹大有, 王瑜.基于MyEclipse的Hibernate持久层框架的开发过程[J].计算机系统应用, 2007,(12):101-104.DOI:10.3969/j.issn.1003-3254.2007.12.025.[9] 张晓梅.基于J2EE的教学实验管理系统的设计与开发[D].山东大学, 2006.DOI:10.7666/d.y982177.[10] 年轶, 林琳.E-R图向关系模型转换规则的研究[J].微型电脑应用, 2004, 20(1):12-14.DOI:10.3969/j.issn.1007-757X.2004.01.002.[11] 李宁.Java Web编程实战宝典[M].北京:清华大学出版,2014: 72.[12] 王飞飞.MySQL数据库应用从入门到精通[M].北京:中国铁道出版社,2014: 36.[13] CSDN博客频道.关于B/S架构和C/S架构探析[J].2006.http://blog.csdn.net/yuelengxin/article/details/593561.[14] 王宇.无线局域网基本原理及前沿应用[J].中国数据通信,2003,5(8):34-39.[15] 萨默维尔.软件工程(第九版)[M].北京:机械工业出版社,2011: 78-81.2-
第二篇:学生档案信息管理系统
#include “stdio.h”
#include “string.h”
#include “stdlib.h”
#include“conio.h”
typedef struct student
{ long num;
char name[5];
char sex[3];
longyear;
longmonth;
longdate;
char address[20];
long tel;
struct student * next;
}STU;
void input()
{ int i,n;
STU a;
FILE *fp;
system(“cls”);
getchar();
if((fp=fopen(“d:学生档案”,“wb”))==NULL){ printf(“error!n”);exit(0);}
printf(“nt 请输入学生的人数:”);scanf(“%d”,&n);
getchar();
for(i=0;i { printf(“t请输入学号:”); scanf(“%ld”,&a.num); printf(“t 请输入学生姓名:”); scanf(“%s”,a.name); printf(“t 请输入学生性别:”); scanf(“%s”,a.sex); printf(“t请输入学生出生年:”);scanf(“%ld”,&a.year); printf(“t月:”);scanf(“%ld”,&a.month); printf(“t日:”);scanf(“%ld”,&a.date); printf(“t 请输入学生生源地:”);scanf(“%s”,&a.address); printf(“t 请输入学生电话:”);scanf(“%ld”,&a.tel); fwrite(&a,sizeof(STU),1,fp); } fclose(fp); } void list() {STU a; FILE *fp; system(“cls”);getchar(); if((fp=fopen(“d:学生档案”,“rb”))==NULL) { printf(“空白文件n”);exit(1);} printf(“nnnt学号t姓名t性别t出生年月日t生源地t电话nn”); while(fread(&a,sizeof(STU),1,fp)!=0) printf(“t%ldt%st%st%ldt%ldt%ldt%st%ld”,a.num,a.name,a.sex,a.year,a.month,a.date,a.address,a.tel); fclose(fp); printf(“nt按任意键继续...”); getchar();getchar(); } /*void modify()/*修改* { STU a[10], *p; int num,n=0,f,i; FILE *fp; p=a; fp=fopen(“d:学生档案”,“rb+”); if(fp==NULL){ printf(“error!”);return;} system(“cls”); while(fread(&a[n],sizeof(STU),1,fp)!=0)n++; printf(“请输入学生学号:”); scanf(“%ld”,&num); for(f=0;f<=10;f++,p++) { if(num==a[f].num) printf(“nnnt学号t姓名t性别t出生年月日t生源地t电话nn”); printf(“t%ldt%st%st%ldt%ldt%ldt%st%ld”,a[f-1].num,a[f-1].name,a[f-1].sex,a[f-1].date,a[f-1].address,a[f-1].tel);break;} do {system(“cls”); printf(“nnttt修改nn”); printf(“ttt1-----修改学生姓名n”); printf(“ttt2-----修改学生性别n”); printf(“ttt3-----修改学生出生年月n”); printf(“ttt4-----修改学生生源地n”); printf(“ttt5-----修改学生电话n”); printf(“ttt0-----退出系统n”); printf(“ttt请选择:”); scanf(“%d”,&i); switch(i) {case 1: printf(“t请输入学生姓名:”); scanf(“%s”,&a[f].name); printf(“ttt0-----退出系统n”); printf(“ttt请选择:”);break; case 2: printf(“t请输入学生性别:”); scanf(“%s”,&a[f].sex);break; case 3: printf(“t请输入学生出生年月:”); scanf(“%ld”,&a[f].date);break; case 4: printf(“t请输入学生生源地:”); scanf(“%s”,&a[f].address);break; case 5: printf(“t请输入学生电话:”); scanf(“%ld”,&a[f].tel);break; case 0:break; } }while(i!=0); /* fwrite(&a[f-1],sizeof(STU),1,fp);* printf(“修改后信息:”); printf(“nnntt学号t姓名t性别t出生年月t生源地t电话号码nn”); printf(“t%ldt%st%st%ldt%ldt%ldt%st%ld”,a[f-1].num,a[f-1].name,a[f-1].sex,a[f-1].date,a[f-1].address,a[f-1].tel); fseek(fp,(-1)sizeof(STU),0); fwrite(&a[f-1],sizeof(STU),1,fp); fclose(fp); getchar(); }*/ void search()/*查询*/ { int w; char name[10]; long num; char add[30]; STUa; FILE *fp; system(“cls”); fp=fopen(“d:学生档案”,“r”); if(fp==NULL) { printf(“无法打开n”); exit(0); } printf(“ttt1----按姓名查询n”); printf(“ttt2----按学号查询n”); printf(“ttt3----按生源地查询n”); printf(“t输入查询的方式”); scanf(“%d”,&w); switch(w) { case 1: { printf(“请输入要查学生姓名:”); scanf(“%s”,name); while(fread(&a,sizeof(STU),1,fp)!=0) {if(strcmp(name,a.name)==0) printf(“t%ldt%st%st%ldt%ldt%ldt%st%ld”,a.num,a.name,a.sex,a.year,a.month,a.date,a.address,a.tel); } break;getchar();getchar(); } case 2: { printf(“请输入要查学生学号:”); scanf(“%ld”,&num); while(fread(&a,sizeof(STU),1,fp)!=0) {if(num==a.num) printf(“t%ldt%st%st%ldt%ldt%ldt%st%ld”,a.num,a.name,a.sex,a.year,a.month,a.date,a.address,a.tel); }break; } case 3: { printf(“请输入要查学生生源地:”); scanf(“%s”, add); while(fread(&a,sizeof(STU),1,fp)!=0) {if(strcmp(add,a.address)==0) printf(“t%ldt%st%st%ldt%ldt%ldt%st%ld”,a.num,a.name,a.sex,a.year,a.month,a.date,a.address,a.tel); } } } fclose(fp); printf(“ntpress any key to continue...”); getchar();getchar(); } void delet() { long num,f=0; STU a,*head,*p1,*p2;head=NULL;p1=p2=(STU *)malloc(sizeof(STU));FILE *fp; fp=fopen(“d:学生档案.dat”,“rb”); if(fp==NULL){ printf(“error!”);return;} system(“cls”); printf(“n input the deleted number:”); scanf(“%ld”,&num); p1=head; while(num!=p1->num&&p1->next!=NULL) {p2=p1;p1=p1->next;} if(num==p1->num) { if(p1==head) head=p1->next; else p2->next=p1->next; free(p1); } else printf(“%ld 查无此人!n”,num); } void main() {int a; do { system(“cls”); printf(“nntt五组学生档案信息管理系统nn”); printf(“ttt1...录入学生档案信息n”); printf(“ttt2...显示学生档案信息n”); printf(“ttt3...查询学生档案信息n”); printf(“ttt4...修改学生档案信息n”);printf(“ttt5...删除学生档案信息n”);printf(“ttt0-----退出系统n”);printf(“ttt请选择:”); scanf(“%d”,&a); switch(a) { case 1:input();break;case 2:list();break; case 3:search();break;//case 4:modify();break;case 5:delet();break;case 0:break; } }while(a!=0); }; 对于java中SSH框架的理解 SSH 是指 Struts+ spring+ hibernate 的一个集成框架,这是一种比较流行的java web应用程序开源框架。 Struts Struts是一个基于Sun J2EE平台的MVC框架,主要采用Servlet和JSP技术来实现的。由于Struts能充分满足引用开发的需求,简单易用,敏捷迅速,所以很受关注。Struts 吧Servlet、JSP、自定义标签和信息资源(message resource)整合到一个统一的框架中,开发人员利用其进行开发室不用再自己编写实现全套的MVC模式,极大的节省了时间。 Spring Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。 Spring的架构基础是基于JavaBean属性的Inversion of Control 容器。然而,这仅仅是完整图景中的一部分:在Spring使用IOC容器作为构建完关注所有架构层的完整解决方案是独一无二的。Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate 和其他O/R mapping 解决方案。Spring还提供了唯一的事物管理抽象。它能够在各种底层事务管理技术,例如JTA 或者JDBC事务提供一个一致的编程模型。Spring提供了一个标准Java语言编写的AOP框架,他给POJOs提供了声明式的事务管理和其他企业事务——如果有必要还可以实现自己的aspects。这个框架提供了可以和IOC容器集成的强大而灵活的MVC web框架。 Hibernate Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,是的java程序员可以随心所欲的适用对象编程思维来操控数据库。Hibernate 可以应用在任何使用JDBC的场合,既可以在java客户端程序中使用,也可以在Servlet/jsp的web应用中使用,其最具革命性意义的是:Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。 在SSH的组合框架模式中,三者各自的作用 Struts 是一个很好的MVC框架,主要技术是Servlet和JSP。Struts的MVC设计模式可以让我们的逻辑思维变得很清晰,让我们写程序层次分明。 Spring提供了管理业务对象的一致方法,并鼓励注入对接口编程而不是对类编程的良好习惯,使我们的产品在最大程度上解耦。 Hibernate 是用来持久化数据的,提供了完全面向对象的数据库操作。Hibernate对JDBC进行了非常轻量级的封装,使得他与关系型数据库打交道变得非常轻松。 负责Web层: ActionFormBean接收网页中表单提交的数据,然后通过Action进行处理,再Forward到对应的网页,在Struts-config.xml中定义了 Spring负责业务层管理,即Service: Service为Action提供统一的调用接口,封装持久层的DAO,并集成Hibernate,Spring可对JavaBean和事物进行统一管理。 Hibernate负责持久层,完成数据库的CRUD操作: Hibernate有一组hbm.xml文件和PO,是与数据库中的表相对应的,然后定义DAO,这些是与数据库打交道的类。 在Struts+Spring+Hibernate系统中,对象之间的调用流程如下: Struts——>Spring——>Hibernate JSP——>Action——>Service——>DAO——>Hibernate 学生档案信息管理系统的设计与实现 商学院: 杨钢勇 洪兴平指导老师:曾祥光 摘要:高校学生档案管理是高校日常管理的一个重要组成部分,其管理效率的高低直接影响着整个学校的管理工作。现代是以网上手段为主,兼容面授、函授等多种媒体优化组合的学习方式。学生档案信息管理系统是二十一世纪现代远程教育的发展方向。本文探讨了学生档案信息管理系统的设计与实现。 关键词:学生信息管理系统,B/S架构 University students' archives management in colleges and universities is the daily management is an important part, its management efficiency directly affects the whole school management work.Modern is online means is given priority to, compatible face to award, correspondence and so on the many kinds of media optimized combination ways of learning.Students file information management system is the 21st century modern distance education development direction.This paper discusses the student file information management system design and implementation.Keywords: students' information management system, B/S structure 一 绪论 1.1 背景介绍 面对信息时代的挑战,网络的功能越来越强,国内教育系统也在积极建设或升级计算机网络,并已建成了规模较大的中国教育科研网,全国许多学校也纷纷建立或升级自己的校园网络系统,但是,目前校园网的利用率却不是很高,主要原因是缺少好的网络应用平台。以前开发的MIS系统往往是在单机上运行,或者采用C/S技术开发出来的,对于今天因特网时代来说,这些系统很大程度上已经不能满足用户随时随地获取信息的需要,再者由于高校的扩招,在校学生人数的增加,使得开发B/S结构的MIS是势在必行。本文正是在这种背景下提出的,目的是为了开发和设计出一套功能完善、操作便捷、及时性好、适用面广的高校学生档案管理系统,以提高高校学生档案管理的效率。 1.2 基于B/S结构的应用系统简介 当前,管理信息系统(MIS)一般分为基于单机的集中式的MIS、基于C/S结构的MIS以及基于B/S结构的MIS。 客户/服务器结构:即Client/Server结构,它的基本思想是应用程序或应用逻辑可以根据需要划分在服务器和客户工作站中,它可以使应用程序合理负担在服务器和客户端。浏览器/服务器结构:即Browser/Server结构,它的基本思想与C/S结构相似,应用程序或应用逻辑可以根据需要划分在服务器端和客户端中。 二 高校学生档案管理系统的需求分析 2.1问题定义 1.提出问题:如何设计和实现一个高校学生档案管理系统。 2.问题性质:即设计一个基于网络的优秀的学生信息档案管理系统。3.应用领域:各大高校的学生管理部门。4.工程设计目标: (1)目标系统应该是一个功能完善的应用系统。该系统应当具有:档案上传功能,档案更新功能、档案删除功能、档案查询功能,系统管理功能等。 (2)目标系统应该具有友好的用户界面。该系统采用基于B/S结构的操作界面。(3)此系统应满足不同地点的终端用户都可以使用此系统。5.总体目标 学生信息管理系统的设计与实现包括后台数据库的建立维护和前台各种窗体展现两方面的功能。后台数据库的建立维护要靠建立表来完成,以此来存储与学生相关的信息。前台窗体的展现要靠在数据库中建立窗体来实现,要求能够保护数据库的安全,提示用户如何更好地使用该系统等多项功能。学生信息管理系统的总目标是对学生信息进行存储、查询、修改和删除等操作。 可行性分析 2.2.1 对现有系统的分析 目前,在不少大、中专院校学生档案管理系统都是单机的MIS,甚至有的还是手工方式。这种单机的管理系统不仅工作方式效率是极低,而且存在许多弊端,主要包括: 1.档案录入效率低下:例如每学期开学,数以千计的学生档案都由学生处负责录入,这个工程量之大,可想而知。 2.查询不便:例如,某个系部要调出某个学生的档案,由于系部没有管理档案的权限,他就必须到学生处去调这个学生的档案。 3.毕业生转档不便:每年大量毕业生,他们都要转走自已的档案。在这个过程中,若没有管理信息系统的参与,工作繁重不可言喻。 2.2.2 设计技术和设计工具 本高校学生档案管理系统中,将使用Dreamweaver和ASP、Microsoft Access作为开发工具。 1.网站构架平台Dreamweaver.Dreamweaver 提供视觉化网页开发工具,同时不会降低HTML原始码的控制,Dreamweaver 提供的 Roundtrip HTML 功能,可以无误地切换于视觉模式与惯用的原始码编辑器,拖放式的表格与页框设计以及以透过资料库来管理网站的内容更新。2.ASP语言简介.ASP是 Active Server Pages(动态服务器主页)的缩写,它是一个服务器端的脚本环境,在站点的Web服务器上解释脚本,可产生并执行动态、交互式、高效率的站点服务器应用程序。因此利用ASP完全可以实现本系统。3.数据库支持 Microsoft Access就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。4.系统流程图 系统流程图是描绘未来物理系统的的传统工具,下面是该系统的流程图: 三、详细设计 该系统主要实现学生信息的浏览、查询、编辑、删除,可以对于选定的信息生成word文档。 1、学生查询系统主页的设计: 根据以前学习过的html编程语言对主页进行设计,以表格的形式显示学生信息,再通过链接到该系统下其他功能的页面进行功能操作。页面文字字体大小颜色等套用css文件,是的主页代码更为简洁 2、学生信息系统查询模块: 根据实验要求,可以根据学院、班级、学号、姓名字段查询学生信息。在主页上建立了这四个字段的查询入口,点击查询按钮后自动跳转到查询页面,执行查询操作并先是查询结果。 3、系统模块设计 3.1用户登录模块 3.1.1界面设计 功能描述:在用户登录时,首先判断登录用户名和用户密码是否正确,是否具有登录本系统的权限,根据不同的权限可以进入不同系统界面。单击“登录”按钮后,对用户名、密码和权限进行验证。 3.1.2主要代码设计 单击“登录”按钮所执行的后台代码进行操作。 3.2.1管理员教师 模块 1主界面设计 功能描述:用户以用户名admin,密码123登录系统后,将进入管理员界面。教师进入系统后的默认模块,这个模块包括了本系统管理员所能完成的各种功能,包括学生管理、班级管理、教师管理、课程管理、选课管理和成绩管理功能。用户可以调用任一个需要的功能模块进入相应的界面。此外,在此页面中还会显示用户的昵称。 模块 2学生管理界面设计 功能描述:管理员在登录后的主页面点击左侧导航栏的学生管理后即进入此页面,管理员可以对学生信息进行编辑、删除以及更新操作。 模块3班级管理界面设计 功能描述:管理员在登录后的主页面点击左侧导航栏的班级管理后即进入此页面。管理员可以对班级信息进行编辑、删除以及更新操作。 模块4教师管理界面设计 功能描述:管理员在登录后的主页面点击左侧导航栏的教师管理后即进入此页面。通过后台的功能代码把教师信息表与GridView建立数据绑定以显示数据信息,管理员可以对教师信息进行编辑、删除以及更新操作。 模块6选课管理界面设计 功能描述:管理员在登录后的主页面点击左侧导航栏的选课管理后即进入此页面。通过后台的功能代码把学生信息表、学生课程表和教师课程表与GridView建立数据绑定以显示数据信息,管理员可以对其进行删除操作。 模块七 成绩管理界面设计 功能描述:管理员在登录后的主页面点击左侧导航栏的成绩管理后即进入此页面。通过后台的功能代码把学生信息表、学生课程表和课程表与GridView建立数据绑定以显示数据信息,管理员可以对其进行编辑、删除以及更新操作。 3.2.2普通用户学生 模块 1主界面设计 功能描述:学生登录系统后,将进入学生主界面。这是普通用户学生,进入系统后的默认模块,这个模块包括了本系统普通用户所能完成的各种功能,包括个人信息、课程信息、班级信息、选课浏览、成绩查询和学生个人密码修改功能,用户可以调用任一个需要的功能模块进入相应的界面。此外,在此页面中还可以显示用户的昵称和用户上传的头像。 模块2个人信息界面设计 功能描述:普通用户学生在登录后的主页面点击左侧导航栏的个人信息后即进入此页面。在此页面中,学生可以查看自己的基本信息。模块3课程信息界面设计 功能描述:普通用户学生在登录后的主页面点击左侧导航栏的课程信息后即进入此页面。在此页面中,学生可以查看自己所需课程的基本信息。模块4选课浏览界面设计 功能描述:普通用户学生在登录后的主页面点击左侧导航栏的选课浏览后即进入此页面。在此页面中学生可以查看自己所选课程的基本信息。如果学生还没选课,则还可以在此页面中选择自己所需的课程。模块5.学生密码修改界面设计 功能描述:普通用户学生在登录后的主页面点击左侧导航栏的修改密码后即进入此页面。在此页面中学生输入自己的用户名和原密码后,单击“修改密码”即可进行密码的修改。 系统实现和维护 4.1系统调试 系统的编码和测试通称为系统的实现。在经过了对VS2008和SQL Server 2005初步学习的基础上,基本上完成了学生信息管理系统。系统开发的各个阶段包含了大量的脑力、体力劳动但是人的活动和运用的工具存在着缺陷。在开发过程中难免存在着一定的错误,因此,系统完成设计后就必须对系统进行必要的调试,系统调试是系统质量的保证,是对需求分析、系统设计和编码的不断复审,尽可能早点发现错误与缺陷,以改进和提高系统质量及可靠性。4.2系统维护 系统维护在一个系统中起着极其重要的作用。一个功能完善的系统要求有完善的维护模块,以备系统的管理、维护、更新周密考虑用户的需要,做到系统的完整性和数据的安全性、有效性以适应实际应用的需要。因此设计一个功能完善的备份和恢复模块是很有必要的,技术上要求能够实现备份和恢复不同类型的数据,方便快捷的操作界面,完善的存取路径。总结与展望 在本系统的设计过程中,由于是初次很系统的设计软件,在知识、经验方面都存在着不足。另外,在整个设计的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对学生管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。虽然网络在学生管理系统中的应用不是很多,但这将会是未来的发展方向。尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。相信本学生信息管理系统是一套学校在日常管理中必不可少的管理软件,通过设计这个系统我又加深了对SQL Server的了解,巩固了对ASP.Net的学习,但在这次信息系统的设计中的最大收获并不是掌握这几门开发工具的应用而是学会了设计系统的思维方法以及如何处理遇到的一些编译问题的能力。但是总的来说,这次的设计对我来说是一次非常难得的锻炼机会。在这期间也得到了指导老师曾祥光老师很多的支持和帮助。 基于SSH的图书馆管理系统的设计与实现 摘要: 通过对图书馆管理系统的运行管理机制进行调查研究,采用Java编程技术和MySQL数据库,在MyEclipse 集成开发环境下应用SSH框架,完成了图书馆管理系统的设计全过程。本系统在开发过程中采用B/S结构,运用面向对象的开发技术,实现了浏览器端和服务器端的各自功能,其中浏览器端主要实现了读者登录、查询、超期提醒等功能,服务器端主要实现了系统设置、读者管理、图书管理、用户管理、图书借还、系统查询、更改密码等管理员功能。系统通过Hibernate和数据库进行连接,有效解决了数据库连接及访问过程中的安全性及效率问题,提高了系统的可靠性及运行效率。论文较详细地叙述了该系统开发实现的全过程,并对具体关键技术及开发中遇到的问题进行了详尽的描述。关键词: 图书馆管理 SSH 借阅查询 图书借还 1 引言 随着计算机的广泛应用,图书馆管理系统逐步成为现代化的标志。图书馆或者一些企业内部,甚至是书店,在正常运行过程中总是面对大量的读者信息,书籍信息以及两者相互作用产生的借书信息、还书信息。因此需要对读者资源、书籍资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,要对因此而产生的单据进行及时的处理,为了提高图书馆或者企业内部对图书存销的自动化的管理,能够更快速的满足读者的要求,提高各种工作的效率,现对其设计相应的系统,以达到上述的目的。准备建立一个图书馆管理系统,使图书管理工作规范化、系统化、程序化,提高信息处理的速度和准确性,能够及时准备,有效的查询和修改图书的情况。 图书馆管理系统的主要功能是实现图书馆图书借阅和归还的管理的自动化,图书新增及销毁的及时化,用户及图书信息的更新。围绕这一主要功能,本系统涉及到以下核心功能:借阅管理、归还管理、图书管理、读者管理、用户管理。除了这些核心功能外,还包括一些基本和辅助功能,它们是:系统查询、系统设置。 管理系统,方便实现图书查询、借阅管理等功能,提高工作效率和工作质量,有利于对整个业务发展趋势进行分析,具有重要的开发价值和应用意义。2.2 解决方案 系统采用B/S模式、面向对象的设计方法,用Java技术,以关系型数据库MySql作为后台数据库,MyEclipse 8.5作为开发环境下应用SSH框架进行开发设计[1]。考虑到浏览器端、服务器端对数据库的操作,决定利用Hibernate持久化框架来操纵数据库。2.3 可行性分析 可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程[2],所以进行可执行性的分析是非常必要的,也是十分重要的,经过最初的设计目标和进行的市场调查得出以下四点的可行性分析。1.技术可行性 技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足需要。 Java语言[3]是一个支持网络计算的面向对象程序设计语言,现在Java平台已经嵌入了几乎所有的操作系统,这样Java程序可以只编译一次,就可以在各种系统中运行。因此系统采用其开发,在技术上完全可行。 MySQL是一个关系型数据库管理系统,它也支持Linux、Windows等多种操作系统,且能为Java 提供API;支持多线程,能够充分利用CPU资源,优化的SQL查询算法;还提供了TCP/IP、ODBC和JDBC等多种数据库连接途径。是一个集管理、检查、优化数据库操作的管理工具。因此系统采用其作为服务器端数据库,在技术上完全可行。硬件方面,在科技飞速发展的今天,硬件更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越便宜,因此硬件平台也能够满足本系统所需。 系统使用的是目前较流行的一种Web应用程序开源框架即SSH框架[4]。集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层[13],以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,利用Hibernate框架对持久层提供支持,业务层用Spring支持。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring完成业务逻辑。2.经济可行性 鉴于计算机技术发展异常迅猛,在硬件软件配置以及开发技术均以可行的情况下开发这样一个管理系统成本不会很高,但其可以大大提高图书馆的工作效率,也是图书馆管理发展的必然趋势,其必将有比较宽阔的市场,因此该系统在经济可行性上是可行的。3.运行可行性 图书馆管理系统是基于B/S模式的,因此在任意一台联网的计算机上只要正确登录就可完成图书查询、借阅查询等操作了,对用户来说方便、快捷。4.法律可行性 因为该平台是作为毕业设计与商业无关,又因为是自主开发设计,因此不会构成侵权,在法律上是可行的。2.4 用户需求 通过对图书馆管理流程的分析与研究,以及与读者和图书馆管理员的交流,得出用户对系统功能的实际需求。2.4.1 系统的基本信息 1.图书的基本信息 图书馆具有若干图书,图书有出版社、图书名称、图书编号、ISBN编号、图书类型等信息。读者可以任意选择图书馆的某本图书。2.用户的基本信息 用户通过身份验证登录系统,执行相应权限的操作;包括登录名,登录密码,用户姓名,用户类型,权限等。3.读者的基本信息 图书馆具有若干读者,读者有读者姓名、读者编号、证件号、读者类型等信息。4.查询的基本信息 读者通过相应查询条件查询图书信息和自身借阅详情以及超期罚款情况;管理员通过相应查询条件查询图书信息,读者信息,借阅情况和超期查询详情。5.借还业务的基本信息 管理员根据读者的要求进行查询,在查询的基础之上输入读者的信息(读者姓名、证件号),等待读者核对信息、确认。执行相应的操作。 3.1 系统总体设计 根据需求分析,得出本系统前后台两种不同权限要求[5],前台要求实现查询图书、借阅详情等操作,后台要求能够对图书信息、读者信息、用户信息、系统查询、图书借还、系统设置等分别进行管理。系统功能模块划分如图3.1所示。后台信息管理子系统各模块功能描述如下。 (1)图书管理模块:对图书的基本信息进行管理,可以对图书的基本信息进行添加、修改、删除、详细信息查询操作,均是针对bookinfo表进行的,并将操作后的结果保存在该表中。 (2)读者管理模块:对读者的基本信息进行管理,可以对读者的基本信息进行添加、修改、删除、详细信息查询操作,均是针对readerinfo表进行的,并将操作后的结果保存在该表中。图3.1 系统结构图 (3)用户管理模块:对用户的基本信息进行管理,可以对用户的基本信息进行添加、修改、删除操作,均是针对manager表进行的,并将操作后的结果保存在该表中其中最主要的是对用户权限进行设置(系统管理员特有)。(4)系统查询:根据查询条件查看图书信息,读者信息,借阅详情。(5)图书借还:包括图书借阅,续借,归还(超期罚款),超期查询等操作。(6)系统设置:设置图书馆信息(系统管理员特有),实现信息发布。(7)管理员密码修改:管理员可以修改自己的密码。前台读者信息查询子系统各模块功能描述如下。(1)读者登录模块:对读者身份进行验证。 (2)查询模块:对图书信息,读者自己借阅情况(包括超期处罚)进行查询。图书馆管理系统 前台读者登录 后台用户登录 系统主页 查询页面 借阅及超期查询 图书查询页面 用户管理 详细信息 添加信息 更改信息 删除信息 读者管理 图书管理 图书借还 图书借阅 图书续借 图书归还 超期查询 系统设置 消息发布 更改密码 图书馆设置 查询管理 图书查询 读者查询 借阅查询 (3)超期提醒和罚款模块:读者登录系统看到自己的超期借阅情况,并可查看超期详情。 3.2 数据库设计 3.2.1 概要设计 整个系统所包括的信息有图书信息、读者信息、图书借阅信息、图书归还信息、系统用户信息、读者类型信息。可将这些信息抽象为下列系统所需要的数据项和数据结构[2]。(1)图书信息(条形码,图书名称,类型,作者,译者,出版社,ISBN,价格,所在书架,录入时间,管理员编号等) (2)管理员权限表(编号,系统设置,读者管理,图书管理,图书借还,系统查询,用户管理)(3)读者信息(编号,姓名,性别,条形码,读者类型,出生年月,证件号码,办证日期,电话,邮箱,管理员编号等) (4)读者类型(编号,名称,可借阅书数量,可借阅书天数)(5)图书借阅信息(编号,读者编号,图书编号,借书时间,还书时间,管理员编号,是否续借过, 图书名称,读者名称) (6)管理员(编号,姓名,登录名,登录密码,性别,管理员类型等)(7)图书馆信息(编号,名称,图书馆所属,电话,地址,邮箱,网址,创建日期,简介)(8)图书馆参数信息(编号,办证费用,有效期限)(9)信息发布(编号,信息)表3.8 图书证参数信息表parameter 字段名称 数据类型 描述 约束 id int 编号 主键不为null cost varchar 借书证费用 Null validity int 有效期限 Null 9.信息发布表结构设计 管理员预留信息的发布。表的具体结果设计如表3.9所示。表3.9 信息发布表information 字段名称 数据类型 描述 约束 id int 编号 主键不为null infomation varchar 发布的信息 Null time varchar 发布时间 Null 4 系统实施 4.1 系统架构分析 框架是一个应用程序的半成品,框架提供了可在应用程序之间共享的、可复用的公共结构。开发者把框架融入自己的应用程序,并加以扩展,以满足特定需要[7]。 SSH框架是指Struts2 + Hibernate + Spring三大开源框架技术[8],用SSH技术进行开发,能够提高开发效率,层次清晰。不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。所以本系统应用SSH框架。Struts2实现页面的设计和请求的跳转调用业务逻辑;Hibernate是jdbc的轻量级封装,主要是基于持久层的,它是对数据库的直接操作,利用hibernate.hbm.xml对数据库中的表进行关系映射,把数据库中表对应到相应的类,它的属性是数据库各表的字段的关系映射;Spring通过依赖注入控制对象的生成和事务的处理[9]。4.2 数据库操作接口设计 系统的设计中采用了通用的DAO接口[10],而不是直接写访问数据库的实现类,这样可以创建不同的实现类来实现接口。当改变数据库或数据库访问技术时,就可以编写新的实现类,不用改变原来的代码。以BorrowDao对借阅信息数据进行访问的接口为例,具体设计如下所示。 public interface BorrowDao { // 保存借阅信息操作 public void save(Borrowinfo borrowinfo);// 删除操作 public void delete(Borrowinfo borrowinfo);// 更新借阅信息 public void update(Borrowinfo borrowinfo);// 通过Id获得读者的类型 public Readertype getReaerTypeById(int id);// 通过读者的ID获得借阅信息 public Borrowinfo findBorrowinfoById(int id);// 通过读者的ID获得该读者所有的借阅图书信息 public List public List public List public List public List SSH框架是指Struts2 + Hibernate + Spring三大开源框架技术,用SSH技术进行开发,能够提高开发效率,层次清晰[14]。5.1 Spring+Hibernate整合 将Spring与Hibernate整合是一个新的突破,因为Spring可以替换Hibernate与数据库的连接。1.系统与数据库的链接通过Spring的配置来完成。在applicationContext.xml文件中应该配置如下内容。 org.hibernate.dialect.MySQLDialect true 5.2 Spring+Struts2整合 必须在Web应用启动时,创建Spring的ApplicationContext实例。1.Spring配置在web.xml文件中的上下文监听器。 contextConfigLocation classpath*:spring/*.xml 1.先从最底层开发,先开发POJO类,和Hibernate映射文件。它相当于系统的数据库层。 2.再开发DAO层,它是对于数据进行持久化的一层,专门处理各种数据增、删、改、查的功能。 3.第三是开发manager层,它相当于软件的业务逻辑层,即专门处理各种业务逻辑,实现系统的业务处理功能。 4.Action层,即软件的表示层,处理action的接收与回复。第三篇:java的SSH框架总结(范文)
第四篇:学生档案信息管理系统的设计与实现
第五篇:ssh实现图书馆管理系统