目 录
1 绪论
1.1 项目概述
1.2 项目意义
2 开发工具和相关技术简介
2.1 Eclipse简介
2.2 Java语言介绍
2.3 GUI简介
3 系统需求分析
3.1 系统可行性分析
3.2 系统需求分析
3.3 组内成员分工
3.4 项目进度安排
4 系统设计
4.1 系统设计
5 系统实现
5.1 用户注册界面实现
5.2 用户登录界面实现
5.3 好友列表界面实现
5.4 好友聊天界面实现
6 系统测试
7 结论和心得
1.1 项目概述
本次综合项目,我组将进行仿QQ聊天小程序开发。总体思想鉴于腾讯QQ,所用知识,开发软件也均为日常Java学习所用。
项目构造大体分为注册,登录和聊天。采用Java开发知识进行数据的传输、储存、转化以及利用。
注册环节:设置独立账号及密码,验证密码;登录环节:登录账号,输入密码,校验密码;聊天:传统双人、多人聊天方式,并能进行图片和文件的正确传输,做到方便、快捷和准确。
1.2 项目意义
本次综合项目的开发,我们组将运用所学知识进行程序编写,巩固并检测之前学习内容的同时,也为以后的方向做了一个指引,积极与组内各个成员、其他组成员相互沟通,及时发现问题,解决问题,进行彼此内容的改进和知识的相互贯通,弥补不足,促使项目得以推进。
2 开发工具和相关技术简介
本项目是仿QQ聊天小程序。开发环境:Eclipse;开发语言:Java语言;开发技术:GUI等。本章将对开发工具和相关技术进行简单介绍。
Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——Eclipse Platform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。
Eclipse SDK(软件开发者包)是Eclipse Platform、JDT和PDE所生产的组件合并,它们可以一次下载。这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。Eclipse项目生产的软件以 CPL发布,第三方组件有各自自身的许可协议。
Java是一种计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器均支持Javaapplet。另一方面,Java技术也不断更新。
语言特点:
(1)Java语言是简单的;
(2)Java语言是一个面向对象的;
(3)Java语言是分布式的;
(4)Java语言是健壮的;
(5)Java语言是安全的;
(6)Java语言是体系结构中立的;
(7)Java语言是可移植的;
(8)Java语言是解释型的;
(9)Java是高性能的;
(10)Java语言是多线程的;
(11)Java语言是动态的;
(12)Java语言是跨平台(操作系统)的[即一次编译,到处运行]。
图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。
与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。然而这界面若要通过在显示屏的特定位置,以"各种美观而不单调的视觉消息"提示用户"状态的改变",势必得比简单的消息呈现花上更多的计算能力。
图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。与通过键盘输入文本或字符命令来完成例行任务的字符界面相比,图形用户界面有许多优点。图形用户界面由窗口、下拉菜单、对话框及其相应的控制机制构成,在各种新式应用程序中都是标准化的,即相同的操作总是以同样的方式来完成,在图形用户界面,用户看到和操作的都是图形对象,应用的是计算机图形学的技术。
GUI 即人机交互图形化用户界面设计。纵观国际相关产业在图形化用户界面设计方面的发展现状,许多国际知名公司早已意识到 GUI 在产品方面产生的强大增值功能,以及带动的巨大市场价值,因此在公司内部设立了相关部门专门从事 GUI 的研究与设计,同业间也成立了若干机构,以互相交流 GUI 设计理论与经验为目的。随着中国 IT 产业,移动通讯产业,家电产业的迅猛发展,在产品的人机交互界面设计水平发展上日显滞后,这对于提高产业综合素质,提升与国际同等业者的竞争能力等等方面无疑起了制约的作用。
GUI的广泛应用是当今计算机发展的重大成就之一,它极大地方便 了非专业用户的使用。人们从此不再需要死记硬背大量的命令,取而代之的是可以通过窗口、菜单、按键等方式来方便地进行操作。而嵌入式GUI具有下面几个方面的基本要求:轻型、占用资源少、高性能、高可靠性、便于移植、可配置等特点。
技术可行——GUI、多线程、IO流、socket通信、集合
操作可行——实现注册、登录、聊天界面以及其功能
调研对象:老师,同组同学,3、6、7、10组
仿QQ聊天系统主要分为注册、登录和聊天三个模块。
注册模块又分为个人信息、设置密码、验证密码三个小模块;
登录模块又分为输入账号、输入密码、验证登录三个小模块;
聊天模块又分为双人聊天多人聊天、发送图片或文件、好友列表三个小模块。

图3-1 仿QQ聊天系统功能模块图
表3-1 组内成员分工情况表
|
序号 |
姓名 |
组内角色 |
小组分工 |
备注 |
|
1 |
白晨 |
项目经理 |
聊天、好友列表 |
|
|
2 |
柏春杨 |
编码 |
注册、发送文件 |
|
|
3 |
马明宇 |
测试 |
登录、发送图片 |
|
说明:组内角色:组长为项目经理;其他人分别为编码、测试、架构师等。
进度安排如表3-2所示。
表3-2 进度安排表
|
阶段 |
持续时间 |
阶段描述 |
输出 |
|
构思阶段 |
两小时 |
需求分析 |
需求说明,功能模块图 |
|
设计阶段 |
三小时 |
系统设计 |
设计说明-可以画流程图 |
|
实现阶段 |
三天半 |
编写代码 |
项目工程源代码 |
|
一小时 |
系统测试 |
进行黑盒测试(功能测试)-测试说明 |
|
|
运行阶段 |
三小时 |
部署、运行 |
系统使用说明、运维报告-答辩 |
根据系统的实际功能需求分析,对系统功能部分进行了设计。
注册功能:用户想要进行聊天,首先要注册,需要输入账号,密码,然后确密码,点击注册按钮即可完成注册。
登录功能:注册完成的用户输入账号,密码后点击登录,系统进行密码比对,正确即可完成登录,进入聊天功能。
好友列表:登录后,进入好友列表页面。
聊天功能:进入好友列表页面,然后输入用户名,弹出对话框页面。
(1)群聊:进入对话框页面默认设定两人处于群聊中,可以发送文字、文件和图片。
(2)私聊:在好友列表中点击表内其他用户即可进入私聊功能,可以发送文字。
发送图片文件:在私聊界面点击文件后(用JFrame构建界面),选择所想添加的图片的路径,点击确定后即可发送(图片可直接接收,文件需要点击接收方可成功)。

图4-1 注册功能流程图
图4-2 登录模块流程图

图4-3 聊天模块流程图
注册界面:该界面有一些信息需要注册,会对输入框增加按键,如果点击清除号码,则账号后的输入框内容变空。点击注册,会弹出注册成功并显示登录界面。注册界面如5-1所示。

图5-1 用户注册界面
登录界面:进行了账号和密码的验证,同时还有记住密码、自动登录等选项。界面是仿QQ登录界面设计的,背景用的是类QQ登录界面的gif动画实现的。自定义了界面的最小化和关闭按钮以及记住密码复选框,使得界面更加的美观。

图5-2 用户登录界面
用户登录后,可直接看到好友列表,便可看到当前有多少个用户在线(在线即显示彩色头像,不在线则显示灰色头像),也可对已上线好友双击进行私聊操作;点击陌生人可看到陌生人列表,点击聊天即可进入聊天界面。
图5-3.1 用户好友列表界面 图5-3.2 好友上线界面
图5-3.3 陌生人列表界面
图5-3.4 一对一聊天界面
首先右边是在线好友列表,列出了在线好友的账号。中间是聊天的模块,包括私聊群聊,左下方是发消息的模块包括字体,颜色,背景设置以及发送图片或者文件;右下方是文件的发送与接收模块。
在输入框发送消息自动默认为群聊,勾选下方的私聊就可以对好友进行私聊,或者在好友列表双击也可进行私聊。

图5-4 用户聊天主界面
在聊天的字体和颜色设置选项,给好友发送文件时主界面右下方有发送,,对方有接受文件的选项。以及发送图片。

图5-4.1 好友聊天界面字体的实现

图5-4.2 好友聊天界面颜色的实现

图5-4.3 好友聊天界面发送图片的实现

图5-4.4 好友聊天界面接收文件的实现
图5-4.5 好友聊天界面发送与接收文件的实现

图5-5.6 好友聊天界面聊天效果
在仿QQ聊天程序中主要对注册、登录、好友列表、私聊、群聊、发送图片和文件的功能模块进行测试,测试结果如表6-1所示。
表6-1仿QQ聊天程序测试表
|
编号 |
测试功能 |
输入描述 |
预期结果 |
运行结果 |
|
QQ01 |
注册功能 |
1.输入账号 2.设置密码 3.验证密码 |
可以正常注册 |
正常,与预期结果一致 |
|
QQ02 |
登录功能 |
1.输入账号 2.输入密码 3.验证登录 |
可以正常登录 |
正常,与预期结果一致 |
|
QQ03 |
好友列表功能 |
1.查看我的好友 2.查看陌生人 3.进入群聊界面 |
可以正常查看,正常运行 |
正常,与预期结果一致 |
|
QQ04 |
私聊功能 |
1.双击头像弹出对话框 2.发送消息 3.收到消息 |
可以正常聊天,发送消息 |
正常,与预期结果一致 |
|
QQ05 |
群聊功能 |
1.发送消息 2.收到消息 |
可以正常聊天,发送消息 |
正常,与预期结果一致 |
|
QQ06 |
发送图片和文件 |
1.选择图片和文件 2.发送图片和文件 3.收到图片和文件 |
可以正常发送图片和文件 |
正常,与预期结果一致 |
仿QQ聊天程序测试主要是针对用户的操作,从测试结果中可以看出该模块的所有功能均能正常实现,且测试结果与预期结果一致。
项目完成情况较好,还有待改进,问题很多,收获也很多。
学生1姓名:白晨
心得:此次综合项目,让我感受颇多,项目初期寸步难行,为此我就去B站查找学习视频,经过学习之后,项目有了一定的进展,在此次项目中我也感受到了团队的力量,一起交流,一起进步,能够解决更多的问题,自已一个人确实很难解决,不仅如此,还和外组同学一起交流,他们也给了我们特别好的建议,让我们的项目进一步推进。综合项目呢,就是需要每个人相互配合,合作共赢,学会将所学的知识运用到实践当中去,加强实践的能力。此次实训对于GUI图形界面的设计也有了进一步的认知,还学到了很多新的知识,受益匪浅。
学生2姓名:柏春杨
心得:本次实训课的第二阶段比第一阶段要难,运用的知识点也比较多。本次实训运用到了图形界面,需要监听,增加按钮,图形界面的布局,增加按钮运用多个线程,创建服务端和接收端等等。通过组长的带领下,我们完成了此次实训,虽然还是有瑕疵,但是我们努力了,我们将学会的只是都运用上了。此次实训也意识到了自己知识点掌握的不够全面,不能够灵活运用,多亏了团队,遇到问题解决问题,与老师、同学多交流多沟通,打开另一个思路也许会有新的发现。
学生3姓名:马明宇
心得:通过本次课程设计的实验,我充分意识到自己知识储备量和动手实践能力的不足。在今后的学习中要认真学习基础知识并多动手增强实操能力,同时也意识到团队协作的重要性,在这个过程中,我与不同组的同学也进行了沟通,每个人都是积极向上的心态,这也在无形中激励了我。两周的交流学习是短暂的,但对于我学习上的帮助和小组团队的信任感的提升是极为重要的。我会在以后的学习上不断努力,弥补自身短板,改正不足,时刻反省审视自己。
原文:https://www.cnblogs.com/leo-outside/p/13235021.html