通用企业信息化网站平台设计与实现.docx
《通用企业信息化网站平台设计与实现.docx》由会员分享,可在线阅读,更多相关《通用企业信息化网站平台设计与实现.docx(62页珍藏版)》请在冰豆网上搜索。
通用企业信息化网站平台设计与实现
摘要I
ABSTRACTII
1引言
1.1研究的现状
中小企业信息化随着互联网的普及经历了长足的发展,但不可否认中小企业信息化建设整体水平还处于起步和发展阶段,同时它也存在一系列问题。
一个是广大中小企业对信息化认识不够,另外一个方面是高昂的信息化费用导致了中小企业不堪重负。
正是因为这两个方面的原因,才在很大程度上阻碍了中小企业信息化进程,也出现了现在中小企业信息化应用面积不广、应用程度不深等现象,但是企业信息化建设已经被全球信息化飞速发展和信息应用的快速普及推向市场最前沿。
企业信息化建设已经不是企业的效益工程,已经成为企业的基本生存工程,如果企业在信息化建设过程中失去了有利地位,肯定会被社会无情地淘汰。
1.2研究的意义
实现企业信息化有非常重要的意义。
它有利于提升企业形象。
企业信息化信息容量大,企业可以把任何想让客户及公众知道的内容放入信息化网站中;此外,建立企业信息化的投入比其它广告方式要低得多;互联网是一个不受时空限制的信息交换系统,它能以最直接、最丰富和最快捷的方式给企业带来高效率和利益,对塑造企业形象有重要意义。
它也可以全面详细地介绍企业及企业产品。
企业信息化网站的一个最基本的功能,就是能够全面、详细地介绍企业及企业产品。
事实上,企业可以把任何想让人们知道的信息放入网站供人浏览。
如企业简介、企业的人员、厂房、生产设施、研究机构、产品外观、功能及使用方法等。
它还可以利用网站及时得到客户反馈的信息,可以与客户保持密切联系,可以与潜在客户建立商业联系。
企业信息化网站可以开设留言板或是在线咨询,可以利用它得到客户反馈,建立商业联系等。
总之,实现企业信息化有非常重大的意义。
2系统设计基本原理与方法
2.1J2EE技术简介
目前,Java2平台有3个版本,它们是适用于小型设备和智能卡的Java2平台Micro版(Java2PlatformMicroEdition,J2ME)、适用于桌面系统的Java2平台标准版(Java2PlatformStandardEdition,J2SE)、适用于创建服务器应用程序和服务的Java2平台企业版(Java2PlatformEnterpriseEdition,J2EE)。
J2EE是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。
J2EE技术的基础就是核心Java平台或Java2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特性、方便存取数据库的JDBCAPI、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(EnterpriseJavaBeans)、JavaServletsAPI、JSP(JavaServerPages)以及XML技术的全面支持。
其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。
J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。
通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持EnterpriseJavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。
2.2适应Internet时代需求的B/S体系结构
在B/S模式中,客户端运行浏览器软件。
浏览器以超文本形式向Web服务器提出访问数据库的要求,Web服务器接受客户端请求后,将这个请求转化为SQL语法,并交给数据库服务器,数据库服务器得到请求后,验证其合法性,并进行数据处理,然后将处理后的结果返回给Web服务器,Web服务器再一次将得到的所有结果进行转化,变成HTML文档形式,转发给客户端浏览器以友好的Web页面形式显示出来。
B/S模式管理信息系统基本上克服了C/S模式管理信息系统的不足,其主要表现在:
(1).系统开发、维护和升级的经济性。
对于大型的管理信息系统,软件开发、维护与升级的费用是非常高的,B/S模式所具有的框架结构可以大大节省这些费用,同时,B/S模式对前台客户机的要求并不高,可以避免盲目进行硬件升级造成的巨大浪费。
(2).B/S模式提供了一致的用户界面。
B/S模式的应用软件都是基于Web浏览器的,这些浏览器的界面都很相似。
对于无用户交互功能的页面,用户接触的界面都是一致的,从而可以降低软件的培训费用。
(3).B/S模式具有很强的开放性。
在B/S模式下,外部的用户亦可通过通用的浏览器进行访问。
2.3MYSQL数据库技术概述
MySQL是目前最为流行的开放源代码的数据库,是完全网络化的跨平台的关系型数据库系统,它是由瑞典的MySQLAB公司开发、并布并支持的,于1995年建立。
它的象征符号是一只名为Sakila的海豚,代表着MySQL数据库和社团的速度、能力、精神和优秀品质。
目前MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,很多公司向开放源代码的数据库系统迁移,从而降底花费成本。
MySQL可以称得上是目前运行速度最快的SQL语言数据库。
除了具有许多其它数据库所不具备的功能和选择外,MySQL数据库是一种完全免费的产品,用户可以直接从网上下载数据库,用于个人或商业用途,而不必支付任何费用。
MySQL具有功能强大、支持跨平台、运行速度快、支持面向对象、安全性高、成本低、支持各种开发语言、数据存储量大、支持强大的内置函数等特点。
2.4AJAX技术概述
AJAX全称为“AsynchronousJavaScriptandXML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。
国内通常的读音为“阿贾克斯”和阿贾克斯足球队读音一样。
Web应用的交互如Flickr,Backpack和Google在这方面已经有质的飞跃。
这个术语源自描述从基于网页的Web应用到基于数据的应用的转换。
在基于数据的应用中,用户需求的数据如联系人列表,可以从独立于实际网页的服务端取得并且可以被动态地写入网页中,给缓慢的Web应用体验着色使之像桌面应用一样。
虽然大部分开发人员在过去使用过XMLHttp或者使用Iframe来加载数据,但仅到现在我们才看到传统的开发人员和公司开始采用这些技术。
就像新的编程语言或模型伴随着更多的痛苦,开发人员需要学习新的技巧及如何最好利用这些新技术。
许多重要的技术和AJAX开发模式可以从现有的知识中获取。
例如,在一个发送请求到服务端的应用中,必须包含请求顺序、优先级、超时响应、错误处理及回调,其中许多元素已经在Web服务中包含了,就像现在的SOA。
AJAX开发人员拥有一个完整的系统架构知识。
同时,随着技术的成熟还会有许多地方需要改进,特别是UI部分的易用性。
AJAX开发与传统的CS开发有很大的不同。
这些不同引入了新的编程问题,最大的问题在于易用性。
由于AJAX依赖浏览器的JavaScript和XML,浏览器的兼容性和支持的标准也变得和JavaScript的运行时性能一样重要了。
这些问题中的大部分来源于浏览器、服务器和技术的组合,因此必须理解如何才能最好的使用这些技术。
综合各种变化的技术和强耦合的客户服务端环境,AJAX提出了一种新的开发方式。
AJAX开发人员必须理解传统的MVC架构,这限制了应用层次之间的边界。
同时,开发人员还需要考虑CS环境的外部和使用AJAX技术来重定型MVC边界。
最重要的是,AJAX开发人员必须禁止以页面集合的方式来考虑Web应用而需要将其认为是单个页面。
一旦UI设计与服务架构之间的范围被严格区分开来后,开发人员就需要更新和变化的技术集合了。
2.5Freemarker模板语言技术概述
FreeMarker是一个模板引擎,是一个基于模板生成文本输出的通用工具,使用纯Java编写。
它被设计用来生成HTMLWeb页面,特别是基于MVC模式的应用程序。
虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据。
它不是一个Web应用框架,而适合作为Web应用框架一个组件。
也与容器无关,因为它并不知道HTTP或Servlet;FreeMarker同样可以应用于非Web应用程序环境。
FreeMarker更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库。
更重要的是它是免费的。
FreeMarker特性
1、通用目标
能够生成各种文本:
HTML、XML、RTF、Java源代码等等。
易于嵌入到你的产品中:
轻量级;不需要Servlet环境。
插件式模板载入器:
可以从任何源载入模板,如本地文件、数据库等等。
你可以按你所需生成文本:
保存到本地文件;作为Email发送;从Web应用程序发送它返回给Web浏览器。
2、强大的模板语言
所有常用的指令:
include、if/elseif/else、循环结构。
在模板中创建和改变变量。
几乎在任何地方都可以使用复杂表达式来指定值。
命名的宏,可以具有位置参数和嵌套内容。
名字空间有助于建立和维护可重用的宏库,或者将一个大工程分成模块,而不必担心名字冲突。
输出转换块:
在嵌套模板片段生成输出时,转换HTML转义、压缩、语法高亮等等;你可以定义自己的转换。
3、通用数据模型
FreeMarker不是直接反射到Java对象,Java对象通过插件式对象封装,以变量方式在模板中显示。
可以使用抽象(接口)方式表示对象(JavaBean、XML文档、SQL查询结果集等等),告诉模板开发者使用方法,使其不受技术细节的打扰。
4、为Web准备
在模板语言中内建处理典型Web相关任务(如HTML转义)的结构。
能够集成到Model2Web应用框架中作为JSP的替代。
支持JSP标记库。
为MVC模式设计:
分离可视化设计和应用程序逻辑;分离页面设计员和程序员。
5、智能的国际化和本地化
字符集智能化(内部使用UNICODE)。
数字格式本地化敏感。
日期和时间格式本地化敏感。
非US字符集可以用作标识(如变量名)。
多种不同语言的相同模板。
2.6MVC三层开发模型
开发模型采用MVC三层模型。
模型-视图-控制结构是交互式应用程序广泛使用的一种体系结构。
它有效地在存储和展示数据的对象中区分功能模块以降低它们之间的连接度,这种体系结构将传统的输入、处理和输入模型转化为图形显示的用户交互模型,或者换一种说法,是多层次的Web商业应用;MVC体系结构具有三个层面:
模型(Model)、视图(View)和控制(Controller),每个层面有其各自的功能作用,MVC体系结构如下:
图2-1MVC三层结构图
模型层负责表达和访问商业数据,执行商业逻辑和操作。
也就是说,这一层就是现实生活中功能的软件模拟;在模型层变化的时候,它将通知视图层并提供后者访问自身状态的能力,同时控制层也可以访问其功能函数以完成相关的任务。
视图层负责显示模型层的内容。
它从模型层取得数据并指定这些数据如何被显示出来。
在模型层变化的时候,它将自动更新。
另外视图层也会将用户的输入传送给控制器。
控制层负责定义应用程序的行为。
它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作;在一个图形界面中,常见的用户输入包括点击按钮和菜单选择。
在Web应用中,它包括对Web层的HTTPGET和POST的请求;控制层可以基于用户的交互和模型层的操作结果来选择下一个可以显示的视图,一个应用程序通常会基于一组相关功能设定一个控制层的模块,甚至一些应用程序会根据不同的用户类型具有不同的控制层设定,这主要是由于不同用户的视图交互和选择也是不同的。
在模型层、视图层和控制层之间划分责任可以减少代码的重复度,并使应用程序维护起来更简单。
同时由于数据和商务逻辑的分开,在新的数据源加入和数据显示变化的时候,数据处理也会变得更简单。
3系统规划与系统分析
3.1系统可行性分析
经济可行性:
由于开发此通用企业信息化平台所需的硬件(计算机及相关硬件)和软件环境(J2EE+MYSQL),市场上都容易购买到或从相关网站下载,系统成本主要集中在本平台系统的开发与维护上,对用户不造成过重的经济负担。
而一旦此平台投入使用,不仅可以提高企业知名度,减少工作强度,提高工作效率,而且方便了用户的购买,打破了传统的销售模式,极大限度的方便了用户,也为平台的进一步推广创造了条件,而且,目标平台不是很复杂,开发的周期较短,人员经济支出不大,所节省的大量人力、财力产生的效益将远远大于本平台系统的开发成本,所以从经济方面讲开发此系统是可行的。
技术可行性:
通用企业信息化网站平台采用了当前流行的B/S结构和Internet网络技术。
主要是利用J2EE技术和MYSQL强大的数据库功能,有效地实现新闻发布系统和B2C电子商务系统的统筹开发。
J2EE技术和MYSQL技术均已发展成熟,完全可以支持系统开发。
社会可行性:
对于中小型企业而言,完全具备接受和使用改平台的条件。
通用企业信息化网站平台的建立使手工系统过度到人机系统,省力省时,方便精确。
操作可行性:
通用企业信息化网站平台界面友好可视化,简单容易操作,而且采用AJAX等异步交互方式,更增加了操作上的可行性。
作为开发者,我也尽可能地减少让用户难以操作或是难以理解的交互方式。
综上所述,该平台无论从经济上、技术上、社会上、还是操作上都具有相当的可行性。
当然,更重要的是,该平台是结合当前企业信息化的实际需要,可以满足企业信息化建设,带来经济利益,减轻人工操作的负担。
3.2业务流程图
业务流程图是直观描述系统业务处理由开始到结束的整个过程的非结构化图形工具,它可以描述一个系统的业务,也可以描述一项具体业务的处理过程。
新闻发布业务流程图,如图3-1:
图3-1新闻发布业务流程图
产品销售业务流程图,如图3-2:
图3-2产品销售业务流程图
管理员其它业务流程图,如图3-3:
图3-3管理员其它业务流程图
用户其它业务流程图,如图3-4:
图3-4用户其它业务流程图
用户下单业务流程图,如图3-5:
图3-5用户下单业务流程图
用户注册流程图,如图3-6:
图3-6用户注册流程图
4系统总体设计
4.1总体结构设计
系统采用结构化设计方法。
它的基本思想是将一个大的复杂的问题分解成更小的、更容易处理的独立性的子问题,对于每一个独立性子问题将作为一个单独的模块进行处理,必要时可将某些子问题进一步分解,通过各个子模块分工合作,共同完成预定任务。
前台功能结构图,如图4-1:
图4-1前台功能结构图
后台功能结构图,如图4-2:
图4-2后台功能结构图
4.2系统配置要求
4.2.1软件要求
系统要求:
WindowsXP或Windows2003或Redhat或Ubuntuserver6.04以上。
JDK要求:
版本1.5或以上版本。
数据库:
Mysql5.0或以上。
Web容器:
Tomcat5.0或以上。
4.2.1硬件要求
处理器:
IntelPentiumIII500/AMD速龙500以上处理器
内存:
128M以上。
硬盘:
20G以上。
5系统详细设计
5.1各模块功能描述
(1)数据库操作模块
系统采用JDBC方式连接数据库,为了提高灵活性和可扩充性,数据库连接信息采用XML文件格式存储,使用JAVABEAN读取之,然后进行连接。
数据库操作模块还包含一个JDBC的工具类,该工具类包含了数据库返回的各种信息格式,如返回String、Date、Double等等类型数据。
(2)用户管理模块。
用户管理模块含用户注册、用户登录、邮件激活账号、修改密码、用户管理等功能。
用户注册时,填写用户名,密码,邮箱等信息,系统自动产生一个随机数,保存到用户临时表。
系统产生一条链接,使用JAVAMAIL多线程发送该链接到用户邮箱。
用户打开邮件,点击链接,系统验证其用户名和随机数等信息,如果正确,则写入数据库用户表,用户注册成功。
用户登录时,输入用户名和密码,如果验证正确,则转到相关页面。
它是使用过滤器,对用户权限进行管理。
管理员也可对用户进行管理,对其进行增加、删除、修改等操作。
(3)管理员管理模块。
管理员模块含管理员注册、管理员登陆、修改密码等功能。
对管理员进入后台进行平台管理也是采用过滤器模式,它产生一个session,若匹配则进入后台管理界面,若失败或过期,则跳转到管理员登陆界面。
(4)新闻发布管理模块。
新闻发布模块含新闻栏目的管理和新闻内容的管理。
管理员首先添加栏目信息,然后发布新闻。
新闻内容还包含新闻属性,新闻来源等等信息。
(5)产品展示管理模块。
产品展示模块含产品栏目管理和产品展示管理。
管理员添加栏目信息,然后添加产品信息,上传产品图片等。
系统上传的图片,集中保存到一个特定目录,并把其相对路径写入数据库,系统可以灵活地对其操作,或作任何形式展示,例如产品图片轮播展示等等。
(6)产品销售管理模块。
产品销售模块含产品的添加、产品管理、订单管理功能。
销售产品可以添加原价、现价、简介、图片等等信息,可以对产品做一个详细的介绍,让客户更深入了解产品规格、参数等。
产品的集中管理可以对产品进行修改、删除、重新上传产品图片等操作,让产品信息的更新更简单快捷。
订单管理,可以对用户下的订单进行统一管理,作处理或丢弃操作,还可以查看订单的状态、订单的价格、下订单用户的信息等等。
(7)用户下单模块。
用户下单模块含购物车模块、支付模块。
购物车模块,采用SESSION存储用户购物信息,还提供修改、删除购物车内产品信息功能。
用户可以方便地对购物车进行操作。
支付模块含用户账号金额管理功能和支付功能。
账号金额管理功能,用户可以充值、消费、查看支付历史等。
(8)网站公告模块。
公告是新闻发布系统不可缺少的部分,它含标题、作者、时间、内容等信息。
管理员也可以作添加、删除、修改等操作。
(9)留言板模块。
留言板模块用开放式留言,留言者姓名栏不能为空,留言内容不能为空,通过调取数据库信息向浏览者提供全部留言信息。
管理员可以做回复、修改、删除等操作。
(10)图文轮播管理模块。
图片轮播管理模块是为了方便网站作图片轮播而设计的,它含标题、简介、图片相对地址、超链接等信息。
它可以作任意的FLASH图片展示或JS展示,而达到“动”的效果。
(11)友情链接管理模块。
友情链接管理模块包含友情链接标题和链接。
管理员可以对其进行添加、修改、删除等操作。
(12)静态页面管理模块。
静态页面管理模块含生成首页静态HTML和一些二级目录。
每次更新了新闻之后,都要重新生成HTML文件。
它与FreeMarker结合起来,FreeMarker提供HTML模板,JAVA提供数据,生成HTML文件。
5.2数据库设计
数据库设计是指在现有数据库管理系统上建立数据库的过程,它是管理信息系统的重要组成部分,并且是衡量信息系统开发工作好坏的主要指标之一。
本数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。
数据库设计的内容是:
对于一个确定的环境,进行符合应用语义的逻辑设计,以及提供一个确定存贮结构和物理设计,建立实现系统目标,并能有效存取数据和数据模型。
其主要任务是设计出能够反映实际信息关系、数据冗余少、存储效率高、易于实施和维护,并能满足各种应用要求的数据模型。
5.2.1逻辑结构设计
根据系统功能设计的要求以及功能模块的划分,对于通用企业信息化网站平台可以列出以下数据项及数据结构。
新闻一级栏目信息:
包含名称、简介。
新闻二级栏目信息:
包含名称、简介、一级栏目ID。
新闻内容信息:
包含二级栏目名称、属性、标题、时间、来源、作者、内容、路径。
产品一级栏目信息:
包含名称、简介。
产品二级栏目信息:
包含名称、简介、一级栏目ID。
产品展示信息:
包含二级栏目ID、名称、简介、内容、图片路径、路径。
产品销售信息:
包含二级栏目ID、名称、原价、现价、简介、内容、图片路径、路径。
网站公告信息:
包含标题、作者、时间、内容、路径。
网站友情链接信息:
包含名称、地址。
网站发布留言信息:
包含作者、标题、内容、时间。
网站回复留言信息:
包含回复内容、时间、留言ID。
图片新闻信息:
包含标题、链接、图片链接、简介。
系统设置信息:
包含标题、域名、关键字、简介、版权、备案号、状态、信息。
管理员信息:
包含用户名、密码、邮箱。
用户信息:
包含用户名、密码、邮箱。
用户具体信息:
包含用户ID、姓名、邮件、电话、地址。
订单信息:
包含订单号、状态、日期。
用户订单信息:
包含用户ID、订单号、用户名、姓名、邮箱、电话、地址。
产品订单信息:
包含订单号、产品名称、现价、数量、总共金额。
用户账号金额信息:
包含用户ID、用户名、金额。
用户支付信息:
包含订单号、支付金额、日期。
用户临时信息:
包含用户名、密码、邮箱、标记。
5.2.2数据库表设计
本系统数据库的文件夹名称为“home”,主机名“localhost”,用户名“root”,密码为“”,数据库中的主要表结构设计如下:
(1)新闻一级栏目表(nonecolumn),如表5-1:
表5-1新闻一级栏目
字段名
字段类型
字段宽度
允许空否
字段描述
nOneColumnId
自动编号
否
编号
nOneColumnName
VARCHAR
45
否
栏目名称
nOneColumnIntroduce
VARCHAR
255
是
栏目简介
(2)新闻二级栏目表(ntwocolumn),如表5-2:
表5-2新闻二级栏目
字段名
字段类型
字段宽度
允许空否
字段描述
nTwoColumnId
自动编号
否
编号
nOneColumnId
INTEGER
4
否
一级栏目ID
nOneColumnName
VARCHAR
45
否
栏目名称
nOneColumnIntroduce
VARCHAR
255
是
栏目简介
(3)新闻内容表(news),如表5-3:
表5-3新闻内容
字段名
字段类型
字段宽度
允许空否
字段描述
newsId
自动编号
否
编号
newsTwoColumnName
VARCHAR
45
否
栏目名称
newsAttr
INTEGER
4
否
属性
newsTitle
VARCHAR
100
否
标题
newsTime
DATETIME
否
时间
newsCome
VARCHAR
100
是
来源
newsAuthor
VARCHAR
45
否
作者
newsContent
TEXT
否
内容
newsLink
VARCHAR
45
否
链接
(4)产品一级栏目表(produceoneColumn),如表5-4:
表5-4产品一级栏目
字段名
字段类型
字段宽度
允许空否
字段描述
oneId
自动编号
否
编号
oneName
VARCHAR
45
否
栏目名称
oneIntroduce
VARCHAR
255
是