做完中国软件杯解密陌生人项目半个多月了。可能是做的时间比较长,前前后后差不多一个半月。所以好久不想再碰这个了,然后一等等到现在才想写写博客记录一下。 这篇先只是简单介绍一下该软件的各种要求。(开发手册部分内容).
功能要求:(详情见http://www.cnsoftbei.com/bencandy.php?fid=45&aid=1224)
第一章 引言
1.1课题背景及意义
随着陌陌、微密、抱抱等一系列用于陌生人之间的聊天软件的兴起,SoLoMoGlo(Social + Local + Mobile + Global)概念持续发酵,基于移动社交的商业模式层出不穷,相关产品众多。
移动社交领域的持续火热,其成为大学生创业的一个重要选择。基于这样的背景,本文设计了一个基于游戏互动的陌生人社交软件,即移动应用上的“解密陌生人”。
解密陌生人与QQ、微信等熟人社交软件不同,这款应用完全发生在陌生人之间的,通过具有趣味的游戏促进人与人之间的社交关系。此软件能够显示周围一公里内的所有安装此软件并开启了定位的陌生人的头像,两个陌生人通过解密游戏建立社交关系,之后可以通过语音、文字、图像等进行沟通。有利于改善陌生人之间的想沟通却又不敢主动开口的尴尬,扩大了人们交际圈。
1.2课题现状
由于现在的社交软件层出不穷,QQ、微信、陌陌、抱抱、微密、11点11分等软件的出现让基于聊天的软件已经有了固定的模板,每个聊天软件在聊天这块功能上是大致相同的,比如在通信原理上,基于Internet的通信工具一般是采用UDP或TCP协议来实现的,开发技术已经非常成熟。
1.3开发平台介绍
课题设计主要使用Java语言,开发平台采用eclipse。
eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。虽然大多数人把eclipse当做Java的开发环境,但eclipse却并不限于Java开发工具,其中支持android的编程语言已经可以使用。
对于基于移动端的android编程,需要在eclipse上安装android SDK插件,即使用基于android的eclipse开发平台。
第二章 需求分析
2.1编写目标
聊天程序多数由客户端程序和服务器程序外加服务器端,所以本程序采用客户端/服务器端架构模式,也就是C/S模式。通过Java提供的Socket类来连接客户机和服务器并使客户机与服务器之间相互通信。
程序架构采用Client/Server(C/S)体系结构,即客户机/服务器体系结构。在实现上主要有两个应用程序,分别为服务器程序和客户端程序。服务器应用程序主要用于消息转发,以及向所有用户发送系统消息等;客户端应用程序主要用于客户聊天记录的显示和信息输入。聊天服务器专门用于监控用户状态和转发消息,客户端负责接收消息的用户序列和消息文本发送到服务器。
2.2可行性分析
经济可行性:由于本程序是参赛课题,只需要一个笔记本电脑作为服务器,和通常使用的android系统手机作为客户端,不需要考虑经济问题。
技术可行性:使用eclipse开发环境,android的编程语言和Java类似,提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。
运行可行性:本程序作为一个基于陌生人的聊天软件,初始测试是在局域网内进行测试,所耗费的资源还是比较小的,一台普通的笔记本电脑完全可以支撑。因此本系统在运行上是可行的。
综上所述,本程序系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此它是可行的。
2.3分析需求
2.3.1功能需求分析
程序要实现的功能:用户的注册和登陆;程序启动后要显示好友列表,在的和不在线的;开启和关闭定位功能;显示一公里内的开启了定位功能的陌生人头像;查看陌生人信息需要解密一个小游戏。聊天的基本功能(语音,图像,文字······)。
2.3.2数据需求分析
用户信息有:id、昵称、密码、邮箱、状态、头像。
2.3.3性能需求分析
实用性:打破陌生人之间的沟通尴尬,促进人际之间的交往。
操作简单:本系统是用于不同的使用者,不同的使用环境,因此操作不应太复杂。
技术先进:本课题采用最先进的设计思想,利用最先进的开发技术和开发工具,使系统能够无论在功能设计上,还是在技术实现上,都处于领先地位。
安装使用简单:客户端只需要一个apk直接安装。无需任何其他操作,更无捆绑软件。
代码可读性:代码注释全面,模块化管理,易读、易懂、易于修改。
2.3.4系统运行需求
运行环境:服务器端:winxp/win7/win8 客户端:android系统
必要环境:服务器端:JDK1.5以上 客户端:android4.0以上
硬件环境:服务器端:CPU400MHZ以上,内存2G 客户端:1G运行内存。