局域网打字比赛系统Word格式文档下载.docx
- 文档编号:18895495
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:21
- 大小:112.69KB
局域网打字比赛系统Word格式文档下载.docx
《局域网打字比赛系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《局域网打字比赛系统Word格式文档下载.docx(21页珍藏版)》请在冰豆网上搜索。
2.1可行性分析4
2.1.1技术可行性ﻩ4
2.1.2 经济可行性ﻩ5
2。
1.3操作可行性5
2.1.4 法律可行性ﻩ5
3概要设计ﻩ6
4详细设计与系统实现ﻩ7
4.1命名规则ﻩ7
4。
1.1基本数据类型ﻩ7
1.2常量命名ﻩ7
4.2模块设计7
4.2。
1客户机注册与注销模块ﻩ7
2.2服务器监听模块8
4.3模块功能实现部分代码ﻩ9
4部分功能截图12
5ﻩ测试计划14
5.1软件测试基础理论ﻩ14
5。
1。
1软件测试定义14
5.1。
2软件测试基本概念15
5。
2软件测试目的15
5.3软件测试方法分类ﻩ15
5.3.2 黑盒白盒与白盒测试ﻩ16
4局域网打字比赛系统测试ﻩ17
1测试用例设计要求ﻩ17
5.4。
2系统模块测试用例ﻩ17
5.5测试报告18
6技术经济分析18
结束语ﻩ20
参考文献ﻩ20
致谢21
1引言
计算机科学技术的发展不仅极大的促进了整个科学技术的发展,而且明显的加快了经济信息化和社会信息化的进程。
因此计算机教育在各国备受重视,计算机知识与能力已成为21实际人才素质的基本要素之一.我国也非常重视计算机的教育,国家已经开始在大中专学校及中小学普及计算机,计算机操作技能及操作水平的提高尤为重要。
而打字速度是衡量一个人计算机水平的一个重要方面。
现在各大中专学校对在校大学生的打字速度进行考核,使他们能够满足社会的需要。
开发一款局域网打字比赛系统,不仅能使枯燥无味的单机打字练习变得有趣,也能让老师对学生的打字速度有一个综合性的了解,对每个人的速度,大家的排名也有一个直观的了解,在此环境下,开发一个局域网打字比赛系统,是有很大意义的。
2需求分析
2.1可行性分析
可行性研究是在项目开发前期对项目的一种考察和鉴定,对拟议中的项目进行全面的、综合的调查研究,其目的是要判断项目可行与否。
信息系统技术可行性研究要从系统开发的计划出发,论述系统开发力量的可行性,同时论证系统方案中所采取的各种技术手段上是否可以实现。
信息系统经济可行性研究主要是对项目进行经济评价,分析系统建设投资的可能性以及评价系统运行之后给组织带来的效益.信息系统营运可行性研究要给出的方案是否可以从人力、物力、组织工作等方面保证项目按计划完成实施,还要说明项目开发后在经济、技术和环境等方面能否保证系统正常运行.
由于系统建设是一项投资大、涉及面广、工程复杂的系统工程,因此必须充分的进行可行性论证,以确保投资的准确无误,而且信息系统建设是一项整体工程,必须站在系统的角度论证它的可行性才有说服力,才有意义。
可行性研究的目的是用最小的代价,在尽可能短时间内确定问题是否能够解决,它的目的不是解决问题,而是确定问题是否值得去解决,可行性从以下四个方面来考虑。
2。
1。
1 技术可行性
该课题--—局域网打字比赛系统,它采用了C/S结构和网络通信技术。
C/S结构是常用的结构模式,同时,使用多线程可以实现多用户同时使用,由Socket通信技术实现了网络通信.所以,从技术上来说,开发这个系统的技术难题是不多的.
C/S(Client/Server,客户机/服务器)模式又称C/S结构,是20世纪80年代末逐步成长起来的一种模式,是软件系统体系结构的一种.C/S结构的关键在于功能的分布,一些功能放在前端机(即客户机)上执行,另一些功能放在后端机(即服务器)上执行。
功能的分布在于减少计算机系统的各种瓶颈问题.C/S模式简单地讲就是基于企业内部网络的应用系统.与B/S(Browser/Server,浏览器/服务器)模式相比,C/S模式的应用系统最大的好处是不依赖企业外网环境,即无论企业是否能够上网,都不影响应用。
Socket意为套接字。
在使用Internet底层协议TCP/IP的程序中是一个很重要的概念。
就像使用电源插座可以连上电器一样,我们可以通过Socket,在自己的计算机和别人的计算机之间建立连接,以进行通信。
要通过Internet传输数据,至少需要一对Socket.一个Socket在客户端,另一个Socket在服务器端。
通过Socket启动通信时,服务器首先会启动,但它只是在等待来自客户机的请求。
客户机程序向服务器提出请求进行连接。
当客户机发出请求时,服务器允许连接,启动一个特殊的Socket,它与客户机端Socket相连。
客户机端和服务器端的Socket接通后,他们之间就可以相互通信。
试用Socket建立连接是建立在TCP/IP协议基础上,同时它在支持其他相关的协议。
在一个程序中,这些独立运行的程序片断叫作“线程"
(Thread),利用它编程的概念就叫作“多线程处理”。
多线程处理一个常见的例子就是用户界面。
利用线程,用户可按下一个按钮,然后程序会立即作出响应,而不是让用户等待程序完成了当前任务以后才开始响应.
1.2经济可行性
从我搜集的一些资料来看,局域网打字比赛系统对计算机硬件没有特殊要求,程序实现功能比较简单,模块也比较简洁。
而我们是自行开发的系统,成本可以忽略不计,还有后期维护的成本就可以忽略不计。
1.3操作可行性
参照其它的系统,该系统在技术上完全可以实现与用户之间的良好交互作用,并且作为开发者,我也尽可能地减少让用户难以操作或是难以理解的交互方式。
1.4 法律可行性
本系统开发不会侵犯他人、集体或国家利益,不存在侵权等问题,不违反国家法律,因此具有法律可行性。
综上所述,从技术上、经济上、法律上、可操作性上都是可行的,而且要求不高,所以该系统的开发是可行的。
3概要设计
经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎样做”的时候。
总体设计的基本目的就是回答“从总体上说,系统应该如何实现?
”这个问题,因此,总体设计又称为概要设计或初步设计.通过这个阶段的工作将划分出组成系统的物理元素--—-—-程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后进行详细的设计。
总体设计阶段的另一项重要任务是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系.
图3.1系统流程图
4详细设计与系统实现
总体设计阶段以比较抽象概括的方式提出了解决问题的办法.详细设计是软件开发时期的第三个阶段,也是软件设计的第二步。
其任务就是把解法具体化,也就是回答下面这个关键的问题:
“应该怎样具体地实现这个系统呢”,通过详细设计应该得出对目标系统的精确描述,给出各个模块的详细过程性描述。
从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。
详细设计阶段的任务是在总体设计的基础上进一步确定如何实现目标系统.
4.1 命名规则
1名字不能用保留字和关键字,但如果保留字或关键字中有字母大写就不算保留字或关键字了。
2开头字符能用字母、$或者_。
3名字中不能用+、-
空格等字符。
4部分易混的保留字关键字和非保留字关键字:
null,native,goto,const,instanceof,default是关键字保留字
then, sizeof, main,Boolean,unsigned,java, Integer不是关键字保留字
4.1。
1 基本数据类型
int长度数据类型有:
byte(8bits)、short(16bits)、int(32bits)、long(64bits)float长度数据类型有:
单精度(32bitsfloat)、双精度(64bitsdouble)
boolean类型变量的取值有:
ture、false
char数据类型有:
unicode字符,16位
对应的类类型:
Integer、Float、Boolean、Character、Double、Short、Byte、Long
4。
1.2 常量命名
常量的名字应该都使用大写字母,并且指出该常量完整含义。
如果一个常量名称由多个单词组成,则应该用下划线来分割这些单词。
例如:
MAX_VALUE
2 模块设计
2.1客户及注册与注销模块
在这个模块中客户机端需要输入IP地址与昵称,点击与服务器连接。
再与服务器建立连接后,客户端从服务器端获取到在线用户列表,显示在客户端,在用户使用完毕后,要和服务器断开连接。
本系统采用C#开发,采用C/S模式,系统分为服务器和客户端两大块,使用Socket类建立套接字连接实现客户端和服务器的通讯。
系统主体处理流程图如图1:
图4.1系统主题流程图
主要实现客户机的注册与注销,功能模块图如图3:
图4.2客户机注册及注销功能模块图
在这个模块中客户机要与服务器建立连接,并从服务器端获取到在线用户列表,显示在客户端,在用户使用完毕后,要和服务器断开连接。
2服务器监听模块
需要实现以下一些基本功能:
1.消息发送:
用户把输入完成的文字发送给服务器
2.消息接收:
用户可以接收服务器发过来的文字信息
3.服务器端可以将用户的打字成绩公布,让每个人看到
本系统分为服务器和客户端两大模块,用Socket类建立套接字连接实现客户端和服务器两端的连通.
总体处理流程如图:
ﻩﻩ图4.3系统总体流程图
图4.4系统总体模块结构图
3 模块功能实现部分代码
服务器端包括:
程序监听功能,管理员踢人功能,发送文字功能,退出功能统计人数功能等。
其中程序监听功能主要代码如下:
privatevoidstars_Click(objectsender, EventArgse)
{
try
{
myip=IPAddress。
Parse(servername.Text);
}
catch (Exception s)
{
MessageBox。
Show(s。
Message);
}
try
{
myserver=newIPEndPoint(myip, ﻩﻩ
Int32.Parse(serverport.Text));
mysocket=newSocket(AddressFamily.InterNetwork,
SocketType.Stream,ProtocolType。
Tcp);
mysocket.Bind(myserver);
mysocket.Listen(1000);
serverview。
AppendText(”服务器ip:
"
+servername。
Text+
"\r\n端口:
+serverport。
Text+"
\r\n开始监听.....。
);
Threads=newThread(new ThreadStart(target));
s.Start();
stars。
Enabled=false;
}
catch(Exceptionp)
{
MessageBox。
Show(p。
Message);
}
}
管理员踢人功能代码如下:
privatevoiduserview_MouseDoubleClick(objectsender,
MouseEventArgse)
{
stringq=userview。
Text;
userview.Items。
Remove(q);
foreach (DictionaryEntry win soclist)
{
if((string)w。
Value == q)
{
Socketp= (Socket)w.Key;
p.Close();
break;
}
}
}
发送文字功能代码如下:
privatevoidsends_Click(objectsender,EventArgse)/
{
try
{
if(mput.Text== "”)
{MessageBox。
Show("内容不能为空!
”);
}
else
{
String Q= this.nickname.Text+”:
\r\n”+mput.Text
+"\r\n”;
Byte[]s =Encoding.Unicode。
GetBytes(Q);
sendmess(s);
mview。
AppendText(Q);
mput.Clear();
}
}
catch(Exceptions)
{MessageBox.Show(s。
Message);
}
}
客户端包括:
连接服务器功能,断开服务器功能等。
其中连接服务器功能代码如下:
privatevoidstart_Click(objectsender,EventArgs e)
Threadconnthread=newThread(newThreadStart(conns));
connthread.Start();
}
断开服务器功能代码如下:
privatevoid stop_Click(objectsender,EventArgse)
{
try
conn.Close();
message.AppendText(”连接已断开"
serverport。
ReadOnly=false;
;
address.ReadOnly=false;
nickname.ReadOnly=false;
send。
Enabled=false;
start.Enabled=true;
userlist.Items。
Clear();
stop.Enabled=false;
}
catch (Exception)
{
MessageBox.Show("
尚未连接”);
}
4部分功能截图
图4.5服务端状态栏
图4.6客户端登陆栏
图4.7服务端开始监听
图4.8服务端发送信息
图4.9服务端整体界面
图4.10客户端整体界面
5测试计划
5.1软件测试基础理论
5.1。
1软件测试定义
软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例,并利用这些测试用例运行程序以及发现错误的过程,即执行测试步骤。
软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查,它是软件质量保证的关键步骤。
5.1.2 软件测试基本概念
1、测试的含义
所谓测试,首先是一项活动,在这项活动中某个系统或组成的部分将在特定的条件下运行,结果将被观察和记录,并对系统或组成部分进行评价。
测试活动有两种结果:
找出缺陷和故障,或显示软件执行正确。
测试是一个或多个测试用例的集合。
测试用例:
所谓测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果;
测试用例是执行测试的最小实体。
2、测试的步骤
测试步骤详细规定了如何设置、执行、评估特定的测试用例。
软件生命周期:
一个软件生命周期包括制定计划、需求分析定义、软件设计、程序编码、软件测试、软件运行、软件维护、软件停用等8个阶段。
软件测试在软件生命周期中横跨两个阶段:
单元测试阶段:
即在每个模块编写出以后所做的必要测试
综合测试阶段:
即在完成单元测试后进行的测试,如集成测试、系统测试、验收测试。
5.2 软件测试目的
测试是程序的执行过程,目的在于发现错误;
不能证明程序的正确性,除非仅处理有限种情况.检查系统是否满足需求也是测试的期望目标。
一个好的测试用例在于发现了还未曾发现的错误;
一次成功的测试则是发现了错误的测试。
3 软件测试方法
软件测试技术按照不同的划分方法,有不同的分类:
静态测试、动态测试;
黑盒测试、白盒测试;
单元测试、集成测试、回归测试、系统测试、验证测试以及确认测试。
3。
1静态测试与动态测试
按照软件测试分析与非分析方法而论,软件测试可以分静态测试和动态测试。
1、静态测试
指不实际运行软件,主要是对软件的编程格式、结构等方面进行评估。
静态测试包括:
代码检查 、静态结构分析、代码质量度量等。
它可以由人工进行,也可以借助软件工具自动进行。
2、动态测试
动态测试方法是指计算机必须真正运行被测试的程序,通过输入测试用例,对其运行情况即输入与输出的对应关系进行分析,以达到检测的目的.
动态测试包括:
功能确认与接口测试,覆盖率分析,性能分析,内存分析。
5.3.2黑盒白盒与白盒测试
1、黑盒测试
按照软件测试用例的设计方法而论,软件测试可以分为白盒测试法和黑盒测试法。
若测试规划是基于产品的功能,目的是检查程序各个功能是否能够实现,并检查其中的功能错误,则这种测试方法称为黑盒测试(Black—boxTesting)方法。
黑盒测试又称为功能测试、数据驱动测试和基于规格说明的测试。
它是一种从用户观点出发的测试,一般被用来确认软件功能的正确性和可操作性。
黑盒测试主要根据规格说明书设计测试用例,并不涉及程序内部构造和内部特性,只依靠被测程序输入和输出之间的关系或程序的功能设计测试用例.
2、黑盒测试的特点
黑盒测试与软件的具体实现过程无关,在软件实现的过程发生变化时,测试用例仍然可以使用.
黑盒测试用例的设计可以和软件实现同时进行,这样能够压缩总的开发时间。
若测试规划基于产品的内部结构进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分使用,则这种测试方法称为白盒测试(White-boxTesting)方法。
3、白盒测试
白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试,一般用来分析程序的内部结构。
白盒测试要求是对某些程序的结构特性做到一定程度的覆盖,或者说这种测试是“基于覆盖率的测试”。
通常的程序结构覆盖有:
语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,路径覆盖。
3单元测试、集成测试、系统测试、验证测试和确认测试
按照软件测试的策略和过程来分类,软件测试可分为单元测试、集成测试、系统测试、验证测试和确认测试。
测试中的错误分类:
A类错误:
致命错误--引起程序异常中断或死机的错误等。
B类错误:
功能错误——业务功能实现错误、程序执行结果错误等。
C类错误:
功能缺陷——功能操作不方便、缺少操作提示等。
D类错误:
界面缺陷--界面设计不符合本系统的界面设计规范等。
E类错误:
测试正确——正确的测试项、测试结果与预期的一致等。
5.4局域网打字比赛系统测试
本系统各部分模块,采黑白盒测试。
5.4.1测试用例设计要求
一个好的测试用例,应该包含以下信息:
1、软件或项目的名称
2、软件或项目的版本(内部版本号)
3、功能模块名
4、测试用例的简单描述,即该用例执行的目的或方法
5、测试用例的参考信息(便于跟踪和参考)
6、本测试用例与其他测试用例间的依赖关系
7、本用例的前置条件,即执行本用例必须要满足的条件,如对数据库的访问权限
8、用例的编号(ID),如可以是:
软件名称简写-功能块简写-NO.
9、步骤号
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 局域网 打字 比赛 系统