




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
滁州职业技术学院 10软件技术毕业论文 学生选课系统毕业论文目 录摘 要IAbstractII1 绪论11.1 课题背景11.2 论文研究的内容12 系统相关技术介绍22.1 本系统使用的3个框架22.2 本系统使用的3个详细介绍33 需求分析63.1 功能需求分析63.1.1 功能需求分类63.1.2 用例图73.2 非功能性需求分析143. 2.1 用户界面需求143. 2.2 软件环境需求143. 2.3 产品质量需求144 可行性分析154.1 编写目的154.2 开发系统的技术可行性154.3 开发系统的法律可行性154.4 开发系统的社会可行性155 系统设计165.1 系统目标165.2 系统功能结构165.3 系统流程图176 数据库设计196.1 数据库表的设计197 系统构架设计217.1 逻辑分层结构设计217.2 实体映像设计217.3 数据库接口与接口类的实现228 运行设计248.1 运行环境248.2 运行模块249 详细设计259.1 总体设计259.2 详细设计269.3 系统功能模块设计2710 系统测设47总结48致 谢49参考文献50491 绪论1.1课题背景许多高校出现了许多个校区并存的局面,并且校区之间的地理位置跨度非常大,给高校选课带来了很大的不方便,所以把选课变成网络化的形式是必须的,现在高校的专业、课程、人数都远远超过了以前,统计选课信息变得相当困难,所以针对这一现象,高校选课系统教好的解决了这一类问题,使选课方便网络化,课程信息统计的方便性自然而然成为了这个系统设计和实现所追求的目标。1.2论文研究的内容关于高校选课系统的说明论证和各种分析。2. 系统相关技术介绍 2.1本系统3个框架的应用:一、三个框架简介Struts:Struts是目前Java Web MVC框架中不争的王者。经过长达五年的发展,Struts已经逐渐成长为一个稳定、成熟的框架,并且占有了MVC框架中最大的市场份额。Spring:Spring是一个开源框架,它是为了解决企业应用开发的复杂性而开发的。Spring使使用基本的JavaBeans来完成以前只可能由EJB完成的事情变得可能了。Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。在Spring中应用对象被声明式地组合在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等),让开发者更专注于应用逻辑。所有的这些特征使开发者能够编写更干净、更易管理、并且更易于测试的代码。Hibernate:Hibernate是高性能的开源框架。提供O/R映像功能,通过XML配置文件能够将对象映像到数据库。对数据操作进行了封装,能够方便简洁地解决大多数的数据持久化操作。二、实现架构图架构介绍Filter:Web过泸器,继承javax.servlet.Filter,用于处理只要客户请求就必须初始化或处理的实例。例如可以在这里进行请求的编码转换,为了更好地支持中文,更好的方法就是把客户端的请入信息转换成UTF-8格式,并存于数据库中,这种转换就可以在过泸器中进行处理。ActionServlet:是Struts提供的总控制器,在这里接收来自客户端的所有请求,并根据请求参数和Struts配置文件struts-config.xml决定请求由那个具体的Action来处理。Action:由Struts提供的Action类,继承Struts的org.apache.struts.action.Action类。客户的不同请求,可以由不同的Action来处理(由ActionServlet总控制器选择)。Action用于处理客户请求的具体操作,比如调调用Service层的方法进行数据保存或读取。Action还根据struts-config.xml配置选择页面的转发。对客户输入的信息进行验证。ActionForm::由Struts提供的Form类,继承Struts的org.apache.struts.action.ActionForm类。用于封装来自客户窗体的信息,并可以对信息进行初级有效性验证。Jsp和tiles-defs.xml:tiles-defs.xml由Strtus提供,用于页面的定义,可以定义JSP模板,不同页面都可以断承该模板。Jsp用于表示界面,可以在Jsp中书写Struts标签由不牵涉任何Java代码。Service接口:定义Service的接口,给上层调用。这里编写上层所需方法的定义。Service接口实现:这里实现Service接口方法的具本实现,并实现商务逻辑。该类为了支持Spring的依赖注入功能,需要实现一个setXxxDAO()的方法,这样类就可以利用注入来的DAO进行数处理。在这一层利用Spring的事务管理,对这层的方法进行事务声明管理。DAO接口:这里定义DAO数据访问层的接口,给业务层Service调用。DAO接口实现:这里具体实现DAO接口的所有方法,只进行数据的保存、读取、更新等动作,不牵涉事务。该类继承Spring的org.springframework.orm.hibernate3.support.HibernateDaoSupport类,可以不再理会Hibernate的API,即可进行Hibernate方式的数据操作。可以让代码更简洁,有条理。Spring:这是系统的中心部分,这里在一个XML配置文件中定义了大部分的系统Bean,并对它们进行集中管理。定义了DAO层、Service层的所有类。定义了事务,并且定义了方法的事务策略。2.2三个框架的详细介绍 Struts技术Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。 采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发,Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和我们定制的Action,也为V(View)提供了一系列定制标签(Custom Tag)。 Struts流程:服务器启动后,根据web.xml加载ActionServlet读取struts-config.xml文件内容到内存。 以登陆为例:第一次进login.jsp会先实例化Form、把默认值(String默认为空字符串,整形默认为0)赋给表单元素。 输入用户名密码提交表单、提交到action属性的login.do,通过ActionServlet读struts-config.xml文件找到 action下的path属性找到.do,通过name属性找form-beans中的form-bean的name属性得到ActionForm的包名类名,先实例化form,把表单的值填充给form,调用form的validate方法验证、ActionErrors返回null表示验证通过,否则失败返回input指定的页面.验证通过会实例化Action,执行Action的excute方法。Spring技术与 Struts 相似,Spring 可以作为一个 MVC 实现。这两种框架都具有自己的优点和缺点,尽管大部分人同意 Struts 在 MVC 方面仍然是最好的。很多开发团队已经学会在时间紧迫的时候利用 Struts 作为构造高品质软件的基础。Struts 具有如此大的推动力,以至于开发团队宁愿整合 Spring 框架的特性,而不愿意转换成 Spring MVC。没必要进行转换对您来说是一个好消息。Spring 架构允许您将 Struts 作为 Web 框架连接到基于 Spring 的业务和持久层Spring:功能强大的基于javaBeans的配置管理,它使组织应用变得容易和迅速, Spring是一个轻型容器(light-weight container),其核心是Bean工厂(Bean Factory),用以构造我们所需要的M(Model)。在此基础之上,Spring提供了AOP(Aspect-Oriented Programming, 面向层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展ApplicationContext更加方便我们实现J2EE的应用;DAO/ORM的实现方便我们进行数据库的开发;Web MVC和Spring Web提供了Java Web应用的框架或与其他流行的Web框架进行集成。Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 目的:解决企业应用开发的复杂性 功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能 范围:任何Java应用 Spring是全面的和模块化的。Spring有分层的体系结构,这意味着你能选择使用它孤立的任何部分,它的架构仍然是内在稳定的。Hibernate技术Hibernate是一个开放源代码的对象关系映射框架(即“数据库-对象”映像解决方案框架),它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。3. 需求分析 3.1功能性需求: 3.11功能性需求分类: 功能类别功能名称、标识符描述用户登录用户登录对用户输入的用户名,密码进行验证,验证通过后,系统判断用户的权限,随后,用户就登入相应的权限界面,可以对系统进行使用。用户注册用户注册当新用户使用时,可以进行注册从而使用本软件。实现课程信息和专业的具体管理专业管理对系统里面的专业进行管理,能对专业进行添加和对专业的有关功能进行操作。课程管理对课程的管理进行操作,包括课程的添加、课程的设置类型等多个功能。学生选课功能学生选课学生选择自己要新修的课程。查看已选课程查看选择的课程学生查看自己已将选修的课程。学生选课信息的统计统计学生的选课信息统计每门开课的课程的上课时间、地点和学生人数。修改密码修改账号的密码学生对自己账号的密码进行修改。3.12用例图学生选课系统总用例图:用户注册用例图:课程信息和专业具体管理用例图:选课功能用例图:查看已选课程用例图:账号管理用例图:3.13用例描述:1. 用户登录1.0 用例名称:中文名称:用户登录功能:验证用户的身份。1.1 简要说明:本用例的功能主要是用于确保用户在提供正确的验证信息之后,可以进一步使用本系统。1.2 事件流:1.2.1 基本流:1 用户请求使用本系统。2 系统显示用户登录信息输入界面。3 用户输入登录名,密码并确认操作。4 系统验证用户登录信息,如果登录信息验证没有通过,系统显示提醒信息,并转向基本流2,如果验证通过,系统显示系统操作主界面。1.2.2 备选流:1 用户可以在没有登录成功之前的任意时候要求放弃登录。2 系统结束用户登录信息输入界面的显示。3 退出系统。1.3 特殊需求:无1.4 前置条件:1 请求使用本系统。1.5 后置条件:1 用户登录成功,可以使用系统提供的功能。1.6 附加说明:无2. 用户注册 2.0 用例名称:中文名称:用户注册功能:新用户进行注册2.1 简要说明:本用例的功能主要是用于新用户进行注册,方能使用本系统。2.2 事件流:2.2.1 基本流:1 用户请求注册。2 用户点击注册进入注册信息界面。3 用户输入注册信息,并确认操作。4 系统验证用户注册信息,如果注册信息验证没有通过,系统显示提醒已经存在的用户信息,并转向基本流2,如果注册通过,系统则进入用户基本信息填写。2.2.2 备选流:1重置注册信息2.3 特殊需求:无2.4 前置条件:1 请求使用本系统。2.5 后置条件:1 用户注册成功,可以使用系统提供的功能。2.6 附加说明:无3. 课程信息和专业管理 3.0 用例名称:中文名称:课程信息和专业管理功能:用于用户对课程信息的管理 还有对专业的管理3.1 简要说明:本用例的功能主要是用于课程信息和专业的查询、添加等相应功能进行管理。3.2 事件流:3.2.1 基本流:1 用户请求登陆管理页面。2 用户点击专业管理进入专业管理页面。 用户对专业的是否已结业进行判断。可以添加新的专业。 点击添加新的专业进入新专业的设置页面。 添加完新专业点击专业管理则可以看到新添加的专业3用户点击课程信息进入课程信息管理页面. 用户对课程信息可以进行查询,添加新的课程。 点击添加新的课程进入课程有关信息填写页面。 添加完新的课程在选课信息将有新的课程显示。 点击课程显示里面的每门课程名称则可以显示每门课程的详细信息包括授课教师属于哪个专业等等。在这里也可以设置该门课程的属性是否为可选。3.2.2 备选流:1重置专业和课程信息3.3 特殊需求:无3.4 前置条件:1 进入了增加新的专业和课程判断信息是否填写正确。3.5 后置条件:1 专业和课程添加成功将在专业页面和课程页面显示所添加的内容。3.6 附加说明: 无4. 学生选课 4.0 用例名称:中文名称:学生选课功能:选课学生进行选课4.1 简要说明:本用例的功能主要是用于学生进行选课。4.2 事件流:4.2.1 基本流: 1系统安排专业学生的课程2 学生请求选课。3 单击选课连接进入选课界面。4 如果系统安排了本专业的学生所要选择的课程,则学生可以看到自己要选择的课程,点击选择则可以选课成功,如果系统未安排该专业的学生需要选课,则不会显示有课程要选。4.2.2 备选流:如果学生没有课程选择,则是该学生专业还没有安排课程,所有要等该专业安排课程以后才能进行选课。4.3 特殊需求:必须要有课程学生才能进行选修4.4 前置条件:1 本专业安排了课程。4.5 后置条件:1 学生选课成功,并显示。4.6 附加说明:无5. 学生查看选课 5.0 用例名称:中文名称:查看已选课程功能:学生对选课进行查询5.1 简要说明:本用例的功能主要是用于学生确认是否已经选课成功。5.2 事件流:5.2.1 基本流: 1学生请求查看选课2 单击选课查询,进入查询选课页面。3 选课成功则显示该门课程,选课未成功则不能显示。5.2.2 备选流:如果未有选课信息提示说明还没有选好课程,应该返回选择课程页面进行选课以后再进行查询。5.3 特殊需求:无5.4 前置条件:5.5 后置条件:无5.6 附加说明:无6. 学生选课信息统计 6.0 用例名称:中文名称:选课信息的统计功能:对学生的选课信息进行统计。6.1 简要说明:本用例的功能主要是用于查看所有学生的选课情况。6.2 事件流:6.2.1 基本流: 1查看所有课程的选课情况和学生的选课信息2 单击选课信息,进入选课信息页面。3 点击查看则可以显示所有选择这门课程的学生名单。4 搜索课程或者学生对选课信息进行查询。6.2.2 备选流:无6.3 特殊需求:必须管理员身份才能使用此功能6.4 前置条件:有专业开课和学生进行选课6.5 后置条件:无6.6 附加说明:无7修改密码7.0 用例名称:中文名称:修改用户密码 功能:用于系统用户修改自己的密码,以确保系统的安全性。7.1 简要说明:本用例的功能主要是允许用户修改自己的密码。7.2 事件流:7.2.1 基本流:1 用户请求修改自己的密码。2 系统显示密码修改界面。3 用户输入旧密码、新密码。4 系统对旧密码进行验证,再次要求用户输入新密码的确认密码。5 用户输入新密码确认密码。6 系统比较新密码和新密码确认密码,根据比较结果执行下面的相应操作。u 新密码和新密码确认密码相符,继续执行下一步骤。u 新密码和新密码确认密码不相符,返回基本流3。7 系统修改用户密码,并提醒用户密码修改已成功。8 用户要求结束用户密码修改任务。9 系统结束用户密码修改界面的显示。7.3 前置条件:1 进入本系统的主界面。7.4 后置条件:1 系统成功保存用户的新密码,新密码下次登录生效。3.2非功能性需求:3.21 用户界面需求需求名称详细要求母窗体显示位置窗体初次启动时在屏幕位置居中,窗体最大化。子窗体显示位置窗体初次启动时在母窗体居中。界面风格界面为清新风格。界面字体颜色绿色为主3.22 软硬件环境需求需求名称详细要求硬件要求IBM兼容机、Intel Pentium III 800/AMD K7以上处理器、128M以上内存,支持标准网络协议的网卡系统平台Windows2000/WinXP/Win2003 RedHat Linux 9/Fedora系列运行环境Sun Java JRM1.6 For Win/Linux 3.23 产品质量需求主要质量属性详细要求正确性业务错误不允许出现健壮性能够正常使用可靠性除电源、硬件、操作系统、服务器管理系统外程序不允许异常退出或崩溃。性能,效率系统处理业务时间最迟时间小于等于5秒易用性不用安装,操作简便清晰性业务流程明确安全性用户信息保密可扩展性可在当前需求基础之上进行功能上的扩展兼容性可运行在大多数主流的硬件环境中可移植性可运行在大多数主流的操作平台上4. 可行性分析 4.1编写目的为了给软件开发企业的决策层提供是否进行项目实施的参考依据,现以文件的形式分析项目的风险、项目需要的投资与效益。方便读者概要的了解此软件系统。4.2开发系统的技术可行性学生选课系统是一款管理系统,系统囊括了专业管理和课程管理的基本过程。系统覆盖学生的选课、查看、修改密码等各个环节,软件的各个模块操作界面简单、实用,用户可以在最短的时间内掌握系统的使用方法。用户可以在最短时间内找到自己所需要的信息。系统采用如今已广泛被人们接受的B/S结构,可以通过Internet协同工作,数据共享。系统软件采用现在流行且技术很成熟的框架Struts + hibernate+Spring+MySQL平台进行开发并实现。可以进行高效的管理,提高工作效率。参考学生选课系统统需求说明书,本系统具有以下特点:l 具有良好的系统性能,友好的用户界面。l 较高的处理效率,便于使用和维护。l 采用成熟的技术开发,全系统具有较高的技术水平l 尽可能地简化选课的管理工作,提高工作效率4.3开发系统的法律可行性开发本系统是为了高校选课的高效管理,并实现对决策的支持。在开发的过程中完全自主开发,不会出现侵权问题。另外也会使用正版的软件来开发系统和运行系统。开发出的新系统的工作流程也是完全符合药品行业的标准,完全在法律的允许范围之内。4.3社会条件上的可行性络的普及,网络也越来越受到人们的喜爱,这也为新系统实现后的运行提供了一个大的环境。5. 系统设计5.1 系统目标根据高校选课系统需求说明书,制定是系统目标如下:l 灵活的人机交互界面,操作简单方便,界面简洁美观。l 系统提供中、英文语言,实现国际化。l 学生进行网上选课l 管理员对课程与专业信息进行维护。l 统计信息。l 修改个人密码。l 系统运行稳定,安全可靠5.2 系统功能结构高校学生选课系统的功能结构如图1-1所示:高校学生选课系统用户管理模块用户登陆学生模块管理模块用户注册选择课程查询课选课程信息统计查询信息查询已选课程输入基本信息修改密码增加专业信息修改专业信息增加新课程信息修改课程信息图1-1 学生选课系统功能结构图5.3 系统流程图根据学生选课系统的操作流程,系统的流程图如图1-2、1-3所示管理员学生选课系统管理员登陆基本信息管理专业信息管理课程信息管理添加专业信息查询专业信息修改专业信息添加课程信息查询课程信息修改课程信息图1-2 学生选课系统流程图1学生学生选课系统学生登陆选课信息管理查询可选课程选择课程查询已选课程查询个人信息图1-3 学生选课系统流程图26.数据库设计6.1数据库中表的设计本系统定义的数据库包括:表tb_course、表tb_specialty、表tb_stucourse、表tb_stuuser、表tb_userlogin.tb_course表:主要用来保存于课程有关的信息,其字段名称、类型、描述如图2-1图2-1表 tb_coursetb_specialty表主要用来保存与专业有关的信息,其字段名称、类型、描述如图2-2t图2-2表tb_specialtytb_stucourse表:由于会有多个学生选择多门课程,所以学生与课程的关系为多对多,而该表就是用于关联学生与课程多对多关系。其字段名称、类型、描述如图2-3图2-3 tb_stucourse表表tb_stuuser主要用来保存学生的基本信息,其字段名称、类型、描述如图2-4图2-4表tb_stuuser表tb_userlogin表主要用于保存登陆信息,其字段名称、类型、描述如图2-5图2-5表tb_userlogin7.系统架构设计7.1 逻辑分层结构设计本系统采用Struts + hibernate+Spring+MySQL平台进行开发并实现,总共由4层结构组成,分别为表示层、业务层、持久层、数据库层,完全遵循MVC的模式。其中表示层和业务层由struts框架组成,表示层用于提供程序与用户交互的界面,项目中主要通过JSP、ActionForm、Struts标签库进行展示;业务逻辑层用于处理程序中的各种业务逻辑,项目中通过Struts框架的中央控制器及Action对象对业务请求进行处理;持久层由hibernate框架组成,负责应用程序与关系模型数据库之间的操作;MySQL负责数据库层,具体实现大致如图3-1图3-1 业务逻辑分层结构图7.2 实体对象设计本系统实体映射就是将数据表中的字段映射为Java类中对应类型的变量,然后为这些变量增加 setter与getter方法,用于存取变量的值,由于在存取数据库的时候我们使用了Hibernate框架,因此还需要编写关于数据表中字段与实体类中的变量的hbm.xml配置文件。在高校学生选课系统中所有的实体类与映像文件全部存放在com.jwy.dto包中用户登陆信息:UserLogin.java为用户登陆信息实体类,用于封装部门信息。UserLogin.hbm.xml实体关系映射配置文件,在该文件中定义UserLogin实体类中的属性与tb_userlogin表的关系,其中主键列ID的生成方式为自动增长。专业信息:Specialty为专业信息实体类,用于映射专业信息表中的字段。Specialty.hbn.xml为实体关系映射配置文件,在该文件中将Specialty类与数据库中的tb_ specialty表进行关联映射,其中主键列ID的生成方式为自动增长。课程信息:Course.java为课程信息实体类,用于映射课程表中的字段。Course.java.hbm.xml实体关系映射配置文件,在该文件中将Course类中的属性与数据表tb_course的字段进行映射,其中主键列ID的生成方式为自动增长。学生信息:StuUser.java为学生信息实体类,用于映射学生信息表中的字段。StuUser.hbm.xml实体关系映射配置文件,将实体类StuUser类中的属性与tb_stuuser表中的字段进行映射,其中ID列为主键列,生成方式为用户指定。学生与课程关联信息:StuCourse.java为学生与课程关联信息表的实体映射类。StuCourse.hbm.xml实体关系映射配置文件,用于映射实体类StuCourse中的属性与数据表tb_ StuCourse中的对应关系。7.3设计操作数据库的接口与实现类5.31用户登陆信息DOA与接口IUserLoginDao IUserLoginDao接口中主要定义了对用户登陆信息表进行操作的方法,其中包括注册新用户以及通过各种条件验证用户身份和修改用户密码的方法。5.32用户登录信息DAO与接口实现类UserLoginDao UserLoginDao类继承了HibernateDaoSupport类,实现了IUserLoginDao借口中声明的方法,并且通过使用注视形式的事物与HibernateTemplate模板来对数据表进行操作。5.33专业信息DAO接口ISpecialtyDao ISpecialtyDao接口定于了用于对专业信息表进行操作的方法,其中包括增加新专业信息的方法insert()、将指定编号的专业设为已经结业的方法updateIsFinish()、按指定专业编号查询专业信息的方法findById()、查询所有专业信息的方法findByAll()以及查询所有未结业专业信息的方法findStubyAll().5.34专业信息DAO接口实现类SpecialtyDao SpecialtyDao类继承了HibernateDaoSupport类,实现了ISpecialtyDao借口中声明的方法,并且通过使用注释形式的事物与HibernateTemplate模板来对数据表进行操作。5.35课程信息DAO接口ICourseDao 在ICourseDao接口中定义了对课程信息表进行操作的方法,其中主要是根据不同条件查询课程信息的方法。5.36课程信息DAO借口实现类CourseDao CourseDao类继承了HibernateDaoSupport类,是想了ICourseDao接口中声明的方法,并且通过使用注视形式的事物与HibernateTemplate模板来对数据表进行操作。5.37学生信息DAO接口IStuUserDao IStuUserDao接口用于定义对学生信息表进行操作的方法,其中insert()方法用于增加一个新的用户信息,findById()方法用于按照指定的编号查找学生信息,findSelect()方法用于查询学生可以选择的课程,findSelected()方法用于查询学生已经选择过的课程信息.5.38学生信息DAO接口实现类StuUserDao StuUserDao类继承了HibernateDaoSupport类,实现了IStuUserDao接口中声明的方法,并且通过使用注释形式的事物与HibernateTemplate模板来对数据表进行操作。8.运行设计8.1 运行环境1. 硬件环境要求(1)客户机要求本系统对客户端的要求不高,一般的硬件环境就可满足要求,参考配置如下:CPU: Celeron(R) 1.8GHz内存:DDR 1G硬盘:120G 7200转/min8.2运行模块的组合学生用户模块管理人员模块运行模块登陆模块9.系统详细设计9.1总体设计9.11设计原则(1)可靠性 系统应该满足可靠性设计要求,并能保证系统长期安全的运行;(2)安全性 系统应该具有必要的安全保护和密码保护措施;(3)容错性 系统应该具有容错能量,有抗干扰能量。对各类用户的误操作有提示或者自动消除能量;(4)实用性 注重运用成熟而且实用的技术,使系统能能产生良好的社会效益和经济效益;(5)易操作性 坚持最终面向用户的原则,建立友好的用户界面,使用户操作简单直观,易于掌握。9.12软件结构该系统按照不同的功能可以划分为用户管理模块,学生模块和管理模块。系统功能结果图如下:用户登录学生模块用户管理模块管理模块用户注册修改密码输入基本信息查询可选课程选择课程查询已选课程查询个人信息修改专业信息增加新课程信息修改课程信息信息统计增加专业信息9.2详细设计9.21界面设计(1)通过如下的打登录界面,能够保护系统的安全性:(2)下面是管理员系统的主界面,通过菜单可以实现各个功能模块:(3)下面是学生系统的主页面,通过菜单实现各个功能:9.3系统功能模块设计9.31用户模块(1)用户注册流程 用户注册流程功能主要针对学生用户,学生注册的具体流程如下图所示。进入注册页面后输入登录账号等注册信息,然后系统会判断用户输入的登录账号是否已被占用,如果被占用则返回注册页面并给出提示;如果没被占用。则把用户信息写入数据库。如何进入输入用户基本信息页面。 学生注册输入注册信息判断注册账号是否被占用将注册信息写入数据库进入填写基本信息页面(2)用户注册JSP页面在系统首页中单击“新用户注册”超链接,就进入到reg.jsp页面。其运行效果如下:在该页面中使用Strus的标签库创建表单对象并在表单对象中分别加入用户名,密码,确认密码以及电子邮箱等表单元素用于输入信息,然后通过reg.do请求用户注册控制器中的注册新用户的方法来注册一个新用户用户注册成功后会进入到学生基本信息页面addStruInfo.jsp,如图:填写基本信息页面中,需要用户输入个人信息以及选择所学专业。(3)用户登录流程用户流程图如下:用户登录输入登录信息验证用户名 密码判断用户身份管理模块首页判断是否填写基本信息填写基本信息学生模块首页(4)用户登录JSP页面用户登录页面index.jsp也是该系统的首页,主要用于输入用户登录信息,进行登录操作,页面运行效果如下:(5)密码修改流程密码修改流程图如下:密码修改从当前会话中获取登录账号输入验证身份信息与新密码验证用户身份更新密码生产提示信息返回(6)密码修改JSP页面用户选择密码修改连接进入密码修改JSP页面:9.32管理模块管理模块主要实现了管理专业信息,课程信息以及对学生选课情况进行统计输出的功能。在此模块中使用了一个框架页面manager.jsp,其代码如下: 其中topFrame部分用于显示管理模块的主菜单页面top.jsp,该页使用了热点地图技术将图片中的固定区域设置为超链接。页面运行结果如下:(1) 专业管理流程专业管理的流程图如下:专业管理增加新专业设置为已结业输入新专业信息显示出未结业专业写入数据库设置为不可选更新数据库(2)专业管理页面 在top.jsp页面中单击“专业管理”超链接,将进入showSpecialty.jsp页面,其中显示了所有的专业信息。如下图所示。通过“设置为已结业”超链接可以将对应的专业设置为已结业,这样新用户就不能注册为该专业的学生了。showSpecialty.jsp页面直接使用EL表达式读取保存在请求中的专业信息,并将其显示在页面中 单击“增加新专业”按钮可以进入增加一个新的专业页面addSpecialty.jsp,在该页面中输入新专业信息后,点击“确定”按钮,即可新建一个专业。(3)课程管理流程 该流程图如下:课程管理增加新课程根据条件查询课程选举课程所属专业,输入课程信息显示课程详细信息写入数据库设置为不可选更新数据库(4)课程管理页面 课程管理包括3个页面,即按照指定条件搜索课程页面showCourse.jsp,增加新课程页面addCourse.jsp以及显示课程详细信息并将课程设置为不可选页面courseInfo.jsp。showCourse.jsp页面根据用户输入的条件搜索符合条件的课程,并显示。页面运行效果如下:在该页面中单击“增加新课程”按钮,将进入到addCourse.jsp页面,此页面主要用于创建新的课程该页面运行效果如下:另外单击查询出来的课程名称,将进入courseInfo.jsp页面。该页面主要用于查询课程的详细信息,也可在其中通过标签来判断此课程学生师傅可以选择,如果可选,则通过“设置为不可选”超链接将课程设置为不可选(5)信息统计流程 该流程图如下:信息统计输入条件查询课程显示查询到的课程查看课程信息与听课学生输出PDF文档输出Excel文档(6)信息统计页面信息统计页面主要由用于搜索课程信息的showStat,jsp页面与显示听课学生的stuList.jsp页面构成。在showStat.jsp页面中,按照专业,授课教师姓名以及课程名称搜索出满足添加的课程,并显示在页面中该页面运行效果如下:单击“上课学员名单”列中某一课程对应的“查看”按钮后,程序将调用专业管理控制器中的stuList()方法将课程信息以及选择了该门课程的学生查询出来,并显示在stuList.jsp页面中。该页面运行效果如下:(7)修改密码 修改密码时,直接在updatePow.jsp页面中通过update.do请求用户模块中的用于修改密码的控制器类即可。在这个请求中传递了一个type参数,其值为m表示这个修改密码请求时管理模块发出的,在完成请求后还有返回到管理模块的对应页面。该页面一下效果如下:8)退出系统 退出系统是在exit.jsp页面中完成,在该页面中只需将当前的用户会话销毁,并跳出框架返回到项目的首页即可。页面文件的代码如下:9.33学生模块学生模块中的大部分功能都是由StuUserAction类来完成的,StuUserAction继承了DispatchAction类,是一个Struts的控制器。在StuUserAction类中编写insert()方法,用于向数据库插入学生的基本信息;编写welcome()方法此方法将根据学生编号查询出学生的基本信息,然后返回到学生模块的首页welcome.jsp页面;编写exit()方法,该方法将对于退出系统的请求,在该方法中首先将用户会话对象销毁,然后返回项目首页;编写selected()方法,用于查询学生已经选过的课程;编写select()方法,用于查询学生可选的所有课程;编写selctting()方法,用于执行学生选课操作,将学生标号与所选的课程编号关联起来;编写courseInfo()方法,用于查询课程的详细信息。(1)学生基本信息页面学生进步信息页面welcome.jsp是学生模块的首页,主要用于显示学生的基本信息。学生在已填写过基本信息的情况下,输入用户名与密码,单击“登录”按钮,就进入到该页面,其运行效果如下:(2) 选择新课程页面 在学生模块页面中单击“选择新课程”超链接,程序将调用学生模块控制器类StuUserAction中的select方法将此学生可以选择的所有课程查询出来,然后显示在select.jsp页面中,其运行效果如下:(3) 查询已选课程页面Selected.jsp页面用于显示学生已选过的课程信息,学生可以从中查询到自己已经学过哪些课程,正在学习哪些课程,其运行效果如下:(4) 课程详细信息页面在选择新课程与查询已选课程的页面中通过单击对应的课程名都可以进入到courseInfo.jsp页面,该页面用于显示课程的详细信息,在返回时根据URL中的path参数自动判断应该返回到哪一页面,其运行效果如下:(5)修改登
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村生态环境保护与利用合同
- 销售合同审核与谈判策略模板
- 早期科学阅读课件
- 纪念五四运动主题课件
- 2025年嵌入式系统设计师考试嵌入式系统与智慧煤炭结合试卷
- 早产儿护理教学课件
- 沛县二模数学试卷
- 南雅小升初入学数学试卷
- 2024年齐齐哈尔市第七医院招聘笔试真题
- 去年小学六年级数学试卷
- 胶原蛋白培训课件
- 2025至2030中国科研服务行业发展趋势分析与未来投资战略咨询研究报告
- 肿瘤患者的临终关怀及护理
- 2025年6月浙江省高考地理试卷真题(含答案解析)
- CCU护士进修出科汇报
- 解表药白芷讲课件
- 人行金库管理制度
- 供应链管理 课件 6-供应链生产管理
- 2025版权转让合同模板
- 口腔科台账护理工作规范
- T/CUWA 60054-2023饮用水纳滤阻垢剂性能试验方法
评论
0/150
提交评论