https://www.bilibili.com/video/BV172421w74j/
演示视频:
第4章 开发环境选择
俗话说的好:巧妇难为无米之炊!磨刀不误砍柴工,一款好的工具能让事情变得事半功倍。同样道理,要开发出高效的系统也得有相应高效的开发环境,本章主要从开发语言、开发工具方面进行浅析。
3.1 开发语言的选择
Java是Sun公司推出的新的一代面向对象程序设计语言,特别适合于Internet应用程序开发。Java的产生与流行是当今Internet发展的客观要求,Java是一门各方面性能都很好的编程语言,它的基本特点是简单、面向对象、分布式、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的,特别适合在Internet环境上开发的应用系统。
3.2 数据库的选择
SQL Server是一个关系数据库管理系统,是Microsoft推出新一代数据管理与分析软件。SQL Server是一个全面的、集成的、端到端的数据解决方案,它为企业中的用户提供了一个安全、可靠和高效的平台用于企业数据管理和商业智能应用。目前SQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了SQL作为网站数据库。
SQL Server的特性:
1. 使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性 ;
2. 支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统 ;
3. 为多种编程语言提供了API。这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等;
3. 支持多线程,充分利用CPU资源 ;
3. 优化的SQL查询算法,有效地提高查询速度;
6. 既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名;
7. 提供TCP/IP、ODBC和JDBC等多种数据库连接途径 ;
8. 提供用于管理、检查、优化数据库操作的管理工具 ;
9. 可以处理拥有上千万条记录的大型数据库 。
安装、运行SQL的硬件需求:
1. 计算机
Inter及其兼容计算机,Pentium 166Mz或者更高处理器或DEC Alpha和其兼容系统。
2. 内存(RAM)
企业版最少64MB内存,其他版本最少需要32MB内存,建议使用更多的内存。
3. 硬盘空间
完全安装(Full)需要180MB的空间,典型安装(Typical)需要170MB的空间,最小安装(Minimum)需要65MB的空间。
3.3 开发工具的选择
选择MyEclipse,Dreamweaver作为应用程序开发工具,运用Tomcat服务器技术,整个系统完全基于B/S (Browser/Server)模式进行设计。
1. MyEclipse
MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate.
MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。
2. Dreamweaver
Dreamweaver是一个可视化的网页设计和网站管理工具,支持最新的Web技术,包含HTML检查、HTML格式控制、HTML格式化选项、HomeSite/BBEdit捆绑、可视化网页设计、图像编辑、全局查找替换、全FTP 功能、处理Flash和Shockwave等富媒体格式和动态HTML、基于团队的Web创作。在编辑上你可以选择可视化方式或者你喜欢的源码编辑方式。
Dreamweaver的十大新特性:
(1) 动态跨浏览器验证:自动检测标签和CSS规则来适应所有主流浏览器;
(2) 更强大的CSS支持;
(3) 内建的图形编辑引擎:修剪,改变大小,尺寸,旋转角度,调节明暗度都不需要离开Dreamweaver环境,因为它本身集成了FW的基本图形编辑技术.(这一点有模仿FrontPage的嫌疑,但这个功能确实很实用);
(4) 安全FTP:完全加密传输保证文件和帐号信息的安全;
(5) 增强对当今技术的支持:支持当今主流的开放环境:ColdFusion,J2EE,PHP,.NET,和其他主流的服务器技术.Dreamweaver现在加入了XML命名空间支持,ASP.NET表单控件对象,新的参考书内容和新的PHP服务器端行为;
(6) 无缝整合外部文件和代码:直接将Word和Excel文档复制和粘贴到Dreamweaver中,会保留字体,颜色,CSS样式表信息。使用系统支持的编码保存任何字体,包括双字节字符集;
(7) 紧密整合MM的其他工具:加强了和MM其他几款产品的协同工作能力。例如:你可以通过DW直接设置Flash组件的参数;
(8) 基本支持改良:插入条,表格工具都有改进;
(9) 增强代码编写工具:编辑代码更省时,例如右键编写代码工具,增强的查找和替换,高效的属性面板;
(10) 改进的设计开放环境:一个改良的用户界面,更高的实用性,非常亲切和有逻辑,让你快速找到你想要的东西,一个新的开始屏幕让你快速访问最近的文件和教程资源。
3.4 本章小结
本章通过对开发语言以及开发工具的分析,从而选择出博客设计所需要的语言和工具,形成最为开发博客系统的开发环境。
第5章 总体设计
本博客系统的设计系统结构基于B/S架构。B/S架构管理软件只安装在服务器端(Server)上,即应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。
3.1 系统分析
在整个Blog进行开发之前,要确定出整个项目的整体架构,包括系统的选型、运行环境的确定及系统结构设计。下面对这进行详细介绍。
在进行软件系统开发的最初环节,一般都需要进行系统的选型,即根据系统功能的实际需求,选择合适的开发工具及软件架构。
Blog对系统的可靠性、稳定性有比较高的要求。本系统设计时,比较主流的B/S设计有基于JSP、ASP、PHP、CGI及J2EE等模式。相比较而言PHP的功能相对简单,不适合做大程序;而CGI效率相对较低,所以也不考虑。所以选择Java技术作为blog 的开发语言。
为了增加系统的吞吐量,提高并发处理客户请求数量,系统采用了高性能PC作为主机。在数据库处理方面,不需要在数据层借助存储过程及数据库服务器端函数封装过多的业务逻辑,因此数据库系统采用相对精巧的SQL。
伴随着Internet的迅速发展,计算机技术正在由基于C/S(client/ Server)模式的应用系统转变为基于B/S模式的应用系统。
过去,网络软件的开发都采用C/S(client)模式,在这种模式下,主要的业务逻辑都集中于客户端程序,因此,必然导致以下问题:
系统安装、调试、维护和升级困难。由于客户端的硬件配置可能存在差异,软件环能各不相同,因此,在安装时,必须对每一个客户端分别进行配置,同样,在软件升级时也要对客户端分别处理。
B/S模式带来了巨大的好处:
开发成本及维护成本降低。由于B/S架构管理软件只安装在服务器端(Server)上,即应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。
良好的安全性能,防火墙技术可以保证后台数据库的安全性。所有的配置工作都集中在服务器端且所有客户端请求都是通过DBMS来访问数据库,从而大大减少了数据直接暴露的风险。
该在线博客系统服务器端如果需要布置到其他主机上,则该主机必备条件如下:
1. 服务器端操作系统:独立于操作系统的跨平台系统,客户端 Windows 2000及以上;
2. 数据库:SQL 2000及以上;
3. Web服务器:Tomcat 3.5及以上版本;
3. 客户端运行环境:能运行IE 6以上或Mozilla Firefox浏览器的操作系统;
3. 客户端运行工具:目前的系统采用浏览器作为客户端,应该选择使用IE 5以上或Mozilla Firefox版本浏览器。
本网站以win7为Web平台,JSP+Servlet+JavaBean为网站实现技术,建立基于SQL2008数据库系统的核心动态网页,实现博客网站前台及博客个人维护管理等功能模块。
1. 系统处理的准确性和及时性:系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足信息处理的需求。
2. 系统的开放性和系统的可扩充性:系统在开发过程中,应该充分考虑以后的可扩充性。例如数据表中用户选择字段方式的改变,用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。
3. 系统的易用性和易维护性:要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。
3. 系统的数据要求:
(1) 数据录入和处理的准确性和实时性;
(2) 数据的一致性与完整性;
(3) 数据的共享与独立性。
3.2 功能模块介绍
本博客系统的模块结构主要分以下几块:博客注册登录模块、日志文章模块、相册模块、音乐歌曲模块、留言板模块、后台管理等等模块。
3.2.1 博客注册登录管理模块
博客注册登录管理模块用于建立博客网站固定的客户群体,通过记录对应的博客档案,实现对博客信息的维护及管理,同时也便于通过博客档案将网站最新动态及相关信息方便地传达给每一位浏览的用户。
该功能模块实现了以下几个子功能。
1. 新博客在线注册。
2. 博客主登录。
3. 跳转到博客主页。
只有进行登录并通过身份验证的用户,才可以在个人博客页面发表日志,并借助个人设置实现对个人博客相关信息的管理维护。对于没有经过身份验证的网络用户不允许在博客页面中发表日志,更不允许对博客页面信息进行管理维护。
该模块实现新博客的注册及登录验证功能。其中,注册新博客时会对用户输入的注册信息进行有效性验证,包括基本数据格式的有效性以及逻辑有效性。注册成功的博客主登录时,会随时根据博客输入的登录信息进行提示,如用户名错误或者密码错误。
3.2.2 日志文章管理模块
日志模块为网络注册用户提供便捷的管理功能,可以添加、删除、修改日志,以及日志阅读浏览等功能,同时日志的评论信息也能够及时反馈给网络用户。
该功能模块实现了以下几个子功能。
添加博客日志
1. 发表博客日志主要是提供用户发表和张贴个人的日志或是对某些事务的独到见解等的功能,通过发表的日志,其他用户可以发表相关的评论,以便能够同其他来访者进行交流,是一个展现自己的网络交流平台。
该功能通过日志的Servlet来控制完成并写入到数据库中。在保存过程中,系统会在数据库中为该日志自动生成一个唯一的日志ID编号,这个编号是自动递增的生成,用以唯一的标识一篇日志。
2. 单独日志的显示,评论查看和发表评论
发表日志的评论是在查看单篇日志的前提下操作的,当访客查看单独的一篇日志时,即可通过页面下方的评论输入框来进行评论的发布。
该模块能够在网页中随时提供在线的最新日志信息。网络用户可以随时获得最新日志以及最新的博客评论。在用户选择了某个感兴趣的日志后,可以方便地跳转到对应博客页面进行日志的阅读,并和博客主进行交流互动。
3.2.3 相册管理模块
当网络用户进入某个人博客相关相册页面后,在该页面中将提供博客图片列表的显示,也提供对单个图片的浏览及评论的浏览。该功能模块实现了如下几个子功能。
1. 添加相册和图片。
进入相册模块后,可以点击创建相册来新建一个相册,建立相册后,可以进入相册模块点击上传按钮进行相关的上传操作。上传的文件将被保存在IMAGE的文件夹中。图片将以存放的相对地址存入数据库中,以便保存和读取。
2. 浏览图片。
可以进入相应的相册进行相册图片的查看,这时所有该相册的图片将会显示在浏览器中,通过单击相应的图片可以进入单个图片的查看页面。
3. 浏览单个图片及发表评论。
发表图片的评论是在查看单个图片的前提下操作的,当访客查看单独图片时,即可通过页面下方的评论输入框来进行评论的发布。
3.2.4 留言板管理模块
博客留言管理模块用于实现用户对博客个人留言的管理和显示。
该功能模块实现了如下几个子功能:
1. 查看留言。
2. 各种用户发表留言。
借助该模块,允许用户对博客的留言进行查看及其发表。
3.2.5 用户信息管理模块
博客个人维护管理模块用于实现用户对博客个人主页及相关信息的动态管理。
该功能模块实现了如下几个子功能:
1. 个人注册信息的修改,密码的修改等。
2. 个人基本信息维护管理。
借助该模块,允许用户对博客的个人信息进行维护及其管理。
3.2.6 后台管理模块
在博客后台管理模块中博客系统的管理员可以登陆后台进行整个博客系统的管理,进入某一管理页面可以查看相关方面的信息,可以随时对相关信息进行人为审查,如评论,日志中是否有敏感词,博客主上传的图片是否含有暴力色情等等,同时也可以查看到其他人的评论和留言中是否含有人身攻击等。
该功能模块实现了如下几个子功能:
1. 对各个分类如日志、图片、评论、音乐的显示及播放。
2. 对各个相关信息单独的显示。
3. 对不符合规定的相关文件进行删除。
3. 及时更新最新国际军事动向和最新国际局势。
3. 及时回复好友信息以及发布有关公告。
借助该模块,允许管理员对博客的各个信息进行维护及其管理。
整体上看,本系统机构功能图3-1如下:
图 3-1 功能结构图
3.3 界面设计
在博客后台管理模块中博客系统的管理员可以登陆后台进行整个博客系统的管理,进入某一管理页面可以查看相关方面的信息。
1 界面设计_主页
此界面为该博客的首页,是所有用户进入系统的第一个界面,所有的操作都可以在这个平台上进行。首页可分为三部分:
第一部分是网站LOGO和网站名称,主要以军绿色为基调,表现出该博客主要与军事相接承的特点。
第二部分是系统功能导航栏,功能划分清晰而无重叠冗余。当用户进入到博客主界面时,可以通过页面上的系统功能导航栏进入军情观察、通过登陆和注册进入到相应的界面等等。
第三部分是几个主要栏目的主要资讯以及一些方便浏览者的网站链接。
第四部分是主页的结尾部分,主要涉及该网站的开发者信息和相关的法律声明。
如图3-2所示:
图3-2 主页
2 界面设计_音乐后台管理页
本页主要方便管理员进行音乐收藏的管理。在该页上,用户可以自行添加、修改、删除音乐的相关具体信息。
如图3-3 所示:
图3-3 音乐管理页
3 界面设计_日志文章页
此界面为博客的特色功能,是用户进行日记查看的页面,方便用户随时进行日记信息的查询,用户进入该页后可以浏览到日志文章的详细信息。
如图3-4所示:
图3-4 日志文章页
4 界面设计_留言板页
用户进入留言板页面后,可以直接在上上面进行相关留言,该页面上可以看到留言的日期,留言者的名称、电话、邮箱、QQ等具体信息。
如图3-5所示:
图3-5 留言板页
5 界面设计_相册页
此页面可进行所有关于像册,像片信息的操作,以列表的形式展开说明。
用户可以通过2种方式查看图片。一种是通过左上角的搜索栏,以搜索方式查看自己想要看的相册和相片;另一种则是直接通过下方的列表方式来查看。
如图3-6 所示:
图3-6 相册页
6 界面设计_用户注册页
用户进入信息注册页面后,需要填写页面上所显示的相关内容,其中后面有星号的为必填选项,填写完成后点击下方的“提交”按钮则可。信息将被提交数据库中存储。
如图3-7所示:
图3-7 用户注册页
7 界面设计_后台管理员信息管理页
此界面可进行关于系统管理员信息的相关管理操作,且不同权限的管理员可进行着不同权限的操作。
如图3-8 所示:
图3-8 管理员信息管理页
8 界面设计_后台相册管理页
此页面可进行所有关于像册,像片信息的操作,以列表的形式展开说明。
如图3-9所示:
图3-9 相册管理页
9 界面设计_链接管理页
该页面是后台页面,由管理员进行管理。正如上显示,管理员将在该页上实现新网站链接地址的添加、修改,旧网站的删除或则修改。
如图3-10所示:
图3-10 链接管理页
3.4 本章小结
本章主要涉及相关内容是用Dreamweaver这款网页设计开发工具,设计出符合本系统的博客网页。并在此基础上做适当修改,以便能够在Myeclipse上显示出理想效果。