软件技术专业毕业设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件技术专业毕业设计
毕业选题:莘莘博客系统-后台界面设计与测试学生姓名:蒋XX 院系名称:软件工程系所学专业:软件技术所在班级:.net1203班学生学号:2012XXXX 提交日期:2015年1月12日
摘要
莘莘博客系统,是一个以说说形式来发布自己的所见,所感,所闻,所得的互联网信息发布系统,它方便了我们对学习,工作,生活的交流。
本文以博客的发布管理为基础,在根据其实际需求,详细的阐述了本系统的设计思路及开发过程。
本系统的主要功能可分为三大块:发布博客、评论博客、博客分类。
除此三个主要功能外,本系统还根据互联网的发展,以及人们的需求添加了:首页风格更改、首页模块可自由添加或删除、以及添加了时下比较流行的在线会员聊天的个性化功能。
在开发的过程中,采用了VC的分层思想,设计了专门的缓存策略,并且运用了Ajax,jAVAScript的前端开发技术,大大提高了用户的体验效果。
本系统属于B/S结构系统,采用PHP为开发语言,ySQl为数据库,IIS为服务器,再结合开源模板框架onethin进行开发,由此整个系统无论是从用户体验,还是系统安全,运行速度都是很好的。
关键词:博客;ysql;onethin;
目录前言-4- 第一章系统技术方案-5- 1.2开发工
具-5- 1.2.1关于PHP-5- 1.2.2关于ySql-5- 1.2.3关于onethin-6- 1.2.4关于javaScript-6- 1.2.5关于Ajax-6- 1.2.6关于VC-6- 第二章系统可行性分析-8- 2.1开发背景
-8- 2.2市场分析-8- 2.3技术分析-8- 第三章需求分析
-9- 3.1性能要求-9- 3.2运行环境要求-9- 3.2.1硬件要
求-9- 3.2.2软件要求-9- 3.3.1系统概述-9- 3.3.2系统
基本概述-9- 3.3.3系统分析-10- 3.3.4功能详细说明-10- 第四章系统后台登录界面-13- 4.1登录界面-13- 4.2修改密
码-15- 第五章系统测试-17- 5.1链接测试-17- 5.2表单
测试-17- 5.3浏览器兼容测试-18- 参考文献-19- 致谢
-20-
前言
随着互联网技术的高速发展和日益的普及,互联网用户迅速增加,用户对互联网的寄托也发生了翻天覆地的变化,用户不甘于只单
单的被动的接受互联网提供的内容,更希望能够加入到内容制造的大
家庭中,这时传统的web应用已经显得力不从心,而web2.0的出现,
极大的改变了这一局面。
所谓web2.0其核心就是用户不只是内容的
被动浏览者,同时也是内容的制造者。
正是因为整个互联网产品设计
理念的重大变化,具有代表性的web2.0时代的互联网产品也就相继出现,如:论坛,博客、威客,社区、RSS和SNS等。
那么什么是博客呢它与个人网站、社区、网上刊物、微型门户、新闻网页等究竟有什么区别博客也称为网络日志,是英文blog的谐音,由很多经常更新的帖子(也叫日志或者个人)顺序倒序排列,最新的帖子在最上面,这些帖子的内容不一定要长篇大论,具体内容格式也没有任何要求,它以个人纯粹的个想法和心得,包括你对时事新闻、国家大事的个人看法,或者一日三餐、服饰打扮的精心料理等等,也可以是在基于某一主题的情况下或者是在某一共同领域内由一群人集体创作的内容。
类似于传统的“网络日志”,但又不同于传统的“网络日志“,传统的”网络日志“是带有显示的私人性质的,而博客则是私人性和公共性的有效结合,绝不仅仅是纯粹个人思想的表达和日常锁事的记录,它所提供的内容可以用来进行交流和为他人提供帮助,是可以包容事个互联网的,具有极高的共享精神和价值。
博客还有个最大的特点是可以图文并茂的描述一件事,在文字、图片和视频等的共同描述下,使得内容更加生动形象。
博客由2000年悄然进入中国,随后得到迅速发展,但业绩平平,直到2004年由于某一事件,才让民众了解博客,并运用博客。
2005年,财大气粗的原本不看好博客的几大门户,也加入到博客的春秋战国时代,开始了你死我活的拼杀。
第一章系统技术方案
注释:本章主要从开发语言,及相关开发工具进行说明
博客提供了信息的实时发布,动态展示,信息状态的跟踪,以及博客和浏览者、博客和博客之间互动等这些高交互行为,就注定了对技术的要求会比较苛刻,加上经济上的限制,因此必需选择一种技术架构成熟,稳定性好,执行效率高、经济实惠的解决方案。
通过上网查找资料权衡后,决定选择PHP+ySQl结合框架onethin作为本系统开发路线。
1.2开发工具 1.
2.1关于PHP PHP是HypertextPreprocessor的简称,是一种HTL内嵌式编程语言。
它的语法混合了C、java和Perl优点及它的新语法,比CGI、ASP或者Perl更快速地执行动态网页。
总的来说,它有以下几个方面的优点:1.支持的数据库非常广泛,大到SyBASE、ySQL、oRACLE,小到Access 都支持。
2.跨平台性非常好,支持windows系列操作系统,LINUX 操作系统和UNIX操作系统。
同时支持多种web服务器。
3.开源软件,升级更新速度非常快。
4.免费软件,无须花钱购买。
5.PHP5.0有成熟的面向对象体系,能够适应基本的面向对象要求,适合开发大型项目。
1.2.2关于ySql ySQL是基于SQL的,完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统。
它具有体积小,功能强,使用简便,管理方便,运行速度快,安全可靠性高,尤其是开源这一特点,所以很多企业为了降低网站总体拥有成本而选择了ySQL作为网络数据库。
更重要的是提供了用于C、C++、Eiffel、java、Perl、PHP、Python、Ruby和Tcl
等API,支持多线程,充分利用CPU资源,从而可以很容易的将其加入到各种应用中。
1.2.3关于onethin onethin由上海顶想技术信息技术有限公司是一个开源的内容管理框架,基于最新的ThinPHP3.2版本,开发提供更方便更安全的wEB应用开发体验,采用了全新的架构设计和命名空间机制,融合了模块化和插件化的设计理念于一体,开启了国内wEB应用的傻瓜式开发的新潮流。
1.2.4关于javaScript javaScript是目前互联网上最流行的脚本语言,并且目前所有主要浏览器都能很好的支持它。
在当今web2.0时代的应用中,无一不借助它来提升客户端的用户体验。
1.2.5关于Ajax AjAX全称为“AsynchronousjavaScriptandXL”(异步javaScript和XL),它不是一门新的语言,而是借助于已经存在的javascript和XL组合成一种全新的技术。
它能和服务器端进行异步通信,所为的异步即为当前页面和服务器端进行通信时,当前浏览用户全然不知。
比如典型的应用有,当用户去一个网站进行注册时,在当前页面没有任何变化的情况下,当输入完注册用户名后,系统马上就告诉你,该用户是否已注册,其实在用户输入完用户名的瞬间,用户名就被异步的传到了服务器端,然后将后台处理的状态返回给当前网页,然后由javaScript 将状态呈现给当前用户。
除了注册用户名的验证外,当今各大搜索引擎公司提供的关键字智能提示功能也是基于这样的一个原理来实现。
1.2.6关于VC VC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。
使用VC应用程序被分成三个核心部件:模型、视图、控制器。
它们各自处理自己的任务。
优点如下: 1.低耦合性视图层和业务层分离:这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动VC的模型层即可。
因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。
2.高重用性和可适用性随着技术的不断进步,现在需要用越来越多的方式来访问应用程序。
VC模式允许你使用各种不同样式的视图来访问同一个服务器端的代码。
它包括任何wEB(HTTP)浏览器或者无线浏览器(wap),比如,用户可以通过电脑也可通过手机来订购某样产品,虽然订购的方式不一样,但处理订购产品的方式是一样的。
由于模型返回的数据没有进行格式化,所以同样的构件能被不同的界面使用。
例如,很多数据可能用HTL来表示,但是也有可能用wAP来表示,而这些表示所需要的仅令是改变视图层的实现方式,而控制层和模型层无需做任何改变。
3.较低的生命周期 VC使降低开发和维护用户接口的技术含量成为可能。
4.快速的部署使用VC模式使开发时间得到相当大的缩减,它使程序员集中精力于业务逻辑,界面程序员(HTL开发人员)集中精力于表现形式上。
5.可维护性分熟视图层和业务逻辑层也使得wEB应用更易于维护和修改。
6.有利于软件工程化管理由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。
第二章系统可行性分析 2.1开发背景随着互联网技术的高速发展,生活节奏的加快,博客被越来越多的人选择作为学习和交流的工具。
博客的内容丰富多彩,有对其他网站的超链接和评论,有个人构思,还有新闻日志、照片、诗歌和散文等。
博客具有自主性、开放性、互动性和共享性的特点,是一个很好的交流的渠道,思想展现的舞台和学术探讨的园地。
2.2市场分析据最新统计,不含港澳台,目前我国一共有1983所,总人数达2600多万人,相信对于21世纪的高校学生来说,不会上网的几乎不存在,只要我们的博客系统做的够对校园学生的胃口,我们的博客系统PV(页面的浏览数)一定会不断上升。
经过上面的阐述,发现虽然价值非常可观,但是从我国当前社会BSP的数量众多,在这个众人都去抢的蛋糕面前,我们究竟能分到多少呢讲到这里,不得不谈一个博的广度和深度的问题。
有的BSP提供的博客是适合了所有网民的,它们没有明确的指出他们的用户是哪一类人群,而有的BSP确明指出提供的博客是什么类型或者某个行业,当然也有的没有明确指定,但博客似乎已经倾向于某一批人群或者某一领域。
比如:国内的比较著名的财经博客:中金博客、和讯博客和金融界博客,它们的目标人群基本就是广大股民和从事证券或者金融相关行业的人员,所以这些人一般上网浏览博客的话,会倾向于这几家BSP所提供的博客。
著名的IT技术博客如:博客巴士和CSDN博客等。
几大门户之一的新浪博客,但主要侧重于名人博客,通过名人效应,带动着广大粉丝网友参与到其中的互动中。
而在当今整个IT界相当有影响力的腾讯公司,它们则借助于强大的用户群,将他们的博客产品QQ空间覆盖到了80%以上的上网用户。
虽然我们的博客系统在广度上超不过他们,但可以从一个行业入手,只专注与一个行业的博客,从专著来跟他们竞争。
在加上基于中国这么一个庞大的网民群体,相信还是能分到属于我们的那一小块蛋糕。
2.3技术分析博客作为一个典型的web2.0应用,所面临的技术挑战在前面的分析中已经提到。
对于这样的挑战,幸好有onethin这个开源框架,onethin完全是为博客系统的开发量身订做的。
有了onethin这个框架,使得整个开发过程变得简单不少,不仅大大的加快的系统的开发速度也使得系统的安全性得到了有效的保障。
再加上数据库采用小巧,高效的ySQL数据库,使得系统的响应时间更短,使得整个系统的运行效率能够发挥到极致。
第三章需求分析 3.1性能要求本系统必须要满足7*24小时能够正常访问,在外在环境正常的情况下,页面打开的时间不能超3秒,能够兼容现今各大主流的浏览器。
3.2运行环境要求3.2.1硬件要求电脑:200G及以上硬盘,1G运行内存 3.2.2软件要求操作系统:win7以上X86架构64位 web服务器:Apache2.0及以上版本 PHP:php5.0及以上版本 ySQL:ySQL5.0及以上版本 onethin正式版
3.3功能需求 3.3.1系统概述本系统的最主要功能是体现多用户的使用,用户可以在本系统注册申请自己的博客。
一旦用户申请了自己的博客,就可以将心得体会等发表到自己的博客上,当发
表了自己的心得体会后,浏览者就可以对用户所发表的日志的内容进行评论。
除此之外注册过的用户在登录状态下还可以关注其他的会员,关注成功后还可以通过系统的聊天功能与他人发起聊天。
3.3.2系统基本概述系统主要提供的功能包括以下几方面: .博主的注册和登录 2.日志的发布和管理,包括日志管理和分类选择功能,其中日志管理功能包括日志的添加、删除和修改。
而分类选择功能则包括日志评论权限的设置、日志所需图片的上传、日志预览功能和日志存为草稿功能。
3.日志分类管理,包括分类的添加、删除、和修改。
4.博客设置,主要是博客的个人信息修改完善。
5.活动创建,活动管理(活动审核、活动分类)
6.页面布局设置,包括页面版本和内容模块两大功能。
7.评论,包括评论的添加、删除、修改和查询四大功能。
8.聊天功能,用户注册账号后即可与添加关注的用户进行聊天
9.系统管理后台,主要包括用户管理、博客管理、模块管理和评论管理,日志审核五大功能。
3.3.3系统分析
本博客系统主要包括以下几类用户: 1.游客此类用户不是本系统的用户或者没有登录、对于当前系统来讲,只是一名匿名的浏览者。
在系统中,所有游客都没有身份标识,他们只能浏览博客中的日志。
2.注册用户此类用户和游客的唯一区别为该类用户属于系统登录用户,在系统中有用户ID作为他们的唯一标识,并
拥有自己的博客,用户浏览其它用户的博客时,仅仅是一个有身份标识的浏览者而已,但一旦用户进入了自己的博客主页,那么这时身份除了是一名浏览者外,还是一名博主,这时将拥有博主的所有权限。
3.管理员该类用户为博客系统的网站管理员,具有上述用户的所有管理权限,能够进行系统的一般维护及会员所发起活动的审核等等。
3.3.4功能详细说明 1.游客用例图
图3-1游客用例图
图3-1用例分析说明如下: 浏览日志:阅读系统内所有博客的日志。
2.会员用例图
图3-2会员用例图
图3-2用例分析说明如下: 浏览日志:阅读系统内所有博客的日志。
发表评论:由于注册用户具有身份标识,在可以对浏览的日志进行评论。
个人资料管理:可以对自己的个人资料进行更新。
3.管理员用例图
图3-4系统管理员用例图
图3-2用例分析说明如下:
用户管理:对系统中的博客用户进行管理,有些用户可能在博客里发表一些反动言论或者一些违法的日志,对于这种情况,系统管理员需要对该类用户的博客进行删除,以维护整个博客系统内容的健康。
具体操作包括通过用户名或者某一关键字对用户博客进行搜索,这样方便管理员对违法用户的查找,其次就对是违法博客的删除。
日志管理:该操作是对系统内所有的日志进行统一管理,为了方便的对日志的查找,管理员可以通过关键字、日期段等搜索选项来对日志进行搜索。
对于违法日志,管理员可以在这里进行统一清除。
评论管理:日志管理:该操作是对系统内所有的日志进行统一管理,为了方便的对日志的查找,管理员可以通过关键字、日期段、作者和IP地址等几个搜索选项来对日志进行搜索。
对于违法日志,管理员可以在这里进行统一清除。
模块管理:对系统内所提供的模块可能在这里进行统一的添加、删除和修改。
活动审核:管理员可以对用户发起的活动进行审核,审核不通过则活动发起失败
第四章系统后台登录界面
4.1登录界面
这是进入后台管理的一扇门,要进入后台进行管理需要有密码这把钥匙,在界面设计发面采用的是简洁实用的方案,没有做验证码
的功能
界面及功能实现核心代码
foraction=“{:U}”ethod=“post” h3i/i毕业设计后台
管理/h3 divid=“iteBox”div i/i inputtype=“text”nae=“usernae”placeholder=“请填写用户名”autocoplete=“off”/ /div span请填写用户名/span div i/i inputtype=“password”nae=“password”placeholder=“请填写
密码”autocoplete=“off”/ /div ifcondition=“APP_DEBUGeqfalse”span请填写密码/span div i/i inputtype=“text”nae=“verify”placeholder=“请填写验证码”autocoplete=“off”atitle=“换一张”href=“javascript:void”换一张/a /div span请填写
验证码/span div igalt=“点击切换”src=“{:U}”
/div /if
/div div buttontype=“subit” spani/i登录中../span span登录/span /button div/div /div /for
界面实现效果
图4.1后台登录界面
4.2修改密码管理员可在此修改密码
核心代码
foraction=“{:U}”ethod=“post” div label原密码:/label div inputtype=“password”nae=“old”autocoplete=“off”/
/div /div div label新密码:/label div inputtype=“password”nae=“password”autocoplete=“off”/ /div /div div label确认密码:/label div inputtype=“password”nae=“repassword”autocoplete=“off”
/ /div /div div buttontype=“subit”target-for=“for-horizontal”确认
/button button返回/button /div /for
页面效果图
第五章系统测试
基于web的系统测试和传统的软件测试即有相同之处,也有不
同的地方,对软件测试提出了挑战,基于web的系统测试不但要验证系统的功能是否按照计划的要求运行,而且还要评价系统在各浏览器下以及各分辨率下是否能正常显示,最重要的是,要从最终用户的角度进行安全性和可用性进行考虑。
本章将从链接测试、浏览器兼容、表单测试、连接速度和几个方面来对本系统进行测试,测试情况如下。
5.1链接测试
链接是web应用的主要特征,页面与页面之间是靠它联系起来的。
链接测试主要从以下几个方面来进行测试。
1.测试所链接的页面是否链接到了指定的页面,即没有死链接或者没有链错地方。
2.测试系统是否存在孤立的页面,即只有知道这个页面的链接地址才能访问。
测试报告如表5-1所示。
博客首页博客首页博客列表页链接是否错误否否否是否有孤立页面否否否 5.2表单测试当用户向web应用服务器提交信息时,就需要使用表单操作,例如用户注册、登陆、发布日志、发布评论等。
在这种情况下,我们必须测试提交操作的完整性,以保证提交给服务器的数据是正确的。
输入了不合法的数据,系统是否给出了错误提示等。
本系统需要用户输入的地方主要有日志发布、空间信息设置、日志评论发布等几处,对所要求的地方进行了破坏的输入,当输入字符超过了系统要求的长度时,系统按预期给出了
友好的错误提示信息,系统对表单数据提交时进行了有效性检查。
5.3浏览器兼容测试
浏览器测试主要测试在不同的浏览器和不同的分辨率下,系统的界面是会变形。
本次测试主要是针对目前市场上主流浏览器在1024*768和1280*1024这两个分辨率下进行测试,测试报告如下表7-2所示。
表7-2浏览器兼容测试情况浏览器分辨率024*768280*1024 IE6正常正常 IE7正常正常 IE8正常正常Firefox3.0及以上版本正常正常Chroe正常正常safari正常正常
参考文献【1】PHP技术内幕/(美)Peteroulding;贺XX 等译.—北京:中国水利水电出版社,2003.1 【2】ySQL5权威指南(第3版)/(奥)科XX(ichaelofler);杨XX、王XX等泽.—北京:人民邮电出版社,2006.12 【3】软件工程——方法与实践/许家珆主编.—XX:电子工业出版社,2007.9 【4】互联网时代的
软件革命:SaaS架构设计/叶XX等著.—XX:电子工业出版社,2009.1 【5】构建可扩展的web站点/(美)亨XX(Henderson,C.)著;徐XX.—XX:电子工业出版社,2008.3 【6】构建高性能web站点/
郭XX著.—北京:电子工业出版社,2009.8 【7】高性能网站建
设指南/(美)桑XX(Sounders,S.)著;XX译.—北京:电子工业出
版社,2008.6 【8】设计模式解析(第2版)/(美)沙洛维、特
罗特著;徐XX译.—北京:人民邮电出版社,2006.10 【9】王XX.web系统的测试方法[j].网络与信息,2007.4
致谢
本毕业设计的顺利完成,首先要感谢指导老师黄利红老师的悉
心指导,在我做毕业设计期间碰到过一些以自己目前所学无法解决的
技术性问题,在老师的帮助下,从而延韧而解,老师在学业上的严格
要求、具体指导,使我学到了很多在堂上学不到的知识,并深受启迪。
老师给我们提供丰富的参考资料,从而才能够顺利完成毕业设计,在
此谨向老师致以崇高的敬意和表示深深的谢意。