网站设计开发论文

2024-04-23

网站设计开发论文(精选8篇)

篇1:网站设计开发论文

网站开发类论文模板

一、摘要

1、论文撰写的背景(必写)

2、论文主要涉及的内容(必写)

3、网站在技术、应用上的特色(必写)

二、系统概述

1、网站的全称(必写)例如:都市新闻网络中心网站、某某企业平台网站、某某网上商城购物系统、某某网上人才招聘系统等等。

2、系统是在什么背景下提出的。包括:网站的全称、网站的主要业务、网站开发的必要性(必写)

3、系统的主要平台:(必写)

软件平台:程序设计语言平台、操作系统平台、数据库管理系统平台、web开发平台、CASE工具等。

硬件平台:客户端、服务器、网络硬件说明。

注:只要将以上内容简单列举出即可,不需要展开说明。

4、系统的目标和功能简述(必写):

例如:都市新闻网络中心网站的建设

本网站是根据各行业新闻信息分类进行开发设计的,主要实现目标如下:

分类展示各行业新闻。

显示新闻的详细信息。

设置新闻搜索功能模块。

设置新闻人物投票及投票数统计功能。

提供其他网站的友情链接。

5、系统运行情况和用户反馈简述(可选)

三、网站系统分析

1、用户需求:用户对系统的要求有哪些?(必写)

例如:都市新闻网络中心网站的建设

通过相关调查,要求网站具有以下功能;

通过网络,浏览各行业新闻及相关信息。

新闻分类显示相关信息。

提供站内新闻全面搜索功能。

设置本站为首页和收藏本站。支持其他网站的友情链接。

为后台管理提供管理入口。

后台编辑各行业新闻中心并且管理新闻信息。

2、可行性分析:用户要求在技术、人员、资金、时间上是否可以实现?(必写)

例如:

都市网络新闻中心后台管理对新闻作了详细的分类,前台以分类形式显示新闻的详细信息,满足了人们浏览新闻时分类查看新闻信息的要求,前台提供查询新闻信息功能,方便浏览者查找相关的新闻信息。都市新闻网络中心后台由管理员进行管理维护,保证了网站的安全性等等。

3、项目规划

网站一般包括 前台功能模块和后台管理模块。例如:

都市网络新闻中心是一个功能完善的新闻类网站,由前台新闻浏览和后台新闻管理两大部分组成。

前台功能模块:

前台主要包括新闻分类、显示新闻详细信息、新闻信息查询、设置本站为首页和收藏本站、提供友情链接、提供后台登录入口等功能。

后台管理模块:

后台主要包括后台系统管理员设置及密码修改、添加管理员、管理员信息设置、新闻类型管理、新闻详细类型管理、新闻信息管理、链接管理、后台安全退出等功能。

4、系统功能结构图:用一张图表示系统的模块之间的隶属关系。(必写)例如:

都市新闻网络中心前台功能结构图,如图1所示。

图1 系统功能结构图

都市新闻网络中心后台功能结构图,如图2所示。

图2 新闻网后台功能结构图

5、面向对象的模型:如果系统采用面向对象的开发方法,可以使用UML建模语言进行表述(可选)

四、系统设计

1、系统模块设计(必写)

包含:

1)系统模块图:系统的主要子系统或程序模块之间的调用、隶属关系。例如:

网站后台主要功能模块设计

新闻信息管理

新闻管理在新闻网的后台管理中非常重要,包括对新闻查询,新闻添加、新闻修改和新闻删除的功能。…..网站前台主要功能模块设计:

1站内搜索显示结果 2新闻类别页 ….可包括部分重点源代码。

2)网页设计与布局:系统主要输入、修改、维护美化的网页设计要求。(必写)

1.网页美工设计。页面属性设计、css样式的使用、表格的布局、flash按钮制作,动画图象制作等等

javascript设计。如何实现“加入我的收藏夹”,设置本站为首页“和公告中的滚动字幕特效等功能。

可以用截图加文字叙述的方法进行描述。注:对作者所承担的主要工作要做重点叙述。

2、数据库设计(必写)

包含:

1)E-R图:系统数据的主要实体和关系图

2)规范化设计:简单叙述数据库规范化设计方面的工作。如:举出1、2个数据表逻辑结构,说明是如何实现范式要求的。

3)数据逻辑表结构:将主要数据表的逻辑结构列出。

五、网站系统实施

1、简单叙述选择硬、软件平台的考虑:通过应用领域、用户要求、目标系统的性能要求、来阐述平台选择的理由。(必写)

2、网站系统硬、软件平台的实现:简述如何构建网站所需要的平台。(必写)

3、代码规范上的要求:如何同一标识符、程序注释。(可选)

4、输入/输出设计:如何进行数据校验、如何加快输入速度、如何提供方便交互、如何提供联机帮助。(可选)

六、网站系统测试与发布(可选)

1、网站系统测试所采用的主要方法。如:功能测试、性能测试、压力测试

2、系统是如何进行有效性测试和验收测试的。即,用户是用什么方法接收和确认系统功能的;新旧系统并行的时间有多长等。

3、网站系统测试如何生成与发布。

七、总结

1、对网站系统的先进性、实用性;对网站系统的今后发展;对网站系统存在的主要问题进行总结。(必写)

2、对自己所做的主要工作进行总结。(必写)

八、参考文献(必写)

要求使用2000年以后的文献资料

说明:

1、本模板中的编号只是表示需要的内容,并不等同与论文的书写段落编号。

2、具体论文的书写格式见《毕业实习指导书》

3、在撰写论文的过程中,要突出作者所承担的子系统或模块的内容。

篇2:网站设计开发论文

关键词:交互式;微课程;设计;开发;创新

信息技术手段有力地推动了教育界的改革,现代技术的先进特性和优质教学课程资源的网络化整合,带来了新型的微课程资源,它以多媒体技术为媒介和载体,具有支持在线移动学习、问题聚焦、切入精细而完整的特点,成为“微时代”来临的前奏,为教育技术界所广泛讨论,基于多媒体制作软件之下的交互式微课程开发和设计,可以全面推动教育变革,创新人才培养模式。以多媒体为载体的交互式微课程的设计开发原则

1.1 学习定位要明确

在交互式微课程之下,要明确学习者、学习内容和学习环境的定位,确定不同层次的学习者的学习状态,并对多媒体微课程的工具使用进行明确,以实现不同环境的学习,从而增强学习的针对性。

1.2 微小知识模块展示原则

根据认知负荷理论的相关理论,学习者的知识容量和知识架构是有限度的,对于学习者的微课程学习资源提供,要以认知负荷理论为基准,对学习者提供短时间段的呈现,并以较小的知识模块加以聚焦设计,从而在微课程对学习资源的切割与分解、组合的状态下,实现系统化、结构化的小模块学习。

1.3 交互性原则

交互式的课程教学在微课程的设计与开发下,呈现出人机交互的友好界面,其包括教学资源、模拟训练资源、学习测验资源等,在这些教学资源的设计中,通过交互式的体验,实现课程知识的系统化和固化。交互式微课程设计软件应用研究

以多媒体为载体的交互式微课程是通过多种信息媒体的组合实现的,融合了文本、图像、动画、声音、视频等多种形式,利用多媒体展示的微课程具有实践操作、示范演示的特点,教师可以根据不同的课程内容选取不同的多媒体制作软件。交互式微课程的开发与设计创新研究与案例分析

以多媒体为载体的交互式微课程的微视频内容设计与开发创新,符合泛在学习理念下的学习方式,它注重课程的内容分解设计和微视频设计两大部分。

3.1 课程内容的分解设计

它是对课程结构的系统分解设计,包括分解设计和关联设计两个层面,注重知识的连贯性和内容的完整性,可以在课程内容分解设计的同时,保证学习内容的连贯性与思维的逻辑性统一。它可以利用灵活多样的工具或菜单实现作品的设计,是对课程知识点的深化和升华。例如:在《MS Office高级应用》课程中的“幻灯片交互效果设置”中,就对动画设置和幻灯片切换效果进行了设计,在课程知识内容模块分解的基础上,保证了微课程开发的整体性与流畅性。

3.2 课程内容的微视频设计

微视频设计在与课程知识整合的前提下,可以进行微脚本设计、知识模块设计、微视频展示设计等不同模块,这些课程内容的设计体现了微课程的诸多要素内容。其中:微脚本设计是微课程的关键和摘要,知识模块的微视频设计则融入了课程知识内容,以此为基准进行教学过程的实现。而微视频的展示方式则要运用屏幕录制软件,进行微课程的效果展示。如:缩放、剪辑、音量大小等。

以《MS Office高级应用》课程的Power point演示文稿动画设置与制作为例,进行交互式微课程的开发与设计。

3.2.1 导入动画对象设置

采用Prezi演示文稿软件,以系统化和结构化的方式进行教学课程演示,在这一软件应用下,实现物体的拉动、旋转等动作,将动画对象设置微课程知识进行细化和分解,设置五个不同的知识点内容,即:添加对象的动画内容、自定义路径动画、动画效果设置、动画窗口设计、动画设置的复制,这些知识点的背景和主题等都可根据课程内容的需要进行调整设计。

3.2.2 动画对象设置的微课程制作

对Power Point演示文稿动画对象设置的知识点进行微课程制作,要进行具体而详细的脚本设计,脚本设计包括主题、课程内容及目标、教学课题的引入与教学过程的展示与评价等,下面以Power Point演示文稿的题目《采一朵玉兰花》为动画主题,进行具体的微课程制作。

3.2.2.1 动画主题的引入

如图1所示,要用软件制作题为《采一朵玉兰花》的动画,教师通过展示动画的效果,激发学生的学习创作动机。

图1 《采一朵玉兰花》的动画示范

教师展示这个动画的效果:首先由翻转的波浪形的效果显现动画图像,利用动画工具进行图形的“浮入”效果展示,然后,退出动画的效果可以呈现浮出、左右飞出的效果。学生在观看这个丰富有趣的动画之后,激发创作的欲望。

3.2.2.2 交互式微课程教学过程

篇3:大学生论文管理系统设计与开发

1 系统功能设计

根据设计要求, 系统要实现两个基本功能:一是管理员的管理功能, 包括学院维护、系所维护、人员维护和角色权限维护等。它是整个系统管理的基础, 系统管理员登录后, 完成对学院、系所、人员的基本信息添加、修改、删除等操作, 分配人员权限;二是论文管理功能, 包括发布论文和进行论文管理、发布学术报告等, 它是实现系统功能核心。

2 系统功能模块设计

论文管理系统平台主要包括四大功能模块, 系统登录、网站布局、管理员管理、学生管理等功能模块。其中系统登录模块主要包括管理员登录及学生登录;管理员管理模块, 主要包括管理员管理学院、管理员管理系所、管理员管理学生用户、管理员管理角色权限等功能;学生管理主要包括学生进行论文管理、学生进行科技专著管理、学生进行学术报告管理等。

论文管理系统平台总体模块, 如图1所示。

3 系统实现

系统的开发平台采用免费的开源平台, 以My SQL作数据库服务器, Tomcat 6.0作Web应用服务器。采用基于B/S的三层架构, MVC设计模式的JSP+Servlet+Java Bean网站开发技术进行动态网页的设计。从系统的安全性方面考虑, 运用Java Bean对程序的内部逻辑进行封装。系统提供添加论文, 修改论文, 删除论文, 查询论文, 用户信息管理, 学院系所管理, 角色权限管理功能。系统主界面图2所示。

3.1 登录模块设计与实现

用户要进行论文管理, 必须进行登录, 这是任何一个系统管理功能保密性的需要。系统登录模块主要包括管理员登录及学生登录, 在用户登录界面中, 包括用户名和密码的输入文本框, 还有提交登录的按钮。系统管理员用户为admin, 密码为admin。此界面除了用户管理员登录以外, 还可以用于学生登录, 凡是管理员新增的用户都可以通过它来进入系统。在登录界面上需要提供学号和密码的输入文本框作为身份验证的依据。

3.2 论文管理模块设计与实现

学生登录系统后, 要发布论文, 就要提供论文发布的界面。论文提交时需要填写的字段有论文编号、学院、作者、刊物名称、论文名称、收录情况、影响力、影响因子、引用次数、第几作者和备注。其中论文编号、作者、论文名称为必填字段, 因此需要加以标记, 用*号区分。收录情况和影响力是数据字典中的数据, 在此处也需要提供选择和添加的入口。界面设计的结果如图3所示。

学生在发布完论文后, 需要查阅和修改等管理工作, 因此就需要提供管理的操作界面。在此界面中, 首先需要对论文的基本信息进行提取显示, 包括论文名称、作者、刊物名称、收录情况、影响力、引用次数、备注。为了查看论文的详细情况, 需要提供查看链接, 本处从论文标题进行链接。对于每一篇论文, 都需要提供修改和删除的按钮。

本系统具有界面简单, 操作容易, 实用性强, 成本低的特点。系统使用基于数据库操作类的开发模式和基于标准的MVC设计模式, 把应用逻辑、处理模式和显示内容分成不同的组件实现, 同时充分地考虑了代码重用机制, 将模块组件化, 使这些组件可以交互和重用, 高效实现了大学生论文管理功能。

参考文献

[1]宋波.Java Web应用与开发教程[M].清华大学出版社, 2006.

[2]徐慧慧, 叶达峰.JBuilder编程技术与实例[M].人民邮电出版社, 2006.

[3]王国辉, 吕海涛, 等.Java数据库系统开发案例精选[M].人民邮电出版社, 2007.

[4]王国辉, 李文立, 杨亮.JSP数据库系统开发完全手册[M].人民邮电出版社, 2006.

篇4:网站设计开发论文

关键词:本科毕业论文(设计);教学管理系统;开发应用

高校本科毕业论文(设计)教学,是培养本科生问题意识、科研意识、应用意识以及激发思维、探求真理、提高综合实践能力与自主创新能力等的重要环节,是对学生本科阶段学习的基础理论、专业知识、基本技能以及研究能力、实践能力、创新能力等的一次大检验。因此,全面做好本科毕业论文(设计)工作具有重要的现实意义。为此,我们进行了一系列的教学改革,做法之一就是,自主设计并开发了“高校本科毕业论文(设计)教学管理系统”。

一、系统主要功能

(一)用户管理

本套教学管理系统的登录界面如图1所示,其用户包括系统管理员、教师用户、学生用户三类,每一类用户有着不同的使用级别。其中,系统管理员可打开或关闭系统,添加或修改学生信息、论文题目及通知公告等;教师用户可查看学生信息、选题情况、写作进度,并进行网上指导等;学生用户可以查看通知公告、浏览本人信息,进行网上选题、网上提问与交流以及上传或下载论文等。

(二)系统开启与关闭

此功能只在学生进行网上选题时有效,其目的是限制学生毕业论文(设计)选题时间、防止学生反复多次换题,杜绝学生选题时拖延时间,从而提高选题效率。此功能的开启或关闭由系统管理员实现。

(三)添加或修改用户信息

本系统可由管理员批量添加学生用户和教师用户信息,从而有效节省学生和教师用户入库时间,同时,也可实现修改或删除功能。若选择删除,将会删除该用户的所有信息。需要说明的是,只有提前入库的用户才有权登录,本系统不支持任意注册及登录,从而可避免出现许多重复信息,也可方便进行相关统计。

(四)添加或修改论文(设计)题目

在向师生征得足够数量的论文(设计)题目后,可利用本系统由管理员批量添加论文(设计)题目及相应指导教师等信息,同时提供修改或删除功能。若选择删除,也将会清除选择该题的学生用户的选题信息。同样需说明的是,每一年各专业的选题数量要大于该次选题的学生数,从而在系统内可限定学生“一人一题”。

(五)添加或修改通知公告等

本系统可由管理员添加或修改有关毕业论文(设计)工作的各项通知、公告等,也可以附件的形式上传相关文件、图表等,同时提供修改功能。

(六)查看论文(设计)题目及指导教师信息

用户登录系统后,可查看所属年级专业的论文(设计)题目、指导教师、题目是否可选等信息。同时也可选择不同的查看方式,教师用户还可“一键式”快速查看自己所出论文(设计)题目的选择情况,以及选择本人论文题目的学生信息等。

(七)学生网上选题

如图2,这是本系统最具特色的功能之一,也是我们开发本系统的初衷。在此,学生用户可方便快速地对系统中的论文(设计)题目进行网上选题,一方面可大大节省选题时间,另一方面也避免了以前经常出现的重复选题现象。另外,系统也提供退选和重选等功能。

(八)信息查询与搜索

各类用户登录系统后可查看通知、公告、学生信息、指导教师信息、联系方式、论文(设计)题目、题目选择情况、论文(设计)成绩(成绩由系统管理员输入)等。同时,提供快速搜索功能(如图3)。

(九)师生在线互动

这是本系统的又一项重要功能,也是主要特色之一。教师用户可点击学生姓名,发送留言,学生用户也可点击教师姓名旁的图标给指导教师留言,从而实现师生互动。教师和学生在线留言时,如不填写“发送给某人”,则视为公开留言,所有用户均可查看,否则,只有对方才能看见。其中未读留言作高亮显示。同时,还可在线记录指导教师平时的指导情况或指导信息。

(十)论文(设计)电子文档的上传与下载

本系统支持word和pdf两种格式电子文档的上传或下载。此功能可由以上三类用户自由实现,不受用户限制。毕业论文(设计)电子档原文上传,不仅方便指导教师修改,同时也方便最终定稿论文(设计)电子档的入库存档,为毕业论文的信息化管理提供了便利。

二、系统应用效果

目前,高校本科毕业论文(设计)教学管理系统已基本实现了功能完备、结构合理、界面美观、使用方便、运行速度快、占用空间小等开发目标。通过近年在信阳师范学院的正式使用,本系统已成为学校整个教学管理系统中别具特色的管理软件之一,收到了很好的效果。

(一)提高了本科毕业论文(设计)教学的管理水平

从征题、选题,到互动、答疑,直至论文入档、成绩管理等均可通过本系统轻松完成,基本达到了本科毕业论文(设计)教学工作的全过程在线操作和管理的目标,从而大大提高了本科毕业论文(设计)教学管理的科学化、信息化水平,实现了本科毕业论文(设计)教学工作的高效化管理。

(二)提升了本科毕业论文(设计)教学的质量

在提高毕业论文(设计)工作效率、充分利用有限时间的同时,由于实现了指导教师在毕业论文(设计)教学过程中的实时、动态指导,以及存在问题的及时解决,因此,近年信阳师范学院的毕业论文(设计)教学质量明显提升。

(三)调动了师生双方工作或学习的积极性

在使用本系统之前,由于本科毕业论文(设计)教学管理是松散的、滞后的,因而指导教师的指导过程和学生的写作或设计过程都带有一定的隐蔽性、随意性,师生双方的积极性不高。而本管理系统的使用则实现了指导过程和写作或设计过程的实时显示和监控,从而大大调动了师生双方的积极性。

参考文献:

[1]葛方振.基于网络的毕业论文管理平台的架构研究[J].电脑知识与技术,2010,(4).

[2]李志杰,王维,史桂梅.提高物理专业本科毕业论文质量探讨[J].高教论坛,2012,(11).

篇5:紫蟹包装开发与设计论文

1七里海紫蟹包装开发背景

目前,七里海紫蟹养殖户的销售模式仍以传统散卖形式为主,销售价格较低。同时,七里海紫蟹的包装普遍是使用一种普通手编蟹篓批发销售紫蟹。而七里海的紫蟹有自己的产品优势,其营养价值各项指标均比市场中的一些大闸蟹要高,口感更鲜美。因此,如何使紫蟹在市场上产生一定的影响,开发和设计紫蟹包装则成为当务之急。

2七里海紫蟹包装开发与设计

为了做好七里海紫蟹包装设计与开发,笔者做了深入调研,并调研了市场上的一些大闸蟹的包装。就拿比较有名的阳澄湖大闸蟹外包装来讲,正宗阳澄湖大闸蟹目前常用的包装工具有竹笼、竹筒柳条筐、木桶、铅丝笼以及蒲包、草包等。从捆绑方式来讲,阳澄湖大闸蟹一般是用粗棉线、蒲草、香草等以十字形捆绑,见图1。

另外,笔者从饮食、民俗、旅游等方面对天津市宁河县七里海文化做了深入调研,民俗文化中的编织文化为开发紫蟹包装提供了一个新颖点和创新点,作为宁河“三宝”之一的芦苇,只要有水,不用播种和田间管理就可自然生长,可以用来织席、编篓、造纸等,过去是当地百姓的主要副业收入,被当地人称为“铁杆庄稼”。现在的芦苇多生长在七里海周边乡镇,到20世纪80年代,随着多种经营模式的发展,很多的滩涂地开始恢复芦苇生长,芦苇面积逐渐增加。但近年来,大部分的芦苇等植物未完全被人们利用,绝大多数的芦苇成为废弃物。宁河县目前虽然有14个乡镇建立了妇女手工编织分中心和示范点,但当地待业农民,尤其是妇女仍然很多,因此,他们可以利用农闲时段来编织紫蟹的内包装盒,由此逐渐采取能人带动、公司辐射等方式组织松散型和集约型生产,一手抓创意、一手抓营销,做到产得出来、卖得出去,同时又为待业农民提供了新的就业渠道和机会,形成了比较完善的产业链和市场网络;在旅游文化上,从旅客的心理角度出发,游客不仅想在旅游轻松的过程中享用紫蟹,在旅游结束后也想带走一些当地的特色产品继续享用或馈赠给亲朋好友。因此,笔者想最终达到将当地手工编织与旅游资源、文化资源相结合,研发出具有鲜明特色的生态七里海高档紫蟹包装。

3七里海紫蟹包装设计成果

通过研究与设计,最终选择了走高端礼品包装路线,来改变目前七里海紫蟹的销售模式。

3.1内包装设计分析

紫蟹活着蒸制肥度和营养价值最高,考虑到未捆绑的紫蟹上锅蒸制时会爬动,因此该包装设计以无需打开包装、直接上锅蒸制为设计理念,既减少了农民捆绑紫蟹的时间和劳动强度,又优化了传统食蟹烹饪过程,而芦苇盒包装在食蟹者食蟹的过程中也可作为残食盒备用,从而形成了一个完整的生态包装系统。

通过对紫蟹的生活习性、活蟹保鲜、活蟹运输等方面的研究,笔者总结出:要达到紫蟹保活、保肥,最重要的是紫蟹要保持在静止、避光、湿润和氧气充足的条件下。鉴于芦苇具有柔韧性、透气性好等优点,蒲草具有耐压、柔韧性和吸水性强等特点,而且当地人们使用芦苇做的篦子蒸馒头,证明芦苇是可以加热,并且不会破坏食物的味道,反而会使蟹肉更加的鲜美,因此,芦苇和蒲草便成为首选的编织包装材料。

该包装设计材料一:采用当地去年已晾干的芦苇,用专用工具将圆形芦苇劈成2~4股芦苇片,浸泡后用塑料布包裹放置12h,取出包裹中的芦苇片后用石磙压平待用,见图2;材料二:采用晾干的绿色植物蒲草茎叶,浸透后取3根蒲草茎叶三股辫和续接编织成带,最后盘缠成蒲草圆垫,见图3。

在编织纹样和结构的形式上,借鉴当地苇席编制中的挑二压二法的“人字纹编”,见图4。其制作过程中根据紫蟹尺寸大小而定制胎具,利用胎具编织成圆形筒状,为以掩盖边缘,用三股辫蒲草带做装饰处理,底部与圆形蒲草垫结合,最后用十字交叉竹签(又可充当食蟹工具)分别固定紫蟹的2个大钳子,这样既减轻了当地农民的劳动强度(无需绳捆),提高了包装速度,又免去了未捆绑的紫蟹在运输过程和上锅蒸制时爬动变瘦的后顾之忧,最后盖上蒲草圆垫(带提环),上面贴有平面设计图样(不干胶材质),再附有以硫酸纸为材质并且图文并茂的使用说明书,见图5;在运输上,运输途中紫蟹不挤压,透气性强、吸水性好,减少了运输装卸过程中所带来的一些不必要的损伤,见图6。

3.2外包装设计

采用优质塑料膜瓦楞纸盒,两侧均有透气孔,内平放4个紫蟹圆筒盒、冰袋、蟹醋、日历(见图7)。因此,产品最终以一种横向包装的形式呈现,这一设计构思使得人们在销售和馈赠过程中双手呈送,体现出中华民族的传统礼节。

包装装潢设计结合七里海的紫蟹特色:以微墨印形式表现七里海紫蟹活跃状态,以“湿地、天然、生态、有机”来体现七里海紫蟹的独有特点;而日历使消费者根据其内容了解食蟹知识的同时,也进一步宣传了七里海文化和七里海紫蟹,最终以方便、安全环保、富有寓意且美观大方的方案呈现。进而创作出符合七里海文化及紫蟹饮食文化的绿色生态包装,是普通螃蟹包装无法媲美的,见图8。

4结语

篇6:软件开发多元化设计论文

随着软件开发技术的持续进步,软件功能需求变得越来越复杂,这对软件开发管理系统提出了新的要求,而现阶段软件系统的开发还多着眼于局部问题,能够从整体上解决软件开发管理的多元化设计备受关注,现阶段,探讨软件开发管理系统的多元化设计有着重要的现实意义。软件开发管理系统概述

软件开发管理系统可通过加强生产计划、改进软件开发过程,解决企业管理、项目管理、软件工程一体化管理,并通过研发或整合等手段,为广大软件企业提供一站式服务。软件开发管理系统主要包括项目管理、软件自动化管理和企业管理三大功能,项目管理主要体现为配置管理,软件自动化管理包括设计管理、需求管理以及测试自动化,企业管理则涉及到客户管理、合同管理、过程管理等内容[1]。浅析软件开发管理系统的多元化设计目标及其特征

多元化的软件开发管理系统能够实现软件开发管理测试自动化,把软件开发管理方法论和ERP(企业资源规划)思想有机结合起来,从而起到了一种强化软件开发管理效能的作用。

2.1 软件开发管理系统的多元化设计的目标

软件开发管理系统的多元化设计的目标围绕着系统需求管理、过程管理、项目管理、配置管理以及设计管理等内容展开。软件开发管理系统的多元化设计,主要涉及到软件工程、项目管理以及企业管理三条主线,在项目管理和企业管理结合过程中,软件工程起到的是辅助作用,主要为软件开发管理实施过程的优化提供有效途径,为软件开发企业的规模化生产提供技术支持。基于软件开发管理的特点,进行多元化设计,能够满足不同规模、多种类型的软件企业的开发需求。

2.2 软件开发管理系统的多元化设计的特征

随着网络应用技术的不断进步以及网络分析程序的持续完善,分析软件所具备的应用功能也在不断拓展,在此背景下,软件开发企业越来越关注和重视软件开发管理系统的研究和多元化设计。从功能层次角度来看,多元化设计是基于系统的基本功能和分析功能,即模拟基础工作流程,通过建立数学模型生成预测功能,增加项目管理功能,以期提高系统的兼容性,实现在线管理。随着软件开发的日益深入,软件开发管理系统的多元化设计的重要性也逐渐显现出来,其在资源管理、进度控制、质量监督、项目跟踪等方面都将发挥更为积极的作用[2]。软件开发管理系统的多元化设计所依托的核心技术与基本框架

3.1 研发软件开发管理系统所需的技术支撑

软件开发管理系统的研发,尤其是多元化设计,需要一定的技术支撑。其一是基于SOA技术,运用该技术可实现对系统的分解,并能够对服务进行重新编排,利用该技术进行多元化设计,促使软件开发管理系统的功能和规模有所扩展,从而解决了系统面临的可扩展性和灵活性的问题;其二是基于Webservices技术,该技术主要是对SOA进行辅助。

以扩展系统的兼容性,实现SOA架构的构建;其三是XML技术,运用该技术规范Web服务,为系统的建立提供标准,借助该技术的自描述功能,能够更好地发挥系统间数据转换的作用;其四是基于RUI技术,作为一种富用户界面,其在外观上与应用程序界面并无显著差别,但是借助其服务功能。

可实现系统架构的人机交互功能,降低系统使用难度,使人机界面更便于操作;其五是基于J2EE标准,该标准用于设计系统的分布式结构,有助于保持系统基础软件运行方面的独立性,增强系统基础软件部署方面的灵活性,并能够降低系统运行和维护的成本[3]。

3.2 基于多元化设计方案的软件开发管理系统及其生命周期

软件开发管理信息系统的多元化设计方案包括开发技术支持、数据库设计、安全性设计和运行环境设计四方面内容:首先,采用B/S网络结构模式,这种开发技术是目前的主流技术,无需安装客户端软件,为软件开发项目提供了更具模块化的设计方式;

其次,数据库设计,建议采用大型数据库,在设计中应力求逻辑关系简单,简化连接操作程序,确保系统数据表的完整性和整体运行性能;再次,安全性设计,系统在具备开放性的同时,其安全也更容易受到威胁,为此,应对用户进行分层分级管理,通过加密、权限访问等防护手段来增强系统的安全性;最后,运行环境设计,保证客户端和软硬件的先进性,以及应用程序和数据库服务器的良好性能,创建良好的系统运行环境,提高其生命周期。

3.3 在多元化设计内容基础上的软件开发管理系统的架构及其功能

在多元化设计内容基础上的软件开发管理系统的架构,共分为四个层次,从上至下依次为交互层、应用层、支撑层和基础设施层,交互层即用户,基础设施层即信息,应用层即系统的核心部分,主要包括项目管理功能模块、软件功能自动化模块和企业管理功能模块,此外,应用层还需要一些支撑组件,支撑层就是由这些组建构成,软件开发管理系统的多元化设计,其功能内容集中体现在应用层的三大功能模块中[4]。

对于项目管理功能,根据项目计划模型和实际需求,通过过程管理和条目化任务设置,实现项目审核、预览、发布等功能,并完成配置管理;对于软件自动化管理功能,根据系统开发原型和文档生成模型,定制设计模式和范例,对设计状态及文档质量进行管理,实现设计化零为整的转换,并利用各技术路线,实现测试自动化;对于企业管理功能,根据企业需要和合同信息,对软件过程定义,对标准子系统和标准模块进行设置,对客户信息进行综合分析和跟踪管理,使系统的自动回访和自动报警功能得以实现。结束语

篇7:网站设计开发论文

中央广播电视大学计算机与科学技术专业

学生姓名:黄志刚

学 号:14360012501

专 业:计算机与科学技术

班 级:

指导教师:李慧

2016年04月

目录

目录

I V VII VIII 1 1 1 2 2 2 3 3 3 4 5 6 6 7 摘要

前言

文献综述

第1章 绪论

第1节 第2节 背景

研究的目的与意义

第2章 设计简介及设计方案

第1节 第2节 第3节 设计原则 运行架构 设计方案

第3章 相关技术介绍

第1节 第2节 第3节 MVC简介

Spring 的起源和背景 Hibernate 概述

第4章 需求分析

第1节 第2节 注册博友 普通用户

I 9 10 10 11 11 12 12 14 15 15 15 15 17 18 20 第5章 系统架构设计

第1节 第2节 系统架构说明: Hibernate层

5.2.1 设计持久化对象(PO)5.2.2 实现DAO 层 5.2.3 DAO组件的定义 5.2.4 实现DAO组件 5.2.5 部署DAO 层

第3节 第4节 实现Service 层 MVC 层实现

5.4.1 1.Model 部分 5.4.2 View 部分

5.4.3 3.Controller部分 5.4.4 采用Ajax加深用户体验

设计结果及对设计结果的分析

全文总结

致谢21

目录

目录

I V VII 摘要

前言

II

VIII 1 1 1 2 2 2 3 3 3 4 5 6 6 7 9 9 10 10 11 11 12 文献综述

第1章 绪论

第1节 第2节 背景

研究的目的与意义

第2章 设计简介及设计方案

第1节 第2节 第3节 设计原则 运行架构 设计方案

第3章 相关技术介绍

第1节 第2节 第3节 MVC简介

Spring 的起源和背景 Hibernate 概述

第4章 需求分析

第1节 第2节 注册博友 普通用户

第5章 系统架构设计

第1节 第2节 系统架构说明: Hibernate层

5.2.1 设计持久化对象(PO)5.2.2 实现DAO 层 5.2.3 DAO组件的定义 5.2.4 实现DAO组件

III 14 15 15 15 15 17 18 20 5.2.5 部署DAO 层

第3节 第4节 实现Service 层 MVC 层实现

5.4.1 1.Model 部分 5.4.2 View 部分

5.4.3 3.Controller部分 5.4.4 采用Ajax加深用户体验

设计结果及对设计结果的分析

全文总结

致谢21

IV

摘要

越来越多的网络用户希望能够在网络平台上更多地展现自己的个性,更方便地与他人互动交流,拥有一个自己独立的空间,随着Web2.0时代的到来,一个新的概念出现了——博客。

首先介绍了博客网站设计的意义和背景,主流博客网站的主要功能。重点介绍了基于J2EE架构的博客网站设计方案,实现的主要功能。

其次,重点讲述了博客网站的业务逻辑层和持久层的设计与开发过程中所涉及的技术及开源框架。系统如何以Spring 框架为核心,向下整合Hibernate进行持久层访问,向上整合Struts 按清晰的MVC 模式控制,怎样划分应用的层次。简述了页面的请求的分发及流程。

最后对BLOG网站开发中所碰到的一些问题,并针对这些问题提出一些解决方案,最后对系统性能作出一些简要评估,阐述了一些个人想法。

关键词: 博客,J2EE, Spring,Struts,Hibernate

Abstract More and more network users hope to unfold there characteristics in the network platform and interact with people more conveniently.From the begining of Web 2.0, a new concept of blog emerged.Firstly, we introduce the meaning and background of designing of blog site, and then introduce the main function of the blog site briefly.We also introduce the designing scheme of blog site which is based on the architecture of J2EE.The main function carried out in our blog project is presented.Secondly, we introduce the designing of logic and permanent layer of the blog site.The technic and structure refered in the process of developing are presented.We also depict how to be around with frame of Spring, how to work with Hibernate to visit permanent layer below, how to work with Struts to control the clear MVC model up and how to divide layers of application.We also give the brief introduce of distribution and flow of pages’request.Finally, we discuss some problems about the blog realization and show schemes of solving problems.Brief evaluation on the performance of system is given.We give a comment on problems occurring in our work.V

Keywords: blog, J2EE, Spring, Struts, Hibernate

VI

前言

本文介绍了基于轻量级J2EE开发博客网站。同时利用Spring、Struts、Hibernate、Ajax等框架整合开发。本文主要分为七章。

第一章主要介绍了进行博客网站的背景及意义。第二章对博客网站设计方案做了简要介绍。第三章介绍了博客网站的需求分析。

第四章详细介绍了系统的架构设计,并详细讲述了通过Spring 框架,向下整合Hibernate 进行持久层访问,利用DAO模式隔离业务逻辑层与具体持久层,向上整合Struts按清晰的MVC模式构建系统。

第五章简单讲述了系统设计时遇到的问题及解决方案,另外对系统的性能作了一个简要的评论及设计结果和设计结果分析。

第六章对全文所使用的方法、结果以及目的和意义做了全面的总结,展望java技术在Web上的一些应用。

本文的完成得到了戴祖旭博士的帮助和指导,在此向他表示衷心的感谢。

VII

文献综述

Hibernate相关文献介绍

文献错误!未找到引用源。围绕着ORM,讲述了对象映射配置,对象关系映射、集合映射、对象的操作和查询。及详细如何利用Hibernate 构建DAO层,怎样根据PO的关系。面向对象操作数据库,怎么配置数据库映射文件。Java基础文献概述

文献错误!未找到引用源。讲述了java基础知识,如控制流程、初始化和清理、接口和内部类等。并讲述如何利用对象提供服务,并通过接口隐藏具体实现。J2EE相关文献概述

文献错误!未找到引用源。论述了在J2EE平台中在各层经常遇到的问题,该文献详细讲解如何解决J2EE平台所遇到的问题。

文献错误!未找到引用源。将述了如何构建轻量级的J2EE企业应用程序,并讲解MVC在Web中应用,怎么将请求控制并转发,Struts标签。

文献错误!未找到引用源。详细讲述了Spring 的控制反转、AOP编程思想。及其怎么利用Spring整合Hibernate,利用Spring提供IOC容器管理DAO组件,利用事务管理SessionFactory。

文献错误!未找到引用源。以8 个小型J2EE项目讲述怎么利用Struts、Hibernate、Spring等框架构建J2EE Web应用。并且也详细讲述各个框架的在项目中应用。文献错误!未找到引用源。这本书是有3个具有15以上的开发经验的企业java架构师或首席架构师所著。本书讲述了J2EE的3层所涉及的核心模式。通过通用模式可以更快构建稳定的J2EE应用。

文献错误!未找到引用源。这本书详细讲述了架构设计的方法。架构设计应该包括那些方面。

怎么应用架构模式。Ajax技术文献概述

文献错误!未找到引用源。讲述了JavaScript、CSS、DOM、XML的在Ajax上一些应用。如何利用这四个技术实现html片段的替换。并结合一些实例讲述如何利用Ajax 实现友好用户体验。Eclipse文献概述

文献错误!未找到引用源。讲述了如何利用Eclipse开发java应用程序。该文献主要讲如何构建java开发环境,如何安装Eclipse插件。并利用Eclipse自动生成一些代码。Jsp文献概述

文献错误!未找到引用源。围绕着实例讲述Jsp的各种技术。比如Servlet,JavaBean 在Jsp中的应用。本文中的图片播放器和音频播放器是基于这书上实例改进的。

VIII

第1章 绪论

第1节 背景

商业网站设计的主要目的一般是通过网站的推广,实现更多网络用户的关注,从而吸引更多的企业用户投入更多的宣传经费到网站上。

长期的战略目标,商业网站不仅是公共产品信息和服务的推广,它还是将买家与卖家、厂商和合作伙伴紧密结合的平台,借助这些商业网站可以消除企业与客户之间时间与空间带来的障碍。

Blog博客网站致力于为广大博客提供优质博客页面服务的商业网站。每个博客都希望借助自己的博客页面宣传自己,而博客数量越多,网站的点击率越高就越能够吸引广大的企业客户选择该商业网站作为媒介,将自己的产品展现给客户。可以说,对这些博客网站而言:为博客提供良好的服务就意味着为网站带来更多的商业客户。因此,在具体设计实现该博客网站时,主要考虑了主流博客网站的几个主要功能。

1.博客的注册、登录验证功能

2.网络用户通过关键字搜索博文功能 3.最热门博客页面推荐浏览

4.文章详细内容及相关评论显示 5.博客页面访问量统计

6.博客个人文章管理维护功能

7.博客个人文章分类管理维护功能 8.博客个人友情链接维护功能

9.博客个人基本信息管理维护功能 10.博客图片上传及个人相册管理

11.网络用户写留言,博主查看留言。第2节 研究的目的与意义

Blog记载了日常发生的事情和自己的兴趣爱好,把自己的思想和知识和他人分享、交流,同时又通过“六度空间”结识了更多志趣相投的朋友;而越来越多专业知识的 Blog 的出现,让我们看到了 Blog 更多所蕴涵的巨大的信息价值:不同的 Blog 选择不同的内容,收集和整理成为很多人关注的专业 Blog ——目前越来越多的人获取信息的来源是一些固定的 Blog。随着博客人数的增加,Blog 作为一种新的生活方式、新的工作方式、新的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构:网络信息不再是虚假不可验证的,交流和沟通更有明确的选择和方向性,单一的思想和群体的智慧结合变的更加有效,个人出版变成人人都可以实现的梦想—— Blog 正在影响和改变着我们的生活。

第2章 设计简介及设计方案

在整个blog进行开发之前,要确定出整个项目的整体架构,包括系统的选型、运行环境的确定及系统结构设计。下面对这进行详细介绍。第1节 设计原则

在进行软件系统开发的最初环节,一般都需要进行系统的选型,即根据系统功能的实际需求,选择合适的开发工具及软件架构。

blog对系统的可靠性、稳定性有比较高的要求。本系统设计时,比较主流的B/S设计有基于JSP、ASP、PHP、CGI及J2EE等模式。相比较而言PHP的功能相对简单,不适合做大程序;而CGI效率相对较低,所以也不考虑。由于J2EE的开源的框架中提供了MVC模式实现框架Struts、对象关系模型中的Hibernate 的框架及拥有事务管理和依赖注入的Spring。利用现存框架可以更快开发系统。所以选择Java技术作为blog 的开发工具。第2节 运行架构

为了增加系统的吞吐量,提高并发处理客户请求数量,系统采用了IBM服务器作为主机。在数据库处理方面,不需要在数据层借助存储过程及数据库服务器端函数封装过多的业务逻辑,因此数据库系统采用相对精巧的MySQL错误!未找到引用源。

该在线博客系统服务器端如果需要布置到其他主机上,则该主机必备条件如下:

1.服务器端操作系统:独立于操作系统的跨平台系统,客户端MicroSoft Windows 2000及以上;

2.数据库:MySQL 5.0.27版本; 3.Web服务器:Tomcat 5.5及以上版本,配合MVC设计模式及 Hibernate开发架构; 4.客户端运行环境:能运行IE 5以上或Netscape 5以上浏览器的操作系统,配合

使用Ajax技术;

5.客户端运行工具:目前的系统采用浏览器作为客户端,为了支持Ajax开发框架,应该选择使用IE 5以上版本浏览器。

本网站以NT为Web平台,JSP+Ajax+Servlet+JavaBean+Hibernate为网站实现技术,建立基于MySQL数据库系统的核心动态网页,实现博客网站前台及博客个人维护管理等功能模块。第3节 设计方案

为了在更短的时间内实现博客网站,我们采用J2EE架构。集成开发环境我采用对于插件即插即用的Eclipse,JSP运行环境我们采用Tomcat应用服务器,数据库管理系统我们采用的是MYSQL,博客网站主要实现注册用户可以在 服务器上开辟自己的空间,也可以发布消息,上传文件,回复消息,从服务器发送客户端的数据应用XML来封装.本系统采用的是经典的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。并利用Spring、Hibernate、Spring等轻量级框架实现三层结构的设计。即采用的是贫血模式,业务逻辑对象正面封装了全部的业务逻辑方法,Web 层仅与业务逻辑组件交互即可,无须访问底层的DAO 对象。Spring 的声明式事务管理将负责业务逻辑对象方法的事务性。在贫血模式下,其分层非常清晰。Domain Object 并不具备领域对象的业务逻辑功能,仅仅是ORM 框架持久化所需的POJO,仅是数据载体。贫血模型容易理解,开发便捷,但严重背离了面向对象的设计思想,所有的Domain Object 并不是完整的Java 对象。

第3章 相关技术介绍

第1节 MVC简介

MVC 是Model、View、Controller 三个词的缩写,三个词分别代表应用的三个组成部分:模型、视图与控制器。三个部分以最少的稿合,协同工作,从而提高应用的可扩展性及可维护性。起初,MVC 模式是针对相同的数据需要不同显示的应用而设计的,其整体的效果如图1 所示:

图1 MVC结构

在经典的MVC 模式中,事件由控制器处理,控制器根据事件的类型改变模型或视图,反之亦然。具体地说,模型维护一个视图列表,这些视图为获得模型变化通知,通常采用观察者模式登记给模型。当模型发生改变时,模型向所有登记过的视图发送通知:接下来,视图从对应的模型中获得信息,然后更新自己。概括起来,MVC 有如下特点。.多个视图可以对应一个模型。按MVC 设计模式,一个模型对应多个视图,可以减少代码的复制及代码的维护量,一旦模型发生改变,也易于维护。

1.模型返回的数据与显示逻辑分离。模型数据可以应用任何的显示技术,例如使用JSP 页面、Velocity 模板或者直接产生Excel 文档等。

2.应用被分隔为三层,降低了各层之间的稿合,提供了应用的可扩展性。

3.控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起,完成不同的请求。因此,控制层可以说是包含了用户请求权限的概念。

4.MVC 更符合软件工程化管理的精神。不同的层各司其职,每一层的组件具有相同的特征,有利于通过工程化和工具化产生管理程序代码。第2节 Spring 的起源和背景

2002 年wrox 出版了《Expert one on one J2EE design and development》 一书。该书的作者是Rod Johnson。在书中,Johnson 对传统的J2EE 架构提出深层次的思考和质疑。并提出J2EE 的实用主义思想。2003 年,J2EE 领域出现一个新的框架: Spring,该框架同样出自Johnson 之手。事实上,Spring 框架是«Expert one on one J2EE design and development» 一书中思想的全面体现和完善,Spring 对实用主义J2EE 思想进一步改造和扩充,使其发展成更开放、清晰、全面及高效的开发框架。一经推出,就得到众多开发者的拥戴。传统J2EE 应用的开发效率低,应用服务器厂商对各种技术的支持并没有真正统一,导致J2EE 的应用并没有真正实现Write Once 及Run Anywhere 的承诺。Spring 作为开源的中间件,独立于各种应用服务器,甚至无须应用服务器的支持,也能提供应用服务器的功能,如声明式事务等。Spring 致力于J2EE 应用的各层的解决方案,而不是仅仅专注于某一层的方案。可以说Spring 是企业应用开发的“一站式”选择,并贯穿表现层、业务层及持久层。然而,Spring 并不想取代那些已有的框架,而与它们无缝地整合。总结起来,Spring 有如下优点: 1.低侵入式设计,代码污染极低。

2.独立于各种应用服务器,可以真正实现Write Once, Run Anywhere 的承诺。3.Spring 的DI 机制降低了业务对象替换的复杂性。

4.Spring 并不完全依赖于Spring,开发者可自由选用Spring 框架的部分或全部。

第3节 Hibernate 概述

Hibernate 是目前最流行的ORM 框架,其采用非常优雅的方式将SQL 操作完全包装成对象化的操作。其作者Gavin King 在持久层设计上极富经验,采用非常少的代码实现了整个框架,同时完全开放源代码,即使偶尔遇到无法理解的情况,也可以参照源代码来理解其在持久层上灵巧而智能的设计。目前Hibernate 在国内的开发人员相当多,Hibernate 的文档也非常丰富,这些都为学习Hiberante 铺平了道路,因而Hibernate 的学习相对简单一些。下面通过对比来了解Hibernate 和传统JDBC 操作数据库持久层之间的差异。

第4章 需求分析

Blog网站主要是实现注册用户登录、管理相关信息、博文及相关评论、查看留言、友情链接、及图片的上传和图像的播放而为上网用户提供按博文主题搜索,查看注册用户的博文及提出相关评论,并为注册用户写留言,游览注册用户的相册、注册等功能的系统。下面就以两种不同的用户来分析博客网站的需求。第1节 注册博友

首先必须在博客首页中登录填写用户名和密码,这样才能执行一些相关操作,不然就是普通用户只能查看一些信息,而不能发表博文。可以在管理页面上添加博文的分类,可以上传图片和游览自己的相册,在上传过程中可以将一张图片定义为自己的签名,在个人管理页面中注册用户还可以修改自己的个人信息。博文管理,友情链接管理及博文分类管理,用例图2。

图2 博客管理页面的用例图

在博客主界面中发表博文时可以选择博文类型,这样可以更好管理自己的博文。并查看和删除网友对自己的博文的一些评论、查看和删除网友留下的一些留言,提供与其他网友交流的空间。更好交流,在信息时代人们通过个人空间沟通也用来但不能在自己的博客主页面中提交评论和留言。这样在本系统中就可以为博友提供更多的个人色彩。在管理页面中添加和删除友情连接。这样博友可以在自己空间中快速定位自己的关心的网站。这样还可以让网友看到自己的一些信息。友情链接及网页访问量统计显示:在博客的个人页面中还提供了推荐给普通网络用户的相关友情链接,此外,对个人页面的访问量也在随时进行统计,并在个人页面中进行直观的显示。博客主页面的用例图如图3所示:

图3 博客主页面的用例图

第2节 普通用户

在博客注册页面注册成为博客的注册用户,才可以拥有自己独立的空间,进入某一博客页面查看相关文章信息时,可以随时对自己所感兴趣的文章发表评论,同时也可以查看到其他人针对该博文的评论。普通用户在阅读博文时可以在最后留下自己的一些评论。他也可以留下更多的信息。这样他可以写留言。这样他留下的信息就更快地被博友所看到。普通用户进入博友的用例图如图4所示:

图4上网博友在博客主页面的用例图

普通网友可以搜索自己关心的一些数据。并且在搜索结果中提供在结果范围内再次搜索。这样就可以将范围缩小。首页向注册用户提供登陆模块,注册用户在博客网站首页跟上网网友一样可以查看博客和博文推荐。上网网友可以注册成为博客用户,拥有自己独立的空

间。这一模块的用例图如图5所示:

图5 博客首页的用例图

第5章 系统架构设计

本系统采用严格的J2 EE 应用结构,主要有如下几个分层。

1.表现层:由JSP 页面组成。2.MVC 层:使用Struts框架。

3.业务逻辑层:主要由Spring loC 容器管理的业务逻辑组件组成。

4.DAO 层:由7 个DAO 组件组成,实现类必须继承Spring提供的HibernateDaoSupport。

5.Hibernate 持久层:由7 个PO 组成,并在Hibernate Session 管理下,完成数据库访问。

6.数据库服务层:使用MySQL 数据库存储持久化数据。系统的具体分层如图5 所示。

图6 系统结构图

在图6 黑色大方框内的MVC 控制层、Service 层及DAO 组件层的组件,都由Spring IOC 容器负责生成,并管理组件的实例(实例必须是单身模式的,本系统中的bean基本上是单身的)。

第1节 系统架构说明:

本系统不仅严格按MVC 模式设计,还按J2 EE 分层设计,将中间层严格分成业务逻辑层、DAO 层及数据持久层等。MVC 层的控制器绝对禁止持久层访问,甚至不参与业务逻辑的实现。表现层采用传统JSP 技术。

本系统采用的是典型的J2EE 三层结构,分为表现层、中间层(业务逻辑层)和数据服务

层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。Jsp广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。中间层采用的是流行的Spring+Hibernate,为了将控制层与业务逻辑层分离,又细分为以下几种。

Web 层,就是MVC 模式里面的C,负责逻辑层和表现层的交互。调用业务逻辑层,并将业务数据返回给表现层作组织表现,该系统的MVC采用Struts框架。

Service 层(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以DAO 层为基础,通过对DAO 组件的正面模式包装,完成系统所要求的业务逻辑。

DAO 层,负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。

PO,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库,该系统采用Hibernate 作为ORM 框架。Spring 的作用贯穿了整个中间层,将Web 层、Service 层、DAO 层及PO 无缝整合,其数据服务层用来存放数据。

第2节 Hibernate层

通过使用Hibernate 持久层,可以避免使用传统的JDBC 操作数据库,对JDBC近一步包装,从而更好地使用面向对象的方式来操作数据库。保证了整个软件开发过程以面向对象的方式进行,即面向对象分析、设计及编程,透过Hibernte 对PO对象持久化操作,不管插入还是查询都是通过PO。5.2.1 设计持久化对象(PO)面向对象分析,是指根据系统需求提取应用中的对象,将这些对象抽象成类,再抽取出需要持久化保存的类,这些需要持久化保存的类就是持久化对象(PO)。该系统并没有预先设计数据库,而是完全从面向对象分析开始,设计了7 个持久化类。本系统一共设计了如下7 个PO。

1.Blog: 对应博客网友的一些基本信息,必如id、username、password、sex、picturename、name、address、uid、subject。还包括一些集合,博友的博文(Articles)、图片(Pictures)、留言(Messages),这样在系统中我们可以随时通过getXxx()访问博客的一些属性就不用编写sql语句来访问博友的些属性,2.Picture: 对应博友的图片,包含name、blog,filename,这样我们可以将图片 的路径名保存到数据库中,在根据路径名访问博友上传的图片,就不用用到数据库中的Blob类型,将图片数据格式转来转去,不过这样服务器直接存储客户的图片。

3.Messages: 对应网友留下的留言,属性有id、username、Blog、注册用户可以查看别人写的留言,但不能在自己的空间内留言。

4.FeedBack: 对应回复,包括id、article、username、content。他对于一篇博文,是网友阅读博文后对博文的评论。该评论无论是谁都可以看到。

5.Sort: 对应博文分类属性有Id、Blog、name、Articles,注册用户可以在自己的空间定义一些分类,这样可以更好管理自己的博文,一个分类对应一个Blog,一个分类可能有很多分类。

6.Article: 博客系统的核心 对应有 title,Id、blog、content、sort,一个博文属于一种分类,可以有很多回复,7.Links: 对应有情连接,包括id、url、name、blog博友通过添加有情连接可以在自己的空间中提供快速的自己关心的网站。

客观世界中的对象不是孤立存在的,以上7 个PO 也不是孤立存在的,它们之间存在复杂的关联关系。分析关联关系也是面向对象分析的必要步骤,这7 个PO 的关系如下。Blog除了FeedBack外,与另外5个都是1-N的关系,在blog类里对应有个集合。比如messages,是SetArticle 和FeedBack之间存在I-N 的关系,每篇博文可以被很多人评论。Article和sort 之间存在N-1 的关系,即每篇博文只能属于一种分类中,并且只属于一个博友,在Hibernate框架中它提供了以xml文件形式出现的映射文件,完成从PO到数据库表映射后,即完成面向对象的程序设计语言与关系数据库的映射。以面向对象的方式操作关系数据库。5.2.2 实现DAO 层

在Hibernate 持久层之上,可使用DAO 组件再次封装数据库操作。通过DAO 层,可以让业务逻辑层与具体持久层技术分离,一旦需要更换持久层技术时,业务逻辑层组件不需要任何改变。因此,使用DAO 组件,即意味着引入DAO 模式,使每个DAO 组件包含了数据库的访问逻辑:每个DAO 组件可对一个数据库表完成基本的CRUD 等操作。DAO 模式的实现至少需要如下三个部分。1.DAO 工厂类。2.DAO 接口。

3.DAO 接口的实现类。DAO 模式是一种更符合软件工程的开发方式,使用DAO 模式有如下理由。

1)DAO 模式抽象出数据访问方式,业务逻辑组件无须理会底层的数据库 访问,而只专注于业务逻辑的实现。

2)DAO 将数据访问集中在独立的一层,所有的数据访问都由DAO 对象完成,这层独立的DAO 分离了数据访问的实现与其他业务逻辑,使得系统更具可维护性。

3)DAO 还有助于提升系统的可移植性。独立的DAO 层使得系统能在不同的数据库之间轻易切换,底层的数据库实现对于业务逻辑组件是透明的。数据库移植时仅仅影响DAO 层,不同数据库的切换不会影响业务逻辑组件,因此提高了系统的可复用性。

对于不同的持久层技术,Spring 的DAO 提供一个DAO 模板,将通用的操作放在模板里完成,而对于特定的操作,则通过回调接口完成。Spring 为Hibernate 提供的DAO 支持类是: HibernateDaoSupport,5.2.3 DAO组件的定义

DAO 组件提供了各持久化对象的基本的CRUD 操作。而在DAO 接口里则对DAO组件包含的各种CRUD 方法提供了声明,但有一些IDE 工具也可以生成基本的CRUD方法。使用DAO 接口的原因是:避免业务逻辑组件与特定的DAO组件藕合。由于DAO 组件中的方法不是开始

就设计出来的,其中的很多方法可能会随着业务逻辑的需求而增加,但以下几个方法是通用 的。

• get: 根据主键加载持久化实例。

• saveor update: 保存或更新持久化实例。• remove: 删除持久化实例。

上面涉及了7个PO,这样我们必须设计7个对应的PODao 7个Dao必须继承BaseDao 这个BaseDao 有对接口的一些基本的CURD操作。7个Dao 如下。LinksDao,BlogDao、FeedBackDao、ArticleDao、MessageDao、SortDao、PictureDao。这7个Dao 分别封装对自己的持久化对象的一些操作。5.2.4 实现DAO组件

借助于Spring的DAO支持,可以很方便地实现DAO类。Spring 为Hibernate 的整合提供了很好的支持,Spring 的DAO 支持类是:HiberanteDaoSupport,该类只需要传入一个SessionFactory 引用,即可得到一个HibernateTemplate 实例,该实例功能非常强大,数据库的大部分操作也很容易实现。所有的DAO 类都继承HibernateDaoSupport,并实现相应的DAO 接口。而业务逻辑对象则面向接口编程,无须关心DAO 的实现细节。通过这种方式,可以让应用在不同的持久化技术之间切换。LinksDaoHiberante,BlogDaoHiberante、FeedBackDaoHiberante、ArticleDaoHiberante、MessageDaoHiberante、SortDaoHiberante、PictureDaoHiberante分别是LinksDao,BlogDao、FeedBackDao、ArticleDao、MessageDao、SortDao、PictureDao的实现类,并继承HibernateDaoSupport,并通过Spring IoC容器向7个Dao 实现类注入SessionFactroy,在7个Dao 的实现类就可以通过HibernateTemplate对PO持久化操作。并借助于Spring 提供的两个工具类: HibernateDaoSupport和HibernateTemplate,可以很容易地实现DAO 组件。这种简单的实现较之传统的JDBC 持久化访问,简直不可同日而语。比如我现在要得到所有Blog对象我只需一句 return getHibernateTemplate().find(“from Blog”);则返回一个Blog对象的列表。5.2.5 部署DAO 层

HibernateDaoSupport类只需要一个SessionFactory 属性,即可完成数据库访问。SessionFactroy创建Session,而数据库的CRUD操作都是有Session 完成,并将查询结果保存在一级缓存中,每次用户提交一次会话,可能需要Session完成一些数据库的操作而实际的数据库访问由模板类HibernateTemplate完成,该模板类提供了大量便捷的方法,简化了数据库的访问。5.2.5.1 DAO 组件运行的基础

应用的DAO 组件以Hibernate和Spring 为基础,由Spring 容器负责生成并管理DAO组件。Spring 容器负责为DAO 组件注入其运行所需要的基础SessionFactory。Spring 为整合Hibernate 提供了大量工具类,通过LocalSessionFactoryBean 类,可以将Hibernate 的SessionFactory 纳入其IoC 容器内。使用LocalSessionFactoryBean 配置

SessionFactory之前,必须为其提供对应的数据源,配置代码如下: 在datasource中配置它的数据库驱动driverClass,URL,username、password、inPoolSize、maxPoolSize 不管我们采用那种数据库我就可以在修改dataSource 的一些属性而不改动程序,将程序和数据库的耦合降到最低。5.2.5.2 配置DAD 组件

在将dataSource注入到上面简述的7个Dao中,就可以用HibernateTemplate提供的大量便捷的方法。进一步简化了持久层讨问,其模板的操作大大降低Hibernate 的重复操作;Spring 提供的DAO 支持简化了DAO 开发;SessionFactory 的依赖注入简化了Session 的控制等;这些都极大地提高J2EE应用的开发效率。声明式事务的管理分离了业务逻辑和事务逻辑,将应用从特定的事务逻辑中解料,使应用可以方便地在不同的事务策略之间切换。在所有的ORM 框架中,Sping 对Hibernate 的支持最好。Spring 提供很多IoC 特性的支持,方便地处理大部分典型的Hibernate 整合问题,如SessionFactory 的注入到7个PODao中、HibernateTemplate 的简化操作及DAO 支持等,然后在7个PODao实现类继承HibernateDaoSupport,这样的话,Dao实现类就可以通过HibernateTemplment以面向对象的方式操作数据库。另外,Spring 还提供了统一的异常体系及声明式事务管理等。一旦Hibernate 处于Spring 的管理下,Hibernate 所需要的基础资源,都由Spring 提供注入。Hibernate创建SessionFactory 必需的DataSource,执行持久化必需的Session 及持久层访问必需的事务控制等,这些原本必须通过代码控制的逻辑,都将由Spring 接管:DataSource, SessionFactory, TransactionManager 等,都将作为Spring 容器中的beano 将这些bean 放在配置文件中管理,可以提供很好的解耦。Spring 提供了DAO 支持,可以大大简化DAO 组件的开发。IOC 容器的使用,提供了DAO 组件与业务逻辑组件之间的松糯合。所有的DAO实现Bean 组件,都由容器负责注入到业务逻辑组件中,其业务组件无须关心DAO 组件的实现。面向接口编程及DAO 模式的使用,提高了系统组件之间的解稿,降低了系统重构的成本。通过Spring 整合Hibernate,使持久层的访问更加容易,使用Spring 管理Hibernate持久层有如下优势。

1.有效的Session管理: Spring提供了有效、简单和安全的Hibernate Session处理。2.IoC 容器提高了DAO 组件与业务逻辑层之间的解糯。3.DAO 模式的使用,降低了系统重构的代价。

4.方便的事务管理: Hibernate 的事务管理处理会限制Hibernate 的表现,而 5.Spring的声明式事务管理力度是方法级。

6.通用的资源管理: Spring 的ApplicationContext 能管理SessionFactory,使得 配置值很容易被管理和修改,无须使用Hibernate 的配置文件。

7.异常包装:Spring 能够包装Hibernate 异常,把它们从checked exception 变为 runtimeException;开发者可选择在恰当的层处理数据中不可恢复的异常,从而避免烦琐的catch/throw 及异常声明。配置DAD 组件所有继承HibernateDaoSupport 的DAO 实现类,必须为其提供SessionFactory 的引用。由于所有DAO 组件都需要注入SessionFactory 引用,因此可以使用bean 继承简化DAO 组件的配置。本应用同样将所有的DAO 组件配置在单独的配置文件中daoContext.xml中例如:由于7个Dao 都必须利用IoC容器注入

SessionFactory。我们先配一个dao模板,然后7个Dao就继承该模板这样就可以简化daoContext.xml文件

以blogDAO为例,blogDAO 的以daoTemplate 为父Bean,属性class是Dao的实现类。

parent=“daoTemplate”/> 其余6个PODAO的配置相似。从上面的配置文件可以看出Spring Ioc容器在Tomcat启动时就可以向Dao 注入SessionFactory 第3节 实现Service 层

Service 组件采用正面模式封装多个DAO 组件,DAO 对象与Service 组件之间的关Service 组件需要实现的业务方法主要取决于业务的需要,通常需要在业务组件中包含对应的方法。

业务层组件的实现业务层组件与具体的数据库访问技术分离,使所有的数据库访问依赖于DAO 组件,定义一个FacadeManagerImpl来包装7个Dao这样就可以把逻辑层和Dao分开,达到松散耦合的效果。事务管理将推迟到Service 组件而不是DAO 组件,因为只有对业务逻辑方法添加事务才有实际的意义,对于单个DAO 方法(基本的CRUD 方法)增加事务操作是没有太大实际意义的。关于事务属性的配置,本系统使用Spring 提供的TransactionProxyFactoryBean配置事务代理。这样不必为每个目标对象配置代理bean;避免了目标对象被直接调用。部暑业务层组件单独配置系统的业务逻辑层,可避免因配置文件过大引起配置文件难以阅读。将配置文件按层和模块分开配置,可以提高Spring 配置文件的可读性和可理解性。在applicationContext.xml 配置文件中配置数据源、事务管理器、业务逻辑组件和事务管理器等bean。配置文件如下:

PROPAGATION_REQUIRED

利用SpringFrameWork的TransactionProxyFactoryBean管理业务组件的事务,对应业务的方法名调用不同的事务管理,所以在业务逻辑组件的方法取名时一定要规范化。txProxyTemplate Bean是个业务组件事务管理的一个代理的父Bean,业务组件代理继承txProxyTemplate,并注入对应目标业务组件FacadeManagerImpl的在业务控制器根据请求

调用的是一个业务逻辑事务管理的代理,这个代理把请求分发给目标业务逻辑组件去处理,业务逻辑组件根据请求调用相应得Dao去执行。这样通过FacadeManagerImpl隔离业务逻辑控制器与Dao耦合。业务不需要知道是那个Dao执行的,也不需要Dao的 实现类。我们通过 Spring向FacadeManagerImpl注入7个Dao组件,业务逻辑组件是 面向DAO 接口编程,可让业务逻辑组件从DAO 组件的实现中分离。因此业务逻辑组件只关心业务逻辑的实现,无须关心数据访问逻辑的实现。第4节 MVC 层实现

MVC 架构的核心思想是:将程序分成相对独立,而又能协同工作的三个部分。通过使用MVC 架构,可以降低模块之间的耦合,提高应用的可扩展性。另外,MVC 的每个组件只关心组件内的逻辑,不应与其他组件的逻辑混合。

本文的MVC采用Struts框架。因为Struts 是最健壮,应用最广的MVC 框架。系统使用Struts 框架可以提高系统的可控制性,保证了系统的稳定性及可用性。5.4.1 1.Model 部分

模型独立于数据的显示,博客中所涉及的Model 都是ActionForm和JavaBean组成。模型返回的数据与显示逻辑分离。应用被分隔为三层,降低了各层之间的耦合,提高了应用的可扩展性。其中ActionForm用于封装用户请求参数,所有的用户请求参数由系统自动封装成ActionForm 对象:该对象被ActionServlet转发给Action;然后Action 根据ActionForm里的请求参数处理用户请求。比如本系统中的Registfrom封装了注册用户的所有信息,但页面触发了.do结尾 的 Http请求。这Struts的核心控制器ActionServlet将填充RegistForm 即调用RegistForm的setXxx。然后RegistAction就可以向业务逻辑组件提交添加RegistForm到博客。这样就完成用户的注册。而JavaBean 则封装了底层的业务逻辑,包括数据库访问等。比如本文中FacadeManagerImpl,通过业务外观向表现层封装数据的处理部分,而ActionForm 封装了请求参数以一个值对象(VO)的形似穿透J2EE的各层。

5.4.2 View 部分

Struts 的View 部分采用JSP 实现。整个应用由客户端请求驱动,当客户端请求被ActionServlet 拦截时,ActionServlet根据请求决定是否需要调用Model 处理用户请求,当用户请求处理完成后,其处理结果通过JSP 呈现给用户。通过Jsp将业务逻辑组件返回的值对象格式化,用户和系统通过View交互的。5.4.3 3.Controller部分

Struts 的Controller由系统核心控制器及业务逻辑控制器。

系统核心控制拦截特定形式的请求,再根据请求调用相应得业务逻辑控制器处理请求,在web.xml中如下定义:

action

com.blog.webapp.util.MyActionServlet

config

/WEB-INF/struts-config.xml

action

*.do 从上面的配置文件可以看出MyActionServlet是MVC的核心控制器,一般采用Struts 的ActionServlet就可以拦截以.do结尾的请求。这里我采用自己定义一个继承ActionServlet 的控制器,在处理请求时先将request的采用的编码设为统一的UTF-8,再将请求转发。ActionServlet是继承HttpServlet类,因此可以配置成一个标准的Servlet。该控制器负责拦截所有Http请求,然后根据用户请求决定是否需要调用业务逻辑控制器,如果需要调用业务逻辑控制器,则将请求转发给Action 处理,否则直接转向请求的JSP 页面。业务逻辑控制器负责处理用户请求,但业务逻辑控制器本身并不具有处理能力,而是调用Model 来完成处理。业务逻辑控制器对应图3.4中的Action 部分。业务控制层是整个系统的核心部分,它与要实现的业务功能紧密联系,其中的各个功能模块各自实现不同的业务功能。该层在接受到来自表现层的请求和相应得数据后。通过对业务数据层的调用来实现具体的业务逻辑。Struts 与Spring 的整合

整合Struts 与Spring 只有一个要求,让Struts 将拦截到客户端的请求转发给Spring容器中的bean。也就是说Struts的业务逻辑控制器可以将从核心控制器转发过来的请求教给spring IOC容器管理业务逻辑组件处理。本系统使用DelegatingRequestProcessor 的整合策略,使用DelegatingRequestProcessor的整合策略可避免创建过多的本系统采用DelegatingActionProxy,提前将请求转发到Spring 容器内的bean。为了在应用启动时由Struts 负责创建Spring 容器,应在struts-config.xml 文件中增加如下配置:

className=“org.springframework.web.struts.ContextLoaderPlugIn”> 通常上面的配置,可让Spring 容器随系统启动时完成初始化。注意在上面的配置中,Spring 的配置文件有一个aciton-servlet.xml,该配置文件中全部是Action。使用DelegatingRequestProcessor 的整合策略时,无须确定action 的实现类。因为DelegatingRequestProcessor直接将请求转发到Spring 容器内控制器配置为了Struts 与Spring 的整合,Struts 的Action 需要在两个地方配置。

1.在struts-config且xm1文件中配置对应的Action。

2.在Spring 容器中配置实际的Action,在本文中需要与数据层交流Action必须

继承BaseAction,而BaseAction 具有一个facadeManger的属性,本文的请求不直接处理请求,而是交给业务逻辑组件处理。本文通过向Action注入相应得业务逻辑组件facadeManger,Acton 将请求交给它处理。我们在action-servlet.xml 里配置一个

这样的Bean 然后每个Action将继承actionTemplate,这样Action就可以把请求交给facadeManager 处理。而facadeManager是个业务逻辑事务处理的一个代理。这样通过Spring 将facadeManager注入到业务逻辑控制器中,Action 就可以将请求分发给Spring Ioc容器中目标业务逻辑处理。这样完成Spring 向上整合Struts。5.4.4 采用Ajax加深用户体验

为了加深用户体验,本系统在处理请求时还应用到Ajax 技术。页面提交一个非.do结尾的请求,及触发了一个文档模型(DOM)事件。Ajax处理请求如下: 1.DOM事件处理者收到事件发生的消息进行处理,即在JavaScript定义的一个函数处理。2.处理者开始创建一个XMLHttpRequest对象,并根据触发的事件对XMLHttpRequest 对象设置目标URL、http 方法(GET或POST),在本系统中URL是一个以.do结尾的请求。主要是请求交给业务逻辑组件处理,再注册服务器的回调函数。3.向服务器分派异步的Http请求。

4.异步的Http请求发出后,游览器不必等待服务器的响应,用户还可以与页面交互。5.Struts 的核心控制拦截http请求,根据请求分派Action去处理请求。

6.Action交给业务逻辑组件处理。Action 接受到业务逻辑组件处理后的结果(一般是VO或VO数组),再将返回的结果序列化成XML作为服务器的响应内容。核心控制器再将响应内容返回给游览器。

7.调用XMLHttpRequest注册的回调函数。

8.回调函数解析响应内容XML文档,在这里我们利用DOM将XML换成html格式数据流。利用DOM改变交互页面的html节点。达到用户的需求。

设计结果及对设计结果的分析

本系统是一个小组(3个人)合力设计的。我负责底层即Hibernate Dao层逻辑层,MVC层,PO 和DAO 的设计。故我们采用值对象(VO)作为我们的数据交流载体。我负责VO的处理,而胡爱梅负责数据的显示即利用Jsp格式化从我设计业务逻辑层返回的数据。陈成负责搜索引擎的设计,他主要用到我设计的PO和外观组件(Dao封装体)去查询实体。在设计的过程中沟通是非常重要的。为了更好地向胡爱梅同学提供更好的服务。在设计逻辑组件返回的数据时我利用VO或XML来封装。利用DOM将XML格式转化为html的一格节点或者将VO填充到Jsp的内置对象比如Session。在JavaScript中替换她在Jsp页面定义的Html 节点。她转发的请求参数统一利用ActionForm来封装。而Struts 的核心控制器会帮我们填充。只要Action中将ActionForm换成我在Hibernate层定义的持久化对象PO就行了。再把PO交给facadeManger处理。这样只要胡爱梅同学知道我设计的PO的结构并将PO填充的Session的那个属性,她就可以将PO显示在页面上。而我只要知道她需要完成那些功能,即知道请求格式(请求的URL,ActionForm)和需要返回何种数据就行了。我便可以设计Action应该如何处理业务逻辑,再考虑将数据格式化成何种XML结构。并举例如何解析XML数据,或者将PO(List

)填充到Session的属性告诉她。为了更容易操控数据库,及格式化查询结果。我采用Hibernate 的DAO模式,利用Hibernate 查询的结果本来就是一个对象或对象列表,这就更方便我数据系列化成xml文件了。

本系统基本上可以实现前面需求分析中所要求实现的功能。另外添加了mp3播放和像word软件一样的编辑器。

由于第一次利用Java开发程序,第一次开发web应用程序。第一次利用Spring、Hibernate、Struts、Ajax等技术或框架编写程序,第一次利用MyEclipse 编写java应用程序、第一次利用MySql作为数据库系统。种种第一次,使的我在设计本系统困难重重。下面详细讲述我在开发过程中所遇到的问题和我的解决方案。1.到处出现乱码。为次我必须统一我的编码方式。

我统一采用UTF-8作为我的编码方式。并且在ActionServlet将请求转发的时候先将request的编码统一设为UTF-8,这样还是不能将Actionform 的乱码解决。ActionForm的编码是ISO-8859-1 为此我可以采用String类提供的构造函数解决。比如ActionFom的String属性str,我通过new String(ActionForm.getStr().getByte(“ISO-8859-1”),”UTF-8”)可以将ActionForm转为UTF-8。开始装MySql 时就要设定 数据库建表时表所用到的编码。同样设为UTF-8,开始我有些Form是采用Struts的DynaActionForm,这样可以少写个ActionForm类。但DynaActionForm的编码不确定。最后我只能将DynaActionForm改为ActionForm的类。对于Struts 不能拦截的请求我们统一采用Actionform一样的方式。

利用Validator验证失败能返回到指定的页面上去。

input=“/registadmin.jsp ” validate=“true”>

这是struts-config.xml 的一个registAction 的配置文件。RegistForm 经过

Struts 失败验证后Struts 不会将请求交给registAction处理直接转到input定义下的/registadmin.jsp页面上。而事实并不能转发,而是转到一个空白页面,由于验证成功可以转发,所以,其他一切都没错,只能是Action 的配置有错。将input=“/registadmin.jsp ” 改为input=“input”,定义input为一个forward 这样可以解决问题。在input属性直接配置他jsp页面是从书上将的。从这可以得出只有实验才体验框架的工作原理。2.图片上传

图片上传需要解决两个问题,1图片以什么形式出现在MySql中?以Blob,还是图片的一个路径名。博主将 图片上传到服务器,将图片的路径名保存到

MySql数据库中。我采用Struts提供的FileForm 作为上传图片ActionForm的文件属性,在Action处理时通过FileForm.getfile()得到该文件2,怎么产生路径名?为了不使图片的名称一样我采用以时间和用户名两个参数随机产生一个字符串作为图片的路径名。激将上传图片统一保存到一个特定的文件夹内。最后在表单中必须有 enctype=“multipart/form-data”这样可以让Jsp知道表单含有大量数据要上传。3.博文字数 多时不能就博文提交。

必须把写博文的表单中method设为post而不是get,因为get只是在提交请求 时带些参数而已。

4.一个对象不能同时在两个Session中,由于我开始没有将查询作为一个事务处理。后来将曾经查询过的对象作一些修改。由于对象的修改是在一个事务管理中。查询和修改不在一个事务管理中,则修改时事务管理重新开启一个Session。将对象保存到数据库中,这时一个对象同时在两个Session中,JDBC是不支持的。要修改对象,以前需要查询操作,由于利用了Spring 的事务管理,这就必须将两次操作放到一个事务中。

5.在blog主页面的所有Jsp页面刷新后的mp3重新播放

由于在mp3播放的页面中是采用在页面中嵌入 loop=“true” autostart=“true”> src是一个mp3的播放列表。页面刷新后jsp的servlet重新运行。mp3重新播放,由于对播放器的API还不了解,现在还解决。mp3的播放资源只是嵌入到导航页面(left.jsp)。只要导航页面重新刷新后mp3就重新播放。系统的性能评价

由于本系统的jsp容器是Tomcat,系统设计也采用轻量级的Hibernate,而不是EJB所以在群集,负载均衡、安全性、事务、系统管理都不很理想。数据库的连接池也不能很大,因为tomcat 不便管理。在本系统的数据库中只采用了一级缓存Session 没有启动二级缓存SessionFactory,由于大量重复数据的查询,性能可能有所降低。对于页面的分页处理,一般有两种,一种是物理分页,利用Sql语句向数据库查询指定那个页面所需要的数据,对于种方式由于数据库的差异,数据库提供的offset也不同,对于明确数据库的项目来说,物理分页在性能上讲显然比逻辑分页要来的好。第二种是逻辑分页,通过sql语句查询所有数据,再利用for语句读取用户所需要的数据,查询数据全部提交给客户端,还是将当前页面的数据相应客户端,是不好选择,因为如果全部相应,则用户可能只关心一部分,浪费了大量带宽,将当前数据提交给客户端则客户可能还关心其他数据,便再次相应服务器,要求得到其他数据,数据都在服务器的缓存中,加重服务器的压力,我选择的是将数据全部相应客户端。

全文总结

本文从博客网站的所需要实现的功能模块开始分析,决定使用Java开发博客网站。并利用JDK,Tomcat,MyEclipse,MySQL等软件来搭建开发环境,我的主要任务利用Java技术的Spring、Hibernate、Struts等开源框架设计J2EE三层结构的中业务逻辑层和数据服务层,blog网站以Spring 框架为核心,向下整合Hibernate 进行持久层访问;向上整合Struts 按清晰的MVC 模式控制。这样可以更快开发松散耦合的blog 网站。

由于没接触过Java,还有一些软件还没用过,如MyEclipse,因此完成此次毕业并不容易。通过摸索、翻阅并购买了大量相关参考资料,让我java 技术有了一定的了解。比较圆满地完成了本次毕业设计的任务,达到了此次毕业设计的目的和要求。

通过这次毕业设计学会利用java构建Web 网站,在毕业设计中接触过不少开源框架。开源框架的强大让我觉得还有很多技术需要去学习,这也让我明白,要不断地学习新知识才会利于自己各方面的发展。还让我体会到在项目小组里没有比沟通更重要

致谢

在论文结束之际,首先要感谢我的指导老师戴祖旭教授,在我的论文设计以及实现过程中均给了我大量的帮助和指导,他严谨的敬业精神和治学态度给我留下了深刻的印象。从他身上,我学到了许多能使我受益终身的东西,再次对戴老师表示衷心的感谢。

感谢理学院领导以及老师给我们创造的良好的学习环境和诸多帮助。

篇8:网站设计开发论文

随着我国教育需求不断增加, 高校教育资源有限, 教育经费相对不足的情况下, 利用现代信息技术发展高等教育, 不仅充分利用了优秀教育资源, 而且为更多的人提供接受高等教育的机会, 同时这也是极大促进了高校的信息化发展。目前适用于各种教育层次的教务管理、教学管理、课件、考试等系统或平台已逐渐发展成熟。但是, 大多平台中的教学系统一般都是以完成“课程教学”为目标设计的, 对课程实验、毕业论文 (设计) 等实践性环节提供支持服务还很少。用网络平台实现对毕业论文 (设计) 教学环节的支持服务还少有人讨论, 而这一应用恰是目前所需要的。[1]

本系统所研究就利用互联网Web 2.0技术, 采用B/S工作模式来解决毕业论文 (设计) 实践环节中教师数量不足, 选题不规范, 指导教师与学生难以及时沟通等问题的。

2 理论基础和核心技术

2.1 JSP技术

JSP (Java Server Pages) 技术是以Java语言作为脚本语言的, 它为创建高度动态的Web应用提供了一个独特的开发环境。JSP代码可被编译成Servlet并由Java虚拟机执行, 这种编译操作仅在对JSP页面的第一次请求时发生。因此普遍认为JSP的执行效率比PHP和ASP都高。[2]

Java Servlet是一种开发Web应用的理想构架。JSP以Servlet技术为基础, 又在许多方面作了改进。JSP页面看起来象普通HTML页面, 但它允许嵌入执行代码, 利用跨平台运行的Java Bean组件, JSP为分离处理逻辑与显示样式提供了卓越的解决方案。并且JSP可以使用Java Beans或者EJB (Enterprise Java Beans) 来执行应用程序所要求的更为复杂的处理, 进而完成企业级的分布式的大型应用。[3]

2.2 Java Bean

什么是java Bean?Java Bean是一种基于Java的软件组件。其实是一个Java的一个类而已[7]。JSP对于在Web应用中集成Java Bean组件提供了完善的支持。这种支持不仅能缩短开发时间 (可以直接利用经测试和可信任的已有组件, 避免了重复开发) , 也为JSP应用带来了更多的可伸缩性。Java Bean组件可以用来执行复杂的计算任务, 或负责与数据库的交互以及数据提取等。

2.3 CSS技术

CSS是Cascading style Sheets的简称, 中文译作层叠样式表单, 它是一种为超文本置标语言 (Hyper Text Markup Language, HTML) 提供增强补充服务的技术, 可对每一个HTML的置标 (tag) 做精雕细刻的修饰。它语句、文法简单, 只要在源码中插入STYLE语句就可轻易实现页面内任意文本颜色、背景、边框、行距、字距的添删和修饰等功能, 就可使网页更加生动活泼, 从而获得满意的效果。

2.4 客户端脚本技术

客户端脚本是为操控和显示由服务器端返回的内容而量身定做的。这种方法可以隐藏、显示网页组件, 移动或者改变颜色和字体, 从而实现对用户事件的反应。显示或隐藏表单是在网页上创建下拉菜单的根本。依据鼠标位置显示相应的窗口支持网页提示功能。

本系统采用了应用最为广泛的客户端脚本语言是Javascript是一种面向对象并在网络浏览器内部运行的脚本语言。它对网页组件的控制是通过文件对象模式 (DOM) 实现的, 该模式是一种实现与网页交互的应用程序接口 (API) 。[4]

2.5 数据库技术

数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息, 简而言之, 数据库就是信息的集合。

1) Web数据库简介

所谓Web数据库管理系统是指基于Web模式的DBMS的信息服务, 充分发挥DBMS高效的数据存储和管理能力, 以Web这种浏览器/服务器 (B/S) 模式为平台, 将客户端融入统一的Web浏览器, 为Internet用户提供使用简便、内容丰富的服务。Web数据库管理系统必将成为Internet和Intranet提供的核心服务, 为Internet上的电子商务提供技术支持[7]。

2) SQL Server 2000简介

SQL Server 2000是企业级网络关系型数据库产品, ODBC数据库引擎提供了与数据库打交道的途径, 通过它以及来访问数据库并对其进行各种操作。Visual Basic、SQL Server 2000以及其他微软的软件产品都是通过ODBC数据库引擎, 从而给用户提供了丰富的数据类型。ADO数据对象模型在数据库中的信息与将信息显示给用户看的程序之间架起了一座桥梁。它提供了用来浏览不同记录的各种跳转方法, 使用微软公司推荐的ADO对象模型将为以后的扩展带来便捷。[10]

3 系统设计与开发

3.1 系统研发的目的

毕业生毕业论文 (设计) 管理系统充分利用网络的优势, 实现论文管理的网络化, 使原本繁琐的选题问题简单, 快捷, 奏效。解放教辅人员和学生。学生能够根据教师所提交的题目, 在联网的计算机上随时选择, 更改自己的论文题目。教师可以在任意联网的计算机上发布论文信息, 并实现选择其论文的学生信息的打印。管理员有设置限制选题条件的功能。并能在任意联网的计算机上对选题信息按班级, 教师实现打印。管理员还应有封闭数据库的权利。

3.2 系统设计思想

本系统利用互联网Web2.0, 采用B/S结构开发。由于本系统在Web环境中使用, 网站完成功能比较简单, 主要是对数据的基本操作。因此, 使用JSP+Java Bean的开发模式进行开发。以SQL Server 2000数据库系统技术做为后台数据库的支持, 通过基于Web技术的系统开发, 保证用户 (教师、学生) 通过授权可以任何条件下通过网络登陆, 实现相关的服务。系统的系统开放性好, 架构灵活, 便于维护, 在稳定性和安全性方面达到了较高的指标。[5,6]

3.3 毕业生毕业论文 (设计) 管理系统分析

3.3.1 使用UML用例图描述系统需求

该系统用户有三种身份:学生、教师及管理员。学生和教师都可以注册, 更改自己的身份信息, 但学生不能改自己的用户名 (学号) , 而且学生只有在注册自己的详细个人信息后才可以进入系统进行论文题目的选择。学生和教师的用户名可以由管理员统一发布。具体描述如图1、图2、图3所示。[8,9]

3.3.2 系统结构功能分析

从以上对本系统的分析, 可将其分成前台和后台两部分。前台主要是为学生和教师提供, 后台是为管理员 (教学秘书) 提供。如图4和图5给出了前台和后台的功能结构图。

3.3.3 数据库的设计及实现

本系统主要用到四个数据表:

1) student (学生信息表) , 该表不但保存学生的基本注册信息, 还包含了学生选择了哪位教师的选题 (即教师编号和选题编号) , 主要包括:学号 (学生ID) 、密码、学生姓名、班级等学生的基本信息和教师ID、论文ID。

2) teacher (教师信息表) , 该表用于保存教师的基本信息, 主要包括教师ID、密码、教师姓名、教师职称等等教师的基本信息。

3) article (论文信息表) , 该表用于保存论文的基本信息, 主要包括对应教师的ID、对应教师的论文题目及论文ID等论文基础信息。

4) admin (管理员表) , 该表用于保存管理员的基本信息及选题条件的限制, 主要包括管理员号、管理员密码、管理员ID、同一教师选题人数和同一题目选题人数, 选题的有效时间等内容。

本系统用到的数据表的关系主要有一个, 如表1所示。

3.3.4 网站整体设计

毕业生毕业论文 (设计) 管理系统采用JSP+Java Bean的开发模式。使用的Java Bean如表2所示。

3.3.5 网站结构设计

本系统网站的结构中有多个文件夹, 分别存放不同内容与形式的文件。Datebase文件夹用来保存系统的数据库;css文件夹用来保存系统的样式表;image文件夹用来保存系统中所需要的图片;admin文件夹用来保存管理员相关的页面;student文件夹用来保存学生相关的页面;teacher文件夹用来保存教师相关的页面。

3.3.6 系统实现的主要功能

3.3.6. 1 个人信息管理

前台的个人信息管理主要是指用户 (学生/教师) 的注册信息的管理。注册时必须确保注册用户名的唯一性, 因此, 在保存注册信息前, 需要查询数据表中是否有相同的用户名, 如果没有, 可以向数据表插入新的记录然后提示用户注册成功;反之, 则说明同名用户存在, 需要提示用户更改。

后台的个人信息管理主要是指管理员信息的管理。此信息可作为管理员登录系统、管理系统的通行证, 管理员拥有很大的权限, 所以更要妥善处理。在这个模块里主要包括管理员登录和管理员密码的更改两个部分。

3.3.6. 2 论文信息管理

论文信息管理分成两个用户来完成, 教师和学生。其中教师所完成的工作主要有发布论文信息, 更改和删除论文信息;学生的工作则是选择、重选论文题目, 查看所选论文题目。本系统可以限制每一个教师可带的学生个数, 也可限制每一个题目可供多少个学生来选择。在这两个环节中, 教师是主导地位, 因为只有教师发布了论文题目信息, 学生才能从教师发布的论文题目中选择。

3.3.6. 3 选题信息管理

选题信息管理分为两种用户 (即学生和教师) 。学生的选题管理功能主要就是对自己所选的论文题目进行查看;教师的选题管理功能就是查看选择自己论文题目的学生的具体信息, 并能够进行打印。

4 系统的特色及优势

4.1 方便、简洁的中文操作界面

本系统的为中文操作界面, 操作简单、直观, 便于用户理解系统较复杂功能, 熟练本系统的操作和应用。

4.2 实用性

本系统为用户提供了方便、高效率的功能支持, 中文操作界面可以使用用户更好地利用母语优势, 迅速掌握系统的操作技能。该系统不仅具有较完美的支持功能, 同时采用了最优化的结构设计, 降低了系统构建成本, 解决了毕业设计中的一些实际问题, 可以说是一个实用型系统。

4.3 可移植性

本系统可以作为校园网中校园办公的辅助系统, 如庞大的教务管理系统平台, 只要数据库一致, 就可以简单的进行移植。

4.4 具有二次开发能力

尽管本系统是针对我系的实际自主设计开发的, 因此可以针对不同用户进行二次开发, 提供有效的技术解决方案, 满足用户的需求。

4.5 较高的性价比

本系统所需的发布平台是TOMCAT, 该软件为免费软件, 操作系统为Windows 2000。硬件环境所用的计算机配置为P43.0, 512M内存, 40G硬盘或以上即可。

5 结束语

实现学院论文管理信息化, 把传统的学生毕业论文管理模式与校园网相结合, 充分发挥互联网使用的方便, 高效的优势, 能极大地提高传统论文管理模式的水平和效率。既有利于教学单位的教辅人员从琐碎、繁重的管理工作中解放出来, 而且又给教师和学生提供了快捷和便利。

本文从系统分析、功能分析、系统设计、数据库设计等方面, 全面叙述了系统的实现过程。采用B/S结构, 运用了JSP+SQL SERVER技术实现基于Web技术的毕业生毕业论文 (设计) 管理系统开发。JSP不仅拥有与Java一样的面向对象性、便利性、跨平台等优点和特性, 还拥有Java Servlet的稳定性并可以使用Servlet提供的API。在稳定性和安全性方面达到了很高的指标, 最大限度地保证了数据的稳定及安全。本系统比较有特点的是对论文选题的条件也进行了限制。分别分为题目和导师两种限制, 不同于以往的选课系统。本系统可以作为校园网中校园办公的辅助系统, 如庞大的教务管理系统平台, 只要数据库一致, 就可以简单的进行移植。本系统对提高毕业生毕业论文 (设计) 的质量可以起到积极的作用。

摘要:本文选题来源于工作中的实际问题, 依托校园网的强大优势, 将一年一度的学生毕业论文 (设计) 管理工作通过互联网技术来实现。本文从系统背景入手, 分析了系统开发的必要性, 并详细介绍了系统实现的过程和相关技术。提出了具体的实现方法, 把师生从琐碎的论文管理工作中解脱出来, 具有较强的实用性和科学性, 为现有的教务管理系统平台扩充了功能。

关键词:互联网,Web应用程序,校园网,JSP

参考文献

[1]高贤波.网络教学测评系统的设计与实现[J].教育信息化, 2006, 22 (9) :32-35.

[2]曾婕.基于校园网的多课程并行考试系统[J].江西理工大学学报, 2006, 9 (3) :22-27.

[3]王志军, 孙月霞.基于Web开发的几种服务器端脚本语言的分析与比较[J].计算机应用研究, 2006, 23 (3) :26-30.

[4]苑晓红, 赵春玲.基于JSP的B/S结构系统的构建技术[J].科技资讯, 2006, 61 (23) :17-19.

[5]Royce W.Software Project Management A unified Framework[M].北京:高等教育出版社, 2002.

[6]Watts S.Humphrey.Managing the Software Process[M].北京:清华大学出版社, 2002.

[7]冯缨.JSP-JavaBean开发模式研究及在网上答题系统中的应用[J].计算机工程与设计, 2006, 16 (5) :25-29.

[8]周世兵, 刘渊.基于B/S模式的网上档案管理系统的开发与建模[J].计算机工程与设计, 2006, 27 (10) :34-38.

[9]Tom Flecher, Jim Hunt.Software Engineering and Case Bridging the Culture Gap.R.R.Donnelley and Sons Company, 2000.

上一篇:学校建设下一篇:嵩市镇生态示范镇简介