辅修新生录取系统设计_第1页
辅修新生录取系统设计_第2页
辅修新生录取系统设计_第3页
辅修新生录取系统设计_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、辅修新生录取系统设计电信学院 蒋金荣指导教师 刘勇摘要如今,许多大型企业的软件项目都是完全基于WEB的。大型企业对系统的结构的柔韧性、扩展性以及代码的重用性等等有很高的要求。近些年来,J2EE为企业应用搭建了一个标准的平台。开发一个复杂的Web应用不是一件轻而易举的事情,需要解决许多问题。比如,如何进行分层?每一层用什么技术加以实现?如何设计使得应用是松耦合的、灵活的、易扩展的?在不影响其它层的前提下,架构允许一些层被替换吗?应用如何处理像事务这样的容器级服务?本项目是为适应信息化的要求,使教务教学管理提高到计算机化的水平而设计的。辅修综合教学管理包括多项内容,本课题设计只是承建了其中的一部分

2、即:辅修新生录取系统。本人在设计系统的架构时采用了多层的体系结构,它们分别是表现层、业务逻辑层和持久化层。在表现层上使用了Struts框架,在业务逻辑层上使用了Spring框架,在持久化层上使用了Hibernate框架。设计系统时采用Eclipse工具和MyEclipse插件,并使用MySQL数据库来保存信息。本论文阐述了如何使用三个著名的框架来开发辅修新生录取系统。首先介绍了一些当今流行的框架技术和编程工具,接着对系统进行了需求分析,最后使用框架技术对系统进行了设计和实现。关键词:Struts;Spring;Hibernate;DAO一、 需求分析辅修新生录取系统应该提供的功能有为学生提供注

3、册并且预报名的功能,学生所在院系能对报名的学生进行审查,只有审查合格的学生才能提交给学校管理员,学校管理员登记缴费的学生,并为他们建立学生基本档案等功能。系统用例如图1:图 1系统用例图二、 系统设计MVC是一种经典的软件架构,其生成结构严谨的子系统化应用程序的有效性已得到证实。本系统架构按照MVC 的设计模式分为三层分别是表示层(Presentation)、业务层(Business)、数据层(Data)。表示层使用Struts应用框架作为实现框架,并将Spring的Web Application配置到Struts中。业务层和数据层使用Spring框架和Hibernate。处理了BO和DAO的

4、依赖,处理了接口和实现类的依赖,事务处理,在DAO层对Hibernate API的包装,在DAO层的异常包装转换。Hibernate完成ORM功能。基于Spring的表示层、商务层、数据层分层设计即使实现三层的松散耦合,又提供了集中配置的功能,使系统的各层功能明确,使系统的可维护性大大提高。(一) 页面设计1. 新生预报名student_registerWithClassID.jsp:学生根据班级帐号登陆页面student_register.jsp:学生个人信息注册页面student_register_success.jsp:学生注册成功页面student_signup.jsp:学生报名页面s

5、tudent_signup_success.jsp:学生报名成功页面student_destroy.jsp:学生取消报名时删除信息的确认页面2. 学生所在院系资格审查模块:department_admin_index.jsp:院管理员登陆主页面student.jsp:内嵌在department_admin_index.jsp中用于显示已经报名并等待院审查的学生信息列表页面printstuinfo.jsp:打印学生信息的页面3. 登记学生缴费模块:school_admin_student.jsp:校管理员登记学生缴费记录主页面school_student.jsp:学生缴费信息列表页面4. 录取新

6、生并建立档案模块:这一模块没有具体的页面,所需要的信息通过登记学生缴费模块时获取,并将信息写入到数据库中。(二) 类设计1. 表示层的类设计本系统做的时候将所有的View直接放在WebRoot目录下,将Model放在com.warzone.smms.manageSupMajorStudent.web.struts.form包下,Controller放在com.warzone.smms.manageSupMajorStudent.web.struts.action包中,由于Action需要调用业务逻辑层的接口,我就单独做了一个BaseAction放在 com.warzone.framework.

7、web.struts.action中。BaseAction主要完成对上下文文件的导入。Action的类图如图2。图 2 Action的类图2. 业务逻辑层的类设计由于SignupApply和StudentRecord没有必要建立Service,在com.warzone.smms.manageSupMajorStudent.service包中只建立了9个接口,com.warzone.smms.manageSupMajorStudent.service.serviceimpl包中的类是接口的实现类,在每一个实现类中都有一个或多个DAO接口类型的属性,通过Spring的配置文件application

8、Context.xml的bean工厂产生的DAO对象赋给该属性。因此,业务对象不依赖于任何的DAO接口的实现类,从而,保证了系统的松耦合和灵活性。3. 持久化层的类设计在持久化层采用了DAO(数据存取对象)设计模式,该对象抽象和封装了对数据源的所有操作。在com.warzone.smms.manageSupMajorStudent.dao包中有11个接口,分别声明了对11个表的进行存取操作的所有方法,在com.warzone.smms.manageSupMajorStudent.dao.hibernate包中的11个类是基于Hibernate持久化的实现类。使用DAO设计模式的优点是:当更换持

9、久化策略时,如使用JDBC代替Hibernate,只需替换新的实现类即可,而不影响应用的其他部分三、 系统实现本系统采用如下的软件进行建模、开发和部署:(1) 建模工具Rose及Visio2003(2) 开发工具使用Eclipse3.1(3) Web容器使用tomcat5.0(4) Struts使用1.1(5) Hibernate使用3.0(6) Spring使用1.2(7) Java SDK使用1.5(8) 数据库使用mysql4.1在开发之前,要把Spring、Hibernate、Struts、mysql的jdbc驱动程序以及其它工具jar库导入Eclipse的构建路径中。可以先到Spri

10、ng的官方网站上下载Spring的程序包,解压缩以后,从lib文件夹下得到所需的库文件。(一) 表示层的构建本文以班级登录页面student_registerWithClassID.jsp为例来说明使用Struts构建Web应用的表现层:if(classaccountservice.validateClassAccount(classid,password)return (new ActionForward(/student_register.jsp);return (new ActionForward(mapping.getInput();在校生登录班级帐号效果如图3:图 3 在校生登录班级

11、帐号图(二) 持久化层的构建由于本应用使用Hibernate框架实现持久化层,因此,需要为每个业务对象类创建对象-关系映射文件,然后,在Spring框架的配置文件applicationContext.xml中进行配置,通过Spring把表示层和持久化层集成在一起。this.getHibernateTemplate().find(hql,(Object)ClassID);(三) 业务逻辑层的构建Spring内建有对Hibernate的支持,所以我们的DAO实现类将扩展HibernateDaoSupport类,这个类让我们容易就能获得HibernateTemplate的引用。该类是一个帮助类,能简

12、化对HibernateSession的编码和处理Hibernate异常。classaccountdao.findByClassID(classid);四、 结论与小结通过这次的毕业设计,我对Struts、Spring、Hibernate这些流行框架有了一定的了解,并且可以用Eclipse工具独立完成了基于这些框架的辅修新生录取系统,圆满的完成了自己的毕业设计任务。在毕业设计过程中碰到了许多问题,刚开始有点畏惧,在老师和队友们的帮助下,我渐渐学会了怎么去处理问题。比如一个空指针异常错误,可能是数据库中没有相关数据,可能是你没有导入关联的文件,也有可能是你在用一个List时,只是申明而没有初始化,这些都可能会抛出空指针异常。遇到一个问题,我们学会了冷静,学会了设置断点单步调试,找到出错的地方,并且解决问题。在设计中还接触到了以前没有学到的知识,这就要求自己去学习。通过向老师、同学请教或是自己到图书馆去查阅资料,这也是对我自学能力的一种肯定。当然,这次设计也有很大的不足之处,由于时间的关系,很多功能没有得到很好的完善,也有很多地方作的不尽如人意。但我想它会对我们今后的工作和学习带来很多经验性的指导。五、 主要参考资料1. Deepak Alur John Crupi. J2EE 核心模式. 机械工业出版社,20052. karl E.Wiegers. 软件需求. 清华大学出版

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论