1. 项目名称:试题库系统 日期: 2007/10-2007/11 运行环境: windows2003 server,tomocat5/0/28 数据库: SQLServer2005 开发语言: Java,JSP,HTML 开发工具: eclipse3/2+myeclipse5/0,powerdesigner12,mysql-workbench,mysql-front 版本控制: subversion1/3/2 项目描述: 试题库系统是由我们开发小组成员开发出来的一款通用的试题库系统.它面向绝大多数中小型学校提供管理员管理和用户在线注册,在线修改资料,在线考试的解决方案.旨在增强学校管理事体,更新题型,在线考试的自动化程度,使通常繁杂的考试流程变得条理清晰,防止资源浪费,提高学校管理效率.系统能够帮助试题库管理员更好地管理用户及相关信息,更加轻松地完成注册,审计服务等工作,为校园管理创造更多价值. 试题库系统采用Struts1/2作为控制层框架,使用hibernate3/1实现数据持久层,使用SQLServer数据库维护系统数据,使用subversion1/3/2实现版本控制. 对于一个试题库系统,其使用者应该具有两种,一种是普通的用户,另外一种即为系统的管理员.所以本系统应该针对两种不同的使用者具备不同的功能: 1,用户部分:新用户注册,用户修改资料,用户在线考试.其中在线考试是整个试题库系统的核心. 2,管理员部分:管理员在后台对整个系统进行维护,这其中主要包括以下功能: 用户的查询,删除;题型的浏览,添加,修改,删除;课程的浏览,添加,修改,删除;知识点的浏览,添加,修改,删除;题目的添加,查询,修改,删除;试卷的添加,查询,修改,删除;学生答卷的添加,查询,修改,删除. 试题库系统中用到了分页技术,当对数据库进行查询时,有时候查询结果记录比较多,这时如果在同一个页面中显示所有记录便会很不方便,分页计数可以很好的解决这个问题.另外组卷模块是系统的核心模块之 在数据库设计过程中,我们采用了powerdesigner12对数据进行建模,划分实体,抽取关系模式,规范化,然后以模型驱动的方式形成数据库脚本.整个数据库的规模为8张表. 在设计数据持久层的过程中使用了hibernate技术简化数据访问功能的实现,并通过hibernate的查询缓存特性及有效的检索策略提供最大的性能优化.POJO对象采用myeclipse5/0的hibernate特性自动生成,而SessionFactory类,以及数据访问类DAO是自主设计完成的,比生成代码新添加了事务特性,批量更新与删除,分页逻辑以及动态查询等功能,并且提供了HQL,QBC及操作实体对象等丰富的接口.这里使用了工厂模式来设计具体业务的DAO实现,以获得更大的可扩展性.业务层分为业务逻辑层与业务外观层,业务逻辑层调用DAO类完成某项业务,业务外观层是工具类,采用Facade模式简化了Action中的调用.用户资料管理与学生在线考试模块中都包括了基本的增删改查,动态查询以及数据导入导出功能.其中导入导出是基于Microsoft Office中的excel的操作,采用jexcelapi来完成excel的读取与写入.最后采用黑盒测试. 责任描述: 本人作为开发小组的一员,参与了软件设计和开发的过程,主要负责数据库和数据持久层以及用户在线考试功能的设计,并参与了数据持久层的编码工作. 2.项目名称:校园新闻发布系统 日期: 2007/09-2007/10 运行环境: windows2003 server,tomocat5/0/28 数据库: SQLServer2005 开发语言: Java 开发工具: eclipse3/2,Dreamwaver MX 2004,Flash MX 2004,photoshop 项目描述: 校园新闻发布系统是为校园新闻提供的全面的网站解决方案. 修改新闻发布系统允许用户有两种身份:游客,普通用户,管理员.每种身份操作起来都很方便,快捷.管理员登录后才可发布的新闻,这些信息任何人都可以查看,而对新闻的修改,删除,只有管理员才可以做.为了防止网站遭受破坏,管理员每次离开都需注销账号. 网站分为前台与后台,前台的主要功能为游客提供,后台功能为管理员提供.前台为游客设置了浏览全部新闻,分类浏览新闻,搜索新闻等功能.相对应的后台设置了管理功能,并且在后台增加了系统管理功能.后台功能主要是管理员对整个网站的管理功能,包括身份验证,用户管理,新闻发布,新闻修改,新闻删除和账号注销.身份验证模块可以完成对管理员身份检验工作,非管理员不容许登录. 新闻发布系统面向各个层次的网络用户,为了使它适应更多的用户使用,系统的界面设计应该尽量做到简洁,友好,方便,易用,用户不需要专门的学习便可熟练操作. 本系统采用B/S模式,服务器端使用JSP进行动态网页的开发. 在Browser/Server系统中,用户可以通过浏览器向分布在网络上的许多服务器发出请求.Browser/Server结构极大地简化了客户机的工作,客户机上只需安装,配置少量的客户端软件即可,服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成. 新闻发布系统可分为五个模块:数据库访问模块,新闻查看模块,新闻发布模块和新闻管理模块. 利用JavaBean封装对数据库的操作,主要包括链接数据库,添加,修改,删除,查询数据表,关闭链接等功能.当JSP页面中需要访问数据库时直接调用这个JavaBean即可. 由于在本系统的多个JSP页面中都需要访问数据库,因此使用一个JavaBean来专门完成数据库的链接,访问等操作.把数据库操作封装在一个类中,每次需要访问数据库时只需实例化这个类,并利用类里面提供的各种共有方法来完成对应的功能即可.这样,既可以节省编码时间,也提高了代码的利用率. 数据访问层DAO类采用反射机制,使用面向对象的方式实现数据持久,简化了数据访问层的操作和类的数量.在这种方式下,每一个业务定义自己的实体对象,这个DAO类使用实体对象来映射数据库中的表,通过操作对象的方式实现数据的增删改查.此外,对实体对象的组织使用约定的方式代替配置文件,实体对象格式必须参照规范和数据库中的表对应,并设置额外的属性保持数据库的约束.这样做降低了调用的复杂性,更注重简单和实效.这个DAO类实现了对JDBC的封装,提供了通过对象操作数据的方法,同时为了保持sql语句的灵活性也提供了使用sql语句操纵数据的方法. 控制器部分采用中心控制器DipatchServlet负责各个模块中页面的跳转与初始化工作,目的是降低代码的耦合度,增强扩展性. DispatchServlet中定义了跳转字符串来组织跳转的页面,这样所有的跳转都将转向这个Servlet,由它做初始化操作并转向相应的页面. 责任描述: 在该网站的设计中,我担任开发小组组长,制定开发计划,组织小组例会,监督项目进度和项目完成质量.同时也参与了网站的设计与后台管理系统的编码. 3.项目名称:食品库存管理系统 日期: 2006/05-2007/06 运行环境: windows2003 server,tomocat5/0/28 数据库: SQLServer2005 开发语言: Java 开发工具: JBuilder2006 项目简介: 该系统是针对某食品公司实现库存管理自动化的解决方案. 系统包括的模块有: 1) 系统管理模块; 2) 代码维护模块; 3) 物资代码维护模块; 4) 入库操作模块; 5) 出库操作模块; 6) 存货管理模块; 7) 统计查询模块. 包含的主要功能有: 入库,出库;库存盘点,明细账查询,平衡控制,报警;历史记录,用户管理与权限等. 责任描述:在该系统的开发中,我负责了代码维护与物资代码维护模块的编码工作. 4. 项目名称:病虫害专家系统 日期:2006/10-2006/11 运行环境:windows2003 server,tomocat5/0/28 数据库:SQL Server2005 开发语言:Java 开发工具:JBuilder,Dreamwaver MX 2004,photoshop 项目简介: 该系统是针对马铃薯病害的基于案例推理的专家系统,旨在借鉴案例库中马铃薯病害的历史案例推断当前病害发生情况,并形成统计图表. 系统包括的功能有: 1) 案例库管理; 2) 案例管理; 3) 案例检索; 4) 案例匹配及相似度计算; 5) 结果汇总与分析. 该系统的设计中使用了M2模式.考虑到系统规模较小,且对并发操作要求不高,注重数值的运算和结果的统计,采用了4层的模式.数据访问层DAO提供了基本的增删改查方法,同时也提供了一些级联操作;DAO的访问接口十分丰富,可以涵盖所有的查询以及存储过程的调用;业务层提供了大量的运算方法;控制器与表示层由普通Servlet和JSP构成. 责任描述: 在该系统的开发中,我参与了全部4层的设计和编码工作. |
|