
基于Android的校园聊天软件的设计与实现毕业论文.docx
21页基于Android的校园聊天软件的设计与实现毕业论文目 录1 绪论 31.1开发背景 31.2课题意义 31.3研究容 31.4本章小结 42 软件需求分析 52.1技术介绍 52.1.1软件开发的工具和环境 52.1.2Eclipse介绍 52.1.3安装JDK和SDK 52.2需求分析 52.2.1主要参与者 52.2.2功能需求 62.3.3性能需求 72.3本章小结 73 软件设计 83.1软件功能设计 83.1.1客户端功能设计 83.1.2服务器功能设计 123.2软件的数据库设计 123.3本章小结 144 软件实现 164.1服务器端 164.1.1配置OpenFire服务器 164.1.2使用Smack API与OpenFire建立连接通信 174.2客户端 184.2.1用户注册模块 184.2.2用户登录模块 204.2.3个人信息设置管理 224.2.4好友信息管理模块 24 4.3本章小结 305 软件测试 325.1软件功能测试 325.1.1用户注册模块测试 325.1.2用户登录块测试 325.1.3用户设置管理模块测试 335.1.4好友管理模块测试 335.1.5消息模块测试 345.2本章小结 34结 论 35参考文献 36附录:系统主要功能代码 37致 谢 481 绪论1.1开发背景 Android的英文翻译是指"机器人",而Android这个词语作为操作系统的名称出现,是谷歌在2007年发布了应用在平台上的操作系统,自此Android作为操作系统出现在人们的视野中。
同时由于Android的操作系统的开源性和可开发性使得以Android操作系统的应用软件日益增多Android操作系统被越来越多的人承受和使用 目前的Android聊天软件基本分为2种架构形式:(1)C/S架构:采取客户端/服务器对等传输的形式,用户方主要使用客户端软件,使用前用户通过网上下载客户端软件,再安装到上进行使用,市场上流行的C/S架构的聊天软件有以下几种: 、、微博、YY、MSN等;(2)B/S架构:浏览器/服务端对等传输的形式,这种形式下的即时通信工具,一般都是依赖于互联网,作为用户无需下载客户端,用户一般在浏览往网上网页时浏览器会提供一个类似于客户端的界面使用户可以发送消息,此架构一般应用在数据流比较大的电商,如Web 等1.2课题意义 在高校传统教育教学模式下,普遍存在师生之间就教学容比较缺乏沟通的现象,教师与学生之间的关系日趋淡漠,学生对老师缺少敬畏感,老师对学生缺少亲切感然而师生之间的沟通对教学是十分重要的另外,管理者则希望加强对教育教学过程的监督管理,籍此提高教学质量,强化教学效果 本文研究的校园聊天软件可以为管理者、教师、学生之间提供一个高效的沟通平台,它的实施将有利于加强对教育教学过程的监督,增进师生之间、学生之间的学习交流,增强教学互动性,提高教育教学效率。
因此本课题具有重要的实际意义和应用价值1.3研究容 本文将针对基于Android的校园聊天APP进行需求分析、总体设计、UI界面设计、软件代码编写、软件功能优化、软件测试等工作,实现登录功能、向XMPP服务器发送信息包功能、用户好友通讯录获取与相关管理功能、个人信息管理功能、好友文字和语音消息发送功能、图片文件发送功能 论文的章节安排如下: 第1章:绪论主要述项目的背景和来源,以与所开发产品的意义和未来发展前景,介绍了国外同类产品的发展现状,最后说明论文主要工作,本人在项目中完成的功能模块以与论文的主要结构 第2章:系统相关技术介绍以与理论分析主要介绍项目开发所使用的技术以与软件的需求分析,包括:Android操作系统的架构和应用程序的分析、软件的用户需求分析 第3章:软件设计对软件的功能进行概要分析,同时对系统所处的子系统的各个功能进行详细的介绍第4章:软件实现主要对系统的架构、各个模块的功能划分以与功能类图和软件实现截图进行详细介绍 第5章:系统测试:主要述系统的测试用例以与系统的完成情况 第6章:总结与展望主要介绍了项目完成经验,存在的缺陷以与不足,以与对未来的展望。
1.4本章小结 本章主要阐述了软件的开发背景、课题意义和研究能容,通过对上述三部分的详细分析为需求分析章节做好准备 2 软件需求分析2.1技术介绍2.1.1软件开发的工具和环境 开发环境:Eclipse 开发语言:Java 模拟机平台:AVD 运行平台:Android 2.1以与上版本 开发软件所需插件:JDK、SDK UI界面处理软件:Photoshop cs5 音频处理软件:绘声绘影X15,格式工厂 辅助设计工具:ADT、LogCat、adb等2.1.2Eclipse介绍该 软 件 主 要 由 Eclips e 项 目、 Eclipse 工 具 项 目 和 Eclipse 技 术 项 目 三 个 项 目 组 成 , 具 体 包 括 四 个 部 分-Ec lipse P la tform、 JDT 、 CDT 和 PD E JDT 支 持 Java 开 发 、 CDT 支 持 C 开 发 、 PDE 用 来 支 持 插 件 开 发 、 Ecli pse P l atform 则 是 一 个 开 放 的 可 扩 展 IDE ,提 供 了 一 个 通 用 的 开 发 平 台 。
2.1.3安装JDK和SDK 先从上找到JDK 1.6(JREaloneisnot sufficient) 版本并下载,下载完毕后将它安装在PC机上并在PC机上设置好有关的环境变量,将JAVA_HOME ,path等几个设置为适用于Java开发的环境变量,最后将其导入你的JDK文件路径 SDK安装:直接从相关下载好SDK压缩包,然后打开Eclipse软件,在其中找到对应路径将其导入就可以2.2需求分析2.2.1主要参与者 根据软件设计的需要,系统主要参与者为用户和系统用户将对系统发起大部分功能,同时系统的一些设置信息和更新信息需要系统参与 (1) 用户:用户在操作软件的过程中涉与到的软件功能主要包括:用户注册功能、用户登录功能、重设用户密码功能、好友列表管理功能、聊天功能等,其中聊天功能包括聊天文字、聊天表情、语音聊天、以与图片文件发送等 (2)系统:系统通过调用相关功能模块将自动登录用户账号、保存用户注册时的设置信息;系统提供后台的软件更新功能2.2.2功能需求 校园聊天软件的功能需求包括:用户注册、用户登录、聊天功能、通讯录管理、个人信息管理 (1) 用户注册 用户初次进入软件,需要申请一个用户名。
这就需要用户通过注册功能注册一个可以使用的账号 (2) 用户登录 为了让软件使用起来更加简便,给用户带来良好的交互体验,系统一方面允许用户采用输入账号和密码的方式进行登录,另一方面也允许记录信息而自动登录 (3) 聊天功能 聊天功能是指好友之间的发送即时消息进行通讯,消息形式可以是文字、语音、表情符号、图片等等 (4) 通讯录管理 通讯录管理功能包括对好友的添加、删除、查找,显示好友列表,置顶显示即时会话等 (5) 个人信息管理 个人管理信息主要是对用户的头像、个性签名、昵称等进行管理 图2-1 系统功能模型图2.3.3性能需求 根据以上分析,性能需求主要针对用户使用软件的的方便性和系统可靠性等方面进行考虑在项目设计中,主要遵循一下原则: (1) 可操作性:用户对于软件操作时,界面要简单、方便、直观操作过程中要有与时的提示,比如错误提示从而保证用户能正确操作软件 (2) 可移植性:设计出来的软件系统要保证在不同版本的Android上运行不会崩溃,同时保证数据的正确性 (3) 实用性:从用户的实际需求去考虑软件的功能需求 (4) 安全性:系统要保持数据的正确性,在长时间的使用过程中保证系统不易崩溃。
同时软件在运行和不运行时都要保护用户的注册信息和软件通过检测用户本地信息时所获得的信息都不被泄露,从而确保用户使用该软件的安全性 (5) 可靠性:系统要有一套良好的运行环境确保系统稳定、长时间的运行不出错,从而使用户可以放心使用软件 (6) 可维护性:系统软件在开发过程中不但要保证用户需求的功能实现,还要考虑未来为应对用户需求而更新后续版本的功能需求,以与功能的扩性,从而维护好软件的可持续性2.3本章小结 本章主要阐述了项目方案和需求分析,其中项目方案包括开发的工具和搭建的环境介绍;需求分析包括主要参与者、功能需求和性能需求 主要参与者又包括系统和用户;功能需求包括用户注册、用户登录、通讯录管理、聊天管理、个人信息管理3 软件设计3.1软件功能设计 根据软件需求分析,该软件功能主要分为以下几个模块:用户注册模块、用户登录模块、好友管理模块、用户信息管理模块、聊天管理模块 以下是系统功能模块图,如图3-1: 图3-1系统功能模块图3.1.1客户端功能设计 根据上述本软件需求分析,用户注册模块设计如下: (1) 用户运行软件后需要通过注册界面注册账号从而使用该软件,之后软件系统验证正确后将与服务器进行通信,将注册信息发送给服务器,服务器将发回允许指令。
(2) 注册的用户名不允许重复,否则服务器将会报错 (3) 密码设置时,系统要求输入两次密码,之后服务器将验证系统发过来的密码包信息图3-2登录流程图 根据上述本软件需求分析,用户打开软件后,用户将进入登录页面,此时只要输入已注册的用户名、用户密码就可以登录成功用户登录模块设计如下: (1) 用户名错误:系统提示该用户名已存在或不存在即未注册此外用户名必须多于六位数否则系统也会提示错误 (2) 密码验证错误:登录界面中,当用户登录时填写的登录密码被系统提示错误的时,用户需要重新填写登录密码 (3) 其它错误:当用户进行一些不当操作也会引起错误从而导致登录失败 (4) 自动登录功能:每个使用该软件的用户在第一次成功登录后,再次登录该软件时,系统都会自动选择自动登录因为系统会把用户之前的。












