目
第一章
第二章录绪论............................................................................................1需求分析.....................................................................................21.1系统开发背景.................................................................................................................1
2.1可行性分析.....................................................................................................................2
2.2业务流程.........................................................................................................................2
2.3需求规范.........................................................................................................................5
2.4数据字典.........................................................................................................................7
第三章概要设计...................................................................................11
3.1系统运行总体流程.......................................................................................................11
3.2系统体系结构...............................................................................................................12
第四章
第五章数据库设计................................................................................14详细设计与系统实现...................................................................184.1数据库逻辑设计...........................................................................................................14
5.1命名规则.......................................................................................................................18
5.2模块设计.......................................................................................................................19
第六章系统测试以及软件安装................................................................30
6.1软件测试基础理论.......................................................................................................30
6.2软件测试目的...............................................................................................................30
6.3软件测试方法分类.......................................................................................................30
6.4论坛测试.......................................................................................................................32
6.5测试报告.......................................................................................................................33
6.6软件安装.......................................................................................................................33结
谢论...................................................................................................35辞...................................................................................................36参考文献...................................................................................................37
第一章
1.1系统开发背景绪论
随着现代社会机械化程度越来越高,人们对机械知识的渴望越来越强烈,而用户间的交流恰好满足了这种需要。用户与用户之间的互相讨论与学习会使用户快速提高自己对于机械知识的了解和认知。针对这种现状开发了本系统。
论坛又名BBS,全称为BulletinBoardSystem(电子公告板)或者BulletinBoardService(公告板服务)。是Internet上的一种电子信息服务系统。它提供一块公共电子白板,每个用户都可以在上面书写,可发布信息或提出看法。它是一种交互性强,内容丰富而及时的Internet电子信息服务系统。用户在BBS站点上可以获得各种信息服务,发布信息,进行讨论,聊天等等。像日常生活中的黑板报一样,论坛按不同的主题分为许多版块,版面的设立依据是大多数用户的要求和喜好,用户可以阅读别人关于某个主题的看法,也可以将自己的想法毫无保留地贴到论坛中。
一般来说,论坛也提供邮件功能,如果需要私下的交流,也可以将想说的话直接发到某个人的电子信箱中。在论坛里,人们之间的交流打破了空间,时间的限制。在与别人进行交往时,无须考虑自身的年龄,学历,知识,社会地位,财富,外貌,健康状况,也无从知道交谈的对方的真实社会身份。这样,参与讨论的人可以处于一个平等的位置与其他人进行机械方面问题的探讨。论坛往往是由一些有志于此道的爱好者建立,对所有人都免费开放。而且,由于BBS的参与人众多,因此各方面的话题都不乏热心者。我们当然可以利用它来解决机械学习中的一些疑惑。
后来随着因特网的普及,拨号BBS和BBS网络已经日渐凋零,所剩无几。目前的BBS站点,多数是基于Internet的Telnet协议。在服务器端,采用MapleBBS或者FireBirdBBS系统。用户端通过Telnet软件如NetTerm、CTerm、FTerm等来登陆服务器,阅读发表文章,发送邮件,通过仿真的ZModem协议来上传下载数据文件。有些站点还提供SSH登陆,确保连接的安全性,还有很多站点提供Web方式的界面,方便用户使用。
中国大陆BBS界在FirebirdBBS基础上还发展了SmthBBS、YthtBBS、LilyBBS等,提供非常丰富web方式访问,如发文、即时消息、信件、Blog,而一些管理操作,如版面管理、个人文集,则仍然限定为Telnet访问。而客户端的Telnet软件也发展了很多便于操作的功能,如:鼠标响应、URL识别、图片预览,文章自动下载、自定义脚本等。
第二章
2.1可行性分析需求分析
可行性研究是在项目开发前期对项目的一种考察和鉴定,对拟议中的项目进行全面的、综合的调查研究,其目的是要判断项目可行与否。信息系统技术可行性研究要从系统开发的计划出发,论述系统开发力量的可行性,同时论证系统方案中所采取的各种技术手段上是否可以实现。信息系统经济可行性研究主要是对项目进行经济评价,分析系统建设投资的可能性以及评价系统运行之后给组织带来的效益。信息系统营运可行性研究要给出的方案是否可以从人力、物力、组织工作等方面保证项目按计划完成实施,还要说明项目开发后在经济、技术和环境等方面能否保证系统正常运行。
由于系统建设是一项投资大、涉及面广、工程复杂的系统工程,因此必须充分的进行可行性论证,以确保投资的准确无误,而且信息系统建设是一项整体工程,必须站在系统的角度论证它的可行性才有说服力,才有意义。可行性研究的目的是用最小的代价,在尽可能短时间内确定问题是否能够解决,它的目的不是解决问题,而是确定问题是否值得去解决,可行性从以下四个方面来考虑。
2.1.1技术可行性
该课题---机械爱好者论坛,它采用了当前流行的B/S结构和Internet网络技术。而如今编写HomePage也没原来那么麻烦,网站的一些制作要求和素材在Internet随处都可以找到,制作网站的工具也是种类繁多。我们可以从中找到符合自己要求的工具。管理信息系统的开发有很多的实例,一些实例的源代码也可以提供参考。所以,从技术上来说,开发这个系统的技术难题是不多的。
2.1.2经济可行性
从我搜集的一些资料来看,论坛系统对计算机硬件没有特殊要求,也可以以域名的形式提交到网上。而我们是自行开发的系统,成本可以忽略不计,还有后期维护的费用也相对比较低廉。
2.1.3操作可行性
参照其它的系统,该系统在技术上完全可以实现与用户的良好交互作用,并且作为开发者,我也尽可能地减少让用户难以操作或是难以理解的交互方式。
2.1.4法律可行性
本系统开发不会侵犯他人、集体或国家利益,不存在侵权等问题,不违反国家法律,因此具有法律可行性。
综上所述,从技术上、经济上、法律上、可操作性上都是可行的,而且要求不高,所以该系统的开发是可行的。
2.2业务流程
业务流程描述:用业务流程图描述现系统各项业务处理过程,并结合业务流程图
详细准确地说明业务处理过程中数据的收集、输入、传递、存储、加工的方法、算法、输出的数量及形式等。
现行系统的业务流程图是分析和描述现行系统业务的重要工具之一。其主要作用是:描述现行系统的业务情况以便于与管理人员交流,它是系统设计的前提和保证。
2.2.1管理员管理系统的业务流程图
图2-1管理员管理本系统业务流程图
系统管理员在后台界面可以对论坛的一些基本信息进行设定,可以对用户进行删除和修改,可以对讨论区的版面区域进行设置,可以查询系统中的用户。操作的相应结果都会存储在对应的数据库表中。
2.2.2用户使用系统的用例图
修改个人信息。用户系统
的业务用例图如下:
图2-2普通用户使用系统的用例图
一般的用户在注册用户名之后可以登陆到本网站,可以执行的功能有个人信息的维护,发帖子,浏览帖子,还可以根据帖子的主题或者作者名字来进行相应的搜索。相应的操作结果都将存储于对应的数据库表中。
图2-3管理员使用系统的用例图
与一般的用户不同,具有管理权限的用户在登陆前台页面后除了可以执行一般用
户的功能例如个人信息维护,发帖浏览帖子之外,还可以对社区的一些公用信息,例如社区公告、社区最新活动消息进行添加和删除,还可以对一些用户进行管理。相应的操作结果都将存储于数据库中对应的表里。
2.3需求规范
2.3.1产品背景
现在网络上大大小小的论坛特别多,论坛提供了各种人群的交流场所,而用户间的交流恰好满足了这种需要。用户与用户之间的互相讨论与学习能会使用户快速提高自己对于机械知识的了解和认知。
2.3.2产品概述
本系统是个人机械爱好者论坛,完成论坛和管理的功能。由前台使用子系统和后台管理子系统构成。本系统的开发环境采用JSP+SQL库进行开发。运行的操作系统为windows操作系统的各版本,需要配置Tomcat服务器。
2.3.3功能需求
本系统的功能分为用户使用子系统的前台和管理员管理子系统的后台构成。前台主要完成用户的注册,论坛信息的浏览,发表贴子的功能。后台系统主要完成会员信息的管理,论坛版块的管理和论坛信息的管理等功能。
2.3.4性能需求
为适应本系统管理的实际工作情况,本系统的性能要求如下:
1.吞吐量:系统的吞吐量为10M/S。
2.响应时间:本系统的响应时间为10ms。
3.可靠性要求:当录入错误时应有提示。
4.安全性要求:使用本系统的用户需要身份验证,只有合法的用户才能使用本系统。
2.3.5系统逻辑模型
它是描述系统的逻辑模型的,图中没有任何具体的物理元素,只是描述信息在系统中流动和处理的情况,它比口头与文字的描述更直观地显示出来系统中数据的使用。
数据流图简称DFD图,数据流图有四种成分:源点或终点、处理、数据存储表和数据流。图中没有任何具体的物理元素,只是描述信息在系统中的流动和处理情况,即使不是专业的计算机技术人员也容易理解,是极好的理解工具。它能精确的描述系统的逻辑模型,描述数据在MIS中有输入经过存储、加工处理最后输出的全过程,是设计者和用户交流的很好的工具。
数据流图采用自顶向下的方法绘制,从研究系统概况开始,然后逐层向下分解,直到所需的详尽程序为止。本系统根据前面绘制的业务流程图,采用自顶向下,逐层细化的方法,画的每一部分各层的数据流图如下:
图2-4网站系统TOP数据流图
图2-5管理员操作子系统数据流图
管理员可以从数据库中获得所有的用户列表、论坛的一些基本信息、社区公告、社区活动通知等,并且可以对其进行修改,更新过后的数据存放于数据库中。
图2-6用户操作子系统数据流图
用户在登陆本网站之后,可以获取数据库中存放着的个人基本信息、论坛的基本信息以及社区的一些信息例如社区公告、社区活动,还可以获取帖子的信息。但是用户只能对一些信息查看而不具备更改的权限,更新过后的数据又将存放于数据库中。
2.4数据字典
数据流程图可以使我们对系统的处理、每个处理的输入数据流、
输出数据流以及
系统的存储情况等清清楚楚。但是它无法表达各种数据流的数据结构,数据存储的数据结构,处理逻辑的加工处理过程等更加详细的信息。这正是数据字典的功能。
数据字典是对数据流程图的详细说明。在完成管理系统数据流程图的设计基础上,采用数据字典来对数据流程图做进一步的定义和描述,它同样也是一种结构化的工具,有自身的规范和结构。它的主要内容包括数据流、数据存储、数据流及数据存储中的数据元素和数据处理。
2.4.1数据流的定义
数据流是数据结构在系统内传输的路径。对数据流的描述通常包括如下内容:{数据流名,说明,编号,数据流来源,数据流去向,组成(数据结构)}。
1、“级别”数据流
数据流名称:用户级别
描述:描述用户级别
组成:用户级别+经验值
来源:管理员
2、发贴设置数据流
数据流名称:发帖设置
描述:描述发帖设置的信息
组成:帖子最大长度+每页主题数+每主题贴子数
来源:管理员
3、版区设置数据流
数据流名称:版区设置
描述:描述版区设置的信息
组成:版区中文名+版区管理员
来源:管理员
4、用户管理数据流
数据流名称:用户管理
描述:描述用户授权信息
组成:用户名+ID+密码
来源:管理员
5、用户贴子信息
数据流名称:用户帖子信息
描述:描述用户帖子信息
组成:文章主题+文章状态+正文+发表时间
来源:用户
6、用户个人信息
数据流名称:用户个人信息
描述:描述用户个人信息
组成:用户名+昵称+密码+重复密码+Email+密码+密码提示问题+密码提示答案
来源:用户
2.4.2数据存储定义
数据存储是数据结构停留或保存的地方。也是数据流的来源和去向之一,可以是手工文档或手工凭单,也可以是计算机文档。一般而言,应包括如下内容:{数据存储名,说明,编号,输入的数据流,输出的数据流,组成(数据结构),数据量,存取频度,存取方式}。
1、“用户级别信息”存储定义
文件名称:用户级别信息
描述:登录系统用户的级别信息。
组成:用户级别+经验值
相关过程:级别设置
2、“发帖设置信息”存储定义
文件名称:发帖设置信息
描述:对发帖的基本信息的设定。
相关过程:发帖设置
3、“版区设置信息”存储定义
文件名称:版区设置的信息
描述:对版区的基本信息的设定。
组成:版区中文名+版区英文名+版区管理员
相关过程:版区设置
4、“用户信息”存储定义
文件名称:用户的授权信息
描述:对用户授权信息的设定。
组成:用户名+ID+密码
相关过程:用户授权信息
5、“帖子信息”存储定义
文件名称:帖子信息
描述:用户的发表的帖子信息。
组成:文章主题+文章状态+正文+发表时间
6、“个人用户信息”存储定义
文件名称:个人信息
描述:用户的个人信息。
组成:用户名+昵称+密码+重复密码+EMAIL+密码+提示问题+密码答案相关过程:用户授权信息
2.4.3数据处理定义
处理过程的具体处理逻辑通常在详细设计过程中用判定表或判定树来描述。在数据字典中,只无原则描述处理过程的说明性信息,通常包括以下内容:{处理过程名,说明,输入数据流,输出数据流,处理}。
1、“管理员操作子系统”定义
过程名:管理员操作子系统描述:完成管理员的所有操作
输入数据流:用户级别信息、帖子设置信息、版区信息、用户信息。输出数据流:用户级别信息、帖子设置信息、版区信息、用户信息2、“用户操作子系统”定义
过程名:用户操作子系统描述:完成用户的所有操作
输入数据流:用户个人信息、帖子信息。输出数据流:用户个人信息、帖子信息
第三章概要设计
经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎样做”的时候。总体设计的基本目的就是回答“从总体上说,系统应该如何实现?”这个问题,因此,总体设计又称为概要设计或初步设计。通过这个阶段的工作将划分出组成系统的物理元素------程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后进行详细的设计。总体设计阶段的另一项重要任务是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。
3.1系统运行总体流程
图3-1后台管理系统运行流程图
后台管理员打开后台管理界面后,输入用户名:admin,输入密码:admin,如果
输入错误则需要返回登录页面继续输入。如果输入正确,则可以进入后台管理的操作界面。这时,管理员可以执行后台管理功能。可执行的功能包括:论坛基本信息的设定、论坛社区信息的管理、用户的查询以及用户的删除。管理人员在完成后台的维护工作之后,只需要点击退出,管理员便可以退出后台管理系统。
图3-2用户前台系统运行流程图
首先,用户需要注册一个账号和密码,然后在登录页面输入已注册的账号密码。如果输入错误,则要重新回到登录页面输入正确的账号密码。如果输入正确,则可以进入用户操作页面进行相应的操作。然后点击退出,用户退出本网站。需要注意的是,用户在注册账号时需要受到一定的限制,一些特殊的字符例如:fuck,不可以用于注册用户账号。这个信息是后台管理人员在后台维护界面设定的。同样也可以在用户注册页面给用户以人性化的小提示。
3.2系统体系结构
3.2.1系统软件结构图
管理员后台管理功能结构图如下所示:
图3-3管理员后台管理功能结构图
本图详细的解释了后台管理界面所包含的内容:管理人员的登录界面、注册信息管理、论坛基本信息的管理、用户信息的管理以及密码更改。
管理员前台管理功能结构图如下图说示范:
图3-4管理员前台管理功能结构图
本图详细的解释了前台用户界面所包含的内容:用户注册、用户登录、个人信息管理、论坛讨论区、社区管理(针对具有管理权限的用户)。
第四章数据库设计
“数据库”一词源于英文“Database”,直译为资料仓库,所以数据库实际上就是一个由大量资料所组成的集合。但是这些资料不是杂乱无章的堆积在一起,而是按照一定的规律和规则存储在计算机中。数据库的优点是很明显的,它具有结构化的存储方式,最小的空间冗余,而且在数据库中处理事务的程序与被处理的事务资料是分开存储的,这种独立性能够更好的保持资料的完整性和程序的可扩展性。
数据库系统为我们提供了一种把我们的工作和生活紧密相关的信息集合在一起的方法,它还提供在某个集中的地方存储和维护这些信息的方法。数据库系统主要由三大部分组成:数据库管理系统(DBMS是专门负责组织和管理资料信息的程序),数据库应用程序(它使我们能够获取,显示和更新由DBMS存储的资料),数据库(按一定结构组织在一起的相关资料的集合)。
MIS逻辑模型的独立性是指MIS逻辑模型与用户,与现行系统逻辑模型的联系和对用户,对现行系统逻辑模型的依赖。MIS逻辑模型的独立性包括:
1、新系统是黑箱
系统本身是黑箱,它能实现用户的全部要求,完成从输入到输出的转换,它的内部结构是透明的,与现行系统的模型及其它因素无关。
2、对用户的独立性
用户与系统的相关性包括:向系统输入信息、使用系统输出的信息、与系统交互、输入或修改参数、调整模型并利用系统的输出信息、系统为用户提供友好界面。用户仅与系统局部结构特性相关,而与使用算法和技术无关。
3、对现行系统的独立性
建立系统逻辑模型的根据是系统应当具有的功能,而不应当是现行系统的逻辑模型。建立新系统逻辑模型的方法是自顶向下对系统功能做逐层分解。分解系统或子系统的根据是系统或子系内过程与数据间的联系。
在MIS系统开发以前,对用户要实现的目标要有明确的要求。一般可以通过建立数据库与职能部门的联系,从关联中确定各子系统的功能,为系统调查和分析提供确定的内容,作为系统设计的基础,成为目标调整的依据。
4.1数据库逻辑设计
数据库的逻辑设计即是表结构和表关系的设计,本系统的E-R图如下:
图4-1数据库E-R图
本系统的表结构设计如下:1、用户注册表
Bbs_userinfo表,该表记录着的用户注册的基本信息。
表4-1
字段名称IDUsernameNicknamePasswordrepasswdEmailQuestionAnswerLogintimeLogouttimelogintimes
字段类型NumericvarcharvarcharvarcharvarcharvarcharvarcharvarcharNumericNumericint
用户注册表
主键YNNNNNNNNNN
备注注册序号用户名昵称密码重复密码电子邮箱密码提示问题密码提示答案首次登录时间最后登录时间登录次数
字段大小
[***********]994
2、用户信息表
bbscs_userdetail表,该表主要用于存储用户的信息,包括用户号、身高、体重、兴趣、毕业院校、喜爱的职业、喜欢的音乐、喜欢的电影、喜欢的城市、喜欢的书籍、个人主页、QQ号码以及性别。
表4-2
字段名称USERIDHEIGHTWEIGHTINTRESTGRADUATEDREAMJOBFAVOURMUSICFAVOURPLACEFAVOURMOVIEFAVOURBOOKHOMEPAGEOICQNOSEX
字段类型numericvarcharvarcharvarcharvarcharvarcharvarcharvarcharvarcharvarcharvarcharvarcharvarchar
用户信息表
主键YNNNNNNNNNNNN
备注用户id身高体重兴趣毕业院校喜欢的工作喜欢的音乐喜欢的城市喜欢的电影喜欢的书籍主页QQ号码性别
字段大小9(10,0)[***********][***********]
3、帖子信息表
该表主要用于存放帖子的内容,字段包括帖子id、帖子题目、帖子内容、作者姓名、发表时间等。
表4-3
字段名称
IdTitleContentAddusernameStarttimeendtime
字段类型NumericVarcharVarcharVarcharNumericNumeric
帖子信息表
主键YNNNNN
备注序号标题内容发表人名字开始时间结束时间
字段大小
[1**********]9
4、帖子回复表
该表主要用于存放帖子回复的内容,包括回复用户id、回复时间、回复内容的等。
表4-4
字段名称ReplyidReplywriterReplytimeReplycontent
字段类型NumericVarcharNumericVarchar
帖子回复表
主键YNNN
备注回复人序号回复人名字回复时间回复内容
字段大小
92093000
第五章详细设计与系统实现
总体设计阶段以比较抽象概括的方式提出了解决问题的办法。详细设计是软件开发时期的第三个阶段,也是软件设计的第二步。其任务就是把解法具体化,也就是回答下面这个关键的问题:“应该怎样具体地实现这个系统呢”,通过详细设计应该得出对目标系统的精确描述,给出各个模块的详细过程性描述。从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。
详细设计阶段的任务是在总体设计的基础上进一步确定如何实现目标系统。
5.1命名规则
1名字不能用保留字和关键字,但如果保留字或关键字中有字母大写就不算保留字或关键字了。
2开头字符能用字母、$或者_。3名字中不能用+、-空格等字符。
4部分易混的保留字关键字和非保留字关键字:
null,native,goto,const,instanceof,default是关键字保留字
then,sizeof,main,Boolean,unsigned,java,Integer不是关键字保留字
5.1.1JSP基本数据类型
int长度数据类型有:byte(8bits)、short(16bits)、int(32bits)、long(64bits)float长度数据类型有:单精度(32bitsfloat)、双精度(64bitsdouble)boolean类型变量的取值有:ture、falsechar数据类型有:unicode字符,16位
对应的类类型:Integer、Float、Boolean、Character、Double、Short、Byte、Long
5.1.2常量命名
常量的名字应该都使用大写字母,并且指出该常量完整含义。如果一个常量名称由多个单词组成,则应该用下划线来分割这些单词。
例如:MAX_VALUE
5.1.3其它部分命名规则
1.包的命名
JSP包的名字都是由小写单词组成。但是由于Java面向对象编程的特性,每一名Java程序员都可以编写属于自己的Java包,为了保障每个Java包命名的唯一性,在最新的Java编程规范中,要求程序员在自己定义的包的名称之前加上唯一的前缀。由于互联网上的域名称是不会重复的,所以程序员一般采用自己在互联网上的域名称作为自己程序包的唯一前缀。
2.类的命名
类的名字必须由大写字母开头而单词中的其他字母均为小写;如果类名称由多个单词组成,则每个单词的首字母均应为大写例如TestPage;如果类名称中包含单词缩写,则这个缩写词的每个字母均应大写,如:XMLExample,还有一点命名技巧就是由于类是设计用来代表对象的,所以在命名类时应尽量选择名词。
3.方法的命名
方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头。
例如:sendMessge
5.2模块设计
5.2.1登录窗口设计
1、登录窗口功能描述
登录窗口用于对进入系统的人员进行身份识别和权限级别的确认。对未在系统注册的使用人员进行限制。对已在系统注册的人员,在正确输入用户名和密码及验证码后,便进入系统主窗口,同时根据用户的权限级别开放主窗口中的菜单的相应功能,并禁止不相关的功能。
登录窗口模块功能表为:
2、登录窗口界面
图5-1登录窗口界面图
3、登录窗口界面说明
登录窗口是进入系统的第一个启动窗口。第一次来到本系统的用户可以在登录页面点击“注册”进行注册。如果注册成功,返回此登录页面,在文本框中依次正确输入用户名、密码和注册码后,单击“确定”按钮,便进入系统主窗口;若不正确,重新输入各项。
如果没有注册过的用户想要登录本论坛,他可以点击此登录页面的“游客”按钮,以游客的身份进入论坛。但是游客身份所能使用的功能受到了一定的限制。例如,游客无法修改自己的个人资料,游客无法发表帖子,游客无法回复帖子,当游客执行这些操作时都会有一些人性化的小提示。当然游客可以浏览帖子。
此登陆界面的风格是图形化用户界面,布局清晰、简洁,图形化命令按钮。界面以蓝灰色为基调。
4、登录窗口程序逻辑设计
图5-2登录窗口程序流程图
用户注册一个账号和密码,如果没有注册成功则需要重新注册直到注册成功。在登录页面输入已注册的账号的密码,如果没有输入正确则需要重新输入直到输入正确,此时便可以登录本网站。
5.2.2主窗口设计
主窗口完成论坛的操作功能,包括会员发帖,版主管理论坛,社区统计,在线统计,用户列表等。1、主窗口模块功能表为:
2、主窗口界面
图5-3论坛主窗口界面图
3、主窗口界面说明
主窗口是进入系统的主要操作窗口,通过该窗口完成所有操作。如果该用户是普通的注册用户,那么他在登录后进入到此主窗口界面可以使用的功能有:修改个人资料、上传照片、更改昵称、浏览社区公告以及最新社区活动消息、浏览帖子、回复帖子、发表帖子;如果该用户是具有管理权限的用户,那么他在登录后进入到此主窗口界面可以使用的功能有:修改个人资料、上传照片、更改昵称、更改删除社区公告以及最新社区活动消息、浏览帖子、发表帖子、回复帖子、查看网站用户列表、删除指定用户;如果该用户只是没有注册过的游客,那么他可以使用的功能就大大减少了.他无法修改个人的信息、无法回复帖子、无法发表帖子,仅仅能查看帖子。
添加公告板内容的部分代码如下::Board.java类用于添加公告板内容packagecom.laoer.bbscs.bean;importjava.io.Serializable;importjava.util.Map;
importorg.apache.commons.lang.builder.ToStringBuilder;publicclassBoardimplementsSerializable{
//声明包语句,且package作为java源文//引入包com.laoer.bbscs.bean中的
件的第一条语句,指明该源文件定义的类所在的包
java.io.Serializable类,一个java源文件可有多个import语句
//定义公告类并实现接口
Serializable
privateLongid;
privateStringboardName;privateStringeboardName;privateStringbmaster;privateshortattrib;privateshortorders;privateMapboards;
publicBoard(StringboardName,StringeboardName,Stringbmaster,
shortattrib,shortorders,Mapboards){
this.boardName=boardName;this.eboardName=eboardName;this.bmaster=bmaster;this.attrib=attrib;this.orders=orders;this.boards=boards;}
始化
publicBoard(){
}}
publicvoidsetId(Longid){
this.id=id;}
publicStringgetBoardName(){
returnthis.boardName;}
publicvoidsetBoardName(StringboardName){
this.boardName=boardName;}
publicStringgetEboardName(){
returnthis.eboardName;}
publicvoidsetEboardName(StringeboardName){
//定义变量:私有,长整型
//定义变量:私有,字符串型//定义变量:私有,字符串型//定义变量:私有,字符串型//定义变量:私有,短整型//定义变量:私有,短整型
//构造函数—--使用该构造函数则对上述变量分配空间且对其初
publicLonggetId(){returnthis.id;
//获取版主ID值
//设置版主ID值
//获取版区名字
//设置当前对象的版区名字
//获取子版区名字
this.eboardName=eboardName;}
publicshortgetAttrib(){
returnthis.attrib;}
publicvoidsetAttrib(shortattrib){
this.attrib=attrib;}
publicshortgetOrders(){
returnthis.orders;}
publicvoidsetOrders(shortorders){
this.orders=orders;}
publicMapgetBoards(){
returnthis.boards;}
publicvoidsetBoards(Mapboards){
this.boards=boards;}
publicStringtoString(){
ToStringBuilder类的一个对象
.append("id",getId())
id0618
.toString();
}}
//设置子版区名字
//获取贡献值
//设置贡献值
//获取当前对象的版区序列号
//设置当前对象的版区序列号
//获取公告值
//设置公告值
//函数功能显示发布公告的版主id
//用当前对象创建
returnnewToStringBuilder(this)
//append功能:追加子串,即在‘id’
后追加字符串:版主的id号,比如若版主id为0618,则执行该函数后,生成结果为:
//再次调用该函数,显示另一个在bbs上面发布
过公告的版主id,循环至显示出所有版主id
4、主窗口程序逻辑设计
图5-4论坛主窗口程序流程图
在用户成功登录到用户操作界面后,如果该用户不具有管理权限则只能执行的操作有:更改个人信息,例如:身高体重、个人昵称、个人爱好、个人照片、个人密码等,还可以浏览帖子、发表帖子、回复帖子。如果该用户具有一定的管理权限,则他可以对社区进行管理,例如:更新社区公告、更新社区活动、管理用户列表。
5.2.3后台窗口设计
后台部分完成对整个机械爱好者论坛的设置,包括论坛基本信息的设置、对注册的一些设置、版区设置以及用户的查询。1、主窗口模块功能表为
表5-3后台模块功能描述表
处理描述对网站的一些基本信息进行设定,由管理员来进行操作
输出项论坛的基本信息、用户的基本信息、版区信息
输入项需要修改的论坛信息、需要修改的用户信息、版区设定
2、后台窗口界面
图5-5后台管理登录界面图
图5-6后台管理操作界面图
3、后台管理界面说明
后台管理员在登录窗口输入用户名密码之后便可以登录到管理平台对后台信息
进行管理。后台管理员的用户名和密码是设定好的:用户名为admin,密码为admin。成功登录之后,便进入了后台管理主界面,该界面的色调是以棕黄色为主调。后台管理主要用于设置一些最基本的前台信息。例如:后台管理员可以在这里设置论坛的基本信息、可以对用户注册时使用的用户名进行一些限制、可以为前台增设版区、可以查询指定的用户并对其进行修改删除、可以修改个人密码。当然,一个基本论坛的后台管理部分所实现的功能应该是强大的,大部分论坛的后台管理还应该实现对于回复帖子的一些限定、对于论坛每页帖子数量的设置、对用户级别进行设置、对用户进行封锁,所以从这里我也看到了自己程序的不足之处。
4、后台部分程序逻辑设计
图5-7后台部分程序流程图
管理员在登录页面输入用户名:admin密码:admin,如果输入不正确则需要重新输入,如果输入正确便进入了后台管理界面。在该界面,管理员可以执行一些操作对论坛的板块、用户的信息、论坛的基本信息以及密码进行修改。然后点击退出,就可以退出本网站。
第六章
6.1软件测试基础理论
6.1.1软件测试定义系统测试以及软件安装
软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例,并利用这些测试用例运行程序以及发现错误的过程,即执行测试步骤。
软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查,它是软件质量保证的关键步骤。
6.1.2软件测试基本概念
1、测试的含义
所谓测试,首先是一项活动,在这项活动中某个系统或组成的部分将在特定的条件下运行,结果将被观察和记录,并对系统或组成部分进行评价。测试活动有两种结果:找出缺陷和故障,或显示软件执行正确。测试是一个或多个测试用例的集合。
测试用例:所谓测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果;测试用例是执行测试的最小实体。
2、测试的步骤
测试步骤详细规定了如何设置、执行、评估特定的测试用例。
软件生命周期:一个软件生命周期包括制定计划、需求分析定义、软件设计、程序编码、软件测试、软件运行、软件维护、软件停用等8个阶段。
软件测试在软件生命周期中横跨两个阶段:
单元测试阶段:
即在每个模块编写出以后所做的必要测试
综合测试阶段:
即在完成单元测试后进行的测试,如集成测试、系统测试、验收测试。
6.2软件测试目的
测试是程序的执行过程,目的在于发现错误;不能证明程序的正确性,除非仅处理有限种情况。检查系统是否满足需求也是测试的期望目标。一个好的测试用例在于发现了还未曾发现的错误;一次成功的测试则是发现了错误的测试。
6.3软件测试方法分类
软件测试技术按照不同的划分方法,有不同的分类:静态测试、动态测试;黑盒测试、白盒测试;单元测试、集成测试、回归测试、系统测试、验证测试以及确认测试。
6.3.1静态测试与动态测试
按照软件测试分析与非分析方法而论,软件测试可以分静态测试和动态测试。
1、静态测试
指不实际运行软件,主要是对软件的编程格式、结构等方面进行评估。静态测试包括:代码检查、静态结构分析、代码质量度量等。它可以由人工进行,也可以借助软件工具自动进行。
2、动态测试
动态测试方法是指计算机必须真正运行被测试的程序,通过输入测试用例,对其运行情况即输入与输出的对应关系进行分析,以达到检测的目的。
动态测试包括:功能确认与接口测试,覆盖率分析,性能分析,内存分析。
6.3.2黑盒白盒与白盒测试
1、黑盒测试
按照软件测试用例的设计方法而论,软件测试可以分为白盒测试法和黑盒测试法。
若测试规划是基于产品的功能,目的是检查程序各个功能是否能够实现,并检查其中的功能错误,则这种测试方法称为黑盒测试(Black-boxTesting)方法。
黑盒测试又称为功能测试、数据驱动测试和基于规格说明的测试。它是一种从用户观点出发的测试,一般被用来确认软件功能的正确性和可操作性。
黑盒测试主要根据规格说明书设计测试用例,并不涉及程序内部构造和内部特性,只依靠被测程序输入和输出之间的关系或程序的功能设计测试用例。
2、黑盒测试的特点
黑盒测试与软件的具体实现过程无关,在软件实现的过程发生变化时,测试用例仍然可以使用。
黑盒测试用例的设计可以和软件实现同时进行,这样能够压缩总的开发时间。若测试规划基于产品的内部结构进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分使用,则这种测试方法称为白盒测试(White-boxTesting)方法。
3、白盒测试
白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试,一般用来分析程序的内部结构。
白盒测试要求是对某些程序的结构特性做到一定程度的覆盖,或者说这种测试是“基于覆盖率的测试”。通常的程序结构覆盖有:语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,路径覆盖。
6.3.3单元测试、集成测试、系统测试、验证测试和确认测试
按照软件测试的策略和过程来分类,软件测试可分为单元测试、集成测试、系统测试、验证测试和确认测试。
测试中的错误分类:
A类错误:致命错误——引起程序异常中断或死机的错误等。
B类错误:功能错误——业务功能实现错误、程序执行结果错误等。
C类错误:功能缺陷——功能操作不方便、缺少操作提示等。
D类错误:界面缺陷——界面设计不符合本系统的界面设计规范等。
E类错误:测试正确——正确的测试项、测试结果与预期的一致等。
6.4论坛测试
本系统各部分模块,采黑白盒测试。
6.4.1测试用例设计要求
一个好的测试用例,应该包含以下信息:
1、软件或项目的名称
2、软件或项目的版本(内部版本号)
3、功能模块名
4、测试用例的简单描述,即该用例执行的目的或方法
5、测试用例的参考信息(便于跟踪和参考)
6、本测试用例与其他测试用例间的依赖关系
7、本用例的前置条件,即执行本用例必须要满足的条件,如对数据库的访问权限
8、用例的编号(ID),如可以是:软件名称简写-功能块简写-NO.
9、步骤号、操作步骤描述、测试数据描述
10、预期结果(这是最重要的)和实际结果(如果有BUG管理工具,这条可以省略)
11、开发人员(必须有)和测试人员(可有可无)
12、测试执行日期
6.4.2登录系统模块测试用例表6-1
项目软
件
功能模
块
功能特
性
测试目
的
测试数
据
操作步
骤操作描述
输入用户名
1称,密码,按
“登录”。
输入用户名,
2密码,按“登
录”。
输入错误的
验证码。用户名为3333密码为123456进入系统进入系统正常用户名=3333密码555555“无此用户”系统提示正常数据期望结果用户名=3333密码=123456实际结果测试状态验证是否输入合法的信息,允许合法登录,阻止非法登录用户身份验证Login.jsp编制人谢明峻机械爱好者论坛程序版本V1.0登录测试用例显示警告信息3“验证码错误”显示警告信息“验证码错误!”正常
6.5测试报告
本系统经过测试,各部分的功能基本正常,达到了预期的目的。
通过对系统的全面测试,我学到了许多测试方面的知识,了解到测试方法、测试经验。通过本次设计,使我了解到测试的重要性。通过测试,可以使软件更适合用户的需求,更加稳定、可靠地运行,并能适应市场竞争,应用前景广泛。
6.6软件安装
由于本系统采用了JSP、SQLSERVER技术,因此需要的软件包括有JDK、TOMCAT、SQLSERVER。
6.6.1JDK的安装
首先,JDK的安装配置。双击文件,装完之后,设置环境变量。右击“我的电脑”选“属性”,选“高级",选“环境变量”,在这个窗口中选最下面的“新建",变量名:javapath,变量值:C:\ProgramFiles\Java\jdk1.5.0_05(这个是安装的默认路径),点击“确定”,创建环境变量。
6.6.2TOMCAT的安装
其次,TOMCAT5.0的安装配置。双击安装文件,安装完成之后需要把完成的程序复制到,C:\ProgramFiles\ApacheSoftwareFoundation\Tomcat5.0\webapps文件夹下。
6.6.3SQLSERVER的安装
最后,SQLSERVER2000的安装配置。双击安装文件进行安装,安装过程中,需要更改SQLSERVER系统管理员登录信息。安装完成之后,要在SQLSERVER的企业管理器中添加程序的数据库。到此所有所需的软件都已经安装完毕。
启动TOMCAT服务器以及SQLSERVER服务器,在启动服务器时确认没有报错的情况下,就可以进入本系统。
打开IE浏览器,在地址栏中输入以下网址:http://localhost:8080/jsp-example/便可以进入本系统。
结论
本次毕业设计到此已经顺利结束,通过这次的毕业设计,我学到了很多。在以前的5年时间内我学习了很多的课程及编程语言,虽然通过学习对这些课程有所了解和掌握,但是始终处于理论知识的掌握阶段,并没有真正应用于实践设计开发,所以对知识的掌握还不够全面和熟练。而且并不能真正独立的开发出一个完整的应用于实际的系统。通过这次的毕业设计,我已经可以完成这一任务,对自身的编程能力也有了很大的提高。这次开发的系统是一个动态网页,而不是简单的静态网页,因此采用了在开发动态网页方面比较先进的JSP作为开发语言。JSP是一种WEB编程脚本语言。当然在学习的过程中曾经碰到过一些让人头痛的问题,我都一一解决了,直到系统全部完成,也让我在解决问题方面的能力得到了提高。
整个开发的过程对我来说是一次能力的真正提高的过程;是一次将理论应用于实践的过程;是将以前所学知识充分利用的过程,比如管理信息系统,数据库概论等等;是一次真正的实践过程。
总体说来,在这次长达一个学期的毕业设计中,我真正学到了很多有用的东西,是一些在课堂内所学不到的知识,收获很大。
谢辞
这是一个特殊的时刻,是一个值得纪念的时刻。此时此刻,短暂的毕业设计就要画上句点,人生中的大学时光也即将画上句号。心中的感受复杂交错,有即将毕业的兴奋、有毕设完成的轻松感、也有对大学时光的恋恋不舍。
在此论文即将完成之时,首先我要特别感谢我的指导老师李文老师!谢谢老师给予我悉心的关怀与指导。记得第一次见到老师时,立刻体会到了一种亲近的感觉。老师认真负责的工作态度、严谨的治学风格、亲切平易近人的性格,使我深受启发,内心许多次都在感激我能在大学最后的时光遇到了李文老师。正是在老师的督促和耐心的指导下,才让我将毕设各方面的工作完成得最好。
其次,也感谢院系各级领导对我的关心,为我提供了舒适的工作、学习环境。最后,感谢同学们在开发的期间,给我的无私的帮助。曾经遇到过很多疑难,正是与同学们的相互探讨使我获益匪浅,才能让我继续前进的脚步。短短几个月时间内,除了学会了基本数据库应用系统地开发外,更重要的是学到了兢兢业业,奋发向上的精神!这种精神将是我今后人生前进道路上的一种力量,所以我再次衷心地感谢老师和我的同学们,谢谢你们了!
参考文献
[1]
[2]
[3]
[4]
[5]
[6]孙卫琴,李洪成编著.Tomcat与JavaWeb开发技术详解[M].电子工业出版社,2004飞思科技产品研发中心编著.JSP应用开发详解[M].北京:电子工业出版社,2004张海藩编著.软件工程导论[M].北京:清华大学出版社,2003萨师煊,王珊著.数据库系统概论[M].北京:高等教育出版社,2003余晨,李文炬编著.SQLServer2000培训教程[M].北京:清华大学出版社,2002宣小平,但正刚,张文毅编著.JSP数据库系统开发实力导航[M].北京:人民邮电出版
社,2003
[7]MartinBond,DanHaywood,DebbieLaw,AndyLongshaw,PeterRoxburgh著.周辉,付煜,赵本
宇,周水生译.21天学通J2EE.第二版[M].北京:人民邮电出版社,2005
[8]
[9]
[10]耿祥义,张跃平编著.JSP实用教程[M].北京:清华大学出版社,2003袁扬,王彦峰编著.边学边用DreamweaverMX2004[M].北京:清华大学出版社,2004周苏,王文编著.软件工程学教程[M].北京.科学出版社,2002
目
第一章
第二章录绪论............................................................................................1需求分析.....................................................................................21.1系统开发背景.................................................................................................................1
2.1可行性分析.....................................................................................................................2
2.2业务流程.........................................................................................................................2
2.3需求规范.........................................................................................................................5
2.4数据字典.........................................................................................................................7
第三章概要设计...................................................................................11
3.1系统运行总体流程.......................................................................................................11
3.2系统体系结构...............................................................................................................12
第四章
第五章数据库设计................................................................................14详细设计与系统实现...................................................................184.1数据库逻辑设计...........................................................................................................14
5.1命名规则.......................................................................................................................18
5.2模块设计.......................................................................................................................19
第六章系统测试以及软件安装................................................................30
6.1软件测试基础理论.......................................................................................................30
6.2软件测试目的...............................................................................................................30
6.3软件测试方法分类.......................................................................................................30
6.4论坛测试.......................................................................................................................32
6.5测试报告.......................................................................................................................33
6.6软件安装.......................................................................................................................33结
谢论...................................................................................................35辞...................................................................................................36参考文献...................................................................................................37
第一章
1.1系统开发背景绪论
随着现代社会机械化程度越来越高,人们对机械知识的渴望越来越强烈,而用户间的交流恰好满足了这种需要。用户与用户之间的互相讨论与学习会使用户快速提高自己对于机械知识的了解和认知。针对这种现状开发了本系统。
论坛又名BBS,全称为BulletinBoardSystem(电子公告板)或者BulletinBoardService(公告板服务)。是Internet上的一种电子信息服务系统。它提供一块公共电子白板,每个用户都可以在上面书写,可发布信息或提出看法。它是一种交互性强,内容丰富而及时的Internet电子信息服务系统。用户在BBS站点上可以获得各种信息服务,发布信息,进行讨论,聊天等等。像日常生活中的黑板报一样,论坛按不同的主题分为许多版块,版面的设立依据是大多数用户的要求和喜好,用户可以阅读别人关于某个主题的看法,也可以将自己的想法毫无保留地贴到论坛中。
一般来说,论坛也提供邮件功能,如果需要私下的交流,也可以将想说的话直接发到某个人的电子信箱中。在论坛里,人们之间的交流打破了空间,时间的限制。在与别人进行交往时,无须考虑自身的年龄,学历,知识,社会地位,财富,外貌,健康状况,也无从知道交谈的对方的真实社会身份。这样,参与讨论的人可以处于一个平等的位置与其他人进行机械方面问题的探讨。论坛往往是由一些有志于此道的爱好者建立,对所有人都免费开放。而且,由于BBS的参与人众多,因此各方面的话题都不乏热心者。我们当然可以利用它来解决机械学习中的一些疑惑。
后来随着因特网的普及,拨号BBS和BBS网络已经日渐凋零,所剩无几。目前的BBS站点,多数是基于Internet的Telnet协议。在服务器端,采用MapleBBS或者FireBirdBBS系统。用户端通过Telnet软件如NetTerm、CTerm、FTerm等来登陆服务器,阅读发表文章,发送邮件,通过仿真的ZModem协议来上传下载数据文件。有些站点还提供SSH登陆,确保连接的安全性,还有很多站点提供Web方式的界面,方便用户使用。
中国大陆BBS界在FirebirdBBS基础上还发展了SmthBBS、YthtBBS、LilyBBS等,提供非常丰富web方式访问,如发文、即时消息、信件、Blog,而一些管理操作,如版面管理、个人文集,则仍然限定为Telnet访问。而客户端的Telnet软件也发展了很多便于操作的功能,如:鼠标响应、URL识别、图片预览,文章自动下载、自定义脚本等。
第二章
2.1可行性分析需求分析
可行性研究是在项目开发前期对项目的一种考察和鉴定,对拟议中的项目进行全面的、综合的调查研究,其目的是要判断项目可行与否。信息系统技术可行性研究要从系统开发的计划出发,论述系统开发力量的可行性,同时论证系统方案中所采取的各种技术手段上是否可以实现。信息系统经济可行性研究主要是对项目进行经济评价,分析系统建设投资的可能性以及评价系统运行之后给组织带来的效益。信息系统营运可行性研究要给出的方案是否可以从人力、物力、组织工作等方面保证项目按计划完成实施,还要说明项目开发后在经济、技术和环境等方面能否保证系统正常运行。
由于系统建设是一项投资大、涉及面广、工程复杂的系统工程,因此必须充分的进行可行性论证,以确保投资的准确无误,而且信息系统建设是一项整体工程,必须站在系统的角度论证它的可行性才有说服力,才有意义。可行性研究的目的是用最小的代价,在尽可能短时间内确定问题是否能够解决,它的目的不是解决问题,而是确定问题是否值得去解决,可行性从以下四个方面来考虑。
2.1.1技术可行性
该课题---机械爱好者论坛,它采用了当前流行的B/S结构和Internet网络技术。而如今编写HomePage也没原来那么麻烦,网站的一些制作要求和素材在Internet随处都可以找到,制作网站的工具也是种类繁多。我们可以从中找到符合自己要求的工具。管理信息系统的开发有很多的实例,一些实例的源代码也可以提供参考。所以,从技术上来说,开发这个系统的技术难题是不多的。
2.1.2经济可行性
从我搜集的一些资料来看,论坛系统对计算机硬件没有特殊要求,也可以以域名的形式提交到网上。而我们是自行开发的系统,成本可以忽略不计,还有后期维护的费用也相对比较低廉。
2.1.3操作可行性
参照其它的系统,该系统在技术上完全可以实现与用户的良好交互作用,并且作为开发者,我也尽可能地减少让用户难以操作或是难以理解的交互方式。
2.1.4法律可行性
本系统开发不会侵犯他人、集体或国家利益,不存在侵权等问题,不违反国家法律,因此具有法律可行性。
综上所述,从技术上、经济上、法律上、可操作性上都是可行的,而且要求不高,所以该系统的开发是可行的。
2.2业务流程
业务流程描述:用业务流程图描述现系统各项业务处理过程,并结合业务流程图
详细准确地说明业务处理过程中数据的收集、输入、传递、存储、加工的方法、算法、输出的数量及形式等。
现行系统的业务流程图是分析和描述现行系统业务的重要工具之一。其主要作用是:描述现行系统的业务情况以便于与管理人员交流,它是系统设计的前提和保证。
2.2.1管理员管理系统的业务流程图
图2-1管理员管理本系统业务流程图
系统管理员在后台界面可以对论坛的一些基本信息进行设定,可以对用户进行删除和修改,可以对讨论区的版面区域进行设置,可以查询系统中的用户。操作的相应结果都会存储在对应的数据库表中。
2.2.2用户使用系统的用例图
修改个人信息。用户系统
的业务用例图如下:
图2-2普通用户使用系统的用例图
一般的用户在注册用户名之后可以登陆到本网站,可以执行的功能有个人信息的维护,发帖子,浏览帖子,还可以根据帖子的主题或者作者名字来进行相应的搜索。相应的操作结果都将存储于对应的数据库表中。
图2-3管理员使用系统的用例图
与一般的用户不同,具有管理权限的用户在登陆前台页面后除了可以执行一般用
户的功能例如个人信息维护,发帖浏览帖子之外,还可以对社区的一些公用信息,例如社区公告、社区最新活动消息进行添加和删除,还可以对一些用户进行管理。相应的操作结果都将存储于数据库中对应的表里。
2.3需求规范
2.3.1产品背景
现在网络上大大小小的论坛特别多,论坛提供了各种人群的交流场所,而用户间的交流恰好满足了这种需要。用户与用户之间的互相讨论与学习能会使用户快速提高自己对于机械知识的了解和认知。
2.3.2产品概述
本系统是个人机械爱好者论坛,完成论坛和管理的功能。由前台使用子系统和后台管理子系统构成。本系统的开发环境采用JSP+SQL库进行开发。运行的操作系统为windows操作系统的各版本,需要配置Tomcat服务器。
2.3.3功能需求
本系统的功能分为用户使用子系统的前台和管理员管理子系统的后台构成。前台主要完成用户的注册,论坛信息的浏览,发表贴子的功能。后台系统主要完成会员信息的管理,论坛版块的管理和论坛信息的管理等功能。
2.3.4性能需求
为适应本系统管理的实际工作情况,本系统的性能要求如下:
1.吞吐量:系统的吞吐量为10M/S。
2.响应时间:本系统的响应时间为10ms。
3.可靠性要求:当录入错误时应有提示。
4.安全性要求:使用本系统的用户需要身份验证,只有合法的用户才能使用本系统。
2.3.5系统逻辑模型
它是描述系统的逻辑模型的,图中没有任何具体的物理元素,只是描述信息在系统中流动和处理的情况,它比口头与文字的描述更直观地显示出来系统中数据的使用。
数据流图简称DFD图,数据流图有四种成分:源点或终点、处理、数据存储表和数据流。图中没有任何具体的物理元素,只是描述信息在系统中的流动和处理情况,即使不是专业的计算机技术人员也容易理解,是极好的理解工具。它能精确的描述系统的逻辑模型,描述数据在MIS中有输入经过存储、加工处理最后输出的全过程,是设计者和用户交流的很好的工具。
数据流图采用自顶向下的方法绘制,从研究系统概况开始,然后逐层向下分解,直到所需的详尽程序为止。本系统根据前面绘制的业务流程图,采用自顶向下,逐层细化的方法,画的每一部分各层的数据流图如下:
图2-4网站系统TOP数据流图
图2-5管理员操作子系统数据流图
管理员可以从数据库中获得所有的用户列表、论坛的一些基本信息、社区公告、社区活动通知等,并且可以对其进行修改,更新过后的数据存放于数据库中。
图2-6用户操作子系统数据流图
用户在登陆本网站之后,可以获取数据库中存放着的个人基本信息、论坛的基本信息以及社区的一些信息例如社区公告、社区活动,还可以获取帖子的信息。但是用户只能对一些信息查看而不具备更改的权限,更新过后的数据又将存放于数据库中。
2.4数据字典
数据流程图可以使我们对系统的处理、每个处理的输入数据流、
输出数据流以及
系统的存储情况等清清楚楚。但是它无法表达各种数据流的数据结构,数据存储的数据结构,处理逻辑的加工处理过程等更加详细的信息。这正是数据字典的功能。
数据字典是对数据流程图的详细说明。在完成管理系统数据流程图的设计基础上,采用数据字典来对数据流程图做进一步的定义和描述,它同样也是一种结构化的工具,有自身的规范和结构。它的主要内容包括数据流、数据存储、数据流及数据存储中的数据元素和数据处理。
2.4.1数据流的定义
数据流是数据结构在系统内传输的路径。对数据流的描述通常包括如下内容:{数据流名,说明,编号,数据流来源,数据流去向,组成(数据结构)}。
1、“级别”数据流
数据流名称:用户级别
描述:描述用户级别
组成:用户级别+经验值
来源:管理员
2、发贴设置数据流
数据流名称:发帖设置
描述:描述发帖设置的信息
组成:帖子最大长度+每页主题数+每主题贴子数
来源:管理员
3、版区设置数据流
数据流名称:版区设置
描述:描述版区设置的信息
组成:版区中文名+版区管理员
来源:管理员
4、用户管理数据流
数据流名称:用户管理
描述:描述用户授权信息
组成:用户名+ID+密码
来源:管理员
5、用户贴子信息
数据流名称:用户帖子信息
描述:描述用户帖子信息
组成:文章主题+文章状态+正文+发表时间
来源:用户
6、用户个人信息
数据流名称:用户个人信息
描述:描述用户个人信息
组成:用户名+昵称+密码+重复密码+Email+密码+密码提示问题+密码提示答案
来源:用户
2.4.2数据存储定义
数据存储是数据结构停留或保存的地方。也是数据流的来源和去向之一,可以是手工文档或手工凭单,也可以是计算机文档。一般而言,应包括如下内容:{数据存储名,说明,编号,输入的数据流,输出的数据流,组成(数据结构),数据量,存取频度,存取方式}。
1、“用户级别信息”存储定义
文件名称:用户级别信息
描述:登录系统用户的级别信息。
组成:用户级别+经验值
相关过程:级别设置
2、“发帖设置信息”存储定义
文件名称:发帖设置信息
描述:对发帖的基本信息的设定。
相关过程:发帖设置
3、“版区设置信息”存储定义
文件名称:版区设置的信息
描述:对版区的基本信息的设定。
组成:版区中文名+版区英文名+版区管理员
相关过程:版区设置
4、“用户信息”存储定义
文件名称:用户的授权信息
描述:对用户授权信息的设定。
组成:用户名+ID+密码
相关过程:用户授权信息
5、“帖子信息”存储定义
文件名称:帖子信息
描述:用户的发表的帖子信息。
组成:文章主题+文章状态+正文+发表时间
6、“个人用户信息”存储定义
文件名称:个人信息
描述:用户的个人信息。
组成:用户名+昵称+密码+重复密码+EMAIL+密码+提示问题+密码答案相关过程:用户授权信息
2.4.3数据处理定义
处理过程的具体处理逻辑通常在详细设计过程中用判定表或判定树来描述。在数据字典中,只无原则描述处理过程的说明性信息,通常包括以下内容:{处理过程名,说明,输入数据流,输出数据流,处理}。
1、“管理员操作子系统”定义
过程名:管理员操作子系统描述:完成管理员的所有操作
输入数据流:用户级别信息、帖子设置信息、版区信息、用户信息。输出数据流:用户级别信息、帖子设置信息、版区信息、用户信息2、“用户操作子系统”定义
过程名:用户操作子系统描述:完成用户的所有操作
输入数据流:用户个人信息、帖子信息。输出数据流:用户个人信息、帖子信息
第三章概要设计
经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎样做”的时候。总体设计的基本目的就是回答“从总体上说,系统应该如何实现?”这个问题,因此,总体设计又称为概要设计或初步设计。通过这个阶段的工作将划分出组成系统的物理元素------程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后进行详细的设计。总体设计阶段的另一项重要任务是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。
3.1系统运行总体流程
图3-1后台管理系统运行流程图
后台管理员打开后台管理界面后,输入用户名:admin,输入密码:admin,如果
输入错误则需要返回登录页面继续输入。如果输入正确,则可以进入后台管理的操作界面。这时,管理员可以执行后台管理功能。可执行的功能包括:论坛基本信息的设定、论坛社区信息的管理、用户的查询以及用户的删除。管理人员在完成后台的维护工作之后,只需要点击退出,管理员便可以退出后台管理系统。
图3-2用户前台系统运行流程图
首先,用户需要注册一个账号和密码,然后在登录页面输入已注册的账号密码。如果输入错误,则要重新回到登录页面输入正确的账号密码。如果输入正确,则可以进入用户操作页面进行相应的操作。然后点击退出,用户退出本网站。需要注意的是,用户在注册账号时需要受到一定的限制,一些特殊的字符例如:fuck,不可以用于注册用户账号。这个信息是后台管理人员在后台维护界面设定的。同样也可以在用户注册页面给用户以人性化的小提示。
3.2系统体系结构
3.2.1系统软件结构图
管理员后台管理功能结构图如下所示:
图3-3管理员后台管理功能结构图
本图详细的解释了后台管理界面所包含的内容:管理人员的登录界面、注册信息管理、论坛基本信息的管理、用户信息的管理以及密码更改。
管理员前台管理功能结构图如下图说示范:
图3-4管理员前台管理功能结构图
本图详细的解释了前台用户界面所包含的内容:用户注册、用户登录、个人信息管理、论坛讨论区、社区管理(针对具有管理权限的用户)。
第四章数据库设计
“数据库”一词源于英文“Database”,直译为资料仓库,所以数据库实际上就是一个由大量资料所组成的集合。但是这些资料不是杂乱无章的堆积在一起,而是按照一定的规律和规则存储在计算机中。数据库的优点是很明显的,它具有结构化的存储方式,最小的空间冗余,而且在数据库中处理事务的程序与被处理的事务资料是分开存储的,这种独立性能够更好的保持资料的完整性和程序的可扩展性。
数据库系统为我们提供了一种把我们的工作和生活紧密相关的信息集合在一起的方法,它还提供在某个集中的地方存储和维护这些信息的方法。数据库系统主要由三大部分组成:数据库管理系统(DBMS是专门负责组织和管理资料信息的程序),数据库应用程序(它使我们能够获取,显示和更新由DBMS存储的资料),数据库(按一定结构组织在一起的相关资料的集合)。
MIS逻辑模型的独立性是指MIS逻辑模型与用户,与现行系统逻辑模型的联系和对用户,对现行系统逻辑模型的依赖。MIS逻辑模型的独立性包括:
1、新系统是黑箱
系统本身是黑箱,它能实现用户的全部要求,完成从输入到输出的转换,它的内部结构是透明的,与现行系统的模型及其它因素无关。
2、对用户的独立性
用户与系统的相关性包括:向系统输入信息、使用系统输出的信息、与系统交互、输入或修改参数、调整模型并利用系统的输出信息、系统为用户提供友好界面。用户仅与系统局部结构特性相关,而与使用算法和技术无关。
3、对现行系统的独立性
建立系统逻辑模型的根据是系统应当具有的功能,而不应当是现行系统的逻辑模型。建立新系统逻辑模型的方法是自顶向下对系统功能做逐层分解。分解系统或子系统的根据是系统或子系内过程与数据间的联系。
在MIS系统开发以前,对用户要实现的目标要有明确的要求。一般可以通过建立数据库与职能部门的联系,从关联中确定各子系统的功能,为系统调查和分析提供确定的内容,作为系统设计的基础,成为目标调整的依据。
4.1数据库逻辑设计
数据库的逻辑设计即是表结构和表关系的设计,本系统的E-R图如下:
图4-1数据库E-R图
本系统的表结构设计如下:1、用户注册表
Bbs_userinfo表,该表记录着的用户注册的基本信息。
表4-1
字段名称IDUsernameNicknamePasswordrepasswdEmailQuestionAnswerLogintimeLogouttimelogintimes
字段类型NumericvarcharvarcharvarcharvarcharvarcharvarcharvarcharNumericNumericint
用户注册表
主键YNNNNNNNNNN
备注注册序号用户名昵称密码重复密码电子邮箱密码提示问题密码提示答案首次登录时间最后登录时间登录次数
字段大小
[***********]994
2、用户信息表
bbscs_userdetail表,该表主要用于存储用户的信息,包括用户号、身高、体重、兴趣、毕业院校、喜爱的职业、喜欢的音乐、喜欢的电影、喜欢的城市、喜欢的书籍、个人主页、QQ号码以及性别。
表4-2
字段名称USERIDHEIGHTWEIGHTINTRESTGRADUATEDREAMJOBFAVOURMUSICFAVOURPLACEFAVOURMOVIEFAVOURBOOKHOMEPAGEOICQNOSEX
字段类型numericvarcharvarcharvarcharvarcharvarcharvarcharvarcharvarcharvarcharvarcharvarcharvarchar
用户信息表
主键YNNNNNNNNNNNN
备注用户id身高体重兴趣毕业院校喜欢的工作喜欢的音乐喜欢的城市喜欢的电影喜欢的书籍主页QQ号码性别
字段大小9(10,0)[***********][***********]
3、帖子信息表
该表主要用于存放帖子的内容,字段包括帖子id、帖子题目、帖子内容、作者姓名、发表时间等。
表4-3
字段名称
IdTitleContentAddusernameStarttimeendtime
字段类型NumericVarcharVarcharVarcharNumericNumeric
帖子信息表
主键YNNNNN
备注序号标题内容发表人名字开始时间结束时间
字段大小
[1**********]9
4、帖子回复表
该表主要用于存放帖子回复的内容,包括回复用户id、回复时间、回复内容的等。
表4-4
字段名称ReplyidReplywriterReplytimeReplycontent
字段类型NumericVarcharNumericVarchar
帖子回复表
主键YNNN
备注回复人序号回复人名字回复时间回复内容
字段大小
92093000
第五章详细设计与系统实现
总体设计阶段以比较抽象概括的方式提出了解决问题的办法。详细设计是软件开发时期的第三个阶段,也是软件设计的第二步。其任务就是把解法具体化,也就是回答下面这个关键的问题:“应该怎样具体地实现这个系统呢”,通过详细设计应该得出对目标系统的精确描述,给出各个模块的详细过程性描述。从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。
详细设计阶段的任务是在总体设计的基础上进一步确定如何实现目标系统。
5.1命名规则
1名字不能用保留字和关键字,但如果保留字或关键字中有字母大写就不算保留字或关键字了。
2开头字符能用字母、$或者_。3名字中不能用+、-空格等字符。
4部分易混的保留字关键字和非保留字关键字:
null,native,goto,const,instanceof,default是关键字保留字
then,sizeof,main,Boolean,unsigned,java,Integer不是关键字保留字
5.1.1JSP基本数据类型
int长度数据类型有:byte(8bits)、short(16bits)、int(32bits)、long(64bits)float长度数据类型有:单精度(32bitsfloat)、双精度(64bitsdouble)boolean类型变量的取值有:ture、falsechar数据类型有:unicode字符,16位
对应的类类型:Integer、Float、Boolean、Character、Double、Short、Byte、Long
5.1.2常量命名
常量的名字应该都使用大写字母,并且指出该常量完整含义。如果一个常量名称由多个单词组成,则应该用下划线来分割这些单词。
例如:MAX_VALUE
5.1.3其它部分命名规则
1.包的命名
JSP包的名字都是由小写单词组成。但是由于Java面向对象编程的特性,每一名Java程序员都可以编写属于自己的Java包,为了保障每个Java包命名的唯一性,在最新的Java编程规范中,要求程序员在自己定义的包的名称之前加上唯一的前缀。由于互联网上的域名称是不会重复的,所以程序员一般采用自己在互联网上的域名称作为自己程序包的唯一前缀。
2.类的命名
类的名字必须由大写字母开头而单词中的其他字母均为小写;如果类名称由多个单词组成,则每个单词的首字母均应为大写例如TestPage;如果类名称中包含单词缩写,则这个缩写词的每个字母均应大写,如:XMLExample,还有一点命名技巧就是由于类是设计用来代表对象的,所以在命名类时应尽量选择名词。
3.方法的命名
方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头。
例如:sendMessge
5.2模块设计
5.2.1登录窗口设计
1、登录窗口功能描述
登录窗口用于对进入系统的人员进行身份识别和权限级别的确认。对未在系统注册的使用人员进行限制。对已在系统注册的人员,在正确输入用户名和密码及验证码后,便进入系统主窗口,同时根据用户的权限级别开放主窗口中的菜单的相应功能,并禁止不相关的功能。
登录窗口模块功能表为:
2、登录窗口界面
图5-1登录窗口界面图
3、登录窗口界面说明
登录窗口是进入系统的第一个启动窗口。第一次来到本系统的用户可以在登录页面点击“注册”进行注册。如果注册成功,返回此登录页面,在文本框中依次正确输入用户名、密码和注册码后,单击“确定”按钮,便进入系统主窗口;若不正确,重新输入各项。
如果没有注册过的用户想要登录本论坛,他可以点击此登录页面的“游客”按钮,以游客的身份进入论坛。但是游客身份所能使用的功能受到了一定的限制。例如,游客无法修改自己的个人资料,游客无法发表帖子,游客无法回复帖子,当游客执行这些操作时都会有一些人性化的小提示。当然游客可以浏览帖子。
此登陆界面的风格是图形化用户界面,布局清晰、简洁,图形化命令按钮。界面以蓝灰色为基调。
4、登录窗口程序逻辑设计
图5-2登录窗口程序流程图
用户注册一个账号和密码,如果没有注册成功则需要重新注册直到注册成功。在登录页面输入已注册的账号的密码,如果没有输入正确则需要重新输入直到输入正确,此时便可以登录本网站。
5.2.2主窗口设计
主窗口完成论坛的操作功能,包括会员发帖,版主管理论坛,社区统计,在线统计,用户列表等。1、主窗口模块功能表为:
2、主窗口界面
图5-3论坛主窗口界面图
3、主窗口界面说明
主窗口是进入系统的主要操作窗口,通过该窗口完成所有操作。如果该用户是普通的注册用户,那么他在登录后进入到此主窗口界面可以使用的功能有:修改个人资料、上传照片、更改昵称、浏览社区公告以及最新社区活动消息、浏览帖子、回复帖子、发表帖子;如果该用户是具有管理权限的用户,那么他在登录后进入到此主窗口界面可以使用的功能有:修改个人资料、上传照片、更改昵称、更改删除社区公告以及最新社区活动消息、浏览帖子、发表帖子、回复帖子、查看网站用户列表、删除指定用户;如果该用户只是没有注册过的游客,那么他可以使用的功能就大大减少了.他无法修改个人的信息、无法回复帖子、无法发表帖子,仅仅能查看帖子。
添加公告板内容的部分代码如下::Board.java类用于添加公告板内容packagecom.laoer.bbscs.bean;importjava.io.Serializable;importjava.util.Map;
importorg.apache.commons.lang.builder.ToStringBuilder;publicclassBoardimplementsSerializable{
//声明包语句,且package作为java源文//引入包com.laoer.bbscs.bean中的
件的第一条语句,指明该源文件定义的类所在的包
java.io.Serializable类,一个java源文件可有多个import语句
//定义公告类并实现接口
Serializable
privateLongid;
privateStringboardName;privateStringeboardName;privateStringbmaster;privateshortattrib;privateshortorders;privateMapboards;
publicBoard(StringboardName,StringeboardName,Stringbmaster,
shortattrib,shortorders,Mapboards){
this.boardName=boardName;this.eboardName=eboardName;this.bmaster=bmaster;this.attrib=attrib;this.orders=orders;this.boards=boards;}
始化
publicBoard(){
}}
publicvoidsetId(Longid){
this.id=id;}
publicStringgetBoardName(){
returnthis.boardName;}
publicvoidsetBoardName(StringboardName){
this.boardName=boardName;}
publicStringgetEboardName(){
returnthis.eboardName;}
publicvoidsetEboardName(StringeboardName){
//定义变量:私有,长整型
//定义变量:私有,字符串型//定义变量:私有,字符串型//定义变量:私有,字符串型//定义变量:私有,短整型//定义变量:私有,短整型
//构造函数—--使用该构造函数则对上述变量分配空间且对其初
publicLonggetId(){returnthis.id;
//获取版主ID值
//设置版主ID值
//获取版区名字
//设置当前对象的版区名字
//获取子版区名字
this.eboardName=eboardName;}
publicshortgetAttrib(){
returnthis.attrib;}
publicvoidsetAttrib(shortattrib){
this.attrib=attrib;}
publicshortgetOrders(){
returnthis.orders;}
publicvoidsetOrders(shortorders){
this.orders=orders;}
publicMapgetBoards(){
returnthis.boards;}
publicvoidsetBoards(Mapboards){
this.boards=boards;}
publicStringtoString(){
ToStringBuilder类的一个对象
.append("id",getId())
id0618
.toString();
}}
//设置子版区名字
//获取贡献值
//设置贡献值
//获取当前对象的版区序列号
//设置当前对象的版区序列号
//获取公告值
//设置公告值
//函数功能显示发布公告的版主id
//用当前对象创建
returnnewToStringBuilder(this)
//append功能:追加子串,即在‘id’
后追加字符串:版主的id号,比如若版主id为0618,则执行该函数后,生成结果为:
//再次调用该函数,显示另一个在bbs上面发布
过公告的版主id,循环至显示出所有版主id
4、主窗口程序逻辑设计
图5-4论坛主窗口程序流程图
在用户成功登录到用户操作界面后,如果该用户不具有管理权限则只能执行的操作有:更改个人信息,例如:身高体重、个人昵称、个人爱好、个人照片、个人密码等,还可以浏览帖子、发表帖子、回复帖子。如果该用户具有一定的管理权限,则他可以对社区进行管理,例如:更新社区公告、更新社区活动、管理用户列表。
5.2.3后台窗口设计
后台部分完成对整个机械爱好者论坛的设置,包括论坛基本信息的设置、对注册的一些设置、版区设置以及用户的查询。1、主窗口模块功能表为
表5-3后台模块功能描述表
处理描述对网站的一些基本信息进行设定,由管理员来进行操作
输出项论坛的基本信息、用户的基本信息、版区信息
输入项需要修改的论坛信息、需要修改的用户信息、版区设定
2、后台窗口界面
图5-5后台管理登录界面图
图5-6后台管理操作界面图
3、后台管理界面说明
后台管理员在登录窗口输入用户名密码之后便可以登录到管理平台对后台信息
进行管理。后台管理员的用户名和密码是设定好的:用户名为admin,密码为admin。成功登录之后,便进入了后台管理主界面,该界面的色调是以棕黄色为主调。后台管理主要用于设置一些最基本的前台信息。例如:后台管理员可以在这里设置论坛的基本信息、可以对用户注册时使用的用户名进行一些限制、可以为前台增设版区、可以查询指定的用户并对其进行修改删除、可以修改个人密码。当然,一个基本论坛的后台管理部分所实现的功能应该是强大的,大部分论坛的后台管理还应该实现对于回复帖子的一些限定、对于论坛每页帖子数量的设置、对用户级别进行设置、对用户进行封锁,所以从这里我也看到了自己程序的不足之处。
4、后台部分程序逻辑设计
图5-7后台部分程序流程图
管理员在登录页面输入用户名:admin密码:admin,如果输入不正确则需要重新输入,如果输入正确便进入了后台管理界面。在该界面,管理员可以执行一些操作对论坛的板块、用户的信息、论坛的基本信息以及密码进行修改。然后点击退出,就可以退出本网站。
第六章
6.1软件测试基础理论
6.1.1软件测试定义系统测试以及软件安装
软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例,并利用这些测试用例运行程序以及发现错误的过程,即执行测试步骤。
软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查,它是软件质量保证的关键步骤。
6.1.2软件测试基本概念
1、测试的含义
所谓测试,首先是一项活动,在这项活动中某个系统或组成的部分将在特定的条件下运行,结果将被观察和记录,并对系统或组成部分进行评价。测试活动有两种结果:找出缺陷和故障,或显示软件执行正确。测试是一个或多个测试用例的集合。
测试用例:所谓测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果;测试用例是执行测试的最小实体。
2、测试的步骤
测试步骤详细规定了如何设置、执行、评估特定的测试用例。
软件生命周期:一个软件生命周期包括制定计划、需求分析定义、软件设计、程序编码、软件测试、软件运行、软件维护、软件停用等8个阶段。
软件测试在软件生命周期中横跨两个阶段:
单元测试阶段:
即在每个模块编写出以后所做的必要测试
综合测试阶段:
即在完成单元测试后进行的测试,如集成测试、系统测试、验收测试。
6.2软件测试目的
测试是程序的执行过程,目的在于发现错误;不能证明程序的正确性,除非仅处理有限种情况。检查系统是否满足需求也是测试的期望目标。一个好的测试用例在于发现了还未曾发现的错误;一次成功的测试则是发现了错误的测试。
6.3软件测试方法分类
软件测试技术按照不同的划分方法,有不同的分类:静态测试、动态测试;黑盒测试、白盒测试;单元测试、集成测试、回归测试、系统测试、验证测试以及确认测试。
6.3.1静态测试与动态测试
按照软件测试分析与非分析方法而论,软件测试可以分静态测试和动态测试。
1、静态测试
指不实际运行软件,主要是对软件的编程格式、结构等方面进行评估。静态测试包括:代码检查、静态结构分析、代码质量度量等。它可以由人工进行,也可以借助软件工具自动进行。
2、动态测试
动态测试方法是指计算机必须真正运行被测试的程序,通过输入测试用例,对其运行情况即输入与输出的对应关系进行分析,以达到检测的目的。
动态测试包括:功能确认与接口测试,覆盖率分析,性能分析,内存分析。
6.3.2黑盒白盒与白盒测试
1、黑盒测试
按照软件测试用例的设计方法而论,软件测试可以分为白盒测试法和黑盒测试法。
若测试规划是基于产品的功能,目的是检查程序各个功能是否能够实现,并检查其中的功能错误,则这种测试方法称为黑盒测试(Black-boxTesting)方法。
黑盒测试又称为功能测试、数据驱动测试和基于规格说明的测试。它是一种从用户观点出发的测试,一般被用来确认软件功能的正确性和可操作性。
黑盒测试主要根据规格说明书设计测试用例,并不涉及程序内部构造和内部特性,只依靠被测程序输入和输出之间的关系或程序的功能设计测试用例。
2、黑盒测试的特点
黑盒测试与软件的具体实现过程无关,在软件实现的过程发生变化时,测试用例仍然可以使用。
黑盒测试用例的设计可以和软件实现同时进行,这样能够压缩总的开发时间。若测试规划基于产品的内部结构进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分使用,则这种测试方法称为白盒测试(White-boxTesting)方法。
3、白盒测试
白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试,一般用来分析程序的内部结构。
白盒测试要求是对某些程序的结构特性做到一定程度的覆盖,或者说这种测试是“基于覆盖率的测试”。通常的程序结构覆盖有:语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,路径覆盖。
6.3.3单元测试、集成测试、系统测试、验证测试和确认测试
按照软件测试的策略和过程来分类,软件测试可分为单元测试、集成测试、系统测试、验证测试和确认测试。
测试中的错误分类:
A类错误:致命错误——引起程序异常中断或死机的错误等。
B类错误:功能错误——业务功能实现错误、程序执行结果错误等。
C类错误:功能缺陷——功能操作不方便、缺少操作提示等。
D类错误:界面缺陷——界面设计不符合本系统的界面设计规范等。
E类错误:测试正确——正确的测试项、测试结果与预期的一致等。
6.4论坛测试
本系统各部分模块,采黑白盒测试。
6.4.1测试用例设计要求
一个好的测试用例,应该包含以下信息:
1、软件或项目的名称
2、软件或项目的版本(内部版本号)
3、功能模块名
4、测试用例的简单描述,即该用例执行的目的或方法
5、测试用例的参考信息(便于跟踪和参考)
6、本测试用例与其他测试用例间的依赖关系
7、本用例的前置条件,即执行本用例必须要满足的条件,如对数据库的访问权限
8、用例的编号(ID),如可以是:软件名称简写-功能块简写-NO.
9、步骤号、操作步骤描述、测试数据描述
10、预期结果(这是最重要的)和实际结果(如果有BUG管理工具,这条可以省略)
11、开发人员(必须有)和测试人员(可有可无)
12、测试执行日期
6.4.2登录系统模块测试用例表6-1
项目软
件
功能模
块
功能特
性
测试目
的
测试数
据
操作步
骤操作描述
输入用户名
1称,密码,按
“登录”。
输入用户名,
2密码,按“登
录”。
输入错误的
验证码。用户名为3333密码为123456进入系统进入系统正常用户名=3333密码555555“无此用户”系统提示正常数据期望结果用户名=3333密码=123456实际结果测试状态验证是否输入合法的信息,允许合法登录,阻止非法登录用户身份验证Login.jsp编制人谢明峻机械爱好者论坛程序版本V1.0登录测试用例显示警告信息3“验证码错误”显示警告信息“验证码错误!”正常
6.5测试报告
本系统经过测试,各部分的功能基本正常,达到了预期的目的。
通过对系统的全面测试,我学到了许多测试方面的知识,了解到测试方法、测试经验。通过本次设计,使我了解到测试的重要性。通过测试,可以使软件更适合用户的需求,更加稳定、可靠地运行,并能适应市场竞争,应用前景广泛。
6.6软件安装
由于本系统采用了JSP、SQLSERVER技术,因此需要的软件包括有JDK、TOMCAT、SQLSERVER。
6.6.1JDK的安装
首先,JDK的安装配置。双击文件,装完之后,设置环境变量。右击“我的电脑”选“属性”,选“高级",选“环境变量”,在这个窗口中选最下面的“新建",变量名:javapath,变量值:C:\ProgramFiles\Java\jdk1.5.0_05(这个是安装的默认路径),点击“确定”,创建环境变量。
6.6.2TOMCAT的安装
其次,TOMCAT5.0的安装配置。双击安装文件,安装完成之后需要把完成的程序复制到,C:\ProgramFiles\ApacheSoftwareFoundation\Tomcat5.0\webapps文件夹下。
6.6.3SQLSERVER的安装
最后,SQLSERVER2000的安装配置。双击安装文件进行安装,安装过程中,需要更改SQLSERVER系统管理员登录信息。安装完成之后,要在SQLSERVER的企业管理器中添加程序的数据库。到此所有所需的软件都已经安装完毕。
启动TOMCAT服务器以及SQLSERVER服务器,在启动服务器时确认没有报错的情况下,就可以进入本系统。
打开IE浏览器,在地址栏中输入以下网址:http://localhost:8080/jsp-example/便可以进入本系统。
结论
本次毕业设计到此已经顺利结束,通过这次的毕业设计,我学到了很多。在以前的5年时间内我学习了很多的课程及编程语言,虽然通过学习对这些课程有所了解和掌握,但是始终处于理论知识的掌握阶段,并没有真正应用于实践设计开发,所以对知识的掌握还不够全面和熟练。而且并不能真正独立的开发出一个完整的应用于实际的系统。通过这次的毕业设计,我已经可以完成这一任务,对自身的编程能力也有了很大的提高。这次开发的系统是一个动态网页,而不是简单的静态网页,因此采用了在开发动态网页方面比较先进的JSP作为开发语言。JSP是一种WEB编程脚本语言。当然在学习的过程中曾经碰到过一些让人头痛的问题,我都一一解决了,直到系统全部完成,也让我在解决问题方面的能力得到了提高。
整个开发的过程对我来说是一次能力的真正提高的过程;是一次将理论应用于实践的过程;是将以前所学知识充分利用的过程,比如管理信息系统,数据库概论等等;是一次真正的实践过程。
总体说来,在这次长达一个学期的毕业设计中,我真正学到了很多有用的东西,是一些在课堂内所学不到的知识,收获很大。
谢辞
这是一个特殊的时刻,是一个值得纪念的时刻。此时此刻,短暂的毕业设计就要画上句点,人生中的大学时光也即将画上句号。心中的感受复杂交错,有即将毕业的兴奋、有毕设完成的轻松感、也有对大学时光的恋恋不舍。
在此论文即将完成之时,首先我要特别感谢我的指导老师李文老师!谢谢老师给予我悉心的关怀与指导。记得第一次见到老师时,立刻体会到了一种亲近的感觉。老师认真负责的工作态度、严谨的治学风格、亲切平易近人的性格,使我深受启发,内心许多次都在感激我能在大学最后的时光遇到了李文老师。正是在老师的督促和耐心的指导下,才让我将毕设各方面的工作完成得最好。
其次,也感谢院系各级领导对我的关心,为我提供了舒适的工作、学习环境。最后,感谢同学们在开发的期间,给我的无私的帮助。曾经遇到过很多疑难,正是与同学们的相互探讨使我获益匪浅,才能让我继续前进的脚步。短短几个月时间内,除了学会了基本数据库应用系统地开发外,更重要的是学到了兢兢业业,奋发向上的精神!这种精神将是我今后人生前进道路上的一种力量,所以我再次衷心地感谢老师和我的同学们,谢谢你们了!
参考文献
[1]
[2]
[3]
[4]
[5]
[6]孙卫琴,李洪成编著.Tomcat与JavaWeb开发技术详解[M].电子工业出版社,2004飞思科技产品研发中心编著.JSP应用开发详解[M].北京:电子工业出版社,2004张海藩编著.软件工程导论[M].北京:清华大学出版社,2003萨师煊,王珊著.数据库系统概论[M].北京:高等教育出版社,2003余晨,李文炬编著.SQLServer2000培训教程[M].北京:清华大学出版社,2002宣小平,但正刚,张文毅编著.JSP数据库系统开发实力导航[M].北京:人民邮电出版
社,2003
[7]MartinBond,DanHaywood,DebbieLaw,AndyLongshaw,PeterRoxburgh著.周辉,付煜,赵本
宇,周水生译.21天学通J2EE.第二版[M].北京:人民邮电出版社,2005
[8]
[9]
[10]耿祥义,张跃平编著.JSP实用教程[M].北京:清华大学出版社,2003袁扬,王彦峰编著.边学边用DreamweaverMX2004[M].北京:清华大学出版社,2004周苏,王文编著.软件工程学教程[M].北京.科学出版社,2002