还剩30页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
江西财经大学软件工程课程考核报告题目个人博客的设计与实现学院软件与通信工程学院_____________专业____________软件工程_________________班级___________软件134班________________学号_____________0133634___________________姓名_____________万文涛__________________指导教师____________邓松____________________填表日期2014年12月10日博客网前台图
2.
3.1博客网前台功能结构根据博客网站后台的特点,可以将其分为用户设置、公告管理、个人相册管理、博客文章管理、朋友信息管理及博主信息修改等部分,其中各个部分及其包图
2.
3.2博客网站后台功能结构数据流图对应功能不同,但数据流图大同小异,首先功能分析如图所示王章(日志)管理模浜系加(博客家身,删除(博客本身,系统管理员)评论管理模块发表评论(注册用户,系统管理员)删除(博客本身,管理员)相册管理模块添加照片(即上传照片,博客本身)删除(博客本身,系统管理员)朋友管理模块添加(博客本身,系统管理员)删除(博客本身,系统管理员)公告管理模块添加及修改(系统管理员)删除(系统管理员)图
2.
3.3客功能分析表从分层次来看,第一层应该是用户管理员,如图所示第一层图
2.
3.4FD第一层第二层应该是对具体基本功能的实现与设计,如图
2.
3.5所示系统运行过程中,主要涉及到两部分的数据流向,一部分是管理员在系统后台管理界面上发出的对数据库操作的数据流,另一部分是用户在应用前台使用系统时所产生的数据流具体模块数据流图(日志板块)如图
2.
3.6示图日志板块具体数据流图第三层应该是具体的浏览和管理模块,如图
2.
3.
7.图
2.
3.7面向访客的数据流图图
2.
3.8面向管理员的数据流图
2.4数据字典数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明根据以上对系统所作的需求分析和系统设计,规划出本系统中使用的数据库实体信息分别为用户信息实体、公告信息实体、个人相册信息实体、朋友信息实体、投票信息实体、博客文章信息实体及文章回复实体下面将介绍几个关键实体的E-R图
2.
4.1用户、管理员信息实体用户信息实体包括用户名、密码、姓名、性别、QQ号码、主页、兴趣、E-mail地址、管理级别属性,用户信息实体的E-R图如图所示个人相册信息实体个人小相册信息实体包括相册存放服务器端地址、相册描述信息及相册上传时间属性,个人相册信息实体的E-R图如图所示博客文章信息实体博客文章信息实体包括文章题目、文章内容、文章发布时间及文章访问次数属性博客文章信息实体的E-R图如图所示
2.
4.4公告信息实体公告文章信息实体包括公告题目、公告内容、公告发布时间及公告字数属性博客公告信息实体的E-R图如图所示图
2.
4.
4.1博客文章信息实体属性E-R图
2.
4.5友情链接实体公告文章信息实体包括友情链接内容、友情链接个数及友情链接地址属性友情链接信息实体的E-R图如图所示图
2.
4.
5.1友情链接实体属性E-R图
2.
4.6其他信息实体其他信息实体包括邮箱内容、博客说明内容、朋友信息及博主信息属性博客其他信息实体的E-R图如图所示图
2.
4.
6.1其他信息实体属性E-R图
2.
4.7朋友信息实体朋友信息实体包括朋友个数、朋友用户名属性朋友信息实体的E-R图如图
2.
4.
7.1所示图
2.
4.
7.1朋友信息实体属性E-R图
2.5软件开发计划软件开发计划包括多个板块,主要是对开发的程序或系统进行全面的计划和安排
2.
5.1软件开发目的主要是确定以下内容1软件生存周期的选取及裁剪2软件规范、方法和标准的选择3软件工作产品的规模估计4软件工作量和成本的估计5软件进度表的制定6软件风险的估计7软件项目培训计划
2.
5.2软件开发范围1软件规模估计2工作模块计划3人力资源计划4其他资源计划5进度安排计划6配置管理计划7质量保证计划
2.
5.3软件项目组织项目组织是为开发项目而组建的队伍建议以框图的方式表示项目的组织结构,并对每一组织的负责人和职责加以说明可能的项目组织单元,如:1项目管理组,执行SPP和SPTO过程,对项目实施负全部责任2质量保证组,执行SQA过程,负责项目过程与产品的质量控制和报告3配置管理组,执行SCM过程,负责项目产品的版本、配置管理以及配置库状态报告4软件工程组,执行软件项目工程过程,负责项目产品的开发和维护工作5测试组,执行软件项目测试过程,负责项目产品的测试6需求管理组,负责对需求基线和需求变更进行管理
2.
5.4软件生存周期1项目生存期框图2项目生存期说明
2.
5.5软件成本估计1直接人工2直接费用3间接成本4制造费用5管理费用6不可预见费用
2.
5.6软件风险分析1被识别出的重大风险事件政策风险、技术风险、技能风险等2易发生重大风险事件的高风险区域用户需求、设计、测试、运行平台等3重大风险事件的级别功能不全、性能不稳、迅速受限制等4拟采取的预防措施增加投入、纠错、延时等5风险事件发生后建议采用的处理措施更改计划、降低难度系数等
2.
5.7软件项目度量度量是按规定在项目进行过程中,需要采集的度量数据,以便量化地反映项目的进展情况,为管理者提供对项目进展的适当的可视性,同时度量数据是项目过程改善的数据基础应规定项目度量值的记录人一般为项目经理或其指定人员、记录时间一般以定期评审为基础和记录的数据常用的度量数据如1项目过程的评审次数2项目计划修改次数3项目各阶段的人员投入各阶段投入的人月数4各类任务耗用时间统计如设计、编码、测试、文档编写等5工作产品统计如文档字数、功能点数、用况数、源代码行数等
三、软件设计
3.1总体设计依据DFD第一层分析本博客系统是面向访客和系统管理员的,对于访客和管理员对博客进行访问的具体设计如下a.个人博客注册1本功能面向新注册的会员2个人可以利用此web系统进行网上注册3本模块直接对数据库大部分为写入和删除操作,在对指定的账户进行删除时需要用到简单的查询操作b.个人或管理员博客登录1本功能面向所有个人博客和管理员2利用注册时的账号密码进行登录,数据直接存储到数据库中3登录之后用户管理员可以对密码进行修改操作
3.
1.2第二层分析对所有具体功能模块进行分析与设计a.文章管理功能1该功能面向所有普通用户及群管理员2普通用户可以在自己的主页中书写日记,群管理员可以书写群日记3用户可以编辑、删除自己写的日记4用户可以对文章日志进行评论,评论修改、删除等功能b.相册管理功能1该功能面向所有用户及群管理员2用户可以在自己的主页创建相册并上传照片,群管理员可以对相关照片进行删除操作3创建相册需要输入相册名称4用户可以删除自己创建的相册和上传的相片c.留言管理功能1该功能面向所有普通用户2用户可以对某一人或某一个群中留言3用户可以删除自己的留言,或者在自己主页上的留言d.后台管理1本功能只向系统管理员提供,为管理员提供友好界面,便于管理员对系统各项数据进行管理2管理员管理的数据有用户、留言、音乐、文章、相册目录概述
二、需求分析
22.
22.
22.
1.
22.
1.
22.
91.
92.
103.
114.
125.
126.
123.
1.2第三层分析具体的浏览和管理模块a.面向访客的功能设计
(1)注册及登录博客界面
(2)查询、浏览、更新文章、相册或留言
(3)对文章评论进行管理,包括删除等操作
(4)所有数据是传送到后台的,后台可对此进行查看b.面向管理员的功能设计
(1)登录管理员界面
(2)对公告进行查看、修改、删除操作
(3)对用户的文章,相册、朋友信息等进行违规删除操作
(4)对执行操作进行数据存储,方便误删恢复
(5)对用户的相关操作传送到用户,使其看到操作
3.2详细设计(基于OOA,OOD)OOA/D全称面向对象分析方法(Object-Oriented Analysis/Design),是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题00A与结构化分析有较大的区别00A所强调的是在系统调查资料的基础上,针对00方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析
3.
2.1功能用户管理模块注册登陆(注册用户,系统管理员)修改资料(博客本身)系统管理模块用户管理(删除)文章管理模块添加(博客本身,上传)删除(博客本身,系统管理员)评论管理模块发表评论(注册用户,系统管理员)删除(博客本身,管理员)留言管理模块发表留言(注册用户,系统管理员)删除(博客本身,系统管理员)相册管理模块添加照片(即上传照片,博客本身)删除(博客本身,系统管理员)友情链接链接内容(系统管理员)链接数量(系统管理员)添加朋友(博客本身)朋友管理模块删除(博客本身,系统管理员)
3.
2.2性能
1.数据精确度要按照严格的数据格式输入,否则系统不给予响应进行处理,输入数据除了非法字符均可以下为数据结构要求photo表.1个人相册信息表列名|数据类型1长度1允许空id int4photoAddress var char50✓photoDescription var char50✓phtolime var char30✓aritcle表.2文章信息表列名|数据类型1长度1允许空id int4typelD int4title varchtr30✓content varchtr2000✓phTime var char30V numberint4V aritcleType表.3文章类型信息表1列名数据类型长度允许空id int4typeName var char50V description var char50V consumer表.4用户信息表列名|数据类型1长度1允许空id int4account var char10V passwordvtrchar10V nwvtrchtr50V sexchtr5V QQNumberint4V vwrchar50V interestvarchar50V eMailvarchar50V manageLevelvarchar10V discuss表.5公告信息列名数据类型1长度1|允许空id int4di scussTitie1varchar30✓di senssContentvarchar1000V discussTime varchar50V friend表.6朋友信息列名|数据类型1|允许长度1空id int|4name1varchar20✓QQNumber varchar20✓descriptionvarchar50✓restore表.7文章评语信息列名数据类型长度允许空|id int4articleld int4✓reAccount varchar50✓reTitle varchar50✓reContent ntext16✓
2.时间特性要求运行环境各个页面的链接响应时间不得超过10s,对没进行操作的用户180s对其访问认证失效,需要重新登录
3.灵活性该系统的设计模块属于普通模式,当系统遇到偶然或非人为的故障时,本系统将自动保存未完成的任务
3.
2.3输入输出项目1音乐系统输入是mp3和wma格式2相册支持的输入格式是jpg3相册可以用任何浏览照片的形式输出4其他系统则所用字符型并且日志中可以插入flash文件,对精度无特殊要求5输出可用media播放器播放
3.
2.4算法1系统登陆模块a.含义解释用于用户与管理员合法身份的验证,使用加密密码验证方式b.相关数据表用户密码表,管理员密码表C.流程显示操作界面,进行操作实现此功能的关键代码为:protected voidButtonl_Clickobject sender,System.EventArgs e〃登录代码2系统注册模块用户可以通过该界面注册成为该系统的注册用户,拥有自己的博客空间protected voidButtonl_Clickobject sender,EventArgs e〃注册代码}3文章发表模块博主登陆进入后进入我的日志界面,点击添加日志按钮,进入,界面,按要求填写日志信息,点击提交按钮,添加了一篇日志添加的代码protected voidPage_Loadobject sender,EventArgs e〃文章发表代码}4文章评论模块借鉴在该模块中主要使用了存储过程SQL存储过程执行起来比SQL命令快得多,当一个SQL语句包含在存储过程中时,服务器不必每次都要分析和编译它而且存储过程使程序易于维护如果程序需要做某些修改,只要改动存储过程即可数据库建立表之后,根据系统的功能,也多次用到存储过程创建存储过程如下Creat ProcedureInsertComment@log_ID int,〃日志ID@comm_subject varchar30,〃评论主题@comm_content ntext,〃评论内容©comm authorvarchar30,〃评论作者@post_time datetime〃评论时间AS Insertinto blog_comment log_ID,comm,.subject,comm,_content,comm._author,post_time Values@log_ID,@comm_subject,@comm_content,@comm_author,©post_time RETURN以下为点击提交按钮时触发的事件protected voidButtonOk_Click(object sender,EventArgs e){〃文章评论代码
(5)文章管理模块(借鉴)该模块用到的控件是DataList以及用户自定义控件DataList控件是一种以自定义格式显示绑定数据源信息的控件,使数据的显示外观更加多样化,操作更加简单
1.DataList任务菜单中选择[编辑模板]命令,DataList控件进入模板编辑状态,在下拉列表框中选择ItemTemplate”,布局如图所示
2.编辑模板的设计,布局如图4-5所示:
3.各事件代码如下protected voidDataListl_CancelCommandobject source,DataListCommandEventArgs e〃编辑代码protected voidDataListl_EditCommandobject source,DataListCommandEventArgs e〃数据绑定代码protected voidDataListl_UpdateCommandobject source,DataListCommandEventArgs e〃文章管理代码}6资料修改模块博主登陆后点击个人信息,查看个人信息点击修改进入界面进行修改,其核心代码是protected voidbtn_Clickobject sender,EventArgs e〃资料修改代码7权限管理模块管理员可以赋予用户一些相关权限,也可予以取消protected voidal_Clickobject sender,EventArgs e{〃权限管理代码}8用户管理模块对于庞大的用户群,管理员根据数据库中的相关数据,要予以保存、修复等等功能protected voida2_Clickobject sender,EventArgs e{〃用户管理代码9公告管理模块管理员拥有对所有的公告发表、修改、删除等等权限protected voida3_Clickobject sender,EventArgs e{〃公告管理代码}10评论统计模块每一遍日志的发表,都拥有一个评论统计的模块,方便广大用户与管理员对评论的管理与查看protected voida4_Clickobject sender,EventArgs e{〃评论统计代码}
3.5程序逻辑博客首页▼退出系统
3.6接口用户接口:本系统采用Java图形用户接口,以鼠标和键盘为用户接口,方便用户对博客系统的有效操作更好地在博客里进行交流内部接口:内部是页面和数据库连接,对应的页面输入框和显示框的内容在数据库得到显示
3.7数据分配1据的一致性与完整性由于系统的数据是共享的,要解决数据一致性问题,要有一定的人员维护数据,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据2数据的共享与独立性整个博客系统的数据是共享的然而,从系统开发的角度上看,共享会给设计和调试带来困难因此,应该提供灵活的配置,使各个分系统能够独立运行,而通过人工干预的手段进行系统数据的交换这样,也能提供系统的强壮性总而言之,系统数据运用要达到以下几个目的
1.减少网络通信量
2.执行速度更快
3.更强的适应性
4.可用于增强安全性
3.8限制条件1可以对所写东西设置权限,如公开和不公开要求用户界面清楚方便使用且易读2结束之后退出访问页面也就意味着退出博客系统3可以在多种系统下运行
132.
132.
132.
132.
142.
142.
142.
三、软件设计
3.1总体设计(依据DFD)
3.
153.
163.2详细设计(基于OOA,OOD)
3.
163.
173.
193.
193.
233.
243.
243.
四、实现
四、实现
4.1软件实现(基于OOP进行面向对象的)面向对象编程(Object OrientedProgramming,OOP,面向对象程序设计)是一种计算机编程架构OOP的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成基于详细设计的各个板块,从各个功能区出发,数据及建立方式都已经给出,运用dreamweaver和eclipse对相应功能区进行代码填充即可实现此博客系统的设计
五、软件测试
5.1测试用例的设计
5.
1.1首页信息显示测试测试内容打开首页后,是否显示相应的日志操作打开首页查看结果日志区域正确显示发表的日志结论测试成功
5.
1.2前台显示日志详细内容测试测试内容点击一个日志的标题,是否会显示出日志的全部内容操作随意点击一篇日志的标题结果在日志页面正确的显示出日志的全部内容及评论内容结论测试成功
5.
1.3博主登陆测试测试内容填写用户名及密码,验证能否登陆成功操作
①填写正确的用户名和密码;
②填写错误的用户名或密码结果
①博主登陆成功;
②博主登陆失败
5.
1.
41.4日志管理测试1发表日志测试测试内容博主进入系统后,点击添加新日志开始编辑日志,编辑完成后点击提交按钮,看系统是否会提示发表成功结果系统出现对话框提示添加成功2删除日志测试测试内容博主对自己发表的日志是否成功删除操作点击删除按钮结果日志被成功删除结论测试成功3回复评论测试测试内容查看评论后点击回复按钮,回复评论,点击提交按钮是否成功回复结果回复成功结论测试成功
5.
1.
51.5图片管理测试1上传图片测试测试内容博主进入系统后,点击添加图片开始添加,添加完成后点击提交按钮,看系统是否会提示添加成功结果系统出现对话框提示添加成功
(2)删除图片测试测试内容博主对自己添加的图片是否成功删除操作点击删除按钮结果图片被成功删除结论测试成功其他模块的测试与上述的测试方法一样朋友管理测试
(1)朋友添加测试测试内容博主进入系统后,点击添加新的朋友,搜索用户名,编辑完成后点击提交按钮,看系统是否会提示添加成功结果系统出现对话框提示添加成功
(2)删除朋友测试测试内容博主对自己的朋友是否成功删除操作点击删除按钮结果朋友被成功删除结论测试成功
5.1测试用例的实施由于软件代码未实现,实施阶段暂不进行
五、软件测试
一、概述近年来随着信息技术的进步,博客也快速扩张,它已经满足不了用户的需求目前用户在网络上发表文章、张贴内容的目的有很大的差异,但是,由于沟通方式比QQ、讨论群组以及贴吧和论坛更简单和容易,博客系统已经成为广大各界用户进行沟通的主流工具对个人而言,博客可以调动个人的积极性,充分发挥个人的创造性在这三年的发展过程中,主要呈现出如下几个特点
1.博客是可以将个人信息完整呈现在互联网上的载体
2.博客具有“准实名制”趋势,有助于信任机制的建立
3.博客的快速发展更好的带动了移动互联网时代的变更,走好的走进了信息化时代本系统是针对博客用户的需求设计的,可以完成博客用户注册、登入、发表、浏览、修改博文、上传、浏览照片、留言等主要功能
1.1个人BLOG的概念BLOG是WEBLOG的缩写,简单来说就是网络日记它是1997年12月由美国的Jorn Barger最早提出的,这些年全球博客获得了突飞猛进的发展据博客搜索Technorati统计,目前全球平均每
5.8秒钟诞生一个博客它是一个新型的个人互联网出版工具,博客使用者可以很方便地用文字、链接、影音、图片建立起个性化的网络世界在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用因此网站建设在Internet应用上的地位显而易见,倍受人们的重视为了树立个人在网络上的形象,通过设计一个个人博客网站,以达到个人推荐、展现自我的一个平台,个人博客网站为交流提供综合的网络环境,同时也为个人的宣传,发展,提供了一个平台博客秉承了个人网站的自由精神,但是综合了激发创造的新模式,使其更具开放和建设性它作为一种新表达的方式,它的传播不仅情绪,包括大量的智慧、意见和思想某种意义上说,它也是一种新的文化现象,博客的出现和繁荣,真正凸现网络的知识价值,标志着互联网发展开始步入更高的阶段
1.2个人博客具有的特点和主要功能实现一个博客网站,通常是由简短而且经常更新的帖子构成,所有文章都是按照年份和日期排列,有些类似斑竹的日记看上去平淡无奇,毫无可炫耀之处,但它可以让每个人零成本、零维护地创建自己的网络媒体,每个都可以随时把自己的思想火花和灵感更新到博客站点上这样一来,大家更喜欢自由自在的网络上诉发自己的生活感想和家庭趣事,博客就在这样的时代背景下渐渐兴起
二、需求分析
2.1可行性分析可行性分析(Feasibility Analysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决为了确定开发具有可行性,对本系统主要进行了以下四个方面的分析
2.
1.1经济可行性经济可行性主要是对项目的经济效益进行评价本系统对系统开发者来说并不需要太高的成本支出,因为只需要做简单的界面和操作,所以只是对系统的管理者付出管理报酬即可,而且开发周期不需要太长,节省了人力、物力、财力资源此外,从以下三个方面分析
1、支出,
(1)完全可以利用现有的设备,不需要增加新的硬件设备
(2)需要经常性的软件维护费用
2、效益,目前的情况还不可以确定具体的效益,只能根据后期的点击率和使用效率来确定但就市场前景来看,博客的可塑性和市场发展潜力巨大
3、投资回收周期,估计是系统运行后的一年,只要能把博客推广出去,回收周期可缩短所以本系统在经济上是可行的技术可行性技术上的可行性分析主要是分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等在软件方面,本系统采用的是Java语言进行开发,前台网页设计使用的是Dreamweaver,而数据库系统采用的是Microsoft Accesso硬件方面,客户机只要是Windows7系统能使用Eclipse等软件,服务器端使用本地服务器,数据库服务器是MySQL即可通过分析,在软、硬件方面现有工具与环境完全可以实现系统的开发,因此具有技术上的可行性时机可行性时机可行性是分析系统开发时机是否成熟一方面,博客在当前软件市场还是风潮,开发的核心技术已有开源代码的借鉴;另一方面,对于网页开发,目前越来越多的应用程序都已经是转向基于Web的开发,并且Internet已经广泛使用因此系统的设计具有时机可行性管理可行性主要是管理人员是否支持,现有的管理制度和方法是否科学,规章制度是否齐全,原始数据是否正确等系统的开发主要就是为了方便进行信息的管理,补充现在传统管理方式的不足,因此具备了管理上的可行性
2.
1.5法律可行性主要是程序的运行及收益是否符合当前国家的相关法律法规法律方面的可行性问题很多,如合同责任、侵犯专利权、侵犯版权等方面的陷阱,软件人员通常是不熟悉的,有可能陷入,务必要注意研究但本程序是基于Java开发的,由内部人员自主构想架构,不存在盗版侵权行为,另外,博客内容积极向上,有利于当代人民的自由生活空间,在法律上是允许的对于网站与其他公司合作关系,等日后产生收益之后再作研究因此,开发具有法律可行性
2.
1.6使用可行性主要是用户对博客的操作方面,例如从用户单位的行政管理、工作制度等方面来看,是否能够使用该软件系统;从用户单位的工作人员的素质来看,是否能满足使用该软件系统的要求等等,都是要考虑的就开发的基本构造来看,功能都符合我们日常的生活需求,不存在技术操作的难点,因此使用可行性是科学的综上所述,本系统开发目标已明确,在技术和经济等方面具备可行性,并且投入少、见效快,因此系统的开发是完全可行的
2.2系统逻辑模型在管理信息系统中,逻辑模型是着重用逻辑的过程或主要的业务来描述对象系统,描述系统要“做什么”,或者说具有哪些功能即数据流程图对于不同的角色,其所承担的任务也各自不同,流程图也不一样,包括面向用户的客户端流程图和面向系统管理员的的流程图面向用户的客户端流程图如图所示面向系统管理员的流程图如图所示博客文章日志管理个人相册管理公告管理图面向系统管理员的流程图
2.3分层DFD数据流图Data FlowDiagram简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具朋友信息管理用户管理博主个人信息修改及用于表示软件模型的一种图示方法数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型博客网站分为前台和后台其中,根据博客前台的特点,可以将其分为博主信息、博主信息查看、文章查询、公告查询及相册查询等部分,其中各个部分及其包括的具体功能模块如图所示。