版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 太原理工大学毕业设计(论文)用纸 .删除信息模块.管理员可以实现对学生、教师和课程信息的删除。1.4 本毕业设计的可行性分析经济可行性研究是对组织的经济现状和投资能力进行分析,对系统建设运行和维护费用进行估算,对系统建成后可能取得的社会和经济效益进行估计。估算新系统的开发费用和今后的运行、维护费用,估计新系统将获得的效益,并将费用与效益进行比较,看是否有利。开发、运行和维护费用主要包括:购买和安装设备的费用:计算机硬件、系统软件、 机房、电源、空调等;软件开发费用:若由实习单位的技术人员开发,则该项费用可以计入下面的人员费用一项;人员费用:系统开发人员、操作人员和维护人员的工资、培训费用等;
2、消耗品费用:系统开发所用材料、系统正常运行所用消耗品,例如水、电费,打印纸、软盘、色带等开支。由于学生信息管理系统是作为毕业设计由自己开发的,所以基本不存在上述问题,在经济上的投入甚微,系统建成之后将为今后实现学生信息管理系统提供很大的方便。学校为每位同学提供有一台电脑。所需资料可以免费上网搜或到图书馆借阅相关书籍进行查询,也是免费的。总体上来看,基本上都是学生无需投入个人经费。技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。学生管理系统用的是JSP开发语言,调试相对简单,当前自己电脑的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件
3、方面:由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补充计划的可行性。由于学生信息管理系统是作为毕业设计由 自己对其进行开发,所以在运行上是可行性的。根据新系统目标来衡量所需的技术是否具备,一般可从硬件、软件的性能要求、环境条件、技术人员水平和数量等方面去考虑和分析,其中开发人员的技术力量应首先考虑能力与水平,我们本科生通过四年的努力学习几经具备这种能力和水平。要开发该系统必须具备一定的网络知识和数据库知识,最好能熟练掌握一门面向对象语言。到目前为止
4、,我们已经学习了几门程序设计语言,其中java就是一种很好的面向对象开发语言,java中的多线程和多媒体技术完全可以实现此功能。从理论上来说,技术上没问题。其他方面,学生管理系统是学校管理非常实用的一款软件,对老师管理学生、学生选课、查询成绩都非常方便,简单可视化操作,易于管理。该项目为独立开发。在法律方面不会存在侵犯专利权、侵犯版权等问题,完全按照合同的规定履行。 按上述三方面进行可行性分析、研究,开发此项目没有任何问题。使用本系统,对其学生信息及时反馈。使得管理者管理简便,操作简单、效率提高。本系统的开发,采用流行的JSP+SQL Server2005体系,已无技术上的问题。1.5 本项目
5、的开发步骤我采用的是软件工程中项目开发流程的方式对其进行设计与开发,通过需求分析、概要设计、详细设计、编码实现和测试等一系列的工作阶段。上述各个阶段排列成一个严格的线性开发序列,在每个工作阶段所得到的成果作为下一阶段工作的指导和依据,每一阶段都应做检查,确信该阶段工作已完成并达到要求后才能进入下一阶段,同时在以后的工作中不能轻易改变前面经过检查的成果。上述开发方式的主要优点是便于开发工作的组织和管理,并且可大大降低管理信息系统开发的复杂性。国内外许多系统开发的实例都证明这是一种行之有效的开发方式。2 相关关键技术和开发环境简介 我设计此项目时采用软件工程设计开发项目的思想,使用JSP技术实现动
6、态网页的效果,SQL Server 2005为数据库,My eclipse的程序开发工具和Hibernate技术连接数据的方式进行对学生信息管理系统的设计与开发。2.1 软件工程简介软件工程是用科学知识和技术原理来定义、开发、维护软件的一门学科。它涉及计算机科学、工程科学、管理科学、数学等领域,计算机科学着重于原理和理论,而软件工程着重于如何建造一个软件系统。软件工程在软件开发过程中占有不可动摇的重要地位。一个软件从开始计划起,到废弃不用止,称为软件生存周期。一般来说,软件生存周包括计划、开发、运行三个时期,每一时期又可分为若干更小的阶段。计划时期的主要任务是分析用户要求,分析新系统的主要目标
7、以及开发该系统的可行性。开发时期要完成设计和实现两大任务具体。具体分为需求分析、概要设计、详细设计、编码、测试。其中编码和测试是软件开发期的最后两个阶段。运行时期是软件生存周期的最后一个时期,软件人员在这一时期的工作,主要是做好软件维护。“学生信息管理系统”虽然只是一个比较小的项目,但是为了做的更规范,也尽量按照软件工程的指导来做,事实上,不管一个多小的工程,都是离不开软件工程的指导思想的。2.2 JSP简介 2.2.1 什么是JSPJSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,
8、它是在传统的网页HTML文件中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。 JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。2.2.2 JSP技术的优势 1.一次编写,到处运行。由于JSP/Servlet都是基于Java的,在这一点
9、上Java比PHP更出色,除了系统之外,代码不用做任何更改。 2.系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署, 在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。 3.强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。2.3
10、 SQL Server 2005简介SQL是Structured Quevy Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。 Microsoft SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。Microsoft SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能
11、,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。 Microsoft SQL Server 2005 数据引擎是该企业数据管理解决方案的核心。此外 Microsoft SQL Server 2005 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Developmen
12、t Studio)的紧密集成使 Microsoft SQL Server 2005 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,Microsoft SQL Server 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益。2.4 Hibernate简介2.4.1 什么是Hibernate Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的W
13、eb应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。 有了Hibernate,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了Hibernate API,就不必为访问SQL2005数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问mysql数据库又编写另一个程序等等,程序员只需用API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和Hibernate结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,
14、处处运行”的优势。Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法。而 Hibernate正是作为此种用途的机制。 MIS 管理员们都喜欢Hibernate的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。2.4.2 Hibernate的优势1、
15、封装了jdbc,简化了很多重复性代码。2、简化了DAO层编码工作,使开发更对象化了。3、移植性好,支持各种数据库,如果换个数据库只要在配置文件中变换配置就可以了,不用改变hibernate代码。4、支持透明持久化,因为hibernate操作的是纯粹的(pojo)java类,没有实现任何接口,没有侵入性。所以说它是一个轻量级框架。2.5 Struts2简介Struts2虽然从名称上看是Struts1的升级版,但Struts2在实现原理和使用方法上与Struts1有很大区别。Struts2实际上是从WebWork框架演变过来的,从本质上看Struts2是WebWork的升级版本。Struts2是M
16、VC框架,因此,在Struts2中必须包含着3个层次对应的部分。Struts2中与MVC模式的三个层次对应的部分如下:视图层:由JSP画面(包括Struts2标签)及客户端代码(HTML、JavaScript)组成。控制器层:由Struts2中Action类组成。Action类可以是一个POJO类,也可以是从ActionSupport类继承的类。模型层:Struts2中的模型层根据系统业务的不同而有所差异。通常模型层包括实体类、DAO类、Service类。 图2-1 框架工作流程图用Struts2实现MVC框架中各部分的工作流程,如图2-1所示,下面将从Struts2的角度详细展示Struts
17、2的整体结构。Struts 2 的整体结构,如图2-2所示,其来源于Struts2官方站点。图2-2 Struts2的整体结构图一个请求在Struts2框架中的处理大概分为以下几个步骤 1.客户端初始化一个指向Servlet容器(例如Apache Tomcat)的请求 2.这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin)。 3.接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来
18、决定这个请是否需要调用某个Action 。4.如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy 。5ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类 。6ActionProxy创建一个ActionInvocation的实例。 7ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。 8一旦Action执行完毕,ActionInvocation负责根据struts.xm
19、l中的配置找到对应的返回结果。返回结果通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2框架中继承的标签。在这个过程中需要涉及到ActionMapper。在上述过程中所有的对象(Action,Results,Interceptors,等)都是通过ObjectFactory来创建的。2.6 CSS简介 CSS是层叠样式表(Cascading Style Sheets)用来定义网页的现实效果。可以解决html代码对样式定义的重复,提高了后期样式代码的可维护性,并增强了网页的现实效果功能。简单一句话:CSS将
20、网页内容和显示样式进行分离,提高了显示功能。2.7 MyEclipse简介 MyEclipse企业级工作平台(MyEclipseEnterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,支持HTML,Stus,JSP,JavaScript,Spring,SQL,Hibernate。MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyE
21、clipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持Java Servlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3, JDBC数据库链接工具等多项功能。可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。根据官方最新消息,MyEclipse 2013已经正式发布!MyEclipse 2013支持HTML5、JQuery和主流的Javascript 库。随着MyEclipse 2013支持HYPERLINK /view/692.htmHtml5,你可以添加音频、视
22、频和API元素到你的项目,从而为移动设备创建复杂的Web应用程序。你甚至还可以通过HTML5 可视化设计器设计令人难以置信的用户界面。同时,随着MyEclipse 2013支持JQuery,你可以通过插件提升性能,并添加动画效果到设计中。3 系统的需求分析3.1 系统的背景和所要解决的问题 随着科学技术的飞速发展,计算机科学技术的不断提高,计算机在各个领域的普及,学校规模的不断扩大,学院、专业、班级、学生的数量急剧上升,有关学生的各种信息量也成倍增长,以前的学校学生学籍信息管理仍停留在复杂的人工管理阶段,需要人为的重复工作,工作量很大,效率非常低,因此,迫切需要开发基于互联网的、学生信息管理系
23、统来提高学校的管理工作的效率。其最主要的特点就是节省人力资源,使用方便、快捷。以“提高学校管理质量”为原则,方便快捷的管理学生信息,教师信息。所以,开发一套学校学生信息管理系统来代替传统的人工管理方式是必然的。本系统要实现学生信息的网络化的查询与管理。那么,学生如何管理个人信息;教师如何管理学生信息和个人进行;管理员如何管理学生、教师和个人的信息是这个系统需要解决的问题。3.2 系统的功能需求 本系统的主要任务就是负责对学生信息管理.主要用户为老师、学生和管理员,其中,学生可对自己的信息进行查询,也可以修改有关信息,教师可对学生的信息进行增、删、改查,管理员拥有所有的权限,可以添加、删除、修改
24、、查询学生信息,教师信息。系统提供非常友好的界面,操作简便,管理方便。总的来说,此毕业设计就是解决管理学生信息的问题,能够存储一定的用户信息和学生信息,并方便有效地进行相应的用户信息和学生信息的操作和管理,这主要包括:用户能够对自身信息进行修改;添加、修改用户的相关信息;添加、修改、删除学生的相关信息;对学生的相关信息的查询。最终实现学生信息的网络化的查询与管理。3.2.1 管理员的功能分析基本操作,一个是查看系统属性,有操作系统板本的查看,操作系统类型的查看,目录的查看,JDK版本和安装目录的查看、总内存和剩余内存的查。另一个是对个人信息的管理,如修改个人密码。学生信息的管理,查看学生详的细
25、信息:查看学生的姓名、年龄、政治面貌等信息,学生信息的查询:通过学号对学生详细信息进行查询,删除学生:可以删除需要删除的学生。修改学生的详细信息:可以对需要修改信息的学生进行修改,如密码等。添加学生:对入学的学生进行详细信息的录入,导入、导出学生:导出数据库中的表,生成Excel表格,将Excel表格中的表导入到数据库中。教师信息的管理,查看教师的详细信息:查看教师的姓名、性别、年龄等信息,教师信息的查询:通过教师姓名对教师详细信息进行查询。删除教师:可以删除需要删除的教师,添加教师:对新进行的教师进行详细信息的录入,导入、导出教师:导出数据库中的表,生成Excel表格,将Excel表格中的表
26、导入到数据库中。3.2.2 教师的功能分析基本操作,查看系统属性,有操作系统板本的查看,操作系统类型的查看,目录的查看,JDK版本和安装目录的查看、总内存和剩余内存的查。学生信息的管理,查看学生详的细信息:查看学生的姓名、年龄、政治面貌等信息,学生信息的查询:通过学号对学生详细信息进行查询,删除学生:可以删除需要删除的学生。修改学生的详细信息:可以对需要修改信息的学生进行修改,如密码等。添加学生:对入学的学生进行详细信息的录入,导入、导出学生:导出数据库中的表,生成Excel表格,将Excel表格中的表导入到数据库中。3.2.3 学生的功能分析 基本操作,查看系统属性,有操作系统板本的查看,操
27、作系统类型的查看,目录的查看,JDK版本和安装目录的查看、总内存和剩余内存的查。 学生本人的个人信息管理,对自己的信息进行查看,对自己所要变更的信息进行修改,如修改密码,银行账号等。3.2.4 系统的用例分析 通过对学生信息管理系统的分析,可以得出该系统涉及三个实体:管理员、老师、学生。通过对各实体数据关系的整理,我们可以画出如下用例图如图3-1所示:图3-1 系统用例图 这些实体涉及的数据项有: 学生:学号、姓名、性别、年龄、身份证号、登陆账号、登陆密码。老师:编号、姓名、性别、年龄。管理员:登陆编号、登陆密码。3.3 系统性能需求系统的运行对于运行环境的要求是:1.硬件环境目前,我们所开发
28、的系统主要应用在中小规模的学校内部,因此,一般配置的计算机硬件就可以满足系统要求,可以充分发挥本系统的性能。服务器的配置,CPU最低备至为Pentium III 800,推荐配置是P4 1.8。硬盘最低备至为20G空余硬盘空间,推荐配置是60G空余硬盘空间。内存最低备至为256M或更高,推荐配置是512M或更高。网卡最低备至为10/100M,推荐配置是512M或更高。操作系统最低备至为Windows 7,推荐配置是Windows 7。Web 服务组件最低备至为20GIIS,推荐配置是IIS。 2.软件环境操作系统是Windows7,开发软件是MyEclipse,所用数据库:Microsoft
29、SQL Server 2005。3.4 业务分析本系统主要包括三种业务流程:管理员业务流程、教师业务流程、学生业务流程。3.4.1 管理员业务流程概述选择以管理员身份登录,输入用户名、密码,登录到系统,对相关信息进行增、删、改、查以及导入和导出。进行完操作之后,点击安全退出,退出系统。管理员业务流程图如图3-2所示。开 始开 始用户或密码错误 输入用户名、密码、用户或密码错误 输入用户名、密码、 选择管理员身份验证否验证是登录成功登录成功导入导出添加修改删除查询导入导出添加修改删除查询安全退出安全退出结 束结 束 图3-2 管理员业务流程图3.4.2 教师业务流程概述选择以教师身份登录,输入用
30、户名、密码,登录到系统,对相关信息进行增、删、改、查以及导入和导出。进行完操作之后,点击安全退出,退出系统。教师业务流程图如图3-3所示。开 始开 始用户或密码错误 输入用户名、密码、用户或密码错误 输入用户名、密码、 选择教师身份验证否验证是登录成功登录成功查询导入删除修改添加导出查询导入删除修改添加导出安全退出安全退出 结 束 结 束 图3-3 教师业务流程图3.4.3 学生业务流程概述选择以学生身份登录,输入用户名、密码,登录到系统,对学生个人信息进行查看、修改。进行完操作之后,点击安全退出,退出系统。学生业务流程图如图3-4所示。开 始开 始 用户或密码错误 输入用户名、密码、用户或密
31、码错误 输入用户名、密码、 选择学生身份验证否验证是登录成功登录成功删除导入删除导入安全退出安全退出 结 束结 束 图3-4 学生业务流程图4 系统的概要设计本阶段设计的基本目标是解决系统如何实现问题,主要涉及的是系统的体系结构设计,将给出系统的一个整体架构设计。根据系统分析产生的分析结果来确定这个系统由哪些系统和模块组成,这些系统和模块又如何有机的结合在一起,每个模块的功能如何实现。系统设计的目标是使系统实现拥有所要求的功能,同时,力争达到高效率、高可靠性、可修改性,并且容易掌握和使用。本阶段是在仔细研究软件需求之后对将要开发的软件系统进行模块划分和设计,明确系统层次结构,明确各层之间应该负
32、责的逻辑功能。模块化的依据是:把复杂问题分解成许多容易解决的小问题。原来的问题也就变得容易解决。模块化设计是把大型软件按照一定的原则划分成一个较小的相对功能独立又相关联的模块。每个模块完成一个特定的子功能。把这些模块结合起来组成一个整体。完成指定的功能,满足问题的要求。采用模块化原理的优点在于可以使软件结构清晰,容易测试和调试。从而提高软件的可靠性,可修改性。有助于软件开发的组织管理。一个大型软件可分别编写不同的模块。4.1 系统体系结构设计 本系统采用了多层架构。其中JSP页面和Action类作为Web层,这里的JSP页面除了要向客户端展示信息外,还要获取管理员或教师或学生输入的信息。这里运
33、用JavaScript对用户的输入做简单的控制。JSP页面中的表单获取用户输入信息后,提交给Action,在Action中首先对获取到的数据进行转换,然后封装相应的数据作为数据传输对象。Action将封装好的数据提交给Service,Service作为系统的服务层,利用Action中提交的数据对象进行复杂的业务逻辑操作。在服务层并没有直接访问数据库,对数据库的访问在DAO层。DAO层实现了具体的对数据库操作的方法,服务层调用了DAO层的方法实现了对数据库的操作。通过应用这样的多层架构,提高了系统的可维护性、可扩展性和可移植性。4.2 本系统的功能模块结构设计本系统的功能划分主要是从管理员、教师
34、、学生三个个角度进行划分的,角色不同他们的相应权限也不同。管理员拥有最高权限,维护整个学生信息管理系统学生信息管理系统,对基本信息的操作,对学生信息进行管理以及对教师信息进行管理。权限第二的是教师,他可以对基本信息进行操作和对学生信息进行管理。权限最低的是学生,他可以对基本信息进行操作和对个人信息进行管理。其功能划分如图4-1所示。总体来讲,对不同权限的用户,他们从功能模块上可以分为如下几大模块:学生信息的导入、导出模块、删除学生信息模块、修改学生信息模块、查询学生信息模块、添加学生信息模块。主要功能模块如图4-2所示。管理员、教师、学生可以使用这个系统对各自所具有的功能进行操作。学生信息管理
35、系统学生信息管理系统管理员学生教师管理员学生教师个人信息管理基本操作基本操作学生信息管理教师信息管理基本操作学生信息管理个人信息管理基本操作基本操作学生信息管理教师信息管理基本操作学生信息管理图4-1 学生信息管理系统功能模块划分图学生信息管理系统学生信息管理系统导出学生信息导入学生信息添加学生信息查询学生信息修改学生信息删除学生信息导出学生信息导入学生信息添加学生信息查询学生信息修改学生信息删除学生信息图4-2 学生信息管理系统主要功能模块功能模块图4.3 系统的各个功能模块设计 从上节的划分角度下面划分模块对各模块进行功能的分析与设计,系统的主要用户有管理员、教师和学生。现在从这三种用户的
36、权限来分析并设计出属于不同用户的功能。也就是说有管理员模块功能、教师模块功能和学生模块功能。 (1)管理员模块的功能分析与设计管理员,他具有系统正常运行的全部功能与系统使用的管理权限。他拥有整个系统的最高权限。对管理员来说,他拥有教师和学生的所有权限,在整个系统中,它的所拥有功能最多,管理范围最大。他对基本操作有,可以查看系统属性,可以对个人信息进行管理。对学生信息管理有,可以查看学生详细信息,可以对学生信息的查询,可以删除学生,可以对学生的详细信息进行修改,可以添加学生,可以导入、导出学生信息。对教师信息的管理有,可以对教师的详细信息进行查看,可以对教师信息进行查询,可以删除教师,可以添加教
37、师,可以导入、导出教师信息。管理员模块功能图如图4-3所示。管理员 管理员 基本操作学生信息管理教师信息管理基本操作学生信息管理教师信息管理个人信息管理查看系统属性个人信息管理查看系统属性导出教师信息导入教师信息添加教师删除教师教师信息查询查看教师详细信息导入学生信息导出学生信息添加学生修改学生详细信息删除学生学生信息查询查看学生详细信息 导出教师信息导入教师信息添加教师删除教师教师信息查询查看教师详细信息导入学生信息导出学生信息添加学生修改学生详细信息删除学生学生信息查询查看学生详细信息图4-3 管理员功能模块图 (2)教师模块的功能分析与设计教师是除了管理者之外,管理权限最高的用户,教师也
38、可以对学生信息进行管理。对于学生管理系统,主要使用者肯定有教师,教师对于学生来说是管理者。每位教师都必须多学生的情况做个整体把握,而且要了解每个学生的具体情况。对于学生如果对自己的一些信息想做修改但是忘记了密码,这时本系统如果没有设定教师这种用户,学生去找管理员,就显得很不方便,对于管理员来说他们的工作量会大大增加。教师不能去查看其他教师的信息,只有管理员才能去查看所有教师的信息。本系统主要是用于对学生信息进行管理,所涉的教师这种用户也是为了更方便的去管理学生的信息,所以说,如果教师有了查看其他教师的权限,是没有多大意义的。拥有管理员权限的用户毕竟是少数,而教师相对与学生也是非常少的,从这个角
39、度看,管理员的工作量不会很大。我们可以想到,当新生入学或者是学生毕业,都要对学生的信息进行操作,学生的数量那是很庞大的,如果只有管理员,那可想而知管理员的工作量得有多大,所以说增加教师用户是必须的。这就是重实际情工作情况出发对教师功能的分析,所以说教师对基本操作有,可以对系统属性进行查看。对学生信息的管理有,可以查看学生详的细信息,可以对学生信息进行查询,可以删除学生,可以对学生的详细信息进行修改,可以添加学生,可以对学生信息进行导入、导出。教师模块功能图如图4-4所示。 教师教师查看系统属性学生信息管理查看系统属性学生信息管理查看系统属性查看学生详细信息导入学生信息导出学生信息添加学生修改学
40、生详细信息删除学生学生信息查询查看系统属性查看学生详细信息导入学生信息导出学生信息添加学生修改学生详细信息删除学生学生信息查询图4-4 教师功能模块图(3)学生模块的功能分析与设计学生是三个用户中所拥有权限最低的,是学校管理的主体,但不是系统使用的主体,唯一专为学生提供的使用接口是学生通过学号和登录密码进行与自己相关的操作,其主要功能是查看与自己相关信息,修改部分个人信息,修改自身登录密码,无任何删除权限。对基本操作有查看系统属性,对个人信息管理有,对自己信息的操作。学生模块功能图如图4-5所示。学生学生基本操作个人信息管理基本操作个人信息管理 基本操作操作个人信息基本操作操作个人信息 图4-
41、5 学生功能模块图4.4 数据库设计概述 计算机信息系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。 对于数据库应用开发人员来说,为使现实世界的信息流计算机化,并对计算机化的信息进行各种操作,就是如何利用数据库管理系统、系统软件和相关硬件系统,将用户的要求转化成有效的数据结构,并使数据库结构易于实现用户新的要求的过程。 确切的说,数据库设计是指对于一个给定的应用环境,提供一个确定最优数据模型与处理模式的逻辑设计,以及一个确定数据库存储结构与存取方法的物理设计,建立起既能反映现实世界信息和信息联系,满足用户数据要求和加工要求,又能被某
42、个数据库管理系统所接受,同时能实现系统目标,并有效存取数据的数据库。4.5 数据库设计周期 根据软件工程的思想,数据库设计的周期可以划分为六个阶段: 规划阶段:确定开发的总目标,给出计划开发的软件系统的功能、性能以及可靠性等方面的设想。 需求分析阶段:认真细致地了解用户对数据的加工要求,确定系统的功能与边界。本阶段的最终结果能够提供一个可作为设计基础的系统说明书,包括对软硬件环境的要求和一整套完善的数据流程图。 设计阶段:把需求分析阶段所确定的功能细化,主要工作是概念设计阶段、逻辑设计阶段、物理设计阶段,然后,对每个阶段内部设计详细的流程。 程序编制阶段:以一种或几种特定的程序设计语言表达上一
43、阶段确定的各模块控制流程。程序编制时应遵循结构化程序设计方法。 调试阶段:对已编好的程序进行单元调试(分调),整体调试(联调)和系统测试(验收)。 运行和维护阶段:是整个设计周期最长的阶段,其工作重点是收集和记录系统实际运行的数据。在运行中,必须保持数据库的完整性,必须有效地处理数据故障和进行数据库恢复。同时解决开发过程的遗留问题,改正错误进行功能完善。数据是系统的灵魂所在,整个系统的运行基础是系统数据库,因而数据库的设计质量对整个系统的功能与效率有很大影响,所以我们在进行数据文件和数据库设计时,充分考虑了数据存储的完整性、可靠性、安全性和数据的一致性及便于操作等方面的问题。 一个完整的信息系
44、统的建设并不是一步到位的。在实际的建设过程中,在时间上各子系统有先建、后建之分,在开发人员的分配上有他建、我建之别,这就涉及到各子系统之间的兼容问题。在现有的软件水平下,追求应用系统间的相互兼容存在困难,但对于数据的兼容也就是数据的共享来说,既非常重要,又相对应用系统的兼容较易实现。在提高数据共享性方面,可主要从数据的一致性方面来考虑。在我们的数据库系统建设中,着重考虑了以下两个标准保证数据的一致性: 字段标准:字段标准不统一是造成数据库难以共享的一个主要原因,因为字段的设计处于数据库设计的最底层,或者可以说是最基本的一层,如果这一层都不能统一的话,会直接影响到数据库中数据的共享。 代码标准:
45、代码的引入为保持数据库中数据的一致性提供了一个重要手段。 此外本数据库设计主要遵循以下原则: 数据库文件的实用性,数据库文件的安全性,数据库文件的独立性,节省磁盘空间。数据库设计是要在一个给定的应用环境(DBMS)中,通过合理的逻辑设计和有效的物理设计,构造较优的数据库模式、子模式,建立数据库和设计应用程序,满足用户的各种信息需求。物理结构设计的原则如下:1.尽可能的减少数据冗余和重复。2.结构设计与操作设计相结合。 3.数据结构具有相对的稳定性。基于以上设计原则,本系统设计了一个数据库,包含基本信息表,管理员信息表、教师信息表、学生信息表、为了加快系统访问的速度把这些表放在一个数据库中。4.
46、6 SQL查询语言及使用SQL语言是结构化语言(Structure Query Language)的缩写,是一种用于数据库查询和编程的语言,已经成为关系型数据库普遍使用的标准,使用这种标准数据库语言对程序设计和数据库的维护都带来了极大的方便,广泛地应用于各种数据查询。JSP和其他的应用程序包括SQLserver2005、my sql、Foxpro、Orcale等都支持SQL语言。SQL语言的常用操作有:建立数据库数据表(CREATE TABLE),如本系统中的学生备份就用到该语句;从数据库中筛选一个记录集(SELECT),这是最常用的一个语句,功能强大,能有效地对数据库中一个或多个数据表中的数
47、据进行访问,并兼有排序、分组等功能;在数据表中添加一个记录(INSERT);删除符合条件的记录(DELETE);更改符合条件的记录(UPDATE)。JSP中的数据库操作对象都提供了对SQL语句的支持。其一般的用法是以JSP的各种控件接收用户对数据库访问的请求,在事件响应程序代码中将其转换成对数据库的SQL查询语句,并以字符串的形式存在,然后将其传递给相应的数据库操作对象,最终完成对数据库的访问。4.7 数据库设计命名规范 (1) 表名命名规则 更具主要数据模型将数据表分为用户表、相册表、图片表、用户角色表、权限表、角色-权限表等。根据与同的数据模型命名。 (2) 表项命名规则 代表表名的单词或
48、单词简写作为字段名的开头,命名中其他的单词或简写间用_间隔。4.8 本系统数据库概念结构设计 在系统设计的开始,我首先考虑的是如何用数据模型来数据库的结构与语义,以对现实世界进行抽象。模型的结构部分规定了数据如何被描述。目前广泛使用的数据模型可分为两种类型,一种是独立于计算机系统的“概念数据模型”,如“实体联系模型”;另一种是直接面向数据库逻辑结构的“结构数据模型”。在本系统中我采用“实体联系模型”(ER模型)来描述数据库的结构与语义,以对现实世界进行第一次抽象。ER模型直接从现实世界抽象出实体类型及实体间联系,然后用ER图来表示数据模型。它有两个明显的优点:接近于人的思维,容易理解;与计算机
49、无关,用户容易接受。但ER模型只能说明实体间语义的联系,不能进一步说明详细的数据结构,它只是数据库设计的第一步。E-R图是直观表示概念模型的工具,它有三个基本成分:矩形框,表示实体类型(考虑问题的对象)。菱形框,表示联系类型(实体间的联系)。椭圆形框,表示实体的属性。根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及它们之间的关系,为后面的逻辑结构设计打下基础。本系统包括的实体有管理员实体,教师实体,学生实体。政治面貌学生实体的属性有,学号、姓名、性别、年龄、政治面貌、太平洋银行卡号、登录帐号和登录密码。学生实体如图4-6所示。政治面貌年龄年龄性别性别太平洋银行卡号太平洋银行卡
50、号姓名姓名登录帐号登录帐号学号学号密码密码学 生学 生 图4-6 学生实体图教师实体的属性有,教师编号、姓名、性别、年龄、登录帐号和登录密码。教师实体图如图4-7所示。 年龄性别年龄性别姓名登录帐号姓名登录帐号教师编号教师编号登录密码登录密码教 师教 师 图4-7 教师实体图 管理员实体的属性有,管理员编号、用户名、密码。管理员实体图如图4-8所示。用户名用户名密码管理员编号密码管理员编号管理员管理员 图4-8 管理员实体图4.9 系统数据库设计1.学生信息数据表学生信息数据表的主要功能在于保存学生的主要信息和相关信息,包括:学号、姓名、性别、年龄、政治面貌、太平洋银行卡号、登录帐号和登录密码
51、。学生信息数据表如表4-1所示。 表4-1 学生信息数据字段名称字段类型字段大小索引必须填写STU_XUEHAO文本50是STU_REALNAME文本20是STU_SEX文本30是STU_AGE文本50是STU_CARD文本50是STU_MIANMAO文本50是STU_LOGINNAME文本50是STU_PWD文本50是 2.老师信息数据表老师信息数据表的主要功能是保存老师的相关信息。它包括:老师编号、老师姓名、老师性别、老师年龄、登录帐号和登录密码。 老师信息数据表如表4-2所示。表4-2 老师信息数据字段名称字段类型字段大小索引必须填写TEA_BIANHAO文本20是TEA_NAME文本2
52、0是TEA_AGE文本50是TEA-SEX文本50是TEA_LOFINNAME文本50是TEA_PWD文本50是 3.管理员信息数据表管理员信息数据表的主要功能是保存管理员的相关信息。它包括:管理员编号、登录账号、登录密码。 管理员信息数据表如表4-3所示: 表4-3 管理员信息数据字段名称字段类型字段大小索引必须填写USER_ID数字4有(无重复)是USER-NAME文本30是USER_PWD文本30是4.10 本系统数据库逻辑结构设计 由以上的实体图可以得到以下几个关系模式: 学生基本信息(学号,姓名,性别,年龄,政治面貌,太平洋银行卡号,登录帐号,登录密码) 教师基本信息(教师编号,姓名
53、,性别,年龄,登录帐号,登录密码) 管理员基本信息(管理员编号,登录帐号,登录密码) 说明:以上关系模式中,带“ ”的是属性是主键。4.11 本系统数据库物理结构设计 系统配置 硬件环境:硬盘: 10G 以上空闲硬盘空间 软件环境:支持中文的Windows win7,Microsoft SQL Server 20054.12 安全保密设计4.12.1 登录用户的安全性 系统设计了登陆界面,每个合法用户有一个密码,该密码由用户自行维护,从而实现对用户的身份验证。4.12.2 数据安全性客户端层和数据库层隔离,客户端无法接触本质的数据库,无法进行非法的修改和破坏,使得数据库得到有效安全的保护。5
54、详细设计和实现 详细设计阶段的根本目标是确定应该怎样具体的实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。详细设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计的处理过程应该尽可能简明易懂。再进行各模块的具体实现描述之后,这时各个模块的各种功能已经确定下来,据各模块的具体实现描述进行代码的编写,建立各功能界面,实现系统的各个功能。5.1 用户登录界面当系统登录时,首先出现的是一个用户权限登陆的界面如图5-1所示。这时用户可以在界面上输入用户名和密码,输入完之后,用户得在界面身份中选
55、择与自己相匹配的身份,点击登录,系统从后台数据库的管理员表中检查是否有相应的用户名和密码,配系统提示通过验证,系统登录成功如图5-2所示,点击确定,进入到相应用户操作界面。系统用户包含三个角色有管理员、教师、学生。权限设置主要是维护系统的安全性和完整性。当选择管理员身份。管理员是系统权限最高的用户,点击登录,系统从后台数据库的管理员表中检查是否有相应的用户名和密码,用户名或者密码没有相匹配,则提示用户名或密码错误,如果匹配系统提示通过验证,系统登录成功,点击确定。进入到管理员操作界面。当选择教师身份,点击登录,系统从后台数据库的教师表中检查是否有相应的用户名和密码,用户名或者密码没有相匹配,则
56、提示用户名或密码错误,如果匹配系统提示通过验证,系统登录成功,点击确定,进入到教师操作界面。当选择学生身份,点击登录,系统从后台数据库的学生表中检查是否有相应的用户名和密码,用户名或者密码没有相匹配,则提示用户名或密码错误,如果匹配提示通过验证,系统登录成功,点击确定,进入到学生操作界面。如果不输入用户名、密码、身份时,点击登录系统会有相应的提示。图5-1 登录主界面图 图5-2 选择管理员身份点击登录后系统进行提示界面图 我在用户登录页面的设计中使用了表格,因为通过表格才能使得页面中的各个元素对齐、使整个页面显得整齐、干净,给人以美感。相关核心代码如下:用户名:密码:身份:请选择登陆身份管理
57、员老师学生 img id=indicator src=/images/loading.gif style=display:none/如下代码是完成表单验证功能,通过看option的value值判断用户身份,不同的值代表不同的身份,确定身份后,系统通过在后台数据库表的查找,验证相应身份的用户名和密码是否正确。通过调用dwr调用后台的service()的方法处理业务逻辑去完成验证功能,核心代码如下: loginService.login(document.ThisForm.userName.value,document.ThisForm.userPw.value,document.ThisForm
58、.userType.value,callback); 调用回调函数,获得数据,相关代码如下:function callback(data)if(data=yes)alert(通过验证,系统登录成功);window.location.href=/loginSuccess.jsp; 后台的service层,login方法中,通过dao层实现与数据库的交互,相关核心代码如下:public String login(String userName,String userPw,int userType)if(userType=0)/系统管理员登陆String sql=from TAdmin where
59、userName=? and userPw=?;Object con=userName,userPw;List adminList=adminDAO.getHibernateTemplate().find(sql,con);if(userType=1)/老师登陆String sql=from TTea where loginName=? and loginPw=?;Object con=userName,userPw;List teaList=teaDAO.getHibernateTemplate().find(sql,con)if(userType=2)/学生登陆String sql=fro
60、m TStu where loginName=? and loginPw=?;Object con=userName,userPw;List stuList=stuDAO.getHibernateTemplate().find(sql,con);5.2 用户操作界面当用户通过系统验证之后,就各自角色的不同,进入到各自的操作界面,在自己的操作界面中进行自己的相关操作。在此界面设计,我布局采用的是frameset,由三个frame构成,分别是topFrame、menu、main。顶部是用于显示网站名称、登录用户名、注销退出,左侧是导航区,显示可以进行的功能,点击链接在界面的右侧展示出相应功能操作。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025浙江台州方圆质检有限公司招聘编外人员3人笔试历年备考题库附带答案详解
- 2025浙江农信总部金融科技人才春季招聘笔试历年典型考题及考点剖析附带答案详解
- 小学二年级音乐上册《拍皮球》歌唱教学教案(人民音乐出版社)
- 初中一年级数学《从三个方向看物体的形状》教学设计(北师大版·上册)
- 小学六年级数学下册《寻变:圆柱体积公式的进阶建构》教学设计
- 初中二年级英语 Unit 6 职业理想与未来规划 听说整合教学设计
- 小学二年级语文《“贝”的故事》学习任务单与教学设计
- 小学三年级数学下册《乘法解题策略:从点阵图到模型意识》教学设计
- 2026学年黑龙江省虎林市五年级语文期末点睛提升核心强化题(详细参考解析)详细答案和解析
- 2027年长沙商贸旅游职院高职单招职业技能考试模拟试卷及答案详解【各地真题】
- 《中医》考试题库-2026年山东医师定期考核
- 2026年内蒙古执业药师继续教育参考答案
- 2026年广东省中考英语试卷(含答案)
- 生产经营单位安全生产事故应急预案编制导则
- 2026国家消防招录面试题及答案
- 公立医院行政管理岗招聘考试核心考点笔记:公立医院绩效考核与等级评审
- 2026年6月证券从业资格考试《证券市场基础知识》考试真题及答案详解
- 2026年新疆维吾尔自治区中考英语试卷(含答案)
- 四川大学2026年强基计划笔试模拟试题及答案解析
- 3植物妈妈有办法 课件(共32张)
- 神经科护理进修成果展示
评论
0/150
提交评论