基于Linux的聊天软件可行性研究报告.doc_第1页
基于Linux的聊天软件可行性研究报告.doc_第2页
基于Linux的聊天软件可行性研究报告.doc_第3页
基于Linux的聊天软件可行性研究报告.doc_第4页
基于Linux的聊天软件可行性研究报告.doc_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软 件 系 统 设 计 报 告 Linux聊天软件中国矿业大学计算机科学与技术学院附表3:题 目Linux聊天软件设计日期 2010 年 9月 15日至 2010年12月30 日小组成员在本次设计中承担的任务文档成绩韩超 概要设计、测试 优秀黄颢可行性研究、详细设计、编码、测试优秀金杰可行性研究、需求分析、测试优秀李波文详细设计、需求分析、测试优秀黄颢 组长指导教师签字: 年 月 日Linux聊天软件可行性研究报告目录1项目背景52任务概述52.1项目目标52.2项目范围52.3初步想法63对现有系统的分析63.1处理流程和数据流程63.2局限性64所建议的系统64.1对所建议系统的说明64.2处理流程和数据流程74.3改进之处74.4可行性分析74.4.1 经济可行性74.4.2技术可行性74.4.3 运行可行性74.4.4 法律可行性85结论81项目背景随着科技的发展,尤其是电子科技,网络技术等的快速发展,其中Internet 的广泛应用最引人注目,当今,基于网络通讯技术的各种应用软件已经鳞次栉比,非常多了, 如QICQ,UC等, 在这次软件设计中,我们选择了较为熟悉和普遍的即时通讯软件来开发。 鉴于传统的windows ,unix 操作系统不开源,不能让我们在开发过程中学到关于开发环境的相关知识,并且在其上应用前景也不是很明朗,所以我们选择开源的LINUX操作系统并且搭建其下的开发环境来开发我们的软件,在学习软件设计的同时,也能学习到LINUX操作系统的知识和熟悉相关开发环境的使用。学习 Linux软件开发与编程应用,并且把软件工程的理念蕴于其中,而更达到锻炼学习实践的目的。2任务概述2.1项目目标 设计一个可以运行在Linux平台下C/S架构的即时聊天系统,实现聊天的各种基本功能。2.2项目范围A. 功能:能够正确注册,登录,退出; 能够查询、添加、删除好友; 能够查看好友资料信息和状态信息; 能够实现个人资料信息维护、修改、更新个人状态信息; 能能在显示好友列表时显示好友状态; 能够实现正常地发送接收消息 能够查看聊天记录.B. 性能: 准确即时发送数据到指定用户; 能承载一定用户数量压力的服务器; C输出: 注册信息,存储到数据库中; 个人信息表,存到相应的个人用户下; 个人状态表,存储个人ID、是否在线等; 好友列表,查看好友的信息、状态、ID等;D输入: 输入ID登录,查找ID、添加好友ID; 修改个人信息、个人状态; 发送聊天信息,查看聊天记录;EF 安全方面:IP与ID一一对应,ID与密码匹配登录G 支持系统:LINUX;H 2010年12月30日。2.3初步想法初次开发软件,难度比较大,压力也很大,没什么想法,尽量吧。基本分为几大模块:C/S模型设计,使用Socket网络通信编程完成其模型的实现; 数据库模块设计,使用mysql C API编程实现; 图形模块设计,GTK+编程实现; 开发平台,Linux系统中各种常用开发工具,Eclipse、myspl、CDT、gcc 3对现有系统的分析现有系统基于Linux下,采用C/S模型结构,数据库来存储数据,Socket即时通信,以实现聊天软件的基本功能。不过该系统图形化不简单,因为没有成熟的技术。而系统所缺乏的注销、下载客户端、找回密码等功能,需要B/S模块来实现。3.1处理流程和数据流程 系统流程图表达系统各部件之间的有信息流动。3.2局限性本系统的主要的局限性:处理时间赶不上需要,响应不及时,不能完全实现即时通信,具有延迟性。数据存储能力不足,数据库容量不大,更新不够及时。并且我要说明,基于硬件限制、网络通信限制等各方面的因素,对现有系统的改进性维护已经不能完全解决问题。4所建议的系统本章将用来说明所建议系统的目标和要求将如何被满足。4.1对所建议系统的说明现有系统基于Linux下,采用C/S模型结构,数据库来存储数据,Socket即时通信,以实现聊天软件的基本功能。C/S模型设计:使用Socket网络通信编程完成其模型的实现; 数据库模块设计,使用mysql C API编程实现; 图形模块设计,GTK+编程实现; 开发平台,Linux系统中各种常用开发工具,Eclipse、myspl、CDT、gcc。服务器充当中转站,交换用户信息,接收客户端信息,转发到另一客户端,实现对客户端登录用户的控制;数据库存储用户基本信息、资料,即时更新客户端聊天信息,监控与保存聊天记录;客户端实现与服务器的链接,发送聊天内容,接收服务器的响应。 4.2处理流程和数据流程所建议系统的与原系统基本一样的处理流程和数据流程,不加以叙述。4.3改进之处很好很强大,不过当多个用户同时申请响应时,如何处理应当考虑。4.4可行性分析(说明在建立所建议系统时,预期将带来的影响,包括:)4.4.1 经济可行性所建议系统的开发预计,市场需求无关,不能盈利,成本无价,重在积累经验,掌握技术,实践学习。A. 费用估计:软件开发价格=12人月1.51(B*1.476+B/3+B/3)*1*1.2=925.632平均工资B取20B. 效益估计:本系统方便人们的交流联系,给Linux广大人民带来了新的快乐,支持他们一如既往地走下去,为Linux的发展作出了贡献。开源系统,效益甚微,忽略不计。(设计和维持运行而需要的各项经费开支,及对软件投入使用后,对用户经济上的影响。)4.4.2技术可行性本节应说明技术条件方面的可行性,如:a 小队成员人手一套Linux系统,一台笔记本,网线路由等,硬件资源齐全;b Ubuntu10有大量开源软件支持,利用已有的C+、数据库基础知识,善于学习、搜索有用源代码,理论上是可行的;c 不过由于此次开发时初次,且经济效益不大,可能造成小队成员积极性不够,导致不能高质量、提前圆满完成任务,那也是有可能;d 技术上可能遇到很多难题,如同时处理信息响应、通信协议的理解,C/S模型的建立等,但是只要我们一起努力,不断吸收学习,相信这些都不是问题。4.4.3 运行可行性使用该软件要求:Linux系统,支持10人以下客户端;能简单操作使用Linux下的基本软件,最好使用过QQ等聊天软件;(说明为了建立和运行所建议系统,对用户单位机构、人员的数量和技术水平等方面的全部要求。从用户单位的行政管理、工作制度等方面来看,是否能够使用该软件系统;从用户单位的工作人员的素质来看,是否能满足使用该软件系统的要求等等,都是要考虑的。)4.4.4 法律可行性该软件基于Linux下开发,使用gcc、eclipse、mysql等开源工具,遵循软件开发公共准则,项目中如有使用其他开源代码部分会加以标示。相信应该不会违反相应的法规。(法律方面的可行性问题很多,如合同责任、侵犯专利权、侵犯版权等方面的陷阱,软件人员通常是不熟悉的,有可能陷入,务必要注意研究。)5结论借着软件工程老师指导、督促的契机,融汇所学C+、数据库知识,打开硬件设备,进入神奇的开源世界,打造属于我们自己的软件!Linux聊天软件软件需求说明书 作者:李波文、金杰日期:10.9.28-10.10.15 目录1需求分析概述122数据流图122.1 顶层数据流图122.2 分层数据流图122.2.1 一层数据流图122.2.2 二层数据流图123 数据字典123.1 数据元素123.2 数据流133.3 数据存储134 加工逻辑描述131需求分析概述随着人们的生活的日趋网络化,网民不断的增加,越来越多的人加入到网聊的队伍中.聊天软件有很大的应用前景.现在有很多聊天软件,比如qq就是一个占有市场份额很大的,也是最流行的软件.这次我们开发的软件就是一个具有简单的即时聊天应用系统,主要包括一些简单实用的功能,比如聊天,寻找好友.为了实现预期的功能,我们主要把把软件分为客户端和服务器端,让二者分别实现相应的功能然后在有机的组合在一起完成整个系统的功能.客户端:注册功能:新用户的注册申请登陆功能:输入正确的帐号与密码,发送登陆请求到服务器端,经服务器端的验证成功登陆或返回错误信息.显示功能:用不同的标示显示在线的好友和不在线好友,并显示相关功能的按键框方便用户的操作.聊天:用户可以选择文字或语音聊天.还可以给好友发送图片,文档资料.聊天记录的管理功能:用户可以选择上传或者查看聊天记录.好友管理功能:可以根据帐号查找好友,添加好友,删除好友.服务器端:注册信息处理功能:系统受理用户请求信息随机返回给用户一个帐号,并把受理的信息送到用户信息数据库中存储.登陆信息处理功能:对用户的帐号与密码信息进行验证,如果正确就返回正确信息,否则返回登陆失败信息,并提示用户重新输入登陆信息.系统返回信息处理功能:对系统返回的信息进行处理,并给用户相关提示.用户请求信息处理功能:对用户发出查找好友,添加好友,删除好友,聊天,上传聊天记录以及查看聊天记录的信息进行处理,向系统发出相关信息,并向用户返回相关信息.2数据流图 2.1 顶层数据流图 2.2 分层数据流图2.2.1 一层数据流图2.2.2 二层数据流图客户端服务器端3 数据字典3.1 数据元素名称别名取值类型长度描述位置帐号IDInt6到8位惟一标识用户,Key,不可空用户信息表,详细信息表,保护信息表,好友列表,聊天记录表密码PswChar6-16用户身份鉴定,不可空用户信息表登录状态UserStatusInt1用于记录当前用户的登录状态,不可空用户信息表,用户状态表年龄AgeSmallint0-99记录用户年龄详细信息表地区AreaChar20记录用户地区,可空详细信息表性别SexChar2用户性别,可空详细信息表说明DetailChar255用户说明详细信息表问题详细QstDetailChar20具体的密码保护问题保护问题表好友帐号FriendIDInt6-8好友的id好友列表,聊天记录表好友分组FriendGroupInt1好友分组编号好友列表,好友分组详细列表备注Notechar10用于备注好友姓名,可空好友列表时间ChatTimeTime聊天时间聊天记录表日期ChatDateDate聊天日期聊天记录表内容ChatDetailChar255聊天内容聊天记录表3.2 数据流注册信息名称注册信息描述用户注册时填写的资料信息来源申请用户去处服务器存储器中的用户信息表组成密码和个人资料登录信息名称登录信息描述用户登录时输入的帐号以及相应的密码来源用户去处服务器存储器中的用户信息表组成帐号和密码聊天信息名称聊天信息描述用户聊天时上传的聊天信息来源用户去处服务器存储器的聊天记录表组成用户帐号和聊天记录以及上传时间3.3 数据存储用户信息表名称用户信息表输入数据流用户相关的信息输出数据流用户信息描述用户的账号信息表组成帐号+密码+状态组织方式按帐号申请时间排列 用户详细信息表名称用户详细表输入数据流用户的详细信息输出数据流用户信息描述用户的详细信息组成帐号+年龄+性别+地区组织方式按帐号申请时间排列好友列表名称好友列表输入数据流用户帐号及其好友信息输出数据流好友相关信息描述构成用户的个人好友表组成我的帐号+好友帐号+分组+状态 聊天记录表名称聊天记录表输入数据流用户上传的聊天记录输出数据流聊天记录描述记录用户的聊天记录,便于以后查看信息组成帐号+好友帐号+聊天内容组织方式按帐号申请时间排列4 加工逻辑描述登录服务名称登录服务编号1.2输入用户操作输出服务器用户信息表功能描述用户身份验证加工处理将用户输入内容与服务器用户表进行对比,若用户帐号和密码相符则转入登录界面,不符则返回。注册服务名称注册服务编号1.1输入用户操作输出服务器用户信息表功能描述用于注册新账号加工处理检查服务器用户表,随机产生一个新的账号添加好友名称添加好友编号3.52输入用户要求的条件输出符合条件的账号表功能描述筛选出符合用户要求的账号列表加工处理用户输入条件,通过查询语句筛选出符合条件的账号列表注册服务名称注册服务编号1.1输入用户操作输出服条件的账号表功能描述筛选出符合用户要求的账号列表加工处理用户输入条件,通过查询语句筛选出符合条件的账号列表发送聊天信息模块名称消息发送模块编号3.3输入客户端输出显示功能描述发送信息到接收的好友加工处理用户发送信息存储到聊天记录表中,通过发送机制发送给对方题目概要设计说明书作者:韩超时间:10.10.18-10.10.281软件结构设计1.1 软件结构 软件结构主要分为三大模块:用户登录管理; 用户信息管理; 用户聊天管理。 各子程序模块有:注册,登陆,退出; 根据ID(包含在用户资料中)查找,添加,删除好友 ; 维护,修改个人资料信息; 更新个人状态信息; 查看好友状态信息; 查看好友资料信息; 通过服务器发送聊天信息; 查看聊天记录。1.2功能需求与模块的关系本条用一张如下的矩阵图说明各项功能需求的实现同主要模块的分配关系:(声明,由于表格地问题,本来包含在“用户聊天管理”的子模块“好友管理”放在了“用户聊天管理”单元格下,请老师谅解。)模块1模块2模块3登陆管理注册登陆退出用户信息管理维护个人资料信息修改个人资料信息更新个人状态信息用户聊天管理查看好友状态信息查看好友资料信息通过服务器发送聊天信息查看聊天记录好友管理查找添加删除1.3人工处理过程: (1)开始使用时,人工的 在注册,登陆,和退出之间选择操作。 (2)人工输入 想要修改或更新的信息资料,状态信息; (3)人工进行 根据ID进行查找,添加,删除好友的操作。 (4)人工进行 查看好友状态信息,资料信息,通过服务器发送消息,查看聊天记录的操作。1.4 软件结构图: HIPO图如下:3数据库结构设计3.1 顶层ER数据库包含在服务器中。 客户端服务器交互管理N13.2第二层ER图客户端1客户端2服务器信息交互信息管理信息管理MNMN11题目详细设计说明书 作者:李波文、黄颢 时间:10.11.01-10.11.151引言21.1编写目的21.2背景22程序1(标识符)设计说明22.1程序描述32.2功能32.3性能32.4输人项32.5输出项32.6算法32.7流程逻辑31引言1.1编写目的说明编写这份详细设计说明书的目的,指出预期的读者。就是将设计拿给不同的人去写编码,写出来的程序处理流程相同.后续的评审或者是有人接替你的工作,只要查看详细设计,就能清楚你当时是怎样设计这些流程的。1.2项目背景说明:a 基于Linux聊天系统;b 本项目的任务由Linux聊天开发小组就开发、面向广大Linux用户和运行该程序系统的ubuntu-10.04及以上。2程序描述2.1逐个模块给出以下说明客户端:注册功能:新用户的注册申请登陆功能:输入正确的帐号与密码,发送登陆请求到服务器端,经服务器端的验证成功登陆或返回错误信息.显示功能:用不同的标示显示在线的好友和不在线好友,并显示相关功能的按键框方便用户的操作.聊天:用户可以选择文字或语音聊天.还可以给好友发送图片,文档资料.聊天记录的管理功能:用户可以选择上传或者查看聊天记录.好友管理功能:可以根据帐号查找好友,添加好友,删除好友.服务器端:注册信息处理功能:系统受理用户请求信息随机返回给用户一个帐号,并把受理的信息送到用户信息数据库中存储.登陆信息处理功能:对用户的帐号与密码信息进行验证,如果正确就返回正确信息,否则返回登陆失败信息,并提示用户重新输入登陆信息.系统返回信息处理功能:对系统返回的信息进行处理,并给用户相关提示.用户请求信息处理功能:对用户发出查找好友,添加好友,删除好友,聊天,上传聊天记录以及查看聊天记录的信息进行处理,向系统发出相关信息,并向用户返回相关信息. 2.2算法详细算法描述见下面2.3程序逻辑详细描述模块实现的算法,可采用N-S图1客户端:判断接受参数地址解析函数创建socket调用connect函数登录部分获取收发服务端口号发送消息给服务器文件传送部分 Put nameN sendbyte=send() YExit(1)Len=登陆消息N 是否已登录 Y 登陆 exit文件传送部分:Y 消息是否私消息且正文为sendfile N 传送地址及文件名Exit(1)打开读取文件While len0 传文件 读文件 传送完毕发送sendover2服务端:(1) 线程函数:循环收发消息YEnd线程NN Quit服务端 Y结束进程打印接受消息关闭服务器 mes.messagetype=PUBLICMESSAGE=PRIVATEMESSAGE判断在线人员把私人消息发给指定客户端发消息给在线人员文件接收文件接收部分: Y Mes.messagetext=sendfile& mes.messagetype=PRIVATEMESSAGEN While(1) 接收文件 发送文件Exit(1) YsendoverNbreak(2) 主函数:判断函数初始化在线人员绑定函数blind调用listen函数While(1) 客户端连接登录登录部分:接收名字Y Y 名字是否已经被在线人员使用 Nnameexist=1nameexist=0发送nameexist给客户端发送loadsuccess给客户端Exit(0)增加用户,使用户处于在线状态增加新用户到空位中给每个在线用户发送有新用户登录的消息增加一个线程来为新登录的客户端服务3显示端:display主函数 获取消息队列号 running = 1 while(running) 打开队列 接收消息 Y msg=end N running = 0 文件接收文件接收:Y Msg= sendfile N输出要把接收文件保存的位置和文件名exit创建文件while(1) 打开消息队列 接收消息队列中的消息 Y sendoverN break写消息提示还在接收文件题目编码与截图作者:黄颢 时间:10.11.18-10.11.27 Trac截图:SVN截图:QT界面设计: 题目测试报告作者:全小组日期:2010.12.29 目录1导言31.1目的31.2范围31.3参考资料32. 测试时间、地点和人员53 测试环境描述54测试工具的配置和使用.55测试执行情况6 5.1功能测试执行情况6 511测试概要7 5.12测试结果及发现86 测试结果分析107 测试评估13测试任务评估13 1导言1.1目的该文档的目的是描述Linux聊天系统测试的总结报告,其主要内容包括:l 系统环境简介l 系统数据度量l 系统结果评估本文档的预期读者是:l 聊天系统使用者:聊天人l 测试人员1.2范围该文档定义了Linux聊天系统测试的结果,总结了测试客服端的注册、登录、查询信息、以及注销等功能,以及并发访问的性能,给出了测试的结论。1.3参考资料1 Linux聊天系统需求说明 信科08-1班学生编制2 软件工程与软件开发工具 姜淑娟 刘迎春 荣新节 编著 /清华大学出版社2. 测试时间、地点和人员本次测试的时间、地点和人员总结如下:l 测试时间:2010-12-26至2010-12-27,基本按照计划进行。l 地点:梅苑2号楼男生宿舍l 人员:测试组的全体成员共计4人3 测试环境描述本测试的测试目的是验证Linux聊天系统能否实现聊天正常的注册、登录、查询、注销等基本功能,以及并发访问的性能。为此,采用IBM 的 Rational Robot测试工具进行压力测试,验证是否满足系统的需求。测试机器的配置环境如下:4测试工具的配置和使用 Rational Robot 可开发三种测试脚本:用于功能测试的 GUI脚本、用于性能测试的VU。 是一种对环境的多功能的、回归和配置测试工具,在该环境中,可以使用一种以上的 IDE 和(或)编程语言开发应用程序.可以很容易的使手动测试小组转变到自动测试上来。使用 IBM Rational? Robot 进行回归测试是早期步入自动化的很好的一步,因为它易于使用,并且可以帮助测试者在工作的过程中学习一些自动处理的知识。 允许经验丰富的测试自动化工程师使用条件逻辑覆盖更多应用程序以扩展其测试脚本以发现更多缺陷并且定义测试案例以调用外部 DLL(动态链接库)或可执行文件。 为诸如菜单、列表和位图这些通用的对象提供测试用例和为特定于开发环境的对象提供专用的测试用例.包括内置的测试管理,并且在 IBM Rational Team Unifying Platform 中整合了错误跟踪的工具,这改变了管理和需求跟踪能力。 IBM Rational Robot原理:利用脚本的录制、回放,模拟用户的操作;然后将被测系统的输出同预先给定的结果(检查点)比较。IBMRationalRobot配置: 1. 首先,我们打开Rational Administrato,开始- 所有程序- -IBM Rational- - Rational Administrator 2. 新建一个项目:File- -New Project 项目名称:MyRobotProject项目路径:C:Documents and SettingsAdministratorMy DocumentsRational Project3 NEXT到完成 4 配置项目这里我们只对Test Assets做相关配置,其他请参考相关文档。 因为实验环境,所以选择Microsoft Access作为Robot数据库。开始数据库的配置, 5.Test Datastore成功创建。IBM Rational Robot适用于黑盒测试,通常包括功能测试、性能测试工具。5测试执行情况 我们采取的测试方法是黑盒测试,以等价分类法过了一遍,主要是对系统进行功能性测试。5.1功能测试执行情况在测试阶段,需要对各种意外处理状况进行测试,特别是那些边缘性问题。需要设计完整的测试用例,举出最可能出错的数据组,进行一一测试。比如在关键字搜索一栏,尽可能完全的举出用户输入的数据类型,进行测试,以防止在使用中发生系统崩溃。511 测试概要 对用户登录数据库成功与否的验证 对用户输入字段的正确性进行验证512 测试结果及发现注册时:用对注册信息用等价分类法测试:划分等价类(有效等价类、无效等价类)输入条件有效等价类无效等价类用户名(1)612位(2) 数字字符(3) 字母(8)少于6位数字(9)多于12位数字 (10)有非数字与英文以外的字符密码(4)6-12位(5)数字字符(6)英文字符(7)数字字符与英文字符同时存在(11)少于6位(12)多于12位(13)有非数字与英文以外的字符设计测试用例测试数据测试范围期望结果用户名:21345667密码:123456等价类1,2,4, 5有效用户名:21345667密码:abcdef等价类1,2,4, 6有效用户名:21345667密码:1234fg等价类1,2,4 ,7有效用户名:21345密码:1234fg(8)少于6位数字无效用户名:2134566778991密码:1234fg(9)多于12位数字无效用户名:!1345667密码:1234f(10) 有非数字与英文以外的字符无效用户名(学号):21345667密码:12ge(11)少于6位无效用户名(学号):21345667密码:2134566778991(12)多于12位无效用户名(学号):21345667密码:1234323(13) 有非数字与英文以外的字符无效5121 登录测试 输入用户名和密码(如用户名:21345667密码:1234fg)。则:1、输入用户名为“21345667”和密码“1234fg”,成功登录系统,进入主界面。2、输入 “21345667” 和 “1234”,提示错误信息:“用户名或密码错误!”。 3、输入 “21345667” 和 “1234fg”,提示错误信息:“用户名或密码错误!”。 4、输入 “21345667” 和 “1234fg”,提示错误信息:“用户名或密码错误!”。 5、当用户名输入为空,输出:用户名不能为空。 6、当用户注册时,如果该用户已经存在,输出:该用户已存在。 7、当用户名和密码都正确的情况下,登录系统。5122修改密码测试 1输入原来的密码,密码:1234fg,新密码两次输入相同,输出:密码修改成功。2输入原来的密码,密码:1234fg,新密码两次输入不同,输出:密码修改失败。3输入原来的密码,当核对出现错误,输出:密码修改失败。6测试结果分析 测试结果与预计的理论的结果出现出入,说明软件存在错误。否则,则说明测试没发现错误。7 测试评估 由于采用黑盒测试,过程比较简单,但是结果却比较可靠。等价分类法,思路清晰,得出的结果也比较容易查出相应的问题。测试任务评估本次测试执行准备充足,完成了既定目标。但由于经验以及对工具使用不熟练,因此对系统性能测试还有待提高和加强。Linux聊天软件开发个人总结报告 作者:黄颢 日期:11.1.11 这次软件工程的实践项目让我受益匪浅、刻骨铭心、难以忘怀,怀着对国内即时聊天龙头老大QQ的愤慨之情,我们小组毅然选择了开发聊天软件,不过时基于Linux的。 首先是软件的可行性分析,究竟软件可不可行,我们应不应该做,这是很重要的。万事开头难,经过我们小组的讨论,最终由我和金杰把可行性研究报告做出。可行性研究报告表明由于此次开发时初次,且经济效益不大,可能造成小队成员积极性不够,导致不能高质量、提前圆满完成任务,那也是有可能;技术上可能遇到很多难题,如同时处理信息响应、通信协议的理解,C/S模型的建立等,但是只要我们一起努力,不断吸收学习,相信这些都不是问题。 需求分析,先小组讨论,可以看出随着人们的生活的日趋网络化,网民不断的增加,越来越多的人加入到网聊的队伍中.聊天软件有很大的应用前景.聊天软件时一个必备的也是最流行的软件.主要由李波文和金杰完成。在讨论的过程中对数据流图的分层很有争议,多次修改才形成最后统一的版本,主要是思路上的不清晰造成的。 概要设计,主要由韩超完成。分成各个模块,完成各项功能,E-R图以及HIPO图。这一块我不是很了解,最后分析讨论了他的概要设计。 详细设计,由于没有模板,所以主要是画NS图,分成各个模块逐个画出N-S图。画N-S图时感觉不能分得太细,对代码段的把握不够,只是画了大概的函数流程,关键函数的详细处理。 到了编码部分,由于时间仓促,我们只完成了一部分,写了client.c,display.c,server.c,以及一些声明文件。对于老师要求的trac,TortoiseSVN,SVN,SVN server 都用上了,首先在C盘建工程,把SVN management查看,到https:/cghh-pc:8080/svn/Cghh可以看到自己的文件。想要添加新的程序,通过TortoiseSVN把程序文件ADD进去,然后设置好commit路径到https:/cghh-pc:8080/svn/Cghh中,这样就可以更新文件了。Trac与SVN server的配志主要是按老师给的文档搞,不过中间有个文件路径TracProject错了,cmd中与叙述的盘符不一致,需要注意下。在tracd port 8000 E:TracProject时,如果“port”,最终产生的地址为:80,变为cmd中所示的tracd -port 8000 E:TracProject后,变为:8000。配置成功后,trac与SVN server 理论上能同步更新。 最后是测试部分,工具是Rational Robot ,它可开发三种测试脚本:用于功能测试的 GUI脚本、用于性能测试的VU, 是一种对环境的多功能的、回归和配置测试工具,可以很容易的使手动测试小组转变到自动测试上来。配置Rational Robot ,先新建工程,NEXT直到Test Assets相关配置,主要是数据库的配置。我们自己也采用了黑盒测试进行相关的数据验证,用等价类划分法对用户名与密码进行了相关的测试。不过软件测试在软件周期中是很重要的一部分,但是由于时间关系,无法一一检测完毕,所以就到此为止。 Last but not the least ,软件工程博大精深,非一朝能一蹴而就,各个项目分工明确,责任感强才能完成一个项目的开发。如今的我真的还是才入门。也许今后步入社会,回想起这次软件工程实践,真的会记忆犹新、历历在目。Linux聊天软件开发个人总结报告 作者:金杰 日期:11.1.11 要做一个软件,经过我们小组四个人的讨论,我们决定做一个即时聊天工具,也就是类似于QQ的一个软件。我们当然不可能做的更QQ一样,但是这是一个学习的过程,主要是掌握其中的知识,既检验自己已经学到的,也可以继续学习新知识。在这个软件报告中,我主要负责的是可行性研究报告和需求分析报告。可行性研究是软件设计的开始。一个好的开始是成功的一半。在现代社会,人与人之间的直接交流变的越来越少了,人们似乎想用其他方式来表达自己,所以,更多的人选择了用聊天工具来代替现实生活中的交流。在目前的互联网中,人们用的比较多的聊天工具的有可以联网的QQ,MSN,也有只能在局域网中用的feiQ,还有各种聊天室,论坛,社区等。既使平时不怎么说话的人在网聊时也会侃侃而谈,因为在这样的环境下,人们交流的对象有陌生人,他们看不到自己,所以人们会毫不保留的聊天。综上所述,开发这样一个即时聊天工具还是很有用的。可行性研究方面,现在大家自己都有笔记本,这个不成问题,而且我们只是一个学习过程,不存在经济问题。技术方面,这个本来就是很成熟的技术,通过学习和已有知识,我们还是可以完成的。运行方面,我们可以用linux,也可以在windows下运行,这都是可以做到的。法律方面,我们用的都是开源的软件,基本上不会触及到法律问题。等分析完这些问题后,我们开始下面的报告了。第二步是需求分析。作为一个即时聊天工具,当然首先要有聊天功能。在聊天功能的基础上,我们还加了一些其他功能,使这个软件更加实用。既然是和别人聊天,总得让别人知道你怎么称呼,所以要有一个昵称,然后对应这样一个昵称,要有对应的账号和密码来登录,这样,一个人就有一个对应的ID。要有这样一个ID,首先要想系统注册,系统才会承认个人的存在,才能为这个账户服务。然后聊天的时候,还可以选择是否要保存聊天记录。还有可以进行文件共享和传输以及语音聊天。在选择好友方面,只要知道好友的账号或昵称,就可以从服务器中搜的该好友并加为好友,若好友在线,就可以聊天了,也可以对好友进行其他操作。在这一块中,我主要完成了数据流图中顶层数据流图和一层数据流图以及服务器端数据流图的绘制。数据流图说明了该程序所具有的功能。通过这一次软件报告的制作过程,我学会了如何做一个好的软件报告。从分析到设计再到编程测试,一个报告的形成,就是循序渐进的过程。在这个过程中,我学会了使用visio,svn,trac等平常不常接触的软件。最主要的是团队工作,以前做的作业什么的都是自己做的,没什么合作之类的说法。但这次的报告是要一个团队合作完成的,大家都有自己的想法,我们要综合考虑,才能最终下决定,要相互顾及,才能把事情做好。 Linux聊天软件开发个人总结报告 作者:韩超 日期:11.01.08这次软件工程设计,我们小组设计的是即时通信软件,其中我的分工是:(1) 概要部分的设计(2) 参与总报告的编写,写出自己的版本,然后和各个组员的不同版本进行融合。 (3) 和其他组员一起对软件代码进行测试工作。具体介绍:(1) 概要部分的编写相对来说还是挺分时间的,首先要查阅课本的知识,融会贯通之后,再去看别的组员完成的概要设计前面部分的工作,在详细了解了前面部分的设计工作后,开始了自己概要部分的设计,在吸收他们工作成果的过程中也学习到了概要设计前面各部分的知识。 总的来说,感觉概要设计部分的软件结构图确实花了不少时间去了解他们的工作,然后认真完成结构绘图,比较难的是ER图,因为不太好理解确定实体间的联系,所以画的不够完美。这点有点遗憾,将在以后的学习过程中更加注意这方面知识的学习

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论