使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。 Hibernate通过xml配置文件设置java类与数据库表之间的映射。
Spring(提供对业务逻辑层的支持):是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,提供促进了松解耦。当应用了Ioc技术,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建依赖的对象。应用对象被声明式地组合,典型的是在一个xml文件里。Spring有如下特点:轻量--从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。控制反转--Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反--不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。面向切面--Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的--完成业务逻辑--仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。容器--Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建--基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例--以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。框架--Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。Spring的这些特性可以使代码更干净、可管理、更易测试代码。Spring的一个最大的目的就是使J2EE开发更加容易。同时,Spring之所以与Struts、Hibernate等单层框架不同,是因为Spring致力于提供一个以统一的、高效的方式构造整个应用,并且可以将单层框架以最佳的组合揉和在一起建立一个连贯的体系。可以说Spring是一个提供了更完善开发环境的一个框架,可以为POJO(Plain Old Java Object)对象提供企业级的服务。
Struts2:是在 struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开。Struts2框架的大概处理流程如下: 1、加载类(FilterDispatcher)
2、读取配置(struts配置文件中的Action)
3、派发请求(客户端发送请求)
4、调用Action(FilterDispatcher从struts配置文件中读取与之相对应的Action )
5、启用拦截器(WebWork拦截器链自动对请求应用通用功能,如验证)
6、处理业务(回调Action的execute()方法)
7、返回响应(通过execute方法将信息返回到FilterDispatcher)
8、查找响应(FilterDispatcher根据配置查找响应的是什么信息如:SUCCESS、ERROR,将跳转到哪个jsp页面)
9、响应用户(jsp--->客户浏览器端显示)
10、struts2标签库(相比struts1的标签库,struts2是大大加强了,对数据的操作功能很强大)。
AJAX:即Asynchronous Javascript And Xml(异步Javascript和XML)。
通过AJAX,Javascript可使用Javascript的XMLHttpRequest对象直接与服务器进行通信,即在不刷新页面的情况下完成页面与服务器的数据交互。
1.4.3 B/S模式
B/S(Browser/Server,浏览器/服务器)模式又称B/S结构。它是随着Internet技术的兴起,对C/S模式应用的扩展。在这种结构下,用户工作界面是通过IE浏览器来实现的。随着Java Web技术的不断发展,B/S结构在企业级应用中得到广泛的认可。
1.4.4 开发环境
操作系统:Windows 7;
运行工具:IE 7.0
开发工具:Eclipse JEE
数据库: Oracle 11g
服务器: Tomcat 6.0
第二章 需求分析
2.1系统定义
系统定义阶段的总体任务是根据用户的具体要求解决系统"做什么?"。具体任务可以分为三部分:问题定义,可行性研究和需求分析。问题定义必须回答的关键问题是"要解决的问题是什么?"。首先进行有关信息的收集,分析,明确用户提出的要求。然后把用户的要求准确,完整的描述下来,产生的结果是问题描述书。接下来要做的工作是可行性研究,它要回答"用户提出的问题可否可解?可解的价值如何?",产生的结果是可行性报告。然后进行需求分析。在前两个步骤完成后,着手进行系统需求分析的工作,其目的是明确该系统"做什么?"。该阶段结束时要产生软件计划,需求说明书等文档。对于小型软件来说,可以不进行可行性研究,相应的文档也可以省去,但需求说明书是不可少的。
2.2 系统开发设计思想
本系统采用的是典型的J2EE平台下的三层结构,分为持久层、控制层、视图层。在持久层使用Hibernate作为持久层框架,在控制层使用Struts2作为控制层框架,在试图层大量使用Ajax技术提供更好的用户体验,使用Spring框架为系统提供支持。
2.3 功能需求
软件需求分析阶段的工作和任务是在对问题进行调查了解的基础上,用一定得方法和手段对问题进行分析建模。需求分析的结果应该反映的是系统必须完成哪些工作,而不是怎么完成它的工作。它的主要用途是为系统提供依据和保障。
银行信息管理系统的一个最主要的目的就是为管理员提供方便快捷的信息处理,因此其主要的功能有如下7条。
① 能够快速添加计算机设备的信息。
② 能够方便的对计算机设备及其相关设备进行管理。
③ 能够快速添加文章的信息。
④ 能够方便的对文章信息进行管理。
⑤ 能够快速添加用户信息。
⑥ 能够方便的对用户信息进行管理。
⑦ 能够方便的对机构信息进行添加和管理。
系统结构图如图2-1:
图2-1 功能模块图
2.4 数据需求
1. 员工信息
员工信息包括员工的自然信息(员工号、员工、性别、出生日期、部门、职务、密码等描述信息)。
2. 机构信息
机构信息包括(机构编号、机构名称、上级单位、机构描述信息)。
3. 部门信息
部门信息包括(部门编号、部门名称、所属机构、部门类别)。
4. 文章信息
文章信息包括(文章编号、文章标题、文章副标题、摘要、作者编号、作者、发表日期、文章内容信息)。
5. 计算机及其相关设备信息
计算机及其相关设备信息包括(设备编号、设备品牌型号、CPU型号、内存大小、硬盘大小、操作系统、IP地址、MAC地址、使用人id、使用人、使用人单位、工作间号、责任人编号、用途、购买时间、领用时间、设备类型信息)。
2.5 数据需求
1. 实用性
本系统是本着实用的原则进行开发的,本着按照用户需求的原则开发此系统。为的是给用户带去更多的使用价值。
2. 易维护性
易维护是一个优秀的软件所必备的性能,由于管理员并非专门的软件开发人员,所以在开发设计的时候要考
上一篇:
软件过程管理论文2013
下一篇:
数字水印技术的无线传感器网络安全机制研究思考